From 73ccd2221e73e8d78e90f8c4d13c60a1a3c949f6 Mon Sep 17 00:00:00 2001 From: Lu-jinfeng <335742390@qq.com> Date: Thu, 28 Dec 2023 14:21:08 +0800 Subject: [PATCH] Fix UI internationalization translation issue. --- dist/languages/zh_CN.ts | 2061 ++++++++++++----- src/yuzu/configuration/configure_cpu.h | 2 +- src/yuzu/configuration/configure_graphics.h | 2 +- src/yuzu/configuration/shared_translation.cpp | 11 +- src/yuzu/configuration/shared_translation.h | 21 +- src/yuzu/configuration/shared_widget.cpp | 17 +- src/yuzu/configuration/shared_widget.h | 16 +- 7 files changed, 1549 insertions(+), 581 deletions(-) diff --git a/dist/languages/zh_CN.ts b/dist/languages/zh_CN.ts index 24fc4a2588..c3e2308e55 100644 --- a/dist/languages/zh_CN.ts +++ b/dist/languages/zh_CN.ts @@ -1,4 +1,6 @@ - + + + AboutDialog @@ -21,9 +23,9 @@ <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> <html><head><meta name="qrichtext" content="1" /><style type="text/css"> p, li { white-space: pre-wrap; } -</style></head><body style=" font-family:'Ubuntu'; font-size:11pt; font-weight:400; font-style:normal;"> -<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'MS Shell Dlg 2'; font-size:12pt;">yuzu is an experimental open-source emulator for the Nintendo Switch licensed under GPLv3.0+.</span></p> -<p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:'MS Shell Dlg 2'; font-size:8pt;"><br /></p> +</style></head><body style=" font-family:'Ubuntu'; font-size:11pt; font-weight:400; font-style:normal;"> +<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'MS Shell Dlg 2'; font-size:12pt;">yuzu is an experimental open-source emulator for the Nintendo Switch licensed under GPLv3.0+.</span></p> +<p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:'MS Shell Dlg 2'; font-size:8pt;"><br /></p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'MS Shell Dlg 2'; font-size:12pt;">This software should not be used to play games you have not legally obtained.</span></p></body></html> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> <html><head><meta name="qrichtext" content="1" /><style type="text/css"> @@ -372,6 +374,865 @@ This would ban both their forum username and their IP address. % % + + Output Engine: + 输出引擎: + + + Output Device: + 输出设备: + + + Input Device: + 输入设备: + + + Mute audio + 静音 + + + Volume: + 音量: + + + Mute audio when in background + 模拟器位于后台时静音 + + + Multicore CPU Emulation + 多核 CPU 仿真 + + + Memory Layout + 内存布局 + + + Limit Speed Percent + 运行速度限制 + + + Accuracy: + 精度: + + + Backend: + 后端: + + + Unfuse FMA (improve performance on CPUs without FMA) + 低精度 FMA (在 CPU 不支持 FMA 指令集的情况下提高性能) + + + This option improves speed by reducing accuracy of fused-multiply-add instructions on CPUs without native FMA support. + 该选项通过降低积和熔加运算的精度来提高模拟器在不支持 FMA 指令集 CPU 上的运行速度。 + + + Faster FRSQRTE and FRECPE + 快速 FRSQRTE 和 FRECPE + + + This option improves the speed of some approximate floating-point functions by using less accurate native approximations. + 该选项通过使用精度较低的近似值来提高某些浮点函数的运算速度。 + + + Faster ASIMD instructions (32 bits only) + 加速 ASIMD 指令执行(仅限 32 位) + + + This option improves the speed of 32 bits ASIMD floating-point functions by running with incorrect rounding modes. + 该选项通过不正确的舍入模式来提高 32 位 ASIMD 浮点函数的运行速度。 + + + Inaccurate NaN handling + 低精度非数处理 + + + This option improves speed by removing NaN checking. Please note this also reduces accuracy of certain floating-point instructions. + 该选项通过取消非数检查来提高速度。请注意,这也会降低某些浮点指令的精确度。 + + + Disable address space checks + 禁用地址空间检查 + + + This option improves speed by eliminating a safety check before every memory read/write in guest. Disabling it may allow a game to read/write the emulator's memory. + 此选项通过取消每次模拟内存读/写前的安全检查来提高速度。禁用此选项可能会允许游戏读/写模拟器自己的内存。 + + + Ignore global monitor + 忽略全局监视器 + + + This option improves speed by relying only on the semantics of cmpxchg to ensure safety of exclusive access instructions. Please note this may result in deadlocks and other race conditions. + 此选项仅通过 cmpxchg 指令来提高速度,以确保独占访问指令的安全性。请注意,这可能会导致死锁和其他问题。 + + + API: + API: + + + Device: + 设备: + + + Shader Backend: + 着色器后端: + + + Resolution: + 分辨率: + + + Window Adapting Filter: + 窗口滤镜: + + + FSR Sharpness: + FSR 锐化度: + + + Anti-Aliasing Method: + 抗锯齿方式: + + + Fullscreen Mode: + 全屏模式: + + + Aspect Ratio: + 屏幕纵横比: + + + Use disk pipeline cache + 启用磁盘管线缓存 + + + Use asynchronous GPU emulation + 使用 GPU 异步模拟 + + + NVDEC emulation: + NVDEC 模拟方式: + + + ASTC Decoding Method: + ASTC 纹理解码方式: + + + ASTC Recompression Method: + ASTC 纹理重压缩方式: + + + VSync Mode: + 垂直同步模式: + + + FIFO (VSync) does not drop frames or exhibit tearing but is limited by the screen refresh rate. +FIFO Relaxed is similar to FIFO but allows tearing as it recovers from a slow down. +Mailbox can have lower latency than FIFO and does not tear but may drop frames. +Immediate (no synchronization) just presents whatever is available and can exhibit tearing. + FIFO (垂直同步)不会掉帧或产生画面撕裂,但受到屏幕刷新率的限制。 +FIFO Relaxed 类似于 FIFO,但允许从低 FPS 恢复时产生撕裂。 +Mailbox 具有比 FIFO 更低的延迟,不会产生撕裂但可能会掉帧。 +Immediate (无同步)只显示可用内容,并可能产生撕裂。 + + + Enable asynchronous presentation (Vulkan only) + 启用异步帧提交 (仅限 Vulkan) + + + Force maximum clocks (Vulkan only) + 强制最大时钟 (仅限 Vulkan 模式) + + + Runs work in the background while waiting for graphics commands to keep the GPU from lowering its clock speed. + 在后台运行的同时等待图形命令,以防止 GPU 降低时钟速度。 + + + Anisotropic Filtering: + 各向异性过滤: + + + Accuracy Level: + 精度: + + + Use asynchronous shader building (Hack) + 启用异步着色器构建 (不稳定) + + + Enables asynchronous shader compilation, which may reduce shader stutter. This feature is experimental. + 启用异步着色器编译,这可能会减少着色器卡顿。实验性功能。 + + + Use Fast GPU Time (Hack) + 启用快速 GPU 时钟 (不稳定) + + + Enables Fast GPU Time. This option will force most games to run at their highest native resolution. + 启用快速 GPU 时钟。此选项将强制大多数游戏以其最高分辨率运行。 + + + Use Vulkan pipeline cache + 启用 Vulkan 管线缓存 + + + Enables GPU vendor-specific pipeline cache. This option can improve shader loading time significantly in cases where the Vulkan driver does not store pipeline cache files internally. + 启用 GPU 供应商专用的管线缓存。在 Vulkan 驱动程序内部不存储管线缓存的情况下,此选项可显著提高着色器加载速度。 + + + Enable Compute Pipelines (Intel Vulkan Only) + 启用计算管线 (仅限 Intel 显卡 Vulkan 模式) + + + Enable compute pipelines, required by some games. +This setting only exists for Intel proprietary drivers, and may crash if enabled. +Compute pipelines are always enabled on all other drivers. + 启用某些游戏所需的计算管线。 +此选项仅适用于英特尔专有驱动程序。如果启用,可能会造成崩溃。 +在其他的驱动程序上将始终启用计算管线。 + + + Enable Reactive Flushing + 启用反应性刷新 + + + Uses reactive flushing instead of predictive flushing, allowing more accurate memory syncing. + 使用反应性刷新取代预测性刷新,从而更精确地同步内存。 + + + Sync to framerate of video playback + 播放视频时帧率同步 + + + Run the game at normal speed during video playback, even when the framerate is unlocked. + 在视频播放期间以正常速度运行游戏,即使帧率未锁定。 + + + Barrier feedback loops + 屏障反馈环路 + + + Improves rendering of transparency effects in specific games. + 改进某些游戏中透明效果的渲染。 + + + RNG Seed + 随机数生成器种子 + + + Device Name + 设备名称 + + + Custom RTC + 自定义系统时间 + + + Language: + 语言: + + + Note: this can be overridden when region setting is auto-select + 注意:当“地区”设置是“自动选择”时,此设置可能会被覆盖。 + + + Region: + 地区: + + + Time Zone: + 时区: + + + Sound Output Mode: + 声音输出模式: + + + Console Mode: + 控制台模式: + + + Prompt for user on game boot + 游戏启动时提示选择用户 + + + Pause emulation when in background + 模拟器位于后台时暂停模拟 + + + Confirm before stopping emulation + 停止模拟时需要确认 + + + Hide mouse on inactivity + 自动隐藏鼠标光标 + + + Disable controller applet + 禁用控制器小程序 + + + Enable Gamemode + 启用游戏模式 + + + CPU + CPU + + + GPU + GPU + + + CPU Asynchronous + CPU 异步模拟 + + + Uncompressed (Best quality) + 不压缩 (最高质量) + + + BC1 (Low quality) + BC1 (低质量) + + + BC3 (Medium quality) + BC3 (中等质量) + + + OpenGL + OpenGL + + + Vulkan + Vulkan + + + Null + + + + GLSL + GLSL + + + GLASM (Assembly Shaders, NVIDIA Only) + GLASM (汇编着色器,仅限 NVIDIA 显卡) + + + SPIR-V (Experimental, Mesa Only) + SPIR-V (实验性,仅限 Mesa) + + + Normal + 正常 + + + High + + + + Extreme + 极高 + + + Auto + 自动 + + + Accurate + 高精度 + + + Unsafe + 低精度 + + + Paranoid (disables most optimizations) + 偏执模式 (禁用绝大多数优化项) + + + Dynarmic + 动态编译 + + + NCE + 本机代码执行 + + + Borderless Windowed + 无边框窗口 + + + Exclusive Fullscreen + 独占全屏 + + + No Video Output + 无视频输出 + + + CPU Video Decoding + CPU 视频解码 + + + GPU Video Decoding (Default) + GPU 视频解码 (默认) + + + 0.5X (360p/540p) [EXPERIMENTAL] + 0.5X (360p/540p) [实验性] + + + 0.75X (540p/810p) [EXPERIMENTAL] + 0.75X (540p/810p) [实验性] + + + 1X (720p/1080p) + 1X (720p/1080p) + + + 1.5X (1080p/1620p) [EXPERIMENTAL] + 1.5X (1080p/1620p) [实验性] + + + 2X (1440p/2160p) + 2X (1440p/2160p) + + + 3X (2160p/3240p) + 3X (2160p/3240p) + + + 4X (2880p/4320p) + 4X (2880p/4320p) + + + 5X (3600p/5400p) + 5X (3600p/5400p) + + + 6X (4320p/6480p) + 6X (4320p/6480p) + + + 7X (5040p/7560p) + 7X (5040p/7560p) + + + 8X (5760p/8640p) + 8X (5760p/8640p) + + + Nearest Neighbor + 近邻取样 + + + Bilinear + 双线性过滤 + + + Bicubic + 双三线过滤 + + + Gaussian + 高斯模糊 + + + ScaleForce + 强制缩放 + + + AMD FidelityFX™️ Super Resolution + AMD FidelityFX™️ 超级分辨率锐画技术 + + + None + + + + FXAA + 快速近似抗锯齿 + + + SMAA + 子像素形态学抗锯齿 + + + Default (16:9) + 默认 (16:9) + + + Force 4:3 + 强制 4:3 + + + Force 21:9 + 强制 21:9 + + + Force 16:10 + 强制 16:10 + + + Stretch to Window + 拉伸窗口 + + + Automatic + 自动 + + + Default + 系统默认 + + + 2x + 2x + + + 4x + 4x + + + 8x + 8x + + + 16x + 16x + + + Japanese (日本語) + 日语 (日本語) + + + American English + 美式英语 + + + French (français) + 法语 (français) + + + German (Deutsch) + 德语 (Deutsch) + + + Italian (italiano) + 意大利语 (italiano) + + + Spanish (español) + 西班牙语 (español) + + + Chinese + 中文 + + + Korean (한국어) + 韩语 (한국어) + + + Dutch (Nederlands) + 荷兰语 (Nederlands) + + + Portuguese (português) + 葡萄牙语 (português) + + + Russian (Русский) + 俄语 (Русский) + + + Taiwanese + 台湾中文 + + + British English + 英式英语 + + + Canadian French + 加拿大法语 + + + Latin American Spanish + 拉美西班牙语 + + + Simplified Chinese + 简体中文 + + + Traditional Chinese (正體中文) + 繁体中文 (正體中文) + + + Brazilian Portuguese (português do Brasil) + 巴西-葡萄牙语 (português do Brasil) + + + Japan + 日本 + + + USA + 美国 + + + Europe + 欧洲 + + + Australia + 澳大利亚 + + + China + 中国 + + + Korea + 韩国 + + + Taiwan + 中国台湾 + + + Auto (%1) + Auto select time zone + 自动 (%1) + + + Default (%1) + Default time zone + 默认 (%1) + + + CET + 欧洲中部时间 + + + CST6CDT + 古巴标准时间&古巴夏令时 + + + Cuba + 古巴 + + + EET + 东欧时间 + + + Egypt + 埃及 + + + Eire + 爱尔兰 + + + EST + 东部标准时间 + + + EST5EDT + 东部标准时间&东部夏令时 + + + GB + 英国 + + + GB-Eire + 英国-爱尔兰时间 + + + GMT + 格林威治标准时间 (GMT) + + + GMT+0 + GMT+0 + + + GMT-0 + GMT-0 + + + GMT0 + GMT0 + + + Greenwich + 格林威治 + + + Hongkong + 中国香港 + + + HST + 美国夏威夷时间 + + + Iceland + 冰岛 + + + Iran + 伊朗 + + + Israel + 以色列 + + + Jamaica + 牙买加 + + + Kwajalein + 夸贾林环礁 + + + Libya + 利比亚 + + + MET + 中欧时间 + + + MST + 山区标准时间 (北美) + + + MST7MDT + 山区标准时间&山区夏令时 (北美) + + + Navajo + 纳瓦霍 + + + NZ + 新西兰时间 + + + NZ-CHAT + 新西兰-查塔姆群岛 + + + Poland + 波兰 + + + Portugal + 葡萄牙 + + + PRC + 中国标准时间 + + + PST8PDT + 太平洋标准时间&太平洋夏令时 + + + ROC + 台湾时间 + + + ROK + 韩国时间 + + + Singapore + 新加坡 + + + Turkey + 土耳其 + + + UCT + UCT + + + Universal + 世界时间 + + + UTC + 协调世界时 + + + W-SU + 欧洲-莫斯科时间 + + + WET + 西欧时间 + + + Zulu + 祖鲁 + + + Mono + 单声道 + + + Stereo + 立体声 + + + Surround + 环绕声 + + + 4GB DRAM (Default) + 4GB DRAM (默认) + + + 6GB DRAM (Unsafe) + 6GB DRAM (不安全) + + + 8GB DRAM (Unsafe) + 8GB DRAM (不安全) + + + Docked + 主机模式 + + + Handheld + 掌机模式 + + + Always ask (Default) + 总是询问 (默认) + + + Only if game specifies not to stop + 仅当游戏不希望停止时 + + + Never ask + 从不询问 + + + + ConfigurationShared::TranslationShared Output Engine: @@ -748,695 +1609,695 @@ Compute pipelines are always enabled on all other drivers. 启用游戏模式 - + CPU CPU - + GPU GPU - + CPU Asynchronous CPU 异步模拟 - + Uncompressed (Best quality) 不压缩 (最高质量) - + BC1 (Low quality) BC1 (低质量) - + BC3 (Medium quality) BC3 (中等质量) - + OpenGL OpenGL - + Vulkan Vulkan - + Null - + GLSL GLSL - + GLASM (Assembly Shaders, NVIDIA Only) GLASM (汇编着色器,仅限 NVIDIA 显卡) - + SPIR-V (Experimental, Mesa Only) SPIR-V (实验性,仅限 Mesa) - + Normal 正常 - + High - + Extreme - 极高 + - + Auto 自动 - + Accurate 高精度 - + Unsafe 低精度 - + Paranoid (disables most optimizations) 偏执模式 (禁用绝大多数优化项) - + Dynarmic 动态编译 - + NCE 本机代码执行 - + Borderless Windowed 无边框窗口 - + Exclusive Fullscreen 独占全屏 - + No Video Output 无视频输出 - + CPU Video Decoding CPU 视频解码 - + GPU Video Decoding (Default) GPU 视频解码 (默认) - + 0.5X (360p/540p) [EXPERIMENTAL] 0.5X (360p/540p) [实验性] - + 0.75X (540p/810p) [EXPERIMENTAL] 0.75X (540p/810p) [实验性] - + 1X (720p/1080p) 1X (720p/1080p) - + 1.5X (1080p/1620p) [EXPERIMENTAL] 1.5X (1080p/1620p) [实验性] - + 2X (1440p/2160p) 2X (1440p/2160p) - + 3X (2160p/3240p) 3X (2160p/3240p) - + 4X (2880p/4320p) 4X (2880p/4320p) - + 5X (3600p/5400p) 5X (3600p/5400p) - + 6X (4320p/6480p) 6X (4320p/6480p) - + 7X (5040p/7560p) 7X (5040p/7560p) - + 8X (5760p/8640p) 8X (5760p/8640p) - + Nearest Neighbor 近邻取样 - + Bilinear 双线性过滤 - + Bicubic 双三线过滤 - + Gaussian 高斯模糊 - + ScaleForce 强制缩放 - + AMD FidelityFX™️ Super Resolution AMD FidelityFX™️ 超级分辨率锐画技术 - + None - + FXAA - 快速近似抗锯齿 + - + SMAA - 子像素形态学抗锯齿 + - + Default (16:9) 默认 (16:9) - + Force 4:3 强制 4:3 - + Force 21:9 强制 21:9 - + Force 16:10 强制 16:10 - + Stretch to Window 拉伸窗口 - + Automatic 自动 - + Default 系统默认 - + 2x 2x - + 4x 4x - + 8x 8x - + 16x 16x - + Japanese (日本語) 日语 (日本語) - + American English 美式英语 - + French (français) 法语 (français) - + German (Deutsch) 德语 (Deutsch) - + Italian (italiano) 意大利语 (italiano) - + Spanish (español) 西班牙语 (español) - + Chinese 中文 - + Korean (한국어) 韩语 (한국어) - + Dutch (Nederlands) 荷兰语 (Nederlands) - + Portuguese (português) 葡萄牙语 (português) - + Russian (Русский) 俄语 (Русский) - + Taiwanese 台湾中文 - + British English 英式英语 - + Canadian French 加拿大法语 - + Latin American Spanish 拉美西班牙语 - + Simplified Chinese 简体中文 - + Traditional Chinese (正體中文) 繁体中文 (正體中文) - + Brazilian Portuguese (português do Brasil) 巴西-葡萄牙语 (português do Brasil) - - + + Japan 日本 - + USA 美国 - + Europe 欧洲 - + Australia 澳大利亚 - + China 中国 - + Korea 韩国 - + Taiwan 中国台湾 - + Auto (%1) Auto select time zone 自动 (%1) - + Default (%1) Default time zone 默认 (%1) - + CET 欧洲中部时间 - + CST6CDT 古巴标准时间&古巴夏令时 - + Cuba 古巴 - + EET 东欧时间 - + Egypt 埃及 - + Eire 爱尔兰 - + EST 东部标准时间 - + EST5EDT 东部标准时间&东部夏令时 - + GB 英国 - + GB-Eire 英国-爱尔兰时间 - + GMT 格林威治标准时间 (GMT) - + GMT+0 GMT+0 - + GMT-0 GMT-0 - + GMT0 GMT0 - + Greenwich 格林威治 - + Hongkong 中国香港 - + HST 美国夏威夷时间 - + Iceland 冰岛 - + Iran 伊朗 - + Israel 以色列 - + Jamaica 牙买加 - + Kwajalein 夸贾林环礁 - + Libya 利比亚 - + MET 中欧时间 - + MST 山区标准时间 (北美) - + MST7MDT 山区标准时间&山区夏令时 (北美) - + Navajo 纳瓦霍 - + NZ 新西兰时间 - + NZ-CHAT 新西兰-查塔姆群岛 - + Poland 波兰 - + Portugal 葡萄牙 - + PRC 中国标准时间 - + PST8PDT 太平洋标准时间&太平洋夏令时 - + ROC 台湾时间 - + ROK 韩国时间 - + Singapore 新加坡 - + Turkey 土耳其 - + UCT UCT - + Universal 世界时间 - + UTC 协调世界时 - + W-SU 欧洲-莫斯科时间 - + WET 西欧时间 - + Zulu 祖鲁 - + Mono 单声道 - + Stereo 立体声 - + Surround 环绕声 - + 4GB DRAM (Default) 4GB DRAM (默认) - + 6GB DRAM (Unsafe) 6GB DRAM (不安全) - + 8GB DRAM (Unsafe) 8GB DRAM (不安全) - + Docked 主机模式 - + Handheld 掌机模式 - + Always ask (Default) 总是询问 (默认) - + Only if game specifies not to stop 仅当游戏不希望停止时 - + Never ask 从不询问 @@ -1679,7 +2540,7 @@ Compute pipelines are always enabled on all other drivers. <div style="white-space: nowrap">This optimization speeds up memory accesses by the guest program.</div> - <div style="white-space: nowrap">Enabling it causes guest memory reads/writes to be done directly into memory and make use of Host's MMU.</div> + <div style="white-space: nowrap">Enabling it causes guest memory reads/writes to be done directly into memory and make use of Host's MMU.</div> <div style="white-space: nowrap">Disabling this forces all memory accesses to use Software MMU Emulation.</div> @@ -1697,7 +2558,7 @@ Compute pipelines are always enabled on all other drivers. <div style="white-space: nowrap">This optimization speeds up exclusive memory accesses by the guest program.</div> - <div style="white-space: nowrap">Enabling it causes guest exclusive memory reads/writes to be done directly into memory and make use of Host's MMU.</div> + <div style="white-space: nowrap">Enabling it causes guest exclusive memory reads/writes to be done directly into memory and make use of Host's MMU.</div> <div style="white-space: nowrap">Disabling this forces all exclusive memory accesses to use Software MMU Emulation.</div> @@ -1731,7 +2592,7 @@ Compute pipelines are always enabled on all other drivers. <div style="white-space: nowrap">This optimization speeds up memory accesses by allowing invalid memory accesses to succeed.</div> - <div style="white-space: nowrap">Enabling it reduces the overhead of all memory accesses and has no impact on programs that don't access invalid memory.</div> + <div style="white-space: nowrap">Enabling it reduces the overhead of all memory accesses and has no impact on programs that don't access invalid memory.</div> <div style="white-space: nowrap">此选项允许无效内存的访问从而提高内存访问速度。</div> @@ -1898,8 +2759,12 @@ Compute pipelines are always enabled on all other drivers. + <html><head/><body><p>When checked, disables reordering of mapped memory uploads which allows to associate uploads with specific draws. May reduce performance in some cases.</p></body></html> + + + <html><head/><body><p>When checked, disables reording of mapped memory uploads which allows to associate uploads with specific draws. May reduce performance in some cases.</p></body></html> - <html><head/><body><p>选中时,禁用映射内存上载的重新排序,从而允许将上载与特定绘图关联起来。某些情况下可能会降低性能。</p></body></html> + <html><head/><body><p>选中时,禁用映射内存上载的重新排序,从而允许将上载与特定绘图关联起来。某些情况下可能会降低性能。</p></body></html> @@ -2315,33 +3180,33 @@ Compute pipelines are always enabled on all other drivers. 背景颜色: - + % FSR sharpening percentage (e.g. 50%) % - + Off 关闭 - + VSync Off 垂直同步关 - + Recommended 推荐 - + On 开启 - + VSync On 垂直同步开 @@ -4825,14 +5690,12 @@ Drag points to change position, or double-click table cells to edit values. GMainWindow - <a href='https://yuzu-emu.org/help/feature/telemetry/'>Anonymous data is collected</a> to help improve yuzu. <br/><br/>Would you like to share your usage data with us? - <a href='https://yuzu-emu.org/help/feature/telemetry/'>我们收集匿名数据</a>来帮助改进 yuzu 。<br/><br/>您愿意和我们分享您的使用数据吗? + <a href='https://yuzu-emu.org/help/feature/telemetry/'>我们收集匿名数据</a>来帮助改进 yuzu 。<br/><br/>您愿意和我们分享您的使用数据吗? - Telemetry - 使用数据共享 + 使用数据共享 @@ -4851,783 +5714,791 @@ Drag points to change position, or double-click table cells to edit values.游戏正在运行 - + Loading Web Applet... 正在加载 Web 小程序... - - + + Disable Web Applet 禁用 Web 小程序 - + Disabling the web applet can lead to undefined behavior and should only be used with Super Mario 3D All-Stars. Are you sure you want to disable the web applet? (This can be re-enabled in the Debug settings.) 禁用 Web 小程序可能会发生未知的行为,且只能在《超级马里奥 3D 全明星》中使用。您确定要禁用 Web 小程序吗? (您可以在调试选项中重新启用它。) - + The amount of shaders currently being built 当前正在构建的着色器数量 - + The current selected resolution scaling multiplier. 当前选定的分辨率缩放比例。 - + Current emulation speed. Values higher or lower than 100% indicate emulation is running faster or slower than a Switch. 当前的模拟速度。高于或低于 100% 的值表示运行速度比实际的 Switch 更快或更慢。 - + How many frames per second the game is currently displaying. This will vary from game to game and scene to scene. 游戏当前运行的帧率。这将因游戏和场景的不同而有所变化。 - + Time taken to emulate a Switch frame, not counting framelimiting or v-sync. For full-speed emulation this should be at most 16.67 ms. 在不计算速度限制和垂直同步的情况下,模拟一个 Switch 帧的实际时间。若要进行全速模拟,这个数值不应超过 16.67 毫秒。 - + Unmute 取消静音 - + Mute 静音 - + Reset Volume 重置音量 - + &Clear Recent Files 清除最近文件 (&C) - + &Continue 继续 (&C) - + &Pause 暂停 (&P) - + Warning Outdated Game Format 过时游戏格式警告 - + You are using the deconstructed ROM directory format for this game, which is an outdated format that has been superseded by others such as NCA, NAX, XCI, or NSP. Deconstructed ROM directories lack icons, metadata, and update support.<br><br>For an explanation of the various Switch formats yuzu supports, <a href='https://yuzu-emu.org/wiki/overview-of-switch-game-formats'>check out our wiki</a>. This message will not be shown again. 目前使用的游戏为解体的 ROM 目录格式,这是一种过时的格式,已被其他格式替代,如 NCA,NAX,XCI 或 NSP。解体的 ROM 目录缺少图标、元数据和更新支持。<br><br>有关 yuzu 支持的各种 Switch 格式的说明,<a href='https://yuzu-emu.org/wiki/overview-of-switch-game-formats'>请查看我们的 wiki</a>。此消息将不会再次出现。 - - + + Error while loading ROM! 加载 ROM 时出错! - + The ROM format is not supported. 该 ROM 格式不受支持。 - + An error occurred initializing the video core. 初始化视频核心时发生错误 - + yuzu has encountered an error while running the video core. This is usually caused by outdated GPU drivers, including integrated ones. Please see the log for more details. For more information on accessing the log, please see the following page: <a href='https://yuzu-emu.org/help/reference/log-files/'>How to Upload the Log File</a>. yuzu 在运行视频核心时发生错误。这可能是由 GPU 驱动程序过旧造成的。有关详细信息,请参阅日志文件。关于日志文件的更多信息,请参考以下页面:<a href='https://yuzu-emu.org/help/reference/log-files/'>如何上传日志文件</a>。 - + Error while loading ROM! %1 %1 signifies a numeric error code. 加载 ROM 时出错! %1 - + %1<br>Please follow <a href='https://yuzu-emu.org/help/quickstart/'>the yuzu quickstart guide</a> to redump your files.<br>You can refer to the yuzu wiki</a> or the yuzu Discord</a> for help. %1 signifies an error string. %1<br>请参考<a href='https://yuzu-emu.org/help/quickstart/'>yuzu 快速导航</a>以获取相关文件。<br>您可以参考 yuzu 的 wiki 页面</a>或 Discord 社区</a>以获得帮助。 - + An unknown error occurred. Please see the log for more details. 发生了未知错误。请查看日志了解详情。 - + (64-bit) (64-bit) - + (32-bit) (32-bit) - + %1 %2 %1 is the title name. %2 indicates if the title is 64-bit or 32-bit %1 %2 - + Closing software... 正在关闭… - + Save Data 保存数据 - + Mod Data Mod 数据 - + Error Opening %1 Folder 打开 %1 文件夹时出错 - - + + Folder does not exist! 文件夹不存在! - + Error Opening Transferable Shader Cache 打开可转移着色器缓存时出错 - + Failed to create the shader cache directory for this title. 为该游戏创建着色器缓存目录时失败。 - + Error Removing Contents 删除内容时出错 - + Error Removing Update 删除更新时出错 - + Error Removing DLC 删除 DLC 时出错 - + Remove Installed Game Contents? 删除已安装的游戏内容? - + Remove Installed Game Update? 删除已安装的游戏更新? - + Remove Installed Game DLC? 删除已安装的游戏 DLC 内容? - + Remove Entry 删除项目 - - - - - - + + + + + + Successfully Removed 删除成功 - + Successfully removed the installed base game. 成功删除已安装的游戏。 - + The base game is not installed in the NAND and cannot be removed. 该游戏未安装于 NAND 中,无法删除。 - + Successfully removed the installed update. 成功删除已安装的游戏更新。 - + There is no update installed for this title. 这个游戏没有任何已安装的更新。 - + There are no DLC installed for this title. 这个游戏没有任何已安装的 DLC 。 - + Successfully removed %1 installed DLC. 成功删除游戏 %1 安装的 DLC 。 - + Delete OpenGL Transferable Shader Cache? 删除 OpenGL 模式的着色器缓存? - + Delete Vulkan Transferable Shader Cache? 删除 Vulkan 模式的着色器缓存? - + Delete All Transferable Shader Caches? 删除所有的着色器缓存? - + Remove Custom Game Configuration? 移除自定义游戏设置? - + Remove Cache Storage? 移除缓存? - + Remove File 删除文件 - + Remove Play Time Data 清除游玩时间 - + Reset play time? 重置游玩时间? - - + + Error Removing Transferable Shader Cache 删除着色器缓存时出错 - - + + A shader cache for this title does not exist. 这个游戏的着色器缓存不存在。 - + Successfully removed the transferable shader cache. 成功删除着色器缓存。 - + Failed to remove the transferable shader cache. 删除着色器缓存失败。 - + Error Removing Vulkan Driver Pipeline Cache 删除 Vulkan 驱动程序管线缓存时出错 - + Failed to remove the driver pipeline cache. 删除驱动程序管线缓存失败。 - - + + Error Removing Transferable Shader Caches 删除着色器缓存时出错 - + Successfully removed the transferable shader caches. 着色器缓存删除成功。 - + Failed to remove the transferable shader cache directory. 删除着色器缓存目录失败。 - - + + Error Removing Custom Configuration 移除自定义游戏设置时出错 - + A custom configuration for this title does not exist. 这个游戏的自定义设置不存在。 - + Successfully removed the custom game configuration. 成功移除自定义游戏设置。 - + Failed to remove the custom game configuration. 移除自定义游戏设置失败。 - - + + RomFS Extraction Failed! RomFS 提取失败! - + There was an error copying the RomFS files or the user cancelled the operation. 复制 RomFS 文件时出错,或用户取消了操作。 - + Full 完整 - + Skeleton 框架 - + Select RomFS Dump Mode 选择 RomFS 转储模式 - + Please select the how you would like the RomFS dumped.<br>Full will copy all of the files into the new directory while <br>skeleton will only create the directory structure. 请选择 RomFS 转储的方式。<br>“完整” 会将所有文件复制到新目录中,而<br>“框架” 只会创建目录结构。 - + There is not enough free space at %1 to extract the RomFS. Please free up space or select a different dump directory at Emulation > Configure > System > Filesystem > Dump Root %1 没有足够的空间用于提取 RomFS。请保持足够的空间或于模拟—>设置—>系统—>文件系统—>转储根目录中选择一个其他目录。 - + Extracting RomFS... 正在提取 RomFS... - - - - + + + + Cancel 取消 - + RomFS Extraction Succeeded! RomFS 提取成功! - - - + + + The operation completed successfully. 操作成功完成。 - + Integrity verification couldn't be performed! 无法执行完整性验证! - + File contents were not checked for validity. 未检查文件的完整性。 - - + + Integrity verification failed! 完整性验证失败! - + File contents may be corrupt. 文件可能已经损坏。 - - + + Verifying integrity... 正在验证完整性... - - + + Integrity verification succeeded! 完整性验证成功! - + + - - + Create Shortcut 创建快捷方式 - + Do you want to launch the game in fullscreen? 您想以全屏模式启动游戏吗? - + Successfully created a shortcut to %1 %1 的快捷方式创建成功 - + This will create a shortcut to the current AppImage. This may not work well if you update. Continue? 这将为当前的游戏创建快捷方式。但在其更新后,快捷方式可能无法正常工作。是否继续? - + Failed to create a shortcut to %1 %1 的快捷方式创建失败 - + Create Icon 创建图标 - + Cannot create icon file. Path "%1" does not exist and cannot be created. 无法创建图标文件。路径“ %1 ”不存在且无法被创建。 - + Error Opening %1 打开 %1 时出错 - + Select Directory 选择目录 - + Properties 属性 - + The game properties could not be loaded. 无法加载该游戏的属性信息。 - + Switch Executable (%1);;All Files (*.*) %1 is an identifier for the Switch executable file extensions. Switch 可执行文件 (%1);;所有文件 (*.*) - + Load File 加载文件 - + Open Extracted ROM Directory 打开提取的 ROM 目录 - + Invalid Directory Selected 选择的目录无效 - + The directory you have selected does not contain a 'main' file. 选择的目录不包含 “main” 文件。 - + Installable Switch File (*.nca *.nsp *.xci);;Nintendo Content Archive (*.nca);;Nintendo Submission Package (*.nsp);;NX Cartridge Image (*.xci) 可安装 Switch 文件 (*.nca *.nsp *.xci);;任天堂内容档案 (*.nca);;任天堂应用包 (*.nsp);;NX 卡带镜像 (*.xci) - + Install Files 安装文件 - + %n file(s) remaining - 剩余 %n 个文件 + + 剩余 %n 个文件 + - + Installing file "%1"... 正在安装文件 "%1"... - - + + Install Results 安装结果 - + To avoid possible conflicts, we discourage users from installing base games to the NAND. Please, only use this feature to install updates and DLC. 为了避免可能存在的冲突,我们不建议将游戏本体安装到 NAND 中。 此功能仅用于安装游戏更新和 DLC 。 - + %n file(s) were newly installed - 最近安装了 %n 个文件 - + + 最近安装了 %n 个文件 + + - + %n file(s) were overwritten - %n 个文件被覆盖 - + + %n 个文件被覆盖 + + - + %n file(s) failed to install - %n 个文件安装失败 - + + %n 个文件安装失败 + + - + System Application 系统应用 - + System Archive 系统档案 - + System Application Update 系统应用更新 - + Firmware Package (Type A) 固件包 (A型) - + Firmware Package (Type B) 固件包 (B型) - + Game 游戏 - + Game Update 游戏更新 - + Game DLC 游戏 DLC - + Delta Title 差量程序 - + Select NCA Install Type... 选择 NCA 安装类型... - + Please select the type of title you would like to install this NCA as: (In most instances, the default 'Game' is fine.) 请选择此 NCA 的程序类型: (在大多数情况下,选择默认的“游戏”即可。) - + Failed to Install 安装失败 - + The title type you selected for the NCA is invalid. 选择的 NCA 程序类型无效。 - + File not found 找不到文件 - + File "%1" not found 文件 "%1" 未找到 - + OK 确定 - - + + Hardware requirements not met 硬件不满足要求 - - + + Your system does not meet the recommended hardware requirements. Compatibility reporting has been disabled. 您的系统不满足运行 yuzu 的推荐配置。兼容性报告已被禁用。 - + Missing yuzu Account 未设置 yuzu 账户 - + In order to submit a game compatibility test case, you must link your yuzu account.<br><br/>To link your yuzu account, go to Emulation &gt; Configuration &gt; Web. 要提交游戏兼容性测试用例,您必须设置您的 yuzu 帐户。<br><br/>要设置您的 yuzu 帐户,请转到模拟 &gt; 设置 &gt; 网络。 - + Error opening URL 打开 URL 时出错 - + Unable to open the URL "%1". 无法打开 URL : "%1" 。 - + TAS Recording TAS 录制中 - + Overwrite file of player 1? 覆盖玩家 1 的文件? - + Invalid config detected 检测到无效配置 - + Handheld controller can't be used on docked mode. Pro controller will be selected. 掌机手柄无法在主机模式中使用。将会选择 Pro controller。 - - + + Amiibo Amiibo - - + + The current amiibo has been removed 当前的 Amiibo 已被移除。 - + Error 错误 - - + + The current game is not looking for amiibos 当前游戏并没有在寻找 Amiibos - + Amiibo File (%1);; All Files (*.*) Amiibo 文件 (%1);; 全部文件 (*.*) - + Load Amiibo 加载 Amiibo - + Error loading Amiibo data 加载 Amiibo 数据时出错 - + The selected file is not a valid amiibo 选择的文件并不是有效的 amiibo - + The selected file is already on use 选择的文件已在使用中 - + An unknown error occurred 发生了未知错误 - + Verification failed for the following files: %1 @@ -5636,193 +6507,195 @@ Please, only use this feature to install updates and DLC. %1 - - - - + + + + No firmware available 无可用固件 - + Please install the firmware to use the Album applet. 请安装固件以使用相册小程序。 - + Album Applet 相册小程序 - + Album applet is not available. Please reinstall firmware. 相册小程序不可用。请重新安装固件。 - + Please install the firmware to use the Cabinet applet. 请安装固件以使用 Cabinet 小程序。 - + Cabinet Applet Cabinet 小程序 - + Cabinet applet is not available. Please reinstall firmware. Cabinet 小程序不可用。请重新安装固件。 - + Please install the firmware to use the Mii editor. 请安装固件以使用 Mii editor。 - + Mii Edit Applet Mii Edit 小程序 - + Mii editor is not available. Please reinstall firmware. Mii editor 不可用。请重新安装固件。 - + Please install the firmware to use the Controller Menu. 请安装固件以使用控制器菜单。 - + Controller Applet 控制器小程序 - + Controller Menu is not available. Please reinstall firmware. 控制器菜单不可用。请重新安装固件。 - + Capture Screenshot 捕获截图 - + PNG Image (*.png) PNG 图像 (*.png) - + TAS state: Running %1/%2 TAS 状态:正在运行 %1/%2 - + TAS state: Recording %1 TAS 状态:正在录制 %1 - + TAS state: Idle %1/%2 TAS 状态:空闲 %1/%2 - + TAS State: Invalid TAS 状态:无效 - + &Stop Running 停止运行 (&S) - + &Start 开始 (&S) - + Stop R&ecording 停止录制 (&E) - + R&ecord 录制 (&E) - + Building: %n shader(s) - 正在编译 %n 个着色器文件 + + 正在编译 %n 个着色器文件 + - + Scale: %1x %1 is the resolution scaling factor 缩放比例: %1x - + Speed: %1% / %2% 速度: %1% / %2% - + Speed: %1% 速度: %1% - + Game: %1 FPS (Unlocked) FPS: %1 (未锁定) - + Game: %1 FPS FPS: %1 - + Frame: %1 ms 帧延迟: %1 毫秒 - + %1 %2 %1 %2 - - + + FSR FSR - + NO AA 抗锯齿关 - + VOLUME: MUTE 音量: 静音 - + VOLUME: %1% Volume percentage (e.g. 50%) 音量: %1% - + Confirm Key Rederivation 确认重新生成密钥 - + You are about to force rederive all of your keys. If you do not know what this means or what you are doing, this is a potentially destructive action. @@ -5838,37 +6711,37 @@ This will delete your autogenerated key files and re-run the key derivation modu 这将删除您自动生成的密钥文件并重新运行密钥生成模块。 - + Missing fuses 项目丢失 - + - Missing BOOT0 - 丢失 BOOT0 - + - Missing BCPKG2-1-Normal-Main - 丢失 BCPKG2-1-Normal-Main - + - Missing PRODINFO - 丢失 PRODINFO - + Derivation Components Missing 组件丢失 - + Encryption keys are missing. <br>Please follow <a href='https://yuzu-emu.org/help/quickstart/'>the yuzu quickstart guide</a> to get all your keys, firmware and games.<br><br><small>(%1)</small> 密钥缺失。<br>请查看<a href='https://yuzu-emu.org/help/quickstart/'>yuzu 快速导航</a>以获得你的密钥、固件和游戏。<br><br><small>(%1)</small> - + Deriving keys... This may take up to a minute depending on your system's performance. @@ -5877,49 +6750,49 @@ on your system's performance. 您的系统性能。 - + Deriving Keys 生成密钥 - + System Archive Decryption Failed 系统固件解密失败 - + Encryption keys failed to decrypt firmware. <br>Please follow <a href='https://yuzu-emu.org/help/quickstart/'>the yuzu quickstart guide</a> to get all your keys, firmware and games. 当前密钥无法解密系统固件。<br>请查看<a href='https://yuzu-emu.org/help/quickstart/'>yuzu 快速导航</a>以获得你的密钥、固件和游戏。 - + Select RomFS Dump Target 选择 RomFS 转储目标 - + Please select which RomFS you would like to dump. 请选择希望转储的 RomFS。 - + Are you sure you want to close yuzu? 您确定要关闭 yuzu 吗? - - - + + + yuzu yuzu - + Are you sure you want to stop the emulation? Any unsaved progress will be lost. 您确定要停止模拟吗?未保存的进度将会丢失。 - + The currently running application has requested yuzu to not exit. Would you like to bypass this and exit anyway? @@ -5928,97 +6801,97 @@ Would you like to bypass this and exit anyway? 您希望忽略并退出吗? - + None - + FXAA FXAA - + SMAA SMAA - + Nearest 邻近取样 - + Bilinear 双线性过滤 - + Bicubic 双三线过滤 - + Gaussian 高斯模糊 - + ScaleForce 强制缩放 - + Docked 主机模式 - + Handheld 掌机模式 - + Normal 正常 - + High - + Extreme Extreme - + Vulkan Vulkan - + OpenGL OpenGL - + Null - + GLSL GLSL - + GLASM GLASM - + SPIRV SPIRV @@ -6333,7 +7206,9 @@ Would you like to bypass this and exit anyway? %1 of %n result(s) - %1 / %n 个结果 + + %1 / %n 个结果 + @@ -6432,11 +7307,12 @@ Debug Message: Hotkeys - + Audio Mute/Unmute 开启/关闭静音 + @@ -6459,117 +7335,116 @@ Debug Message: - Main Window 主窗口 - + Audio Volume Down 调低音量 - + Audio Volume Up 调高音量 - + Capture Screenshot 捕获截图 - + Change Adapting Filter 更改窗口滤镜 - + Change Docked Mode 更改主机运行模式 - + Change GPU Accuracy 更改 GPU 精度 - + Continue/Pause Emulation 继续/暂停模拟 - + Exit Fullscreen 退出全屏 - + Exit yuzu 退出 yuzu - + Fullscreen 全屏 - + Load File 加载文件 - + Load/Remove Amiibo 加载/移除 Amiibo - + Restart Emulation 重新启动模拟 - + Stop Emulation 停止模拟 - + TAS Record TAS 录制 - + TAS Reset 重置 TAS - + TAS Start/Stop TAS 开始/停止 - + Toggle Filter Bar 切换搜索栏 - + Toggle Framerate Limit 切换帧率限制 - + Toggle Mouse Panning 切换鼠标平移 - + Toggle Renderdoc Capture 切换到 Renderdoc 捕获截图 - + Toggle Status Bar 切换状态栏 @@ -6601,7 +7476,7 @@ Debug Message: LimitableInputDialog - The text can't contain any of the following characters: + The text can't contain any of the following characters: %1 文本中不能包含以下字符: %1 @@ -7126,6 +8001,125 @@ Debug Message: NetworkMessage + + Username is not valid. Must be 4 to 20 alphanumeric characters. + 用户名无效。必须是 4 - 20 个数字和英文字符。 + + + Room name is not valid. Must be 4 to 20 alphanumeric characters. + 房间名称无效。必须是 4 - 20 个数字和英文字符。 + + + Username is already in use or not valid. Please choose another. + 用户名无效或已被他人使用。请选择其他的用户名。 + + + IP is not a valid IPv4 address. + 此 IP 不是有效的 IPv4 地址。 + + + Port must be a number between 0 to 65535. + 端口号必须位于 0 至 65535 之间。 + + + You must choose a Preferred Game to host a room. If you do not have any games in your game list yet, add a game folder by clicking on the plus icon in the game list. + 创建房间需要确定首选游戏。如果您的游戏列表中没有任何游戏,请单击游戏列表的加号图标添加游戏文件夹。 + + + Unable to find an internet connection. Check your internet settings. + 找不到网络连接。请检查您的网络设置。 + + + Unable to connect to the host. Verify that the connection settings are correct. If you still cannot connect, contact the room host and verify that the host is properly configured with the external port forwarded. + 无法连接到服务器。请验证连接是否正确无误。如果仍然无法连接,请联系房主,并验证服务器是否正确配置了外部端口。 + + + Unable to connect to the room because it is already full. + 无法连接到该房间,因为该房间已满员。 + + + Creating a room failed. Please retry. Restarting yuzu might be necessary. + 房间创建失败。请重试并重新启动 yuzu。 + + + The host of the room has banned you. Speak with the host to unban you or try a different room. + 此房间的主人已将您封禁。请联系房主进行解封或选择其他房间。 + + + Version mismatch! Please update to the latest version of yuzu. If the problem persists, contact the room host and ask them to update the server. + 版本过低!请更新 yuzu 至最新版本。如果问题仍然存在,请联系告知房主更新服务器。 + + + Incorrect password. + 密码错误。 + + + An unknown error occurred. If this error continues to occur, please open an issue + 发生未知错误。如果此错误依然存在,请及时反馈问题。 + + + Connection to room lost. Try to reconnect. + 与房间的连接丢失。请尝试重新连接。 + + + You have been kicked by the room host. + 您已被房主踢出房间。 + + + IP address is already in use. Please choose another. + 此 IP 地址已在使用中。请选择其他地址。 + + + You do not have enough permission to perform this action. + 您没有足够的权限执行此操作。 + + + The user you are trying to kick/ban could not be found. +They may have left the room. + 找不到您试图踢出房间/封禁的用户。 +他们可能已经离开了房间。 + + + No valid network interface is selected. +Please go to Configure -> System -> Network and make a selection. + 未选择有效的网络接口。 +请于设置 -> 系统 -> 网络中进行相关设置。 + + + + Game already running + 游戏正在运行中 + + + + Joining a room when the game is already running is discouraged and can cause the room feature not to work correctly. +Proceed anyway? + 不推荐游戏正在运行时加入房间,这可能会导致房间的某些功能出现异常。 +是否继续? + + + + Leave Room + 离开房间 + + + + You are about to close the room. Any network connections will be closed. + 您正要关闭房间。所有的网络连接都将关闭。 + + + + Disconnect + 断开连接 + + + + You are about to leave the room. Any network connections will be closed. + 您正要离开房间。所有的网络连接都将关闭。 + + + + NetworkMessage::ErrorManager Username is not valid. Must be 4 to 20 alphanumeric characters. @@ -7230,41 +8224,6 @@ Please go to Configure -> System -> Network and make a selection. 未选择有效的网络接口。 请于设置 -> 系统 -> 网络中进行相关设置。 - - - Game already running - 游戏正在运行中 - - - - Joining a room when the game is already running is discouraged and can cause the room feature not to work correctly. -Proceed anyway? - 不推荐游戏正在运行时加入房间,这可能会导致房间的某些功能出现异常。 -是否继续? - - - - Leave Room - 离开房间 - - - - You are about to close the room. Any network connections will be closed. - 您正要关闭房间。所有的网络连接都将关闭。 - - - - Disconnect - 断开连接 - - - - You are about to leave the room. Any network connections will be closed. - 您正要离开房间。所有的网络连接都将关闭。 - - - - NetworkMessage::ErrorManager Error @@ -7295,7 +8254,7 @@ Proceed anyway? <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> <html><head><meta name="qrichtext" content="1" /><style type="text/css"> p, li { white-space: pre-wrap; } -</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:18pt; font-weight:400; font-style:normal;"> +</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:18pt; font-weight:400; font-style:normal;"> <p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><br /></p></body></html> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> <html><head><meta name="qrichtext" content="1" /><style type="text/css"> @@ -7355,32 +8314,32 @@ p, li { white-space: pre-wrap; } 收藏 - - + + Shift Shift - - + + Ctrl Ctrl - - + + Alt Alt - - - + + + [not set] [未设置] @@ -7390,15 +8349,15 @@ p, li { white-space: pre-wrap; } 方向键 %1 %2 - - - - - + + + + + Axis %1%2 轴 %1%2 @@ -7408,167 +8367,167 @@ p, li { white-space: pre-wrap; } 按键 %1 - - - - + + + + [unknown] [未知] - + Left - + Right - + Down - + Up - + Z Z - + R R - + L L - + A A - + B B - + X X - + Y Y - + Start 开始 - + L1 L1 - + L2 L2 - + L3 L3 - + R1 R1 - + R2 R2 - + R3 R3 - + Circle - + Cross - + Square - + Triangle Δ - + Share 分享 - + Options 选项 - + [undefined] [未指定] @@ -7578,8 +8537,8 @@ p, li { white-space: pre-wrap; } %1%2 - + [invalid] [无效] @@ -7590,22 +8549,22 @@ p, li { white-space: pre-wrap; } %1%2Hat 控制器 %3 + - %1%2Axis %3 %1%2轴 %3 - + %1%2Axis %3,%4,%5 %1%2轴 %3,%4,%5 - + %1%2Motion %3 %1%2体感 %3 @@ -7616,8 +8575,8 @@ p, li { white-space: pre-wrap; } %1%2按键 %3 - + [unused] [未使用] @@ -8135,7 +9094,7 @@ Please try again or contact the developer of the software. QtProfileSelectionDialog - + %1 %2 %1 is the profile username, %2 is the formatted UUID (e.g. 00112233-4455-6677-8899-AABBCCDDEEFF)) @@ -8143,78 +9102,78 @@ Please try again or contact the developer of the software. %2 - + Users 用户 - + Profile Creator 创建用户 - - + + Profile Selector 选择用户 - + Profile Icon Editor 修改用户图像 - + Profile Nickname Editor 修改用户昵称 - + Who will receive the points? 谁将获得黄金点数? - + Who is using Nintendo eShop? 谁正在使用任天堂 eShop? - + Who is making this purchase? 是谁购买了这个? - + Who is posting? 谁在发帖? - + Select a user to link to a Nintendo Account. 选择要链接到任天堂账户的用户。 - + Change settings for which user? 要更改哪个用户的设置? - + Format data for which user? 要为哪个用户格式化数据? - + Which user will be transferred to another console? 哪个用户将被转移到另一个控制台? - + Send save data for which user? 要为哪个用户发送保存数据? - + Select a user: 选择一个用户: @@ -8236,7 +9195,7 @@ Please try again or contact the developer of the software. <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> <html><head><meta name="qrichtext" content="1" /><style type="text/css"> p, li { white-space: pre-wrap; } -</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:26pt; font-weight:400; font-style:normal;"> +</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:26pt; font-weight:400; font-style:normal;"> <p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><br /></p></body></html> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> <html><head><meta name="qrichtext" content="1" /><style type="text/css"> @@ -8404,4 +9363,4 @@ p, li { white-space: pre-wrap; } 等待树 (&W) - \ No newline at end of file + diff --git a/src/yuzu/configuration/configure_cpu.h b/src/yuzu/configuration/configure_cpu.h index a102b4c1f9..d16789b154 100644 --- a/src/yuzu/configuration/configure_cpu.h +++ b/src/yuzu/configuration/configure_cpu.h @@ -45,7 +45,7 @@ private: const Core::System& system; - const ConfigurationShared::ComboboxTranslationMap& combobox_translations; + const ConfigurationShared::TranslationShared::ComboboxTranslationMap& combobox_translations; std::vector> apply_funcs{}; QComboBox* accuracy_combobox; diff --git a/src/yuzu/configuration/configure_graphics.h b/src/yuzu/configuration/configure_graphics.h index 5c8286836a..6c0be23837 100644 --- a/src/yuzu/configuration/configure_graphics.h +++ b/src/yuzu/configuration/configure_graphics.h @@ -97,7 +97,7 @@ private: const std::function update_aspect_ratio; const Core::System& system; - const ConfigurationShared::ComboboxTranslationMap& combobox_translations; + const ConfigurationShared::TranslationShared::ComboboxTranslationMap& combobox_translations; const std::vector>& shader_mapping; QPushButton* api_restore_global_button; diff --git a/src/yuzu/configuration/shared_translation.cpp b/src/yuzu/configuration/shared_translation.cpp index 7e908924c4..9c65e197c5 100644 --- a/src/yuzu/configuration/shared_translation.cpp +++ b/src/yuzu/configuration/shared_translation.cpp @@ -17,9 +17,9 @@ namespace ConfigurationShared { -std::unique_ptr InitializeTranslations(QWidget* parent) { +std::unique_ptr TranslationShared::InitializeTranslations( + QWidget* parent) { std::unique_ptr translations = std::make_unique(); - const auto& tr = [parent](const char* text) -> QString { return parent->tr(text); }; #define INSERT(SETTINGS, ID, NAME, TOOLTIP) \ translations->insert(std::pair{SETTINGS::values.ID.Id(), std::pair{(NAME), (TOOLTIP)}}) @@ -190,13 +190,10 @@ std::unique_ptr InitializeTranslations(QWidget* parent) { return translations; } - -std::unique_ptr ComboboxEnumeration(QWidget* parent) { +std::unique_ptr TranslationShared::ComboboxEnumeration( + QWidget* parent) { std::unique_ptr translations = std::make_unique(); - const auto& tr = [&](const char* text, const char* context = "") { - return parent->tr(text, context); - }; #define PAIR(ENUM, VALUE, TRANSLATION) {static_cast(Settings::ENUM::VALUE), (TRANSLATION)} diff --git a/src/yuzu/configuration/shared_translation.h b/src/yuzu/configuration/shared_translation.h index d5fc3b8def..a1c754f97b 100644 --- a/src/yuzu/configuration/shared_translation.h +++ b/src/yuzu/configuration/shared_translation.h @@ -9,19 +9,13 @@ #include #include #include +#include #include "common/common_types.h" #include "common/settings.h" class QWidget; namespace ConfigurationShared { -using TranslationMap = std::map>; -using ComboboxTranslations = std::vector>; -using ComboboxTranslationMap = std::map; - -std::unique_ptr InitializeTranslations(QWidget* parent); - -std::unique_ptr ComboboxEnumeration(QWidget* parent); static const std::map anti_aliasing_texts_map = { {Settings::AntiAliasing::None, QStringLiteral(QT_TRANSLATE_NOOP("GMainWindow", "None"))}, @@ -66,3 +60,16 @@ static const std::map shader_backend_texts_map }; } // namespace ConfigurationShared +namespace ConfigurationShared { +class TranslationShared : public QObject { + Q_OBJECT +public: + using TranslationMap = std::map>; + using ComboboxTranslations = std::vector>; + using ComboboxTranslationMap = std::map; + static std::unique_ptr InitializeTranslations( + QWidget* parent); + static std::unique_ptr ComboboxEnumeration( + QWidget* parent); +}; +} // namespace ConfigurationShared \ No newline at end of file diff --git a/src/yuzu/configuration/shared_widget.cpp b/src/yuzu/configuration/shared_widget.cpp index 941683a437..2b5762dd8d 100644 --- a/src/yuzu/configuration/shared_widget.cpp +++ b/src/yuzu/configuration/shared_widget.cpp @@ -132,7 +132,7 @@ QWidget* Widget::CreateCombobox(std::function& serializer, combobox = new QComboBox(this); combobox->setSizePolicy(QSizePolicy::Expanding, QSizePolicy::Preferred); - const ComboboxTranslations* enumeration{nullptr}; + const TranslationShared::ComboboxTranslations* enumeration{nullptr}; if (combobox_enumerations.contains(type)) { enumeration = &combobox_enumerations.at(type); for (const auto& [id, name] : *enumeration) { @@ -182,7 +182,7 @@ QWidget* Widget::CreateRadioGroup(std::function& serializer, layout->setContentsMargins(0, 0, 0, 0); group->setSizePolicy(QSizePolicy::Expanding, QSizePolicy::Preferred); - const ComboboxTranslations* enumeration{nullptr}; + const TranslationShared::ComboboxTranslations* enumeration{nullptr}; if (combobox_enumerations.contains(type)) { enumeration = &combobox_enumerations.at(type); for (const auto& [id, name] : *enumeration) { @@ -710,8 +710,10 @@ bool Widget::Valid() const { Widget::~Widget() = default; -Widget::Widget(Settings::BasicSetting* setting_, const TranslationMap& translations_, - const ComboboxTranslationMap& combobox_translations_, QWidget* parent_, +Widget::Widget(Settings::BasicSetting* setting_, + const TranslationShared::TranslationMap& translations_, + const TranslationShared::ComboboxTranslationMap& combobox_translations_, + QWidget* parent_, bool runtime_lock_, std::vector>& apply_funcs_, RequestType request, bool managed, float multiplier, Settings::BasicSetting* other_setting, const QString& suffix) @@ -765,8 +767,9 @@ Widget::Widget(Settings::BasicSetting* setting_, const TranslationMap& translati } Builder::Builder(QWidget* parent_, bool runtime_lock_) - : translations{InitializeTranslations(parent_)}, - combobox_translations{ComboboxEnumeration(parent_)}, parent{parent_}, runtime_lock{ + : translations{TranslationShared::InitializeTranslations(parent_)}, + combobox_translations{TranslationShared::ComboboxEnumeration(parent_)}, parent{parent_}, + runtime_lock{ runtime_lock_} {} Builder::~Builder() = default; @@ -795,7 +798,7 @@ Widget* Builder::BuildWidget(Settings::BasicSetting* setting, return BuildWidget(setting, apply_funcs, request, true, 1.0f, other_setting, suffix); } -const ComboboxTranslationMap& Builder::ComboboxTranslations() const { +const TranslationShared::ComboboxTranslationMap& Builder::ComboboxTranslations() const { return *combobox_translations; } diff --git a/src/yuzu/configuration/shared_widget.h b/src/yuzu/configuration/shared_widget.h index 226284cf36..51909105f0 100644 --- a/src/yuzu/configuration/shared_widget.h +++ b/src/yuzu/configuration/shared_widget.h @@ -67,8 +67,10 @@ public: * @param other_setting Second setting to modify, to replace the label with a checkbox * @param suffix Set to specify formats for Slider feedback labels or SpinBox */ - explicit Widget(Settings::BasicSetting* setting, const TranslationMap& translations, - const ComboboxTranslationMap& combobox_translations, QWidget* parent, + explicit Widget(Settings::BasicSetting* setting, + const TranslationShared::TranslationMap& translations, + const TranslationShared::ComboboxTranslationMap& combobox_translations, + QWidget* parent, bool runtime_lock, std::vector>& apply_funcs_, RequestType request = RequestType::Default, bool managed = true, float multiplier = default_multiplier, @@ -138,8 +140,8 @@ private: const std::function& touch); QWidget* parent; - const TranslationMap& translations; - const ComboboxTranslationMap& combobox_enumerations; + const TranslationShared::TranslationMap& translations; + const TranslationShared::ComboboxTranslationMap& combobox_enumerations; Settings::BasicSetting& setting; std::vector>& apply_funcs; @@ -165,11 +167,11 @@ public: RequestType request = RequestType::Default, const QString& suffix = default_suffix) const; - const ComboboxTranslationMap& ComboboxTranslations() const; + const TranslationShared::ComboboxTranslationMap& ComboboxTranslations() const; private: - std::unique_ptr translations; - std::unique_ptr combobox_translations; + std::unique_ptr translations; + std::unique_ptr combobox_translations; QWidget* parent; const bool runtime_lock;