diff options
| author | 2024-02-13 08:17:32 -0500 | |
|---|---|---|
| committer | 2024-02-13 08:17:32 -0500 | |
| commit | 85fd2bcb829bc38b3f3df47c22efeb155811d5b4 (patch) | |
| tree | 1342501b583275b098ece3aa560d6d689ea5ffa0 /src | |
| parent | Merge pull request #12756 from liamwhite/applet-multiprocess-hwc (diff) | |
| parent | shared_translation: Add tooltips for general settings (diff) | |
| download | yuzu-85fd2bcb829bc38b3f3df47c22efeb155811d5b4.tar.gz yuzu-85fd2bcb829bc38b3f3df47c22efeb155811d5b4.tar.xz yuzu-85fd2bcb829bc38b3f3df47c22efeb155811d5b4.zip | |
Merge pull request #12941 from FearlessTobi/setting-tooltips
shared_translation: Add tooltips for yuzu settings
Diffstat (limited to 'src')
| -rw-r--r-- | src/yuzu/configuration/shared_translation.cpp | 158 |
1 files changed, 117 insertions, 41 deletions
diff --git a/src/yuzu/configuration/shared_translation.cpp b/src/yuzu/configuration/shared_translation.cpp index ce65b2bf1..d138b53c8 100644 --- a/src/yuzu/configuration/shared_translation.cpp +++ b/src/yuzu/configuration/shared_translation.cpp | |||
| @@ -54,13 +54,28 @@ std::unique_ptr<TranslationMap> InitializeTranslations(QWidget* parent) { | |||
| 54 | QStringLiteral()); | 54 | QStringLiteral()); |
| 55 | 55 | ||
| 56 | // Core | 56 | // Core |
| 57 | INSERT(Settings, use_multi_core, tr("Multicore CPU Emulation"), QStringLiteral()); | 57 | INSERT( |
| 58 | INSERT(Settings, memory_layout_mode, tr("Memory Layout"), QStringLiteral()); | 58 | Settings, use_multi_core, tr("Multicore CPU Emulation"), |
| 59 | tr("This option increases CPU emulation thread use from 1 to the Switch’s maximum of 4.\n" | ||
| 60 | "This is mainly a debug option and shouldn’t be disabled.")); | ||
| 61 | INSERT( | ||
| 62 | Settings, memory_layout_mode, tr("Memory Layout"), | ||
| 63 | tr("Increases the amount of emulated RAM from the stock 4GB of the retail Switch to the " | ||
| 64 | "developer kit's 8/6GB.\nIt’s doesn’t improve stability or performance and is intended " | ||
| 65 | "to let big texture mods fit in emulated RAM.\nEnabling it will increase memory " | ||
| 66 | "use. It is not recommended to enable unless a specific game with a texture mod needs " | ||
| 67 | "it.")); | ||
| 59 | INSERT(Settings, use_speed_limit, QStringLiteral(), QStringLiteral()); | 68 | INSERT(Settings, use_speed_limit, QStringLiteral(), QStringLiteral()); |
| 60 | INSERT(Settings, speed_limit, tr("Limit Speed Percent"), QStringLiteral()); | 69 | INSERT(Settings, speed_limit, tr("Limit Speed Percent"), |
| 70 | tr("Controls the game's maximum rendering speed, but it’s up to each game if it runs " | ||
| 71 | "faster or not.\n200% for a 30 FPS game is 60 FPS, and for a " | ||
| 72 | "60 FPS game it will be 120 FPS.\nDisabling it means unlocking the framerate to the " | ||
| 73 | "maximum your PC can reach.")); | ||
| 61 | 74 | ||
| 62 | // Cpu | 75 | // Cpu |
| 63 | INSERT(Settings, cpu_accuracy, tr("Accuracy:"), QStringLiteral()); | 76 | INSERT(Settings, cpu_accuracy, tr("Accuracy:"), |
| 77 | tr("This setting controls the accuracy of the emulated CPU.\nDon't change this unless " | ||
| 78 | "you know what you are doing.")); | ||
| 64 | INSERT(Settings, cpu_backend, tr("Backend:"), QStringLiteral()); | 79 | INSERT(Settings, cpu_backend, tr("Backend:"), QStringLiteral()); |
| 65 | 80 | ||
| 66 | // Cpu Debug | 81 | // Cpu Debug |
| @@ -80,34 +95,75 @@ std::unique_ptr<TranslationMap> InitializeTranslations(QWidget* parent) { | |||
| 80 | tr("This option improves the speed of 32 bits ASIMD floating-point functions by running " | 95 | tr("This option improves the speed of 32 bits ASIMD floating-point functions by running " |
| 81 | "with incorrect rounding modes.")); | 96 | "with incorrect rounding modes.")); |
| 82 | INSERT(Settings, cpuopt_unsafe_inaccurate_nan, tr("Inaccurate NaN handling"), | 97 | INSERT(Settings, cpuopt_unsafe_inaccurate_nan, tr("Inaccurate NaN handling"), |
| 83 | tr("This option improves speed by removing NaN checking. Please note this also reduces " | 98 | tr("This option improves speed by removing NaN checking.\nPlease note this also reduces " |
| 84 | "accuracy of certain floating-point instructions.")); | 99 | "accuracy of certain floating-point instructions.")); |
| 85 | INSERT(Settings, cpuopt_unsafe_fastmem_check, tr("Disable address space checks"), | 100 | INSERT(Settings, cpuopt_unsafe_fastmem_check, tr("Disable address space checks"), |
| 86 | tr("This option improves speed by eliminating a safety check before every memory " | 101 | tr("This option improves speed by eliminating a safety check before every memory " |
| 87 | "read/write " | 102 | "read/write in guest.\nDisabling it may allow a game to read/write the emulator's " |
| 88 | "in guest. Disabling it may allow a game to read/write the emulator's memory.")); | 103 | "memory.")); |
| 89 | INSERT( | 104 | INSERT( |
| 90 | Settings, cpuopt_unsafe_ignore_global_monitor, tr("Ignore global monitor"), | 105 | Settings, cpuopt_unsafe_ignore_global_monitor, tr("Ignore global monitor"), |
| 91 | tr("This option improves speed by relying only on the semantics of cmpxchg to ensure " | 106 | tr("This option improves speed by relying only on the semantics of cmpxchg to ensure " |
| 92 | "safety of exclusive access instructions. Please note this may result in deadlocks and " | 107 | "safety of exclusive access instructions.\nPlease note this may result in deadlocks and " |
| 93 | "other race conditions.")); | 108 | "other race conditions.")); |
| 94 | 109 | ||
| 95 | // Renderer | 110 | // Renderer |
| 96 | INSERT(Settings, renderer_backend, tr("API:"), QStringLiteral()); | 111 | INSERT( |
| 97 | INSERT(Settings, vulkan_device, tr("Device:"), QStringLiteral()); | 112 | Settings, renderer_backend, tr("API:"), |
| 98 | INSERT(Settings, shader_backend, tr("Shader Backend:"), QStringLiteral()); | 113 | tr("Switches between the available graphics APIs.\nVulkan is recommended in most cases.")); |
| 99 | INSERT(Settings, resolution_setup, tr("Resolution:"), QStringLiteral()); | 114 | INSERT(Settings, vulkan_device, tr("Device:"), |
| 115 | tr("This setting selects the GPU to use with the Vulkan backend.")); | ||
| 116 | INSERT(Settings, shader_backend, tr("Shader Backend:"), | ||
| 117 | tr("The shader backend to use for the OpenGL renderer.\nGLSL is the fastest in " | ||
| 118 | "performance and the best in rendering accuracy.\n" | ||
| 119 | "GLASM is a deprecated NVIDIA-only backend that offers much better shader building " | ||
| 120 | "performance at the cost of FPS and rendering accuracy.\n" | ||
| 121 | "SPIR-V compiles the fastest, but yields poor results on most GPU drivers.")); | ||
| 122 | INSERT(Settings, resolution_setup, tr("Resolution:"), | ||
| 123 | tr("Forces the game to render at a different resolution.\nHigher resolutions require " | ||
| 124 | "much more VRAM and bandwidth.\n" | ||
| 125 | "Options lower than 1X can cause rendering issues.")); | ||
| 100 | INSERT(Settings, scaling_filter, tr("Window Adapting Filter:"), QStringLiteral()); | 126 | INSERT(Settings, scaling_filter, tr("Window Adapting Filter:"), QStringLiteral()); |
| 101 | INSERT(Settings, fsr_sharpening_slider, tr("FSR Sharpness:"), QStringLiteral()); | 127 | INSERT(Settings, fsr_sharpening_slider, tr("FSR Sharpness:"), |
| 102 | INSERT(Settings, anti_aliasing, tr("Anti-Aliasing Method:"), QStringLiteral()); | 128 | tr("Determines how sharpened the image will look while using FSR’s dynamic contrast.")); |
| 103 | INSERT(Settings, fullscreen_mode, tr("Fullscreen Mode:"), QStringLiteral()); | 129 | INSERT(Settings, anti_aliasing, tr("Anti-Aliasing Method:"), |
| 104 | INSERT(Settings, aspect_ratio, tr("Aspect Ratio:"), QStringLiteral()); | 130 | tr("The anti-aliasing method to use.\nSMAA offers the best quality.\nFXAA has a " |
| 105 | INSERT(Settings, use_disk_shader_cache, tr("Use disk pipeline cache"), QStringLiteral()); | 131 | "lower performance impact and can produce a better and more stable picture under " |
| 106 | INSERT(Settings, use_asynchronous_gpu_emulation, tr("Use asynchronous GPU emulation"), | 132 | "very low resolutions.")); |
| 107 | QStringLiteral()); | 133 | INSERT(Settings, fullscreen_mode, tr("Fullscreen Mode:"), |
| 108 | INSERT(Settings, nvdec_emulation, tr("NVDEC emulation:"), QStringLiteral()); | 134 | tr("The method used to render the window in fullscreen.\nBorderless offers the best " |
| 109 | INSERT(Settings, accelerate_astc, tr("ASTC Decoding Method:"), QStringLiteral()); | 135 | "compatibility with the on-screen keyboard that some games request for " |
| 110 | INSERT(Settings, astc_recompression, tr("ASTC Recompression Method:"), QStringLiteral()); | 136 | "input.\nExclusive " |
| 137 | "fullscreen may offer better performance and better Freesync/Gsync support.")); | ||
| 138 | INSERT(Settings, aspect_ratio, tr("Aspect Ratio:"), | ||
| 139 | tr("Stretches the game to fit the specified aspect ratio.\nSwitch games only support " | ||
| 140 | "16:9, so custom game mods are required to get other ratios.\nAlso controls the " | ||
| 141 | "aspect ratio of captured screenshots.")); | ||
| 142 | INSERT(Settings, use_disk_shader_cache, tr("Use disk pipeline cache"), | ||
| 143 | tr("Allows saving shaders to storage for faster loading on following game " | ||
| 144 | "boots.\nDisabling " | ||
| 145 | "it is only intended for debugging.")); | ||
| 146 | INSERT( | ||
| 147 | Settings, use_asynchronous_gpu_emulation, tr("Use asynchronous GPU emulation"), | ||
| 148 | tr("Uses an extra CPU thread for rendering.\nThis option should always remain enabled.")); | ||
| 149 | INSERT(Settings, nvdec_emulation, tr("NVDEC emulation:"), | ||
| 150 | tr("Specifies how videos should be decoded.\nIt can either use the CPU or the GPU for " | ||
| 151 | "decoding, or perform no decoding at all (black screen on videos).\n" | ||
| 152 | "In most cases, GPU decoding provides the best performance.")); | ||
| 153 | INSERT(Settings, accelerate_astc, tr("ASTC Decoding Method:"), | ||
| 154 | tr("This option controls how ASTC textures should be decoded.\n" | ||
| 155 | "CPU: Use the CPU for decoding, slowest but safest method.\n" | ||
| 156 | "GPU: Use the GPU's compute shaders to decode ASTC textures, recommended for most " | ||
| 157 | "games and users.\n" | ||
| 158 | "CPU Asynchronously: Use the CPU to decode ASTC textures as they arrive. Completely " | ||
| 159 | "eliminates ASTC decoding\nstuttering at the cost of rendering issues while the " | ||
| 160 | "texture is being decoded.")); | ||
| 161 | INSERT( | ||
| 162 | Settings, astc_recompression, tr("ASTC Recompression Method:"), | ||
| 163 | tr("Almost all desktop and laptop dedicated GPUs lack support for ASTC textures, forcing " | ||
| 164 | "the emulator to decompress to an intermediate format any card supports, RGBA8.\n" | ||
| 165 | "This option recompresses RGBA8 to either the BC1 or BC3 format, saving VRAM but " | ||
| 166 | "negatively affecting image quality.")); | ||
| 111 | INSERT( | 167 | INSERT( |
| 112 | Settings, vsync_mode, tr("VSync Mode:"), | 168 | Settings, vsync_mode, tr("VSync Mode:"), |
| 113 | tr("FIFO (VSync) does not drop frames or exhibit tearing but is limited by the screen " | 169 | tr("FIFO (VSync) does not drop frames or exhibit tearing but is limited by the screen " |
| @@ -121,22 +177,29 @@ std::unique_ptr<TranslationMap> InitializeTranslations(QWidget* parent) { | |||
| 121 | 177 | ||
| 122 | // Renderer (Advanced Graphics) | 178 | // Renderer (Advanced Graphics) |
| 123 | INSERT(Settings, async_presentation, tr("Enable asynchronous presentation (Vulkan only)"), | 179 | INSERT(Settings, async_presentation, tr("Enable asynchronous presentation (Vulkan only)"), |
| 124 | QStringLiteral()); | 180 | tr("Slightly improves performance by moving presentation to a separate CPU thread.")); |
| 125 | INSERT( | 181 | INSERT( |
| 126 | Settings, renderer_force_max_clock, tr("Force maximum clocks (Vulkan only)"), | 182 | Settings, renderer_force_max_clock, tr("Force maximum clocks (Vulkan only)"), |
| 127 | tr("Runs work in the background while waiting for graphics commands to keep the GPU from " | 183 | tr("Runs work in the background while waiting for graphics commands to keep the GPU from " |
| 128 | "lowering its clock speed.")); | 184 | "lowering its clock speed.")); |
| 129 | INSERT(Settings, max_anisotropy, tr("Anisotropic Filtering:"), QStringLiteral()); | 185 | INSERT(Settings, max_anisotropy, tr("Anisotropic Filtering:"), |
| 130 | INSERT(Settings, gpu_accuracy, tr("Accuracy Level:"), QStringLiteral()); | 186 | tr("Controls the quality of texture rendering at oblique angles.\nIt’s a light setting " |
| 131 | INSERT( | 187 | "and safe to set at 16x on most GPUs.")); |
| 132 | Settings, use_asynchronous_shaders, tr("Use asynchronous shader building (Hack)"), | 188 | INSERT(Settings, gpu_accuracy, tr("Accuracy Level:"), |
| 133 | tr("Enables asynchronous shader compilation, which may reduce shader stutter. This feature " | 189 | tr("GPU emulation accuracy.\nMost games render fine with Normal, but High is still " |
| 134 | "is experimental.")); | 190 | "required for some.\nParticles tend to only render correctly with High " |
| 191 | "accuracy.\nExtreme should only be used for debugging.\nThis option can " | ||
| 192 | "be changed while playing.\nSome games may require booting on high to render " | ||
| 193 | "properly.")); | ||
| 194 | INSERT(Settings, use_asynchronous_shaders, tr("Use asynchronous shader building (Hack)"), | ||
| 195 | tr("Enables asynchronous shader compilation, which may reduce shader stutter.\nThis " | ||
| 196 | "feature " | ||
| 197 | "is experimental.")); | ||
| 135 | INSERT(Settings, use_fast_gpu_time, tr("Use Fast GPU Time (Hack)"), | 198 | INSERT(Settings, use_fast_gpu_time, tr("Use Fast GPU Time (Hack)"), |
| 136 | tr("Enables Fast GPU Time. This option will force most games to run at their highest " | 199 | tr("Enables Fast GPU Time. This option will force most games to run at their highest " |
| 137 | "native resolution.")); | 200 | "native resolution.")); |
| 138 | INSERT(Settings, use_vulkan_driver_pipeline_cache, tr("Use Vulkan pipeline cache"), | 201 | INSERT(Settings, use_vulkan_driver_pipeline_cache, tr("Use Vulkan pipeline cache"), |
| 139 | tr("Enables GPU vendor-specific pipeline cache. This option can improve shader loading " | 202 | tr("Enables GPU vendor-specific pipeline cache.\nThis option can improve shader loading " |
| 140 | "time significantly in cases where the Vulkan driver does not store pipeline cache " | 203 | "time significantly in cases where the Vulkan driver does not store pipeline cache " |
| 141 | "files internally.")); | 204 | "files internally.")); |
| 142 | INSERT( | 205 | INSERT( |
| @@ -157,19 +220,27 @@ std::unique_ptr<TranslationMap> InitializeTranslations(QWidget* parent) { | |||
| 157 | // Renderer (Debug) | 220 | // Renderer (Debug) |
| 158 | 221 | ||
| 159 | // System | 222 | // System |
| 160 | INSERT(Settings, rng_seed, tr("RNG Seed"), QStringLiteral()); | 223 | INSERT(Settings, rng_seed, tr("RNG Seed"), |
| 224 | tr("Controls the seed of the random number generator.\nMainly used for speedrunning " | ||
| 225 | "purposes.")); | ||
| 161 | INSERT(Settings, rng_seed_enabled, QStringLiteral(), QStringLiteral()); | 226 | INSERT(Settings, rng_seed_enabled, QStringLiteral(), QStringLiteral()); |
| 162 | INSERT(Settings, device_name, tr("Device Name"), QStringLiteral()); | 227 | INSERT(Settings, device_name, tr("Device Name"), tr("The name of the emulated Switch.")); |
| 163 | INSERT(Settings, custom_rtc, tr("Custom RTC Date:"), QStringLiteral()); | 228 | INSERT(Settings, custom_rtc, tr("Custom RTC Date:"), |
| 229 | tr("This option allows to change the emulated clock of the Switch.\n" | ||
| 230 | "Can be used to manipulate time in games.")); | ||
| 164 | INSERT(Settings, custom_rtc_enabled, QStringLiteral(), QStringLiteral()); | 231 | INSERT(Settings, custom_rtc_enabled, QStringLiteral(), QStringLiteral()); |
| 165 | INSERT(Settings, custom_rtc_offset, QStringLiteral(" "), | 232 | INSERT(Settings, custom_rtc_offset, QStringLiteral(" "), |
| 166 | QStringLiteral("The number of seconds from the current unix time")); | 233 | QStringLiteral("The number of seconds from the current unix time")); |
| 167 | INSERT(Settings, language_index, tr("Language:"), | 234 | INSERT(Settings, language_index, tr("Language:"), |
| 168 | tr("Note: this can be overridden when region setting is auto-select")); | 235 | tr("Note: this can be overridden when region setting is auto-select")); |
| 169 | INSERT(Settings, region_index, tr("Region:"), QStringLiteral()); | 236 | INSERT(Settings, region_index, tr("Region:"), tr("The region of the emulated Switch.")); |
| 170 | INSERT(Settings, time_zone_index, tr("Time Zone:"), QStringLiteral()); | 237 | INSERT(Settings, time_zone_index, tr("Time Zone:"), |
| 238 | tr("The time zone of the emulated Switch.")); | ||
| 171 | INSERT(Settings, sound_index, tr("Sound Output Mode:"), QStringLiteral()); | 239 | INSERT(Settings, sound_index, tr("Sound Output Mode:"), QStringLiteral()); |
| 172 | INSERT(Settings, use_docked_mode, tr("Console Mode:"), QStringLiteral()); | 240 | INSERT(Settings, use_docked_mode, tr("Console Mode:"), |
| 241 | tr("Selects if the console is emulated in Docked or Handheld mode.\nGames will change " | ||
| 242 | "their resolution, details and supported controllers and depending on this setting.\n" | ||
| 243 | "Setting to Handheld can help improve performance for low end systems.")); | ||
| 173 | INSERT(Settings, current_user, QStringLiteral(), QStringLiteral()); | 244 | INSERT(Settings, current_user, QStringLiteral(), QStringLiteral()); |
| 174 | 245 | ||
| 175 | // Controls | 246 | // Controls |
| @@ -187,14 +258,19 @@ std::unique_ptr<TranslationMap> InitializeTranslations(QWidget* parent) { | |||
| 187 | // Ui | 258 | // Ui |
| 188 | 259 | ||
| 189 | // Ui General | 260 | // Ui General |
| 190 | INSERT(UISettings, select_user_on_boot, tr("Prompt for user on game boot"), QStringLiteral()); | 261 | INSERT(UISettings, select_user_on_boot, tr("Prompt for user on game boot"), |
| 262 | tr("Ask to select a user profile on each boot, useful if multiple people use yuzu on " | ||
| 263 | "the same PC.")); | ||
| 191 | INSERT(UISettings, pause_when_in_background, tr("Pause emulation when in background"), | 264 | INSERT(UISettings, pause_when_in_background, tr("Pause emulation when in background"), |
| 192 | QStringLiteral()); | 265 | tr("This setting pauses yuzu when focusing other windows.")); |
| 193 | INSERT(UISettings, confirm_before_stopping, tr("Confirm before stopping emulation"), | 266 | INSERT(UISettings, confirm_before_stopping, tr("Confirm before stopping emulation"), |
| 194 | QStringLiteral()); | 267 | tr("This setting overrides game prompts asking to confirm stopping the game.\nEnabling " |
| 195 | INSERT(UISettings, hide_mouse, tr("Hide mouse on inactivity"), QStringLiteral()); | 268 | "it bypasses such prompts and directly exits the emulation.")); |
| 269 | INSERT(UISettings, hide_mouse, tr("Hide mouse on inactivity"), | ||
| 270 | tr("This setting hides the mouse after 2.5s of inactivity.")); | ||
| 196 | INSERT(UISettings, controller_applet_disabled, tr("Disable controller applet"), | 271 | INSERT(UISettings, controller_applet_disabled, tr("Disable controller applet"), |
| 197 | QStringLiteral()); | 272 | tr("Forcibly disables the use of the controller applet by guests.\nWhen a guest " |
| 273 | "attempts to open the controller applet, it is immediately closed.")); | ||
| 198 | 274 | ||
| 199 | // Linux | 275 | // Linux |
| 200 | INSERT(Settings, enable_gamemode, tr("Enable Gamemode"), QStringLiteral()); | 276 | INSERT(Settings, enable_gamemode, tr("Enable Gamemode"), QStringLiteral()); |