From c530532de7f532eb39278b25d9810ced2e61872a Mon Sep 17 00:00:00 2001 From: lat9nq <22451773+lat9nq@users.noreply.github.com> Date: Tue, 9 May 2023 01:36:17 -0400 Subject: [PATCH] shared_translation: Add UI widget translations --- src/yuzu/configuration/shared_translation.cpp | 128 ++++++++++-------- 1 file changed, 73 insertions(+), 55 deletions(-) diff --git a/src/yuzu/configuration/shared_translation.cpp b/src/yuzu/configuration/shared_translation.cpp index a13636af6..d38815e77 100644 --- a/src/yuzu/configuration/shared_translation.cpp +++ b/src/yuzu/configuration/shared_translation.cpp @@ -11,6 +11,7 @@ #include #include "common/settings.h" #include "yuzu/configuration/shared_translation.h" +#include "yuzu/uisettings.h" namespace ConfigurationShared { @@ -18,102 +19,105 @@ std::unique_ptr InitializeTranslations(QWidget* parent) { std::unique_ptr translations = std::make_unique(); const auto& tr = [parent](const char* text) -> QString { return parent->tr(text); }; -#define INSERT(ID, NAME, TOOLTIP) \ - translations->insert(std::pair{Settings::values.ID.Id(), std::pair{tr((NAME)), tr((TOOLTIP))}}) +#define INSERT(SETTINGS, ID, NAME, TOOLTIP) \ + translations->insert(std::pair{SETTINGS::values.ID.Id(), std::pair{tr((NAME)), tr((TOOLTIP))}}) // A setting can be ignored by giving it a blank name // Audio - INSERT(sink_id, "Output Engine:", ""); - INSERT(audio_output_device_id, "Output Device:", ""); - INSERT(audio_input_device_id, "Input Device:", ""); - INSERT(audio_muted, "Mute audio when in background", ""); - INSERT(volume, "Volume:", ""); + INSERT(Settings, sink_id, "Output Engine:", ""); + INSERT(Settings, audio_output_device_id, "Output Device:", ""); + INSERT(Settings, audio_input_device_id, "Input Device:", ""); + INSERT(Settings, audio_muted, "Mute audio when in background", ""); + INSERT(Settings, volume, "Volume:", ""); // Core - INSERT(use_multi_core, "Multicore CPU Emulation", ""); - INSERT(use_unsafe_extended_memory_layout, "Unsafe extended memory layout (8GB DRAM)", ""); + INSERT(Settings, use_multi_core, "Multicore CPU Emulation", ""); + INSERT(Settings, use_unsafe_extended_memory_layout, "Unsafe extended memory layout (8GB DRAM)", + ""); // Cpu - INSERT(cpu_accuracy, "Accuracy:", ""); - INSERT(cpu_accuracy_first_time, "", ""); + INSERT(Settings, cpu_accuracy, "Accuracy:", ""); + INSERT(Settings, cpu_accuracy_first_time, "", ""); // Cpu Debug // Cpu Unsafe - INSERT(cpuopt_unsafe_unfuse_fma, "Unfuse FMA (improve performance on CPUs without FMA)", ""); - INSERT(cpuopt_unsafe_reduce_fp_error, "Faster FRSQRTE and FRECPE", ""); - INSERT(cpuopt_unsafe_ignore_standard_fpcr, "Faster ASIMD instructions (32 bits only)", ""); - INSERT(cpuopt_unsafe_inaccurate_nan, "Inaccurate NaN handling", ""); - INSERT(cpuopt_unsafe_fastmem_check, "Disable address space checks", ""); - INSERT(cpuopt_unsafe_ignore_global_monitor, "Ignore global monitor", ""); + INSERT(Settings, cpuopt_unsafe_unfuse_fma, + "Unfuse FMA (improve performance on CPUs without FMA)", ""); + INSERT(Settings, cpuopt_unsafe_reduce_fp_error, "Faster FRSQRTE and FRECPE", ""); + INSERT(Settings, cpuopt_unsafe_ignore_standard_fpcr, "Faster ASIMD instructions (32 bits only)", + ""); + INSERT(Settings, cpuopt_unsafe_inaccurate_nan, "Inaccurate NaN handling", ""); + INSERT(Settings, cpuopt_unsafe_fastmem_check, "Disable address space checks", ""); + INSERT(Settings, cpuopt_unsafe_ignore_global_monitor, "Ignore global monitor", ""); // Renderer - INSERT(renderer_backend, "API:", ""); - INSERT(vulkan_device, "Device:", ""); - INSERT(shader_backend, "Shader Backend:", ""); - INSERT(resolution_setup, "Resolution:", ""); - INSERT(scaling_filter, "Window Adapting Filter:", ""); - INSERT(fsr_sharpening_slider, "AMD FidelityFX™ Super Resolution Sharpness:", ""); - INSERT(anti_aliasing, "Anti-Aliasing Method:", ""); - INSERT(fullscreen_mode, "Fullscreen Mode:", ""); - INSERT(aspect_ratio, "Aspect Ratio:", ""); - INSERT(use_disk_shader_cache, "Use disk pipeline cache", ""); - INSERT(use_asynchronous_gpu_emulation, "Use asynchronous GPU emulation", ""); - INSERT(nvdec_emulation, "NVDEC emulation:", ""); - INSERT(accelerate_astc, "ASTC Decoding Method:", ""); - INSERT(vsync_mode, "VSync Mode:", + INSERT(Settings, renderer_backend, "API:", ""); + INSERT(Settings, vulkan_device, "Device:", ""); + INSERT(Settings, shader_backend, "Shader Backend:", ""); + INSERT(Settings, resolution_setup, "Resolution:", ""); + INSERT(Settings, scaling_filter, "Window Adapting Filter:", ""); + INSERT(Settings, fsr_sharpening_slider, "AMD FidelityFX™ Super Resolution Sharpness:", ""); + INSERT(Settings, anti_aliasing, "Anti-Aliasing Method:", ""); + INSERT(Settings, fullscreen_mode, "Fullscreen Mode:", ""); + INSERT(Settings, aspect_ratio, "Aspect Ratio:", ""); + INSERT(Settings, use_disk_shader_cache, "Use disk pipeline cache", ""); + INSERT(Settings, use_asynchronous_gpu_emulation, "Use asynchronous GPU emulation", ""); + INSERT(Settings, nvdec_emulation, "NVDEC emulation:", ""); + INSERT(Settings, accelerate_astc, "ASTC Decoding Method:", ""); + INSERT(Settings, vsync_mode, "VSync Mode:", "FIFO (VSync) does not drop frames or exhibit tearing but is limited by the screen " "refresh rate.\nFIFO Relaxed is similar to FIFO but allows tearing as it recovers from " "a slow down.\nMailbox can have lower latency than FIFO and does not tear but may drop " "frames.\nImmediate (no synchronization) just presents whatever is available and can " "exhibit tearing."); - INSERT(bg_red, "", ""); - INSERT(bg_green, "", ""); - INSERT(bg_blue, "", ""); + INSERT(Settings, bg_red, "", ""); + INSERT(Settings, bg_green, "", ""); + INSERT(Settings, bg_blue, "", ""); // Renderer (Advanced Graphics) - INSERT(async_presentation, "Enable asynchronous presentation (Vulkan only)", ""); - INSERT(renderer_force_max_clock, "Force maximum clocks (Vulkan only)", + INSERT(Settings, async_presentation, "Enable asynchronous presentation (Vulkan only)", ""); + INSERT(Settings, renderer_force_max_clock, "Force maximum clocks (Vulkan only)", "Runs work in the background while waiting for graphics commands to keep the GPU from " "lowering its clock speed."); - INSERT(max_anisotropy, "Anisotropic Filtering:", ""); - INSERT(gpu_accuracy, "Accuracy Level:", ""); - INSERT(use_asynchronous_shaders, "Use asynchronous shader building (Hack)", + INSERT(Settings, max_anisotropy, "Anisotropic Filtering:", ""); + INSERT(Settings, gpu_accuracy, "Accuracy Level:", ""); + INSERT(Settings, use_asynchronous_shaders, "Use asynchronous shader building (Hack)", "Enables asynchronous shader compilation, which may reduce shader stutter. This feature " "is experimental."); - INSERT(use_fast_gpu_time, "Use Fast GPU Time (Hack)", + INSERT(Settings, use_fast_gpu_time, "Use Fast GPU Time (Hack)", "Enables Fast GPU Time. This option will force most games to run at their highest " "native resolution."); - INSERT(use_vulkan_driver_pipeline_cache, "Use Vulkan pipeline cache", + INSERT(Settings, use_vulkan_driver_pipeline_cache, "Use Vulkan pipeline cache", "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."); - INSERT(enable_compute_pipelines, "Enable Compute Pipelines (Intel Vulkan Only)", + INSERT(Settings, enable_compute_pipelines, "Enable Compute Pipelines (Intel Vulkan Only)", "Enable compute pipelines, required by some games.\nThis setting only exists for Intel " "proprietary drivers, and may crash if enabled.\nCompute pipelines are always enabled " "on all other drivers."); - INSERT(use_reactive_flushing, "Enable Reactive Flushing", + INSERT(Settings, use_reactive_flushing, "Enable Reactive Flushing", "Uses reactive flushing instead of predictive flushing, allowing more accurate memory " "syncing."); // Renderer (Debug) // Renderer (General) - INSERT(use_speed_limit, "Limit Speed Percent", ""); - INSERT(speed_limit, "Limit Speed Percent", ""); + INSERT(Settings, use_speed_limit, "", ""); + INSERT(Settings, speed_limit, "Limit Speed Percent", ""); // System - INSERT(rng_seed_enabled, "RNG Seed", ""); - INSERT(rng_seed, "RNG Seed", ""); - INSERT(device_name, "Device Name", ""); - INSERT(custom_rtc_enabled, "Custom RTC", ""); - INSERT(custom_rtc, "Custom RTC", ""); - INSERT(language_index, "Language:", ""); - INSERT(region_index, "Region:", ""); - INSERT(time_zone_index, "Time Zone:", ""); - INSERT(sound_index, "Sound Output Mode:", ""); - INSERT(use_docked_mode, "", ""); + INSERT(Settings, rng_seed_enabled, "RNG Seed", ""); + INSERT(Settings, rng_seed, "RNG Seed", ""); + INSERT(Settings, device_name, "Device Name", ""); + INSERT(Settings, custom_rtc_enabled, "Custom RTC", ""); + INSERT(Settings, custom_rtc, "Custom RTC", ""); + INSERT(Settings, language_index, "Language:", ""); + INSERT(Settings, region_index, "Region:", ""); + INSERT(Settings, time_zone_index, "Time Zone:", ""); + INSERT(Settings, sound_index, "Sound Output Mode:", ""); + INSERT(Settings, use_docked_mode, "", ""); // Controls @@ -127,6 +131,20 @@ std::unique_ptr InitializeTranslations(QWidget* parent) { // Web Service + // Ui + + // Ui General + INSERT(UISettings, select_user_on_boot, "Prompt for user on game boot", ""); + INSERT(UISettings, pause_when_in_background, "Pause emulation when in background", ""); + INSERT(UISettings, confirm_before_closing, "Confirm exit while emulation is running", ""); + INSERT(UISettings, hide_mouse, "Hide mouse on inactivity", ""); + + // Ui Debugging + + // Ui Multiplayer + + // Ui Games list + #undef INSERT return translations;