Merge remote-tracking branch 'origin/master'

This commit is contained in:
Yukino Song
2024-12-14 19:02:11 +08:00
24 changed files with 347 additions and 107 deletions

View File

@@ -3,8 +3,7 @@ import {ref, computed, inject} from 'vue'
import {$tp} from '../../platform-i18n'
import PlatformLayout from '../../PlatformLayout.vue'
import AdapterNameSelector from './audiovideo/AdapterNameSelector.vue'
import LegacyDisplayOutputSelector from './audiovideo/LegacyDisplayOutputSelector.vue'
import NewDisplayOutputSelector from './audiovideo/NewDisplayOutputSelector.vue'
import DisplayOutputSelector from './audiovideo/DisplayOutputSelector.vue'
import DisplayDeviceOptions from "./audiovideo/DisplayDeviceOptions.vue";
import DisplayModesSettings from "./audiovideo/DisplayModesSettings.vue";
@@ -103,7 +102,7 @@ const validateFallbackMode = (event) => {
:config="config"
/>
<LegacyDisplayOutputSelector
<DisplayOutputSelector
:platform="platform"
:config="config"
/>

View File

@@ -0,0 +1,53 @@
<script setup>
import { ref } from 'vue'
import { $tp } from '../../../platform-i18n'
import PlatformLayout from '../../../PlatformLayout.vue'
const props = defineProps([
'platform',
'config'
])
const config = ref(props.config)
const outputNamePlaceholder = (props.platform === 'windows') ? '{de9bb7e2-186e-505b-9e93-f48793333810}' : '0'
</script>
<template>
<div class="mb-3">
<label for="output_name" class="form-label">{{ $tp('config.output_name') }}</label>
<input type="text" class="form-control" id="output_name" :placeholder="outputNamePlaceholder"
v-model="config.output_name"/>
<div class="form-text">
{{ $tp('config.output_name_desc') }}<br>
<PlatformLayout :platform="platform">
<template #windows>
<pre style="white-space: pre-line;">
<b>&nbsp;&nbsp;{</b>
<b>&nbsp;&nbsp;&nbsp;&nbsp;"device_id": "{de9bb7e2-186e-505b-9e93-f48793333810}"</b>
<b>&nbsp;&nbsp;&nbsp;&nbsp;"display_name": "\\\\.\\DISPLAY1"</b>
<b>&nbsp;&nbsp;&nbsp;&nbsp;"friendly_name": "ROG PG279Q"</b>
<b>&nbsp;&nbsp;&nbsp;&nbsp;...</b>
<b>&nbsp;&nbsp;}</b>
</pre>
</template>
<template #linux>
<pre style="white-space: pre-line;">
Info: Detecting displays
Info: Detected display: DVI-D-0 (id: 0) connected: false
Info: Detected display: HDMI-0 (id: 1) connected: true
Info: Detected display: DP-0 (id: 2) connected: true
Info: Detected display: DP-1 (id: 3) connected: false
Info: Detected display: DVI-D-1 (id: 4) connected: false
</pre>
</template>
<template #macos>
<pre style="white-space: pre-line;">
Info: Detecting displays
Info: Detected display: Monitor-0 (id: 3) connected: true
Info: Detected display: Monitor-1 (id: 2) connected: true
</pre>
</template>
</PlatformLayout>
</div>
</div>
</template>

View File

@@ -1,46 +0,0 @@
<script setup>
import { ref } from 'vue'
import { $tp } from '../../../platform-i18n'
import PlatformLayout from '../../../PlatformLayout.vue'
const props = defineProps([
'platform',
'config'
])
const config = ref(props.config)
const outputNamePlaceholder = (props.platform === 'windows') ? '\\\\.\\DISPLAY1' : '0'
</script>
<template>
<div class="mb-3">
<label for="output_name" class="form-label">{{ $tp('config.output_name') }}</label>
<input type="text" class="form-control" id="output_name" :placeholder="outputNamePlaceholder"
v-model="config.output_name"/>
<div class="form-text">
{{ $tp('config.output_name_desc') }}<br>
<PlatformLayout :platform="platform">
<template #windows>
<pre>tools\dxgi-info.exe</pre>
</template>
<template #linux>
<pre style="white-space: pre-line;">
Info: Detecting displays
Info: Detected display: DVI-D-0 (id: 0) connected: false
Info: Detected display: HDMI-0 (id: 1) connected: true
Info: Detected display: DP-0 (id: 2) connected: true
Info: Detected display: DP-1 (id: 3) connected: false
Info: Detected display: DVI-D-1 (id: 4) connected: false
</pre>
</template>
<template #macos>
<pre style="white-space: pre-line;">
Info: Detecting displays
Info: Detected display: Monitor-0 (id: 3) connected: true
Info: Detected display: Monitor-1 (id: 2) connected: true
</pre>
</template>
</PlatformLayout>
</div>
</div>
</template>

View File

@@ -1,38 +0,0 @@
<script setup>
import { ref } from 'vue'
import { $tp } from '../../../platform-i18n'
import PlatformLayout from '../../../PlatformLayout.vue'
const props = defineProps([
'platform',
'config',
'displays'
])
const config = ref(props.config)
const outputNamePlaceholder = (props.platform === 'windows') ? '{de9bb7e2-186e-505b-9e93-f48793333810}' : '4531345'
</script>
<template>
<div class="mb-3">
<label for="output_name" class="form-label">{{ $tp('config.output_name') }}</label>
<input type="text" class="form-control" id="output_name" :placeholder="outputNamePlaceholder"
v-model="config.output_name"/>
<div class="form-text">
<p style="white-space: pre-line">{{ $tp('config.output_name_desc') }}</p>
<PlatformLayout :platform="platform">
<template #windows>
<b>&nbsp;&nbsp;&nbsp;&nbsp;DEVICE ID: {de9bb7e2-186e-505b-9e93-f48793333810}</b><br>
<b>&nbsp;&nbsp;&nbsp;&nbsp;DISPLAY NAME: \\.\DISPLAY1</b><br>
<b>&nbsp;&nbsp;&nbsp;&nbsp;FRIENDLY NAME: ROG PG279Q</b><br>
<b>&nbsp;&nbsp;&nbsp;&nbsp;DEVICE STATE: PRIMARY</b><br>
<b>&nbsp;&nbsp;&nbsp;&nbsp;HDR STATE: UNKNOWN</b>
</template>
<template #linux>
</template>
<template #macos>
</template>
</PlatformLayout>
</div>
</div>
</template>

View File

@@ -1,6 +1,6 @@
{
"_common": {
"apply": "Anwenden",
"apply": "Übernehmen",
"auto": "Automatisch",
"autodetect": "AutoDetection (empfohlen)",
"beta": "(Beta)",

View File

@@ -291,9 +291,9 @@
"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 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 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. The appropriate values can be found using the following command:",
"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_unix": "Display number",
"output_name_windows": "Output Name",
"output_name_windows": "Display Device Id",
"ping_timeout": "Ping Timeout",
"ping_timeout_desc": "How long to wait in milliseconds for data from moonlight before shutting down the stream",
"pkey": "Private Key",

View File

@@ -70,7 +70,7 @@
"image": "Imagem:",
"image_desc": "Caminho da aplicação icon/imagem/imagem que será enviado para o cliente. Imagem deve ser um arquivo PNG. Se não estiver definido, Apollo irá enviar a imagem da caixa padrão.",
"loading": "Carregandochar@@0",
"name": "Nome:",
"name": "Nome",
"output_desc": "O arquivo onde a saída do comando é armazenada, se não for especificado, a saída é ignorada",
"output_name": "Saída",
"run_as_desc": "Isto pode ser necessário para que alguns aplicativos que requerem permissões de administrador sejam executados corretamente.",
@@ -110,7 +110,7 @@
"amd_rc_cqp": "cqp -- modo qp constante",
"amd_rc_desc": "Isto controla o método de controle da taxa para garantir que não estamos a exceder o alvo da taxa de bits do cliente. 'cqp' não é adequado para segmentação de taxa de bits e outras opções além de 'vbr_latency' dependem da aplicação HRD para ajudar a restringir os fluxos de taxa de bits.",
"amd_rc_group": "Configurações de controle de taxa AMF",
"amd_rc_vbr_latency": "latência vbr_ency -- taxa de bits com restrição de latência",
"amd_rc_vbr_latency": "vbr_latency -- bitrate variável limitado pela latência (recomendado se o HDR estiver desabilitado; padrão)",
"amd_rc_vbr_peak": "vbr_pico -- pico de taxa de bits variável restrita",
"amd_usage": "Uso do AMF",
"amd_usage_desc": "Isso define o perfil de codificação base. Todas as opções apresentadas abaixo substituirão um subconjunto do perfil de uso, mas há configurações ocultas adicionais aplicadas que não podem ser configuradas em outro lugar.",
@@ -362,7 +362,7 @@
},
"pin": {
"device_name": "Nome do dispositivo",
"pair_failure": "Falha no pareamento: Verifique se o PIN é digitado corretamente",
"pair_failure": "Pareamento Falhou: Verifique se o PIN foi digitado corretamente",
"pair_success": "Sucesso! Por favor, verifique a Lua Lunar para continuar",
"pin_pairing": "PIN Pairing",
"send": "Mandar",

View File

@@ -140,7 +140,7 @@
"amd_usage_ultralowlatency": "ultralowlatency -- 超低延迟(最快;默认)",
"amd_usage_webcam": "webcam -- 网络摄像头(慢)",
"amd_vbaq": "AMF 基于方差的自适应量化 (VBAQ)",
"amd_vbaq_desc": "人的视觉系统通常对高成形地区的艺术品不太敏感。VBAQ 模式下,像素差异用于表示空间纹理的复杂性,使编码器能够将更多的比特分配给较平的区域。 启用此功能可提高主观视觉品质及一些内容。",
"amd_vbaq_desc": "人的视觉系统通常对高度纹理化区域中的瑕疵不太敏感。VBAQ模式下像素方差被用来指示空间纹理的复杂性,这使得编码器可以将更多的比特分配给更平滑的区域。启用这个特性可以在某些内容上提升主观视觉质量。",
"apply_note": "点击“应用”重启 Apollo 并应用更改。这将终止任何正在运行的会话。",
"audio_sink": "音频输出设备",
"audio_sink_desc_linux": "手动指定需要抓取的音频输出设备。如果您没有指定此变量PulseAudio 将选择默认监测设备。 您可以使用以下任何命令找到音频输出设备的名称:",
@@ -195,7 +195,7 @@
"follow_client_hdr_desc": "根据客户端请求自动设置串流屏幕 HDR 的开关。(不建议启用)",
"gamepad": "模拟游戏手柄类型",
"gamepad_auto": "自动选择选项",
"gamepad_desc": "选择要在主机上模拟的游戏手类型",
"gamepad_desc": "选择要在主机上模拟的游戏手类型",
"gamepad_ds4": "DS4 (PS4)",
"gamepad_ds5": "DS5 (PS5)",
"gamepad_switch": "Nintendo Pro (Switch)",