Fix build

This commit is contained in:
Yukino Song
2025-02-06 18:16:55 +08:00
parent fd059e36f0
commit 78714e65fc
22 changed files with 907 additions and 434 deletions

View File

@@ -79,7 +79,7 @@ const checkboxValues = (() => {
}
// Return fallback if nothing matches
console.error(`Checkbox value ${model.value} did not match any acceptable pattern!`);
console.error(`Checkbox value ${model.value} for "${props.id}" did not match any acceptable pattern!`);
return ["true", "false"];
})();

View File

@@ -300,7 +300,7 @@
></Checkbox>
<!-- use app identity -->
<Checkbox class="mb-3"
v-if="editForm['use-app-identity'] === 'true'"
v-if="editForm['use-app-identity']"
id="perClientAppIdentity"
label="apps.per_client_app_identity"
desc="apps.per_client_app_identity_desc"
@@ -432,6 +432,7 @@
"use-app-identity": false,
"per-client-app-identity": false,
"allow-client-commands": true,
"virtual-display": false,
}
const app = createApp({

View File

@@ -149,6 +149,8 @@
"global_prep_cmd": [],
"server_cmd": [],
"notify_pre_releases": "disabled",
"hide_tray_controls": "disabled",
"enable_pairing": "enabled",
},
},
{
@@ -349,10 +351,12 @@
// TODO: let each tab's Component handle it's own data instead of doing it here
// Parse the special options before population if available
const specialOptions = ["dd_mode_remapping", "global_prep_cmd"]
const specialOptions = ["dd_mode_remapping", "global_prep_cmd", "server_cmd"]
for (const optionKey of specialOptions) {
if (this.config.hasOwnProperty(optionKey)) {
if (typeof this.config[optionKey] === "string") {
this.config[optionKey] = JSON.parse(this.config[optionKey]);
} else {
this.config[optionKey] = [];
}
}
@@ -366,10 +370,8 @@
});
});
this.config.global_prep_cmd = this.config.global_prep_cmd || [];
this.config.server_cmd = this.config.server_cmd || [];
this.global_prep_cmd = this.config.global_prep_cmd;
this.server_cmd = JSON.parse(this.config.server_cmd);
this.server_cmd = this.config.server_cmd;
});
},
methods: {
@@ -384,9 +386,9 @@
fallbackDisplayModeCache = this.config.fallback_mode;
}
let config = JSON.parse(JSON.stringify(this.config));
config.global_prep_cmd = JSON.stringify(this.global_prep_cmd.filter(cmd => cmd.do || cmd.undo));
config.dd_mode_remapping = JSON.stringify(config.dd_mode_remapping);
config.server_cmd = JSON.stringify(this.server_cmd.filter(cmd => cmd.name && cmd.cmd));
config.global_prep_cmd = this.global_prep_cmd.filter(cmd => cmd.do || cmd.undo);
config.dd_mode_remapping = config.dd_mode_remapping;
config.server_cmd = this.server_cmd.filter(cmd => cmd.name && cmd.cmd);
return config;
},
save() {

View File

@@ -155,10 +155,10 @@ const validateFallbackMode = (event) => {
></Checkbox>
<!-- SudoVDA Driver Status -->
<div class="alert" :class="[vdisplay === '0' ? 'alert-success' : 'alert-warning']" v-if="platform === 'windows'">
<div class="alert" :class="[vdisplay ? 'alert-warning' : 'alert-success']" v-if="platform === 'windows'">
<i class="fa-solid fa-xl fa-circle-info"></i> SudoVDA Driver status: {{currentDriverStatus}}
</div>
<div class="form-text" v-if="platform === 'windows' && vdisplay !== '0'">Please ensure SudoVDA driver is installed to the latest version and enabled properly.</div>
<div class="form-text" v-if="platform === 'windows' && vdisplay">Please ensure SudoVDA driver is installed to the latest version and enabled properly.</div>
</div>
</template>

View File

@@ -173,8 +173,7 @@ onMounted(() => {
</td>
<td v-if="platform === 'windows'">
<div class="form-check">
<input type="checkbox" class="form-check-input" :id="'server-cmd-admin-' + i" v-model="c.elevated"
true-value="true" false-value="false" />
<input type="checkbox" class="form-check-input" :id="'server-cmd-admin-' + i" v-model="c.elevated"/>
<label :for="'server-cmd-admin-' + i" class="form-check-label">{{ $t('_common.elevated') }}</label>
</div>
</td>

View File

@@ -126,8 +126,7 @@
</td>
<td v-if="platform === 'windows'">
<div class="form-check">
<input type="checkbox" class="form-check-input" :id="`client-${cmdType}-cmd-admin-${i}`" v-model="c.elevated"
true-value="true" false-value="false" />
<input type="checkbox" class="form-check-input" :id="`client-${cmdType}-cmd-admin-${i}`" v-model="c.elevated"/>
<label :for="`client-${cmdType}-cmd-admin-${i}`" class="form-check-label">{{ $t('_common.elevated') }}</label>
</div>
</td>
@@ -410,7 +409,7 @@
})
.then(resp => resp.json())
.then(resp => {
if (resp.status !== 'true') {
if (!resp.status) {
this.otpMessage = resp.message
this.otpStatus = 'danger'
return
@@ -574,7 +573,7 @@
.then((r) => r.json())
.then((r) => {
this.unpairAllPressed = false;
this.unpairAllStatus = r.status.toString() === "true";
this.unpairAllStatus = r.status;
setTimeout(() => {
this.unpairAllStatus = null;
}, 5000);
@@ -598,7 +597,7 @@
fetch("./api/clients/list", { credentials: 'include' })
.then((response) => response.json())
.then((response) => {
if (response.status === 'true' && response.named_certs && response.named_certs.length) {
if (response.status && response.named_certs && response.named_certs.length) {
this.platform = response.platform
this.clients = response.named_certs.map(({name, uuid, perm, connected, do: _do, undo}) => {
const permInt = parseInt(perm, 10);
@@ -606,7 +605,7 @@
name,
uuid,
perm: permInt,
connected: connected === 'true',
connected,
editing: false,
do: _do,
undo

View File

@@ -5,6 +5,8 @@
"autodetect": "Autodetect (recommended)",
"beta": "(beta)",
"cancel": "Cancel",
"cmd_name": "Command Name",
"cmd_val": "Command Value",
"disabled": "Disabled",
"disabled_def": "Disabled (default)",
"disabled_def_cbox": "Default: unchecked",
@@ -15,6 +17,7 @@
"enabled_def": "Enabled (default)",
"enabled_def_cbox": "Default: checked",
"error": "Error!",
"learn_more": "Learn More",
"note": "Note:",
"password": "Password",
"run_as": "Run as Admin",
@@ -29,6 +32,8 @@
"actions": "Actions",
"add_cmds": "Add Commands",
"add_new": "Add New",
"allow_client_commands": "Allow client prepare commands",
"allow_client_commands_desc": "Whether to execute client prepare commands when running this app.",
"app_name": "Application Name",
"app_name_desc": "Application Name, as shown on Moonlight",
"applications_desc": "Applications are refreshed only when Client is restarted",
@@ -57,6 +62,8 @@
"env_client_height": "The Height requested by the client (int)",
"env_client_host_audio": "The client has requested host audio (true/false)",
"env_client_width": "The Width requested by the client (int)",
"env_client_uid": "UID of the client starting the stream (string)",
"env_client_name": "Name of the client starting the stream (string)",
"env_displayplacer_example": "Example - displayplacer for Resolution Automation:",
"env_qres_example": "Example - QRes for Resolution Automation:",
"env_qres_path": "qres path",
@@ -65,33 +72,52 @@
"env_vars_desc": "All commands get these environment variables by default:",
"env_xrandr_example": "Example - Xrandr for Resolution Automation:",
"exit_timeout": "Exit Timeout",
"exit_timeout_desc": "Number of seconds to wait for all app processes to gracefully exit when requested to quit. If unset, the default is to wait up to 5 seconds. If set to 0, the app will be immediately terminated.",
"exit_timeout_desc": "Number of seconds to wait for all app processes to gracefully exit when requested to quit. If unset, the default is to wait up to 5 seconds. If set to zero or a negative value, the app will be immediately terminated.",
"find_cover": "Find Cover",
"global_prep_desc": "Enable/Disable the execution of Global Prep Commands for this application.",
"global_prep_name": "Global Prep Commands",
"image": "Image",
"image_desc": "Application icon/picture/image path that will be sent to client. Image must be a PNG file. If not set, Sunshine will send default box image.",
"image_desc": "Application icon/picture/image path that will be sent to client. Image must be a PNG file. If not set, Apollo will send default box image.",
"launch": "Launch",
"launch_warning": "Are you sure you want to launch this app? This will terminate the currently running app.",
"launch_success": "App launched successfully!",
"launch_failed": "App launch failed: ",
"loading": "Loading...",
"name": "Name",
"output_desc": "The file where the output of the command is stored, if it is not specified, the output is ignored",
"output_name": "Output",
"run_as_desc": "This can be necessary for some applications that require administrator permissions to run properly.",
"per_client_app_identity": "Per Client App Identity",
"per_client_app_identity_desc": "Separate the app's identity per-client. Useful when you want different virtual display configurations on this specific app for different clients",
"run_as_desc": "This can be necessary for some applications that require administrator permissions to run properly. Might cause URL schemes to fail.",
"wait_all": "Continue streaming until all app processes exit",
"wait_all_desc": "This will continue streaming until all processes started by the app have terminated. When unchecked, streaming will stop when the initial app process exits, even if other app processes are still running.",
"working_dir": "Working Directory",
"working_dir_desc": "The working directory that should be passed to the process. For example, some applications use the working directory to search for configuration files. If not set, Sunshine will default to the parent directory of the command"
"working_dir_desc": "The working directory that should be passed to the process. For example, some applications use the working directory to search for configuration files. If not set, Apollo will default to the parent directory of the command",
"virtual_display": "Always use Virtual Display",
"virtual_display_desc": "Always use virtual display on this app, overriding client request. Please make sure the SudoVDA driver is installed and enabled.",
"virtual_display_primary": "Enforce Virtual Display Primary",
"virtual_display_primary_desc": "Automatically set the virtual display as primary display when the app starts. Virtual display will always be set to primary when client requests to use virtual display. (Recommended to keep on) [Broken on Windows 11 24H2]",
"resolution_scale_factor": "Resolution Scale Factor",
"resolution_scale_factor_desc": "Scale the client requested resolution based on this factor. e.g. 2000x1000 with a factor of 120% will become 2400x1200. Overrides client requested factor when the number isn't 100%. This option won't affect client requested streaming resolution.",
"use_app_identity": "Use App Identity",
"use_app_identity_desc": "Use the app's own identity while creating virtual displays instead of client's. This is useful when you want display configuration for each APP separately."
},
"client_card": {
"clients": "Clients",
"clients_desc": "Clients that are specifically tuned to work the best with Apollo",
"generic_moonlight_clients_desc": "Generic Moonlight clients are still usable with Apollo."
},
"config": {
"adapter_name": "Adapter Name",
"adapter_name_desc_linux_1": "Manually specify a GPU to use for capture.",
"adapter_name_desc_linux_2": "to find all devices capable of VAAPI",
"adapter_name_desc_linux_3": "Replace ``renderD129`` with the device from above to lists the name and capabilities of the device. To be supported by Sunshine, it needs to have at the very minimum:",
"adapter_name_desc_linux_3": "Replace ``renderD129`` with the device from above to lists the name and capabilities of the device. To be supported by Apollo, it needs to have at the very minimum:",
"adapter_name_desc_windows": "Manually specify a GPU to use for capture. If unset, the GPU is chosen automatically. We strongly recommend leaving this field blank to use automatic GPU selection! Note: This GPU must have a display connected and powered on. The appropriate values can be found using the following command:",
"adapter_name_placeholder_windows": "Radeon RX 580 Series",
"add": "Add",
"address_family": "Address Family",
"address_family_both": "IPv4+IPv6",
"address_family_desc": "Set the address family used by Sunshine",
"address_family_desc": "Set the address family used by Apollo",
"address_family_ipv4": "IPv4 only",
"always_send_scancodes": "Always Send Scancodes",
"always_send_scancodes_desc": "Sending scancodes enhances compatibility with games and apps but may result in incorrect keyboard input from certain clients that aren't using a US English keyboard layout. Enable if keyboard input is not working at all in certain applications. Disable if keys on the client are generating the wrong input on the host.",
@@ -123,43 +149,48 @@
"amd_usage_webcam": "webcam -- webcam (slow)",
"amd_vbaq": "AMF Variance Based Adaptive Quantization (VBAQ)",
"amd_vbaq_desc": "The human visual system is typically less sensitive to artifacts in highly textured areas. In VBAQ mode, pixel variance is used to indicate the complexity of spatial textures, allowing the encoder to allocate more bits to smoother areas. Enabling this feature leads to improvements in subjective visual quality with some content.",
"apply_note": "Click 'Apply' to restart Sunshine and apply changes. This will terminate any running sessions.",
"apply_note": "Click 'Apply' to restart Apollo and apply changes. This will terminate any running sessions.",
"audio_sink": "Audio Sink",
"audio_sink_desc_linux": "The name of the audio sink used for Audio Loopback. If you do not specify this variable, pulseaudio will select the default monitor device. You can find the name of the audio sink using either command:",
"audio_sink_desc_macos": "The name of the audio sink used for Audio Loopback. Sunshine can only access microphones on macOS due to system limitations. To stream system audio using Soundflower or BlackHole.",
"audio_sink_desc_windows": "Manually specify a specific audio device to capture. If unset, the device is chosen automatically. We strongly recommend leaving this field blank to use automatic device selection! If you have multiple audio devices with identical names, you can get the Device ID using the following command:",
"audio_sink_desc_macos": "The name of the audio sink used for Audio Loopback. Apollo can only access microphones on macOS due to system limitations. To stream system audio using Soundflower or BlackHole.",
"audio_sink_desc_windows": "The audio device to be used when audio output is allowed on host by the client.\nIf unset, the device is chosen automatically.\nYou can get the Device ID using the following command:",
"audio_sink_placeholder_macos": "BlackHole 2ch",
"audio_sink_placeholder_windows": "Speakers (High Definition Audio Device)",
"auto_capture_sink": "Auto capture current sink",
"auto_capture_sink_desc": "Auto capture current sink after default audio sink changed.",
"av1_mode": "AV1 Support",
"av1_mode_0": "Sunshine will advertise support for AV1 based on encoder capabilities (recommended)",
"av1_mode_1": "Sunshine will not advertise support for AV1",
"av1_mode_2": "Sunshine will advertise support for AV1 Main 8-bit profile",
"av1_mode_3": "Sunshine will advertise support for AV1 Main 8-bit and 10-bit (HDR) profiles",
"av1_mode_0": "Apollo will advertise support for AV1 based on encoder capabilities (recommended)",
"av1_mode_1": "Apollo will not advertise support for AV1",
"av1_mode_2": "Apollo will advertise support for AV1 Main 8-bit profile",
"av1_mode_3": "Apollo will advertise support for AV1 Main 8-bit and 10-bit (HDR) profiles",
"av1_mode_desc": "Allows the client to request AV1 Main 8-bit or 10-bit video streams. AV1 is more CPU-intensive to encode, so enabling this may reduce performance when using software encoding.",
"back_button_timeout": "Home/Guide Button Emulation Timeout",
"back_button_timeout_desc": "If the Back/Select button is held down for the specified number of milliseconds, a Home/Guide button press is emulated. If set to a value < 0 (default), holding the Back/Select button will not emulate the Home/Guide button.",
"capture": "Force a Specific Capture Method",
"capture_desc": "On automatic mode Sunshine will use the first one that works. NvFBC requires patched nvidia drivers.",
"capture_desc": "On automatic mode Apollo will use the first one that works. NvFBC requires patched nvidia drivers.",
"cert": "Certificate",
"cert_desc": "The certificate used for the web UI and Moonlight client pairing. For best compatibility, this should have an RSA-2048 public key.",
"channels": "Maximum Connected Clients",
"channels_desc_1": "Sunshine can allow a single streaming session to be shared with multiple clients simultaneously.",
"channels_desc_1": "Apollo can allow a single streaming session to be shared with multiple clients simultaneously.",
"channels_desc_2": "Some hardware encoders may have limitations that reduce performance with multiple streams.",
"client_do_cmd": "Client connect commands",
"client_do_cmd_desc": "Commands to be executed when client connects. All of the commands are executed detached.",
"client_undo_cmd": "Client disconnect commands",
"client_undo_cmd_desc": "Commands to be executed when client disconnects. All of the commands are executed detached.",
"coder_cabac": "cabac -- context adaptive binary arithmetic coding - higher quality",
"coder_cavlc": "cavlc -- context adaptive variable-length coding - faster decode",
"configuration": "Configuration",
"controller": "Enable Gamepad Input",
"controller_desc": "Allows guests to control the host system with a gamepad / controller",
"credentials_file": "Credentials File",
"credentials_file_desc": "Store Username/Password separately from Sunshine's state file.",
"credentials_file_desc": "Store Username/Password separately from Apollo's state file.",
"credentials_file_desc": "Store Username/Password separately from Apollo's state file.",
"dd_config_ensure_active": "Activate the display automatically",
"dd_config_ensure_only_display": "Deactivate other displays and activate only the specified display",
"dd_config_ensure_primary": "Activate the display automatically and make it a primary display",
"dd_config_label": "Device configuration",
"dd_config_revert_delay": "Config revert delay",
"dd_config_revert_delay_desc": "Additional delay in milliseconds to wait before reverting configuration when the app has been closed or the last session terminated. Main purpose is to provide a smoother transition when quickly switching between apps.",
"dd_config_revert_on_disconnect": "Config revert on disconnect",
"dd_config_revert_on_disconnect_desc": "Revert configuration upon disconnect of all clients instead of app close or last session termination.",
"dd_config_verify_only": "Verify that the display is enabled",
"dd_hdr_option": "HDR",
"dd_hdr_option_auto": "Switch on/off the HDR mode as requested by the client (default)",
@@ -189,22 +220,33 @@
"dd_resolution_option_manual": "Use manually entered resolution",
"dd_resolution_option_manual_desc": "Enter the resolution to be used",
"dd_resolution_option_ogs_desc": "\"Optimize game settings\" option must be enabled on the Moonlight client for this to work.",
"dd_wa_hdr_toggle_desc": "When using virtual display device as for streaming, it might display incorrect HDR color. With this option enabled, Sunshine will try to mitigate this issue.",
"dd_resolution_option_vdisplay_desc": "When using virtual display, only built-in resolution and client requested resolution/refresh rate will work.",
"dd_resolution_option_multi_instance_desc": "When using multiple instance of Apollo, make sure you have disabled this option in all instances, or it'll end up messing things up. It's still recommended to disable this part if you don't want your physical monitor's resolution to change or you only stream with virtual display.",
"dd_wa_hdr_toggle_desc": "When using virtual display device as for streaming, it might display incorrect HDR color. With this option enabled, Apollo will try to mitigate this issue.",
"dd_wa_hdr_toggle": "Enable high-contrast workaround for HDR",
"double_refreshrate": "Double refresh rate for Virtual Display",
"double_refreshrate_desc": "Double the requested fresh rate when creating virtual displays, streamed refresh rate still remain the same. Can potentially improve stutter problem on some systems.",
"ds4_back_as_touchpad_click": "Map Back/Select to Touchpad Click",
"ds4_back_as_touchpad_click_desc": "When forcing DS4 emulation, map Back/Select to Touchpad Click",
"enable_input_only_mode": "Enable Input Only Mode",
"enable_input_only_mode_desc": "Add an Input Only app entry. When enabled, the app list will only show the current running app and the Input Only entry when streaming. The Input Only entry will not receive any image or audio. Useful for operating the desktop on TV or connecting prepherals which the TV doesn't support with a phone.",
"enable_pairing": "Enable Pairing",
"enable_pairing_desc": "Enable pairing for the Moonlight client. This allows the client to authenticate with the host and establish a secure connection.",
"encoder": "Force a Specific Encoder",
"encoder_desc": "Force a specific encoder, otherwise Sunshine will select the best available option. Note: If you specify a hardware encoder on Windows, it must match the GPU where the display is connected.",
"encoder_desc": "Force a specific encoder, otherwise Apollo will select the best available option. Note: If you specify a hardware encoder on Windows, it must match the GPU where the display is connected.",
"encoder_software": "Software",
"external_ip": "External IP",
"external_ip_desc": "If no external IP address is given, Sunshine will automatically detect external IP",
"external_ip_desc": "If no external IP address is given, Apollo will automatically detect external IP",
"fallback_mode": "Fallback Display Mode",
"fallback_mode_desc": "Apollo will use this mode when the client does not provide a mode or when the app is launched through the web UI. Format: [Width]x[Height]x[FPS]",
"fallback_mode_error": "Invalid fallback mode. Format: [Width]x[Height]x[FPS]",
"fec_percentage": "FEC Percentage",
"fec_percentage_desc": "Percentage of error correcting packets per data packet in each video frame. Higher values can correct for more network packet loss, but at the cost of increasing bandwidth usage.",
"ffmpeg_auto": "auto -- let ffmpeg decide (default)",
"file_apps": "Apps File",
"file_apps_desc": "The file where current apps of Sunshine are stored.",
"file_apps_desc": "The file where current apps of Apollo are stored.",
"file_state": "State File",
"file_state_desc": "The file where current state of Sunshine is stored",
"file_state_desc": "The file where current state of Apollo is stored",
"gamepad": "Emulated Gamepad Type",
"gamepad_auto": "Automatic selection options",
"gamepad_desc": "Choose which type of gamepad to emulate on the host",
@@ -217,30 +259,38 @@
"gamepad_xone": "XOne (Xbox One)",
"global_prep_cmd": "Command Preparations",
"global_prep_cmd_desc": "Configure a list of commands to be executed before or after running any application. If any of the specified preparation commands fail, the application launch process will be aborted.",
"headless_mode": "Headless Mode",
"headless_mode_desc": "Start Apollo in headless mode. When enabled, all apps will start in virtual display.",
"hevc_mode": "HEVC Support",
"hevc_mode_0": "Sunshine will advertise support for HEVC based on encoder capabilities (recommended)",
"hevc_mode_1": "Sunshine will not advertise support for HEVC",
"hevc_mode_2": "Sunshine will advertise support for HEVC Main profile",
"hevc_mode_3": "Sunshine will advertise support for HEVC Main and Main10 (HDR) profiles",
"hevc_mode_0": "Apollo will advertise support for HEVC based on encoder capabilities (recommended)",
"hevc_mode_1": "Apollo will not advertise support for HEVC",
"hevc_mode_2": "Apollo will advertise support for HEVC Main profile",
"hevc_mode_3": "Apollo will advertise support for HEVC Main and Main10 (HDR) profiles",
"hevc_mode_desc": "Allows the client to request HEVC Main or HEVC Main10 video streams. HEVC is more CPU-intensive to encode, so enabling this may reduce performance when using software encoding.",
"hide_tray_controls": "Hide tray control options",
"hide_tray_controls_desc": "Do not show \"Force Stop\", \"Restart\" and \"Quit\" in tray menu.",
"high_resolution_scrolling": "High Resolution Scrolling Support",
"high_resolution_scrolling_desc": "When enabled, Sunshine will pass through high resolution scroll events from Moonlight clients. This can be useful to disable for older applications that scroll too fast with high resolution scroll events.",
"high_resolution_scrolling_desc": "When enabled, Apollo will pass through high resolution scroll events from Moonlight clients. This can be useful to disable for older applications that scroll too fast with high resolution scroll events.",
"install_steam_audio_drivers": "Install Steam Audio Drivers",
"install_steam_audio_drivers_desc": "If Steam is installed, this will automatically install the Steam Streaming Speakers driver to support 5.1/7.1 surround sound and muting host audio.",
"keep_sink_default": "Keep virtual sink as default",
"keep_sink_default_desc": "Whether to force selected virtual sink as default (effective when host audio output is disabled).",
"key_repeat_delay": "Key Repeat Delay",
"key_repeat_delay_desc": "Control how fast keys will repeat themselves. The initial delay in milliseconds before repeating keys.",
"key_repeat_frequency": "Key Repeat Frequency",
"key_repeat_frequency_desc": "How often keys repeat every second. This configurable option supports decimals.",
"key_rightalt_to_key_win": "Map Right Alt key to Windows key",
"key_rightalt_to_key_win_desc": "It may be possible that you cannot send the Windows Key from Moonlight directly. In those cases it may be useful to make Sunshine think the Right Alt key is the Windows key",
"key_rightalt_to_key_win_desc": "It may be possible that you cannot send the Windows Key from Moonlight directly. In those cases it may be useful to make Apollo think the Right Alt key is the Windows key",
"keyboard": "Enable Keyboard Input",
"keyboard_desc": "Allows guests to control the host system with the keyboard",
"lan_encryption_mode": "LAN Encryption Mode",
"lan_encryption_mode_1": "Enabled for supported clients",
"lan_encryption_mode_2": "Required for all clients",
"lan_encryption_mode_desc": "This determines when encryption will be used when streaming over your local network. Encryption can reduce streaming performance, particularly on less powerful hosts and clients.",
"limit_framerate": "Limit capture framerate",
"limit_framerate_desc": "Limit the framerate being captured to client requested framerate. May not run at full framerate if vsync is enabled and display refreshrate does not match requested framerate. Could cause lag on some clients if disabled.",
"locale": "Locale",
"locale_desc": "The locale used for Sunshine's user interface.",
"locale_desc": "The locale used for Apollo's user interface.",
"log_level": "Log Level",
"log_level_0": "Verbose",
"log_level_1": "Debug",
@@ -251,9 +301,9 @@
"log_level_6": "None",
"log_level_desc": "The minimum log level printed to standard out",
"log_path": "Logfile Path",
"log_path_desc": "The file where the current logs of Sunshine are stored.",
"log_path_desc": "The file where the current logs of Apollo are stored.",
"min_fps_factor": "Minimum FPS Factor",
"min_fps_factor_desc": "Sunshine will use this factor to calculate the minimum time between frames. Increasing this value slightly may help when streaming mostly static content. Higher values will consume more bandwidth.",
"min_fps_factor_desc": "Apollo will use this factor to calculate the minimum time between frames. Increasing this value slightly may help when streaming mostly static content. Higher values will consume more bandwidth.",
"min_threads": "Minimum CPU Thread Count",
"min_threads_desc": "Increasing the value slightly reduces encoding efficiency, but the tradeoff is usually worth it to gain the use of more CPU cores for encoding. The ideal value is the lowest value that can reliably encode at your desired streaming settings on your hardware.",
"misc": "Miscellaneous options",
@@ -262,15 +312,17 @@
"mouse": "Enable Mouse Input",
"mouse_desc": "Allows guests to control the host system with the mouse",
"native_pen_touch": "Native Pen/Touch Support",
"native_pen_touch_desc": "When enabled, Sunshine will pass through native pen/touch events from Moonlight clients. This can be useful to disable for older applications without native pen/touch support.",
"native_pen_touch_desc": "When enabled, Apollo will pass through native pen/touch events from Moonlight clients. This can be useful to disable for older applications without native pen/touch support.",
"notify_pre_releases": "PreRelease Notifications",
"notify_pre_releases_desc": "Whether to be notified of new pre-release versions of Sunshine",
"notify_pre_releases_desc": "Whether to be notified of new pre-release versions of Apollo",
"nvenc_h264_cavlc": "Prefer CAVLC over CABAC in H.264",
"nvenc_h264_cavlc_desc": "Simpler form of entropy coding. CAVLC needs around 10% more bitrate for same quality. Only relevant for really old decoding devices.",
"nvenc_intra_refresh": "Intra Refresh",
"nvenc_intra_refresh_desc": "Enable Intra Refresh for some clients to render correctly continuously (e.g. Xbox Client)",
"nvenc_latency_over_power": "Prefer lower encoding latency over power savings",
"nvenc_latency_over_power_desc": "Sunshine requests maximum GPU clock speed while streaming to reduce encoding latency. Disabling it is not recommended since this can lead to significantly increased encoding latency.",
"nvenc_latency_over_power_desc": "Apollo requests maximum GPU clock speed while streaming to reduce encoding latency. Disabling it is not recommended since this can lead to significantly increased encoding latency.",
"nvenc_opengl_vulkan_on_dxgi": "Present OpenGL/Vulkan on top of DXGI",
"nvenc_opengl_vulkan_on_dxgi_desc": "Sunshine can't capture fullscreen OpenGL and Vulkan programs at full frame rate unless they present on top of DXGI. This is system-wide setting that is reverted on sunshine program exit.",
"nvenc_opengl_vulkan_on_dxgi_desc": "Apollo can't capture fullscreen OpenGL and Vulkan programs at full frame rate unless they present on top of DXGI. This is system-wide setting that is reverted on Apollo program exit.",
"nvenc_preset": "Performance preset",
"nvenc_preset_1": "(fastest, default)",
"nvenc_preset_7": "(slowest)",
@@ -279,20 +331,22 @@
"nvenc_realtime_hags_desc": "Currently NVIDIA drivers may freeze in encoder when HAGS is enabled, realtime priority is used and VRAM utilization is close to maximum. Disabling this option lowers the priority to high, sidestepping the freeze at the cost of reduced capture performance when the GPU is heavily loaded.",
"nvenc_spatial_aq": "Spatial AQ",
"nvenc_spatial_aq_desc": "Assign higher QP values to flat regions of the video. Recommended to enable when streaming at lower bitrates.",
"nvenc_spatial_aq_disabled": "Disabled (faster, default)",
"nvenc_spatial_aq_enabled": "Enabled (slower)",
"nvenc_twopass": "Two-pass mode",
"nvenc_twopass_desc": "Adds preliminary encoding pass. This allows to detect more motion vectors, better distribute bitrate across the frame and more strictly adhere to bitrate limits. Disabling it is not recommended since this can lead to occasional bitrate overshoot and subsequent packet loss.",
"nvenc_twopass_disabled": "Disabled (fastest, not recommended)",
"nvenc_twopass_full_res": "Full resolution (slower)",
"nvenc_twopass_quarter_res": "Quarter resolution (faster, default)",
"nvenc_vbv_increase": "Single-frame VBV/HRD percentage increase",
"nvenc_vbv_increase_desc": "By default sunshine uses single-frame VBV/HRD, which means any encoded video frame size is not expected to exceed requested bitrate divided by requested frame rate. Relaxing this restriction can be beneficial and act as low-latency variable bitrate, but may also lead to packet loss if the network doesn't have buffer headroom to handle bitrate spikes. Maximum accepted value is 400, which corresponds to 5x increased encoded video frame upper size limit.",
"nvenc_vbv_increase_desc": "By default Apollo uses single-frame VBV/HRD, which means any encoded video frame size is not expected to exceed requested bitrate divided by requested frame rate. Relaxing this restriction can be beneficial and act as low-latency variable bitrate, but may also lead to packet loss if the network doesn't have buffer headroom to handle bitrate spikes. Maximum accepted value is 400, which corresponds to 5x increased encoded video frame upper size limit.",
"origin_web_ui_allowed": "Origin Web UI Allowed",
"origin_web_ui_allowed_desc": "The origin of the remote endpoint address that is not denied access to Web UI",
"origin_web_ui_allowed_lan": "Only those in LAN may access Web UI",
"origin_web_ui_allowed_pc": "Only localhost may access Web UI",
"origin_web_ui_allowed_wan": "Anyone may access Web UI",
"output_name_desc_unix": "During Sunshine startup, you should see the list of detected displays. Note: You need to use the id value inside the parenthesis. Below is an example; the actual output can be found in the Troubleshooting tab.",
"output_name_desc_windows": "Manually specify a display device id to use for capture. If unset, the primary display is captured. Note: If you specified a GPU above, this display must be connected to that GPU. During Sunshine startup, you should see the list of detected displays. Below is an example; the actual output can be found in the Troubleshooting tab.",
"output_name_desc_unix": "During Apollo startup, you should see the list of detected displays. Note: You need to use the id value inside the parenthesis. Below is an example; the actual output can be found in the Troubleshooting tab.",
"output_name_desc_windows": "Manually specify a display device id to use for capture. If unset, the primary display is captured. Note: If you specified a GPU above, this display must be connected to that GPU. During Apollo startup, you should see the list of detected displays. Below is an example; the actual output can be found in the Troubleshooting tab.",
"output_name_unix": "Display number",
"output_name_windows": "Display Device Id",
"ping_timeout": "Ping Timeout",
@@ -300,9 +354,9 @@
"pkey": "Private Key",
"pkey_desc": "The private key used for the web UI and Moonlight client pairing. For best compatibility, this should be an RSA-2048 private key.",
"port": "Port",
"port_alert_1": "Sunshine cannot use ports below 1024!",
"port_alert_1": "Apollo cannot use ports below 1024!",
"port_alert_2": "Ports above 65535 are not available!",
"port_desc": "Set the family of ports used by Sunshine",
"port_desc": "Set the family of ports used by Apollo",
"port_http_port_note": "Use this port to connect with Moonlight.",
"port_note": "Note",
"port_port": "Port",
@@ -324,8 +378,10 @@
"qsv_preset_veryfast": "fastest (lowest quality)",
"qsv_slow_hevc": "Allow Slow HEVC Encoding",
"qsv_slow_hevc_desc": "This can enable HEVC encoding on older Intel GPUs, at the cost of higher GPU usage and worse performance.",
"restart_note": "Sunshine is restarting to apply changes.",
"sunshine_name": "Sunshine Name",
"restart_note": "Apollo is restarting to apply changes.",
"server_cmd": "Server Commands",
"server_cmd_desc": "Configure a list of commands to be executed when called from client during streaming.",
"sunshine_name": "Apollo Name",
"sunshine_name_desc": "The name displayed by Moonlight. If not specified, the PC's hostname is used",
"sw_preset": "SW Presets",
"sw_preset_desc": "Optimize the trade-off between encoding speed (encoded frames per second) and compression efficiency (quality per bit in the bitstream). Defaults to superfast.",
@@ -353,7 +409,7 @@
"vaapi_strict_rc_buffer": "Strictly enforce frame bitrate limits for H.264/HEVC on AMD GPUs",
"vaapi_strict_rc_buffer_desc": "Enabling this option can avoid dropped frames over the network during scene changes, but video quality may be reduced during motion.",
"virtual_sink": "Virtual Sink",
"virtual_sink_desc": "Manually specify a virtual audio device to use. If unset, the device is chosen automatically. We strongly recommend leaving this field blank to use automatic device selection!",
"virtual_sink_desc": "The audio device to be used when audio output isn't allowed on host by the client.\nIf unset, the device is chosen automatically.\nWe strongly recommend leaving this field blank to use automatic device selection!",
"virtual_sink_placeholder": "Steam Streaming Speakers",
"vt_coder": "VideoToolbox Coder",
"vt_realtime": "VideoToolbox Realtime Encoding",
@@ -365,17 +421,20 @@
"wan_encryption_mode_2": "Required for all clients",
"wan_encryption_mode_desc": "This determines when encryption will be used when streaming over the Internet. Encryption can reduce streaming performance, particularly on less powerful hosts and clients."
},
"login": {
"save_password": "Remember Password"
},
"index": {
"description": "Sunshine is a self-hosted game stream host for Moonlight.",
"description": "Apollo is a self-hosted game stream host for Moonlight.",
"download": "Download",
"installed_version_not_stable": "You are running a pre-release version of Sunshine. You may experience bugs or other issues. Please report any issues you encounter. Thank you for helping to make Sunshine a better software!",
"installed_version_not_stable": "You are running a pre-release version of Apollo. You may experience bugs or other issues. Please report any issues you encounter. Thank you for helping to make Apollo a better software!",
"loading_latest": "Loading latest release...",
"new_pre_release": "A new Pre-Release Version is Available!",
"new_stable": "A new Stable Version is Available!",
"startup_errors": "<b>Attention!</b> Sunshine detected these errors during startup. We <b>STRONGLY RECOMMEND</b> fixing them before streaming.",
"version_dirty": "Thank you for helping to make Sunshine a better software!",
"version_latest": "You are running the latest version of Sunshine",
"welcome": "Hello, Sunshine!"
"startup_errors": "<b>Attention!</b> Apollo detected these errors during startup. We <b>STRONGLY RECOMMEND</b> fixing them before streaming.",
"version_dirty": "Thank you for helping to make Apollo a better software!",
"version_latest": "You are running the latest version of Apollo",
"welcome": "Hello, Apollo!"
},
"navbar": {
"applications": "Applications",
@@ -397,13 +456,47 @@
"password_change": "Password Change",
"success_msg": "Password has been changed successfully! This page will reload soon, your browser will ask you for the new credentials."
},
"permissions": {
"input_controller": "Controller Input",
"input_touch": "Touch Input",
"input_pen": "Pen Input",
"input_mouse": "Mouse Input",
"input_kbd": "Keyboard Input",
"clipboard_set": "Clipboard Set",
"clipboard_read": "Clipboard Read",
"file_upload": "File Upload",
"file_dwnload": "File Download",
"server_cmd": "Server Command",
"list": "List Apps",
"view": "View Streams",
"launch": "Launch Apps"
},
"pin": {
"device_name": "Device Name",
"device_name": "Optional: Device Name",
"pair_failure": "Pairing Failed: Check if the PIN is typed correctly",
"pair_success": "Success! Please check Moonlight to continue",
"pair_success_check_perm": "Pair success! Please grant necessary permissions to the client manually below.",
"pin_pairing": "PIN Pairing",
"send": "Send",
"warning_msg": "Make sure you have access to the client you are pairing with. This software can give total control to your computer, so be careful!"
"warning_msg": "Make sure you have access to the client you are pairing with. This software can give total control to your computer, so be careful!",
"otp_pairing": "OTP Pairing",
"generate_pin": "Generate PIN",
"otp_passphrase": "One Time Passphrase",
"otp_expired": "EXPIRED",
"otp_expired_msg": "OTP expired. Please request a new one.",
"otp_success": "PIN request success, the PIN is available within 3 minutes.",
"otp_msg": "OTP pairing is only available for the latest Artemis clients. Please use legacy pairing method for other clients.",
"otp_pair_now": "PIN generated successfully, do you want to pair now?",
"device_management": "Device Management",
"device_management_desc": "Manage your paired devices and their permissions.",
"device_management_warning": "The first paired device will have full permissions by default. Other newly paired devices will have limited permissions set by default.",
"save_client_error": "Error while saving client: ",
"unpair_all": "Unpair All",
"unpair_all_success": "All devices unpaired.",
"unpair_all_error": "Error while unpairing",
"unpair_single_no_devices": "There are no paired devices.",
"unpair_single_success": "However, the device(s) may still be in an active session. Use the 'Force Close' button above to end any open sessions.",
"unpair_single_unknown": "Unknown Client"
},
"resource_card": {
"github_discussions": "GitHub Discussions",
@@ -412,12 +505,12 @@
"license": "License",
"lizardbyte_website": "LizardByte Website",
"resources": "Resources",
"resources_desc": "Resources for Sunshine!",
"resources_desc": "Resources for Apollo!",
"third_party_notice": "Third Party Notice"
},
"troubleshooting": {
"dd_reset": "Reset Persistent Display Device Settings",
"dd_reset_desc": "If Sunshine is stuck trying to restore the changed display device settings, you can reset the settings and proceed to restore the display state manually.",
"dd_reset_desc": "If Apollo is stuck trying to restore the changed display device settings, you can reset the settings and proceed to restore the display state manually.",
"dd_reset_error": "Error while resetting persistence!",
"dd_reset_success": "Success resetting persistence!",
"force_close": "Force Close",
@@ -425,27 +518,25 @@
"force_close_error": "Error while closing Application",
"force_close_success": "Application Closed Successfully!",
"logs": "Logs",
"logs_desc": "See the logs uploaded by Sunshine",
"logs_desc": "See the logs uploaded by Apollo",
"logs_find": "Find...",
"restart_sunshine": "Restart Sunshine",
"restart_sunshine_desc": "If Sunshine isn't working properly, you can try restarting it. This will terminate any running sessions.",
"restart_sunshine_success": "Sunshine is restarting",
"troubleshooting": "Troubleshooting",
"unpair_all": "Unpair All",
"unpair_all_error": "Error while unpairing",
"unpair_all_success": "All devices unpaired.",
"unpair_desc": "Remove your paired devices. Individually unpaired devices with an active session will remain connected, but cannot start or resume a session.",
"unpair_single_no_devices": "There are no paired devices.",
"unpair_single_success": "However, the device(s) may still be in an active session. Use the 'Force Close' button above to end any open sessions.",
"unpair_single_unknown": "Unknown Client",
"unpair_title": "Unpair Devices"
"restart_apollo": "Restart Apollo",
"restart_apollo_desc": "If Apollo isn't working properly, you can try restarting it. This will terminate any running sessions.",
"restart_apollo_success": "Apollo is restarting",
"quit_apollo": "Quit Apollo",
"quit_apollo_desc": "Exit Apollo. This will terminate any running sessions.",
"quit_apollo_success": "Apollo has exited.",
"quit_apollo_success_ongoing": "Apollo is quitting...",
"quit_apollo_confirm": "Do you really want to quit Apollo? You'll not be able to start Apollo again if you have no other methods to operate your computer.",
"troubleshooting": "Troubleshooting"
},
"welcome": {
"confirm_password": "Confirm password",
"create_creds": "Before Getting Started, we need you to make a new username and password for accessing the Web UI.",
"create_creds_alert": "The credentials below are needed to access Sunshine's Web UI. Keep them safe, since you will never see them again!",
"greeting": "Welcome to Sunshine!",
"create_creds_alert": "The credentials below are needed to access Apollo's Web UI. Keep them safe, since you will never see them again!",
"greeting": "Welcome to Apollo!",
"login": "Login",
"welcome_success": "This page will reload soon, your browser will ask you for the new credentials"
"welcome_success": "This page will reload soon, your browser will ask you for the new credentials",
"login_success": "This page will reload soon."
}
}

View File

@@ -79,7 +79,7 @@
"wait_all": "모든 앱 프로세스가 종료될 때까지 스트리밍을 계속합니다.",
"wait_all_desc": "앱에서 시작한 모든 프로세스가 종료될 때까지 스트리밍이 계속됩니다. 이 옵션을 선택하지 않으면 다른 앱 프로세스가 계속 실행 중이더라도 초기 앱 프로세스가 종료되면 스트리밍이 중지됩니다.",
"working_dir": "작업 디렉토리",
"working_dir_desc": "프로세스에 전달할 작업 디렉터리입니다. 예를 들어 일부 애플리케이션은 작업 디렉터리를 사용하여 구성 파일을 검색합니다. 이 옵션을 설정하지 않으면 기본적으로 Sunshine은 다음 명령의 상위 디렉터리로 설정됩니다."
"working_dir_desc": "프로세스에 전달할 작업 디렉터리입니다. 예를 들어 일부 애플리케이션은 작업 디렉터리를 사용하여 구성 파일을 검색합니다. 이 옵션을 설정하지 않으면 기본적으로 Apollo은 다음 명령의 상위 디렉터리로 설정됩니다."
},
"config": {
"adapter_name": "어댑터 이름",
@@ -123,27 +123,27 @@
"amd_usage_webcam": "웹캠 -- 웹캠(느림)",
"amd_vbaq": "AMF 분산 기반 적응형 양자화(VBAQ)",
"amd_vbaq_desc": "인간의 시각 시스템은 일반적으로 텍스처가 심한 영역의 아티팩트에 덜 민감합니다. VBAQ 모드에서는 픽셀 분산이 공간 텍스처의 복잡도를 나타내는 데 사용되므로 인코더가 더 부드러운 영역에 더 많은 비트를 할당할 수 있습니다. 이 기능을 활성화하면 일부 콘텐츠에서 주관적인 화질이 개선됩니다.",
"apply_note": "'적용'을 클릭하여 Sunshine을 다시 시작하고 변경 사항을 적용합니다. 그러면 실행 중인 모든 세션이 종료됩니다.",
"apply_note": "'적용'을 클릭하여 Apollo을 다시 시작하고 변경 사항을 적용합니다. 그러면 실행 중인 모든 세션이 종료됩니다.",
"audio_sink": "오디오 싱크",
"audio_sink_desc_linux": "오디오 루프백에 사용되는 오디오 싱크의 이름입니다. 이 변수를 지정하지 않으면 pulseaudio가 기본 모니터 장치를 선택합니다. 오디오 싱크의 이름은 다음 명령을 사용하여 찾을 수 있습니다:",
"audio_sink_desc_macos": "오디오 루프백에 사용되는 오디오 싱크의 이름입니다. Sunshine은 시스템 제한으로 인해 macOS에서만 마이크에 액세스할 수 있습니다. 사운드플라워 또는 블랙홀을 사용하여 시스템 오디오를 스트리밍하려면.",
"audio_sink_desc_macos": "오디오 루프백에 사용되는 오디오 싱크의 이름입니다. Apollo은 시스템 제한으로 인해 macOS에서만 마이크에 액세스할 수 있습니다. 사운드플라워 또는 블랙홀을 사용하여 시스템 오디오를 스트리밍하려면.",
"audio_sink_desc_windows": "캡처할 특정 오디오 장치를 수동으로 지정합니다. 설정하지 않으면 장치가 자동으로 선택됩니다. 자동 장치 선택을 사용하려면 이 필드를 비워 두는 것이 좋습니다! 동일한 이름의 오디오 장치가 여러 개 있는 경우 다음 명령을 사용하여 장치 ID를 얻을 수 있습니다:",
"audio_sink_placeholder_macos": "블랙홀 2채널",
"audio_sink_placeholder_windows": "스피커(고화질 오디오 장치)",
"av1_mode": "AV1 지원",
"av1_mode_0": "선샤인은 인코더 기능에 따라 AV1 지원을 광고합니다(권장).",
"av1_mode_1": "Sunshine은 AV1에 대한 지원을 광고하지 않습니다.",
"av1_mode_1": "Apollo은 AV1에 대한 지원을 광고하지 않습니다.",
"av1_mode_2": "선샤인은 AV1 메인 8비트 프로파일 지원을 광고합니다.",
"av1_mode_3": "선샤인은 AV1 메인 8비트 및 10비트(HDR) 프로파일 지원을 광고할 예정입니다.",
"av1_mode_desc": "클라이언트가 AV1 메인 8비트 또는 10비트 비디오 스트림을 요청할 수 있습니다. AV1은 인코딩 시 CPU를 더 많이 사용하므로 이 옵션을 활성화하면 소프트웨어 인코딩을 사용할 때 성능이 저하될 수 있습니다.",
"back_button_timeout": "홈/가이드 버튼 에뮬레이션 시간 초과",
"back_button_timeout_desc": "뒤로/선택 버튼을 지정된 밀리초 동안 누르고 있으면 홈/가이드 버튼 누름이 에뮬레이션됩니다. 값을 0 미만(기본값)으로 설정하면 뒤로/선택 버튼을 길게 눌러도 홈/가이드 버튼이 에뮬레이션되지 않습니다.",
"capture": "특정 캡처 방법 강제 적용",
"capture_desc": "자동 모드에서 Sunshine은 가장 먼저 작동하는 것을 사용합니다. NvFBC에는 패치된 엔비디아 드라이버가 필요합니다.",
"capture_desc": "자동 모드에서 Apollo은 가장 먼저 작동하는 것을 사용합니다. NvFBC에는 패치된 엔비디아 드라이버가 필요합니다.",
"cert": "인증서",
"cert_desc": "웹 UI와 Moonlight 클라이언트 페어링에 사용되는 인증서입니다. 최상의 호환성을 위해 RSA-2048 공개 키가 있어야 합니다.",
"channels": "최대 연결 클라이언트 수",
"channels_desc_1": "Sunshine을 사용하면 하나의 스트리밍 세션을 여러 클라이언트와 동시에 공유할 수 있습니다.",
"channels_desc_1": "Apollo을 사용하면 하나의 스트리밍 세션을 여러 클라이언트와 동시에 공유할 수 있습니다.",
"channels_desc_2": "일부 하드웨어 인코더에는 다중 스트림에서 성능을 저하시키는 제한이 있을 수 있습니다.",
"coder_cabac": "카박 - 컨텍스트 적응형 이진 산술 코딩 - 더 높은 품질",
"coder_cavlc": "cavlc - 컨텍스트 적응형 가변 길이 코딩 - 더 빠른 디코딩",
@@ -151,7 +151,7 @@
"controller": "게임패드 입력 활성화",
"controller_desc": "게스트가 게임패드/컨트롤러로 호스트 시스템을 제어할 수 있습니다.",
"credentials_file": "자격 증명 파일",
"credentials_file_desc": "사용자 이름/비밀번호를 Sunshine의 상태 파일과 별도로 저장하세요.",
"credentials_file_desc": "사용자 이름/비밀번호를 Apollo의 상태 파일과 별도로 저장하세요.",
"dd_config_ensure_active": "디스플레이 자동 활성화",
"dd_config_ensure_only_display": "다른 디스플레이를 비활성화하고 지정된 디스플레이만 활성화하기",
"dd_config_ensure_primary": "디스플레이를 자동으로 활성화하고 기본 디스플레이로 설정하기",
@@ -192,10 +192,10 @@
"ds4_back_as_touchpad_click": "지도 뒤로 가기/터치패드 클릭으로 선택",
"ds4_back_as_touchpad_click_desc": "DS4 에뮬레이션을 강제할 때 뒤로/선택을 터치패드 클릭에 매핑합니다.",
"encoder": "특정 인코더 강제 적용",
"encoder_desc": "특정 인코더를 강제로 지정하지 않으면 Sunshine에서 사용 가능한 최상의 옵션을 선택합니다. 참고: Windows에서 하드웨어 인코더를 지정하는 경우 디스플레이가 연결된 GPU와 일치해야 합니다.",
"encoder_desc": "특정 인코더를 강제로 지정하지 않으면 Apollo에서 사용 가능한 최상의 옵션을 선택합니다. 참고: Windows에서 하드웨어 인코더를 지정하는 경우 디스플레이가 연결된 GPU와 일치해야 합니다.",
"encoder_software": "소프트웨어",
"external_ip": "외부 IP",
"external_ip_desc": "외부 IP 주소가 지정되지 않은 경우 Sunshine은 자동으로 외부 IP를 감지합니다.",
"external_ip_desc": "외부 IP 주소가 지정되지 않은 경우 Apollo은 자동으로 외부 IP를 감지합니다.",
"fec_percentage": "FEC 백분율",
"fec_percentage_desc": "각 비디오 프레임의 데이터 패킷당 오류를 수정하는 패킷의 백분율입니다. 값이 높을수록 더 많은 네트워크 패킷 손실을 보정할 수 있지만 대역폭 사용량이 증가합니다.",
"ffmpeg_auto": "자동 -- FFMPEG 결정에 맡김(기본값)",
@@ -217,12 +217,12 @@
"global_prep_cmd_desc": "애플리케이션 실행 전 또는 실행 후에 실행할 명령 목록을 구성합니다. 지정된 준비 명령 중 하나라도 실패하면 애플리케이션 실행 프로세스가 중단됩니다.",
"hevc_mode": "HEVC 지원",
"hevc_mode_0": "선샤인은 인코더 기능에 따라 HEVC 지원을 광고합니다(권장).",
"hevc_mode_1": "Sunshine은 HEVC 지원을 광고하지 않습니다.",
"hevc_mode_1": "Apollo은 HEVC 지원을 광고하지 않습니다.",
"hevc_mode_2": "선샤인은 HEVC 메인 프로필에 대한 지원을 광고합니다.",
"hevc_mode_3": "선샤인은 HEVC 메인 및 메인10(HDR) 프로파일 지원을 광고할 예정입니다.",
"hevc_mode_desc": "클라이언트가 HEVC 메인 또는 HEVC 메인10 비디오 스트림을 요청할 수 있도록 허용합니다. HEVC는 인코딩에 CPU를 더 많이 사용하므로 이 옵션을 활성화하면 소프트웨어 인코딩을 사용할 때 성능이 저하될 수 있습니다.",
"high_resolution_scrolling": "고해상도 스크롤 지원",
"high_resolution_scrolling_desc": "이 옵션을 활성화하면 Sunshine은 Moonlight 클라이언트의 고해상도 스크롤 이벤트를 통과합니다. 고해상도 스크롤 이벤트로 너무 빠르게 스크롤하는 구형 애플리케이션의 경우 이 옵션을 비활성화하면 유용할 수 있습니다.",
"high_resolution_scrolling_desc": "이 옵션을 활성화하면 Apollo은 Moonlight 클라이언트의 고해상도 스크롤 이벤트를 통과합니다. 고해상도 스크롤 이벤트로 너무 빠르게 스크롤하는 구형 애플리케이션의 경우 이 옵션을 비활성화하면 유용할 수 있습니다.",
"install_steam_audio_drivers": "Steam 오디오 드라이버 설치",
"install_steam_audio_drivers_desc": "Steam이 설치되어 있으면 5.1/7.1 서라운드 사운드와 호스트 오디오 음소거를 지원하는 Steam Streaming Speakers 드라이버가 자동으로 설치됩니다.",
"key_repeat_delay": "키 반복 지연",
@@ -230,7 +230,7 @@
"key_repeat_frequency": "키 반복 빈도",
"key_repeat_frequency_desc": "매 초마다 키가 반복되는 빈도입니다. (이 옵션은 소수점 입력이 가능합니다.)",
"key_rightalt_to_key_win": "오른쪽 Alt 키를 Windows 키로 매핑",
"key_rightalt_to_key_win_desc": "달빛에서 Windows 키를 직접 보낼 수 없는 경우가 있을 수 있습니다. 이러한 경우 Sunshine이 오른쪽 Alt 키를 Windows 키로 인식하도록 하는 것이 유용할 수 있습니다.",
"key_rightalt_to_key_win_desc": "달빛에서 Windows 키를 직접 보낼 수 없는 경우가 있을 수 있습니다. 이러한 경우 Apollo이 오른쪽 Alt 키를 Windows 키로 인식하도록 하는 것이 유용할 수 있습니다.",
"keyboard": "키보드 입력 활성화",
"keyboard_desc": "게스트가 키보드로 호스트 시스템을 제어할 수 있습니다.",
"lan_encryption_mode": "LAN 암호화 모드",
@@ -238,7 +238,7 @@
"lan_encryption_mode_2": "모든 사용자에게 필수",
"lan_encryption_mode_desc": "로컬 네트워크를 통해 스트리밍할 때 암호화를 사용할 시기를 결정합니다. 암호화는 특히 성능이 낮은 호스트와 클라이언트에서 스트리밍 성능을 저하시킬 수 있습니다.",
"locale": "로캘",
"locale_desc": "Sunshine의 사용자 인터페이스에 사용되는 로캘입니다.",
"locale_desc": "Apollo의 사용자 인터페이스에 사용되는 로캘입니다.",
"log_level": "로그 레벨",
"log_level_0": "Verbose",
"log_level_1": "Debug",
@@ -268,7 +268,7 @@
"nvenc_latency_over_power": "전력 절감보다 낮은 인코딩 지연 시간 선호",
"nvenc_latency_over_power_desc": "선샤인은 인코딩 지연 시간을 줄이기 위해 스트리밍 중에 최대 GPU 클럭 속도를 요청합니다. 이 기능을 비활성화하면 인코딩 지연 시간이 크게 늘어날 수 있으므로 비활성화하는 것은 권장하지 않습니다.",
"nvenc_opengl_vulkan_on_dxgi": "DXGI 위에 OpenGL/Vulkan 제공",
"nvenc_opengl_vulkan_on_dxgi_desc": "Sunshine은 DXGI 위에 표시되지 않는 한 전체 화면 OpenGL 및 Vulkan 프로그램을 풀 프레임 속도로 캡처할 수 없습니다. 이는 시스템 전체 설정으로, 선샤인 프로그램 종료 시 되돌려집니다.",
"nvenc_opengl_vulkan_on_dxgi_desc": "Apollo은 DXGI 위에 표시되지 않는 한 전체 화면 OpenGL 및 Vulkan 프로그램을 풀 프레임 속도로 캡처할 수 없습니다. 이는 시스템 전체 설정으로, 선샤인 프로그램 종료 시 되돌려집니다.",
"nvenc_preset": "성능 프리셋",
"nvenc_preset_1": "(가장 빠름, 기본값)",
"nvenc_preset_7": "(가장 느림)",
@@ -300,9 +300,9 @@
"pkey": "개인 키",
"pkey_desc": "웹 UI와 Moonlight 클라이언트 페어링에 사용되는 개인 키입니다. 최상의 호환성을 위해 RSA-2048 개인키를 사용해야 합니다.",
"port": "포트",
"port_alert_1": "Sunshine은 1024 이하의 포트를 사용할 수 없습니다, 다시 확인하세요.",
"port_alert_1": "Apollo은 1024 이하의 포트를 사용할 수 없습니다, 다시 확인하세요.",
"port_alert_2": "65535 이상의 포트는 사용할 수 없습니다, 다시 확인하세요.",
"port_desc": "Sunshine에서 사용하는 포트 제품군 설정",
"port_desc": "Apollo에서 사용하는 포트 제품군 설정",
"port_http_port_note": "이 포트를 사용하여 Moonlight에 연결하세요.",
"port_note": "참고",
"port_port": "포트",
@@ -324,8 +324,8 @@
"qsv_preset_veryfast": "가장 빠름 (최저 품질)",
"qsv_slow_hevc": "느린 HEVC 인코딩 허용",
"qsv_slow_hevc_desc": "이렇게 하면 구형 인텔 GPU에서 HEVC 인코딩이 가능하지만, GPU 사용량이 증가하고 성능이 저하될 수 있습니다.",
"restart_note": "변경 사항을 적용하기 위해 Sunshine이 다시 시작됩니다.",
"sunshine_name": "Sunshine 이름",
"restart_note": "변경 사항을 적용하기 위해 Apollo이 다시 시작됩니다.",
"sunshine_name": "Apollo 이름",
"sunshine_name_desc": "Moonlight에서 표시되는 이름입니다. 지정하지 않으면 PC의 이름이 사용됩니다.",
"sw_preset": "SW 프리셋",
"sw_preset_desc": "인코딩 속도(초당 인코딩 프레임 수)와 압축 효율성(비트스트림의 비트당 품질) 간의 절충점을 최적화합니다. 기본값은 초고속입니다.",
@@ -366,16 +366,16 @@
"wan_encryption_mode_desc": "인터넷을 통해 스트리밍할 때 암호화를 사용할 시기를 결정합니다. 암호화는 특히 성능이 낮은 호스트와 클라이언트에서 스트리밍 성능을 저하시킬 수 있습니다."
},
"index": {
"description": "Sunshine은 Moonlight의 게임 스트리밍 프로그램 입니다.",
"description": "Apollo은 Moonlight의 게임 스트리밍 프로그램 입니다.",
"download": "다운로드",
"installed_version_not_stable": "Sunshine의 정식 출시 이전 버전을 실행 중입니다. 버그나 기타 문제가 발생할 수 있습니다. 문제가 발생하면 신고해 주세요. Sunshine을 더 나은 소프트웨어로 만드는 데 도움을 주셔서 감사합니다!",
"installed_version_not_stable": "Apollo의 정식 출시 이전 버전을 실행 중입니다. 버그나 기타 문제가 발생할 수 있습니다. 문제가 발생하면 신고해 주세요. Apollo을 더 나은 소프트웨어로 만드는 데 도움을 주셔서 감사합니다!",
"loading_latest": "새로운 업데이트를 확인하는 중...",
"new_pre_release": "새로운 사전 출시 버전이 출시되었습니다!",
"new_stable": "새로운 안정 버전이 출시되었습니다!",
"startup_errors": "<b>주의!</b> 시작하는 중에 오류가 감지되었습니다. 스트리밍하기 전에 이 오류를 수정할 것을 <b>강력히 권장합니다.</b>",
"version_dirty": "Sunshine이 더 나은 소프트웨어가 될 수 있도록 도와주셔서 감사합니다!",
"version_latest": "최신 버전의 Sunshine을 실행 중입니다.",
"welcome": "반가워요, Sunshine!"
"version_dirty": "Apollo이 더 나은 소프트웨어가 될 수 있도록 도와주셔서 감사합니다!",
"version_latest": "최신 버전의 Apollo을 실행 중입니다.",
"welcome": "반가워요, Apollo!"
},
"navbar": {
"applications": "애플리케이션",
@@ -425,10 +425,10 @@
"force_close_error": "애플리케이션을 닫는 동안 오류가 발생했습니다.",
"force_close_success": "신청이 성공적으로 마감되었습니다!",
"logs": "로그",
"logs_desc": "Sunshine이 업로드한 로그 보기",
"logs_desc": "Apollo이 업로드한 로그 보기",
"logs_find": "찾기...",
"restart_sunshine": "선샤인 다시 시작",
"restart_sunshine_desc": "Sunshine이 제대로 작동하지 않는다면 다시 시작해 보세요. 그러면 실행 중인 모든 세션이 종료됩니다.",
"restart_sunshine_desc": "Apollo이 제대로 작동하지 않는다면 다시 시작해 보세요. 그러면 실행 중인 모든 세션이 종료됩니다.",
"restart_sunshine_success": "선샤인이 다시 시작됩니다.",
"troubleshooting": "문제 해결",
"unpair_all": "모두 페어링 해제",
@@ -444,7 +444,7 @@
"confirm_password": "비밀번호 확인",
"create_creds": "시작하기 전에 웹 UI에 액세스하기 위한 새 사용자 아이디와 비밀번호를 만들어야 합니다.",
"create_creds_alert": "선샤인의 웹 UI에 액세스하려면 아래 자격 증명이 필요합니다. 다시는 볼 수 없으니 안전하게 보관하세요!",
"greeting": "Sunshine에 오신 것을 환영합니다!",
"greeting": "Apollo에 오신 것을 환영합니다!",
"login": "로그인",
"welcome_success": "이 페이지는 곧 새로고침 될 것이며, 브라우저에서 다시 로그인을 해야 합니다."
}

View File

@@ -5,11 +5,13 @@
"apps": [
{
"name": "Desktop",
"image-path": "desktop.png"
"image-path": "desktop.png",
"allow-client-commands": false
},
{
"name": "Low Res Desktop",
"image-path": "desktop.png",
"allow-client-commands": false,
"prep-cmd": [
{
"do": "xrandr --output HDMI-1 --mode 1920x1080",
@@ -19,6 +21,12 @@
},
{
"name": "Steam Big Picture",
"prep-cmd": [
{
"do": "",
"undo": "setsid steam steam://close/bigpicture"
}
],
"detached": [
"setsid steam steam://open/bigpicture"
],

View File

@@ -5,10 +5,17 @@
"apps": [
{
"name": "Desktop",
"image-path": "desktop.png"
"image-path": "desktop.png",
"allow-client-commands": false
},
{
"name": "Steam Big Picture",
"prep-cmd": [
{
"do": "",
"undo": "steam://close/bigpicture"
}
],
"detached": [
"open steam://open/bigpicture"
],

View File

@@ -14,7 +14,7 @@
"prep-cmd": [
{
"do": "",
"undo": "steam:\/\/close\/bigpicture",
"undo": "steam://close/bigpicture",
"elevated": false
}
],