diff options
231 files changed, 27742 insertions, 15593 deletions
diff --git a/CMakeLists.txt b/CMakeLists.txt index 61510cc0f..a810e11c2 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -131,7 +131,7 @@ add_definitions(-DBOOST_ASIO_DISABLE_CONCEPTS) if (MSVC) add_compile_options($<$<COMPILE_LANGUAGE:CXX>:/std:c++latest>) - # cubeb and boost still make use of deprecated result_of. + # boost still makes use of deprecated result_of. add_definitions(-D_HAS_DEPRECATED_RESULT_OF) else() set(CMAKE_CXX_STANDARD 20) @@ -370,7 +370,7 @@ if (ENABLE_SDL2) if (YUZU_USE_BUNDLED_SDL2) # Detect toolchain and platform if ((MSVC_VERSION GREATER_EQUAL 1920 AND MSVC_VERSION LESS 1940) AND ARCHITECTURE_x86_64) - set(SDL2_VER "SDL2-2.0.16") + set(SDL2_VER "SDL2-2.0.18") else() message(FATAL_ERROR "No bundled SDL2 binaries for your toolchain. Disable YUZU_USE_BUNDLED_SDL2 and provide your own.") endif() @@ -390,7 +390,7 @@ if (ENABLE_SDL2) elseif (YUZU_USE_EXTERNAL_SDL2) message(STATUS "Using SDL2 from externals.") else() - find_package(SDL2 2.0.16 REQUIRED) + find_package(SDL2 2.0.18 REQUIRED) # Some installations don't set SDL2_LIBRARIES if("${SDL2_LIBRARIES}" STREQUAL "") @@ -17,7 +17,7 @@ It is written in C++ with portability in mind, and we actively maintain builds f alt="Azure Mainline CI Build Status"> </a> <a href="https://discord.com/invite/u77vRWY"> - <img src="https://img.shields.io/discord/398318088170242053?color=%237289DA&label=yuzu&logo=discord&logoColor=white" + <img src="https://img.shields.io/discord/398318088170242053?color=5865F2&label=yuzu&logo=discord&logoColor=white" alt="Discord"> </a> </p> diff --git a/dist/languages/ca.ts b/dist/languages/ca.ts index 9b58c6661..8ba93205d 100644 --- a/dist/languages/ca.ts +++ b/dist/languages/ca.ts @@ -656,7 +656,12 @@ p, li {white-space: pre-wrap; } <translation type="unfinished"/> </message> <message> - <location filename="../../src/yuzu/configuration/configure_debug.ui" line="212"/> + <location filename="../../src/yuzu/configuration/configure_debug.ui" line="204"/> + <source>Enable all Controller Types</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_debug.ui" line="219"/> <source>**This will be reset automatically when yuzu closes.</source> <translation type="unfinished"/> </message> @@ -936,67 +941,78 @@ p, li {white-space: pre-wrap; } <translation>General</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_general.ui" line="35"/> - <source>Framerate Cap</source> + <location filename="../../src/yuzu/configuration/configure_general.ui" line="50"/> + <location filename="../../src/yuzu/configuration/configure_general.ui" line="57"/> + <source>Use global framerate cap</source> <translation type="unfinished"/> </message> <message> - <location filename="../../src/yuzu/configuration/configure_general.ui" line="38"/> + <location filename="../../src/yuzu/configuration/configure_general.ui" line="62"/> + <source>Set framerate cap:</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_general.ui" line="70"/> <source>Requires the use of the FPS Limiter Toggle hotkey to take effect.</source> <translation type="unfinished"/> </message> <message> - <location filename="../../src/yuzu/configuration/configure_general.ui" line="45"/> + <location filename="../../src/yuzu/configuration/configure_general.ui" line="73"/> + <source>Framerate Cap</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_general.ui" line="95"/> <source>x</source> <translation type="unfinished"/> </message> <message> - <location filename="../../src/yuzu/configuration/configure_general.ui" line="65"/> + <location filename="../../src/yuzu/configuration/configure_general.ui" line="116"/> <source>Limit Speed Percent</source> <translation>Percentatge de Velocitat Límit</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_general.ui" line="72"/> + <location filename="../../src/yuzu/configuration/configure_general.ui" line="123"/> <source>%</source> <translation>%</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_general.ui" line="90"/> + <location filename="../../src/yuzu/configuration/configure_general.ui" line="141"/> <source>Multicore CPU Emulation</source> <translation>Emulació CPU Multinucli</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_general.ui" line="97"/> + <location filename="../../src/yuzu/configuration/configure_general.ui" line="148"/> <source>Confirm exit while emulation is running</source> <translation>Confirmar la sortida mentre s'està executant l'emulació</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_general.ui" line="104"/> + <location filename="../../src/yuzu/configuration/configure_general.ui" line="155"/> <source>Prompt for user on game boot</source> <translation>Sol·licitar l'usuari en l'arrencada del joc</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_general.ui" line="111"/> + <location filename="../../src/yuzu/configuration/configure_general.ui" line="162"/> <source>Pause emulation when in background</source> <translation>Pausa l'emulació en segon pla</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_general.ui" line="118"/> + <location filename="../../src/yuzu/configuration/configure_general.ui" line="169"/> <source>Hide mouse on inactivity</source> <translation>Ocultar el cursor del ratolí quan no està actiu</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_general.ui" line="160"/> + <location filename="../../src/yuzu/configuration/configure_general.ui" line="211"/> <source>Reset All Settings</source> <translation type="unfinished"/> </message> <message> - <location filename="../../src/yuzu/configuration/configure_general.cpp" line="70"/> + <location filename="../../src/yuzu/configuration/configure_general.cpp" line="78"/> <source>yuzu</source> <translation type="unfinished"/> </message> <message> - <location filename="../../src/yuzu/configuration/configure_general.cpp" line="71"/> + <location filename="../../src/yuzu/configuration/configure_general.cpp" line="79"/> <source>This reset all settings and remove all per-game configurations. This will not delete game directories, profiles, or input profiles. Proceed?</source> <translation type="unfinished"/> </message> @@ -1114,18 +1130,113 @@ p, li {white-space: pre-wrap; } <translation>Estirar a la finestra</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_graphics.ui" line="339"/> - <location filename="../../src/yuzu/configuration/configure_graphics.ui" line="349"/> + <location filename="../../src/yuzu/configuration/configure_graphics.ui" line="330"/> + <source>Resolution:</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_graphics.ui" line="338"/> + <source>0.5X (360p/540p) [EXPERIMENTAL]</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_graphics.ui" line="343"/> + <source>0.75X (540p/810p) [EXPERIMENTAL]</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_graphics.ui" line="348"/> + <source>1X (720p/1080p)</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_graphics.ui" line="353"/> + <source>2X (1440p/2160p)</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_graphics.ui" line="358"/> + <source>3X (2160p/3240p)</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_graphics.ui" line="363"/> + <source>4X (2880p/4320p)</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_graphics.ui" line="368"/> + <source>5X (3600p/5400p)</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_graphics.ui" line="373"/> + <source>6X (4320p/6480p)</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_graphics.ui" line="399"/> + <source>Window Adapting Filter:</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_graphics.ui" line="407"/> + <source>Nearest Neighbor</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_graphics.ui" line="412"/> + <source>Bilinear</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_graphics.ui" line="417"/> + <source>Bicubic</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_graphics.ui" line="422"/> + <source>Gaussian</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_graphics.ui" line="427"/> + <source>ScaleForce</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_graphics.ui" line="432"/> + <source>AMD FidelityFX™️ Super Resolution [Vulkan Only]</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_graphics.ui" line="458"/> + <source>Anti-Aliasing Method:</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_graphics.ui" line="466"/> + <source>None</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_graphics.ui" line="471"/> + <source>FXAA</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_graphics.ui" line="506"/> + <location filename="../../src/yuzu/configuration/configure_graphics.ui" line="516"/> <source>Use global background color</source> <translation>Utilitza un color de fons global</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_graphics.ui" line="354"/> + <location filename="../../src/yuzu/configuration/configure_graphics.ui" line="521"/> <source>Set background color:</source> <translation>Configura un color de fons:</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_graphics.ui" line="362"/> + <location filename="../../src/yuzu/configuration/configure_graphics.ui" line="529"/> <source>Background Color:</source> <translation>Color de Fons:</translation> </message> @@ -1194,27 +1305,32 @@ p, li {white-space: pre-wrap; } </message> <message> <location filename="../../src/yuzu/configuration/configure_graphics_advanced.ui" line="128"/> - <source>Default</source> - <translation>Valor Predeterminat</translation> + <source>Automatic</source> + <translation type="unfinished"/> </message> <message> <location filename="../../src/yuzu/configuration/configure_graphics_advanced.ui" line="133"/> - <source>2x (WILL BREAK THINGS)</source> - <translation type="unfinished"/> + <source>Default</source> + <translation>Valor Predeterminat</translation> </message> <message> <location filename="../../src/yuzu/configuration/configure_graphics_advanced.ui" line="138"/> - <source>4x (WILL BREAK THINGS)</source> + <source>2x</source> <translation type="unfinished"/> </message> <message> <location filename="../../src/yuzu/configuration/configure_graphics_advanced.ui" line="143"/> - <source>8x (WILL BREAK THINGS)</source> + <source>4x</source> <translation type="unfinished"/> </message> <message> <location filename="../../src/yuzu/configuration/configure_graphics_advanced.ui" line="148"/> - <source>16x (WILL BREAK THINGS)</source> + <source>8x</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_graphics_advanced.ui" line="153"/> + <source>16x</source> <translation type="unfinished"/> </message> </context> @@ -1542,8 +1658,8 @@ p, li {white-space: pre-wrap; } </message> <message> <location filename="../../src/yuzu/configuration/configure_input_advanced.ui" line="2533"/> - <source>Other</source> - <translation>Altre</translation> + <source>Emulated Devices</source> + <translation type="unfinished"/> </message> <message> <location filename="../../src/yuzu/configuration/configure_input_advanced.ui" line="2545"/> @@ -1552,66 +1668,75 @@ p, li {white-space: pre-wrap; } </message> <message> <location filename="../../src/yuzu/configuration/configure_input_advanced.ui" line="2558"/> - <source>Emulate Analog with Keyboard Input</source> - <translation type="unfinished"/> + <source>Mouse</source> + <translation>Ratolí</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_advanced.ui" line="2571"/> - <source>Enable mouse panning</source> - <translation type="unfinished"/> + <location filename="../../src/yuzu/configuration/configure_input_advanced.ui" line="2565"/> + <source>Touchscreen</source> + <translation>Pantalla Tàctil</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_advanced.ui" line="2578"/> - <source>Mouse sensitivity</source> - <translation type="unfinished"/> + <location filename="../../src/yuzu/configuration/configure_input_advanced.ui" line="2588"/> + <source>Advanced</source> + <translation>Avançat</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_advanced.ui" line="2584"/> - <source>%</source> - <translation type="unfinished"/> + <location filename="../../src/yuzu/configuration/configure_input_advanced.ui" line="2595"/> + <source>Debug Controller</source> + <translation>Controlador de Depuració</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_advanced.ui" line="2600"/> - <location filename="../../src/yuzu/configuration/configure_input_advanced.ui" line="2623"/> - <source>Advanced</source> - <translation>Avançat</translation> + <location filename="../../src/yuzu/configuration/configure_input_advanced.ui" line="2602"/> + <location filename="../../src/yuzu/configuration/configure_input_advanced.ui" line="2702"/> + <source>Configure</source> + <translation>Configurar</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_advanced.ui" line="2630"/> - <source>Touchscreen</source> - <translation>Pantalla Tàctil</translation> + <location filename="../../src/yuzu/configuration/configure_input_advanced.ui" line="2612"/> + <source>Other</source> + <translation>Altre</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_advanced.ui" line="2643"/> - <source>Mouse</source> - <translation>Ratolí</translation> + <location filename="../../src/yuzu/configuration/configure_input_advanced.ui" line="2624"/> + <source>Emulate Analog with Keyboard Input</source> + <translation type="unfinished"/> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_advanced.ui" line="2650"/> - <source>Motion / Touch</source> - <translation>Moviment / Tàctil</translation> + <location filename="../../src/yuzu/configuration/configure_input_advanced.ui" line="2631"/> + <source>Requires restarting yuzu</source> + <translation type="unfinished"/> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_advanced.ui" line="2657"/> - <location filename="../../src/yuzu/configuration/configure_input_advanced.ui" line="2671"/> - <source>Configure</source> - <translation>Configurar</translation> + <location filename="../../src/yuzu/configuration/configure_input_advanced.ui" line="2640"/> + <source>Enable XInput 8 player support (disables web applet)</source> + <translation type="unfinished"/> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_advanced.ui" line="2664"/> - <source>Debug Controller</source> - <translation>Controlador de Depuració</translation> + <location filename="../../src/yuzu/configuration/configure_input_advanced.ui" line="2653"/> + <source>Enable UDP controllers (not needed for motion)</source> + <translation type="unfinished"/> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_advanced.ui" line="2678"/> - <source>Requires restarting yuzu</source> + <location filename="../../src/yuzu/configuration/configure_input_advanced.ui" line="2666"/> + <source>Enable mouse panning</source> <translation type="unfinished"/> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_advanced.ui" line="2687"/> - <source>Enable XInput 8 player support (disables web applet)</source> + <location filename="../../src/yuzu/configuration/configure_input_advanced.ui" line="2673"/> + <source>Mouse sensitivity</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_input_advanced.ui" line="2679"/> + <source>%</source> <translation type="unfinished"/> </message> + <message> + <location filename="../../src/yuzu/configuration/configure_input_advanced.ui" line="2695"/> + <source>Motion / Touch</source> + <translation>Moviment / Tàctil</translation> + </message> </context> <context> <name>ConfigureInputPlayer</name> @@ -1626,424 +1751,440 @@ p, li {white-space: pre-wrap; } <translation>Connectar Controlador</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="94"/> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="535"/> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="986"/> - <source>Pro Controller</source> - <translation>Pro Controller</translation> - </message> - <message> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="99"/> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="992"/> - <source>Dual Joycons</source> - <translation>Joycons Duals</translation> - </message> - <message> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="104"/> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="998"/> - <source>Left Joycon</source> - <translation>Joycon esquerra</translation> - </message> - <message> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="109"/> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="1004"/> - <source>Right Joycon</source> - <translation>Joycon Dret</translation> - </message> - <message> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="114"/> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="1010"/> - <source>Handheld</source> - <translation>Portàtil</translation> - </message> - <message> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="125"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="100"/> <source>Input Device</source> <translation>Dispositiu d'Entrada</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="153"/> - <source>Any</source> - <translation>Qualsevol</translation> - </message> - <message> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="158"/> - <source>Keyboard/Mouse</source> - <translation>Teclat/Ratolí</translation> - </message> - <message> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="194"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="156"/> <source>Profile</source> <translation>Perfil</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="234"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="196"/> <source>Save</source> <translation>Guardar</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="250"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="212"/> <source>New</source> <translation>Nou</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="266"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="228"/> <source>Delete</source> <translation>Esborrar</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="329"/> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="1267"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="291"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="1190"/> <source>Left Stick</source> <translation>Palanca Esquerra</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="387"/> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="429"/> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="963"/> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="1002"/> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="2621"/> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="2660"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="349"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="391"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="925"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="964"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="2583"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="2622"/> <source>Up</source> <translation>Amunt</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="460"/> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="499"/> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="1033"/> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="1072"/> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="2107"/> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="2691"/> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="2730"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="422"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="461"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="995"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="1034"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="2069"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="2653"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="2692"/> <source>Left</source> <translation>Esquerra</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="509"/> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="548"/> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="1082"/> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="1121"/> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="2156"/> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="2740"/> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="2779"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="471"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="510"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="1044"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="1083"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="2118"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="2702"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="2741"/> <source>Right</source> <translation>Dreta</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="591"/> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="630"/> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="1164"/> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="1203"/> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="2822"/> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="2861"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="553"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="592"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="1126"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="1165"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="2784"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="2823"/> <source>Down</source> <translation>Abaix</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="661"/> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="700"/> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="2892"/> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="2931"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="623"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="662"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="2854"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="2893"/> <source>Pressed</source> <translation>Pressionat</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="710"/> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="749"/> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="2941"/> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="2980"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="672"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="711"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="2903"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="2942"/> <source>Modifier</source> <translation>Modificador</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="759"/> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="2990"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="721"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="2952"/> <source>Range</source> <translation>Rang</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="792"/> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="3023"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="754"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="2985"/> <source>%</source> <translation>%</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="835"/> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="3063"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="797"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="3025"/> <source>Deadzone: 0%</source> <translation>Zona Morta: 0%</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="859"/> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="3087"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="821"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="3049"/> <source>Modifier Range: 0%</source> <translation>Rang del Modificador: 0%</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="905"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="867"/> <source>D-Pad</source> <translation>Creueta</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="1289"/> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="1328"/> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="1272"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="1251"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="1290"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="1195"/> <source>L</source> <translation>L</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="1344"/> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="1383"/> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="1264"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="1306"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="1345"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="1187"/> <source>ZL</source> <translation>ZL</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="1464"/> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="1503"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="1426"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="1465"/> <source>Minus</source> <translation>Menys</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="1513"/> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="1552"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="1475"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="1514"/> <source>Capture</source> <translation>Captura</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="1583"/> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="1622"/> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="1263"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="1545"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="1584"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="1186"/> <source>Plus</source> <translation>Més</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="1632"/> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="1671"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="1594"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="1633"/> <source>Home</source> <translation>Inici</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="1736"/> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="1775"/> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="1266"/> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="1273"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="1698"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="1737"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="1189"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="1196"/> <source>R</source> <translation>R</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="1791"/> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="1830"/> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="1265"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="1753"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="1792"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="1188"/> <source>ZR</source> <translation>ZR</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="1911"/> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="1950"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="1873"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="1912"/> <source>SL</source> <translation>SL</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="1960"/> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="1999"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="1922"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="1961"/> <source>SR</source> <translation>SR</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="2068"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="2030"/> <source>Motion 1</source> <translation type="unfinished"/> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="2117"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="2079"/> <source>Motion 2</source> <translation type="unfinished"/> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="2208"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="2170"/> <source>Face Buttons</source> <translation>Botons Frontals</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="2266"/> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="2305"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="2228"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="2267"/> <source>X</source> <translation>X</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="2336"/> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="2375"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="2298"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="2337"/> <source>Y</source> <translation>Y</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="2385"/> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="2424"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="2347"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="2386"/> <source>A</source> <translation>A</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="2467"/> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="2506"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="2429"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="2468"/> <source>B</source> <translation>B</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="2554"/> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="1268"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="2516"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="1191"/> <source>Right Stick</source> <translation>Palanca Dreta</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="322"/> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="372"/> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="430"/> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="474"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="330"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="396"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="461"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="507"/> <source>Clear</source> <translation type="unfinished"/> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="324"/> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="374"/> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="432"/> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="476"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="332"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="398"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="463"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="509"/> <source>[not set]</source> <translation type="unfinished"/> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="327"/> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="478"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="335"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="512"/> <source>Toggle button</source> <translation type="unfinished"/> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="335"/> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="339"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="341"/> + <source>Invert button</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="349"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="465"/> + <source>Invert axis</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="355"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="359"/> <source>Set threshold</source> <translation type="unfinished"/> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="339"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="359"/> <source>Choose a value between 0% and 100%</source> <translation type="unfinished"/> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="406"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="436"/> <source>Map Analog Stick</source> <translation type="unfinished"/> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="407"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="437"/> <source>After pressing OK, first move your joystick horizontally, and then vertically. To invert the axes, first move your joystick vertically, and then horizontally.</source> <translation type="unfinished"/> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="434"/> - <source>Invert axis</source> - <translation type="unfinished"/> - </message> - <message> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="500"/> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="952"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="537"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="891"/> <source>Deadzone: %1%</source> <translation>Zona Morta: %1%</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="508"/> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="963"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="546"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="896"/> <source>Modifier Range: %1%</source> <translation>Rang del Modificador: %1%</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="1016"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="572"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="918"/> + <source>Pro Controller</source> + <translation>Pro Controller</translation> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="924"/> + <source>Dual Joycons</source> + <translation>Joycons Duals</translation> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="930"/> + <source>Left Joycon</source> + <translation>Joycon esquerra</translation> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="936"/> + <source>Right Joycon</source> + <translation>Joycon Dret</translation> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="942"/> + <source>Handheld</source> + <translation>Portàtil</translation> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="948"/> <source>GameCube Controller</source> <translation type="unfinished"/> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="1271"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="958"/> + <source>Poke Ball Plus</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="964"/> + <source>NES Controller</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="970"/> + <source>SNES Controller</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="976"/> + <source>N64 Controller</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="982"/> + <source>Sega Genesis</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="1194"/> <source>Start / Pause</source> <translation type="unfinished"/> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="1274"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="1197"/> <source>Z</source> <translation type="unfinished"/> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="1275"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="1198"/> <source>Control Stick</source> <translation type="unfinished"/> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="1276"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="1199"/> <source>C-Stick</source> <translation type="unfinished"/> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="1335"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="1297"/> <source>Shake!</source> <translation type="unfinished"/> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="1337"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="1299"/> <source>[waiting]</source> <translation>[esperant]</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="1462"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="1381"/> <source>New Profile</source> <translation type="unfinished"/> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="1462"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="1381"/> <source>Enter a profile name:</source> <translation type="unfinished"/> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="1470"/> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="1478"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="1389"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="1397"/> <source>Create Input Profile</source> <translation type="unfinished"/> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="1471"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="1390"/> <source>The given profile name is not valid!</source> <translation type="unfinished"/> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="1479"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="1398"/> <source>Failed to create the input profile "%1"</source> <translation type="unfinished"/> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="1499"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="1418"/> <source>Delete Input Profile</source> <translation type="unfinished"/> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="1500"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="1419"/> <source>Failed to delete the input profile "%1"</source> <translation type="unfinished"/> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="1522"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="1441"/> <source>Load Input Profile</source> <translation type="unfinished"/> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="1523"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="1442"/> <source>Failed to load the input profile "%1"</source> <translation type="unfinished"/> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="1542"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="1461"/> <source>Save Input Profile</source> <translation type="unfinished"/> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="1543"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="1462"/> <source>Failed to save the input profile "%1"</source> <translation type="unfinished"/> </message> @@ -2069,85 +2210,75 @@ To invert the axes, first move your joystick vertically, and then horizontally.< <context> <name>ConfigureMotionTouch</name> <message> - <location filename="../../src/yuzu/configuration/configure_motion_touch.ui" line="14"/> + <location filename="../../src/yuzu/configuration/configure_motion_touch.ui" line="6"/> <source>Configure Motion / Touch</source> <translation>Configurar Moviment / Tàctil</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_motion_touch.ui" line="23"/> - <source>Mouse Motion</source> - <translation type="unfinished"/> - </message> - <message> - <location filename="../../src/yuzu/configuration/configure_motion_touch.ui" line="31"/> - <source>Sensitivity:</source> - <translation>Sensibilitat:</translation> - </message> - <message> - <location filename="../../src/yuzu/configuration/configure_motion_touch.ui" line="65"/> + <location filename="../../src/yuzu/configuration/configure_motion_touch.ui" line="15"/> <source>Touch</source> <translation>Tàctil</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_motion_touch.ui" line="73"/> + <location filename="../../src/yuzu/configuration/configure_motion_touch.ui" line="23"/> <source>UDP Calibration:</source> <translation type="unfinished"/> </message> <message> - <location filename="../../src/yuzu/configuration/configure_motion_touch.ui" line="80"/> + <location filename="../../src/yuzu/configuration/configure_motion_touch.ui" line="30"/> <source>(100, 50) - (1800, 850)</source> <translation>(100, 50) - (1800, 850)</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_motion_touch.ui" line="96"/> - <location filename="../../src/yuzu/configuration/configure_motion_touch.ui" line="129"/> - <location filename="../../src/yuzu/configuration/configure_motion_touch.cpp" line="250"/> + <location filename="../../src/yuzu/configuration/configure_motion_touch.ui" line="46"/> + <location filename="../../src/yuzu/configuration/configure_motion_touch.ui" line="73"/> + <location filename="../../src/yuzu/configuration/configure_motion_touch.cpp" line="245"/> <source>Configure</source> <translation>Configuració</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_motion_touch.ui" line="113"/> - <source>Use button mapping:</source> - <translation>Utilitzar el mapeig de botons:</translation> + <location filename="../../src/yuzu/configuration/configure_motion_touch.ui" line="57"/> + <source>Touch from button profile:</source> + <translation type="unfinished"/> </message> <message> - <location filename="../../src/yuzu/configuration/configure_motion_touch.ui" line="141"/> + <location filename="../../src/yuzu/configuration/configure_motion_touch.ui" line="85"/> <source>CemuhookUDP Config</source> <translation>Configuració CemuhookUDP</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_motion_touch.ui" line="147"/> + <location filename="../../src/yuzu/configuration/configure_motion_touch.ui" line="91"/> <source>You may use any Cemuhook compatible UDP input source to provide motion and touch input.</source> <translation>Pot utilitzar qualsevol font d'entrada UDP compatible amb Cemuhook per a proporcionar una entrada de moviment i de tacte.</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_motion_touch.ui" line="190"/> + <location filename="../../src/yuzu/configuration/configure_motion_touch.ui" line="134"/> <source>Server:</source> <translation>Servidor:</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_motion_touch.ui" line="217"/> + <location filename="../../src/yuzu/configuration/configure_motion_touch.ui" line="161"/> <source>Port:</source> <translation>Port:</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_motion_touch.ui" line="244"/> + <location filename="../../src/yuzu/configuration/configure_motion_touch.ui" line="188"/> <source>Learn More</source> <translation>Més Informació</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_motion_touch.ui" line="257"/> - <location filename="../../src/yuzu/configuration/configure_motion_touch.cpp" line="273"/> + <location filename="../../src/yuzu/configuration/configure_motion_touch.ui" line="201"/> + <location filename="../../src/yuzu/configuration/configure_motion_touch.cpp" line="268"/> <source>Test</source> <translation>Provar</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_motion_touch.ui" line="270"/> + <location filename="../../src/yuzu/configuration/configure_motion_touch.ui" line="214"/> <source>Add Server</source> <translation type="unfinished"/> </message> <message> - <location filename="../../src/yuzu/configuration/configure_motion_touch.ui" line="303"/> + <location filename="../../src/yuzu/configuration/configure_motion_touch.ui" line="247"/> <source>Remove Server</source> <translation type="unfinished"/> </message> @@ -2157,146 +2288,82 @@ To invert the axes, first move your joystick vertically, and then horizontally.< <translation><a href='https://yuzu-emu.org/wiki/using-a-controller-or-android-phone-for-motion-or-touch-input'><span style="text-decoration: underline; color:#039be5;">Més Informació</span></a></translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_motion_touch.cpp" line="176"/> + <location filename="../../src/yuzu/configuration/configure_motion_touch.cpp" line="171"/> <source>%1:%2</source> <translation type="unfinished"/> </message> <message> - <location filename="../../src/yuzu/configuration/configure_motion_touch.cpp" line="181"/> - <location filename="../../src/yuzu/configuration/configure_motion_touch.cpp" line="185"/> - <location filename="../../src/yuzu/configuration/configure_motion_touch.cpp" line="189"/> - <location filename="../../src/yuzu/configuration/configure_motion_touch.cpp" line="195"/> - <location filename="../../src/yuzu/configuration/configure_motion_touch.cpp" line="201"/> - <location filename="../../src/yuzu/configuration/configure_motion_touch.cpp" line="295"/> + <location filename="../../src/yuzu/configuration/configure_motion_touch.cpp" line="176"/> + <location filename="../../src/yuzu/configuration/configure_motion_touch.cpp" line="180"/> + <location filename="../../src/yuzu/configuration/configure_motion_touch.cpp" line="184"/> + <location filename="../../src/yuzu/configuration/configure_motion_touch.cpp" line="190"/> + <location filename="../../src/yuzu/configuration/configure_motion_touch.cpp" line="196"/> + <location filename="../../src/yuzu/configuration/configure_motion_touch.cpp" line="290"/> <source>yuzu</source> <translation type="unfinished"/> </message> <message> - <location filename="../../src/yuzu/configuration/configure_motion_touch.cpp" line="181"/> + <location filename="../../src/yuzu/configuration/configure_motion_touch.cpp" line="176"/> <source>Port number has invalid characters</source> <translation type="unfinished"/> </message> <message> - <location filename="../../src/yuzu/configuration/configure_motion_touch.cpp" line="185"/> + <location filename="../../src/yuzu/configuration/configure_motion_touch.cpp" line="180"/> <source>Port has to be in range 0 and 65353</source> <translation type="unfinished"/> </message> <message> - <location filename="../../src/yuzu/configuration/configure_motion_touch.cpp" line="189"/> + <location filename="../../src/yuzu/configuration/configure_motion_touch.cpp" line="184"/> <source>IP address is not valid</source> <translation type="unfinished"/> </message> <message> - <location filename="../../src/yuzu/configuration/configure_motion_touch.cpp" line="195"/> + <location filename="../../src/yuzu/configuration/configure_motion_touch.cpp" line="190"/> <source>This UDP server already exists</source> <translation type="unfinished"/> </message> <message> - <location filename="../../src/yuzu/configuration/configure_motion_touch.cpp" line="201"/> + <location filename="../../src/yuzu/configuration/configure_motion_touch.cpp" line="196"/> <source>Unable to add more than 8 servers</source> <translation type="unfinished"/> </message> <message> - <location filename="../../src/yuzu/configuration/configure_motion_touch.cpp" line="217"/> + <location filename="../../src/yuzu/configuration/configure_motion_touch.cpp" line="212"/> <source>Testing</source> <translation>Provant</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_motion_touch.cpp" line="233"/> + <location filename="../../src/yuzu/configuration/configure_motion_touch.cpp" line="228"/> <source>Configuring</source> <translation>Configurant</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_motion_touch.cpp" line="264"/> + <location filename="../../src/yuzu/configuration/configure_motion_touch.cpp" line="259"/> <source>Test Successful</source> <translation>Prova Exitosa</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_motion_touch.cpp" line="265"/> + <location filename="../../src/yuzu/configuration/configure_motion_touch.cpp" line="260"/> <source>Successfully received data from the server.</source> <translation>S'han rebut dades des del servidor correctament.</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_motion_touch.cpp" line="267"/> + <location filename="../../src/yuzu/configuration/configure_motion_touch.cpp" line="262"/> <source>Test Failed</source> <translation>Prova Fallida</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_motion_touch.cpp" line="268"/> + <location filename="../../src/yuzu/configuration/configure_motion_touch.cpp" line="263"/> <source>Could not receive valid data from the server.<br>Please verify that the server is set up correctly and the address and port are correct.</source> <translation>No s'han pogut rebre dades vàlides des del servidor.<br>Si us plau, verifiqui que el servidor està configurat correctament i que la direcció i el port són correctes. </translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_motion_touch.cpp" line="296"/> + <location filename="../../src/yuzu/configuration/configure_motion_touch.cpp" line="291"/> <source>UDP Test or calibration configuration is in progress.<br>Please wait for them to finish.</source> <translation>La prova del UDP o la configuració de la calibració està en curs.<br>Si us plau, esperi a que acabi el procés.</translation> </message> </context> <context> - <name>ConfigureMouseAdvanced</name> - <message> - <location filename="../../src/yuzu/configuration/configure_mouse_advanced.ui" line="14"/> - <source>Configure Mouse</source> - <translation>Configurar Ratolí</translation> - </message> - <message> - <location filename="../../src/yuzu/configuration/configure_mouse_advanced.ui" line="25"/> - <source>Mouse Buttons</source> - <translation>Botons del Ratolí</translation> - </message> - <message> - <location filename="../../src/yuzu/configuration/configure_mouse_advanced.ui" line="35"/> - <source>Forward:</source> - <translation>Endavant:</translation> - </message> - <message> - <location filename="../../src/yuzu/configuration/configure_mouse_advanced.ui" line="75"/> - <source>Back:</source> - <translation>Enrere:</translation> - </message> - <message> - <location filename="../../src/yuzu/configuration/configure_mouse_advanced.ui" line="103"/> - <source>Left:</source> - <translation>Esquerra:</translation> - </message> - <message> - <location filename="../../src/yuzu/configuration/configure_mouse_advanced.ui" line="131"/> - <source>Middle:</source> - <translation>Mig:</translation> - </message> - <message> - <location filename="../../src/yuzu/configuration/configure_mouse_advanced.ui" line="197"/> - <source>Right:</source> - <translation>Dreta:</translation> - </message> - <message> - <location filename="../../src/yuzu/configuration/configure_mouse_advanced.ui" line="270"/> - <location filename="../../src/yuzu/configuration/configure_mouse_advanced.cpp" line="109"/> - <source>Clear</source> - <translation>Netejar</translation> - </message> - <message> - <location filename="../../src/yuzu/configuration/configure_mouse_advanced.ui" line="289"/> - <source>Defaults</source> - <translation>Valors Predeterminats</translation> - </message> - <message> - <location filename="../../src/yuzu/configuration/configure_mouse_advanced.cpp" line="111"/> - <source>[not set]</source> - <translation>[no establert]</translation> - </message> - <message> - <location filename="../../src/yuzu/configuration/configure_mouse_advanced.cpp" line="113"/> - <source>Restore Default</source> - <translation>Restaurar Valor Predeterminat</translation> - </message> - <message> - <location filename="../../src/yuzu/configuration/configure_mouse_advanced.cpp" line="200"/> - <source>[press key]</source> - <translation>[pressioni una tecla]</translation> - </message> -</context> -<context> <name>ConfigureNetwork</name> <message> <location filename="../../src/yuzu/configuration/configure_network.ui" line="14"/> @@ -3079,31 +3146,26 @@ To invert the axes, first move your joystick vertically, and then horizontally.< </message> <message> <location filename="../../src/yuzu/configuration/configure_tas.ui" line="64"/> - <source>Automatic controller profile swapping</source> - <translation type="unfinished"/> - </message> - <message> - <location filename="../../src/yuzu/configuration/configure_tas.ui" line="71"/> <source>Loop script</source> <translation type="unfinished"/> </message> <message> - <location filename="../../src/yuzu/configuration/configure_tas.ui" line="81"/> + <location filename="../../src/yuzu/configuration/configure_tas.ui" line="74"/> <source>Pause execution during loads</source> <translation type="unfinished"/> </message> <message> - <location filename="../../src/yuzu/configuration/configure_tas.ui" line="95"/> + <location filename="../../src/yuzu/configuration/configure_tas.ui" line="88"/> <source>Script Directory</source> <translation type="unfinished"/> </message> <message> - <location filename="../../src/yuzu/configuration/configure_tas.ui" line="101"/> + <location filename="../../src/yuzu/configuration/configure_tas.ui" line="94"/> <source>Path</source> <translation type="unfinished"/> </message> <message> - <location filename="../../src/yuzu/configuration/configure_tas.ui" line="108"/> + <location filename="../../src/yuzu/configuration/configure_tas.ui" line="101"/> <source>...</source> <translation type="unfinished"/> </message> @@ -3116,7 +3178,7 @@ To invert the axes, first move your joystick vertically, and then horizontally.< <translation type="unfinished"/> </message> <message> - <location filename="../../src/yuzu/configuration/configure_tas.cpp" line="53"/> + <location filename="../../src/yuzu/configuration/configure_tas.cpp" line="51"/> <source>Select TAS Load Directory...</source> <translation type="unfinished"/> </message> @@ -3178,37 +3240,37 @@ Arrossegui els punts per a canviar la posició, o faci doble clic a les cel·les <translation>Y</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_touch_from_button.cpp" line="200"/> + <location filename="../../src/yuzu/configuration/configure_touch_from_button.cpp" line="197"/> <source>New Profile</source> <translation>Nou Perfil</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_touch_from_button.cpp" line="200"/> + <location filename="../../src/yuzu/configuration/configure_touch_from_button.cpp" line="197"/> <source>Enter the name for the new profile.</source> <translation>Introdueixi el nom per al nou perfil.</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_touch_from_button.cpp" line="211"/> + <location filename="../../src/yuzu/configuration/configure_touch_from_button.cpp" line="208"/> <source>Delete Profile</source> <translation>Esborrar Perfil</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_touch_from_button.cpp" line="211"/> + <location filename="../../src/yuzu/configuration/configure_touch_from_button.cpp" line="208"/> <source>Delete profile %1?</source> <translation>Esborrar perfil %1?</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_touch_from_button.cpp" line="224"/> + <location filename="../../src/yuzu/configuration/configure_touch_from_button.cpp" line="221"/> <source>Rename Profile</source> <translation>Renombrar Perfil</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_touch_from_button.cpp" line="224"/> + <location filename="../../src/yuzu/configuration/configure_touch_from_button.cpp" line="221"/> <source>New name:</source> <translation>Nou nom:</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_touch_from_button.cpp" line="233"/> + <location filename="../../src/yuzu/configuration/configure_touch_from_button.cpp" line="230"/> <source>[press key]</source> <translation>[pressioni una tecla]</translation> </message> @@ -3628,12 +3690,12 @@ Arrossegui els punts per a canviar la posició, o faci doble clic a les cel·les <context> <name>ControllerDialog</name> <message> - <location filename="../../src/yuzu/debugger/controller.cpp" line="17"/> + <location filename="../../src/yuzu/debugger/controller.cpp" line="21"/> <source>Controller P1</source> <translation type="unfinished"/> </message> <message> - <location filename="../../src/yuzu/debugger/controller.cpp" line="52"/> + <location filename="../../src/yuzu/debugger/controller.cpp" line="60"/> <source>&Controller P1</source> <translation type="unfinished"/> </message> @@ -3641,89 +3703,94 @@ Arrossegui els punts per a canviar la posició, o faci doble clic a les cel·les <context> <name>GMainWindow</name> <message> - <location filename="../../src/yuzu/main.cpp" line="174"/> + <location filename="../../src/yuzu/main.cpp" line="176"/> <source><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?</source> <translation><a href='https://yuzu-emu.org/help/feature/telemetry/'>Es recullen dades anònimes</a> per ajudar a millorar yuzu. <br/><br/>Desitja compartir les seves dades d'ús amb nosaltres?</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="177"/> + <location filename="../../src/yuzu/main.cpp" line="179"/> <source>Telemetry</source> <translation>Telemetria</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="592"/> + <location filename="../../src/yuzu/main.cpp" line="600"/> <source>Loading Web Applet...</source> <translation>Carregant Web Applet...</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="639"/> - <location filename="../../src/yuzu/main.cpp" line="642"/> + <location filename="../../src/yuzu/main.cpp" line="647"/> + <location filename="../../src/yuzu/main.cpp" line="650"/> <source>Disable Web Applet</source> <translation type="unfinished"/> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="643"/> + <location filename="../../src/yuzu/main.cpp" line="651"/> <source>Disabling the web applet will cause it to not be shown again for the rest of the emulated session. This 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?</source> <translation type="unfinished"/> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="746"/> + <location filename="../../src/yuzu/main.cpp" line="754"/> <source>The amount of shaders currently being built</source> <translation>La quantitat de shaders que s'estan compilant actualment</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="749"/> + <location filename="../../src/yuzu/main.cpp" line="756"/> + <source>The current selected resolution scaling multiplier.</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/main.cpp" line="759"/> <source>Current emulation speed. Values higher or lower than 100% indicate emulation is running faster or slower than a Switch.</source> <translation>Velocitat d'emulació actual. Valors superiors o inferiors a 100% indiquen que l'emulació s'està executant més ràpidament o més lentament que a la Switch.</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="752"/> + <location filename="../../src/yuzu/main.cpp" line="762"/> <source>How many frames per second the game is currently displaying. This will vary from game to game and scene to scene.</source> <translation>Quants fotogrames per segon està mostrant el joc actualment. Això variarà d'un joc a un altre i d'una escena a una altra.</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="756"/> + <location filename="../../src/yuzu/main.cpp" line="766"/> <source>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.</source> <translation>Temps que costa emular un fotograma de la Switch, sense tenir en compte la limitació de fotogrames o la sincronització vertical. Per a una emulació òptima, aquest valor hauria de ser com a màxim de 16.67 ms.</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="781"/> + <location filename="../../src/yuzu/main.cpp" line="841"/> <source>Invalid config detected</source> <translation type="unfinished"/> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="782"/> + <location filename="../../src/yuzu/main.cpp" line="842"/> <source>Handheld controller can't be used on docked mode. Pro controller will be selected.</source> <translation type="unfinished"/> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="794"/> + <location filename="../../src/yuzu/main.cpp" line="854"/> <source>DOCK</source> <translation>ACOBLAT</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="828"/> + <location filename="../../src/yuzu/main.cpp" line="888"/> <source>VULKAN</source> <translation>VULKAN</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="828"/> + <location filename="../../src/yuzu/main.cpp" line="888"/> <source>OPENGL</source> <translation>OPENGL</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="886"/> + <location filename="../../src/yuzu/main.cpp" line="951"/> <source>&Clear Recent Files</source> <translation type="unfinished"/> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="1055"/> - <source>TAS Recording</source> + <location filename="../../src/yuzu/main.cpp" line="1210"/> + <source>&Continue</source> <translation type="unfinished"/> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="1056"/> - <source>Overwrite file of player 1?</source> + <location filename="../../src/yuzu/main.cpp" line="1212"/> + <source>&Pause</source> <translation type="unfinished"/> </message> <message> @@ -3775,656 +3842,723 @@ Arrossegui els punts per a canviar la posició, o faci doble clic a les cel·les <translation>Ha ocorregut un error desconegut. Si us plau, consulti el registre per a més detalls.</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="1462"/> + <location filename="../../src/yuzu/main.cpp" line="1460"/> <source>(64-bit)</source> <translation type="unfinished"/> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="1462"/> + <location filename="../../src/yuzu/main.cpp" line="1460"/> <source>(32-bit)</source> <translation type="unfinished"/> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="1463"/> + <location filename="../../src/yuzu/main.cpp" line="1461"/> <source>%1 %2</source> <comment>%1 is the title name. %2 indicates if the title is 64-bit or 32-bit</comment> <translation type="unfinished"/> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="1507"/> - <source>Start</source> - <translation>Iniciar</translation> - </message> - <message> - <location filename="../../src/yuzu/main.cpp" line="1612"/> + <location filename="../../src/yuzu/main.cpp" line="1605"/> <source>Save Data</source> <translation>Dades de Jocs Guardats</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="1660"/> + <location filename="../../src/yuzu/main.cpp" line="1653"/> <source>Mod Data</source> <translation>Dades de Mods</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="1672"/> + <location filename="../../src/yuzu/main.cpp" line="1665"/> <source>Error Opening %1 Folder</source> <translation>Error Obrint la Carpeta %1</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="1673"/> - <location filename="../../src/yuzu/main.cpp" line="2079"/> + <location filename="../../src/yuzu/main.cpp" line="1666"/> + <location filename="../../src/yuzu/main.cpp" line="2072"/> <source>Folder does not exist!</source> <translation>La carpeta no existeix!</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="1685"/> + <location filename="../../src/yuzu/main.cpp" line="1678"/> <source>Error Opening Transferable Shader Cache</source> <translation>Error Obrint el Cache Transferible de Shaders</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="1686"/> + <location filename="../../src/yuzu/main.cpp" line="1679"/> <source>Failed to create the shader cache directory for this title.</source> <translation type="unfinished"/> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="1738"/> + <location filename="../../src/yuzu/main.cpp" line="1731"/> <source>Contents</source> <translation>Continguts</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="1740"/> + <location filename="../../src/yuzu/main.cpp" line="1733"/> <source>Update</source> <translation>Actualització</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="1742"/> + <location filename="../../src/yuzu/main.cpp" line="1735"/> <source>DLC</source> <translation>DLC</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="1749"/> + <location filename="../../src/yuzu/main.cpp" line="1742"/> <source>Remove Entry</source> <translation>Eliminar Entrada</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="1749"/> + <location filename="../../src/yuzu/main.cpp" line="1742"/> <source>Remove Installed Game %1?</source> <translation>Eliminar el joc instal·lat %1?</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="1779"/> - <location filename="../../src/yuzu/main.cpp" line="1795"/> - <location filename="../../src/yuzu/main.cpp" line="1826"/> - <location filename="../../src/yuzu/main.cpp" line="1887"/> - <location filename="../../src/yuzu/main.cpp" line="1905"/> - <location filename="../../src/yuzu/main.cpp" line="1928"/> + <location filename="../../src/yuzu/main.cpp" line="1772"/> + <location filename="../../src/yuzu/main.cpp" line="1788"/> + <location filename="../../src/yuzu/main.cpp" line="1819"/> + <location filename="../../src/yuzu/main.cpp" line="1880"/> + <location filename="../../src/yuzu/main.cpp" line="1898"/> + <location filename="../../src/yuzu/main.cpp" line="1921"/> <source>Successfully Removed</source> <translation>S'ha Eliminat Correctament</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="1780"/> + <location filename="../../src/yuzu/main.cpp" line="1773"/> <source>Successfully removed the installed base game.</source> <translation>S'ha eliminat correctament el joc base instal·lat.</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="1783"/> - <location filename="../../src/yuzu/main.cpp" line="1798"/> - <location filename="../../src/yuzu/main.cpp" line="1821"/> + <location filename="../../src/yuzu/main.cpp" line="1776"/> + <location filename="../../src/yuzu/main.cpp" line="1791"/> + <location filename="../../src/yuzu/main.cpp" line="1814"/> <source>Error Removing %1</source> <translation>Error eliminant %1</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="1784"/> + <location filename="../../src/yuzu/main.cpp" line="1777"/> <source>The base game is not installed in the NAND and cannot be removed.</source> <translation>El joc base no està instal·lat a la NAND i no pot ser eliminat.</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="1796"/> + <location filename="../../src/yuzu/main.cpp" line="1789"/> <source>Successfully removed the installed update.</source> <translation>S'ha eliminat correctament l'actualització instal·lada.</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="1799"/> + <location filename="../../src/yuzu/main.cpp" line="1792"/> <source>There is no update installed for this title.</source> <translation>No hi ha cap actualització instal·lada per aquest títol.</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="1822"/> + <location filename="../../src/yuzu/main.cpp" line="1815"/> <source>There are no DLC installed for this title.</source> <translation>No hi ha cap DLC instal·lat per aquest títol.</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="1827"/> + <location filename="../../src/yuzu/main.cpp" line="1820"/> <source>Successfully removed %1 installed DLC.</source> <translation>S'ha eliminat correctament %1 DLC instal·lat/s.</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="1835"/> + <location filename="../../src/yuzu/main.cpp" line="1828"/> <source>Delete OpenGL Transferable Shader Cache?</source> <translation type="unfinished"/> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="1837"/> + <location filename="../../src/yuzu/main.cpp" line="1830"/> <source>Delete Vulkan Transferable Shader Cache?</source> <translation type="unfinished"/> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="1839"/> + <location filename="../../src/yuzu/main.cpp" line="1832"/> <source>Delete All Transferable Shader Caches?</source> <translation type="unfinished"/> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="1841"/> + <location filename="../../src/yuzu/main.cpp" line="1834"/> <source>Remove Custom Game Configuration?</source> <translation>Eliminar la Configuració Personalitzada del Joc?</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="1847"/> + <location filename="../../src/yuzu/main.cpp" line="1840"/> <source>Remove File</source> <translation>Eliminar Arxiu</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="1882"/> - <location filename="../../src/yuzu/main.cpp" line="1890"/> + <location filename="../../src/yuzu/main.cpp" line="1875"/> + <location filename="../../src/yuzu/main.cpp" line="1883"/> <source>Error Removing Transferable Shader Cache</source> <translation>Error eliminant el Cache Transferible de Shaders</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="1883"/> - <location filename="../../src/yuzu/main.cpp" line="1901"/> + <location filename="../../src/yuzu/main.cpp" line="1876"/> + <location filename="../../src/yuzu/main.cpp" line="1894"/> <source>A shader cache for this title does not exist.</source> <translation>No existeix un cache de shaders per a aquest títol.</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="1888"/> + <location filename="../../src/yuzu/main.cpp" line="1881"/> <source>Successfully removed the transferable shader cache.</source> <translation>S'ha eliminat correctament el cache transferible de shaders.</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="1891"/> + <location filename="../../src/yuzu/main.cpp" line="1884"/> <source>Failed to remove the transferable shader cache.</source> <translation>No s'ha pogut eliminar la cache transferible de shaders.</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="1900"/> - <location filename="../../src/yuzu/main.cpp" line="1908"/> + <location filename="../../src/yuzu/main.cpp" line="1893"/> + <location filename="../../src/yuzu/main.cpp" line="1901"/> <source>Error Removing Transferable Shader Caches</source> <translation type="unfinished"/> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="1906"/> + <location filename="../../src/yuzu/main.cpp" line="1899"/> <source>Successfully removed the transferable shader caches.</source> <translation type="unfinished"/> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="1909"/> + <location filename="../../src/yuzu/main.cpp" line="1902"/> <source>Failed to remove the transferable shader cache directory.</source> <translation type="unfinished"/> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="1922"/> - <location filename="../../src/yuzu/main.cpp" line="1931"/> + <location filename="../../src/yuzu/main.cpp" line="1915"/> + <location filename="../../src/yuzu/main.cpp" line="1924"/> <source>Error Removing Custom Configuration</source> <translation>Error Eliminant la Configuració Personalitzada</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="1923"/> + <location filename="../../src/yuzu/main.cpp" line="1916"/> <source>A custom configuration for this title does not exist.</source> <translation>No existeix una configuració personalitzada per aquest joc.</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="1929"/> + <location filename="../../src/yuzu/main.cpp" line="1922"/> <source>Successfully removed the custom game configuration.</source> <translation>S'ha eliminat correctament la configuració personalitzada del joc.</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="1932"/> + <location filename="../../src/yuzu/main.cpp" line="1925"/> <source>Failed to remove the custom game configuration.</source> <translation>No s'ha pogut eliminar la configuració personalitzada del joc.</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="1939"/> - <location filename="../../src/yuzu/main.cpp" line="2018"/> + <location filename="../../src/yuzu/main.cpp" line="1932"/> + <location filename="../../src/yuzu/main.cpp" line="2011"/> <source>RomFS Extraction Failed!</source> <translation>La extracció de RomFS ha fallat!</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="1940"/> + <location filename="../../src/yuzu/main.cpp" line="1933"/> <source>There was an error copying the RomFS files or the user cancelled the operation.</source> <translation>S'ha produït un error copiant els arxius RomFS o l'usuari ha cancel·lat la operació.</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="1998"/> + <location filename="../../src/yuzu/main.cpp" line="1991"/> <source>Full</source> <translation>Completa</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="1998"/> + <location filename="../../src/yuzu/main.cpp" line="1991"/> <source>Skeleton</source> <translation>Esquelet</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="2000"/> + <location filename="../../src/yuzu/main.cpp" line="1993"/> <source>Select RomFS Dump Mode</source> <translation>Seleccioni el Mode de Bolcat de RomFS</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="2001"/> + <location filename="../../src/yuzu/main.cpp" line="1994"/> <source>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.</source> <translation>Si us plau, seleccioni la forma en que desitja bolcar la RomFS.<br>Completa copiarà tots els arxius al nou directori mentre que<br>esquelet només crearà l'estructura de directoris.</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="2019"/> + <location filename="../../src/yuzu/main.cpp" line="2012"/> <source>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</source> <translation type="unfinished"/> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="2026"/> + <location filename="../../src/yuzu/main.cpp" line="2019"/> <source>Extracting RomFS...</source> <translation>Extraient RomFS...</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="2026"/> - <location filename="../../src/yuzu/main.cpp" line="2206"/> + <location filename="../../src/yuzu/main.cpp" line="2019"/> + <location filename="../../src/yuzu/main.cpp" line="2199"/> <source>Cancel</source> <translation>Cancel·la</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="2033"/> + <location filename="../../src/yuzu/main.cpp" line="2026"/> <source>RomFS Extraction Succeeded!</source> <translation>Extracció de RomFS Completada Correctament!</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="2034"/> + <location filename="../../src/yuzu/main.cpp" line="2027"/> <source>The operation completed successfully.</source> <translation>La operació s'ha completat correctament.</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="2078"/> + <location filename="../../src/yuzu/main.cpp" line="2071"/> <source>Error Opening %1</source> <translation>Error Obrint %1</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="2087"/> + <location filename="../../src/yuzu/main.cpp" line="2080"/> <source>Select Directory</source> <translation>Seleccionar Directori</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="2114"/> + <location filename="../../src/yuzu/main.cpp" line="2107"/> <source>Properties</source> <translation>Propietats</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="2115"/> + <location filename="../../src/yuzu/main.cpp" line="2108"/> <source>The game properties could not be loaded.</source> <translation>Les propietats del joc no s'han pogut carregar.</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="2127"/> + <location filename="../../src/yuzu/main.cpp" line="2120"/> <source>Switch Executable (%1);;All Files (*.*)</source> <comment>%1 is an identifier for the Switch executable file extensions.</comment> <translation>Executable de Switch (%1);;Tots els Arxius (*.*)</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="2131"/> + <location filename="../../src/yuzu/main.cpp" line="2124"/> <source>Load File</source> <translation>Carregar Arxiu</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="2143"/> + <location filename="../../src/yuzu/main.cpp" line="2136"/> <source>Open Extracted ROM Directory</source> <translation>Obrir el Directori de la ROM extreta</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="2154"/> + <location filename="../../src/yuzu/main.cpp" line="2147"/> <source>Invalid Directory Selected</source> <translation>Directori Seleccionat Invàlid</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="2155"/> + <location filename="../../src/yuzu/main.cpp" line="2148"/> <source>The directory you have selected does not contain a 'main' file.</source> <translation>El directori que ha seleccionat no conté un arxiu 'main'.</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="2165"/> + <location filename="../../src/yuzu/main.cpp" line="2158"/> <source>Installable Switch File (*.nca *.nsp *.xci);;Nintendo Content Archive (*.nca);;Nintendo Submission Package (*.nsp);;NX Cartridge Image (*.xci)</source> <translation>Arxiu de Switch Instal·lable (*.nca *.nsp *.xci);;Arxiu de Continguts Nintendo (*.nca);;Paquet d'enviament Nintendo (*.nsp);;Imatge de Cartutx NX (*.xci)</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="2170"/> + <location filename="../../src/yuzu/main.cpp" line="2163"/> <source>Install Files</source> <translation>Instal·lar Arxius</translation> </message> <message numerus="yes"> - <location filename="../../src/yuzu/main.cpp" line="2214"/> + <location filename="../../src/yuzu/main.cpp" line="2207"/> <source>%n file(s) remaining</source> <translation type="unfinished"><numerusform></numerusform><numerusform></numerusform></translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="2216"/> + <location filename="../../src/yuzu/main.cpp" line="2209"/> <source>Installing file "%1"...</source> <translation>Instal·lant arxiu "%1"...</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="2262"/> - <location filename="../../src/yuzu/main.cpp" line="2276"/> + <location filename="../../src/yuzu/main.cpp" line="2255"/> + <location filename="../../src/yuzu/main.cpp" line="2269"/> <source>Install Results</source> <translation>Resultats Instal·lació</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="2263"/> + <location filename="../../src/yuzu/main.cpp" line="2256"/> <source>To avoid possible conflicts, we discourage users from installing base games to the NAND. Please, only use this feature to install updates and DLC.</source> <translation type="unfinished"/> </message> <message numerus="yes"> - <location filename="../../src/yuzu/main.cpp" line="2269"/> + <location filename="../../src/yuzu/main.cpp" line="2262"/> <source>%n file(s) were newly installed </source> <translation type="unfinished"><numerusform></numerusform><numerusform></numerusform></translation> </message> <message numerus="yes"> - <location filename="../../src/yuzu/main.cpp" line="2272"/> + <location filename="../../src/yuzu/main.cpp" line="2265"/> <source>%n file(s) were overwritten </source> <translation type="unfinished"><numerusform></numerusform><numerusform></numerusform></translation> </message> <message numerus="yes"> - <location filename="../../src/yuzu/main.cpp" line="2274"/> + <location filename="../../src/yuzu/main.cpp" line="2267"/> <source>%n file(s) failed to install </source> <translation type="unfinished"><numerusform></numerusform><numerusform></numerusform></translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="2375"/> + <location filename="../../src/yuzu/main.cpp" line="2368"/> <source>System Application</source> <translation>Aplicació de Sistema</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="2376"/> + <location filename="../../src/yuzu/main.cpp" line="2369"/> <source>System Archive</source> <translation>Arxiu de Sistema</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="2377"/> + <location filename="../../src/yuzu/main.cpp" line="2370"/> <source>System Application Update</source> <translation>Actualització de l'Aplicació del Sistema</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="2378"/> + <location filename="../../src/yuzu/main.cpp" line="2371"/> <source>Firmware Package (Type A)</source> <translation>Paquet de Firmware (Tipus A)</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="2379"/> + <location filename="../../src/yuzu/main.cpp" line="2372"/> <source>Firmware Package (Type B)</source> <translation>Paquet de Firmware (Tipus B)</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="2380"/> + <location filename="../../src/yuzu/main.cpp" line="2373"/> <source>Game</source> <translation>Joc</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="2381"/> + <location filename="../../src/yuzu/main.cpp" line="2374"/> <source>Game Update</source> <translation>Actualització Joc</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="2382"/> + <location filename="../../src/yuzu/main.cpp" line="2375"/> <source>Game DLC</source> <translation>DLC Joc</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="2383"/> + <location filename="../../src/yuzu/main.cpp" line="2376"/> <source>Delta Title</source> <translation>Títol Delta</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="2386"/> + <location filename="../../src/yuzu/main.cpp" line="2379"/> <source>Select NCA Install Type...</source> <translation>Seleccioni el Tipus d'Instal·lació NCA...</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="2387"/> + <location filename="../../src/yuzu/main.cpp" line="2380"/> <source>Please select the type of title you would like to install this NCA as: (In most instances, the default 'Game' is fine.)</source> <translation>Seleccioni el tipus de títol que desitja instal·lar aquest NCA com a: (En la majoria dels casos, el valor predeterminat 'Joc' està bé.)</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="2393"/> + <location filename="../../src/yuzu/main.cpp" line="2386"/> <source>Failed to Install</source> <translation>Ha Fallat la Instal·lació</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="2394"/> + <location filename="../../src/yuzu/main.cpp" line="2387"/> <source>The title type you selected for the NCA is invalid.</source> <translation>El tipus de títol seleccionat per el NCA és invàlid.</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="2429"/> + <location filename="../../src/yuzu/main.cpp" line="2422"/> <source>File not found</source> <translation>Arxiu no trobat</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="2430"/> + <location filename="../../src/yuzu/main.cpp" line="2423"/> <source>File "%1" not found</source> <translation>Arxiu "%1" no trobat</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="2445"/> - <location filename="../../src/yuzu/main.cpp" line="3448"/> - <source>&Continue</source> - <translation type="unfinished"/> - </message> - <message> - <location filename="../../src/yuzu/main.cpp" line="2494"/> + <location filename="../../src/yuzu/main.cpp" line="2492"/> <source>OK</source> <translation type="unfinished"/> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="2508"/> + <location filename="../../src/yuzu/main.cpp" line="2506"/> <source>Missing yuzu Account</source> <translation>Falta el Compte de yuzu</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="2509"/> + <location filename="../../src/yuzu/main.cpp" line="2507"/> <source>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.</source> <translation>Per tal d'enviar un cas de prova de compatibilitat de joc, ha de vincular el seu compte de yuzu.<br><br/>Per a vincular el seu compte de yuzu, vagi a Emulació & gt; Configuració & gt; Web.</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="2519"/> + <location filename="../../src/yuzu/main.cpp" line="2517"/> <source>Error opening URL</source> <translation>Error obrint URL</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="2520"/> + <location filename="../../src/yuzu/main.cpp" line="2518"/> <source>Unable to open the URL "%1".</source> <translation>No es pot obrir la URL "%1".</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="2802"/> + <location filename="../../src/yuzu/main.cpp" line="2777"/> + <source>TAS Recording</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/main.cpp" line="2777"/> + <source>Overwrite file of player 1?</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/main.cpp" line="2830"/> <source>Amiibo File (%1);; All Files (*.*)</source> <translation>Arxiu Amiibo (%1);; Tots els Arxius (*.*)</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="2803"/> + <location filename="../../src/yuzu/main.cpp" line="2831"/> <source>Load Amiibo</source> <translation>Carregar Amiibo</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="2821"/> + <location filename="../../src/yuzu/main.cpp" line="2849"/> <source>Error opening Amiibo data file</source> <translation>Error obrint l'arxiu de dades d'Amiibo</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="2822"/> + <location filename="../../src/yuzu/main.cpp" line="2850"/> <source>Unable to open Amiibo file "%1" for reading.</source> <translation>No s'ha pogut obrir l'arxiu de dades d'Amiibo "%1" per a lectura.</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="2830"/> + <location filename="../../src/yuzu/main.cpp" line="2858"/> <source>Error reading Amiibo data file</source> <translation>Error llegint l'arxiu de dades d'Amiibo</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="2831"/> + <location filename="../../src/yuzu/main.cpp" line="2859"/> <source>Unable to fully read Amiibo data. Expected to read %1 bytes, but was only able to read %2 bytes.</source> <translation>No s'han pogut llegir completament les dades d'Amiibo. S'esperava llegir %1 bytes, però només s'han pogut llegir %2 bytes.</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="2839"/> + <location filename="../../src/yuzu/main.cpp" line="2867"/> <source>Error loading Amiibo data</source> <translation>Error al carregar les dades d'Amiibo</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="2840"/> + <location filename="../../src/yuzu/main.cpp" line="2868"/> <source>Unable to load Amiibo data.</source> <translation>No s'han pogut carregar les dades d'Amiibo.</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="2881"/> + <location filename="../../src/yuzu/main.cpp" line="2913"/> <source>Capture Screenshot</source> <translation>Captura de Pantalla</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="2882"/> + <location filename="../../src/yuzu/main.cpp" line="2914"/> <source>PNG Image (*.png)</source> <translation>Imatge PNG (*.png)</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="2948"/> + <location filename="../../src/yuzu/main.cpp" line="2979"/> <source>TAS state: Running %1/%2</source> <translation type="unfinished"/> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="2950"/> + <location filename="../../src/yuzu/main.cpp" line="2981"/> <source>TAS state: Recording %1</source> <translation type="unfinished"/> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="2952"/> + <location filename="../../src/yuzu/main.cpp" line="2983"/> <source>TAS state: Idle %1/%2</source> <translation type="unfinished"/> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="2954"/> + <location filename="../../src/yuzu/main.cpp" line="2985"/> <source>TAS State: Invalid</source> <translation type="unfinished"/> </message> + <message> + <location filename="../../src/yuzu/main.cpp" line="2999"/> + <source>&Stop Running</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/main.cpp" line="2999"/> + <source>&Start</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/main.cpp" line="3000"/> + <source>Stop R&ecording</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/main.cpp" line="3000"/> + <source>R&ecord</source> + <translation type="unfinished"/> + </message> <message numerus="yes"> - <location filename="../../src/yuzu/main.cpp" line="2975"/> + <location filename="../../src/yuzu/main.cpp" line="3024"/> <source>Building: %n shader(s)</source> <translation type="unfinished"><numerusform></numerusform><numerusform></numerusform></translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="2982"/> + <location filename="../../src/yuzu/main.cpp" line="3033"/> + <source>Scale: %1x</source> + <comment>%1 is the resolution scaling factor</comment> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/main.cpp" line="3036"/> <source>Speed: %1% / %2%</source> <translation>Velocitat: %1% / %2%</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="2986"/> + <location filename="../../src/yuzu/main.cpp" line="3040"/> <source>Speed: %1%</source> <translation>Velocitat: %1%</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="2990"/> + <location filename="../../src/yuzu/main.cpp" line="3044"/> <source>Game: %1 FPS (Unlocked)</source> <translation type="unfinished"/> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="2992"/> + <location filename="../../src/yuzu/main.cpp" line="3046"/> <source>Game: %1 FPS</source> <translation>Joc: %1 FPS</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="2994"/> + <location filename="../../src/yuzu/main.cpp" line="3048"/> <source>Frame: %1 ms</source> <translation>Fotograma: %1 ms</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="3004"/> + <location filename="../../src/yuzu/main.cpp" line="3059"/> <source>GPU NORMAL</source> <translation type="unfinished"/> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="3009"/> + <location filename="../../src/yuzu/main.cpp" line="3064"/> <source>GPU HIGH</source> <translation type="unfinished"/> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="3014"/> + <location filename="../../src/yuzu/main.cpp" line="3069"/> <source>GPU EXTREME</source> <translation type="unfinished"/> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="3019"/> + <location filename="../../src/yuzu/main.cpp" line="3074"/> <source>GPU ERROR</source> <translation type="unfinished"/> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="3076"/> + <location filename="../../src/yuzu/main.cpp" line="3084"/> + <source>NEAREST</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/main.cpp" line="3087"/> + <location filename="../../src/yuzu/main.cpp" line="3102"/> + <source>BILINEAR</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/main.cpp" line="3090"/> + <source>BICUBIC</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/main.cpp" line="3093"/> + <source>GAUSSIAN</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/main.cpp" line="3096"/> + <source>SCALEFORCE</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/main.cpp" line="3099"/> + <source>FSR</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/main.cpp" line="3111"/> + <location filename="../../src/yuzu/main.cpp" line="3117"/> + <source>NO AA</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/main.cpp" line="3114"/> + <source>FXAA</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/main.cpp" line="3175"/> <source>The game you are trying to load requires additional files from your Switch to be dumped before playing.<br/><br/>For more information on dumping these files, please see the following wiki page: <a href='https://yuzu-emu.org/wiki/dumping-system-archives-and-the-shared-fonts-from-a-switch-console/'>Dumping System Archives and the Shared Fonts from a Switch Console</a>.<br/><br/>Would you like to quit back to the game list? Continuing emulation may result in crashes, corrupted save data, or other bugs.</source> <translation>El joc que està intentant carregar requereix d'arxius addicionals de la seva Switch abans de poder jugar. <br/><br/>Per a obtenir més informació sobre com bolcar aquests arxius, vagi a la següent pàgina de la wiki: <a href='https://yuzu-emu.org/wiki/dumping-system-archives-and-the-shared-fonts-from-a-switch-console/'>Bolcar arxius del sistema i les fonts compartides des d'una Consola Switch</a>. <br/><br/>Desitja tornar a la llista de jocs? Continuar amb l'emulació pot provocar el tancament inesperat, dades de partides guardades corruptes o altres errors.</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="3091"/> + <location filename="../../src/yuzu/main.cpp" line="3190"/> <source>yuzu was unable to locate a Switch system archive. %1</source> <translation>yuzu no ha pogut localitzar l'arxiu de sistema de la Switch. %1</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="3093"/> + <location filename="../../src/yuzu/main.cpp" line="3192"/> <source>yuzu was unable to locate a Switch system archive: %1. %2</source> <translation>yuzu no ha pogut localitzar un arxiu de sistema de la Switch: %1. %2</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="3097"/> + <location filename="../../src/yuzu/main.cpp" line="3196"/> <source>System Archive Not Found</source> <translation>Arxiu del Sistema no Trobat</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="3099"/> + <location filename="../../src/yuzu/main.cpp" line="3198"/> <source>System Archive Missing</source> <translation>Falta Arxiu del Sistema</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="3105"/> + <location filename="../../src/yuzu/main.cpp" line="3204"/> <source>yuzu was unable to locate the Switch shared fonts. %1</source> <translation>yuzu no ha pogut trobar les fonts compartides de la Switch. %1</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="3106"/> + <location filename="../../src/yuzu/main.cpp" line="3205"/> <source>Shared Fonts Not Found</source> <translation>Fonts Compartides no Trobades</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="3108"/> + <location filename="../../src/yuzu/main.cpp" line="3207"/> <source>Shared Font Missing</source> <translation>Falten les Fonts Compartides</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="3114"/> + <location filename="../../src/yuzu/main.cpp" line="3213"/> <source>Fatal Error</source> <translation>Error Fatal</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="3115"/> + <location filename="../../src/yuzu/main.cpp" line="3214"/> <source>yuzu has encountered a fatal error, please see the log for more details. For more information on accessing the log, please see the following page: <a href='https://community.citra-emu.org/t/how-to-upload-the-log-file/296'>How to Upload the Log File</a>.<br/><br/>Would you like to quit back to the game list? Continuing emulation may result in crashes, corrupted save data, or other bugs.</source> <translation>yuzu ha trobat un error fatal, consulti el registre per a obtenir més detalls. Per a més informació sobre com accedir al registre, consulti la següent pàgina: <a href='https://community.citra-emu.org/t/how-to-upload-the-log-file/296'>Com carregar l'arxiu de registre?</a>.<br/><br/> Desitja tornar al llistat de jocs? Continuar amb l'emulació pot provocar el tancament inesperat, dades de partides guardades corruptes o altres errors.</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="3124"/> + <location filename="../../src/yuzu/main.cpp" line="3223"/> <source>Fatal Error encountered</source> <translation>Trobat Error Fatal</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="3147"/> + <location filename="../../src/yuzu/main.cpp" line="3246"/> <source>Confirm Key Rederivation</source> <translation>Confirmi la Clau de Rederivació</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="3148"/> + <location filename="../../src/yuzu/main.cpp" line="3247"/> <source>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. @@ -4441,37 +4575,37 @@ i opcionalment faci còpies de seguretat. Això eliminarà els arxius de les claus generats automàticament i tornarà a executar el mòdul de derivació de claus.</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="3180"/> + <location filename="../../src/yuzu/main.cpp" line="3279"/> <source>Missing fuses</source> <translation>Falten fusibles</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="3183"/> + <location filename="../../src/yuzu/main.cpp" line="3282"/> <source> - Missing BOOT0</source> <translation> - Falta BOOT0</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="3186"/> + <location filename="../../src/yuzu/main.cpp" line="3285"/> <source> - Missing BCPKG2-1-Normal-Main</source> <translation> - Falta BCPKG2-1-Normal-Main</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="3189"/> + <location filename="../../src/yuzu/main.cpp" line="3288"/> <source> - Missing PRODINFO</source> <translation> - Falta PRODINFO</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="3193"/> + <location filename="../../src/yuzu/main.cpp" line="3292"/> <source>Derivation Components Missing</source> <translation>Falten Components de Derivació</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="3194"/> - <source>Components are missing that may hinder key derivation from completing. <br>Please follow <a href='https://yuzu-emu.org/help/quickstart/'>the yuzu quickstart guide</a> to get all your keys and games.<br><br><small>(%1)</small></source> - <translation>Falten components que poden impedir que la derivació de la clau es completi. <br>Si us plau, segueixi <a href='https://yuzu-emu.org/help/quickstart/'>la guia d'inici ràpid de yuzu</a> per a obtenir totes les seves claus i jocs.<br><br><small>(%1)</small></translation> + <location filename="../../src/yuzu/main.cpp" line="3293"/> + <source>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></source> + <translation type="unfinished"/> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="3203"/> + <location filename="../../src/yuzu/main.cpp" line="3302"/> <source>Deriving keys... This may take up to a minute depending on your system's performance.</source> @@ -4480,39 +4614,39 @@ Això pot prendre fins a un minut depenent del rendiment del seu sistema.</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="3205"/> + <location filename="../../src/yuzu/main.cpp" line="3304"/> <source>Deriving Keys</source> <translation>Derivant Claus</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="3250"/> + <location filename="../../src/yuzu/main.cpp" line="3349"/> <source>Select RomFS Dump Target</source> <translation>Seleccioni el Destinatari per a Bolcar el RomFS</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="3251"/> + <location filename="../../src/yuzu/main.cpp" line="3350"/> <source>Please select which RomFS you would like to dump.</source> <translation>Si us plau, seleccioni quin RomFS desitja bolcar.</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="3266"/> + <location filename="../../src/yuzu/main.cpp" line="3365"/> <source>Are you sure you want to close yuzu?</source> <translation>Està segur de que vol tancar yuzu?</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="3267"/> - <location filename="../../src/yuzu/main.cpp" line="3342"/> - <location filename="../../src/yuzu/main.cpp" line="3355"/> + <location filename="../../src/yuzu/main.cpp" line="3366"/> + <location filename="../../src/yuzu/main.cpp" line="3443"/> + <location filename="../../src/yuzu/main.cpp" line="3456"/> <source>yuzu</source> <translation>yuzu</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="3343"/> + <location filename="../../src/yuzu/main.cpp" line="3444"/> <source>Are you sure you want to stop the emulation? Any unsaved progress will be lost.</source> <translation>Està segur de que vol aturar l'emulació? Qualsevol progrés no guardat es perdrà.</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="3352"/> + <location filename="../../src/yuzu/main.cpp" line="3453"/> <source>The currently running application has requested yuzu to not exit. Would you like to bypass this and exit anyway?</source> @@ -4524,38 +4658,38 @@ Desitja tancar-lo de totes maneres?</translation> <context> <name>GRenderWindow</name> <message> - <location filename="../../src/yuzu/bootmanager.cpp" line="675"/> + <location filename="../../src/yuzu/bootmanager.cpp" line="976"/> <source>OpenGL not available!</source> <translation>OpenGL no disponible!</translation> </message> <message> - <location filename="../../src/yuzu/bootmanager.cpp" line="676"/> + <location filename="../../src/yuzu/bootmanager.cpp" line="977"/> <source>yuzu has not been compiled with OpenGL support.</source> <translation>yuzu no ha estat compilat amb suport per OpenGL.</translation> </message> <message> - <location filename="../../src/yuzu/bootmanager.cpp" line="695"/> - <location filename="../../src/yuzu/bootmanager.cpp" line="715"/> + <location filename="../../src/yuzu/bootmanager.cpp" line="996"/> + <location filename="../../src/yuzu/bootmanager.cpp" line="1016"/> <source>Error while initializing OpenGL!</source> <translation>Error al inicialitzar OpenGL!</translation> </message> <message> - <location filename="../../src/yuzu/bootmanager.cpp" line="696"/> + <location filename="../../src/yuzu/bootmanager.cpp" line="997"/> <source>Your GPU may not support OpenGL, or you do not have the latest graphics driver.</source> <translation type="unfinished"/> </message> <message> - <location filename="../../src/yuzu/bootmanager.cpp" line="705"/> + <location filename="../../src/yuzu/bootmanager.cpp" line="1006"/> <source>Error while initializing OpenGL 4.6!</source> <translation type="unfinished"/> </message> <message> - <location filename="../../src/yuzu/bootmanager.cpp" line="706"/> + <location filename="../../src/yuzu/bootmanager.cpp" line="1007"/> <source>Your GPU may not support OpenGL 4.6, or you do not have the latest graphics driver.<br><br>GL Renderer:<br>%1</source> <translation type="unfinished"/> </message> <message> - <location filename="../../src/yuzu/bootmanager.cpp" line="716"/> + <location filename="../../src/yuzu/bootmanager.cpp" line="1017"/> <source>Your GPU may not support one or more required OpenGL extensions. Please ensure you have the latest graphics driver.<br><br>GL Renderer:<br>%1<br><br>Unsupported extensions:<br>%2</source> <translation type="unfinished"/> </message> @@ -4916,190 +5050,205 @@ d'inici.</translation> <translation>&Emulació</translation> </message> <message> - <location filename="../../src/yuzu/main.ui" line="79"/> + <location filename="../../src/yuzu/main.ui" line="78"/> <source>&View</source> <translation>&Veure</translation> </message> <message> - <location filename="../../src/yuzu/main.ui" line="83"/> + <location filename="../../src/yuzu/main.ui" line="82"/> <source>&Reset Window Size</source> <translation type="unfinished"/> </message> <message> - <location filename="../../src/yuzu/main.ui" line="88"/> + <location filename="../../src/yuzu/main.ui" line="87"/> + <source>&Debugging</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/main.ui" line="92"/> <source>Reset Window Size to &720p</source> <translation type="unfinished"/> </message> <message> - <location filename="../../src/yuzu/main.ui" line="91"/> + <location filename="../../src/yuzu/main.ui" line="95"/> <source>Reset Window Size to 720p</source> <translation type="unfinished"/> </message> <message> - <location filename="../../src/yuzu/main.ui" line="96"/> + <location filename="../../src/yuzu/main.ui" line="100"/> <source>Reset Window Size to &900p</source> <translation type="unfinished"/> </message> <message> - <location filename="../../src/yuzu/main.ui" line="99"/> + <location filename="../../src/yuzu/main.ui" line="103"/> <source>Reset Window Size to 900p</source> <translation type="unfinished"/> </message> <message> - <location filename="../../src/yuzu/main.ui" line="104"/> + <location filename="../../src/yuzu/main.ui" line="108"/> <source>Reset Window Size to &1080p</source> <translation type="unfinished"/> </message> <message> - <location filename="../../src/yuzu/main.ui" line="107"/> + <location filename="../../src/yuzu/main.ui" line="111"/> <source>Reset Window Size to 1080p</source> <translation type="unfinished"/> </message> <message> - <location filename="../../src/yuzu/main.ui" line="112"/> - <source>&Debugging</source> + <location filename="../../src/yuzu/main.ui" line="125"/> + <source>&Tools</source> <translation type="unfinished"/> </message> <message> - <location filename="../../src/yuzu/main.ui" line="126"/> - <source>&Tools</source> + <location filename="../../src/yuzu/main.ui" line="129"/> + <source>&TAS</source> <translation type="unfinished"/> </message> <message> - <location filename="../../src/yuzu/main.ui" line="135"/> + <location filename="../../src/yuzu/main.ui" line="144"/> <source>&Help</source> <translation>&Ajuda</translation> </message> <message> - <location filename="../../src/yuzu/main.ui" line="155"/> + <location filename="../../src/yuzu/main.ui" line="164"/> <source>&Install Files to NAND...</source> <translation type="unfinished"/> </message> <message> - <location filename="../../src/yuzu/main.ui" line="160"/> + <location filename="../../src/yuzu/main.ui" line="169"/> <source>L&oad File...</source> <translation type="unfinished"/> </message> <message> - <location filename="../../src/yuzu/main.ui" line="165"/> + <location filename="../../src/yuzu/main.ui" line="174"/> <source>Load &Folder...</source> <translation type="unfinished"/> </message> <message> - <location filename="../../src/yuzu/main.ui" line="170"/> + <location filename="../../src/yuzu/main.ui" line="179"/> <source>E&xit</source> <translation>S&ortir</translation> </message> <message> - <location filename="../../src/yuzu/main.ui" line="178"/> - <source>&Start</source> - <translation>&Iniciar</translation> - </message> - <message> - <location filename="../../src/yuzu/main.ui" line="186"/> + <location filename="../../src/yuzu/main.ui" line="187"/> <source>&Pause</source> <translation>&Pausar</translation> </message> <message> - <location filename="../../src/yuzu/main.ui" line="194"/> + <location filename="../../src/yuzu/main.ui" line="195"/> <source>&Stop</source> <translation>&Aturar</translation> </message> <message> - <location filename="../../src/yuzu/main.ui" line="199"/> + <location filename="../../src/yuzu/main.ui" line="200"/> <source>&Reinitialize keys...</source> <translation type="unfinished"/> </message> <message> - <location filename="../../src/yuzu/main.ui" line="204"/> + <location filename="../../src/yuzu/main.ui" line="205"/> <source>&About yuzu</source> <translation type="unfinished"/> </message> <message> - <location filename="../../src/yuzu/main.ui" line="212"/> + <location filename="../../src/yuzu/main.ui" line="213"/> <source>Single &Window Mode</source> <translation type="unfinished"/> </message> <message> - <location filename="../../src/yuzu/main.ui" line="217"/> + <location filename="../../src/yuzu/main.ui" line="218"/> <source>Con&figure...</source> <translation type="unfinished"/> </message> <message> - <location filename="../../src/yuzu/main.ui" line="225"/> + <location filename="../../src/yuzu/main.ui" line="226"/> <source>Display D&ock Widget Headers</source> <translation type="unfinished"/> </message> <message> - <location filename="../../src/yuzu/main.ui" line="233"/> + <location filename="../../src/yuzu/main.ui" line="234"/> <source>Show &Filter Bar</source> <translation type="unfinished"/> </message> <message> - <location filename="../../src/yuzu/main.ui" line="241"/> + <location filename="../../src/yuzu/main.ui" line="242"/> <source>Show &Status Bar</source> <translation type="unfinished"/> </message> <message> - <location filename="../../src/yuzu/main.ui" line="244"/> + <location filename="../../src/yuzu/main.ui" line="245"/> <source>Show Status Bar</source> <translation>Mostrar Barra d'Estat</translation> </message> <message> - <location filename="../../src/yuzu/main.ui" line="252"/> + <location filename="../../src/yuzu/main.ui" line="253"/> <source>F&ullscreen</source> <translation type="unfinished"/> </message> <message> - <location filename="../../src/yuzu/main.ui" line="260"/> + <location filename="../../src/yuzu/main.ui" line="261"/> <source>&Restart</source> <translation type="unfinished"/> </message> <message> - <location filename="../../src/yuzu/main.ui" line="268"/> + <location filename="../../src/yuzu/main.ui" line="269"/> <source>Load &Amiibo...</source> <translation type="unfinished"/> </message> <message> - <location filename="../../src/yuzu/main.ui" line="276"/> + <location filename="../../src/yuzu/main.ui" line="277"/> <source>&Report Compatibility</source> <translation type="unfinished"/> </message> <message> - <location filename="../../src/yuzu/main.ui" line="284"/> + <location filename="../../src/yuzu/main.ui" line="285"/> <source>Open &Mods Page</source> <translation type="unfinished"/> </message> <message> - <location filename="../../src/yuzu/main.ui" line="289"/> + <location filename="../../src/yuzu/main.ui" line="290"/> <source>Open &Quickstart Guide</source> <translation type="unfinished"/> </message> <message> - <location filename="../../src/yuzu/main.ui" line="294"/> + <location filename="../../src/yuzu/main.ui" line="295"/> <source>&FAQ</source> <translation type="unfinished"/> </message> <message> - <location filename="../../src/yuzu/main.ui" line="299"/> + <location filename="../../src/yuzu/main.ui" line="300"/> <source>Open &yuzu Folder</source> <translation type="unfinished"/> </message> <message> - <location filename="../../src/yuzu/main.ui" line="307"/> + <location filename="../../src/yuzu/main.ui" line="308"/> <source>&Capture Screenshot</source> <translation type="unfinished"/> </message> <message> - <location filename="../../src/yuzu/main.ui" line="312"/> - <source>Configure &TAS...</source> + <location filename="../../src/yuzu/main.ui" line="313"/> + <source>&Configure TAS...</source> <translation type="unfinished"/> </message> <message> - <location filename="../../src/yuzu/main.ui" line="320"/> + <location filename="../../src/yuzu/main.ui" line="321"/> <source>Configure C&urrent Game...</source> <translation type="unfinished"/> </message> + <message> + <location filename="../../src/yuzu/main.ui" line="329"/> + <source>&Start</source> + <translation>&Iniciar</translation> + </message> + <message> + <location filename="../../src/yuzu/main.ui" line="337"/> + <source>&Reset</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/main.ui" line="345"/> + <source>R&ecord</source> + <translation type="unfinished"/> + </message> </context> <context> <name>MicroProfileDialog</name> @@ -5141,10 +5290,15 @@ p, li { white-space: pre-wrap; } <context> <name>PlayerControlPreview</name> <message> - <location filename="../../src/yuzu/configuration/configure_input_player_widget.cpp" line="1566"/> + <location filename="../../src/yuzu/configuration/configure_input_player_widget.cpp" line="1572"/> <source>START/PAUSE</source> <translation type="unfinished"/> </message> + <message> + <location filename="../../src/yuzu/configuration/configure_input_player_widget.cpp" line="2685"/> + <source>Charging</source> + <translation type="unfinished"/> + </message> </context> <context> <name>QObject</name> @@ -5175,142 +5329,222 @@ p, li { white-space: pre-wrap; } </message> <message> <location filename="../../src/yuzu/configuration/configure_touch_from_button.cpp" line="23"/> - <location filename="../../src/yuzu/configuration/configure_mouse_advanced.cpp" line="32"/> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="72"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="43"/> <source>Shift</source> <translation>Shift</translation> </message> <message> <location filename="../../src/yuzu/configuration/configure_touch_from_button.cpp" line="25"/> - <location filename="../../src/yuzu/configuration/configure_mouse_advanced.cpp" line="34"/> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="74"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="45"/> <source>Ctrl</source> <translation>Ctrl</translation> </message> <message> <location filename="../../src/yuzu/configuration/configure_touch_from_button.cpp" line="27"/> - <location filename="../../src/yuzu/configuration/configure_mouse_advanced.cpp" line="36"/> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="76"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="47"/> <source>Alt</source> <translation>Alt</translation> </message> <message> <location filename="../../src/yuzu/configuration/configure_touch_from_button.cpp" line="37"/> - <location filename="../../src/yuzu/configuration/configure_mouse_advanced.cpp" line="46"/> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="103"/> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="190"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="130"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="196"/> <source>[not set]</source> <translation>[no establert]</translation> </message> <message> <location filename="../../src/yuzu/configuration/configure_touch_from_button.cpp" line="49"/> - <location filename="../../src/yuzu/configuration/configure_mouse_advanced.cpp" line="58"/> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="152"/> <source>Hat %1 %2</source> <translation>Rotació %1 %2</translation> </message> <message> <location filename="../../src/yuzu/configuration/configure_touch_from_button.cpp" line="56"/> - <location filename="../../src/yuzu/configuration/configure_mouse_advanced.cpp" line="65"/> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="159"/> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="210"/> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="214"/> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="218"/> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="222"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="219"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="223"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="227"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="231"/> <source>Axis %1%2</source> <translation>Eix %1%2</translation> </message> <message> <location filename="../../src/yuzu/configuration/configure_touch_from_button.cpp" line="62"/> - <location filename="../../src/yuzu/configuration/configure_mouse_advanced.cpp" line="71"/> <source>Button %1</source> <translation>Botó %1</translation> </message> <message> <location filename="../../src/yuzu/configuration/configure_touch_from_button.cpp" line="68"/> - <location filename="../../src/yuzu/configuration/configure_mouse_advanced.cpp" line="76"/> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="185"/> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="227"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="190"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="204"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="234"/> <source>[unknown]</source> <translation>[desconegut]</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_mouse_advanced.cpp" line="22"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="58"/> + <source>Left</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="60"/> + <source>Right</source> + <translation type="unfinished"/> + </message> + <message> <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="62"/> - <source>Click 0</source> - <translation>Clic 0</translation> + <source>Down</source> + <translation type="unfinished"/> </message> <message> - <location filename="../../src/yuzu/configuration/configure_mouse_advanced.cpp" line="24"/> <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="64"/> - <source>Click 1</source> - <translation>Clic 1</translation> + <source>Up</source> + <translation type="unfinished"/> </message> <message> - <location filename="../../src/yuzu/configuration/configure_mouse_advanced.cpp" line="26"/> <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="66"/> - <source>Click 2</source> - <translation>Clic 2</translation> + <source>Z</source> + <translation type="unfinished"/> </message> <message> - <location filename="../../src/yuzu/configuration/configure_mouse_advanced.cpp" line="28"/> <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="68"/> - <source>Click 3</source> - <translation>Clic 3</translation> + <source>R</source> + <translation type="unfinished"/> </message> <message> - <location filename="../../src/yuzu/configuration/configure_mouse_advanced.cpp" line="30"/> <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="70"/> - <source>Click 4</source> - <translation>Clic 4</translation> + <source>L</source> + <translation type="unfinished"/> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="109"/> - <source>%1%2</source> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="72"/> + <source>A</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="74"/> + <source>B</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="76"/> + <source>X</source> <translation type="unfinished"/> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="117"/> - <source>GC Axis %1%2</source> - <translation>Eix GC %1%2</translation> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="78"/> + <source>Y</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="80"/> + <source>Start</source> + <translation type="unfinished"/> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="121"/> - <source>GC Button %1</source> - <translation>Botó GC %1</translation> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="82"/> + <source>L1</source> + <translation type="unfinished"/> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="130"/> - <source>TAS Axis %1</source> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="84"/> + <source>L2</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="86"/> + <source>L3</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="88"/> + <source>R1</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="90"/> + <source>R2</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="92"/> + <source>R3</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="94"/> + <source>Circle</source> <translation type="unfinished"/> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="134"/> - <source>TAS Btn %1</source> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="96"/> + <source>Cross</source> <translation type="unfinished"/> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="142"/> - <source>Motion %1</source> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="98"/> + <source>Square</source> <translation type="unfinished"/> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="166"/> - <source>%1Button %2</source> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="100"/> + <source>Triangle</source> <translation type="unfinished"/> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="170"/> - <source>SDL Motion</source> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="102"/> + <source>Share</source> <translation type="unfinished"/> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="180"/> - <source>%1Click %2</source> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="104"/> + <source>Options</source> <translation type="unfinished"/> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="205"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="106"/> + <source>[undefined]</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="140"/> + <source>%1%2</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="144"/> + <source>[invalid]</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="154"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="178"/> + <source>%1%2Hat %3</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="158"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="181"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="184"/> + <source>%1%2Axis %3</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="164"/> + <source>%1%2Axis %3,%4,%5</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="168"/> + <source>%1%2Motion %3</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="172"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="187"/> + <source>%1%2Button %3</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="214"/> <source>[unused]</source> <translation>[sense ús]</translation> </message> @@ -5351,7 +5585,7 @@ p, li { white-space: pre-wrap; } <location filename="../../src/yuzu/applets/qt_controller.ui" line="1656"/> <location filename="../../src/yuzu/applets/qt_controller.ui" line="1857"/> <location filename="../../src/yuzu/applets/qt_controller.ui" line="2054"/> - <location filename="../../src/yuzu/applets/qt_controller.cpp" line="419"/> + <location filename="../../src/yuzu/applets/qt_controller.cpp" line="411"/> <source>Pro Controller</source> <translation type="unfinished"/> </message> @@ -5364,7 +5598,7 @@ p, li { white-space: pre-wrap; } <location filename="../../src/yuzu/applets/qt_controller.ui" line="1661"/> <location filename="../../src/yuzu/applets/qt_controller.ui" line="1862"/> <location filename="../../src/yuzu/applets/qt_controller.ui" line="2059"/> - <location filename="../../src/yuzu/applets/qt_controller.cpp" line="423"/> + <location filename="../../src/yuzu/applets/qt_controller.cpp" line="415"/> <source>Dual Joycons</source> <translation type="unfinished"/> </message> @@ -5377,7 +5611,7 @@ p, li { white-space: pre-wrap; } <location filename="../../src/yuzu/applets/qt_controller.ui" line="1666"/> <location filename="../../src/yuzu/applets/qt_controller.ui" line="1867"/> <location filename="../../src/yuzu/applets/qt_controller.ui" line="2064"/> - <location filename="../../src/yuzu/applets/qt_controller.cpp" line="427"/> + <location filename="../../src/yuzu/applets/qt_controller.cpp" line="419"/> <source>Left Joycon</source> <translation type="unfinished"/> </message> @@ -5390,7 +5624,7 @@ p, li { white-space: pre-wrap; } <location filename="../../src/yuzu/applets/qt_controller.ui" line="1671"/> <location filename="../../src/yuzu/applets/qt_controller.ui" line="1872"/> <location filename="../../src/yuzu/applets/qt_controller.ui" line="2069"/> - <location filename="../../src/yuzu/applets/qt_controller.cpp" line="431"/> + <location filename="../../src/yuzu/applets/qt_controller.cpp" line="423"/> <source>Right Joycon</source> <translation type="unfinished"/> </message> @@ -5418,7 +5652,7 @@ p, li { white-space: pre-wrap; } </message> <message> <location filename="../../src/yuzu/applets/qt_controller.ui" line="932"/> - <location filename="../../src/yuzu/applets/qt_controller.cpp" line="436"/> + <location filename="../../src/yuzu/applets/qt_controller.cpp" line="428"/> <source>Handheld</source> <translation type="unfinished"/> </message> @@ -5539,7 +5773,7 @@ p, li { white-space: pre-wrap; } <translation type="unfinished"/> </message> <message> - <location filename="../../src/yuzu/applets/qt_controller.cpp" line="441"/> + <location filename="../../src/yuzu/applets/qt_controller.cpp" line="433"/> <source>GameCube Controller</source> <translation type="unfinished"/> </message> @@ -5623,13 +5857,13 @@ p, li { white-space: pre-wrap; } <translation type="unfinished"/> </message> <message> - <location filename="../../src/yuzu/applets/qt_software_keyboard.cpp" line="396"/> - <location filename="../../src/yuzu/applets/qt_software_keyboard.cpp" line="406"/> + <location filename="../../src/yuzu/applets/qt_software_keyboard.cpp" line="399"/> + <location filename="../../src/yuzu/applets/qt_software_keyboard.cpp" line="409"/> <source>OK</source> <translation type="unfinished"/> </message> <message> - <location filename="../../src/yuzu/applets/qt_software_keyboard.cpp" line="406"/> + <location filename="../../src/yuzu/applets/qt_software_keyboard.cpp" line="409"/> <source>Cancel</source> <translation type="unfinished"/> </message> diff --git a/dist/languages/cs.ts b/dist/languages/cs.ts index a2613e583..044b87ab8 100644 --- a/dist/languages/cs.ts +++ b/dist/languages/cs.ts @@ -658,7 +658,12 @@ p, li { white-space: pre-wrap; } <translation type="unfinished"/> </message> <message> - <location filename="../../src/yuzu/configuration/configure_debug.ui" line="212"/> + <location filename="../../src/yuzu/configuration/configure_debug.ui" line="204"/> + <source>Enable all Controller Types</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_debug.ui" line="219"/> <source>**This will be reset automatically when yuzu closes.</source> <translation type="unfinished"/> </message> @@ -938,67 +943,78 @@ p, li { white-space: pre-wrap; } <translation>Obecné</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_general.ui" line="35"/> - <source>Framerate Cap</source> + <location filename="../../src/yuzu/configuration/configure_general.ui" line="50"/> + <location filename="../../src/yuzu/configuration/configure_general.ui" line="57"/> + <source>Use global framerate cap</source> <translation type="unfinished"/> </message> <message> - <location filename="../../src/yuzu/configuration/configure_general.ui" line="38"/> + <location filename="../../src/yuzu/configuration/configure_general.ui" line="62"/> + <source>Set framerate cap:</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_general.ui" line="70"/> <source>Requires the use of the FPS Limiter Toggle hotkey to take effect.</source> <translation type="unfinished"/> </message> <message> - <location filename="../../src/yuzu/configuration/configure_general.ui" line="45"/> + <location filename="../../src/yuzu/configuration/configure_general.ui" line="73"/> + <source>Framerate Cap</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_general.ui" line="95"/> <source>x</source> <translation>x</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_general.ui" line="65"/> + <location filename="../../src/yuzu/configuration/configure_general.ui" line="116"/> <source>Limit Speed Percent</source> <translation>Omezení rychlosti v procentech</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_general.ui" line="72"/> + <location filename="../../src/yuzu/configuration/configure_general.ui" line="123"/> <source>%</source> <translation>%</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_general.ui" line="90"/> + <location filename="../../src/yuzu/configuration/configure_general.ui" line="141"/> <source>Multicore CPU Emulation</source> <translation>Vícejádrová emulace CPU</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_general.ui" line="97"/> + <location filename="../../src/yuzu/configuration/configure_general.ui" line="148"/> <source>Confirm exit while emulation is running</source> <translation>Potvrzovat exit při spuštěné emulaci</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_general.ui" line="104"/> + <location filename="../../src/yuzu/configuration/configure_general.ui" line="155"/> <source>Prompt for user on game boot</source> <translation>Zeptat se na uživatele při spuštění hry</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_general.ui" line="111"/> + <location filename="../../src/yuzu/configuration/configure_general.ui" line="162"/> <source>Pause emulation when in background</source> <translation>Pozastavit emulaci, když je aplikace v pozadí</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_general.ui" line="118"/> + <location filename="../../src/yuzu/configuration/configure_general.ui" line="169"/> <source>Hide mouse on inactivity</source> <translation>Skrýt myš při neaktivitě</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_general.ui" line="160"/> + <location filename="../../src/yuzu/configuration/configure_general.ui" line="211"/> <source>Reset All Settings</source> <translation>Resetovat všechna nastavení</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_general.cpp" line="70"/> + <location filename="../../src/yuzu/configuration/configure_general.cpp" line="78"/> <source>yuzu</source> <translation>yuzu</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_general.cpp" line="71"/> + <location filename="../../src/yuzu/configuration/configure_general.cpp" line="79"/> <source>This reset all settings and remove all per-game configurations. This will not delete game directories, profiles, or input profiles. Proceed?</source> <translation>Toto vyresetuje všechna nastavení a odstraní konfigurace pro jednotlivé hry. Složky s hrami a profily zůstanou zachovány. Přejete si pokračovat?</translation> </message> @@ -1116,18 +1132,113 @@ p, li { white-space: pre-wrap; } <translation>Roztáhnout podle okna</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_graphics.ui" line="339"/> - <location filename="../../src/yuzu/configuration/configure_graphics.ui" line="349"/> + <location filename="../../src/yuzu/configuration/configure_graphics.ui" line="330"/> + <source>Resolution:</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_graphics.ui" line="338"/> + <source>0.5X (360p/540p) [EXPERIMENTAL]</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_graphics.ui" line="343"/> + <source>0.75X (540p/810p) [EXPERIMENTAL]</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_graphics.ui" line="348"/> + <source>1X (720p/1080p)</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_graphics.ui" line="353"/> + <source>2X (1440p/2160p)</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_graphics.ui" line="358"/> + <source>3X (2160p/3240p)</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_graphics.ui" line="363"/> + <source>4X (2880p/4320p)</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_graphics.ui" line="368"/> + <source>5X (3600p/5400p)</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_graphics.ui" line="373"/> + <source>6X (4320p/6480p)</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_graphics.ui" line="399"/> + <source>Window Adapting Filter:</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_graphics.ui" line="407"/> + <source>Nearest Neighbor</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_graphics.ui" line="412"/> + <source>Bilinear</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_graphics.ui" line="417"/> + <source>Bicubic</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_graphics.ui" line="422"/> + <source>Gaussian</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_graphics.ui" line="427"/> + <source>ScaleForce</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_graphics.ui" line="432"/> + <source>AMD FidelityFX™️ Super Resolution [Vulkan Only]</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_graphics.ui" line="458"/> + <source>Anti-Aliasing Method:</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_graphics.ui" line="466"/> + <source>None</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_graphics.ui" line="471"/> + <source>FXAA</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_graphics.ui" line="506"/> + <location filename="../../src/yuzu/configuration/configure_graphics.ui" line="516"/> <source>Use global background color</source> <translation>Použít globální barvu pozadí</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_graphics.ui" line="354"/> + <location filename="../../src/yuzu/configuration/configure_graphics.ui" line="521"/> <source>Set background color:</source> <translation>Nastavit barvu pozadí:</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_graphics.ui" line="362"/> + <location filename="../../src/yuzu/configuration/configure_graphics.ui" line="529"/> <source>Background Color:</source> <translation>Barva Pozadí:</translation> </message> @@ -1196,28 +1307,33 @@ p, li { white-space: pre-wrap; } </message> <message> <location filename="../../src/yuzu/configuration/configure_graphics_advanced.ui" line="128"/> - <source>Default</source> - <translation>Výchozí</translation> + <source>Automatic</source> + <translation type="unfinished"/> </message> <message> <location filename="../../src/yuzu/configuration/configure_graphics_advanced.ui" line="133"/> - <source>2x (WILL BREAK THINGS)</source> - <translation>2x (ROZBIJE VĚCI)</translation> + <source>Default</source> + <translation>Výchozí</translation> </message> <message> <location filename="../../src/yuzu/configuration/configure_graphics_advanced.ui" line="138"/> - <source>4x (WILL BREAK THINGS)</source> - <translation>4x (ROZBIJE VĚCI)</translation> + <source>2x</source> + <translation type="unfinished"/> </message> <message> <location filename="../../src/yuzu/configuration/configure_graphics_advanced.ui" line="143"/> - <source>8x (WILL BREAK THINGS)</source> - <translation>8x (ROZBIJE VĚCI)</translation> + <source>4x</source> + <translation type="unfinished"/> </message> <message> <location filename="../../src/yuzu/configuration/configure_graphics_advanced.ui" line="148"/> - <source>16x (WILL BREAK THINGS)</source> - <translation>16x (ROZBIJE VĚCI)</translation> + <source>8x</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_graphics_advanced.ui" line="153"/> + <source>16x</source> + <translation type="unfinished"/> </message> </context> <context> @@ -1544,8 +1660,8 @@ p, li { white-space: pre-wrap; } </message> <message> <location filename="../../src/yuzu/configuration/configure_input_advanced.ui" line="2533"/> - <source>Other</source> - <translation>Ostatní</translation> + <source>Emulated Devices</source> + <translation type="unfinished"/> </message> <message> <location filename="../../src/yuzu/configuration/configure_input_advanced.ui" line="2545"/> @@ -1554,499 +1670,524 @@ p, li { white-space: pre-wrap; } </message> <message> <location filename="../../src/yuzu/configuration/configure_input_advanced.ui" line="2558"/> - <source>Emulate Analog with Keyboard Input</source> - <translation>Emulovat analog vstupem z klávesnice</translation> - </message> - <message> - <location filename="../../src/yuzu/configuration/configure_input_advanced.ui" line="2571"/> - <source>Enable mouse panning</source> - <translation>Povolit naklánění myší</translation> - </message> - <message> - <location filename="../../src/yuzu/configuration/configure_input_advanced.ui" line="2578"/> - <source>Mouse sensitivity</source> - <translation>Citlivost myši</translation> - </message> - <message> - <location filename="../../src/yuzu/configuration/configure_input_advanced.ui" line="2584"/> - <source>%</source> - <translation>%</translation> - </message> - <message> - <location filename="../../src/yuzu/configuration/configure_input_advanced.ui" line="2600"/> - <location filename="../../src/yuzu/configuration/configure_input_advanced.ui" line="2623"/> - <source>Advanced</source> - <translation>Pokročilé</translation> + <source>Mouse</source> + <translation>Myš</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_advanced.ui" line="2630"/> + <location filename="../../src/yuzu/configuration/configure_input_advanced.ui" line="2565"/> <source>Touchscreen</source> <translation>Dotyková obrazovka</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_advanced.ui" line="2643"/> - <source>Mouse</source> - <translation>Myš</translation> + <location filename="../../src/yuzu/configuration/configure_input_advanced.ui" line="2588"/> + <source>Advanced</source> + <translation>Pokročilé</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_advanced.ui" line="2650"/> - <source>Motion / Touch</source> - <translation>Pohyb / Dotyk</translation> + <location filename="../../src/yuzu/configuration/configure_input_advanced.ui" line="2595"/> + <source>Debug Controller</source> + <translation>Ovladač ladění</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_advanced.ui" line="2657"/> - <location filename="../../src/yuzu/configuration/configure_input_advanced.ui" line="2671"/> + <location filename="../../src/yuzu/configuration/configure_input_advanced.ui" line="2602"/> + <location filename="../../src/yuzu/configuration/configure_input_advanced.ui" line="2702"/> <source>Configure</source> <translation>Nastavení</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_advanced.ui" line="2664"/> - <source>Debug Controller</source> - <translation>Ovladač ladění</translation> + <location filename="../../src/yuzu/configuration/configure_input_advanced.ui" line="2612"/> + <source>Other</source> + <translation>Ostatní</translation> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_input_advanced.ui" line="2624"/> + <source>Emulate Analog with Keyboard Input</source> + <translation>Emulovat analog vstupem z klávesnice</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_advanced.ui" line="2678"/> + <location filename="../../src/yuzu/configuration/configure_input_advanced.ui" line="2631"/> <source>Requires restarting yuzu</source> <translation type="unfinished"/> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_advanced.ui" line="2687"/> + <location filename="../../src/yuzu/configuration/configure_input_advanced.ui" line="2640"/> <source>Enable XInput 8 player support (disables web applet)</source> <translation type="unfinished"/> </message> -</context> -<context> - <name>ConfigureInputPlayer</name> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="14"/> - <source>Configure Input</source> - <translation>Nakonfigurovat Vstup</translation> + <location filename="../../src/yuzu/configuration/configure_input_advanced.ui" line="2653"/> + <source>Enable UDP controllers (not needed for motion)</source> + <translation type="unfinished"/> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="63"/> - <source>Connect Controller</source> - <translation>Připojit ovladač</translation> + <location filename="../../src/yuzu/configuration/configure_input_advanced.ui" line="2666"/> + <source>Enable mouse panning</source> + <translation>Povolit naklánění myší</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="94"/> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="535"/> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="986"/> - <source>Pro Controller</source> - <translation>Pro Controller</translation> + <location filename="../../src/yuzu/configuration/configure_input_advanced.ui" line="2673"/> + <source>Mouse sensitivity</source> + <translation>Citlivost myši</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="99"/> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="992"/> - <source>Dual Joycons</source> - <translation>Dual Joycons</translation> + <location filename="../../src/yuzu/configuration/configure_input_advanced.ui" line="2679"/> + <source>%</source> + <translation>%</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="104"/> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="998"/> - <source>Left Joycon</source> - <translation>Levý Joycon</translation> + <location filename="../../src/yuzu/configuration/configure_input_advanced.ui" line="2695"/> + <source>Motion / Touch</source> + <translation>Pohyb / Dotyk</translation> </message> +</context> +<context> + <name>ConfigureInputPlayer</name> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="109"/> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="1004"/> - <source>Right Joycon</source> - <translation>Pravý Joycon</translation> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="14"/> + <source>Configure Input</source> + <translation>Nakonfigurovat Vstup</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="114"/> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="1010"/> - <source>Handheld</source> - <translation>V rukou</translation> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="63"/> + <source>Connect Controller</source> + <translation>Připojit ovladač</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="125"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="100"/> <source>Input Device</source> <translation>Vstupní zařízení</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="153"/> - <source>Any</source> - <translation>Jakýkoliv</translation> - </message> - <message> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="158"/> - <source>Keyboard/Mouse</source> - <translation>Klávesnice/Myš</translation> - </message> - <message> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="194"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="156"/> <source>Profile</source> <translation>Profil</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="234"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="196"/> <source>Save</source> <translation>Uložit</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="250"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="212"/> <source>New</source> <translation>Nový</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="266"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="228"/> <source>Delete</source> <translation>Smazat</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="329"/> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="1267"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="291"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="1190"/> <source>Left Stick</source> <translation>Levá Páčka</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="387"/> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="429"/> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="963"/> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="1002"/> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="2621"/> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="2660"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="349"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="391"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="925"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="964"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="2583"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="2622"/> <source>Up</source> <translation>Nahoru</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="460"/> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="499"/> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="1033"/> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="1072"/> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="2107"/> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="2691"/> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="2730"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="422"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="461"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="995"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="1034"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="2069"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="2653"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="2692"/> <source>Left</source> <translation>Doleva</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="509"/> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="548"/> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="1082"/> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="1121"/> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="2156"/> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="2740"/> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="2779"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="471"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="510"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="1044"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="1083"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="2118"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="2702"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="2741"/> <source>Right</source> <translation>Doprava</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="591"/> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="630"/> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="1164"/> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="1203"/> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="2822"/> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="2861"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="553"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="592"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="1126"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="1165"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="2784"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="2823"/> <source>Down</source> <translation>Dolů</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="661"/> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="700"/> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="2892"/> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="2931"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="623"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="662"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="2854"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="2893"/> <source>Pressed</source> <translation>Zmáčknuto</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="710"/> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="749"/> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="2941"/> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="2980"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="672"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="711"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="2903"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="2942"/> <source>Modifier</source> <translation>Modifikátor</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="759"/> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="2990"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="721"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="2952"/> <source>Range</source> <translation>Rozsah</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="792"/> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="3023"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="754"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="2985"/> <source>%</source> <translation>%</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="835"/> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="3063"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="797"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="3025"/> <source>Deadzone: 0%</source> <translation>Deadzone: 0%</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="859"/> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="3087"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="821"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="3049"/> <source>Modifier Range: 0%</source> <translation>Rozsah modifikátoru: 0%</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="905"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="867"/> <source>D-Pad</source> <translation>D-Pad</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="1289"/> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="1328"/> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="1272"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="1251"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="1290"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="1195"/> <source>L</source> <translation>L</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="1344"/> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="1383"/> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="1264"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="1306"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="1345"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="1187"/> <source>ZL</source> <translation>ZL</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="1464"/> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="1503"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="1426"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="1465"/> <source>Minus</source> <translation>Minus</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="1513"/> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="1552"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="1475"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="1514"/> <source>Capture</source> <translation>Capture</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="1583"/> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="1622"/> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="1263"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="1545"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="1584"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="1186"/> <source>Plus</source> <translation>Plus</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="1632"/> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="1671"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="1594"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="1633"/> <source>Home</source> <translation>Home</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="1736"/> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="1775"/> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="1266"/> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="1273"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="1698"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="1737"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="1189"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="1196"/> <source>R</source> <translation>R</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="1791"/> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="1830"/> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="1265"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="1753"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="1792"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="1188"/> <source>ZR</source> <translation>ZR</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="1911"/> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="1950"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="1873"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="1912"/> <source>SL</source> <translation>SL</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="1960"/> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="1999"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="1922"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="1961"/> <source>SR</source> <translation>SR</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="2068"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="2030"/> <source>Motion 1</source> <translation>Pohyb 1</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="2117"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="2079"/> <source>Motion 2</source> <translation>Pohyb 2</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="2208"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="2170"/> <source>Face Buttons</source> <translation>Face Buttons</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="2266"/> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="2305"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="2228"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="2267"/> <source>X</source> <translation>X</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="2336"/> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="2375"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="2298"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="2337"/> <source>Y</source> <translation>Y</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="2385"/> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="2424"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="2347"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="2386"/> <source>A</source> <translation>A</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="2467"/> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="2506"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="2429"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="2468"/> <source>B</source> <translation>B</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="2554"/> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="1268"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="2516"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="1191"/> <source>Right Stick</source> <translation>Pravá páčka</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="322"/> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="372"/> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="430"/> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="474"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="330"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="396"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="461"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="507"/> <source>Clear</source> <translation>Vyčistit</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="324"/> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="374"/> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="432"/> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="476"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="332"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="398"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="463"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="509"/> <source>[not set]</source> <translation>[nenastaveno]</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="327"/> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="478"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="335"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="512"/> <source>Toggle button</source> <translation>Přepnout tlačítko</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="335"/> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="339"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="341"/> + <source>Invert button</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="349"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="465"/> + <source>Invert axis</source> + <translation>Převrátit osy</translation> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="355"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="359"/> <source>Set threshold</source> <translation type="unfinished"/> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="339"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="359"/> <source>Choose a value between 0% and 100%</source> <translation type="unfinished"/> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="406"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="436"/> <source>Map Analog Stick</source> <translation>Namapovat analogovou páčku</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="407"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="437"/> <source>After pressing OK, first move your joystick horizontally, and then vertically. To invert the axes, first move your joystick vertically, and then horizontally.</source> <translation>Po stisknutí OK nejprve posuňte joystick horizontálně, poté vertikálně. Pro převrácení os nejprve posuňte joystick vertikálně, poté horizontálně.</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="434"/> - <source>Invert axis</source> - <translation>Převrátit osy</translation> - </message> - <message> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="500"/> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="952"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="537"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="891"/> <source>Deadzone: %1%</source> <translation>Deadzone: %1%</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="508"/> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="963"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="546"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="896"/> <source>Modifier Range: %1%</source> <translation>Rozsah modifikátoru: %1%</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="1016"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="572"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="918"/> + <source>Pro Controller</source> + <translation>Pro Controller</translation> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="924"/> + <source>Dual Joycons</source> + <translation>Dual Joycons</translation> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="930"/> + <source>Left Joycon</source> + <translation>Levý Joycon</translation> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="936"/> + <source>Right Joycon</source> + <translation>Pravý Joycon</translation> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="942"/> + <source>Handheld</source> + <translation>V rukou</translation> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="948"/> <source>GameCube Controller</source> <translation>Ovladač GameCube</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="1271"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="958"/> + <source>Poke Ball Plus</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="964"/> + <source>NES Controller</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="970"/> + <source>SNES Controller</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="976"/> + <source>N64 Controller</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="982"/> + <source>Sega Genesis</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="1194"/> <source>Start / Pause</source> <translation>Start / Pause</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="1274"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="1197"/> <source>Z</source> <translation>Z</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="1275"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="1198"/> <source>Control Stick</source> <translation>Control Stick</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="1276"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="1199"/> <source>C-Stick</source> <translation>C-Stick</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="1335"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="1297"/> <source>Shake!</source> <translation>Shake!</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="1337"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="1299"/> <source>[waiting]</source> <translation>[čekání]</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="1462"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="1381"/> <source>New Profile</source> <translation>Nový profil</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="1462"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="1381"/> <source>Enter a profile name:</source> <translation>Zadejte název profilu:</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="1470"/> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="1478"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="1389"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="1397"/> <source>Create Input Profile</source> <translation>Vytvořit profil vstupu</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="1471"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="1390"/> <source>The given profile name is not valid!</source> <translation>Zadaný název profilu není platný!</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="1479"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="1398"/> <source>Failed to create the input profile "%1"</source> <translation>Nepodařilo se vytvořit profil vstupu "%1"</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="1499"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="1418"/> <source>Delete Input Profile</source> <translation>Odstranit profil vstupu</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="1500"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="1419"/> <source>Failed to delete the input profile "%1"</source> <translation>Nepodařilo se odstranit profil vstupu "%1"</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="1522"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="1441"/> <source>Load Input Profile</source> <translation>Načíst profil vstupu</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="1523"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="1442"/> <source>Failed to load the input profile "%1"</source> <translation>Nepodařilo se načíst profil vstupu "%1"</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="1542"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="1461"/> <source>Save Input Profile</source> <translation>Uložit profil vstupu</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="1543"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="1462"/> <source>Failed to save the input profile "%1"</source> <translation>Nepodařilo se uložit profil vstupu "%1"</translation> </message> @@ -2072,85 +2213,75 @@ Pro převrácení os nejprve posuňte joystick vertikálně, poté horizontáln <context> <name>ConfigureMotionTouch</name> <message> - <location filename="../../src/yuzu/configuration/configure_motion_touch.ui" line="14"/> + <location filename="../../src/yuzu/configuration/configure_motion_touch.ui" line="6"/> <source>Configure Motion / Touch</source> <translation>Nastavení pohybu / dotyku</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_motion_touch.ui" line="23"/> - <source>Mouse Motion</source> - <translation>Pohyb myší</translation> - </message> - <message> - <location filename="../../src/yuzu/configuration/configure_motion_touch.ui" line="31"/> - <source>Sensitivity:</source> - <translation>Citlivost:</translation> - </message> - <message> - <location filename="../../src/yuzu/configuration/configure_motion_touch.ui" line="65"/> + <location filename="../../src/yuzu/configuration/configure_motion_touch.ui" line="15"/> <source>Touch</source> <translation>Dotyk</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_motion_touch.ui" line="73"/> + <location filename="../../src/yuzu/configuration/configure_motion_touch.ui" line="23"/> <source>UDP Calibration:</source> <translation>Kalibrace UDP:</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_motion_touch.ui" line="80"/> + <location filename="../../src/yuzu/configuration/configure_motion_touch.ui" line="30"/> <source>(100, 50) - (1800, 850)</source> <translation>(100, 50) - (1800, 850)</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_motion_touch.ui" line="96"/> - <location filename="../../src/yuzu/configuration/configure_motion_touch.ui" line="129"/> - <location filename="../../src/yuzu/configuration/configure_motion_touch.cpp" line="250"/> + <location filename="../../src/yuzu/configuration/configure_motion_touch.ui" line="46"/> + <location filename="../../src/yuzu/configuration/configure_motion_touch.ui" line="73"/> + <location filename="../../src/yuzu/configuration/configure_motion_touch.cpp" line="245"/> <source>Configure</source> <translation>Konfigurovat </translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_motion_touch.ui" line="113"/> - <source>Use button mapping:</source> - <translation>Použít mapování tlačítek:</translation> + <location filename="../../src/yuzu/configuration/configure_motion_touch.ui" line="57"/> + <source>Touch from button profile:</source> + <translation type="unfinished"/> </message> <message> - <location filename="../../src/yuzu/configuration/configure_motion_touch.ui" line="141"/> + <location filename="../../src/yuzu/configuration/configure_motion_touch.ui" line="85"/> <source>CemuhookUDP Config</source> <translation>Nastavení CemuhookUDP</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_motion_touch.ui" line="147"/> + <location filename="../../src/yuzu/configuration/configure_motion_touch.ui" line="91"/> <source>You may use any Cemuhook compatible UDP input source to provide motion and touch input.</source> <translation>Můžete použít jakýkoliv Cemuhook kompatibilní UDP vstupní zdroj pro poskytnutí pohybového a dotykového vstupu.</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_motion_touch.ui" line="190"/> + <location filename="../../src/yuzu/configuration/configure_motion_touch.ui" line="134"/> <source>Server:</source> <translation>Server:</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_motion_touch.ui" line="217"/> + <location filename="../../src/yuzu/configuration/configure_motion_touch.ui" line="161"/> <source>Port:</source> <translation>Port:</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_motion_touch.ui" line="244"/> + <location filename="../../src/yuzu/configuration/configure_motion_touch.ui" line="188"/> <source>Learn More</source> <translation>Dozvědět se více</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_motion_touch.ui" line="257"/> - <location filename="../../src/yuzu/configuration/configure_motion_touch.cpp" line="273"/> + <location filename="../../src/yuzu/configuration/configure_motion_touch.ui" line="201"/> + <location filename="../../src/yuzu/configuration/configure_motion_touch.cpp" line="268"/> <source>Test</source> <translation>Test</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_motion_touch.ui" line="270"/> + <location filename="../../src/yuzu/configuration/configure_motion_touch.ui" line="214"/> <source>Add Server</source> <translation>Přidat server</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_motion_touch.ui" line="303"/> + <location filename="../../src/yuzu/configuration/configure_motion_touch.ui" line="247"/> <source>Remove Server</source> <translation>Odstranit server</translation> </message> @@ -2160,146 +2291,82 @@ Pro převrácení os nejprve posuňte joystick vertikálně, poté horizontáln <translation><a href='https://yuzu-emu.org/wiki/using-a-controller-or-android-phone-for-motion-or-touch-input'><span style="text-decoration: underline; color:#039be5;">Dozvědět se více</span></a></translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_motion_touch.cpp" line="176"/> + <location filename="../../src/yuzu/configuration/configure_motion_touch.cpp" line="171"/> <source>%1:%2</source> <translation>%1:%2</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_motion_touch.cpp" line="181"/> - <location filename="../../src/yuzu/configuration/configure_motion_touch.cpp" line="185"/> - <location filename="../../src/yuzu/configuration/configure_motion_touch.cpp" line="189"/> - <location filename="../../src/yuzu/configuration/configure_motion_touch.cpp" line="195"/> - <location filename="../../src/yuzu/configuration/configure_motion_touch.cpp" line="201"/> - <location filename="../../src/yuzu/configuration/configure_motion_touch.cpp" line="295"/> + <location filename="../../src/yuzu/configuration/configure_motion_touch.cpp" line="176"/> + <location filename="../../src/yuzu/configuration/configure_motion_touch.cpp" line="180"/> + <location filename="../../src/yuzu/configuration/configure_motion_touch.cpp" line="184"/> + <location filename="../../src/yuzu/configuration/configure_motion_touch.cpp" line="190"/> + <location filename="../../src/yuzu/configuration/configure_motion_touch.cpp" line="196"/> + <location filename="../../src/yuzu/configuration/configure_motion_touch.cpp" line="290"/> <source>yuzu</source> <translation>yuzu</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_motion_touch.cpp" line="181"/> + <location filename="../../src/yuzu/configuration/configure_motion_touch.cpp" line="176"/> <source>Port number has invalid characters</source> <translation>Číslo portu obsahuje neplatné znaky</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_motion_touch.cpp" line="185"/> + <location filename="../../src/yuzu/configuration/configure_motion_touch.cpp" line="180"/> <source>Port has to be in range 0 and 65353</source> <translation>Port musí být v rozsahu 0 až 65353</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_motion_touch.cpp" line="189"/> + <location filename="../../src/yuzu/configuration/configure_motion_touch.cpp" line="184"/> <source>IP address is not valid</source> <translation>IP adresa není platná</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_motion_touch.cpp" line="195"/> + <location filename="../../src/yuzu/configuration/configure_motion_touch.cpp" line="190"/> <source>This UDP server already exists</source> <translation>UDP server již existuje</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_motion_touch.cpp" line="201"/> + <location filename="../../src/yuzu/configuration/configure_motion_touch.cpp" line="196"/> <source>Unable to add more than 8 servers</source> <translation>Není možné přidat více než 8 serverů</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_motion_touch.cpp" line="217"/> + <location filename="../../src/yuzu/configuration/configure_motion_touch.cpp" line="212"/> <source>Testing</source> <translation>Testování</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_motion_touch.cpp" line="233"/> + <location filename="../../src/yuzu/configuration/configure_motion_touch.cpp" line="228"/> <source>Configuring</source> <translation>Nastavování</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_motion_touch.cpp" line="264"/> + <location filename="../../src/yuzu/configuration/configure_motion_touch.cpp" line="259"/> <source>Test Successful</source> <translation>Test byl úspěšný</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_motion_touch.cpp" line="265"/> + <location filename="../../src/yuzu/configuration/configure_motion_touch.cpp" line="260"/> <source>Successfully received data from the server.</source> <translation>Úspěšně jsme získali data ze serveru.</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_motion_touch.cpp" line="267"/> + <location filename="../../src/yuzu/configuration/configure_motion_touch.cpp" line="262"/> <source>Test Failed</source> <translation>Test byl neúspěšný</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_motion_touch.cpp" line="268"/> + <location filename="../../src/yuzu/configuration/configure_motion_touch.cpp" line="263"/> <source>Could not receive valid data from the server.<br>Please verify that the server is set up correctly and the address and port are correct.</source> <translation>Nedostali jsme platná data ze serveru.<br>Prosím zkontrolujte, že váš server je nastaven správně a že adresa a port jsou zadány správně.</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_motion_touch.cpp" line="296"/> + <location filename="../../src/yuzu/configuration/configure_motion_touch.cpp" line="291"/> <source>UDP Test or calibration configuration is in progress.<br>Please wait for them to finish.</source> <translation>Probíhá test UDP nebo konfigurace kalibrace.<br>Prosím vyčkejte na dokončení.</translation> </message> </context> <context> - <name>ConfigureMouseAdvanced</name> - <message> - <location filename="../../src/yuzu/configuration/configure_mouse_advanced.ui" line="14"/> - <source>Configure Mouse</source> - <translation>Nastavení Myši</translation> - </message> - <message> - <location filename="../../src/yuzu/configuration/configure_mouse_advanced.ui" line="25"/> - <source>Mouse Buttons</source> - <translation>Tlačítka Myši</translation> - </message> - <message> - <location filename="../../src/yuzu/configuration/configure_mouse_advanced.ui" line="35"/> - <source>Forward:</source> - <translation>Vpřed:</translation> - </message> - <message> - <location filename="../../src/yuzu/configuration/configure_mouse_advanced.ui" line="75"/> - <source>Back:</source> - <translation>Zpátky:</translation> - </message> - <message> - <location filename="../../src/yuzu/configuration/configure_mouse_advanced.ui" line="103"/> - <source>Left:</source> - <translation>Vlevo:</translation> - </message> - <message> - <location filename="../../src/yuzu/configuration/configure_mouse_advanced.ui" line="131"/> - <source>Middle:</source> - <translation>Prostřed:</translation> - </message> - <message> - <location filename="../../src/yuzu/configuration/configure_mouse_advanced.ui" line="197"/> - <source>Right:</source> - <translation>Vpravo:</translation> - </message> - <message> - <location filename="../../src/yuzu/configuration/configure_mouse_advanced.ui" line="270"/> - <location filename="../../src/yuzu/configuration/configure_mouse_advanced.cpp" line="109"/> - <source>Clear</source> - <translation>Vyčistit</translation> - </message> - <message> - <location filename="../../src/yuzu/configuration/configure_mouse_advanced.ui" line="289"/> - <source>Defaults</source> - <translation>Defaultní</translation> - </message> - <message> - <location filename="../../src/yuzu/configuration/configure_mouse_advanced.cpp" line="111"/> - <source>[not set]</source> - <translation>[nenastaveno]</translation> - </message> - <message> - <location filename="../../src/yuzu/configuration/configure_mouse_advanced.cpp" line="113"/> - <source>Restore Default</source> - <translation>Navrátit Základní Nastavení</translation> - </message> - <message> - <location filename="../../src/yuzu/configuration/configure_mouse_advanced.cpp" line="200"/> - <source>[press key]</source> - <translation>[zmačkni tlačítko]</translation> - </message> -</context> -<context> <name>ConfigureNetwork</name> <message> <location filename="../../src/yuzu/configuration/configure_network.ui" line="14"/> @@ -3082,31 +3149,26 @@ Pro převrácení os nejprve posuňte joystick vertikálně, poté horizontáln </message> <message> <location filename="../../src/yuzu/configuration/configure_tas.ui" line="64"/> - <source>Automatic controller profile swapping</source> - <translation type="unfinished"/> - </message> - <message> - <location filename="../../src/yuzu/configuration/configure_tas.ui" line="71"/> <source>Loop script</source> <translation type="unfinished"/> </message> <message> - <location filename="../../src/yuzu/configuration/configure_tas.ui" line="81"/> + <location filename="../../src/yuzu/configuration/configure_tas.ui" line="74"/> <source>Pause execution during loads</source> <translation type="unfinished"/> </message> <message> - <location filename="../../src/yuzu/configuration/configure_tas.ui" line="95"/> + <location filename="../../src/yuzu/configuration/configure_tas.ui" line="88"/> <source>Script Directory</source> <translation type="unfinished"/> </message> <message> - <location filename="../../src/yuzu/configuration/configure_tas.ui" line="101"/> + <location filename="../../src/yuzu/configuration/configure_tas.ui" line="94"/> <source>Path</source> <translation type="unfinished"/> </message> <message> - <location filename="../../src/yuzu/configuration/configure_tas.ui" line="108"/> + <location filename="../../src/yuzu/configuration/configure_tas.ui" line="101"/> <source>...</source> <translation type="unfinished"/> </message> @@ -3119,7 +3181,7 @@ Pro převrácení os nejprve posuňte joystick vertikálně, poté horizontáln <translation type="unfinished"/> </message> <message> - <location filename="../../src/yuzu/configuration/configure_tas.cpp" line="53"/> + <location filename="../../src/yuzu/configuration/configure_tas.cpp" line="51"/> <source>Select TAS Load Directory...</source> <translation type="unfinished"/> </message> @@ -3181,37 +3243,37 @@ Táhněte body pro změnu pozice nebo dvojitě klikněte na buňky tabulky pro z <translation>Y</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_touch_from_button.cpp" line="200"/> + <location filename="../../src/yuzu/configuration/configure_touch_from_button.cpp" line="197"/> <source>New Profile</source> <translation>Nový profil</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_touch_from_button.cpp" line="200"/> + <location filename="../../src/yuzu/configuration/configure_touch_from_button.cpp" line="197"/> <source>Enter the name for the new profile.</source> <translation>Zadejte název nového profilu.</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_touch_from_button.cpp" line="211"/> + <location filename="../../src/yuzu/configuration/configure_touch_from_button.cpp" line="208"/> <source>Delete Profile</source> <translation>Smazat profil</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_touch_from_button.cpp" line="211"/> + <location filename="../../src/yuzu/configuration/configure_touch_from_button.cpp" line="208"/> <source>Delete profile %1?</source> <translation>Odstranit profil %1?</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_touch_from_button.cpp" line="224"/> + <location filename="../../src/yuzu/configuration/configure_touch_from_button.cpp" line="221"/> <source>Rename Profile</source> <translation>Přejmenovat profil</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_touch_from_button.cpp" line="224"/> + <location filename="../../src/yuzu/configuration/configure_touch_from_button.cpp" line="221"/> <source>New name:</source> <translation>Nový název:</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_touch_from_button.cpp" line="233"/> + <location filename="../../src/yuzu/configuration/configure_touch_from_button.cpp" line="230"/> <source>[press key]</source> <translation>[stiskněte klávesu]</translation> </message> @@ -3631,12 +3693,12 @@ Táhněte body pro změnu pozice nebo dvojitě klikněte na buňky tabulky pro z <context> <name>ControllerDialog</name> <message> - <location filename="../../src/yuzu/debugger/controller.cpp" line="17"/> + <location filename="../../src/yuzu/debugger/controller.cpp" line="21"/> <source>Controller P1</source> <translation>Ovladač P1</translation> </message> <message> - <location filename="../../src/yuzu/debugger/controller.cpp" line="52"/> + <location filename="../../src/yuzu/debugger/controller.cpp" line="60"/> <source>&Controller P1</source> <translation>&Ovladač P1</translation> </message> @@ -3644,89 +3706,94 @@ Táhněte body pro změnu pozice nebo dvojitě klikněte na buňky tabulky pro z <context> <name>GMainWindow</name> <message> - <location filename="../../src/yuzu/main.cpp" line="174"/> + <location filename="../../src/yuzu/main.cpp" line="176"/> <source><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?</source> <translation><a href='https://yuzu-emu.org/help/feature/telemetry/'>Anonymní data jsou sbírána</a> pro vylepšení yuzu. <br/><br/>Chcete s námi sdílet anonymní data?</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="177"/> + <location filename="../../src/yuzu/main.cpp" line="179"/> <source>Telemetry</source> <translation>Telemetry</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="592"/> + <location filename="../../src/yuzu/main.cpp" line="600"/> <source>Loading Web Applet...</source> <translation>Načítání Web Appletu...</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="639"/> - <location filename="../../src/yuzu/main.cpp" line="642"/> + <location filename="../../src/yuzu/main.cpp" line="647"/> + <location filename="../../src/yuzu/main.cpp" line="650"/> <source>Disable Web Applet</source> <translation>Zakázat Web Applet</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="643"/> + <location filename="../../src/yuzu/main.cpp" line="651"/> <source>Disabling the web applet will cause it to not be shown again for the rest of the emulated session. This 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?</source> <translation>Zakázání Web Appletu způsobí, že se po zbytek emulované relace již nebude zobrazovat. To může vést k nedefinovanému chování a mělo by být použito pouze u hry Super Mario 3D All-Stars. Opravdu si přejete Web Applet zakázat?</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="746"/> + <location filename="../../src/yuzu/main.cpp" line="754"/> <source>The amount of shaders currently being built</source> <translation>Počet aktuálně sestavovaných shaderů</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="749"/> + <location filename="../../src/yuzu/main.cpp" line="756"/> + <source>The current selected resolution scaling multiplier.</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/main.cpp" line="759"/> <source>Current emulation speed. Values higher or lower than 100% indicate emulation is running faster or slower than a Switch.</source> <translation>Aktuální emulační rychlost. Hodnoty vyšší než 100% indikují, že emulace běží rychleji nebo pomaleji než na Switchi.</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="752"/> + <location filename="../../src/yuzu/main.cpp" line="762"/> <source>How many frames per second the game is currently displaying. This will vary from game to game and scene to scene.</source> <translation>Kolik snímků za sekundu aktuálně hra zobrazuje. Tohle závisí na hře od hry a scény od scény.</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="756"/> + <location filename="../../src/yuzu/main.cpp" line="766"/> <source>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.</source> <translation>Čas potřebný na emulaci framu scény, nepočítá se limit nebo v-sync. Pro plnou rychlost by se tohle mělo pohybovat okolo 16.67 ms.</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="781"/> + <location filename="../../src/yuzu/main.cpp" line="841"/> <source>Invalid config detected</source> <translation>Zjištěno neplatné nastavení</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="782"/> + <location filename="../../src/yuzu/main.cpp" line="842"/> <source>Handheld controller can't be used on docked mode. Pro controller will be selected.</source> <translation>Ruční ovladač nelze používat v dokovacím režimu. Bude vybrán ovladač Pro Controller.</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="794"/> + <location filename="../../src/yuzu/main.cpp" line="854"/> <source>DOCK</source> <translation>DOCK</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="828"/> + <location filename="../../src/yuzu/main.cpp" line="888"/> <source>VULKAN</source> <translation>VULKAN</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="828"/> + <location filename="../../src/yuzu/main.cpp" line="888"/> <source>OPENGL</source> <translation>OPENGL</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="886"/> + <location filename="../../src/yuzu/main.cpp" line="951"/> <source>&Clear Recent Files</source> <translation>&Vymazat poslední soubory</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="1055"/> - <source>TAS Recording</source> - <translation type="unfinished"/> + <location filename="../../src/yuzu/main.cpp" line="1210"/> + <source>&Continue</source> + <translation>&Pokračovat</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="1056"/> - <source>Overwrite file of player 1?</source> + <location filename="../../src/yuzu/main.cpp" line="1212"/> + <source>&Pause</source> <translation type="unfinished"/> </message> <message> @@ -3778,657 +3845,724 @@ Táhněte body pro změnu pozice nebo dvojitě klikněte na buňky tabulky pro z <translation>Nastala chyba. Koukni do logu.</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="1462"/> + <location filename="../../src/yuzu/main.cpp" line="1460"/> <source>(64-bit)</source> <translation>(64-bit)</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="1462"/> + <location filename="../../src/yuzu/main.cpp" line="1460"/> <source>(32-bit)</source> <translation>(32-bit)</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="1463"/> + <location filename="../../src/yuzu/main.cpp" line="1461"/> <source>%1 %2</source> <comment>%1 is the title name. %2 indicates if the title is 64-bit or 32-bit</comment> <translation>%1 %2</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="1507"/> - <source>Start</source> - <translation>Start</translation> - </message> - <message> - <location filename="../../src/yuzu/main.cpp" line="1612"/> + <location filename="../../src/yuzu/main.cpp" line="1605"/> <source>Save Data</source> <translation>Uložit data</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="1660"/> + <location filename="../../src/yuzu/main.cpp" line="1653"/> <source>Mod Data</source> <translation>Módovat Data</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="1672"/> + <location filename="../../src/yuzu/main.cpp" line="1665"/> <source>Error Opening %1 Folder</source> <translation>Chyba otevírání složky %1</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="1673"/> - <location filename="../../src/yuzu/main.cpp" line="2079"/> + <location filename="../../src/yuzu/main.cpp" line="1666"/> + <location filename="../../src/yuzu/main.cpp" line="2072"/> <source>Folder does not exist!</source> <translation>Složka neexistuje!</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="1685"/> + <location filename="../../src/yuzu/main.cpp" line="1678"/> <source>Error Opening Transferable Shader Cache</source> <translation>Chyba při otevírání přenositelné mezipaměti shaderů</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="1686"/> + <location filename="../../src/yuzu/main.cpp" line="1679"/> <source>Failed to create the shader cache directory for this title.</source> <translation type="unfinished"/> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="1738"/> + <location filename="../../src/yuzu/main.cpp" line="1731"/> <source>Contents</source> <translation>Obsah</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="1740"/> + <location filename="../../src/yuzu/main.cpp" line="1733"/> <source>Update</source> <translation>Aktualizace</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="1742"/> + <location filename="../../src/yuzu/main.cpp" line="1735"/> <source>DLC</source> <translation>DLC</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="1749"/> + <location filename="../../src/yuzu/main.cpp" line="1742"/> <source>Remove Entry</source> <translation>Odebrat položku</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="1749"/> + <location filename="../../src/yuzu/main.cpp" line="1742"/> <source>Remove Installed Game %1?</source> <translation>Odebrat Nainstalovanou Hru %1? </translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="1779"/> - <location filename="../../src/yuzu/main.cpp" line="1795"/> - <location filename="../../src/yuzu/main.cpp" line="1826"/> - <location filename="../../src/yuzu/main.cpp" line="1887"/> - <location filename="../../src/yuzu/main.cpp" line="1905"/> - <location filename="../../src/yuzu/main.cpp" line="1928"/> + <location filename="../../src/yuzu/main.cpp" line="1772"/> + <location filename="../../src/yuzu/main.cpp" line="1788"/> + <location filename="../../src/yuzu/main.cpp" line="1819"/> + <location filename="../../src/yuzu/main.cpp" line="1880"/> + <location filename="../../src/yuzu/main.cpp" line="1898"/> + <location filename="../../src/yuzu/main.cpp" line="1921"/> <source>Successfully Removed</source> <translation>Úspěšně odebráno</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="1780"/> + <location filename="../../src/yuzu/main.cpp" line="1773"/> <source>Successfully removed the installed base game.</source> <translation>Úspěšně odebrán nainstalovaný základ hry.</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="1783"/> - <location filename="../../src/yuzu/main.cpp" line="1798"/> - <location filename="../../src/yuzu/main.cpp" line="1821"/> + <location filename="../../src/yuzu/main.cpp" line="1776"/> + <location filename="../../src/yuzu/main.cpp" line="1791"/> + <location filename="../../src/yuzu/main.cpp" line="1814"/> <source>Error Removing %1</source> <translation>Chyba při odstraňování %1</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="1784"/> + <location filename="../../src/yuzu/main.cpp" line="1777"/> <source>The base game is not installed in the NAND and cannot be removed.</source> <translation>Základ hry není nainstalovaný na NAND a nemůže být odstraněn.</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="1796"/> + <location filename="../../src/yuzu/main.cpp" line="1789"/> <source>Successfully removed the installed update.</source> <translation>Úspěšně odebrána nainstalovaná aktualizace.</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="1799"/> + <location filename="../../src/yuzu/main.cpp" line="1792"/> <source>There is no update installed for this title.</source> <translation>Není nainstalovaná žádná aktualizace pro tento titul.</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="1822"/> + <location filename="../../src/yuzu/main.cpp" line="1815"/> <source>There are no DLC installed for this title.</source> <translation>Není nainstalované žádné DLC pro tento titul.</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="1827"/> + <location filename="../../src/yuzu/main.cpp" line="1820"/> <source>Successfully removed %1 installed DLC.</source> <translation>Úspěšně odstraněno %1 nainstalovaných DLC.</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="1835"/> + <location filename="../../src/yuzu/main.cpp" line="1828"/> <source>Delete OpenGL Transferable Shader Cache?</source> <translation type="unfinished"/> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="1837"/> + <location filename="../../src/yuzu/main.cpp" line="1830"/> <source>Delete Vulkan Transferable Shader Cache?</source> <translation type="unfinished"/> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="1839"/> + <location filename="../../src/yuzu/main.cpp" line="1832"/> <source>Delete All Transferable Shader Caches?</source> <translation type="unfinished"/> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="1841"/> + <location filename="../../src/yuzu/main.cpp" line="1834"/> <source>Remove Custom Game Configuration?</source> <translation>Odstranit vlastní konfiguraci hry?</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="1847"/> + <location filename="../../src/yuzu/main.cpp" line="1840"/> <source>Remove File</source> <translation>Odstranit soubor</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="1882"/> - <location filename="../../src/yuzu/main.cpp" line="1890"/> + <location filename="../../src/yuzu/main.cpp" line="1875"/> + <location filename="../../src/yuzu/main.cpp" line="1883"/> <source>Error Removing Transferable Shader Cache</source> <translation>Chyba při odstraňování přenositelné mezipaměti shaderů</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="1883"/> - <location filename="../../src/yuzu/main.cpp" line="1901"/> + <location filename="../../src/yuzu/main.cpp" line="1876"/> + <location filename="../../src/yuzu/main.cpp" line="1894"/> <source>A shader cache for this title does not exist.</source> <translation>Mezipaměť shaderů pro tento titul neexistuje.</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="1888"/> + <location filename="../../src/yuzu/main.cpp" line="1881"/> <source>Successfully removed the transferable shader cache.</source> <translation>Přenositelná mezipaměť shaderů úspěšně odstraněna</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="1891"/> + <location filename="../../src/yuzu/main.cpp" line="1884"/> <source>Failed to remove the transferable shader cache.</source> <translation>Nepodařilo se odstranit přenositelnou mezipaměť shaderů</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="1900"/> - <location filename="../../src/yuzu/main.cpp" line="1908"/> + <location filename="../../src/yuzu/main.cpp" line="1893"/> + <location filename="../../src/yuzu/main.cpp" line="1901"/> <source>Error Removing Transferable Shader Caches</source> <translation type="unfinished"/> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="1906"/> + <location filename="../../src/yuzu/main.cpp" line="1899"/> <source>Successfully removed the transferable shader caches.</source> <translation type="unfinished"/> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="1909"/> + <location filename="../../src/yuzu/main.cpp" line="1902"/> <source>Failed to remove the transferable shader cache directory.</source> <translation type="unfinished"/> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="1922"/> - <location filename="../../src/yuzu/main.cpp" line="1931"/> + <location filename="../../src/yuzu/main.cpp" line="1915"/> + <location filename="../../src/yuzu/main.cpp" line="1924"/> <source>Error Removing Custom Configuration</source> <translation>Chyba při odstraňování vlastní konfigurace hry</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="1923"/> + <location filename="../../src/yuzu/main.cpp" line="1916"/> <source>A custom configuration for this title does not exist.</source> <translation>Vlastní konfigurace hry pro tento titul neexistuje.</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="1929"/> + <location filename="../../src/yuzu/main.cpp" line="1922"/> <source>Successfully removed the custom game configuration.</source> <translation>Úspěšně odstraněna vlastní konfigurace hry.</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="1932"/> + <location filename="../../src/yuzu/main.cpp" line="1925"/> <source>Failed to remove the custom game configuration.</source> <translation>Nepodařilo se odstranit vlastní konfiguraci hry.</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="1939"/> - <location filename="../../src/yuzu/main.cpp" line="2018"/> + <location filename="../../src/yuzu/main.cpp" line="1932"/> + <location filename="../../src/yuzu/main.cpp" line="2011"/> <source>RomFS Extraction Failed!</source> <translation>Extrakce RomFS se nepovedla!</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="1940"/> + <location filename="../../src/yuzu/main.cpp" line="1933"/> <source>There was an error copying the RomFS files or the user cancelled the operation.</source> <translation>Nastala chyba při kopírování RomFS souborů, nebo uživatel operaci zrušil.</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="1998"/> + <location filename="../../src/yuzu/main.cpp" line="1991"/> <source>Full</source> <translation>Plný</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="1998"/> + <location filename="../../src/yuzu/main.cpp" line="1991"/> <source>Skeleton</source> <translation>Kostra</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="2000"/> + <location filename="../../src/yuzu/main.cpp" line="1993"/> <source>Select RomFS Dump Mode</source> <translation>Vyber RomFS Dump Mode</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="2001"/> + <location filename="../../src/yuzu/main.cpp" line="1994"/> <source>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.</source> <translation>Vyber jak by si chtěl RomFS vypsat.<br>Plné zkopíruje úplně všechno, ale<br>kostra zkopíruje jen strukturu složky.</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="2019"/> + <location filename="../../src/yuzu/main.cpp" line="2012"/> <source>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</source> <translation type="unfinished"/> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="2026"/> + <location filename="../../src/yuzu/main.cpp" line="2019"/> <source>Extracting RomFS...</source> <translation>Extrahuji RomFS...</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="2026"/> - <location filename="../../src/yuzu/main.cpp" line="2206"/> + <location filename="../../src/yuzu/main.cpp" line="2019"/> + <location filename="../../src/yuzu/main.cpp" line="2199"/> <source>Cancel</source> <translation>Zrušit</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="2033"/> + <location filename="../../src/yuzu/main.cpp" line="2026"/> <source>RomFS Extraction Succeeded!</source> <translation>Extrakce RomFS se povedla!</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="2034"/> + <location filename="../../src/yuzu/main.cpp" line="2027"/> <source>The operation completed successfully.</source> <translation>Operace byla dokončena úspěšně.</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="2078"/> + <location filename="../../src/yuzu/main.cpp" line="2071"/> <source>Error Opening %1</source> <translation>Chyba při otevírání %1</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="2087"/> + <location filename="../../src/yuzu/main.cpp" line="2080"/> <source>Select Directory</source> <translation>Vybraná Složka</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="2114"/> + <location filename="../../src/yuzu/main.cpp" line="2107"/> <source>Properties</source> <translation>Vlastnosti</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="2115"/> + <location filename="../../src/yuzu/main.cpp" line="2108"/> <source>The game properties could not be loaded.</source> <translation>Herní vlastnosti nemohly být načteny.</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="2127"/> + <location filename="../../src/yuzu/main.cpp" line="2120"/> <source>Switch Executable (%1);;All Files (*.*)</source> <comment>%1 is an identifier for the Switch executable file extensions.</comment> <translation>Switch Executable (%1);;Všechny soubory (*.*)</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="2131"/> + <location filename="../../src/yuzu/main.cpp" line="2124"/> <source>Load File</source> <translation>Načíst soubor</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="2143"/> + <location filename="../../src/yuzu/main.cpp" line="2136"/> <source>Open Extracted ROM Directory</source> <translation>Otevřít složku s extrahovanou ROM</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="2154"/> + <location filename="../../src/yuzu/main.cpp" line="2147"/> <source>Invalid Directory Selected</source> <translation>Vybraná složka je neplatná</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="2155"/> + <location filename="../../src/yuzu/main.cpp" line="2148"/> <source>The directory you have selected does not contain a 'main' file.</source> <translation>Složka kterou jste vybrali neobsahuje soubor "main"</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="2165"/> + <location filename="../../src/yuzu/main.cpp" line="2158"/> <source>Installable Switch File (*.nca *.nsp *.xci);;Nintendo Content Archive (*.nca);;Nintendo Submission Package (*.nsp);;NX Cartridge Image (*.xci)</source> <translation>Instalovatelný soubor pro Switch (*.nca *.nsp *.xci);;Nintendo Content Archive (*.nca);;Nintendo Submission Package (*.nsp);;NX Cartridge Image (*.xci)</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="2170"/> + <location filename="../../src/yuzu/main.cpp" line="2163"/> <source>Install Files</source> <translation>Instalovat Soubory</translation> </message> <message numerus="yes"> - <location filename="../../src/yuzu/main.cpp" line="2214"/> + <location filename="../../src/yuzu/main.cpp" line="2207"/> <source>%n file(s) remaining</source> <translation type="unfinished"><numerusform></numerusform><numerusform></numerusform><numerusform></numerusform><numerusform></numerusform></translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="2216"/> + <location filename="../../src/yuzu/main.cpp" line="2209"/> <source>Installing file "%1"...</source> <translation>Instalování souboru "%1"...</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="2262"/> - <location filename="../../src/yuzu/main.cpp" line="2276"/> + <location filename="../../src/yuzu/main.cpp" line="2255"/> + <location filename="../../src/yuzu/main.cpp" line="2269"/> <source>Install Results</source> <translation>Výsledek instalace</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="2263"/> + <location filename="../../src/yuzu/main.cpp" line="2256"/> <source>To avoid possible conflicts, we discourage users from installing base games to the NAND. Please, only use this feature to install updates and DLC.</source> <translation>Abychom předešli možným konfliktům, nedoporučujeme uživatelům instalovat základní hry na paměť NAND. Tuto funkci prosím používejte pouze k instalaci aktualizací a DLC.</translation> </message> <message numerus="yes"> - <location filename="../../src/yuzu/main.cpp" line="2269"/> + <location filename="../../src/yuzu/main.cpp" line="2262"/> <source>%n file(s) were newly installed </source> <translation type="unfinished"><numerusform></numerusform><numerusform></numerusform><numerusform></numerusform><numerusform></numerusform></translation> </message> <message numerus="yes"> - <location filename="../../src/yuzu/main.cpp" line="2272"/> + <location filename="../../src/yuzu/main.cpp" line="2265"/> <source>%n file(s) were overwritten </source> <translation type="unfinished"><numerusform></numerusform><numerusform></numerusform><numerusform></numerusform><numerusform></numerusform></translation> </message> <message numerus="yes"> - <location filename="../../src/yuzu/main.cpp" line="2274"/> + <location filename="../../src/yuzu/main.cpp" line="2267"/> <source>%n file(s) failed to install </source> <translation type="unfinished"><numerusform></numerusform><numerusform></numerusform><numerusform></numerusform><numerusform></numerusform></translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="2375"/> + <location filename="../../src/yuzu/main.cpp" line="2368"/> <source>System Application</source> <translation>Systémová Aplikace</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="2376"/> + <location filename="../../src/yuzu/main.cpp" line="2369"/> <source>System Archive</source> <translation>Systémový archív</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="2377"/> + <location filename="../../src/yuzu/main.cpp" line="2370"/> <source>System Application Update</source> <translation>Systémový Update Aplikace</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="2378"/> + <location filename="../../src/yuzu/main.cpp" line="2371"/> <source>Firmware Package (Type A)</source> <translation>Firmware-ový baliček (Typu A)</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="2379"/> + <location filename="../../src/yuzu/main.cpp" line="2372"/> <source>Firmware Package (Type B)</source> <translation>Firmware-ový baliček (Typu B)</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="2380"/> + <location filename="../../src/yuzu/main.cpp" line="2373"/> <source>Game</source> <translation>Hra</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="2381"/> + <location filename="../../src/yuzu/main.cpp" line="2374"/> <source>Game Update</source> <translation>Update Hry</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="2382"/> + <location filename="../../src/yuzu/main.cpp" line="2375"/> <source>Game DLC</source> <translation>Herní DLC</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="2383"/> + <location filename="../../src/yuzu/main.cpp" line="2376"/> <source>Delta Title</source> <translation>Delta Title</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="2386"/> + <location filename="../../src/yuzu/main.cpp" line="2379"/> <source>Select NCA Install Type...</source> <translation>Vyberte typ instalace NCA...</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="2387"/> + <location filename="../../src/yuzu/main.cpp" line="2380"/> <source>Please select the type of title you would like to install this NCA as: (In most instances, the default 'Game' is fine.)</source> <translation>Vyberte typ title-u, který chcete nainstalovat tenhle NCA jako: (Většinou základní "game" stačí.)</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="2393"/> + <location filename="../../src/yuzu/main.cpp" line="2386"/> <source>Failed to Install</source> <translation>Chyba v instalaci</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="2394"/> + <location filename="../../src/yuzu/main.cpp" line="2387"/> <source>The title type you selected for the NCA is invalid.</source> <translation>Tento typ pro tento NCA není platný.</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="2429"/> + <location filename="../../src/yuzu/main.cpp" line="2422"/> <source>File not found</source> <translation>Soubor nenalezen</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="2430"/> + <location filename="../../src/yuzu/main.cpp" line="2423"/> <source>File "%1" not found</source> <translation>Soubor "%1" nenalezen</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="2445"/> - <location filename="../../src/yuzu/main.cpp" line="3448"/> - <source>&Continue</source> - <translation>&Pokračovat</translation> - </message> - <message> - <location filename="../../src/yuzu/main.cpp" line="2494"/> + <location filename="../../src/yuzu/main.cpp" line="2492"/> <source>OK</source> <translation>OK</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="2508"/> + <location filename="../../src/yuzu/main.cpp" line="2506"/> <source>Missing yuzu Account</source> <translation>Chybí účet yuzu</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="2509"/> + <location filename="../../src/yuzu/main.cpp" line="2507"/> <source>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.</source> <translation>Pro přidání recenze kompatibility je třeba mít účet yuzu<br><br/>Pro nalinkování yuzu účtu jdi do Emulace &gt; Konfigurace &gt; Web.</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="2519"/> + <location filename="../../src/yuzu/main.cpp" line="2517"/> <source>Error opening URL</source> <translation>Chyba při otevírání URL</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="2520"/> + <location filename="../../src/yuzu/main.cpp" line="2518"/> <source>Unable to open the URL "%1".</source> <translation>Nelze otevřít URL "%1".</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="2802"/> + <location filename="../../src/yuzu/main.cpp" line="2777"/> + <source>TAS Recording</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/main.cpp" line="2777"/> + <source>Overwrite file of player 1?</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/main.cpp" line="2830"/> <source>Amiibo File (%1);; All Files (*.*)</source> <translation>Soubor Amiibo (%1);; Všechny Soubory (*.*)</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="2803"/> + <location filename="../../src/yuzu/main.cpp" line="2831"/> <source>Load Amiibo</source> <translation>Načíst Amiibo</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="2821"/> + <location filename="../../src/yuzu/main.cpp" line="2849"/> <source>Error opening Amiibo data file</source> <translation>Chyba při načítání souboru Amiibo</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="2822"/> + <location filename="../../src/yuzu/main.cpp" line="2850"/> <source>Unable to open Amiibo file "%1" for reading.</source> <translation>Amiibo "%1" nešlo otevřít v řežimu pro čtení.</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="2830"/> + <location filename="../../src/yuzu/main.cpp" line="2858"/> <source>Error reading Amiibo data file</source> <translation>Chyba načítání Amiiba</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="2831"/> + <location filename="../../src/yuzu/main.cpp" line="2859"/> <source>Unable to fully read Amiibo data. Expected to read %1 bytes, but was only able to read %2 bytes.</source> <translation>Načtení celého Amiiba nebylo možné. Očekáváno bylo %1 bytů, ale pouze %2 bytů se načetlo.</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="2839"/> + <location filename="../../src/yuzu/main.cpp" line="2867"/> <source>Error loading Amiibo data</source> <translation>Chyba načítání Amiiba</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="2840"/> + <location filename="../../src/yuzu/main.cpp" line="2868"/> <source>Unable to load Amiibo data.</source> <translation>Načtení Amiiba nebylo možné</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="2881"/> + <location filename="../../src/yuzu/main.cpp" line="2913"/> <source>Capture Screenshot</source> <translation>Pořídit Snímek Obrazovky</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="2882"/> + <location filename="../../src/yuzu/main.cpp" line="2914"/> <source>PNG Image (*.png)</source> <translation>PNG Image (*.png)</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="2948"/> + <location filename="../../src/yuzu/main.cpp" line="2979"/> <source>TAS state: Running %1/%2</source> <translation type="unfinished"/> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="2950"/> + <location filename="../../src/yuzu/main.cpp" line="2981"/> <source>TAS state: Recording %1</source> <translation type="unfinished"/> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="2952"/> + <location filename="../../src/yuzu/main.cpp" line="2983"/> <source>TAS state: Idle %1/%2</source> <translation type="unfinished"/> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="2954"/> + <location filename="../../src/yuzu/main.cpp" line="2985"/> <source>TAS State: Invalid</source> <translation type="unfinished"/> </message> + <message> + <location filename="../../src/yuzu/main.cpp" line="2999"/> + <source>&Stop Running</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/main.cpp" line="2999"/> + <source>&Start</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/main.cpp" line="3000"/> + <source>Stop R&ecording</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/main.cpp" line="3000"/> + <source>R&ecord</source> + <translation type="unfinished"/> + </message> <message numerus="yes"> - <location filename="../../src/yuzu/main.cpp" line="2975"/> + <location filename="../../src/yuzu/main.cpp" line="3024"/> <source>Building: %n shader(s)</source> <translation type="unfinished"><numerusform></numerusform><numerusform></numerusform><numerusform></numerusform><numerusform></numerusform></translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="2982"/> + <location filename="../../src/yuzu/main.cpp" line="3033"/> + <source>Scale: %1x</source> + <comment>%1 is the resolution scaling factor</comment> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/main.cpp" line="3036"/> <source>Speed: %1% / %2%</source> <translation>Rychlost: %1% / %2%</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="2986"/> + <location filename="../../src/yuzu/main.cpp" line="3040"/> <source>Speed: %1%</source> <translation>Rychlost: %1%</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="2990"/> + <location filename="../../src/yuzu/main.cpp" line="3044"/> <source>Game: %1 FPS (Unlocked)</source> <translation type="unfinished"/> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="2992"/> + <location filename="../../src/yuzu/main.cpp" line="3046"/> <source>Game: %1 FPS</source> <translation>Hra: %1 FPS</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="2994"/> + <location filename="../../src/yuzu/main.cpp" line="3048"/> <source>Frame: %1 ms</source> <translation>Frame: %1 ms</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="3004"/> + <location filename="../../src/yuzu/main.cpp" line="3059"/> <source>GPU NORMAL</source> <translation>GPU NORMÁLNÍ</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="3009"/> + <location filename="../../src/yuzu/main.cpp" line="3064"/> <source>GPU HIGH</source> <translation>GPU VYSOKÝ</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="3014"/> + <location filename="../../src/yuzu/main.cpp" line="3069"/> <source>GPU EXTREME</source> <translation>GPU EXTRÉMNÍ</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="3019"/> + <location filename="../../src/yuzu/main.cpp" line="3074"/> <source>GPU ERROR</source> <translation>GPU ERROR</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="3076"/> + <location filename="../../src/yuzu/main.cpp" line="3084"/> + <source>NEAREST</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/main.cpp" line="3087"/> + <location filename="../../src/yuzu/main.cpp" line="3102"/> + <source>BILINEAR</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/main.cpp" line="3090"/> + <source>BICUBIC</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/main.cpp" line="3093"/> + <source>GAUSSIAN</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/main.cpp" line="3096"/> + <source>SCALEFORCE</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/main.cpp" line="3099"/> + <source>FSR</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/main.cpp" line="3111"/> + <location filename="../../src/yuzu/main.cpp" line="3117"/> + <source>NO AA</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/main.cpp" line="3114"/> + <source>FXAA</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/main.cpp" line="3175"/> <source>The game you are trying to load requires additional files from your Switch to be dumped before playing.<br/><br/>For more information on dumping these files, please see the following wiki page: <a href='https://yuzu-emu.org/wiki/dumping-system-archives-and-the-shared-fonts-from-a-switch-console/'>Dumping System Archives and the Shared Fonts from a Switch Console</a>.<br/><br/>Would you like to quit back to the game list? Continuing emulation may result in crashes, corrupted save data, or other bugs.</source> <translation>Hra, kterou se snažíte načíst potřebuje další data z vašeho Switche, než bude moci být načtena.<br/><br/>Pro více informací o získání těchto souboru se koukněte na wiki: <a href='https://yuzu-emu.org/wiki/dumping-system-archives-and-the-shared-fonts-from-a-switch-console/'>Získávání Systémových Archivů a Sdílených Fontu z konzole Switch</a>.<br/><br/>Přejete si odejít do listu her? Pokračování v emulaci by mohlo mít negativní účinky jako crashe, rozbité savy , nebo další bugy.</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="3091"/> + <location filename="../../src/yuzu/main.cpp" line="3190"/> <source>yuzu was unable to locate a Switch system archive. %1</source> <translation>Aplikace yuzu nenašla systémový archiv Switch. %1</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="3093"/> + <location filename="../../src/yuzu/main.cpp" line="3192"/> <source>yuzu was unable to locate a Switch system archive: %1. %2</source> <translation>Aplikace yuzu nenašla systémový archiv Switch: %1. %2</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="3097"/> + <location filename="../../src/yuzu/main.cpp" line="3196"/> <source>System Archive Not Found</source> <translation>Systémový Archív Nenalezen</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="3099"/> + <location filename="../../src/yuzu/main.cpp" line="3198"/> <source>System Archive Missing</source> <translation>Chybí systémový archiv</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="3105"/> + <location filename="../../src/yuzu/main.cpp" line="3204"/> <source>yuzu was unable to locate the Switch shared fonts. %1</source> <translation>Aplikace yuzu nenašla sdílená písma Switch. %1</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="3106"/> + <location filename="../../src/yuzu/main.cpp" line="3205"/> <source>Shared Fonts Not Found</source> <translation>Sdílené Fonty Nenalezeny</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="3108"/> + <location filename="../../src/yuzu/main.cpp" line="3207"/> <source>Shared Font Missing</source> <translation>Chybí sdílené písmo</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="3114"/> + <location filename="../../src/yuzu/main.cpp" line="3213"/> <source>Fatal Error</source> <translation>Fatální Chyba</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="3115"/> + <location filename="../../src/yuzu/main.cpp" line="3214"/> <source>yuzu has encountered a fatal error, please see the log for more details. For more information on accessing the log, please see the following page: <a href='https://community.citra-emu.org/t/how-to-upload-the-log-file/296'>How to Upload the Log File</a>.<br/><br/>Would you like to quit back to the game list? Continuing emulation may result in crashes, corrupted save data, or other bugs.</source> <translation>yuzu narazilo na fatální chybu, prosím kouknšte do logu pro více informací. Pro více informací jak se dostat do logu se koukněte na následující stránku: <a href='https://community.citra-emu.org/t/how-to-upload-the-log-file/296'> Jak Uploadnout Log</a>.<br/><br/>Přejete si odejít do listu her? Pokračování v emulaci může mít za následek crashe, rozbité savy, nebo další bugy.</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="3124"/> + <location filename="../../src/yuzu/main.cpp" line="3223"/> <source>Fatal Error encountered</source> <translation>Vyskytla se kritická chyba</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="3147"/> + <location filename="../../src/yuzu/main.cpp" line="3246"/> <source>Confirm Key Rederivation</source> <translation>Potvďte Rederivaci Klíčů</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="3148"/> + <location filename="../../src/yuzu/main.cpp" line="3247"/> <source>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. @@ -4445,37 +4579,37 @@ a udělejte si zálohu. Toto vymaže věechny vaše automaticky generované klíče a znova spustí modul derivace klíčů.</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="3180"/> + <location filename="../../src/yuzu/main.cpp" line="3279"/> <source>Missing fuses</source> <translation>Chybí Fuses</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="3183"/> + <location filename="../../src/yuzu/main.cpp" line="3282"/> <source> - Missing BOOT0</source> <translation>- Chybí BOOT0</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="3186"/> + <location filename="../../src/yuzu/main.cpp" line="3285"/> <source> - Missing BCPKG2-1-Normal-Main</source> <translation> - Chybí BCPKG2-1-Normal-Main</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="3189"/> + <location filename="../../src/yuzu/main.cpp" line="3288"/> <source> - Missing PRODINFO</source> <translation> - Chybí PRODINFO</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="3193"/> + <location filename="../../src/yuzu/main.cpp" line="3292"/> <source>Derivation Components Missing</source> <translation>Chybé odvozené komponenty</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="3194"/> - <source>Components are missing that may hinder key derivation from completing. <br>Please follow <a href='https://yuzu-emu.org/help/quickstart/'>the yuzu quickstart guide</a> to get all your keys and games.<br><br><small>(%1)</small></source> - <translation>Components are missing that may hinder key derivation from completing. <br>Please follow <a href='https://yuzu-emu.org/help/quickstart/'>the yuzu quickstart guide</a> to get all your keys and games.<br><br><small>(%1)</small></translation> + <location filename="../../src/yuzu/main.cpp" line="3293"/> + <source>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></source> + <translation type="unfinished"/> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="3203"/> + <location filename="../../src/yuzu/main.cpp" line="3302"/> <source>Deriving keys... This may take up to a minute depending on your system's performance.</source> @@ -4484,39 +4618,39 @@ Tohle může zabrat až minutu podle výkonu systému.</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="3205"/> + <location filename="../../src/yuzu/main.cpp" line="3304"/> <source>Deriving Keys</source> <translation>Derivuji Klíče</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="3250"/> + <location filename="../../src/yuzu/main.cpp" line="3349"/> <source>Select RomFS Dump Target</source> <translation>Vyberte Cíl vypsaní RomFS</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="3251"/> + <location filename="../../src/yuzu/main.cpp" line="3350"/> <source>Please select which RomFS you would like to dump.</source> <translation>Vyberte, kterou RomFS chcete vypsat.</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="3266"/> + <location filename="../../src/yuzu/main.cpp" line="3365"/> <source>Are you sure you want to close yuzu?</source> <translation>Jste si jist, že chcete zavřít yuzu?</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="3267"/> - <location filename="../../src/yuzu/main.cpp" line="3342"/> - <location filename="../../src/yuzu/main.cpp" line="3355"/> + <location filename="../../src/yuzu/main.cpp" line="3366"/> + <location filename="../../src/yuzu/main.cpp" line="3443"/> + <location filename="../../src/yuzu/main.cpp" line="3456"/> <source>yuzu</source> <translation>yuzu</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="3343"/> + <location filename="../../src/yuzu/main.cpp" line="3444"/> <source>Are you sure you want to stop the emulation? Any unsaved progress will be lost.</source> <translation>Jste si jist, že chcete ukončit emulaci? Jakýkolic neuložený postup bude ztracen.</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="3352"/> + <location filename="../../src/yuzu/main.cpp" line="3453"/> <source>The currently running application has requested yuzu to not exit. Would you like to bypass this and exit anyway?</source> @@ -4528,38 +4662,38 @@ Opravdu si přejete ukončit tuto aplikaci?</translation> <context> <name>GRenderWindow</name> <message> - <location filename="../../src/yuzu/bootmanager.cpp" line="675"/> + <location filename="../../src/yuzu/bootmanager.cpp" line="976"/> <source>OpenGL not available!</source> <translation>OpenGL není k dispozici!</translation> </message> <message> - <location filename="../../src/yuzu/bootmanager.cpp" line="676"/> + <location filename="../../src/yuzu/bootmanager.cpp" line="977"/> <source>yuzu has not been compiled with OpenGL support.</source> <translation>yuzu nebylo sestaveno s OpenGL podporou.</translation> </message> <message> - <location filename="../../src/yuzu/bootmanager.cpp" line="695"/> - <location filename="../../src/yuzu/bootmanager.cpp" line="715"/> + <location filename="../../src/yuzu/bootmanager.cpp" line="996"/> + <location filename="../../src/yuzu/bootmanager.cpp" line="1016"/> <source>Error while initializing OpenGL!</source> <translation>Chyba při inicializaci OpenGL!</translation> </message> <message> - <location filename="../../src/yuzu/bootmanager.cpp" line="696"/> + <location filename="../../src/yuzu/bootmanager.cpp" line="997"/> <source>Your GPU may not support OpenGL, or you do not have the latest graphics driver.</source> <translation>Vaše grafická karta pravděpodobně nepodporuje OpenGL nebo nejsou nainstalovány nejnovější ovladače.</translation> </message> <message> - <location filename="../../src/yuzu/bootmanager.cpp" line="705"/> + <location filename="../../src/yuzu/bootmanager.cpp" line="1006"/> <source>Error while initializing OpenGL 4.6!</source> <translation>Chyba při inicializaci OpenGL 4.6!</translation> </message> <message> - <location filename="../../src/yuzu/bootmanager.cpp" line="706"/> + <location filename="../../src/yuzu/bootmanager.cpp" line="1007"/> <source>Your GPU may not support OpenGL 4.6, or you do not have the latest graphics driver.<br><br>GL Renderer:<br>%1</source> <translation>Vaše grafická karta pravděpodobně nepodporuje OpenGL 4.6 nebo nejsou nainstalovány nejnovější ovladače.<br><br>GL Renderer:<br>%1</translation> </message> <message> - <location filename="../../src/yuzu/bootmanager.cpp" line="716"/> + <location filename="../../src/yuzu/bootmanager.cpp" line="1017"/> <source>Your GPU may not support one or more required OpenGL extensions. Please ensure you have the latest graphics driver.<br><br>GL Renderer:<br>%1<br><br>Unsupported extensions:<br>%2</source> <translation>Vaše grafická karta pravděpodobně nepodporuje jedno nebo více rozšíření OpenGL. Ujistěte se prosím, že jsou nainstalovány nejnovější ovladače.<br><br>GL Renderer:<br>%1<br><br>Nepodporované rozšíření:<br>%2</translation> </message> @@ -4916,190 +5050,205 @@ Screen.</source> <translation>&Emulace</translation> </message> <message> - <location filename="../../src/yuzu/main.ui" line="79"/> + <location filename="../../src/yuzu/main.ui" line="78"/> <source>&View</source> <translation>&Pohled</translation> </message> <message> - <location filename="../../src/yuzu/main.ui" line="83"/> + <location filename="../../src/yuzu/main.ui" line="82"/> <source>&Reset Window Size</source> <translation>&Resetovat Velikost Okna</translation> </message> <message> - <location filename="../../src/yuzu/main.ui" line="88"/> + <location filename="../../src/yuzu/main.ui" line="87"/> + <source>&Debugging</source> + <translation>&Ladění</translation> + </message> + <message> + <location filename="../../src/yuzu/main.ui" line="92"/> <source>Reset Window Size to &720p</source> <translation>Nastavit velikost okna na &720p</translation> </message> <message> - <location filename="../../src/yuzu/main.ui" line="91"/> + <location filename="../../src/yuzu/main.ui" line="95"/> <source>Reset Window Size to 720p</source> <translation>Nastavit velikost okna na 720p</translation> </message> <message> - <location filename="../../src/yuzu/main.ui" line="96"/> + <location filename="../../src/yuzu/main.ui" line="100"/> <source>Reset Window Size to &900p</source> <translation>Resetovat Velikost Okna na &900p</translation> </message> <message> - <location filename="../../src/yuzu/main.ui" line="99"/> + <location filename="../../src/yuzu/main.ui" line="103"/> <source>Reset Window Size to 900p</source> <translation>Resetovat Velikost Okna na 900p</translation> </message> <message> - <location filename="../../src/yuzu/main.ui" line="104"/> + <location filename="../../src/yuzu/main.ui" line="108"/> <source>Reset Window Size to &1080p</source> <translation>Nastavit velikost okna na &1080p</translation> </message> <message> - <location filename="../../src/yuzu/main.ui" line="107"/> + <location filename="../../src/yuzu/main.ui" line="111"/> <source>Reset Window Size to 1080p</source> <translation>Nastavit velikost okna na 1080p</translation> </message> <message> - <location filename="../../src/yuzu/main.ui" line="112"/> - <source>&Debugging</source> - <translation>&Ladění</translation> - </message> - <message> - <location filename="../../src/yuzu/main.ui" line="126"/> + <location filename="../../src/yuzu/main.ui" line="125"/> <source>&Tools</source> <translation>&Nástroje</translation> </message> <message> - <location filename="../../src/yuzu/main.ui" line="135"/> + <location filename="../../src/yuzu/main.ui" line="129"/> + <source>&TAS</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/main.ui" line="144"/> <source>&Help</source> <translation>&Pomoc</translation> </message> <message> - <location filename="../../src/yuzu/main.ui" line="155"/> + <location filename="../../src/yuzu/main.ui" line="164"/> <source>&Install Files to NAND...</source> <translation>&Instalovat soubory na NAND...</translation> </message> <message> - <location filename="../../src/yuzu/main.ui" line="160"/> + <location filename="../../src/yuzu/main.ui" line="169"/> <source>L&oad File...</source> <translation>Načís&t soubor...</translation> </message> <message> - <location filename="../../src/yuzu/main.ui" line="165"/> + <location filename="../../src/yuzu/main.ui" line="174"/> <source>Load &Folder...</source> <translation>Načíst sl&ožku...</translation> </message> <message> - <location filename="../../src/yuzu/main.ui" line="170"/> + <location filename="../../src/yuzu/main.ui" line="179"/> <source>E&xit</source> <translation>E&xit</translation> </message> <message> - <location filename="../../src/yuzu/main.ui" line="178"/> - <source>&Start</source> - <translation>&Start</translation> - </message> - <message> - <location filename="../../src/yuzu/main.ui" line="186"/> + <location filename="../../src/yuzu/main.ui" line="187"/> <source>&Pause</source> <translation>&Pauza</translation> </message> <message> - <location filename="../../src/yuzu/main.ui" line="194"/> + <location filename="../../src/yuzu/main.ui" line="195"/> <source>&Stop</source> <translation>&Stop</translation> </message> <message> - <location filename="../../src/yuzu/main.ui" line="199"/> + <location filename="../../src/yuzu/main.ui" line="200"/> <source>&Reinitialize keys...</source> <translation>&Znovu inicializovat klíče...</translation> </message> <message> - <location filename="../../src/yuzu/main.ui" line="204"/> + <location filename="../../src/yuzu/main.ui" line="205"/> <source>&About yuzu</source> <translation>O &aplikaci yuzu</translation> </message> <message> - <location filename="../../src/yuzu/main.ui" line="212"/> + <location filename="../../src/yuzu/main.ui" line="213"/> <source>Single &Window Mode</source> <translation>&Režim jednoho okna</translation> </message> <message> - <location filename="../../src/yuzu/main.ui" line="217"/> + <location filename="../../src/yuzu/main.ui" line="218"/> <source>Con&figure...</source> <translation>&Nastavení</translation> </message> <message> - <location filename="../../src/yuzu/main.ui" line="225"/> + <location filename="../../src/yuzu/main.ui" line="226"/> <source>Display D&ock Widget Headers</source> <translation>Zobrazit záhlaví widgetů d&oku</translation> </message> <message> - <location filename="../../src/yuzu/main.ui" line="233"/> + <location filename="../../src/yuzu/main.ui" line="234"/> <source>Show &Filter Bar</source> <translation>Zobrazit &filtrovací panel</translation> </message> <message> - <location filename="../../src/yuzu/main.ui" line="241"/> + <location filename="../../src/yuzu/main.ui" line="242"/> <source>Show &Status Bar</source> <translation>Zobrazit &stavový řádek</translation> </message> <message> - <location filename="../../src/yuzu/main.ui" line="244"/> + <location filename="../../src/yuzu/main.ui" line="245"/> <source>Show Status Bar</source> <translation>Zobrazit Staus Bar</translation> </message> <message> - <location filename="../../src/yuzu/main.ui" line="252"/> + <location filename="../../src/yuzu/main.ui" line="253"/> <source>F&ullscreen</source> <translation>&Celá obrazovka</translation> </message> <message> - <location filename="../../src/yuzu/main.ui" line="260"/> + <location filename="../../src/yuzu/main.ui" line="261"/> <source>&Restart</source> <translation>&Restartovat</translation> </message> <message> - <location filename="../../src/yuzu/main.ui" line="268"/> + <location filename="../../src/yuzu/main.ui" line="269"/> <source>Load &Amiibo...</source> <translation>Načíst &Amiibo...</translation> </message> <message> - <location filename="../../src/yuzu/main.ui" line="276"/> + <location filename="../../src/yuzu/main.ui" line="277"/> <source>&Report Compatibility</source> <translation>&Nahlásit kompatibilitu</translation> </message> <message> - <location filename="../../src/yuzu/main.ui" line="284"/> + <location filename="../../src/yuzu/main.ui" line="285"/> <source>Open &Mods Page</source> <translation>Otevřít stránku s &modifikacemi</translation> </message> <message> - <location filename="../../src/yuzu/main.ui" line="289"/> + <location filename="../../src/yuzu/main.ui" line="290"/> <source>Open &Quickstart Guide</source> <translation>Otevřít &rychlého průvodce</translation> </message> <message> - <location filename="../../src/yuzu/main.ui" line="294"/> + <location filename="../../src/yuzu/main.ui" line="295"/> <source>&FAQ</source> <translation>Často &kladené otázky</translation> </message> <message> - <location filename="../../src/yuzu/main.ui" line="299"/> + <location filename="../../src/yuzu/main.ui" line="300"/> <source>Open &yuzu Folder</source> <translation>Otevřít složku s &yuzu</translation> </message> <message> - <location filename="../../src/yuzu/main.ui" line="307"/> + <location filename="../../src/yuzu/main.ui" line="308"/> <source>&Capture Screenshot</source> <translation>Za&chytit snímek obrazovky</translation> </message> <message> - <location filename="../../src/yuzu/main.ui" line="312"/> - <source>Configure &TAS...</source> + <location filename="../../src/yuzu/main.ui" line="313"/> + <source>&Configure TAS...</source> <translation type="unfinished"/> </message> <message> - <location filename="../../src/yuzu/main.ui" line="320"/> + <location filename="../../src/yuzu/main.ui" line="321"/> <source>Configure C&urrent Game...</source> <translation>Nastavení současné hry</translation> </message> + <message> + <location filename="../../src/yuzu/main.ui" line="329"/> + <source>&Start</source> + <translation>&Start</translation> + </message> + <message> + <location filename="../../src/yuzu/main.ui" line="337"/> + <source>&Reset</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/main.ui" line="345"/> + <source>R&ecord</source> + <translation type="unfinished"/> + </message> </context> <context> <name>MicroProfileDialog</name> @@ -5145,10 +5294,15 @@ p, li { white-space: pre-wrap; } <context> <name>PlayerControlPreview</name> <message> - <location filename="../../src/yuzu/configuration/configure_input_player_widget.cpp" line="1566"/> + <location filename="../../src/yuzu/configuration/configure_input_player_widget.cpp" line="1572"/> <source>START/PAUSE</source> <translation>START/PAUSE</translation> </message> + <message> + <location filename="../../src/yuzu/configuration/configure_input_player_widget.cpp" line="2685"/> + <source>Charging</source> + <translation type="unfinished"/> + </message> </context> <context> <name>QObject</name> @@ -5179,142 +5333,222 @@ p, li { white-space: pre-wrap; } </message> <message> <location filename="../../src/yuzu/configuration/configure_touch_from_button.cpp" line="23"/> - <location filename="../../src/yuzu/configuration/configure_mouse_advanced.cpp" line="32"/> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="72"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="43"/> <source>Shift</source> <translation>Shift</translation> </message> <message> <location filename="../../src/yuzu/configuration/configure_touch_from_button.cpp" line="25"/> - <location filename="../../src/yuzu/configuration/configure_mouse_advanced.cpp" line="34"/> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="74"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="45"/> <source>Ctrl</source> <translation>Ctrl</translation> </message> <message> <location filename="../../src/yuzu/configuration/configure_touch_from_button.cpp" line="27"/> - <location filename="../../src/yuzu/configuration/configure_mouse_advanced.cpp" line="36"/> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="76"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="47"/> <source>Alt</source> <translation>Alt</translation> </message> <message> <location filename="../../src/yuzu/configuration/configure_touch_from_button.cpp" line="37"/> - <location filename="../../src/yuzu/configuration/configure_mouse_advanced.cpp" line="46"/> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="103"/> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="190"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="130"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="196"/> <source>[not set]</source> <translation>[Nenastaveno]</translation> </message> <message> <location filename="../../src/yuzu/configuration/configure_touch_from_button.cpp" line="49"/> - <location filename="../../src/yuzu/configuration/configure_mouse_advanced.cpp" line="58"/> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="152"/> <source>Hat %1 %2</source> <translation>Poziční klobouček %1 %2</translation> </message> <message> <location filename="../../src/yuzu/configuration/configure_touch_from_button.cpp" line="56"/> - <location filename="../../src/yuzu/configuration/configure_mouse_advanced.cpp" line="65"/> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="159"/> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="210"/> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="214"/> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="218"/> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="222"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="219"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="223"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="227"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="231"/> <source>Axis %1%2</source> <translation>Osa %1%2</translation> </message> <message> <location filename="../../src/yuzu/configuration/configure_touch_from_button.cpp" line="62"/> - <location filename="../../src/yuzu/configuration/configure_mouse_advanced.cpp" line="71"/> <source>Button %1</source> <translation>Tlačítko %1</translation> </message> <message> <location filename="../../src/yuzu/configuration/configure_touch_from_button.cpp" line="68"/> - <location filename="../../src/yuzu/configuration/configure_mouse_advanced.cpp" line="76"/> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="185"/> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="227"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="190"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="204"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="234"/> <source>[unknown]</source> <translation>[Neznámá]</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_mouse_advanced.cpp" line="22"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="58"/> + <source>Left</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="60"/> + <source>Right</source> + <translation type="unfinished"/> + </message> + <message> <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="62"/> - <source>Click 0</source> - <translation>Klik 0</translation> + <source>Down</source> + <translation type="unfinished"/> </message> <message> - <location filename="../../src/yuzu/configuration/configure_mouse_advanced.cpp" line="24"/> <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="64"/> - <source>Click 1</source> - <translation>Klik 1</translation> + <source>Up</source> + <translation type="unfinished"/> </message> <message> - <location filename="../../src/yuzu/configuration/configure_mouse_advanced.cpp" line="26"/> <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="66"/> - <source>Click 2</source> - <translation>Klik 2</translation> + <source>Z</source> + <translation type="unfinished"/> </message> <message> - <location filename="../../src/yuzu/configuration/configure_mouse_advanced.cpp" line="28"/> <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="68"/> - <source>Click 3</source> - <translation>Klik 3</translation> + <source>R</source> + <translation type="unfinished"/> </message> <message> - <location filename="../../src/yuzu/configuration/configure_mouse_advanced.cpp" line="30"/> <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="70"/> - <source>Click 4</source> - <translation>Klik 4</translation> + <source>L</source> + <translation type="unfinished"/> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="109"/> - <source>%1%2</source> - <translation>%1%2</translation> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="72"/> + <source>A</source> + <translation type="unfinished"/> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="117"/> - <source>GC Axis %1%2</source> - <translation>GC osa %1%2</translation> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="74"/> + <source>B</source> + <translation type="unfinished"/> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="121"/> - <source>GC Button %1</source> - <translation>GC tlačítko %1</translation> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="76"/> + <source>X</source> + <translation type="unfinished"/> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="130"/> - <source>TAS Axis %1</source> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="78"/> + <source>Y</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="80"/> + <source>Start</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="82"/> + <source>L1</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="84"/> + <source>L2</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="86"/> + <source>L3</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="88"/> + <source>R1</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="90"/> + <source>R2</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="92"/> + <source>R3</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="94"/> + <source>Circle</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="96"/> + <source>Cross</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="98"/> + <source>Square</source> <translation type="unfinished"/> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="134"/> - <source>TAS Btn %1</source> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="100"/> + <source>Triangle</source> <translation type="unfinished"/> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="142"/> - <source>Motion %1</source> - <translation>Pohyb %1</translation> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="102"/> + <source>Share</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="104"/> + <source>Options</source> + <translation type="unfinished"/> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="166"/> - <source>%1Button %2</source> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="106"/> + <source>[undefined]</source> <translation type="unfinished"/> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="170"/> - <source>SDL Motion</source> - <translation>SDL pohyb</translation> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="140"/> + <source>%1%2</source> + <translation>%1%2</translation> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="144"/> + <source>[invalid]</source> + <translation type="unfinished"/> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="180"/> - <source>%1Click %2</source> - <translation>%1Klik %2</translation> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="154"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="178"/> + <source>%1%2Hat %3</source> + <translation type="unfinished"/> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="205"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="158"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="181"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="184"/> + <source>%1%2Axis %3</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="164"/> + <source>%1%2Axis %3,%4,%5</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="168"/> + <source>%1%2Motion %3</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="172"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="187"/> + <source>%1%2Button %3</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="214"/> <source>[unused]</source> <translation>[nepoužito]</translation> </message> @@ -5355,7 +5589,7 @@ p, li { white-space: pre-wrap; } <location filename="../../src/yuzu/applets/qt_controller.ui" line="1656"/> <location filename="../../src/yuzu/applets/qt_controller.ui" line="1857"/> <location filename="../../src/yuzu/applets/qt_controller.ui" line="2054"/> - <location filename="../../src/yuzu/applets/qt_controller.cpp" line="419"/> + <location filename="../../src/yuzu/applets/qt_controller.cpp" line="411"/> <source>Pro Controller</source> <translation>Pro Controller</translation> </message> @@ -5368,7 +5602,7 @@ p, li { white-space: pre-wrap; } <location filename="../../src/yuzu/applets/qt_controller.ui" line="1661"/> <location filename="../../src/yuzu/applets/qt_controller.ui" line="1862"/> <location filename="../../src/yuzu/applets/qt_controller.ui" line="2059"/> - <location filename="../../src/yuzu/applets/qt_controller.cpp" line="423"/> + <location filename="../../src/yuzu/applets/qt_controller.cpp" line="415"/> <source>Dual Joycons</source> <translation>Oba Joycony</translation> </message> @@ -5381,7 +5615,7 @@ p, li { white-space: pre-wrap; } <location filename="../../src/yuzu/applets/qt_controller.ui" line="1666"/> <location filename="../../src/yuzu/applets/qt_controller.ui" line="1867"/> <location filename="../../src/yuzu/applets/qt_controller.ui" line="2064"/> - <location filename="../../src/yuzu/applets/qt_controller.cpp" line="427"/> + <location filename="../../src/yuzu/applets/qt_controller.cpp" line="419"/> <source>Left Joycon</source> <translation>Levý Joycon</translation> </message> @@ -5394,7 +5628,7 @@ p, li { white-space: pre-wrap; } <location filename="../../src/yuzu/applets/qt_controller.ui" line="1671"/> <location filename="../../src/yuzu/applets/qt_controller.ui" line="1872"/> <location filename="../../src/yuzu/applets/qt_controller.ui" line="2069"/> - <location filename="../../src/yuzu/applets/qt_controller.cpp" line="431"/> + <location filename="../../src/yuzu/applets/qt_controller.cpp" line="423"/> <source>Right Joycon</source> <translation>Pravý Joycon</translation> </message> @@ -5422,7 +5656,7 @@ p, li { white-space: pre-wrap; } </message> <message> <location filename="../../src/yuzu/applets/qt_controller.ui" line="932"/> - <location filename="../../src/yuzu/applets/qt_controller.cpp" line="436"/> + <location filename="../../src/yuzu/applets/qt_controller.cpp" line="428"/> <source>Handheld</source> <translation>Handheld</translation> </message> @@ -5543,7 +5777,7 @@ p, li { white-space: pre-wrap; } <translation>8</translation> </message> <message> - <location filename="../../src/yuzu/applets/qt_controller.cpp" line="441"/> + <location filename="../../src/yuzu/applets/qt_controller.cpp" line="433"/> <source>GameCube Controller</source> <translation>Ovladač GameCube</translation> </message> @@ -5637,13 +5871,13 @@ p, li { white-space: pre-wrap; } <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></translation> </message> <message> - <location filename="../../src/yuzu/applets/qt_software_keyboard.cpp" line="396"/> - <location filename="../../src/yuzu/applets/qt_software_keyboard.cpp" line="406"/> + <location filename="../../src/yuzu/applets/qt_software_keyboard.cpp" line="399"/> + <location filename="../../src/yuzu/applets/qt_software_keyboard.cpp" line="409"/> <source>OK</source> <translation>OK</translation> </message> <message> - <location filename="../../src/yuzu/applets/qt_software_keyboard.cpp" line="406"/> + <location filename="../../src/yuzu/applets/qt_software_keyboard.cpp" line="409"/> <source>Cancel</source> <translation>Storno</translation> </message> diff --git a/dist/languages/da.ts b/dist/languages/da.ts index c125586dd..c62fd142d 100644 --- a/dist/languages/da.ts +++ b/dist/languages/da.ts @@ -666,7 +666,12 @@ p, li { white-space: pre-wrap; } <translation>Aktivér Automatisk Stub**</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_debug.ui" line="212"/> + <location filename="../../src/yuzu/configuration/configure_debug.ui" line="204"/> + <source>Enable all Controller Types</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_debug.ui" line="219"/> <source>**This will be reset automatically when yuzu closes.</source> <translation>**Dette vil automatisk blive nulstillet, når yuzu lukkes.</translation> </message> @@ -946,67 +951,78 @@ p, li { white-space: pre-wrap; } <translation>Generelt</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_general.ui" line="35"/> - <source>Framerate Cap</source> - <translation>Billedfrekvensloft</translation> + <location filename="../../src/yuzu/configuration/configure_general.ui" line="50"/> + <location filename="../../src/yuzu/configuration/configure_general.ui" line="57"/> + <source>Use global framerate cap</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_general.ui" line="62"/> + <source>Set framerate cap:</source> + <translation type="unfinished"/> </message> <message> - <location filename="../../src/yuzu/configuration/configure_general.ui" line="38"/> + <location filename="../../src/yuzu/configuration/configure_general.ui" line="70"/> <source>Requires the use of the FPS Limiter Toggle hotkey to take effect.</source> <translation>Kræver brug af FPS-Begrænsnings-Skift genvejstast, for at træde i kraft.</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_general.ui" line="45"/> + <location filename="../../src/yuzu/configuration/configure_general.ui" line="73"/> + <source>Framerate Cap</source> + <translation>Billedfrekvensloft</translation> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_general.ui" line="95"/> <source>x</source> <translation>x</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_general.ui" line="65"/> + <location filename="../../src/yuzu/configuration/configure_general.ui" line="116"/> <source>Limit Speed Percent</source> <translation>Begræns Hastighedsprocent</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_general.ui" line="72"/> + <location filename="../../src/yuzu/configuration/configure_general.ui" line="123"/> <source>%</source> <translation>%</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_general.ui" line="90"/> + <location filename="../../src/yuzu/configuration/configure_general.ui" line="141"/> <source>Multicore CPU Emulation</source> <translation>Flerkerne-CPU-Emulering</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_general.ui" line="97"/> + <location filename="../../src/yuzu/configuration/configure_general.ui" line="148"/> <source>Confirm exit while emulation is running</source> <translation>Bekræft afslutning, mens emulering kører</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_general.ui" line="104"/> + <location filename="../../src/yuzu/configuration/configure_general.ui" line="155"/> <source>Prompt for user on game boot</source> <translation>Spørg efter bruger, ved opstart af spil</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_general.ui" line="111"/> + <location filename="../../src/yuzu/configuration/configure_general.ui" line="162"/> <source>Pause emulation when in background</source> <translation>Sæt emulering på pause, når i baggrund</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_general.ui" line="118"/> + <location filename="../../src/yuzu/configuration/configure_general.ui" line="169"/> <source>Hide mouse on inactivity</source> <translation>Skjul mus ved inaktivitet</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_general.ui" line="160"/> + <location filename="../../src/yuzu/configuration/configure_general.ui" line="211"/> <source>Reset All Settings</source> <translation>Nulstil Alle Indstillinger</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_general.cpp" line="70"/> + <location filename="../../src/yuzu/configuration/configure_general.cpp" line="78"/> <source>yuzu</source> <translation>yuzu</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_general.cpp" line="71"/> + <location filename="../../src/yuzu/configuration/configure_general.cpp" line="79"/> <source>This reset all settings and remove all per-game configurations. This will not delete game directories, profiles, or input profiles. Proceed?</source> <translation>dette nulstiller alle indstillinger og fjerner alle pr-spil-konfigurationer. Dette vil ikke slette spilmapper, -profiler, eller input-profiler. Fortsæt?</translation> </message> @@ -1124,18 +1140,113 @@ p, li { white-space: pre-wrap; } <translation>Stræk til Vindue</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_graphics.ui" line="339"/> - <location filename="../../src/yuzu/configuration/configure_graphics.ui" line="349"/> + <location filename="../../src/yuzu/configuration/configure_graphics.ui" line="330"/> + <source>Resolution:</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_graphics.ui" line="338"/> + <source>0.5X (360p/540p) [EXPERIMENTAL]</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_graphics.ui" line="343"/> + <source>0.75X (540p/810p) [EXPERIMENTAL]</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_graphics.ui" line="348"/> + <source>1X (720p/1080p)</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_graphics.ui" line="353"/> + <source>2X (1440p/2160p)</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_graphics.ui" line="358"/> + <source>3X (2160p/3240p)</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_graphics.ui" line="363"/> + <source>4X (2880p/4320p)</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_graphics.ui" line="368"/> + <source>5X (3600p/5400p)</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_graphics.ui" line="373"/> + <source>6X (4320p/6480p)</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_graphics.ui" line="399"/> + <source>Window Adapting Filter:</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_graphics.ui" line="407"/> + <source>Nearest Neighbor</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_graphics.ui" line="412"/> + <source>Bilinear</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_graphics.ui" line="417"/> + <source>Bicubic</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_graphics.ui" line="422"/> + <source>Gaussian</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_graphics.ui" line="427"/> + <source>ScaleForce</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_graphics.ui" line="432"/> + <source>AMD FidelityFX™️ Super Resolution [Vulkan Only]</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_graphics.ui" line="458"/> + <source>Anti-Aliasing Method:</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_graphics.ui" line="466"/> + <source>None</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_graphics.ui" line="471"/> + <source>FXAA</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_graphics.ui" line="506"/> + <location filename="../../src/yuzu/configuration/configure_graphics.ui" line="516"/> <source>Use global background color</source> <translation>Brug global baggrundsfarve</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_graphics.ui" line="354"/> + <location filename="../../src/yuzu/configuration/configure_graphics.ui" line="521"/> <source>Set background color:</source> <translation>Angiv baggrundsfarve:</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_graphics.ui" line="362"/> + <location filename="../../src/yuzu/configuration/configure_graphics.ui" line="529"/> <source>Background Color:</source> <translation>Baggrundsfarve:</translation> </message> @@ -1204,28 +1315,33 @@ p, li { white-space: pre-wrap; } </message> <message> <location filename="../../src/yuzu/configuration/configure_graphics_advanced.ui" line="128"/> - <source>Default</source> - <translation>Standard</translation> + <source>Automatic</source> + <translation type="unfinished"/> </message> <message> <location filename="../../src/yuzu/configuration/configure_graphics_advanced.ui" line="133"/> - <source>2x (WILL BREAK THINGS)</source> - <translation>2x (VIL ØDELÆGGE NOGET)</translation> + <source>Default</source> + <translation>Standard</translation> </message> <message> <location filename="../../src/yuzu/configuration/configure_graphics_advanced.ui" line="138"/> - <source>4x (WILL BREAK THINGS)</source> - <translation>4x (VIL ØDELÆGGE NOGET)</translation> + <source>2x</source> + <translation type="unfinished"/> </message> <message> <location filename="../../src/yuzu/configuration/configure_graphics_advanced.ui" line="143"/> - <source>8x (WILL BREAK THINGS)</source> - <translation>8x (VIL ØDELÆGGE NOGET)</translation> + <source>4x</source> + <translation type="unfinished"/> </message> <message> <location filename="../../src/yuzu/configuration/configure_graphics_advanced.ui" line="148"/> - <source>16x (WILL BREAK THINGS)</source> - <translation>16x (VIL ØDELÆGGE NOGET)</translation> + <source>8x</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_graphics_advanced.ui" line="153"/> + <source>16x</source> + <translation type="unfinished"/> </message> </context> <context> @@ -1552,8 +1668,8 @@ p, li { white-space: pre-wrap; } </message> <message> <location filename="../../src/yuzu/configuration/configure_input_advanced.ui" line="2533"/> - <source>Other</source> - <translation>Andet</translation> + <source>Emulated Devices</source> + <translation type="unfinished"/> </message> <message> <location filename="../../src/yuzu/configuration/configure_input_advanced.ui" line="2545"/> @@ -1562,499 +1678,524 @@ p, li { white-space: pre-wrap; } </message> <message> <location filename="../../src/yuzu/configuration/configure_input_advanced.ui" line="2558"/> - <source>Emulate Analog with Keyboard Input</source> - <translation>Emulér Analog med Tastaturinput</translation> - </message> - <message> - <location filename="../../src/yuzu/configuration/configure_input_advanced.ui" line="2571"/> - <source>Enable mouse panning</source> - <translation>Aktivér kig med mus</translation> - </message> - <message> - <location filename="../../src/yuzu/configuration/configure_input_advanced.ui" line="2578"/> - <source>Mouse sensitivity</source> - <translation>Mus-følsomhed</translation> - </message> - <message> - <location filename="../../src/yuzu/configuration/configure_input_advanced.ui" line="2584"/> - <source>%</source> - <translation>%</translation> - </message> - <message> - <location filename="../../src/yuzu/configuration/configure_input_advanced.ui" line="2600"/> - <location filename="../../src/yuzu/configuration/configure_input_advanced.ui" line="2623"/> - <source>Advanced</source> - <translation>Avanceret</translation> + <source>Mouse</source> + <translation>Mus</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_advanced.ui" line="2630"/> + <location filename="../../src/yuzu/configuration/configure_input_advanced.ui" line="2565"/> <source>Touchscreen</source> <translation>Berøringsfølsom Skærm</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_advanced.ui" line="2643"/> - <source>Mouse</source> - <translation>Mus</translation> + <location filename="../../src/yuzu/configuration/configure_input_advanced.ui" line="2588"/> + <source>Advanced</source> + <translation>Avanceret</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_advanced.ui" line="2650"/> - <source>Motion / Touch</source> - <translation>Bevægelse / Berøring</translation> + <location filename="../../src/yuzu/configuration/configure_input_advanced.ui" line="2595"/> + <source>Debug Controller</source> + <translation>Fejlfindings-Styringsenhed</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_advanced.ui" line="2657"/> - <location filename="../../src/yuzu/configuration/configure_input_advanced.ui" line="2671"/> + <location filename="../../src/yuzu/configuration/configure_input_advanced.ui" line="2602"/> + <location filename="../../src/yuzu/configuration/configure_input_advanced.ui" line="2702"/> <source>Configure</source> <translation>Konfigurér</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_advanced.ui" line="2664"/> - <source>Debug Controller</source> - <translation>Fejlfindings-Styringsenhed</translation> + <location filename="../../src/yuzu/configuration/configure_input_advanced.ui" line="2612"/> + <source>Other</source> + <translation>Andet</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_advanced.ui" line="2678"/> + <location filename="../../src/yuzu/configuration/configure_input_advanced.ui" line="2624"/> + <source>Emulate Analog with Keyboard Input</source> + <translation>Emulér Analog med Tastaturinput</translation> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_input_advanced.ui" line="2631"/> <source>Requires restarting yuzu</source> <translation>Kræver genstart af yuzu</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_advanced.ui" line="2687"/> + <location filename="../../src/yuzu/configuration/configure_input_advanced.ui" line="2640"/> <source>Enable XInput 8 player support (disables web applet)</source> <translation>Aktivér XInput 8-spiller-understøttelse (deaktiverer net-applet)</translation> </message> -</context> -<context> - <name>ConfigureInputPlayer</name> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="14"/> - <source>Configure Input</source> - <translation>Konfigurér Input</translation> + <location filename="../../src/yuzu/configuration/configure_input_advanced.ui" line="2653"/> + <source>Enable UDP controllers (not needed for motion)</source> + <translation type="unfinished"/> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="63"/> - <source>Connect Controller</source> - <translation>Tilslut Styringsenhed</translation> + <location filename="../../src/yuzu/configuration/configure_input_advanced.ui" line="2666"/> + <source>Enable mouse panning</source> + <translation>Aktivér kig med mus</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="94"/> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="535"/> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="986"/> - <source>Pro Controller</source> - <translation>Pro-Styringsenhed</translation> + <location filename="../../src/yuzu/configuration/configure_input_advanced.ui" line="2673"/> + <source>Mouse sensitivity</source> + <translation>Mus-følsomhed</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="99"/> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="992"/> - <source>Dual Joycons</source> - <translation>Dobbelt-Joycon</translation> + <location filename="../../src/yuzu/configuration/configure_input_advanced.ui" line="2679"/> + <source>%</source> + <translation>%</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="104"/> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="998"/> - <source>Left Joycon</source> - <translation>Venstre Joycon</translation> + <location filename="../../src/yuzu/configuration/configure_input_advanced.ui" line="2695"/> + <source>Motion / Touch</source> + <translation>Bevægelse / Berøring</translation> </message> +</context> +<context> + <name>ConfigureInputPlayer</name> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="109"/> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="1004"/> - <source>Right Joycon</source> - <translation>Højre Joycon</translation> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="14"/> + <source>Configure Input</source> + <translation>Konfigurér Input</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="114"/> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="1010"/> - <source>Handheld</source> - <translation>Håndholdt</translation> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="63"/> + <source>Connect Controller</source> + <translation>Tilslut Styringsenhed</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="125"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="100"/> <source>Input Device</source> <translation>Inputenhed</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="153"/> - <source>Any</source> - <translation>Enhver</translation> - </message> - <message> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="158"/> - <source>Keyboard/Mouse</source> - <translation>Tastatur/Mus</translation> - </message> - <message> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="194"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="156"/> <source>Profile</source> <translation>Profil</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="234"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="196"/> <source>Save</source> <translation>Gem</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="250"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="212"/> <source>New</source> <translation>Ny</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="266"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="228"/> <source>Delete</source> <translation>Slet</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="329"/> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="1267"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="291"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="1190"/> <source>Left Stick</source> <translation>Venstre Styrepind</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="387"/> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="429"/> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="963"/> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="1002"/> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="2621"/> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="2660"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="349"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="391"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="925"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="964"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="2583"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="2622"/> <source>Up</source> <translation>Op</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="460"/> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="499"/> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="1033"/> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="1072"/> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="2107"/> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="2691"/> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="2730"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="422"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="461"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="995"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="1034"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="2069"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="2653"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="2692"/> <source>Left</source> <translation>Venstre</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="509"/> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="548"/> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="1082"/> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="1121"/> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="2156"/> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="2740"/> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="2779"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="471"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="510"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="1044"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="1083"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="2118"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="2702"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="2741"/> <source>Right</source> <translation>Højre</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="591"/> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="630"/> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="1164"/> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="1203"/> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="2822"/> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="2861"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="553"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="592"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="1126"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="1165"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="2784"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="2823"/> <source>Down</source> <translation>ed</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="661"/> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="700"/> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="2892"/> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="2931"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="623"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="662"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="2854"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="2893"/> <source>Pressed</source> <translation>Nedtrykt</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="710"/> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="749"/> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="2941"/> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="2980"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="672"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="711"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="2903"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="2942"/> <source>Modifier</source> <translation>Forandrer</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="759"/> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="2990"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="721"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="2952"/> <source>Range</source> <translation>Rækkevidde</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="792"/> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="3023"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="754"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="2985"/> <source>%</source> <translation>%</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="835"/> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="3063"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="797"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="3025"/> <source>Deadzone: 0%</source> <translation>Dødzone: 0%</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="859"/> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="3087"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="821"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="3049"/> <source>Modifier Range: 0%</source> <translation>Forandr Rækkevidde: 0%</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="905"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="867"/> <source>D-Pad</source> <translation>Retningskryds</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="1289"/> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="1328"/> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="1272"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="1251"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="1290"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="1195"/> <source>L</source> <translation>L</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="1344"/> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="1383"/> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="1264"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="1306"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="1345"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="1187"/> <source>ZL</source> <translation>ZL</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="1464"/> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="1503"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="1426"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="1465"/> <source>Minus</source> <translation>Minus</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="1513"/> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="1552"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="1475"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="1514"/> <source>Capture</source> <translation>Optag</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="1583"/> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="1622"/> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="1263"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="1545"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="1584"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="1186"/> <source>Plus</source> <translation>Plus</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="1632"/> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="1671"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="1594"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="1633"/> <source>Home</source> <translation>Hjem</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="1736"/> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="1775"/> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="1266"/> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="1273"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="1698"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="1737"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="1189"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="1196"/> <source>R</source> <translation>R</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="1791"/> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="1830"/> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="1265"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="1753"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="1792"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="1188"/> <source>ZR</source> <translation>ZR</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="1911"/> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="1950"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="1873"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="1912"/> <source>SL</source> <translation>SL</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="1960"/> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="1999"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="1922"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="1961"/> <source>SR</source> <translation>SR</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="2068"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="2030"/> <source>Motion 1</source> <translation>Bevægelse 1</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="2117"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="2079"/> <source>Motion 2</source> <translation>Bevægelse 2</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="2208"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="2170"/> <source>Face Buttons</source> <translation>Frontknapper:</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="2266"/> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="2305"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="2228"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="2267"/> <source>X</source> <translation>X</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="2336"/> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="2375"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="2298"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="2337"/> <source>Y</source> <translation>Y</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="2385"/> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="2424"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="2347"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="2386"/> <source>A</source> <translation>A</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="2467"/> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="2506"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="2429"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="2468"/> <source>B</source> <translation>B</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="2554"/> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="1268"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="2516"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="1191"/> <source>Right Stick</source> <translation>Højre Styrepind</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="322"/> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="372"/> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="430"/> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="474"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="330"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="396"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="461"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="507"/> <source>Clear</source> <translation>Ryd</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="324"/> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="374"/> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="432"/> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="476"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="332"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="398"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="463"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="509"/> <source>[not set]</source> <translation>[ikke indstillet]</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="327"/> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="478"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="335"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="512"/> <source>Toggle button</source> <translation>Funktionsskifteknap</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="335"/> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="339"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="341"/> + <source>Invert button</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="349"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="465"/> + <source>Invert axis</source> + <translation>Omvend akser</translation> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="355"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="359"/> <source>Set threshold</source> <translation>Angiv tærskel</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="339"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="359"/> <source>Choose a value between 0% and 100%</source> <translation>Vælg en værdi imellem 0% og 100%</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="406"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="436"/> <source>Map Analog Stick</source> <translation>Tilsted Analog Pind</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="407"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="437"/> <source>After pressing OK, first move your joystick horizontally, and then vertically. To invert the axes, first move your joystick vertically, and then horizontally.</source> <translation>Bevæg, efter tryk på OK, først din styrepind vandret og så lodret. Bevæg, for at omvende akserne, først din styrepind lodret og så vandret.</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="434"/> - <source>Invert axis</source> - <translation>Omvend akser</translation> - </message> - <message> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="500"/> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="952"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="537"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="891"/> <source>Deadzone: %1%</source> <translation>Dødzone: 1%</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="508"/> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="963"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="546"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="896"/> <source>Modifier Range: %1%</source> <translation>Forandringsrækkevidde: %1%</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="1016"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="572"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="918"/> + <source>Pro Controller</source> + <translation>Pro-Styringsenhed</translation> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="924"/> + <source>Dual Joycons</source> + <translation>Dobbelt-Joycon</translation> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="930"/> + <source>Left Joycon</source> + <translation>Venstre Joycon</translation> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="936"/> + <source>Right Joycon</source> + <translation>Højre Joycon</translation> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="942"/> + <source>Handheld</source> + <translation>Håndholdt</translation> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="948"/> <source>GameCube Controller</source> <translation>GameCube-Styringsenhed</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="1271"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="958"/> + <source>Poke Ball Plus</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="964"/> + <source>NES Controller</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="970"/> + <source>SNES Controller</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="976"/> + <source>N64 Controller</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="982"/> + <source>Sega Genesis</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="1194"/> <source>Start / Pause</source> <translation>Start / Pause</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="1274"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="1197"/> <source>Z</source> <translation>Z</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="1275"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="1198"/> <source>Control Stick</source> <translation>Styrepind</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="1276"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="1199"/> <source>C-Stick</source> <translation>C-Pind</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="1335"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="1297"/> <source>Shake!</source> <translation>Ryst!</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="1337"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="1299"/> <source>[waiting]</source> <translation>[venter]</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="1462"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="1381"/> <source>New Profile</source> <translation>Ny Profil</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="1462"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="1381"/> <source>Enter a profile name:</source> <translation>Indtast et profilnavn:</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="1470"/> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="1478"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="1389"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="1397"/> <source>Create Input Profile</source> <translation>Opret Input-Profil</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="1471"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="1390"/> <source>The given profile name is not valid!</source> <translation>Det angivne profilnavn er ikke gyldigt!</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="1479"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="1398"/> <source>Failed to create the input profile "%1"</source> <translation>Oprettelse af input-profil "%1" mislykkedes</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="1499"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="1418"/> <source>Delete Input Profile</source> <translation>Slet Input-Profil</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="1500"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="1419"/> <source>Failed to delete the input profile "%1"</source> <translation>Sletning af input-profil "%1" mislykkedes</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="1522"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="1441"/> <source>Load Input Profile</source> <translation>Indlæs Input-Profil</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="1523"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="1442"/> <source>Failed to load the input profile "%1"</source> <translation>Indlæsning af input-profil "%1" mislykkedes</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="1542"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="1461"/> <source>Save Input Profile</source> <translation>Gem Input-Profil</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="1543"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="1462"/> <source>Failed to save the input profile "%1"</source> <translation>Lagring af input-profil "%1" mislykkedes</translation> </message> @@ -2080,85 +2221,75 @@ Bevæg, for at omvende akserne, først din styrepind lodret og så vandret.</tra <context> <name>ConfigureMotionTouch</name> <message> - <location filename="../../src/yuzu/configuration/configure_motion_touch.ui" line="14"/> + <location filename="../../src/yuzu/configuration/configure_motion_touch.ui" line="6"/> <source>Configure Motion / Touch</source> <translation>Konfigurér Bevægelse / Berøring</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_motion_touch.ui" line="23"/> - <source>Mouse Motion</source> - <translation>Musebevægelse</translation> - </message> - <message> - <location filename="../../src/yuzu/configuration/configure_motion_touch.ui" line="31"/> - <source>Sensitivity:</source> - <translation>Følsomhed:</translation> - </message> - <message> - <location filename="../../src/yuzu/configuration/configure_motion_touch.ui" line="65"/> + <location filename="../../src/yuzu/configuration/configure_motion_touch.ui" line="15"/> <source>Touch</source> <translation>Berøring</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_motion_touch.ui" line="73"/> + <location filename="../../src/yuzu/configuration/configure_motion_touch.ui" line="23"/> <source>UDP Calibration:</source> <translation>UDP-Kalibrering:</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_motion_touch.ui" line="80"/> + <location filename="../../src/yuzu/configuration/configure_motion_touch.ui" line="30"/> <source>(100, 50) - (1800, 850)</source> <translation>(100, 50) - (1800, 850)</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_motion_touch.ui" line="96"/> - <location filename="../../src/yuzu/configuration/configure_motion_touch.ui" line="129"/> - <location filename="../../src/yuzu/configuration/configure_motion_touch.cpp" line="250"/> + <location filename="../../src/yuzu/configuration/configure_motion_touch.ui" line="46"/> + <location filename="../../src/yuzu/configuration/configure_motion_touch.ui" line="73"/> + <location filename="../../src/yuzu/configuration/configure_motion_touch.cpp" line="245"/> <source>Configure</source> <translation>Konfigurér</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_motion_touch.ui" line="113"/> - <source>Use button mapping:</source> - <translation>Brug knaptildeling</translation> + <location filename="../../src/yuzu/configuration/configure_motion_touch.ui" line="57"/> + <source>Touch from button profile:</source> + <translation type="unfinished"/> </message> <message> - <location filename="../../src/yuzu/configuration/configure_motion_touch.ui" line="141"/> + <location filename="../../src/yuzu/configuration/configure_motion_touch.ui" line="85"/> <source>CemuhookUDP Config</source> <translation>CemuhookUDP-Konfiguration</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_motion_touch.ui" line="147"/> + <location filename="../../src/yuzu/configuration/configure_motion_touch.ui" line="91"/> <source>You may use any Cemuhook compatible UDP input source to provide motion and touch input.</source> <translation>Du må bruge enhver Cemuhook-kompatibel input-kilde, til at give bevægelses- og berøringsinput.</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_motion_touch.ui" line="190"/> + <location filename="../../src/yuzu/configuration/configure_motion_touch.ui" line="134"/> <source>Server:</source> <translation>Server:</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_motion_touch.ui" line="217"/> + <location filename="../../src/yuzu/configuration/configure_motion_touch.ui" line="161"/> <source>Port:</source> <translation>Port:</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_motion_touch.ui" line="244"/> + <location filename="../../src/yuzu/configuration/configure_motion_touch.ui" line="188"/> <source>Learn More</source> <translation>Find Ud Af Mere</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_motion_touch.ui" line="257"/> - <location filename="../../src/yuzu/configuration/configure_motion_touch.cpp" line="273"/> + <location filename="../../src/yuzu/configuration/configure_motion_touch.ui" line="201"/> + <location filename="../../src/yuzu/configuration/configure_motion_touch.cpp" line="268"/> <source>Test</source> <translation>Afprøv</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_motion_touch.ui" line="270"/> + <location filename="../../src/yuzu/configuration/configure_motion_touch.ui" line="214"/> <source>Add Server</source> <translation>Tilføj Server</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_motion_touch.ui" line="303"/> + <location filename="../../src/yuzu/configuration/configure_motion_touch.ui" line="247"/> <source>Remove Server</source> <translation>Fjernserver</translation> </message> @@ -2168,146 +2299,82 @@ Bevæg, for at omvende akserne, først din styrepind lodret og så vandret.</tra <translation><a href='https://yuzu-emu.org/wiki/using-a-controller-or-android-phone-for-motion-or-touch-input'><span style="text-decoration: underline; color:#039be5;">Find Ud Af Mere</span></a></translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_motion_touch.cpp" line="176"/> + <location filename="../../src/yuzu/configuration/configure_motion_touch.cpp" line="171"/> <source>%1:%2</source> <translation>%1:%2</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_motion_touch.cpp" line="181"/> - <location filename="../../src/yuzu/configuration/configure_motion_touch.cpp" line="185"/> - <location filename="../../src/yuzu/configuration/configure_motion_touch.cpp" line="189"/> - <location filename="../../src/yuzu/configuration/configure_motion_touch.cpp" line="195"/> - <location filename="../../src/yuzu/configuration/configure_motion_touch.cpp" line="201"/> - <location filename="../../src/yuzu/configuration/configure_motion_touch.cpp" line="295"/> + <location filename="../../src/yuzu/configuration/configure_motion_touch.cpp" line="176"/> + <location filename="../../src/yuzu/configuration/configure_motion_touch.cpp" line="180"/> + <location filename="../../src/yuzu/configuration/configure_motion_touch.cpp" line="184"/> + <location filename="../../src/yuzu/configuration/configure_motion_touch.cpp" line="190"/> + <location filename="../../src/yuzu/configuration/configure_motion_touch.cpp" line="196"/> + <location filename="../../src/yuzu/configuration/configure_motion_touch.cpp" line="290"/> <source>yuzu</source> <translation>yuzu</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_motion_touch.cpp" line="181"/> + <location filename="../../src/yuzu/configuration/configure_motion_touch.cpp" line="176"/> <source>Port number has invalid characters</source> <translation>Portnummer indeholder ugyldige tegn</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_motion_touch.cpp" line="185"/> + <location filename="../../src/yuzu/configuration/configure_motion_touch.cpp" line="180"/> <source>Port has to be in range 0 and 65353</source> <translation>Port skal være imellem 0 and 65353</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_motion_touch.cpp" line="189"/> + <location filename="../../src/yuzu/configuration/configure_motion_touch.cpp" line="184"/> <source>IP address is not valid</source> <translation>IP-adresse er ikke gyldig</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_motion_touch.cpp" line="195"/> + <location filename="../../src/yuzu/configuration/configure_motion_touch.cpp" line="190"/> <source>This UDP server already exists</source> <translation>Denne UDP-server eksisterer allerede</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_motion_touch.cpp" line="201"/> + <location filename="../../src/yuzu/configuration/configure_motion_touch.cpp" line="196"/> <source>Unable to add more than 8 servers</source> <translation>Ude af stand til, at tilføje mere end 8 servere</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_motion_touch.cpp" line="217"/> + <location filename="../../src/yuzu/configuration/configure_motion_touch.cpp" line="212"/> <source>Testing</source> <translation>Afprøvning</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_motion_touch.cpp" line="233"/> + <location filename="../../src/yuzu/configuration/configure_motion_touch.cpp" line="228"/> <source>Configuring</source> <translation>Konfigurér</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_motion_touch.cpp" line="264"/> + <location filename="../../src/yuzu/configuration/configure_motion_touch.cpp" line="259"/> <source>Test Successful</source> <translation>Afprøvning Lykkedes</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_motion_touch.cpp" line="265"/> + <location filename="../../src/yuzu/configuration/configure_motion_touch.cpp" line="260"/> <source>Successfully received data from the server.</source> <translation>Modtagelse af data fra serveren lykkedes.</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_motion_touch.cpp" line="267"/> + <location filename="../../src/yuzu/configuration/configure_motion_touch.cpp" line="262"/> <source>Test Failed</source> <translation>Afprøvning Mislykkedes</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_motion_touch.cpp" line="268"/> + <location filename="../../src/yuzu/configuration/configure_motion_touch.cpp" line="263"/> <source>Could not receive valid data from the server.<br>Please verify that the server is set up correctly and the address and port are correct.</source> <translation>Kunne ikke modtage gyldig data fra serveren.<br>Bekræft venligst, at serveren er opsat korrekt, og at adressen og porten er korrekte.</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_motion_touch.cpp" line="296"/> + <location filename="../../src/yuzu/configuration/configure_motion_touch.cpp" line="291"/> <source>UDP Test or calibration configuration is in progress.<br>Please wait for them to finish.</source> <translation>UDP-Afprøvnings- eller -kalibreringskonfiguration er i gang.<br>vent venligst på, at de bliver færdige.</translation> </message> </context> <context> - <name>ConfigureMouseAdvanced</name> - <message> - <location filename="../../src/yuzu/configuration/configure_mouse_advanced.ui" line="14"/> - <source>Configure Mouse</source> - <translation>Konfigurér Mus</translation> - </message> - <message> - <location filename="../../src/yuzu/configuration/configure_mouse_advanced.ui" line="25"/> - <source>Mouse Buttons</source> - <translation>Museknapper</translation> - </message> - <message> - <location filename="../../src/yuzu/configuration/configure_mouse_advanced.ui" line="35"/> - <source>Forward:</source> - <translation>Frem:</translation> - </message> - <message> - <location filename="../../src/yuzu/configuration/configure_mouse_advanced.ui" line="75"/> - <source>Back:</source> - <translation>Tilbage:</translation> - </message> - <message> - <location filename="../../src/yuzu/configuration/configure_mouse_advanced.ui" line="103"/> - <source>Left:</source> - <translation>Venstre:</translation> - </message> - <message> - <location filename="../../src/yuzu/configuration/configure_mouse_advanced.ui" line="131"/> - <source>Middle:</source> - <translation>Midte:</translation> - </message> - <message> - <location filename="../../src/yuzu/configuration/configure_mouse_advanced.ui" line="197"/> - <source>Right:</source> - <translation>Højre:</translation> - </message> - <message> - <location filename="../../src/yuzu/configuration/configure_mouse_advanced.ui" line="270"/> - <location filename="../../src/yuzu/configuration/configure_mouse_advanced.cpp" line="109"/> - <source>Clear</source> - <translation>Ryd</translation> - </message> - <message> - <location filename="../../src/yuzu/configuration/configure_mouse_advanced.ui" line="289"/> - <source>Defaults</source> - <translation>Standarder</translation> - </message> - <message> - <location filename="../../src/yuzu/configuration/configure_mouse_advanced.cpp" line="111"/> - <source>[not set]</source> - <translation>[ikke indstillet]</translation> - </message> - <message> - <location filename="../../src/yuzu/configuration/configure_mouse_advanced.cpp" line="113"/> - <source>Restore Default</source> - <translation>Gendan Standard</translation> - </message> - <message> - <location filename="../../src/yuzu/configuration/configure_mouse_advanced.cpp" line="200"/> - <source>[press key]</source> - <translation>[tryk på tast]</translation> - </message> -</context> -<context> <name>ConfigureNetwork</name> <message> <location filename="../../src/yuzu/configuration/configure_network.ui" line="14"/> @@ -3090,31 +3157,26 @@ Bevæg, for at omvende akserne, først din styrepind lodret og så vandret.</tra </message> <message> <location filename="../../src/yuzu/configuration/configure_tas.ui" line="64"/> - <source>Automatic controller profile swapping</source> - <translation>Automatisk styringsenhedsprofil-ombytning</translation> - </message> - <message> - <location filename="../../src/yuzu/configuration/configure_tas.ui" line="71"/> <source>Loop script</source> <translation>Loop skrift</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_tas.ui" line="81"/> + <location filename="../../src/yuzu/configuration/configure_tas.ui" line="74"/> <source>Pause execution during loads</source> <translation>Sæt eksekvering på pause under indlæsninger</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_tas.ui" line="95"/> + <location filename="../../src/yuzu/configuration/configure_tas.ui" line="88"/> <source>Script Directory</source> <translation>Skriftmappe</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_tas.ui" line="101"/> + <location filename="../../src/yuzu/configuration/configure_tas.ui" line="94"/> <source>Path</source> <translation>Sti</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_tas.ui" line="108"/> + <location filename="../../src/yuzu/configuration/configure_tas.ui" line="101"/> <source>...</source> <translation>...</translation> </message> @@ -3127,7 +3189,7 @@ Bevæg, for at omvende akserne, først din styrepind lodret og så vandret.</tra <translation>TAS-Konfiguration</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_tas.cpp" line="53"/> + <location filename="../../src/yuzu/configuration/configure_tas.cpp" line="51"/> <source>Select TAS Load Directory...</source> <translation>Vælg TAS-Indlæsningsmappe...</translation> </message> @@ -3189,37 +3251,37 @@ Træk punkter, for at skifte position, eller dobbeltklik i tabelceller, for at r <translation>Y</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_touch_from_button.cpp" line="200"/> + <location filename="../../src/yuzu/configuration/configure_touch_from_button.cpp" line="197"/> <source>New Profile</source> <translation>Ny Profil</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_touch_from_button.cpp" line="200"/> + <location filename="../../src/yuzu/configuration/configure_touch_from_button.cpp" line="197"/> <source>Enter the name for the new profile.</source> <translation>Indtast navnet på den nye profil.</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_touch_from_button.cpp" line="211"/> + <location filename="../../src/yuzu/configuration/configure_touch_from_button.cpp" line="208"/> <source>Delete Profile</source> <translation>Slet Profil</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_touch_from_button.cpp" line="211"/> + <location filename="../../src/yuzu/configuration/configure_touch_from_button.cpp" line="208"/> <source>Delete profile %1?</source> <translation>Slet profil %1?</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_touch_from_button.cpp" line="224"/> + <location filename="../../src/yuzu/configuration/configure_touch_from_button.cpp" line="221"/> <source>Rename Profile</source> <translation>Omdøb Profil</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_touch_from_button.cpp" line="224"/> + <location filename="../../src/yuzu/configuration/configure_touch_from_button.cpp" line="221"/> <source>New name:</source> <translation>Nyt navn:</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_touch_from_button.cpp" line="233"/> + <location filename="../../src/yuzu/configuration/configure_touch_from_button.cpp" line="230"/> <source>[press key]</source> <translation>[tryk på tast]</translation> </message> @@ -3639,12 +3701,12 @@ Træk punkter, for at skifte position, eller dobbeltklik i tabelceller, for at r <context> <name>ControllerDialog</name> <message> - <location filename="../../src/yuzu/debugger/controller.cpp" line="17"/> + <location filename="../../src/yuzu/debugger/controller.cpp" line="21"/> <source>Controller P1</source> <translation>Styringsenhed P1</translation> </message> <message> - <location filename="../../src/yuzu/debugger/controller.cpp" line="52"/> + <location filename="../../src/yuzu/debugger/controller.cpp" line="60"/> <source>&Controller P1</source> <translation>&Styringsenhed P1</translation> </message> @@ -3652,89 +3714,94 @@ Træk punkter, for at skifte position, eller dobbeltklik i tabelceller, for at r <context> <name>GMainWindow</name> <message> - <location filename="../../src/yuzu/main.cpp" line="174"/> + <location filename="../../src/yuzu/main.cpp" line="176"/> <source><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?</source> <translation><a href='https://yuzu-emu.org/help/feature/telemetry/'>Anonym data indsamles</a>, for at hjælp med, at forbedre yuzu. <br/><br/>Kunne du tænke dig, at dele dine brugsdata med os?</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="177"/> + <location filename="../../src/yuzu/main.cpp" line="179"/> <source>Telemetry</source> <translation>Telemetri</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="592"/> + <location filename="../../src/yuzu/main.cpp" line="600"/> <source>Loading Web Applet...</source> <translation>Indlæser Net-Applet...</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="639"/> - <location filename="../../src/yuzu/main.cpp" line="642"/> + <location filename="../../src/yuzu/main.cpp" line="647"/> + <location filename="../../src/yuzu/main.cpp" line="650"/> <source>Disable Web Applet</source> <translation>Deaktivér Net-Applet</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="643"/> + <location filename="../../src/yuzu/main.cpp" line="651"/> <source>Disabling the web applet will cause it to not be shown again for the rest of the emulated session. This 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?</source> <translation type="unfinished"/> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="746"/> + <location filename="../../src/yuzu/main.cpp" line="754"/> <source>The amount of shaders currently being built</source> <translation type="unfinished"/> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="749"/> + <location filename="../../src/yuzu/main.cpp" line="756"/> + <source>The current selected resolution scaling multiplier.</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/main.cpp" line="759"/> <source>Current emulation speed. Values higher or lower than 100% indicate emulation is running faster or slower than a Switch.</source> <translation>Aktuel emuleringshastighed. Værdier højere eller lavere end 100% indikerer, at emulering kører hurtigere eller langsommere end en Switch.</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="752"/> + <location filename="../../src/yuzu/main.cpp" line="762"/> <source>How many frames per second the game is currently displaying. This will vary from game to game and scene to scene.</source> <translation type="unfinished"/> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="756"/> + <location filename="../../src/yuzu/main.cpp" line="766"/> <source>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.</source> <translation type="unfinished"/> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="781"/> + <location filename="../../src/yuzu/main.cpp" line="841"/> <source>Invalid config detected</source> <translation type="unfinished"/> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="782"/> + <location filename="../../src/yuzu/main.cpp" line="842"/> <source>Handheld controller can't be used on docked mode. Pro controller will be selected.</source> <translation type="unfinished"/> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="794"/> + <location filename="../../src/yuzu/main.cpp" line="854"/> <source>DOCK</source> <translation type="unfinished"/> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="828"/> + <location filename="../../src/yuzu/main.cpp" line="888"/> <source>VULKAN</source> <translation type="unfinished"/> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="828"/> + <location filename="../../src/yuzu/main.cpp" line="888"/> <source>OPENGL</source> <translation type="unfinished"/> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="886"/> + <location filename="../../src/yuzu/main.cpp" line="951"/> <source>&Clear Recent Files</source> <translation type="unfinished"/> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="1055"/> - <source>TAS Recording</source> + <location filename="../../src/yuzu/main.cpp" line="1210"/> + <source>&Continue</source> <translation type="unfinished"/> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="1056"/> - <source>Overwrite file of player 1?</source> + <location filename="../../src/yuzu/main.cpp" line="1212"/> + <source>&Pause</source> <translation type="unfinished"/> </message> <message> @@ -3786,655 +3853,722 @@ Træk punkter, for at skifte position, eller dobbeltklik i tabelceller, for at r <translation type="unfinished"/> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="1462"/> + <location filename="../../src/yuzu/main.cpp" line="1460"/> <source>(64-bit)</source> <translation type="unfinished"/> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="1462"/> + <location filename="../../src/yuzu/main.cpp" line="1460"/> <source>(32-bit)</source> <translation type="unfinished"/> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="1463"/> + <location filename="../../src/yuzu/main.cpp" line="1461"/> <source>%1 %2</source> <comment>%1 is the title name. %2 indicates if the title is 64-bit or 32-bit</comment> <translation type="unfinished"/> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="1507"/> - <source>Start</source> - <translation>Start</translation> - </message> - <message> - <location filename="../../src/yuzu/main.cpp" line="1612"/> + <location filename="../../src/yuzu/main.cpp" line="1605"/> <source>Save Data</source> <translation type="unfinished"/> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="1660"/> + <location filename="../../src/yuzu/main.cpp" line="1653"/> <source>Mod Data</source> <translation type="unfinished"/> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="1672"/> + <location filename="../../src/yuzu/main.cpp" line="1665"/> <source>Error Opening %1 Folder</source> <translation>Fejl ved Åbning af %1 Mappe</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="1673"/> - <location filename="../../src/yuzu/main.cpp" line="2079"/> + <location filename="../../src/yuzu/main.cpp" line="1666"/> + <location filename="../../src/yuzu/main.cpp" line="2072"/> <source>Folder does not exist!</source> <translation>Mappe eksisterer ikke!</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="1685"/> + <location filename="../../src/yuzu/main.cpp" line="1678"/> <source>Error Opening Transferable Shader Cache</source> <translation type="unfinished"/> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="1686"/> + <location filename="../../src/yuzu/main.cpp" line="1679"/> <source>Failed to create the shader cache directory for this title.</source> <translation type="unfinished"/> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="1738"/> + <location filename="../../src/yuzu/main.cpp" line="1731"/> <source>Contents</source> <translation type="unfinished"/> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="1740"/> + <location filename="../../src/yuzu/main.cpp" line="1733"/> <source>Update</source> <translation type="unfinished"/> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="1742"/> + <location filename="../../src/yuzu/main.cpp" line="1735"/> <source>DLC</source> <translation type="unfinished"/> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="1749"/> + <location filename="../../src/yuzu/main.cpp" line="1742"/> <source>Remove Entry</source> <translation type="unfinished"/> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="1749"/> + <location filename="../../src/yuzu/main.cpp" line="1742"/> <source>Remove Installed Game %1?</source> <translation type="unfinished"/> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="1779"/> - <location filename="../../src/yuzu/main.cpp" line="1795"/> - <location filename="../../src/yuzu/main.cpp" line="1826"/> - <location filename="../../src/yuzu/main.cpp" line="1887"/> - <location filename="../../src/yuzu/main.cpp" line="1905"/> - <location filename="../../src/yuzu/main.cpp" line="1928"/> + <location filename="../../src/yuzu/main.cpp" line="1772"/> + <location filename="../../src/yuzu/main.cpp" line="1788"/> + <location filename="../../src/yuzu/main.cpp" line="1819"/> + <location filename="../../src/yuzu/main.cpp" line="1880"/> + <location filename="../../src/yuzu/main.cpp" line="1898"/> + <location filename="../../src/yuzu/main.cpp" line="1921"/> <source>Successfully Removed</source> <translation type="unfinished"/> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="1780"/> + <location filename="../../src/yuzu/main.cpp" line="1773"/> <source>Successfully removed the installed base game.</source> <translation type="unfinished"/> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="1783"/> - <location filename="../../src/yuzu/main.cpp" line="1798"/> - <location filename="../../src/yuzu/main.cpp" line="1821"/> + <location filename="../../src/yuzu/main.cpp" line="1776"/> + <location filename="../../src/yuzu/main.cpp" line="1791"/> + <location filename="../../src/yuzu/main.cpp" line="1814"/> <source>Error Removing %1</source> <translation type="unfinished"/> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="1784"/> + <location filename="../../src/yuzu/main.cpp" line="1777"/> <source>The base game is not installed in the NAND and cannot be removed.</source> <translation type="unfinished"/> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="1796"/> + <location filename="../../src/yuzu/main.cpp" line="1789"/> <source>Successfully removed the installed update.</source> <translation type="unfinished"/> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="1799"/> + <location filename="../../src/yuzu/main.cpp" line="1792"/> <source>There is no update installed for this title.</source> <translation type="unfinished"/> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="1822"/> + <location filename="../../src/yuzu/main.cpp" line="1815"/> <source>There are no DLC installed for this title.</source> <translation type="unfinished"/> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="1827"/> + <location filename="../../src/yuzu/main.cpp" line="1820"/> <source>Successfully removed %1 installed DLC.</source> <translation type="unfinished"/> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="1835"/> + <location filename="../../src/yuzu/main.cpp" line="1828"/> <source>Delete OpenGL Transferable Shader Cache?</source> <translation type="unfinished"/> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="1837"/> + <location filename="../../src/yuzu/main.cpp" line="1830"/> <source>Delete Vulkan Transferable Shader Cache?</source> <translation type="unfinished"/> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="1839"/> + <location filename="../../src/yuzu/main.cpp" line="1832"/> <source>Delete All Transferable Shader Caches?</source> <translation type="unfinished"/> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="1841"/> + <location filename="../../src/yuzu/main.cpp" line="1834"/> <source>Remove Custom Game Configuration?</source> <translation type="unfinished"/> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="1847"/> + <location filename="../../src/yuzu/main.cpp" line="1840"/> <source>Remove File</source> <translation type="unfinished"/> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="1882"/> - <location filename="../../src/yuzu/main.cpp" line="1890"/> + <location filename="../../src/yuzu/main.cpp" line="1875"/> + <location filename="../../src/yuzu/main.cpp" line="1883"/> <source>Error Removing Transferable Shader Cache</source> <translation type="unfinished"/> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="1883"/> - <location filename="../../src/yuzu/main.cpp" line="1901"/> + <location filename="../../src/yuzu/main.cpp" line="1876"/> + <location filename="../../src/yuzu/main.cpp" line="1894"/> <source>A shader cache for this title does not exist.</source> <translation type="unfinished"/> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="1888"/> + <location filename="../../src/yuzu/main.cpp" line="1881"/> <source>Successfully removed the transferable shader cache.</source> <translation type="unfinished"/> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="1891"/> + <location filename="../../src/yuzu/main.cpp" line="1884"/> <source>Failed to remove the transferable shader cache.</source> <translation type="unfinished"/> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="1900"/> - <location filename="../../src/yuzu/main.cpp" line="1908"/> + <location filename="../../src/yuzu/main.cpp" line="1893"/> + <location filename="../../src/yuzu/main.cpp" line="1901"/> <source>Error Removing Transferable Shader Caches</source> <translation type="unfinished"/> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="1906"/> + <location filename="../../src/yuzu/main.cpp" line="1899"/> <source>Successfully removed the transferable shader caches.</source> <translation type="unfinished"/> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="1909"/> + <location filename="../../src/yuzu/main.cpp" line="1902"/> <source>Failed to remove the transferable shader cache directory.</source> <translation type="unfinished"/> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="1922"/> - <location filename="../../src/yuzu/main.cpp" line="1931"/> + <location filename="../../src/yuzu/main.cpp" line="1915"/> + <location filename="../../src/yuzu/main.cpp" line="1924"/> <source>Error Removing Custom Configuration</source> <translation type="unfinished"/> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="1923"/> + <location filename="../../src/yuzu/main.cpp" line="1916"/> <source>A custom configuration for this title does not exist.</source> <translation type="unfinished"/> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="1929"/> + <location filename="../../src/yuzu/main.cpp" line="1922"/> <source>Successfully removed the custom game configuration.</source> <translation type="unfinished"/> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="1932"/> + <location filename="../../src/yuzu/main.cpp" line="1925"/> <source>Failed to remove the custom game configuration.</source> <translation type="unfinished"/> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="1939"/> - <location filename="../../src/yuzu/main.cpp" line="2018"/> + <location filename="../../src/yuzu/main.cpp" line="1932"/> + <location filename="../../src/yuzu/main.cpp" line="2011"/> <source>RomFS Extraction Failed!</source> <translation>RomFS-Udpakning Mislykkedes!</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="1940"/> + <location filename="../../src/yuzu/main.cpp" line="1933"/> <source>There was an error copying the RomFS files or the user cancelled the operation.</source> <translation>Der skete en fejl ved kopiering af RomFS-filerne, eller brugeren afbrød opgaven.</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="1998"/> + <location filename="../../src/yuzu/main.cpp" line="1991"/> <source>Full</source> <translation>Fuld</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="1998"/> + <location filename="../../src/yuzu/main.cpp" line="1991"/> <source>Skeleton</source> <translation>Skelet</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="2000"/> + <location filename="../../src/yuzu/main.cpp" line="1993"/> <source>Select RomFS Dump Mode</source> <translation>Vælg RomFS-Nedfældelsestilstand</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="2001"/> + <location filename="../../src/yuzu/main.cpp" line="1994"/> <source>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.</source> <translation type="unfinished"/> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="2019"/> + <location filename="../../src/yuzu/main.cpp" line="2012"/> <source>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</source> <translation type="unfinished"/> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="2026"/> + <location filename="../../src/yuzu/main.cpp" line="2019"/> <source>Extracting RomFS...</source> <translation>Udpakker RomFS...</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="2026"/> - <location filename="../../src/yuzu/main.cpp" line="2206"/> + <location filename="../../src/yuzu/main.cpp" line="2019"/> + <location filename="../../src/yuzu/main.cpp" line="2199"/> <source>Cancel</source> <translation>Afbryd</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="2033"/> + <location filename="../../src/yuzu/main.cpp" line="2026"/> <source>RomFS Extraction Succeeded!</source> <translation>RomFS-Udpakning Lykkedes!</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="2034"/> + <location filename="../../src/yuzu/main.cpp" line="2027"/> <source>The operation completed successfully.</source> <translation>Fuldførelse af opgaven lykkedes.</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="2078"/> + <location filename="../../src/yuzu/main.cpp" line="2071"/> <source>Error Opening %1</source> <translation>Fejl ved Åbning af %1</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="2087"/> + <location filename="../../src/yuzu/main.cpp" line="2080"/> <source>Select Directory</source> <translation>Vælg Mappe</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="2114"/> + <location filename="../../src/yuzu/main.cpp" line="2107"/> <source>Properties</source> <translation>Egenskaber</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="2115"/> + <location filename="../../src/yuzu/main.cpp" line="2108"/> <source>The game properties could not be loaded.</source> <translation>Spil-egenskaberne kunne ikke indlæses.</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="2127"/> + <location filename="../../src/yuzu/main.cpp" line="2120"/> <source>Switch Executable (%1);;All Files (*.*)</source> <comment>%1 is an identifier for the Switch executable file extensions.</comment> <translation>Switch-Eksekverbar (%1);;Alle filer (*.*)</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="2131"/> + <location filename="../../src/yuzu/main.cpp" line="2124"/> <source>Load File</source> <translation>Indlæs Fil</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="2143"/> + <location filename="../../src/yuzu/main.cpp" line="2136"/> <source>Open Extracted ROM Directory</source> <translation>Åbn Udpakket ROM-Mappe</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="2154"/> + <location filename="../../src/yuzu/main.cpp" line="2147"/> <source>Invalid Directory Selected</source> <translation>Ugyldig Mappe Valgt</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="2155"/> + <location filename="../../src/yuzu/main.cpp" line="2148"/> <source>The directory you have selected does not contain a 'main' file.</source> <translation type="unfinished"/> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="2165"/> + <location filename="../../src/yuzu/main.cpp" line="2158"/> <source>Installable Switch File (*.nca *.nsp *.xci);;Nintendo Content Archive (*.nca);;Nintendo Submission Package (*.nsp);;NX Cartridge Image (*.xci)</source> <translation type="unfinished"/> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="2170"/> + <location filename="../../src/yuzu/main.cpp" line="2163"/> <source>Install Files</source> <translation type="unfinished"/> </message> <message numerus="yes"> - <location filename="../../src/yuzu/main.cpp" line="2214"/> + <location filename="../../src/yuzu/main.cpp" line="2207"/> <source>%n file(s) remaining</source> <translation type="unfinished"><numerusform></numerusform><numerusform></numerusform></translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="2216"/> + <location filename="../../src/yuzu/main.cpp" line="2209"/> <source>Installing file "%1"...</source> <translation>Installér fil "%1"...</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="2262"/> - <location filename="../../src/yuzu/main.cpp" line="2276"/> + <location filename="../../src/yuzu/main.cpp" line="2255"/> + <location filename="../../src/yuzu/main.cpp" line="2269"/> <source>Install Results</source> <translation type="unfinished"/> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="2263"/> + <location filename="../../src/yuzu/main.cpp" line="2256"/> <source>To avoid possible conflicts, we discourage users from installing base games to the NAND. Please, only use this feature to install updates and DLC.</source> <translation type="unfinished"/> </message> <message numerus="yes"> - <location filename="../../src/yuzu/main.cpp" line="2269"/> + <location filename="../../src/yuzu/main.cpp" line="2262"/> <source>%n file(s) were newly installed </source> <translation type="unfinished"><numerusform></numerusform><numerusform></numerusform></translation> </message> <message numerus="yes"> - <location filename="../../src/yuzu/main.cpp" line="2272"/> + <location filename="../../src/yuzu/main.cpp" line="2265"/> <source>%n file(s) were overwritten </source> <translation type="unfinished"><numerusform></numerusform><numerusform></numerusform></translation> </message> <message numerus="yes"> - <location filename="../../src/yuzu/main.cpp" line="2274"/> + <location filename="../../src/yuzu/main.cpp" line="2267"/> <source>%n file(s) failed to install </source> <translation type="unfinished"><numerusform></numerusform><numerusform></numerusform></translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="2375"/> + <location filename="../../src/yuzu/main.cpp" line="2368"/> <source>System Application</source> <translation>Systemapplikation</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="2376"/> + <location filename="../../src/yuzu/main.cpp" line="2369"/> <source>System Archive</source> <translation>Systemarkiv</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="2377"/> + <location filename="../../src/yuzu/main.cpp" line="2370"/> <source>System Application Update</source> <translation>Systemapplikationsopdatering</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="2378"/> + <location filename="../../src/yuzu/main.cpp" line="2371"/> <source>Firmware Package (Type A)</source> <translation>Firmwarepakke (Type A)</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="2379"/> + <location filename="../../src/yuzu/main.cpp" line="2372"/> <source>Firmware Package (Type B)</source> <translation>Firmwarepakke (Type B)</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="2380"/> + <location filename="../../src/yuzu/main.cpp" line="2373"/> <source>Game</source> <translation>Spil</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="2381"/> + <location filename="../../src/yuzu/main.cpp" line="2374"/> <source>Game Update</source> <translation>Spilopdatering</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="2382"/> + <location filename="../../src/yuzu/main.cpp" line="2375"/> <source>Game DLC</source> <translation>Spiludvidelse</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="2383"/> + <location filename="../../src/yuzu/main.cpp" line="2376"/> <source>Delta Title</source> <translation>Delta-Titel</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="2386"/> + <location filename="../../src/yuzu/main.cpp" line="2379"/> <source>Select NCA Install Type...</source> <translation>Vælg NCA-Installationstype...</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="2387"/> + <location filename="../../src/yuzu/main.cpp" line="2380"/> <source>Please select the type of title you would like to install this NCA as: (In most instances, the default 'Game' is fine.)</source> <translation type="unfinished"/> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="2393"/> + <location filename="../../src/yuzu/main.cpp" line="2386"/> <source>Failed to Install</source> <translation>Installation mislykkedes</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="2394"/> + <location filename="../../src/yuzu/main.cpp" line="2387"/> <source>The title type you selected for the NCA is invalid.</source> <translation type="unfinished"/> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="2429"/> + <location filename="../../src/yuzu/main.cpp" line="2422"/> <source>File not found</source> <translation>Fil ikke fundet</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="2430"/> + <location filename="../../src/yuzu/main.cpp" line="2423"/> <source>File "%1" not found</source> <translation>Fil "%1" ikke fundet</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="2445"/> - <location filename="../../src/yuzu/main.cpp" line="3448"/> - <source>&Continue</source> - <translation type="unfinished"/> - </message> - <message> - <location filename="../../src/yuzu/main.cpp" line="2494"/> + <location filename="../../src/yuzu/main.cpp" line="2492"/> <source>OK</source> <translation type="unfinished"/> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="2508"/> + <location filename="../../src/yuzu/main.cpp" line="2506"/> <source>Missing yuzu Account</source> <translation>Manglende yuzu-Konto</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="2509"/> + <location filename="../../src/yuzu/main.cpp" line="2507"/> <source>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.</source> <translation type="unfinished"/> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="2519"/> + <location filename="../../src/yuzu/main.cpp" line="2517"/> <source>Error opening URL</source> <translation type="unfinished"/> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="2520"/> + <location filename="../../src/yuzu/main.cpp" line="2518"/> <source>Unable to open the URL "%1".</source> <translation type="unfinished"/> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="2802"/> + <location filename="../../src/yuzu/main.cpp" line="2777"/> + <source>TAS Recording</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/main.cpp" line="2777"/> + <source>Overwrite file of player 1?</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/main.cpp" line="2830"/> <source>Amiibo File (%1);; All Files (*.*)</source> <translation>Amiibo-Fil (%1);; Alle Filer (*.*)</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="2803"/> + <location filename="../../src/yuzu/main.cpp" line="2831"/> <source>Load Amiibo</source> <translation>Indlæs Amiibo</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="2821"/> + <location filename="../../src/yuzu/main.cpp" line="2849"/> <source>Error opening Amiibo data file</source> <translation>Fejl ved åbning af Amiibo-datafil</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="2822"/> + <location filename="../../src/yuzu/main.cpp" line="2850"/> <source>Unable to open Amiibo file "%1" for reading.</source> <translation>Ude af stand til, at åbne Amiibo-fil "%1" til indlæsning.</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="2830"/> + <location filename="../../src/yuzu/main.cpp" line="2858"/> <source>Error reading Amiibo data file</source> <translation>Fejl ved indlæsning af Amiibo-datafil</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="2831"/> + <location filename="../../src/yuzu/main.cpp" line="2859"/> <source>Unable to fully read Amiibo data. Expected to read %1 bytes, but was only able to read %2 bytes.</source> <translation type="unfinished"/> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="2839"/> + <location filename="../../src/yuzu/main.cpp" line="2867"/> <source>Error loading Amiibo data</source> <translation>Fejl ved indlæsning af Amiibo-data</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="2840"/> + <location filename="../../src/yuzu/main.cpp" line="2868"/> <source>Unable to load Amiibo data.</source> <translation>Ude af stand til, at indlæse Amiibo-data.</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="2881"/> + <location filename="../../src/yuzu/main.cpp" line="2913"/> <source>Capture Screenshot</source> <translation>Optag Skærmbillede</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="2882"/> + <location filename="../../src/yuzu/main.cpp" line="2914"/> <source>PNG Image (*.png)</source> <translation>PNG-Billede (*.png)</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="2948"/> + <location filename="../../src/yuzu/main.cpp" line="2979"/> <source>TAS state: Running %1/%2</source> <translation type="unfinished"/> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="2950"/> + <location filename="../../src/yuzu/main.cpp" line="2981"/> <source>TAS state: Recording %1</source> <translation type="unfinished"/> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="2952"/> + <location filename="../../src/yuzu/main.cpp" line="2983"/> <source>TAS state: Idle %1/%2</source> <translation type="unfinished"/> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="2954"/> + <location filename="../../src/yuzu/main.cpp" line="2985"/> <source>TAS State: Invalid</source> <translation type="unfinished"/> </message> + <message> + <location filename="../../src/yuzu/main.cpp" line="2999"/> + <source>&Stop Running</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/main.cpp" line="2999"/> + <source>&Start</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/main.cpp" line="3000"/> + <source>Stop R&ecording</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/main.cpp" line="3000"/> + <source>R&ecord</source> + <translation type="unfinished"/> + </message> <message numerus="yes"> - <location filename="../../src/yuzu/main.cpp" line="2975"/> + <location filename="../../src/yuzu/main.cpp" line="3024"/> <source>Building: %n shader(s)</source> <translation type="unfinished"><numerusform></numerusform><numerusform></numerusform></translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="2982"/> + <location filename="../../src/yuzu/main.cpp" line="3033"/> + <source>Scale: %1x</source> + <comment>%1 is the resolution scaling factor</comment> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/main.cpp" line="3036"/> <source>Speed: %1% / %2%</source> <translation>Hastighed: %1% / %2%</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="2986"/> + <location filename="../../src/yuzu/main.cpp" line="3040"/> <source>Speed: %1%</source> <translation>Hastighed: %1%</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="2990"/> + <location filename="../../src/yuzu/main.cpp" line="3044"/> <source>Game: %1 FPS (Unlocked)</source> <translation type="unfinished"/> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="2992"/> + <location filename="../../src/yuzu/main.cpp" line="3046"/> <source>Game: %1 FPS</source> <translation>Spil: %1 FPS</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="2994"/> + <location filename="../../src/yuzu/main.cpp" line="3048"/> <source>Frame: %1 ms</source> <translation>Billede: %1 ms</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="3004"/> + <location filename="../../src/yuzu/main.cpp" line="3059"/> <source>GPU NORMAL</source> <translation type="unfinished"/> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="3009"/> + <location filename="../../src/yuzu/main.cpp" line="3064"/> <source>GPU HIGH</source> <translation type="unfinished"/> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="3014"/> + <location filename="../../src/yuzu/main.cpp" line="3069"/> <source>GPU EXTREME</source> <translation type="unfinished"/> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="3019"/> + <location filename="../../src/yuzu/main.cpp" line="3074"/> <source>GPU ERROR</source> <translation type="unfinished"/> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="3076"/> + <location filename="../../src/yuzu/main.cpp" line="3084"/> + <source>NEAREST</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/main.cpp" line="3087"/> + <location filename="../../src/yuzu/main.cpp" line="3102"/> + <source>BILINEAR</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/main.cpp" line="3090"/> + <source>BICUBIC</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/main.cpp" line="3093"/> + <source>GAUSSIAN</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/main.cpp" line="3096"/> + <source>SCALEFORCE</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/main.cpp" line="3099"/> + <source>FSR</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/main.cpp" line="3111"/> + <location filename="../../src/yuzu/main.cpp" line="3117"/> + <source>NO AA</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/main.cpp" line="3114"/> + <source>FXAA</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/main.cpp" line="3175"/> <source>The game you are trying to load requires additional files from your Switch to be dumped before playing.<br/><br/>For more information on dumping these files, please see the following wiki page: <a href='https://yuzu-emu.org/wiki/dumping-system-archives-and-the-shared-fonts-from-a-switch-console/'>Dumping System Archives and the Shared Fonts from a Switch Console</a>.<br/><br/>Would you like to quit back to the game list? Continuing emulation may result in crashes, corrupted save data, or other bugs.</source> <translation type="unfinished"/> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="3091"/> + <location filename="../../src/yuzu/main.cpp" line="3190"/> <source>yuzu was unable to locate a Switch system archive. %1</source> <translation>yuzu var ude af stand til, at lokalisere et Switch-systemarkiv. %1</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="3093"/> + <location filename="../../src/yuzu/main.cpp" line="3192"/> <source>yuzu was unable to locate a Switch system archive: %1. %2</source> <translation>yuzu var ude af stand til, at lokalisere et Switch-systemarkiv. %1. %2</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="3097"/> + <location filename="../../src/yuzu/main.cpp" line="3196"/> <source>System Archive Not Found</source> <translation>Systemarkiv Ikke Fundet</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="3099"/> + <location filename="../../src/yuzu/main.cpp" line="3198"/> <source>System Archive Missing</source> <translation>Systemarkiv Mangler</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="3105"/> + <location filename="../../src/yuzu/main.cpp" line="3204"/> <source>yuzu was unable to locate the Switch shared fonts. %1</source> <translation>yuzu var ude af stand til, at finde delte Switch-skrifttyper. %1</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="3106"/> + <location filename="../../src/yuzu/main.cpp" line="3205"/> <source>Shared Fonts Not Found</source> <translation>Delte Skrifttyper Ikke Fundet</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="3108"/> + <location filename="../../src/yuzu/main.cpp" line="3207"/> <source>Shared Font Missing</source> <translation>Delte Skrifttyper Mangler</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="3114"/> + <location filename="../../src/yuzu/main.cpp" line="3213"/> <source>Fatal Error</source> <translation>Fatal Fejl</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="3115"/> + <location filename="../../src/yuzu/main.cpp" line="3214"/> <source>yuzu has encountered a fatal error, please see the log for more details. For more information on accessing the log, please see the following page: <a href='https://community.citra-emu.org/t/how-to-upload-the-log-file/296'>How to Upload the Log File</a>.<br/><br/>Would you like to quit back to the game list? Continuing emulation may result in crashes, corrupted save data, or other bugs.</source> <translation type="unfinished"/> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="3124"/> + <location filename="../../src/yuzu/main.cpp" line="3223"/> <source>Fatal Error encountered</source> <translation>Stødte på Fatal Fejl</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="3147"/> + <location filename="../../src/yuzu/main.cpp" line="3246"/> <source>Confirm Key Rederivation</source> <translation type="unfinished"/> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="3148"/> + <location filename="../../src/yuzu/main.cpp" line="3247"/> <source>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. @@ -4445,76 +4579,76 @@ This will delete your autogenerated key files and re-run the key derivation modu <translation type="unfinished"/> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="3180"/> + <location filename="../../src/yuzu/main.cpp" line="3279"/> <source>Missing fuses</source> <translation type="unfinished"/> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="3183"/> + <location filename="../../src/yuzu/main.cpp" line="3282"/> <source> - Missing BOOT0</source> <translation type="unfinished"/> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="3186"/> + <location filename="../../src/yuzu/main.cpp" line="3285"/> <source> - Missing BCPKG2-1-Normal-Main</source> <translation type="unfinished"/> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="3189"/> + <location filename="../../src/yuzu/main.cpp" line="3288"/> <source> - Missing PRODINFO</source> <translation type="unfinished"/> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="3193"/> + <location filename="../../src/yuzu/main.cpp" line="3292"/> <source>Derivation Components Missing</source> <translation type="unfinished"/> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="3194"/> - <source>Components are missing that may hinder key derivation from completing. <br>Please follow <a href='https://yuzu-emu.org/help/quickstart/'>the yuzu quickstart guide</a> to get all your keys and games.<br><br><small>(%1)</small></source> + <location filename="../../src/yuzu/main.cpp" line="3293"/> + <source>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></source> <translation type="unfinished"/> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="3203"/> + <location filename="../../src/yuzu/main.cpp" line="3302"/> <source>Deriving keys... This may take up to a minute depending on your system's performance.</source> <translation type="unfinished"/> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="3205"/> + <location filename="../../src/yuzu/main.cpp" line="3304"/> <source>Deriving Keys</source> <translation type="unfinished"/> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="3250"/> + <location filename="../../src/yuzu/main.cpp" line="3349"/> <source>Select RomFS Dump Target</source> <translation type="unfinished"/> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="3251"/> + <location filename="../../src/yuzu/main.cpp" line="3350"/> <source>Please select which RomFS you would like to dump.</source> <translation type="unfinished"/> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="3266"/> + <location filename="../../src/yuzu/main.cpp" line="3365"/> <source>Are you sure you want to close yuzu?</source> <translation>Er du sikker på, at du vil lukke yuzu?</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="3267"/> - <location filename="../../src/yuzu/main.cpp" line="3342"/> - <location filename="../../src/yuzu/main.cpp" line="3355"/> + <location filename="../../src/yuzu/main.cpp" line="3366"/> + <location filename="../../src/yuzu/main.cpp" line="3443"/> + <location filename="../../src/yuzu/main.cpp" line="3456"/> <source>yuzu</source> <translation>yuzu</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="3343"/> + <location filename="../../src/yuzu/main.cpp" line="3444"/> <source>Are you sure you want to stop the emulation? Any unsaved progress will be lost.</source> <translation>Er du sikker på, at du vil stoppe emulereingen? Enhver ulagret data, vil gå tabt.</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="3352"/> + <location filename="../../src/yuzu/main.cpp" line="3453"/> <source>The currently running application has requested yuzu to not exit. Would you like to bypass this and exit anyway?</source> @@ -4524,38 +4658,38 @@ Would you like to bypass this and exit anyway?</source> <context> <name>GRenderWindow</name> <message> - <location filename="../../src/yuzu/bootmanager.cpp" line="675"/> + <location filename="../../src/yuzu/bootmanager.cpp" line="976"/> <source>OpenGL not available!</source> <translation type="unfinished"/> </message> <message> - <location filename="../../src/yuzu/bootmanager.cpp" line="676"/> + <location filename="../../src/yuzu/bootmanager.cpp" line="977"/> <source>yuzu has not been compiled with OpenGL support.</source> <translation type="unfinished"/> </message> <message> - <location filename="../../src/yuzu/bootmanager.cpp" line="695"/> - <location filename="../../src/yuzu/bootmanager.cpp" line="715"/> + <location filename="../../src/yuzu/bootmanager.cpp" line="996"/> + <location filename="../../src/yuzu/bootmanager.cpp" line="1016"/> <source>Error while initializing OpenGL!</source> <translation type="unfinished"/> </message> <message> - <location filename="../../src/yuzu/bootmanager.cpp" line="696"/> + <location filename="../../src/yuzu/bootmanager.cpp" line="997"/> <source>Your GPU may not support OpenGL, or you do not have the latest graphics driver.</source> <translation type="unfinished"/> </message> <message> - <location filename="../../src/yuzu/bootmanager.cpp" line="705"/> + <location filename="../../src/yuzu/bootmanager.cpp" line="1006"/> <source>Error while initializing OpenGL 4.6!</source> <translation type="unfinished"/> </message> <message> - <location filename="../../src/yuzu/bootmanager.cpp" line="706"/> + <location filename="../../src/yuzu/bootmanager.cpp" line="1007"/> <source>Your GPU may not support OpenGL 4.6, or you do not have the latest graphics driver.<br><br>GL Renderer:<br>%1</source> <translation type="unfinished"/> </message> <message> - <location filename="../../src/yuzu/bootmanager.cpp" line="716"/> + <location filename="../../src/yuzu/bootmanager.cpp" line="1017"/> <source>Your GPU may not support one or more required OpenGL extensions. Please ensure you have the latest graphics driver.<br><br>GL Renderer:<br>%1<br><br>Unsupported extensions:<br>%2</source> <translation type="unfinished"/> </message> @@ -4911,190 +5045,205 @@ Screen.</source> <translation>&Emulering</translation> </message> <message> - <location filename="../../src/yuzu/main.ui" line="79"/> + <location filename="../../src/yuzu/main.ui" line="78"/> <source>&View</source> <translation type="unfinished"/> </message> <message> - <location filename="../../src/yuzu/main.ui" line="83"/> + <location filename="../../src/yuzu/main.ui" line="82"/> <source>&Reset Window Size</source> <translation type="unfinished"/> </message> <message> - <location filename="../../src/yuzu/main.ui" line="88"/> + <location filename="../../src/yuzu/main.ui" line="87"/> + <source>&Debugging</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/main.ui" line="92"/> <source>Reset Window Size to &720p</source> <translation type="unfinished"/> </message> <message> - <location filename="../../src/yuzu/main.ui" line="91"/> + <location filename="../../src/yuzu/main.ui" line="95"/> <source>Reset Window Size to 720p</source> <translation type="unfinished"/> </message> <message> - <location filename="../../src/yuzu/main.ui" line="96"/> + <location filename="../../src/yuzu/main.ui" line="100"/> <source>Reset Window Size to &900p</source> <translation type="unfinished"/> </message> <message> - <location filename="../../src/yuzu/main.ui" line="99"/> + <location filename="../../src/yuzu/main.ui" line="103"/> <source>Reset Window Size to 900p</source> <translation type="unfinished"/> </message> <message> - <location filename="../../src/yuzu/main.ui" line="104"/> + <location filename="../../src/yuzu/main.ui" line="108"/> <source>Reset Window Size to &1080p</source> <translation type="unfinished"/> </message> <message> - <location filename="../../src/yuzu/main.ui" line="107"/> + <location filename="../../src/yuzu/main.ui" line="111"/> <source>Reset Window Size to 1080p</source> <translation type="unfinished"/> </message> <message> - <location filename="../../src/yuzu/main.ui" line="112"/> - <source>&Debugging</source> + <location filename="../../src/yuzu/main.ui" line="125"/> + <source>&Tools</source> <translation type="unfinished"/> </message> <message> - <location filename="../../src/yuzu/main.ui" line="126"/> - <source>&Tools</source> + <location filename="../../src/yuzu/main.ui" line="129"/> + <source>&TAS</source> <translation type="unfinished"/> </message> <message> - <location filename="../../src/yuzu/main.ui" line="135"/> + <location filename="../../src/yuzu/main.ui" line="144"/> <source>&Help</source> <translation>&Hjælp</translation> </message> <message> - <location filename="../../src/yuzu/main.ui" line="155"/> + <location filename="../../src/yuzu/main.ui" line="164"/> <source>&Install Files to NAND...</source> <translation type="unfinished"/> </message> <message> - <location filename="../../src/yuzu/main.ui" line="160"/> + <location filename="../../src/yuzu/main.ui" line="169"/> <source>L&oad File...</source> <translation type="unfinished"/> </message> <message> - <location filename="../../src/yuzu/main.ui" line="165"/> + <location filename="../../src/yuzu/main.ui" line="174"/> <source>Load &Folder...</source> <translation type="unfinished"/> </message> <message> - <location filename="../../src/yuzu/main.ui" line="170"/> + <location filename="../../src/yuzu/main.ui" line="179"/> <source>E&xit</source> <translation type="unfinished"/> </message> <message> - <location filename="../../src/yuzu/main.ui" line="178"/> - <source>&Start</source> - <translation type="unfinished"/> - </message> - <message> - <location filename="../../src/yuzu/main.ui" line="186"/> + <location filename="../../src/yuzu/main.ui" line="187"/> <source>&Pause</source> <translation type="unfinished"/> </message> <message> - <location filename="../../src/yuzu/main.ui" line="194"/> + <location filename="../../src/yuzu/main.ui" line="195"/> <source>&Stop</source> <translation type="unfinished"/> </message> <message> - <location filename="../../src/yuzu/main.ui" line="199"/> + <location filename="../../src/yuzu/main.ui" line="200"/> <source>&Reinitialize keys...</source> <translation type="unfinished"/> </message> <message> - <location filename="../../src/yuzu/main.ui" line="204"/> + <location filename="../../src/yuzu/main.ui" line="205"/> <source>&About yuzu</source> <translation type="unfinished"/> </message> <message> - <location filename="../../src/yuzu/main.ui" line="212"/> + <location filename="../../src/yuzu/main.ui" line="213"/> <source>Single &Window Mode</source> <translation type="unfinished"/> </message> <message> - <location filename="../../src/yuzu/main.ui" line="217"/> + <location filename="../../src/yuzu/main.ui" line="218"/> <source>Con&figure...</source> <translation type="unfinished"/> </message> <message> - <location filename="../../src/yuzu/main.ui" line="225"/> + <location filename="../../src/yuzu/main.ui" line="226"/> <source>Display D&ock Widget Headers</source> <translation type="unfinished"/> </message> <message> - <location filename="../../src/yuzu/main.ui" line="233"/> + <location filename="../../src/yuzu/main.ui" line="234"/> <source>Show &Filter Bar</source> <translation type="unfinished"/> </message> <message> - <location filename="../../src/yuzu/main.ui" line="241"/> + <location filename="../../src/yuzu/main.ui" line="242"/> <source>Show &Status Bar</source> <translation type="unfinished"/> </message> <message> - <location filename="../../src/yuzu/main.ui" line="244"/> + <location filename="../../src/yuzu/main.ui" line="245"/> <source>Show Status Bar</source> <translation>Vis Statuslinje</translation> </message> <message> - <location filename="../../src/yuzu/main.ui" line="252"/> + <location filename="../../src/yuzu/main.ui" line="253"/> <source>F&ullscreen</source> <translation type="unfinished"/> </message> <message> - <location filename="../../src/yuzu/main.ui" line="260"/> + <location filename="../../src/yuzu/main.ui" line="261"/> <source>&Restart</source> <translation type="unfinished"/> </message> <message> - <location filename="../../src/yuzu/main.ui" line="268"/> + <location filename="../../src/yuzu/main.ui" line="269"/> <source>Load &Amiibo...</source> <translation type="unfinished"/> </message> <message> - <location filename="../../src/yuzu/main.ui" line="276"/> + <location filename="../../src/yuzu/main.ui" line="277"/> <source>&Report Compatibility</source> <translation type="unfinished"/> </message> <message> - <location filename="../../src/yuzu/main.ui" line="284"/> + <location filename="../../src/yuzu/main.ui" line="285"/> <source>Open &Mods Page</source> <translation type="unfinished"/> </message> <message> - <location filename="../../src/yuzu/main.ui" line="289"/> + <location filename="../../src/yuzu/main.ui" line="290"/> <source>Open &Quickstart Guide</source> <translation type="unfinished"/> </message> <message> - <location filename="../../src/yuzu/main.ui" line="294"/> + <location filename="../../src/yuzu/main.ui" line="295"/> <source>&FAQ</source> <translation type="unfinished"/> </message> <message> - <location filename="../../src/yuzu/main.ui" line="299"/> + <location filename="../../src/yuzu/main.ui" line="300"/> <source>Open &yuzu Folder</source> <translation type="unfinished"/> </message> <message> - <location filename="../../src/yuzu/main.ui" line="307"/> + <location filename="../../src/yuzu/main.ui" line="308"/> <source>&Capture Screenshot</source> <translation type="unfinished"/> </message> <message> - <location filename="../../src/yuzu/main.ui" line="312"/> - <source>Configure &TAS...</source> + <location filename="../../src/yuzu/main.ui" line="313"/> + <source>&Configure TAS...</source> <translation type="unfinished"/> </message> <message> - <location filename="../../src/yuzu/main.ui" line="320"/> + <location filename="../../src/yuzu/main.ui" line="321"/> <source>Configure C&urrent Game...</source> <translation type="unfinished"/> </message> + <message> + <location filename="../../src/yuzu/main.ui" line="329"/> + <source>&Start</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/main.ui" line="337"/> + <source>&Reset</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/main.ui" line="345"/> + <source>R&ecord</source> + <translation type="unfinished"/> + </message> </context> <context> <name>MicroProfileDialog</name> @@ -5136,10 +5285,15 @@ p, li { white-space: pre-wrap; } <context> <name>PlayerControlPreview</name> <message> - <location filename="../../src/yuzu/configuration/configure_input_player_widget.cpp" line="1566"/> + <location filename="../../src/yuzu/configuration/configure_input_player_widget.cpp" line="1572"/> <source>START/PAUSE</source> <translation type="unfinished"/> </message> + <message> + <location filename="../../src/yuzu/configuration/configure_input_player_widget.cpp" line="2685"/> + <source>Charging</source> + <translation type="unfinished"/> + </message> </context> <context> <name>QObject</name> @@ -5170,142 +5324,222 @@ p, li { white-space: pre-wrap; } </message> <message> <location filename="../../src/yuzu/configuration/configure_touch_from_button.cpp" line="23"/> - <location filename="../../src/yuzu/configuration/configure_mouse_advanced.cpp" line="32"/> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="72"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="43"/> <source>Shift</source> <translation>Skift</translation> </message> <message> <location filename="../../src/yuzu/configuration/configure_touch_from_button.cpp" line="25"/> - <location filename="../../src/yuzu/configuration/configure_mouse_advanced.cpp" line="34"/> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="74"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="45"/> <source>Ctrl</source> <translation>Ctrl</translation> </message> <message> <location filename="../../src/yuzu/configuration/configure_touch_from_button.cpp" line="27"/> - <location filename="../../src/yuzu/configuration/configure_mouse_advanced.cpp" line="36"/> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="76"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="47"/> <source>Alt</source> <translation>Alt</translation> </message> <message> <location filename="../../src/yuzu/configuration/configure_touch_from_button.cpp" line="37"/> - <location filename="../../src/yuzu/configuration/configure_mouse_advanced.cpp" line="46"/> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="103"/> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="190"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="130"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="196"/> <source>[not set]</source> <translation>[ikke indstillet]</translation> </message> <message> <location filename="../../src/yuzu/configuration/configure_touch_from_button.cpp" line="49"/> - <location filename="../../src/yuzu/configuration/configure_mouse_advanced.cpp" line="58"/> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="152"/> <source>Hat %1 %2</source> <translation type="unfinished"/> </message> <message> <location filename="../../src/yuzu/configuration/configure_touch_from_button.cpp" line="56"/> - <location filename="../../src/yuzu/configuration/configure_mouse_advanced.cpp" line="65"/> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="159"/> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="210"/> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="214"/> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="218"/> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="222"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="219"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="223"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="227"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="231"/> <source>Axis %1%2</source> <translation>Akse %1%2</translation> </message> <message> <location filename="../../src/yuzu/configuration/configure_touch_from_button.cpp" line="62"/> - <location filename="../../src/yuzu/configuration/configure_mouse_advanced.cpp" line="71"/> <source>Button %1</source> <translation>Knap %1</translation> </message> <message> <location filename="../../src/yuzu/configuration/configure_touch_from_button.cpp" line="68"/> - <location filename="../../src/yuzu/configuration/configure_mouse_advanced.cpp" line="76"/> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="185"/> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="227"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="190"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="204"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="234"/> <source>[unknown]</source> <translation>[ukendt]</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_mouse_advanced.cpp" line="22"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="58"/> + <source>Left</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="60"/> + <source>Right</source> + <translation type="unfinished"/> + </message> + <message> <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="62"/> - <source>Click 0</source> + <source>Down</source> <translation type="unfinished"/> </message> <message> - <location filename="../../src/yuzu/configuration/configure_mouse_advanced.cpp" line="24"/> <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="64"/> - <source>Click 1</source> + <source>Up</source> <translation type="unfinished"/> </message> <message> - <location filename="../../src/yuzu/configuration/configure_mouse_advanced.cpp" line="26"/> <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="66"/> - <source>Click 2</source> + <source>Z</source> <translation type="unfinished"/> </message> <message> - <location filename="../../src/yuzu/configuration/configure_mouse_advanced.cpp" line="28"/> <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="68"/> - <source>Click 3</source> + <source>R</source> <translation type="unfinished"/> </message> <message> - <location filename="../../src/yuzu/configuration/configure_mouse_advanced.cpp" line="30"/> <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="70"/> - <source>Click 4</source> + <source>L</source> <translation type="unfinished"/> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="109"/> - <source>%1%2</source> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="72"/> + <source>A</source> <translation type="unfinished"/> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="117"/> - <source>GC Axis %1%2</source> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="74"/> + <source>B</source> <translation type="unfinished"/> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="121"/> - <source>GC Button %1</source> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="76"/> + <source>X</source> <translation type="unfinished"/> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="130"/> - <source>TAS Axis %1</source> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="78"/> + <source>Y</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="80"/> + <source>Start</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="82"/> + <source>L1</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="84"/> + <source>L2</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="86"/> + <source>L3</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="88"/> + <source>R1</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="90"/> + <source>R2</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="92"/> + <source>R3</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="94"/> + <source>Circle</source> <translation type="unfinished"/> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="134"/> - <source>TAS Btn %1</source> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="96"/> + <source>Cross</source> <translation type="unfinished"/> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="142"/> - <source>Motion %1</source> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="98"/> + <source>Square</source> <translation type="unfinished"/> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="166"/> - <source>%1Button %2</source> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="100"/> + <source>Triangle</source> <translation type="unfinished"/> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="170"/> - <source>SDL Motion</source> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="102"/> + <source>Share</source> <translation type="unfinished"/> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="180"/> - <source>%1Click %2</source> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="104"/> + <source>Options</source> <translation type="unfinished"/> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="205"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="106"/> + <source>[undefined]</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="140"/> + <source>%1%2</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="144"/> + <source>[invalid]</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="154"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="178"/> + <source>%1%2Hat %3</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="158"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="181"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="184"/> + <source>%1%2Axis %3</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="164"/> + <source>%1%2Axis %3,%4,%5</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="168"/> + <source>%1%2Motion %3</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="172"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="187"/> + <source>%1%2Button %3</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="214"/> <source>[unused]</source> <translation>[ubrugt]</translation> </message> @@ -5346,7 +5580,7 @@ p, li { white-space: pre-wrap; } <location filename="../../src/yuzu/applets/qt_controller.ui" line="1656"/> <location filename="../../src/yuzu/applets/qt_controller.ui" line="1857"/> <location filename="../../src/yuzu/applets/qt_controller.ui" line="2054"/> - <location filename="../../src/yuzu/applets/qt_controller.cpp" line="419"/> + <location filename="../../src/yuzu/applets/qt_controller.cpp" line="411"/> <source>Pro Controller</source> <translation type="unfinished"/> </message> @@ -5359,7 +5593,7 @@ p, li { white-space: pre-wrap; } <location filename="../../src/yuzu/applets/qt_controller.ui" line="1661"/> <location filename="../../src/yuzu/applets/qt_controller.ui" line="1862"/> <location filename="../../src/yuzu/applets/qt_controller.ui" line="2059"/> - <location filename="../../src/yuzu/applets/qt_controller.cpp" line="423"/> + <location filename="../../src/yuzu/applets/qt_controller.cpp" line="415"/> <source>Dual Joycons</source> <translation type="unfinished"/> </message> @@ -5372,7 +5606,7 @@ p, li { white-space: pre-wrap; } <location filename="../../src/yuzu/applets/qt_controller.ui" line="1666"/> <location filename="../../src/yuzu/applets/qt_controller.ui" line="1867"/> <location filename="../../src/yuzu/applets/qt_controller.ui" line="2064"/> - <location filename="../../src/yuzu/applets/qt_controller.cpp" line="427"/> + <location filename="../../src/yuzu/applets/qt_controller.cpp" line="419"/> <source>Left Joycon</source> <translation type="unfinished"/> </message> @@ -5385,7 +5619,7 @@ p, li { white-space: pre-wrap; } <location filename="../../src/yuzu/applets/qt_controller.ui" line="1671"/> <location filename="../../src/yuzu/applets/qt_controller.ui" line="1872"/> <location filename="../../src/yuzu/applets/qt_controller.ui" line="2069"/> - <location filename="../../src/yuzu/applets/qt_controller.cpp" line="431"/> + <location filename="../../src/yuzu/applets/qt_controller.cpp" line="423"/> <source>Right Joycon</source> <translation type="unfinished"/> </message> @@ -5413,7 +5647,7 @@ p, li { white-space: pre-wrap; } </message> <message> <location filename="../../src/yuzu/applets/qt_controller.ui" line="932"/> - <location filename="../../src/yuzu/applets/qt_controller.cpp" line="436"/> + <location filename="../../src/yuzu/applets/qt_controller.cpp" line="428"/> <source>Handheld</source> <translation type="unfinished"/> </message> @@ -5534,7 +5768,7 @@ p, li { white-space: pre-wrap; } <translation type="unfinished"/> </message> <message> - <location filename="../../src/yuzu/applets/qt_controller.cpp" line="441"/> + <location filename="../../src/yuzu/applets/qt_controller.cpp" line="433"/> <source>GameCube Controller</source> <translation type="unfinished"/> </message> @@ -5618,13 +5852,13 @@ p, li { white-space: pre-wrap; } <translation type="unfinished"/> </message> <message> - <location filename="../../src/yuzu/applets/qt_software_keyboard.cpp" line="396"/> - <location filename="../../src/yuzu/applets/qt_software_keyboard.cpp" line="406"/> + <location filename="../../src/yuzu/applets/qt_software_keyboard.cpp" line="399"/> + <location filename="../../src/yuzu/applets/qt_software_keyboard.cpp" line="409"/> <source>OK</source> <translation type="unfinished"/> </message> <message> - <location filename="../../src/yuzu/applets/qt_software_keyboard.cpp" line="406"/> + <location filename="../../src/yuzu/applets/qt_software_keyboard.cpp" line="409"/> <source>Cancel</source> <translation type="unfinished"/> </message> diff --git a/dist/languages/de.ts b/dist/languages/de.ts index ac17c0e22..2cb4c534f 100644 --- a/dist/languages/de.ts +++ b/dist/languages/de.ts @@ -657,7 +657,12 @@ p, li { white-space: pre-wrap; } <translation>Auto-Stub** aktivieren</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_debug.ui" line="212"/> + <location filename="../../src/yuzu/configuration/configure_debug.ui" line="204"/> + <source>Enable all Controller Types</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_debug.ui" line="219"/> <source>**This will be reset automatically when yuzu closes.</source> <translation type="unfinished"/> </message> @@ -937,67 +942,78 @@ p, li { white-space: pre-wrap; } <translation>Allgemein</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_general.ui" line="35"/> - <source>Framerate Cap</source> - <translation>Bildratenbeschränkung</translation> + <location filename="../../src/yuzu/configuration/configure_general.ui" line="50"/> + <location filename="../../src/yuzu/configuration/configure_general.ui" line="57"/> + <source>Use global framerate cap</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_general.ui" line="62"/> + <source>Set framerate cap:</source> + <translation type="unfinished"/> </message> <message> - <location filename="../../src/yuzu/configuration/configure_general.ui" line="38"/> + <location filename="../../src/yuzu/configuration/configure_general.ui" line="70"/> <source>Requires the use of the FPS Limiter Toggle hotkey to take effect.</source> <translation type="unfinished"/> </message> <message> - <location filename="../../src/yuzu/configuration/configure_general.ui" line="45"/> + <location filename="../../src/yuzu/configuration/configure_general.ui" line="73"/> + <source>Framerate Cap</source> + <translation>Bildratenbeschränkung</translation> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_general.ui" line="95"/> <source>x</source> <translation>x</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_general.ui" line="65"/> + <location filename="../../src/yuzu/configuration/configure_general.ui" line="116"/> <source>Limit Speed Percent</source> <translation>Geschwindigkeit auf % festlegen</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_general.ui" line="72"/> + <location filename="../../src/yuzu/configuration/configure_general.ui" line="123"/> <source>%</source> <translation>%</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_general.ui" line="90"/> + <location filename="../../src/yuzu/configuration/configure_general.ui" line="141"/> <source>Multicore CPU Emulation</source> <translation>Multicore-CPU-Emulation</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_general.ui" line="97"/> + <location filename="../../src/yuzu/configuration/configure_general.ui" line="148"/> <source>Confirm exit while emulation is running</source> <translation>Schließen des Emulators bestätigen, falls ein Spiel läuft</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_general.ui" line="104"/> + <location filename="../../src/yuzu/configuration/configure_general.ui" line="155"/> <source>Prompt for user on game boot</source> <translation>Beim Spielstart nach Nutzer fragen</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_general.ui" line="111"/> + <location filename="../../src/yuzu/configuration/configure_general.ui" line="162"/> <source>Pause emulation when in background</source> <translation>Emulation im Hintergrund pausieren</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_general.ui" line="118"/> + <location filename="../../src/yuzu/configuration/configure_general.ui" line="169"/> <source>Hide mouse on inactivity</source> <translation>Mauszeiger verstecken</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_general.ui" line="160"/> + <location filename="../../src/yuzu/configuration/configure_general.ui" line="211"/> <source>Reset All Settings</source> <translation>Setze alle Einstellungen zurück</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_general.cpp" line="70"/> + <location filename="../../src/yuzu/configuration/configure_general.cpp" line="78"/> <source>yuzu</source> <translation>yuzu</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_general.cpp" line="71"/> + <location filename="../../src/yuzu/configuration/configure_general.cpp" line="79"/> <source>This reset all settings and remove all per-game configurations. This will not delete game directories, profiles, or input profiles. Proceed?</source> <translation>Hierdurch werden alle Einstellungen zurückgesetzt und alle spielspezifischen Konfigurationen gelöscht. Spiel-Ordner, Profile oder Eingabeprofile werden nicht gelöscht. Fortfahren?</translation> </message> @@ -1115,18 +1131,113 @@ p, li { white-space: pre-wrap; } <translation>Auf Fenster anpassen</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_graphics.ui" line="339"/> - <location filename="../../src/yuzu/configuration/configure_graphics.ui" line="349"/> + <location filename="../../src/yuzu/configuration/configure_graphics.ui" line="330"/> + <source>Resolution:</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_graphics.ui" line="338"/> + <source>0.5X (360p/540p) [EXPERIMENTAL]</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_graphics.ui" line="343"/> + <source>0.75X (540p/810p) [EXPERIMENTAL]</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_graphics.ui" line="348"/> + <source>1X (720p/1080p)</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_graphics.ui" line="353"/> + <source>2X (1440p/2160p)</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_graphics.ui" line="358"/> + <source>3X (2160p/3240p)</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_graphics.ui" line="363"/> + <source>4X (2880p/4320p)</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_graphics.ui" line="368"/> + <source>5X (3600p/5400p)</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_graphics.ui" line="373"/> + <source>6X (4320p/6480p)</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_graphics.ui" line="399"/> + <source>Window Adapting Filter:</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_graphics.ui" line="407"/> + <source>Nearest Neighbor</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_graphics.ui" line="412"/> + <source>Bilinear</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_graphics.ui" line="417"/> + <source>Bicubic</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_graphics.ui" line="422"/> + <source>Gaussian</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_graphics.ui" line="427"/> + <source>ScaleForce</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_graphics.ui" line="432"/> + <source>AMD FidelityFX™️ Super Resolution [Vulkan Only]</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_graphics.ui" line="458"/> + <source>Anti-Aliasing Method:</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_graphics.ui" line="466"/> + <source>None</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_graphics.ui" line="471"/> + <source>FXAA</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_graphics.ui" line="506"/> + <location filename="../../src/yuzu/configuration/configure_graphics.ui" line="516"/> <source>Use global background color</source> <translation>Globale Hintergrundfarbe verwenden</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_graphics.ui" line="354"/> + <location filename="../../src/yuzu/configuration/configure_graphics.ui" line="521"/> <source>Set background color:</source> <translation>Hintergrundfarbe:</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_graphics.ui" line="362"/> + <location filename="../../src/yuzu/configuration/configure_graphics.ui" line="529"/> <source>Background Color:</source> <translation>Hintergrundfarbe:</translation> </message> @@ -1195,27 +1306,32 @@ p, li { white-space: pre-wrap; } </message> <message> <location filename="../../src/yuzu/configuration/configure_graphics_advanced.ui" line="128"/> - <source>Default</source> - <translation>Standard</translation> + <source>Automatic</source> + <translation type="unfinished"/> </message> <message> <location filename="../../src/yuzu/configuration/configure_graphics_advanced.ui" line="133"/> - <source>2x (WILL BREAK THINGS)</source> - <translation type="unfinished"/> + <source>Default</source> + <translation>Standard</translation> </message> <message> <location filename="../../src/yuzu/configuration/configure_graphics_advanced.ui" line="138"/> - <source>4x (WILL BREAK THINGS)</source> + <source>2x</source> <translation type="unfinished"/> </message> <message> <location filename="../../src/yuzu/configuration/configure_graphics_advanced.ui" line="143"/> - <source>8x (WILL BREAK THINGS)</source> + <source>4x</source> <translation type="unfinished"/> </message> <message> <location filename="../../src/yuzu/configuration/configure_graphics_advanced.ui" line="148"/> - <source>16x (WILL BREAK THINGS)</source> + <source>8x</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_graphics_advanced.ui" line="153"/> + <source>16x</source> <translation type="unfinished"/> </message> </context> @@ -1543,8 +1659,8 @@ p, li { white-space: pre-wrap; } </message> <message> <location filename="../../src/yuzu/configuration/configure_input_advanced.ui" line="2533"/> - <source>Other</source> - <translation>Weiteres</translation> + <source>Emulated Devices</source> + <translation type="unfinished"/> </message> <message> <location filename="../../src/yuzu/configuration/configure_input_advanced.ui" line="2545"/> @@ -1553,499 +1669,524 @@ p, li { white-space: pre-wrap; } </message> <message> <location filename="../../src/yuzu/configuration/configure_input_advanced.ui" line="2558"/> - <source>Emulate Analog with Keyboard Input</source> - <translation>Analog bei Tastatureingabe emulieren</translation> - </message> - <message> - <location filename="../../src/yuzu/configuration/configure_input_advanced.ui" line="2571"/> - <source>Enable mouse panning</source> - <translation>Maus-Panning aktivieren</translation> - </message> - <message> - <location filename="../../src/yuzu/configuration/configure_input_advanced.ui" line="2578"/> - <source>Mouse sensitivity</source> - <translation>Maus-Empfindlichkeit</translation> - </message> - <message> - <location filename="../../src/yuzu/configuration/configure_input_advanced.ui" line="2584"/> - <source>%</source> - <translation>%</translation> - </message> - <message> - <location filename="../../src/yuzu/configuration/configure_input_advanced.ui" line="2600"/> - <location filename="../../src/yuzu/configuration/configure_input_advanced.ui" line="2623"/> - <source>Advanced</source> - <translation>Erweitert</translation> + <source>Mouse</source> + <translation>Maus</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_advanced.ui" line="2630"/> + <location filename="../../src/yuzu/configuration/configure_input_advanced.ui" line="2565"/> <source>Touchscreen</source> <translation>Touchscreen</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_advanced.ui" line="2643"/> - <source>Mouse</source> - <translation>Maus</translation> + <location filename="../../src/yuzu/configuration/configure_input_advanced.ui" line="2588"/> + <source>Advanced</source> + <translation>Erweitert</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_advanced.ui" line="2650"/> - <source>Motion / Touch</source> - <translation>Bewegung / Touch</translation> + <location filename="../../src/yuzu/configuration/configure_input_advanced.ui" line="2595"/> + <source>Debug Controller</source> + <translation>Debug Controller</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_advanced.ui" line="2657"/> - <location filename="../../src/yuzu/configuration/configure_input_advanced.ui" line="2671"/> + <location filename="../../src/yuzu/configuration/configure_input_advanced.ui" line="2602"/> + <location filename="../../src/yuzu/configuration/configure_input_advanced.ui" line="2702"/> <source>Configure</source> <translation>Konfigurieren</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_advanced.ui" line="2664"/> - <source>Debug Controller</source> - <translation>Debug Controller</translation> + <location filename="../../src/yuzu/configuration/configure_input_advanced.ui" line="2612"/> + <source>Other</source> + <translation>Weiteres</translation> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_input_advanced.ui" line="2624"/> + <source>Emulate Analog with Keyboard Input</source> + <translation>Analog bei Tastatureingabe emulieren</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_advanced.ui" line="2678"/> + <location filename="../../src/yuzu/configuration/configure_input_advanced.ui" line="2631"/> <source>Requires restarting yuzu</source> <translation>Erfordet Neustart von yuzu</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_advanced.ui" line="2687"/> + <location filename="../../src/yuzu/configuration/configure_input_advanced.ui" line="2640"/> <source>Enable XInput 8 player support (disables web applet)</source> <translation type="unfinished"/> </message> -</context> -<context> - <name>ConfigureInputPlayer</name> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="14"/> - <source>Configure Input</source> - <translation>Eingabe einrichten</translation> + <location filename="../../src/yuzu/configuration/configure_input_advanced.ui" line="2653"/> + <source>Enable UDP controllers (not needed for motion)</source> + <translation type="unfinished"/> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="63"/> - <source>Connect Controller</source> - <translation>Controller verbinden</translation> + <location filename="../../src/yuzu/configuration/configure_input_advanced.ui" line="2666"/> + <source>Enable mouse panning</source> + <translation>Maus-Panning aktivieren</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="94"/> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="535"/> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="986"/> - <source>Pro Controller</source> - <translation>Pro Controller</translation> + <location filename="../../src/yuzu/configuration/configure_input_advanced.ui" line="2673"/> + <source>Mouse sensitivity</source> + <translation>Maus-Empfindlichkeit</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="99"/> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="992"/> - <source>Dual Joycons</source> - <translation>Zwei Joycons</translation> + <location filename="../../src/yuzu/configuration/configure_input_advanced.ui" line="2679"/> + <source>%</source> + <translation>%</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="104"/> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="998"/> - <source>Left Joycon</source> - <translation>Linker Joycon</translation> + <location filename="../../src/yuzu/configuration/configure_input_advanced.ui" line="2695"/> + <source>Motion / Touch</source> + <translation>Bewegung / Touch</translation> </message> +</context> +<context> + <name>ConfigureInputPlayer</name> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="109"/> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="1004"/> - <source>Right Joycon</source> - <translation>Rechter Joycon</translation> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="14"/> + <source>Configure Input</source> + <translation>Eingabe einrichten</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="114"/> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="1010"/> - <source>Handheld</source> - <translation>Handheld</translation> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="63"/> + <source>Connect Controller</source> + <translation>Controller verbinden</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="125"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="100"/> <source>Input Device</source> <translation>Eingabegerät</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="153"/> - <source>Any</source> - <translation>Alle</translation> - </message> - <message> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="158"/> - <source>Keyboard/Mouse</source> - <translation>Tastatur/Maus</translation> - </message> - <message> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="194"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="156"/> <source>Profile</source> <translation>Profil</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="234"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="196"/> <source>Save</source> <translation>Speichern</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="250"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="212"/> <source>New</source> <translation>Neu</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="266"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="228"/> <source>Delete</source> <translation>Löschen</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="329"/> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="1267"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="291"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="1190"/> <source>Left Stick</source> <translation>Linker Analogstick</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="387"/> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="429"/> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="963"/> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="1002"/> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="2621"/> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="2660"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="349"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="391"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="925"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="964"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="2583"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="2622"/> <source>Up</source> <translation>Hoch</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="460"/> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="499"/> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="1033"/> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="1072"/> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="2107"/> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="2691"/> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="2730"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="422"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="461"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="995"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="1034"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="2069"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="2653"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="2692"/> <source>Left</source> <translation>Links</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="509"/> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="548"/> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="1082"/> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="1121"/> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="2156"/> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="2740"/> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="2779"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="471"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="510"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="1044"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="1083"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="2118"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="2702"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="2741"/> <source>Right</source> <translation>Rechts</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="591"/> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="630"/> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="1164"/> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="1203"/> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="2822"/> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="2861"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="553"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="592"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="1126"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="1165"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="2784"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="2823"/> <source>Down</source> <translation>Runter</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="661"/> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="700"/> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="2892"/> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="2931"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="623"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="662"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="2854"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="2893"/> <source>Pressed</source> <translation>Gedrückt</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="710"/> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="749"/> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="2941"/> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="2980"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="672"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="711"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="2903"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="2942"/> <source>Modifier</source> <translation>Modifikator</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="759"/> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="2990"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="721"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="2952"/> <source>Range</source> <translation>Radius</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="792"/> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="3023"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="754"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="2985"/> <source>%</source> <translation>%</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="835"/> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="3063"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="797"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="3025"/> <source>Deadzone: 0%</source> <translation>Deadzone: 0%</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="859"/> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="3087"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="821"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="3049"/> <source>Modifier Range: 0%</source> <translation>Modifikator-Radius: 0%</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="905"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="867"/> <source>D-Pad</source> <translation>Steuerkreuz</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="1289"/> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="1328"/> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="1272"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="1251"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="1290"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="1195"/> <source>L</source> <translation>L</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="1344"/> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="1383"/> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="1264"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="1306"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="1345"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="1187"/> <source>ZL</source> <translation>ZL</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="1464"/> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="1503"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="1426"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="1465"/> <source>Minus</source> <translation>Minus</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="1513"/> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="1552"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="1475"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="1514"/> <source>Capture</source> <translation>Screenshot</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="1583"/> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="1622"/> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="1263"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="1545"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="1584"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="1186"/> <source>Plus</source> <translation>Plus</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="1632"/> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="1671"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="1594"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="1633"/> <source>Home</source> <translation>Home</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="1736"/> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="1775"/> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="1266"/> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="1273"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="1698"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="1737"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="1189"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="1196"/> <source>R</source> <translation>R</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="1791"/> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="1830"/> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="1265"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="1753"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="1792"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="1188"/> <source>ZR</source> <translation>ZR</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="1911"/> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="1950"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="1873"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="1912"/> <source>SL</source> <translation>SL</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="1960"/> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="1999"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="1922"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="1961"/> <source>SR</source> <translation>SR</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="2068"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="2030"/> <source>Motion 1</source> <translation>Bewegung 1</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="2117"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="2079"/> <source>Motion 2</source> <translation>Bewegung 2</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="2208"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="2170"/> <source>Face Buttons</source> <translation>Tasten</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="2266"/> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="2305"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="2228"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="2267"/> <source>X</source> <translation>X</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="2336"/> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="2375"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="2298"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="2337"/> <source>Y</source> <translation>Y</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="2385"/> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="2424"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="2347"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="2386"/> <source>A</source> <translation>A</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="2467"/> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="2506"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="2429"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="2468"/> <source>B</source> <translation>B</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="2554"/> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="1268"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="2516"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="1191"/> <source>Right Stick</source> <translation>Rechter Analogstick</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="322"/> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="372"/> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="430"/> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="474"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="330"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="396"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="461"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="507"/> <source>Clear</source> <translation>Löschen</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="324"/> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="374"/> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="432"/> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="476"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="332"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="398"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="463"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="509"/> <source>[not set]</source> <translation>[nicht belegt]</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="327"/> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="478"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="335"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="512"/> <source>Toggle button</source> <translation>Taste umschalten</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="335"/> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="339"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="341"/> + <source>Invert button</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="349"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="465"/> + <source>Invert axis</source> + <translation>Achsen umkehren</translation> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="355"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="359"/> <source>Set threshold</source> <translation type="unfinished"/> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="339"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="359"/> <source>Choose a value between 0% and 100%</source> <translation>Wert zwischen 0% und 100% wählen</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="406"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="436"/> <source>Map Analog Stick</source> <translation>Analog-Stick festlegen</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="407"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="437"/> <source>After pressing OK, first move your joystick horizontally, and then vertically. To invert the axes, first move your joystick vertically, and then horizontally.</source> <translation>Nach dem Drücken von OK den Joystick zuerst horizontal, dann vertikal bewegen. Um die Achsen umzukehren, bewege den Joystick zuerst vertikal und dann horizontal.</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="434"/> - <source>Invert axis</source> - <translation>Achsen umkehren</translation> - </message> - <message> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="500"/> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="952"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="537"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="891"/> <source>Deadzone: %1%</source> <translation>Deadzone: %1%</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="508"/> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="963"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="546"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="896"/> <source>Modifier Range: %1%</source> <translation>Modifikator-Radius: %1%</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="1016"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="572"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="918"/> + <source>Pro Controller</source> + <translation>Pro Controller</translation> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="924"/> + <source>Dual Joycons</source> + <translation>Zwei Joycons</translation> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="930"/> + <source>Left Joycon</source> + <translation>Linker Joycon</translation> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="936"/> + <source>Right Joycon</source> + <translation>Rechter Joycon</translation> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="942"/> + <source>Handheld</source> + <translation>Handheld</translation> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="948"/> <source>GameCube Controller</source> <translation>GameCube-Controller</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="1271"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="958"/> + <source>Poke Ball Plus</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="964"/> + <source>NES Controller</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="970"/> + <source>SNES Controller</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="976"/> + <source>N64 Controller</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="982"/> + <source>Sega Genesis</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="1194"/> <source>Start / Pause</source> <translation>Start / Pause</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="1274"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="1197"/> <source>Z</source> <translation>Z</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="1275"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="1198"/> <source>Control Stick</source> <translation>Analog Stick</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="1276"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="1199"/> <source>C-Stick</source> <translation>C-Stick</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="1335"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="1297"/> <source>Shake!</source> <translation>Schütteln!</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="1337"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="1299"/> <source>[waiting]</source> <translation>[wartet]</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="1462"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="1381"/> <source>New Profile</source> <translation>Neues Profil</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="1462"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="1381"/> <source>Enter a profile name:</source> <translation>Profilnamen eingeben:</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="1470"/> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="1478"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="1389"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="1397"/> <source>Create Input Profile</source> <translation>Eingabeprofil erstellen</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="1471"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="1390"/> <source>The given profile name is not valid!</source> <translation>Angegebener Profilname ist nicht gültig!</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="1479"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="1398"/> <source>Failed to create the input profile "%1"</source> <translation>Erstellen des Eingabeprofils "%1" ist fehlgeschlagen</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="1499"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="1418"/> <source>Delete Input Profile</source> <translation>Eingabeprofil löschen</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="1500"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="1419"/> <source>Failed to delete the input profile "%1"</source> <translation>Löschen des Eingabeprofils "%1" ist fehlgeschlagen</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="1522"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="1441"/> <source>Load Input Profile</source> <translation>Eingabeprofil laden</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="1523"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="1442"/> <source>Failed to load the input profile "%1"</source> <translation>Laden des Eingabeprofils "%1" ist fehlgeschlagen</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="1542"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="1461"/> <source>Save Input Profile</source> <translation>Eingabeprofil speichern</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="1543"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="1462"/> <source>Failed to save the input profile "%1"</source> <translation>Speichern des Eingabeprofils "%1" ist fehlgeschlagen</translation> </message> @@ -2071,85 +2212,75 @@ Um die Achsen umzukehren, bewege den Joystick zuerst vertikal und dann horizonta <context> <name>ConfigureMotionTouch</name> <message> - <location filename="../../src/yuzu/configuration/configure_motion_touch.ui" line="14"/> + <location filename="../../src/yuzu/configuration/configure_motion_touch.ui" line="6"/> <source>Configure Motion / Touch</source> <translation>Bewegung / Touch einrichten</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_motion_touch.ui" line="23"/> - <source>Mouse Motion</source> - <translation>Mausbewegung</translation> - </message> - <message> - <location filename="../../src/yuzu/configuration/configure_motion_touch.ui" line="31"/> - <source>Sensitivity:</source> - <translation>Empfindlichkeit:</translation> - </message> - <message> - <location filename="../../src/yuzu/configuration/configure_motion_touch.ui" line="65"/> + <location filename="../../src/yuzu/configuration/configure_motion_touch.ui" line="15"/> <source>Touch</source> <translation>Touch</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_motion_touch.ui" line="73"/> + <location filename="../../src/yuzu/configuration/configure_motion_touch.ui" line="23"/> <source>UDP Calibration:</source> <translation>UDP Kalibrierung:</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_motion_touch.ui" line="80"/> + <location filename="../../src/yuzu/configuration/configure_motion_touch.ui" line="30"/> <source>(100, 50) - (1800, 850)</source> <translation>(100, 50) - (1800, 850)</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_motion_touch.ui" line="96"/> - <location filename="../../src/yuzu/configuration/configure_motion_touch.ui" line="129"/> - <location filename="../../src/yuzu/configuration/configure_motion_touch.cpp" line="250"/> + <location filename="../../src/yuzu/configuration/configure_motion_touch.ui" line="46"/> + <location filename="../../src/yuzu/configuration/configure_motion_touch.ui" line="73"/> + <location filename="../../src/yuzu/configuration/configure_motion_touch.cpp" line="245"/> <source>Configure</source> <translation>Einrichtung</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_motion_touch.ui" line="113"/> - <source>Use button mapping:</source> - <translation>Tastenbelegung nutzen:</translation> + <location filename="../../src/yuzu/configuration/configure_motion_touch.ui" line="57"/> + <source>Touch from button profile:</source> + <translation type="unfinished"/> </message> <message> - <location filename="../../src/yuzu/configuration/configure_motion_touch.ui" line="141"/> + <location filename="../../src/yuzu/configuration/configure_motion_touch.ui" line="85"/> <source>CemuhookUDP Config</source> <translation>CemuhookUDP Konfiguration</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_motion_touch.ui" line="147"/> + <location filename="../../src/yuzu/configuration/configure_motion_touch.ui" line="91"/> <source>You may use any Cemuhook compatible UDP input source to provide motion and touch input.</source> <translation>Du kannst alle Cemuhook-kompatiblen UDP-Eingabequellen für Bewegung und Touch verwenden.</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_motion_touch.ui" line="190"/> + <location filename="../../src/yuzu/configuration/configure_motion_touch.ui" line="134"/> <source>Server:</source> <translation>Server:</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_motion_touch.ui" line="217"/> + <location filename="../../src/yuzu/configuration/configure_motion_touch.ui" line="161"/> <source>Port:</source> <translation>Port:</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_motion_touch.ui" line="244"/> + <location filename="../../src/yuzu/configuration/configure_motion_touch.ui" line="188"/> <source>Learn More</source> <translation>Mehr erfahren</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_motion_touch.ui" line="257"/> - <location filename="../../src/yuzu/configuration/configure_motion_touch.cpp" line="273"/> + <location filename="../../src/yuzu/configuration/configure_motion_touch.ui" line="201"/> + <location filename="../../src/yuzu/configuration/configure_motion_touch.cpp" line="268"/> <source>Test</source> <translation>Testen</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_motion_touch.ui" line="270"/> + <location filename="../../src/yuzu/configuration/configure_motion_touch.ui" line="214"/> <source>Add Server</source> <translation>Server hinzufügen</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_motion_touch.ui" line="303"/> + <location filename="../../src/yuzu/configuration/configure_motion_touch.ui" line="247"/> <source>Remove Server</source> <translation>Server löschen</translation> </message> @@ -2159,146 +2290,82 @@ Um die Achsen umzukehren, bewege den Joystick zuerst vertikal und dann horizonta <translation><a href='https://yuzu-emu.org/wiki/using-a-controller-or-android-phone-for-motion-or-touch-input'><span style="text-decoration: underline; color:#039be5;">Mehr erfahren</span></a></translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_motion_touch.cpp" line="176"/> + <location filename="../../src/yuzu/configuration/configure_motion_touch.cpp" line="171"/> <source>%1:%2</source> <translation>%1:%2</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_motion_touch.cpp" line="181"/> - <location filename="../../src/yuzu/configuration/configure_motion_touch.cpp" line="185"/> - <location filename="../../src/yuzu/configuration/configure_motion_touch.cpp" line="189"/> - <location filename="../../src/yuzu/configuration/configure_motion_touch.cpp" line="195"/> - <location filename="../../src/yuzu/configuration/configure_motion_touch.cpp" line="201"/> - <location filename="../../src/yuzu/configuration/configure_motion_touch.cpp" line="295"/> + <location filename="../../src/yuzu/configuration/configure_motion_touch.cpp" line="176"/> + <location filename="../../src/yuzu/configuration/configure_motion_touch.cpp" line="180"/> + <location filename="../../src/yuzu/configuration/configure_motion_touch.cpp" line="184"/> + <location filename="../../src/yuzu/configuration/configure_motion_touch.cpp" line="190"/> + <location filename="../../src/yuzu/configuration/configure_motion_touch.cpp" line="196"/> + <location filename="../../src/yuzu/configuration/configure_motion_touch.cpp" line="290"/> <source>yuzu</source> <translation>yuzu</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_motion_touch.cpp" line="181"/> + <location filename="../../src/yuzu/configuration/configure_motion_touch.cpp" line="176"/> <source>Port number has invalid characters</source> <translation>Port-Nummer hat ungültige Zeichen</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_motion_touch.cpp" line="185"/> + <location filename="../../src/yuzu/configuration/configure_motion_touch.cpp" line="180"/> <source>Port has to be in range 0 and 65353</source> <translation>Port muss zwischen 0 und 65353 liegen</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_motion_touch.cpp" line="189"/> + <location filename="../../src/yuzu/configuration/configure_motion_touch.cpp" line="184"/> <source>IP address is not valid</source> <translation>IP Adresse ist ungültig</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_motion_touch.cpp" line="195"/> + <location filename="../../src/yuzu/configuration/configure_motion_touch.cpp" line="190"/> <source>This UDP server already exists</source> <translation>Dieser UDP-Server existiert bereits</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_motion_touch.cpp" line="201"/> + <location filename="../../src/yuzu/configuration/configure_motion_touch.cpp" line="196"/> <source>Unable to add more than 8 servers</source> <translation>Es können nicht mehr als 8 Server hinzugefügt werden</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_motion_touch.cpp" line="217"/> + <location filename="../../src/yuzu/configuration/configure_motion_touch.cpp" line="212"/> <source>Testing</source> <translation>Testen</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_motion_touch.cpp" line="233"/> + <location filename="../../src/yuzu/configuration/configure_motion_touch.cpp" line="228"/> <source>Configuring</source> <translation>Einrichten</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_motion_touch.cpp" line="264"/> + <location filename="../../src/yuzu/configuration/configure_motion_touch.cpp" line="259"/> <source>Test Successful</source> <translation>Test erfolgreich</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_motion_touch.cpp" line="265"/> + <location filename="../../src/yuzu/configuration/configure_motion_touch.cpp" line="260"/> <source>Successfully received data from the server.</source> <translation>Daten wurden erfolgreich vom Server empfangen.</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_motion_touch.cpp" line="267"/> + <location filename="../../src/yuzu/configuration/configure_motion_touch.cpp" line="262"/> <source>Test Failed</source> <translation>Test fehlgeschlagen</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_motion_touch.cpp" line="268"/> + <location filename="../../src/yuzu/configuration/configure_motion_touch.cpp" line="263"/> <source>Could not receive valid data from the server.<br>Please verify that the server is set up correctly and the address and port are correct.</source> <translation>Konnte keine Daten vom Server empfangen.<br>Prüfe bitte, dass der Server korrekt eingerichtet wurde und dass Adresse und Port korrekt sind.</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_motion_touch.cpp" line="296"/> + <location filename="../../src/yuzu/configuration/configure_motion_touch.cpp" line="291"/> <source>UDP Test or calibration configuration is in progress.<br>Please wait for them to finish.</source> <translation>UDP-Test oder Kalibration wird gerade durchgeführt.<br>Bitte warte einen Moment.</translation> </message> </context> <context> - <name>ConfigureMouseAdvanced</name> - <message> - <location filename="../../src/yuzu/configuration/configure_mouse_advanced.ui" line="14"/> - <source>Configure Mouse</source> - <translation>Maus einrichten</translation> - </message> - <message> - <location filename="../../src/yuzu/configuration/configure_mouse_advanced.ui" line="25"/> - <source>Mouse Buttons</source> - <translation>Maustasten</translation> - </message> - <message> - <location filename="../../src/yuzu/configuration/configure_mouse_advanced.ui" line="35"/> - <source>Forward:</source> - <translation>Vorwärts:</translation> - </message> - <message> - <location filename="../../src/yuzu/configuration/configure_mouse_advanced.ui" line="75"/> - <source>Back:</source> - <translation>Rückwärts:</translation> - </message> - <message> - <location filename="../../src/yuzu/configuration/configure_mouse_advanced.ui" line="103"/> - <source>Left:</source> - <translation>Links:</translation> - </message> - <message> - <location filename="../../src/yuzu/configuration/configure_mouse_advanced.ui" line="131"/> - <source>Middle:</source> - <translation>Mitte:</translation> - </message> - <message> - <location filename="../../src/yuzu/configuration/configure_mouse_advanced.ui" line="197"/> - <source>Right:</source> - <translation>Rechts:</translation> - </message> - <message> - <location filename="../../src/yuzu/configuration/configure_mouse_advanced.ui" line="270"/> - <location filename="../../src/yuzu/configuration/configure_mouse_advanced.cpp" line="109"/> - <source>Clear</source> - <translation>Löschen</translation> - </message> - <message> - <location filename="../../src/yuzu/configuration/configure_mouse_advanced.ui" line="289"/> - <source>Defaults</source> - <translation>Standardwerte</translation> - </message> - <message> - <location filename="../../src/yuzu/configuration/configure_mouse_advanced.cpp" line="111"/> - <source>[not set]</source> - <translation>[nicht belegt]</translation> - </message> - <message> - <location filename="../../src/yuzu/configuration/configure_mouse_advanced.cpp" line="113"/> - <source>Restore Default</source> - <translation>Standardwert wiederherstellen</translation> - </message> - <message> - <location filename="../../src/yuzu/configuration/configure_mouse_advanced.cpp" line="200"/> - <source>[press key]</source> - <translation>[Taste drücken]</translation> - </message> -</context> -<context> <name>ConfigureNetwork</name> <message> <location filename="../../src/yuzu/configuration/configure_network.ui" line="14"/> @@ -3081,31 +3148,26 @@ Um die Achsen umzukehren, bewege den Joystick zuerst vertikal und dann horizonta </message> <message> <location filename="../../src/yuzu/configuration/configure_tas.ui" line="64"/> - <source>Automatic controller profile swapping</source> - <translation type="unfinished"/> - </message> - <message> - <location filename="../../src/yuzu/configuration/configure_tas.ui" line="71"/> <source>Loop script</source> <translation type="unfinished"/> </message> <message> - <location filename="../../src/yuzu/configuration/configure_tas.ui" line="81"/> + <location filename="../../src/yuzu/configuration/configure_tas.ui" line="74"/> <source>Pause execution during loads</source> <translation type="unfinished"/> </message> <message> - <location filename="../../src/yuzu/configuration/configure_tas.ui" line="95"/> + <location filename="../../src/yuzu/configuration/configure_tas.ui" line="88"/> <source>Script Directory</source> <translation>Skript-Verzeichnis</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_tas.ui" line="101"/> + <location filename="../../src/yuzu/configuration/configure_tas.ui" line="94"/> <source>Path</source> <translation>Pfad</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_tas.ui" line="108"/> + <location filename="../../src/yuzu/configuration/configure_tas.ui" line="101"/> <source>...</source> <translation>...</translation> </message> @@ -3118,7 +3180,7 @@ Um die Achsen umzukehren, bewege den Joystick zuerst vertikal und dann horizonta <translation>TAS-Konfiguration</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_tas.cpp" line="53"/> + <location filename="../../src/yuzu/configuration/configure_tas.cpp" line="51"/> <source>Select TAS Load Directory...</source> <translation type="unfinished"/> </message> @@ -3180,37 +3242,37 @@ Ziehe die Punkte mit deiner Maus, um ihre Position zu ändern. Doppelklicke auf <translation>Y</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_touch_from_button.cpp" line="200"/> + <location filename="../../src/yuzu/configuration/configure_touch_from_button.cpp" line="197"/> <source>New Profile</source> <translation>Neues Profil</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_touch_from_button.cpp" line="200"/> + <location filename="../../src/yuzu/configuration/configure_touch_from_button.cpp" line="197"/> <source>Enter the name for the new profile.</source> <translation>Neuen Namen für das Profil eingeben.</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_touch_from_button.cpp" line="211"/> + <location filename="../../src/yuzu/configuration/configure_touch_from_button.cpp" line="208"/> <source>Delete Profile</source> <translation>Profil löschen</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_touch_from_button.cpp" line="211"/> + <location filename="../../src/yuzu/configuration/configure_touch_from_button.cpp" line="208"/> <source>Delete profile %1?</source> <translation>Profil "%1" löschen?</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_touch_from_button.cpp" line="224"/> + <location filename="../../src/yuzu/configuration/configure_touch_from_button.cpp" line="221"/> <source>Rename Profile</source> <translation>Profil umbenennen</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_touch_from_button.cpp" line="224"/> + <location filename="../../src/yuzu/configuration/configure_touch_from_button.cpp" line="221"/> <source>New name:</source> <translation>Neuer Name:</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_touch_from_button.cpp" line="233"/> + <location filename="../../src/yuzu/configuration/configure_touch_from_button.cpp" line="230"/> <source>[press key]</source> <translation>[Knopf drücken]</translation> </message> @@ -3630,12 +3692,12 @@ Ziehe die Punkte mit deiner Maus, um ihre Position zu ändern. Doppelklicke auf <context> <name>ControllerDialog</name> <message> - <location filename="../../src/yuzu/debugger/controller.cpp" line="17"/> + <location filename="../../src/yuzu/debugger/controller.cpp" line="21"/> <source>Controller P1</source> <translation>Controller P1</translation> </message> <message> - <location filename="../../src/yuzu/debugger/controller.cpp" line="52"/> + <location filename="../../src/yuzu/debugger/controller.cpp" line="60"/> <source>&Controller P1</source> <translation>&Controller P1</translation> </message> @@ -3643,90 +3705,95 @@ Ziehe die Punkte mit deiner Maus, um ihre Position zu ändern. Doppelklicke auf <context> <name>GMainWindow</name> <message> - <location filename="../../src/yuzu/main.cpp" line="174"/> + <location filename="../../src/yuzu/main.cpp" line="176"/> <source><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?</source> <translation><a href='https://yuzu-emu.org/help/feature/telemetry/'>Anonyme Daten werden gesammelt,</a> um yuzu zu verbessern.<br/><br/>Möchstest du deine Nutzungsdaten mit uns teilen?</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="177"/> + <location filename="../../src/yuzu/main.cpp" line="179"/> <source>Telemetry</source> <translation>Telemetrie</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="592"/> + <location filename="../../src/yuzu/main.cpp" line="600"/> <source>Loading Web Applet...</source> <translation>Lade Web-Applet...</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="639"/> - <location filename="../../src/yuzu/main.cpp" line="642"/> + <location filename="../../src/yuzu/main.cpp" line="647"/> + <location filename="../../src/yuzu/main.cpp" line="650"/> <source>Disable Web Applet</source> <translation>Deaktiviere die Web Applikation</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="643"/> + <location filename="../../src/yuzu/main.cpp" line="651"/> <source>Disabling the web applet will cause it to not be shown again for the rest of the emulated session. This 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?</source> <translation>Durch deaktivieren des Web-Applets wird es für den Rest der emulierten Sitzung nicht mehr angezeigt. Dies kann zu undefiniertem Verhalten führen und sollte nur mit Super Mario 3D All-Stars verwendet werden. Das Web-Applet wirklich deaktivieren?</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="746"/> + <location filename="../../src/yuzu/main.cpp" line="754"/> <source>The amount of shaders currently being built</source> <translation>Wie viele Shader im Moment kompiliert werden</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="749"/> + <location filename="../../src/yuzu/main.cpp" line="756"/> + <source>The current selected resolution scaling multiplier.</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/main.cpp" line="759"/> <source>Current emulation speed. Values higher or lower than 100% indicate emulation is running faster or slower than a Switch.</source> <translation>Derzeitige Emulations-Geschwindigkeit. Werte höher oder niedriger als 100% zeigen, dass die Emulation scheller oder langsamer läuft als auf einer Switch.</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="752"/> + <location filename="../../src/yuzu/main.cpp" line="762"/> <source>How many frames per second the game is currently displaying. This will vary from game to game and scene to scene.</source> <translation>Wie viele Bilder pro Sekunde angezeigt werden variiert von Spiel zu Spiel und von Szene zu Szene. </translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="756"/> + <location filename="../../src/yuzu/main.cpp" line="766"/> <source>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.</source> <translation>Zeit, die gebraucht wurde, um einen Switch-Frame zu emulieren, ohne Framelimit oder V-Sync. Für eine Emulation bei voller Geschwindigkeit sollte dieser Wert bei höchstens 16.67ms liegen.</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="781"/> + <location filename="../../src/yuzu/main.cpp" line="841"/> <source>Invalid config detected</source> <translation>Ungültige Konfiguration erkannt</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="782"/> + <location filename="../../src/yuzu/main.cpp" line="842"/> <source>Handheld controller can't be used on docked mode. Pro controller will be selected.</source> <translation>Handheld-Controller können nicht im Dock verwendet werden. Der Pro-Controller wird verwendet.</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="794"/> + <location filename="../../src/yuzu/main.cpp" line="854"/> <source>DOCK</source> <translation>DOCK</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="828"/> + <location filename="../../src/yuzu/main.cpp" line="888"/> <source>VULKAN</source> <translation>VULKAN</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="828"/> + <location filename="../../src/yuzu/main.cpp" line="888"/> <source>OPENGL</source> <translation>OPENGL</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="886"/> + <location filename="../../src/yuzu/main.cpp" line="951"/> <source>&Clear Recent Files</source> <translation>&Zuletzt geladene Dateien leeren</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="1055"/> - <source>TAS Recording</source> - <translation>TAS Aufnahme</translation> + <location filename="../../src/yuzu/main.cpp" line="1210"/> + <source>&Continue</source> + <translation>&Fortsetzen</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="1056"/> - <source>Overwrite file of player 1?</source> - <translation>Datei von Spieler 1 überschreiben?</translation> + <location filename="../../src/yuzu/main.cpp" line="1212"/> + <source>&Pause</source> + <translation type="unfinished"/> </message> <message> <location filename="../../src/yuzu/main.cpp" line="1285"/> @@ -3777,657 +3844,724 @@ Ziehe die Punkte mit deiner Maus, um ihre Position zu ändern. Doppelklicke auf <translation>Ein unbekannter Fehler ist aufgetreten. Bitte prüfe die Log-Dateien auf mögliche Fehlermeldungen.</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="1462"/> + <location filename="../../src/yuzu/main.cpp" line="1460"/> <source>(64-bit)</source> <translation>(64-Bit)</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="1462"/> + <location filename="../../src/yuzu/main.cpp" line="1460"/> <source>(32-bit)</source> <translation>(32-Bit)</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="1463"/> + <location filename="../../src/yuzu/main.cpp" line="1461"/> <source>%1 %2</source> <comment>%1 is the title name. %2 indicates if the title is 64-bit or 32-bit</comment> <translation>%1 %2</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="1507"/> - <source>Start</source> - <translation>Start</translation> - </message> - <message> - <location filename="../../src/yuzu/main.cpp" line="1612"/> + <location filename="../../src/yuzu/main.cpp" line="1605"/> <source>Save Data</source> <translation>Speicherdaten</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="1660"/> + <location filename="../../src/yuzu/main.cpp" line="1653"/> <source>Mod Data</source> <translation>Mod-Daten</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="1672"/> + <location filename="../../src/yuzu/main.cpp" line="1665"/> <source>Error Opening %1 Folder</source> <translation>Konnte Verzeichnis %1 nicht öffnen</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="1673"/> - <location filename="../../src/yuzu/main.cpp" line="2079"/> + <location filename="../../src/yuzu/main.cpp" line="1666"/> + <location filename="../../src/yuzu/main.cpp" line="2072"/> <source>Folder does not exist!</source> <translation>Verzeichnis existiert nicht!</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="1685"/> + <location filename="../../src/yuzu/main.cpp" line="1678"/> <source>Error Opening Transferable Shader Cache</source> <translation>Fehler beim Öffnen des transferierbaren Shader-Caches</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="1686"/> + <location filename="../../src/yuzu/main.cpp" line="1679"/> <source>Failed to create the shader cache directory for this title.</source> <translation type="unfinished"/> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="1738"/> + <location filename="../../src/yuzu/main.cpp" line="1731"/> <source>Contents</source> <translation>Inhalte</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="1740"/> + <location filename="../../src/yuzu/main.cpp" line="1733"/> <source>Update</source> <translation>Update</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="1742"/> + <location filename="../../src/yuzu/main.cpp" line="1735"/> <source>DLC</source> <translation>DLC</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="1749"/> + <location filename="../../src/yuzu/main.cpp" line="1742"/> <source>Remove Entry</source> <translation>Eintrag entfernen</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="1749"/> + <location filename="../../src/yuzu/main.cpp" line="1742"/> <source>Remove Installed Game %1?</source> <translation>Installiertes Spiel %1 entfernen?</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="1779"/> - <location filename="../../src/yuzu/main.cpp" line="1795"/> - <location filename="../../src/yuzu/main.cpp" line="1826"/> - <location filename="../../src/yuzu/main.cpp" line="1887"/> - <location filename="../../src/yuzu/main.cpp" line="1905"/> - <location filename="../../src/yuzu/main.cpp" line="1928"/> + <location filename="../../src/yuzu/main.cpp" line="1772"/> + <location filename="../../src/yuzu/main.cpp" line="1788"/> + <location filename="../../src/yuzu/main.cpp" line="1819"/> + <location filename="../../src/yuzu/main.cpp" line="1880"/> + <location filename="../../src/yuzu/main.cpp" line="1898"/> + <location filename="../../src/yuzu/main.cpp" line="1921"/> <source>Successfully Removed</source> <translation>Erfolgreich entfernt</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="1780"/> + <location filename="../../src/yuzu/main.cpp" line="1773"/> <source>Successfully removed the installed base game.</source> <translation>Das Spiel wurde entfernt.</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="1783"/> - <location filename="../../src/yuzu/main.cpp" line="1798"/> - <location filename="../../src/yuzu/main.cpp" line="1821"/> + <location filename="../../src/yuzu/main.cpp" line="1776"/> + <location filename="../../src/yuzu/main.cpp" line="1791"/> + <location filename="../../src/yuzu/main.cpp" line="1814"/> <source>Error Removing %1</source> <translation>Fehler beim Entfernen von %1</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="1784"/> + <location filename="../../src/yuzu/main.cpp" line="1777"/> <source>The base game is not installed in the NAND and cannot be removed.</source> <translation>Das Spiel ist nicht im NAND installiert und kann somit nicht entfernt werden.</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="1796"/> + <location filename="../../src/yuzu/main.cpp" line="1789"/> <source>Successfully removed the installed update.</source> <translation>Das Update wurde entfernt.</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="1799"/> + <location filename="../../src/yuzu/main.cpp" line="1792"/> <source>There is no update installed for this title.</source> <translation>Es ist kein Update für diesen Titel installiert.</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="1822"/> + <location filename="../../src/yuzu/main.cpp" line="1815"/> <source>There are no DLC installed for this title.</source> <translation>Es sind keine DLC für diesen Titel installiert.</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="1827"/> + <location filename="../../src/yuzu/main.cpp" line="1820"/> <source>Successfully removed %1 installed DLC.</source> <translation>%1 DLC entfernt. </translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="1835"/> + <location filename="../../src/yuzu/main.cpp" line="1828"/> <source>Delete OpenGL Transferable Shader Cache?</source> <translation>Transferierbaren OpenGL Shader Cache löschen?</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="1837"/> + <location filename="../../src/yuzu/main.cpp" line="1830"/> <source>Delete Vulkan Transferable Shader Cache?</source> <translation>Transferierbaren Vulkan Shader Cache löschen?</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="1839"/> + <location filename="../../src/yuzu/main.cpp" line="1832"/> <source>Delete All Transferable Shader Caches?</source> <translation>Alle transferierbaren Shader Caches löschen?</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="1841"/> + <location filename="../../src/yuzu/main.cpp" line="1834"/> <source>Remove Custom Game Configuration?</source> <translation>Spiel-Einstellungen entfernen?</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="1847"/> + <location filename="../../src/yuzu/main.cpp" line="1840"/> <source>Remove File</source> <translation>Datei entfernen</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="1882"/> - <location filename="../../src/yuzu/main.cpp" line="1890"/> + <location filename="../../src/yuzu/main.cpp" line="1875"/> + <location filename="../../src/yuzu/main.cpp" line="1883"/> <source>Error Removing Transferable Shader Cache</source> <translation>Fehler beim Entfernen</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="1883"/> - <location filename="../../src/yuzu/main.cpp" line="1901"/> + <location filename="../../src/yuzu/main.cpp" line="1876"/> + <location filename="../../src/yuzu/main.cpp" line="1894"/> <source>A shader cache for this title does not exist.</source> <translation>Es existiert kein Shader-Cache für diesen Titel.</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="1888"/> + <location filename="../../src/yuzu/main.cpp" line="1881"/> <source>Successfully removed the transferable shader cache.</source> <translation>Der transferierbare Shader-Cache wurde entfernt.</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="1891"/> + <location filename="../../src/yuzu/main.cpp" line="1884"/> <source>Failed to remove the transferable shader cache.</source> <translation>Konnte den transferierbaren Shader-Cache nicht entfernen.</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="1900"/> - <location filename="../../src/yuzu/main.cpp" line="1908"/> + <location filename="../../src/yuzu/main.cpp" line="1893"/> + <location filename="../../src/yuzu/main.cpp" line="1901"/> <source>Error Removing Transferable Shader Caches</source> <translation>Fehler beim Entfernen der transferierbaren Shader Caches</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="1906"/> + <location filename="../../src/yuzu/main.cpp" line="1899"/> <source>Successfully removed the transferable shader caches.</source> <translation type="unfinished"/> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="1909"/> + <location filename="../../src/yuzu/main.cpp" line="1902"/> <source>Failed to remove the transferable shader cache directory.</source> <translation type="unfinished"/> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="1922"/> - <location filename="../../src/yuzu/main.cpp" line="1931"/> + <location filename="../../src/yuzu/main.cpp" line="1915"/> + <location filename="../../src/yuzu/main.cpp" line="1924"/> <source>Error Removing Custom Configuration</source> <translation>Fehler beim Entfernen</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="1923"/> + <location filename="../../src/yuzu/main.cpp" line="1916"/> <source>A custom configuration for this title does not exist.</source> <translation>Es existieren keine Spiel-Einstellungen für dieses Spiel.</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="1929"/> + <location filename="../../src/yuzu/main.cpp" line="1922"/> <source>Successfully removed the custom game configuration.</source> <translation>Die Spiel-Einstellungen wurden entfernt.</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="1932"/> + <location filename="../../src/yuzu/main.cpp" line="1925"/> <source>Failed to remove the custom game configuration.</source> <translation>Die Spiel-Einstellungen konnten nicht entfernt werden.</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="1939"/> - <location filename="../../src/yuzu/main.cpp" line="2018"/> + <location filename="../../src/yuzu/main.cpp" line="1932"/> + <location filename="../../src/yuzu/main.cpp" line="2011"/> <source>RomFS Extraction Failed!</source> <translation>RomFS-Extraktion fehlgeschlagen!</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="1940"/> + <location filename="../../src/yuzu/main.cpp" line="1933"/> <source>There was an error copying the RomFS files or the user cancelled the operation.</source> <translation>Das RomFS konnte wegen eines Fehlers oder Abbruchs nicht kopiert werden.</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="1998"/> + <location filename="../../src/yuzu/main.cpp" line="1991"/> <source>Full</source> <translation>Komplett</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="1998"/> + <location filename="../../src/yuzu/main.cpp" line="1991"/> <source>Skeleton</source> <translation>Nur Ordnerstruktur</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="2000"/> + <location filename="../../src/yuzu/main.cpp" line="1993"/> <source>Select RomFS Dump Mode</source> <translation>RomFS Extraktions-Modus auswählen</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="2001"/> + <location filename="../../src/yuzu/main.cpp" line="1994"/> <source>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.</source> <translation>Bitte wähle, wie das RomFS gespeichert werden soll.<br>"Full" wird alle Dateien des Spiels extrahieren, während <br>"Skeleton" nur die Ordnerstruktur erstellt.</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="2019"/> + <location filename="../../src/yuzu/main.cpp" line="2012"/> <source>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</source> <translation type="unfinished"/> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="2026"/> + <location filename="../../src/yuzu/main.cpp" line="2019"/> <source>Extracting RomFS...</source> <translation>RomFS wird extrahiert...</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="2026"/> - <location filename="../../src/yuzu/main.cpp" line="2206"/> + <location filename="../../src/yuzu/main.cpp" line="2019"/> + <location filename="../../src/yuzu/main.cpp" line="2199"/> <source>Cancel</source> <translation>Abbrechen</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="2033"/> + <location filename="../../src/yuzu/main.cpp" line="2026"/> <source>RomFS Extraction Succeeded!</source> <translation>RomFS wurde extrahiert!</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="2034"/> + <location filename="../../src/yuzu/main.cpp" line="2027"/> <source>The operation completed successfully.</source> <translation>Der Vorgang wurde erfolgreich abgeschlossen.</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="2078"/> + <location filename="../../src/yuzu/main.cpp" line="2071"/> <source>Error Opening %1</source> <translation>Fehler beim Öffnen von %1</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="2087"/> + <location filename="../../src/yuzu/main.cpp" line="2080"/> <source>Select Directory</source> <translation>Verzeichnis auswählen</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="2114"/> + <location filename="../../src/yuzu/main.cpp" line="2107"/> <source>Properties</source> <translation>Einstellungen</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="2115"/> + <location filename="../../src/yuzu/main.cpp" line="2108"/> <source>The game properties could not be loaded.</source> <translation>Spiel-Einstellungen konnten nicht geladen werden.</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="2127"/> + <location filename="../../src/yuzu/main.cpp" line="2120"/> <source>Switch Executable (%1);;All Files (*.*)</source> <comment>%1 is an identifier for the Switch executable file extensions.</comment> <translation>Switch-Programme (%1);;Alle Dateien (*.*)</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="2131"/> + <location filename="../../src/yuzu/main.cpp" line="2124"/> <source>Load File</source> <translation>Datei laden</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="2143"/> + <location filename="../../src/yuzu/main.cpp" line="2136"/> <source>Open Extracted ROM Directory</source> <translation>Öffne das extrahierte ROM-Verzeichnis</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="2154"/> + <location filename="../../src/yuzu/main.cpp" line="2147"/> <source>Invalid Directory Selected</source> <translation>Ungültiges Verzeichnis ausgewählt</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="2155"/> + <location filename="../../src/yuzu/main.cpp" line="2148"/> <source>The directory you have selected does not contain a 'main' file.</source> <translation>Das Verzeichnis, das du ausgewählt hast, enthält keine 'main'-Datei.</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="2165"/> + <location filename="../../src/yuzu/main.cpp" line="2158"/> <source>Installable Switch File (*.nca *.nsp *.xci);;Nintendo Content Archive (*.nca);;Nintendo Submission Package (*.nsp);;NX Cartridge Image (*.xci)</source> <translation>Installierbares Switch-Programm (*.nca *.nsp *.xci);;Nintendo Content Archive (*.nca);;Nintendo Submissions Package (*.nsp);;NX Cartridge Image (*.xci)</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="2170"/> + <location filename="../../src/yuzu/main.cpp" line="2163"/> <source>Install Files</source> <translation>Dateien installieren</translation> </message> <message numerus="yes"> - <location filename="../../src/yuzu/main.cpp" line="2214"/> + <location filename="../../src/yuzu/main.cpp" line="2207"/> <source>%n file(s) remaining</source> <translation type="unfinished"><numerusform></numerusform><numerusform></numerusform></translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="2216"/> + <location filename="../../src/yuzu/main.cpp" line="2209"/> <source>Installing file "%1"...</source> <translation>Datei "%1" wird installiert...</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="2262"/> - <location filename="../../src/yuzu/main.cpp" line="2276"/> + <location filename="../../src/yuzu/main.cpp" line="2255"/> + <location filename="../../src/yuzu/main.cpp" line="2269"/> <source>Install Results</source> <translation>NAND-Installation</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="2263"/> + <location filename="../../src/yuzu/main.cpp" line="2256"/> <source>To avoid possible conflicts, we discourage users from installing base games to the NAND. Please, only use this feature to install updates and DLC.</source> <translation>Um Konflikte zu vermeiden, raten wir Nutzern davon ab, Spiele im NAND zu installieren. Bitte nutze diese Funktion nur zum Installieren von Updates und DLC.</translation> </message> <message numerus="yes"> - <location filename="../../src/yuzu/main.cpp" line="2269"/> + <location filename="../../src/yuzu/main.cpp" line="2262"/> <source>%n file(s) were newly installed </source> <translation type="unfinished"><numerusform></numerusform><numerusform></numerusform></translation> </message> <message numerus="yes"> - <location filename="../../src/yuzu/main.cpp" line="2272"/> + <location filename="../../src/yuzu/main.cpp" line="2265"/> <source>%n file(s) were overwritten </source> <translation type="unfinished"><numerusform></numerusform><numerusform></numerusform></translation> </message> <message numerus="yes"> - <location filename="../../src/yuzu/main.cpp" line="2274"/> + <location filename="../../src/yuzu/main.cpp" line="2267"/> <source>%n file(s) failed to install </source> <translation type="unfinished"><numerusform></numerusform><numerusform></numerusform></translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="2375"/> + <location filename="../../src/yuzu/main.cpp" line="2368"/> <source>System Application</source> <translation>Systemanwendung</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="2376"/> + <location filename="../../src/yuzu/main.cpp" line="2369"/> <source>System Archive</source> <translation>Systemarchiv</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="2377"/> + <location filename="../../src/yuzu/main.cpp" line="2370"/> <source>System Application Update</source> <translation>Systemanwendungsupdate</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="2378"/> + <location filename="../../src/yuzu/main.cpp" line="2371"/> <source>Firmware Package (Type A)</source> <translation>Firmware-Paket (Typ A)</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="2379"/> + <location filename="../../src/yuzu/main.cpp" line="2372"/> <source>Firmware Package (Type B)</source> <translation>Firmware-Paket (Typ B)</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="2380"/> + <location filename="../../src/yuzu/main.cpp" line="2373"/> <source>Game</source> <translation>Spiel</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="2381"/> + <location filename="../../src/yuzu/main.cpp" line="2374"/> <source>Game Update</source> <translation>Spiel-Update</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="2382"/> + <location filename="../../src/yuzu/main.cpp" line="2375"/> <source>Game DLC</source> <translation>Spiel-DLC</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="2383"/> + <location filename="../../src/yuzu/main.cpp" line="2376"/> <source>Delta Title</source> <translation>Delta-Titel</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="2386"/> + <location filename="../../src/yuzu/main.cpp" line="2379"/> <source>Select NCA Install Type...</source> <translation>Wähle den NCA-Installationstyp aus...</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="2387"/> + <location filename="../../src/yuzu/main.cpp" line="2380"/> <source>Please select the type of title you would like to install this NCA as: (In most instances, the default 'Game' is fine.)</source> <translation>Bitte wähle, als was diese NCA installiert werden soll: (In den meisten Fällen sollte die Standardeinstellung 'Spiel' ausreichen.)</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="2393"/> + <location filename="../../src/yuzu/main.cpp" line="2386"/> <source>Failed to Install</source> <translation>Installation fehlgeschlagen</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="2394"/> + <location filename="../../src/yuzu/main.cpp" line="2387"/> <source>The title type you selected for the NCA is invalid.</source> <translation>Der Titel-Typ, den du für diese NCA ausgewählt hast, ist ungültig.</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="2429"/> + <location filename="../../src/yuzu/main.cpp" line="2422"/> <source>File not found</source> <translation>Datei nicht gefunden</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="2430"/> + <location filename="../../src/yuzu/main.cpp" line="2423"/> <source>File "%1" not found</source> <translation>Datei "%1" nicht gefunden</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="2445"/> - <location filename="../../src/yuzu/main.cpp" line="3448"/> - <source>&Continue</source> - <translation>&Fortsetzen</translation> - </message> - <message> - <location filename="../../src/yuzu/main.cpp" line="2494"/> + <location filename="../../src/yuzu/main.cpp" line="2492"/> <source>OK</source> <translation>OK</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="2508"/> + <location filename="../../src/yuzu/main.cpp" line="2506"/> <source>Missing yuzu Account</source> <translation>Fehlender yuzu-Account</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="2509"/> + <location filename="../../src/yuzu/main.cpp" line="2507"/> <source>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.</source> <translation>Um einen Kompatibilitätsbericht abzuschicken, musst du einen yuzu-Account mit yuzu verbinden.<br><br/>Um einen yuzu-Account zu verbinden, prüfe die Einstellungen unter Emulation &gt; Konfiguration &gt; Web.</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="2519"/> + <location filename="../../src/yuzu/main.cpp" line="2517"/> <source>Error opening URL</source> <translation>Fehler beim Öffnen der URL</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="2520"/> + <location filename="../../src/yuzu/main.cpp" line="2518"/> <source>Unable to open the URL "%1".</source> <translation>URL "%1" kann nicht geöffnet werden.</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="2802"/> + <location filename="../../src/yuzu/main.cpp" line="2777"/> + <source>TAS Recording</source> + <translation>TAS Aufnahme</translation> + </message> + <message> + <location filename="../../src/yuzu/main.cpp" line="2777"/> + <source>Overwrite file of player 1?</source> + <translation>Datei von Spieler 1 überschreiben?</translation> + </message> + <message> + <location filename="../../src/yuzu/main.cpp" line="2830"/> <source>Amiibo File (%1);; All Files (*.*)</source> <translation>Amiibo-Datei (%1);; Alle Dateien (*.*)</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="2803"/> + <location filename="../../src/yuzu/main.cpp" line="2831"/> <source>Load Amiibo</source> <translation>Amiibo laden</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="2821"/> + <location filename="../../src/yuzu/main.cpp" line="2849"/> <source>Error opening Amiibo data file</source> <translation>Fehler beim Öffnen der Amiibo Datei</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="2822"/> + <location filename="../../src/yuzu/main.cpp" line="2850"/> <source>Unable to open Amiibo file "%1" for reading.</source> <translation>Die Amiibo Datei "%1" konnte nicht zum Lesen geöffnet werden.</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="2830"/> + <location filename="../../src/yuzu/main.cpp" line="2858"/> <source>Error reading Amiibo data file</source> <translation>Fehler beim Lesen der Amiibo-Daten</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="2831"/> + <location filename="../../src/yuzu/main.cpp" line="2859"/> <source>Unable to fully read Amiibo data. Expected to read %1 bytes, but was only able to read %2 bytes.</source> <translation>Amiibo-Daten können nicht vollständig gelesen werden. Es wurde erwartet, dass %1 Bytes gelesen werden, es konnten aber nur %2 Bytes gelesen werden.</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="2839"/> + <location filename="../../src/yuzu/main.cpp" line="2867"/> <source>Error loading Amiibo data</source> <translation>Fehler beim Laden der Amiibo-Daten</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="2840"/> + <location filename="../../src/yuzu/main.cpp" line="2868"/> <source>Unable to load Amiibo data.</source> <translation>Amiibo-Daten konnten nicht geladen werden.</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="2881"/> + <location filename="../../src/yuzu/main.cpp" line="2913"/> <source>Capture Screenshot</source> <translation>Screenshot aufnehmen</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="2882"/> + <location filename="../../src/yuzu/main.cpp" line="2914"/> <source>PNG Image (*.png)</source> <translation>PNG Bild (*.png)</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="2948"/> + <location filename="../../src/yuzu/main.cpp" line="2979"/> <source>TAS state: Running %1/%2</source> <translation>TAS Zustand: Läuft %1/%2</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="2950"/> + <location filename="../../src/yuzu/main.cpp" line="2981"/> <source>TAS state: Recording %1</source> <translation>TAS Zustand: Aufnahme %1</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="2952"/> + <location filename="../../src/yuzu/main.cpp" line="2983"/> <source>TAS state: Idle %1/%2</source> <translation type="unfinished"/> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="2954"/> + <location filename="../../src/yuzu/main.cpp" line="2985"/> <source>TAS State: Invalid</source> <translation>TAS Zustand: Ungültig</translation> </message> + <message> + <location filename="../../src/yuzu/main.cpp" line="2999"/> + <source>&Stop Running</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/main.cpp" line="2999"/> + <source>&Start</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/main.cpp" line="3000"/> + <source>Stop R&ecording</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/main.cpp" line="3000"/> + <source>R&ecord</source> + <translation type="unfinished"/> + </message> <message numerus="yes"> - <location filename="../../src/yuzu/main.cpp" line="2975"/> + <location filename="../../src/yuzu/main.cpp" line="3024"/> <source>Building: %n shader(s)</source> <translation type="unfinished"><numerusform></numerusform><numerusform></numerusform></translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="2982"/> + <location filename="../../src/yuzu/main.cpp" line="3033"/> + <source>Scale: %1x</source> + <comment>%1 is the resolution scaling factor</comment> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/main.cpp" line="3036"/> <source>Speed: %1% / %2%</source> <translation>Geschwindigkeit: %1% / %2%</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="2986"/> + <location filename="../../src/yuzu/main.cpp" line="3040"/> <source>Speed: %1%</source> <translation>Geschwindigkeit: %1%</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="2990"/> + <location filename="../../src/yuzu/main.cpp" line="3044"/> <source>Game: %1 FPS (Unlocked)</source> <translation>Spiel: %1 FPS (Unbegrenzt)</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="2992"/> + <location filename="../../src/yuzu/main.cpp" line="3046"/> <source>Game: %1 FPS</source> <translation>Spiel: %1 FPS</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="2994"/> + <location filename="../../src/yuzu/main.cpp" line="3048"/> <source>Frame: %1 ms</source> <translation>Frame: %1 ms</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="3004"/> + <location filename="../../src/yuzu/main.cpp" line="3059"/> <source>GPU NORMAL</source> <translation>GPU NORMAL</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="3009"/> + <location filename="../../src/yuzu/main.cpp" line="3064"/> <source>GPU HIGH</source> <translation>GPU HOCH</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="3014"/> + <location filename="../../src/yuzu/main.cpp" line="3069"/> <source>GPU EXTREME</source> <translation>GPU EXTREM</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="3019"/> + <location filename="../../src/yuzu/main.cpp" line="3074"/> <source>GPU ERROR</source> <translation>GPU FEHLER</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="3076"/> + <location filename="../../src/yuzu/main.cpp" line="3084"/> + <source>NEAREST</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/main.cpp" line="3087"/> + <location filename="../../src/yuzu/main.cpp" line="3102"/> + <source>BILINEAR</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/main.cpp" line="3090"/> + <source>BICUBIC</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/main.cpp" line="3093"/> + <source>GAUSSIAN</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/main.cpp" line="3096"/> + <source>SCALEFORCE</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/main.cpp" line="3099"/> + <source>FSR</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/main.cpp" line="3111"/> + <location filename="../../src/yuzu/main.cpp" line="3117"/> + <source>NO AA</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/main.cpp" line="3114"/> + <source>FXAA</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/main.cpp" line="3175"/> <source>The game you are trying to load requires additional files from your Switch to be dumped before playing.<br/><br/>For more information on dumping these files, please see the following wiki page: <a href='https://yuzu-emu.org/wiki/dumping-system-archives-and-the-shared-fonts-from-a-switch-console/'>Dumping System Archives and the Shared Fonts from a Switch Console</a>.<br/><br/>Would you like to quit back to the game list? Continuing emulation may result in crashes, corrupted save data, or other bugs.</source> <translation>Das Spiel, dass du versuchst zu spielen, benötigt bestimmte Dateien von deiner Switch-Konsole.<br/><br/>Um Informationen darüber zu erhalten, wie du diese Dateien von deiner Switch extrahieren kannst, prüfe bitte die folgenden Wiki-Seiten: <a href='https://yuzu-emu.org/wiki/dumping-system-archives-and-the-shared-fonts-from-a-switch-console/'>System-Archive und Shared Fonts von einer Switch-Konsole extrahieren</a>.<br/><br/>Willst du zur Spiele-Liste zurückkehren und die Emulation beenden? Das Fortsetzen der Emulation könnte zu Spielfehlern, Abstürzen, beschädigten Speicherdaten und anderen Fehlern führen.</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="3091"/> + <location filename="../../src/yuzu/main.cpp" line="3190"/> <source>yuzu was unable to locate a Switch system archive. %1</source> <translation>yuzu konnte ein Switch Systemarchiv nicht finden. %1</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="3093"/> + <location filename="../../src/yuzu/main.cpp" line="3192"/> <source>yuzu was unable to locate a Switch system archive: %1. %2</source> <translation>yuzu konnte ein Switch Systemarchiv nicht finden: %1. %2</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="3097"/> + <location filename="../../src/yuzu/main.cpp" line="3196"/> <source>System Archive Not Found</source> <translation>Systemarchiv nicht gefunden</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="3099"/> + <location filename="../../src/yuzu/main.cpp" line="3198"/> <source>System Archive Missing</source> <translation>Systemarchiv fehlt</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="3105"/> + <location filename="../../src/yuzu/main.cpp" line="3204"/> <source>yuzu was unable to locate the Switch shared fonts. %1</source> <translation>yuzu konnte die Switch Shared Fonts nicht finden. %1</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="3106"/> + <location filename="../../src/yuzu/main.cpp" line="3205"/> <source>Shared Fonts Not Found</source> <translation>Shared Fonts nicht gefunden</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="3108"/> + <location filename="../../src/yuzu/main.cpp" line="3207"/> <source>Shared Font Missing</source> <translation>Shared Font fehlt</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="3114"/> + <location filename="../../src/yuzu/main.cpp" line="3213"/> <source>Fatal Error</source> <translation>Schwerwiegender Fehler</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="3115"/> + <location filename="../../src/yuzu/main.cpp" line="3214"/> <source>yuzu has encountered a fatal error, please see the log for more details. For more information on accessing the log, please see the following page: <a href='https://community.citra-emu.org/t/how-to-upload-the-log-file/296'>How to Upload the Log File</a>.<br/><br/>Would you like to quit back to the game list? Continuing emulation may result in crashes, corrupted save data, or other bugs.</source> <translation>Ein schwerwiegender Fehler ist aufgetreten, bitte prüfe die Log-Dateien auf mögliche Fehlermeldungen. Weitere Informationen: <a href='https://community.citra-emu.org/t/how-to-upload-the-log-file/296'>Wie kann ich eine Log-Datei hochladen</a>.<br/><br/>Willst du zur Spiele-Liste zurückkehren und die Emulation beenden? Das Fortsetzen der Emulation könnte zu Spielfehlern, Abstürzen, beschädigten Speicherdaten und anderen Fehlern führen.</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="3124"/> + <location filename="../../src/yuzu/main.cpp" line="3223"/> <source>Fatal Error encountered</source> <translation>Fataler Fehler aufgetreten</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="3147"/> + <location filename="../../src/yuzu/main.cpp" line="3246"/> <source>Confirm Key Rederivation</source> <translation>Schlüsselableitung bestätigen</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="3148"/> + <location filename="../../src/yuzu/main.cpp" line="3247"/> <source>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. @@ -4440,37 +4574,37 @@ This will delete your autogenerated key files and re-run the key derivation modu Dieser Prozess wird die generierten Schlüsseldateien löschen und die Schlüsselableitung neu starten.</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="3180"/> + <location filename="../../src/yuzu/main.cpp" line="3279"/> <source>Missing fuses</source> <translation>Fuses fehlen</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="3183"/> + <location filename="../../src/yuzu/main.cpp" line="3282"/> <source> - Missing BOOT0</source> <translation> - BOOT0 fehlt</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="3186"/> + <location filename="../../src/yuzu/main.cpp" line="3285"/> <source> - Missing BCPKG2-1-Normal-Main</source> <translation> - BCPKG2-1-Normal-Main fehlt</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="3189"/> + <location filename="../../src/yuzu/main.cpp" line="3288"/> <source> - Missing PRODINFO</source> <translation> - PRODINFO fehlt</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="3193"/> + <location filename="../../src/yuzu/main.cpp" line="3292"/> <source>Derivation Components Missing</source> <translation>Derivationskomponenten fehlen</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="3194"/> - <source>Components are missing that may hinder key derivation from completing. <br>Please follow <a href='https://yuzu-emu.org/help/quickstart/'>the yuzu quickstart guide</a> to get all your keys and games.<br><br><small>(%1)</small></source> - <translation>Einige Komponenten, die yuzu benötigt, um Schlüssel zu generieren, wurden nicht gefunden. <br>Bitte folge <a href='https://yuzu-emu.org/help/quickstart/'>dem yuzu Schnellstart-Guide</a> um alle deine Schlüssel und Spiele zu übertragen.<br><br><small>(%1)</small></translation> + <location filename="../../src/yuzu/main.cpp" line="3293"/> + <source>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></source> + <translation type="unfinished"/> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="3203"/> + <location filename="../../src/yuzu/main.cpp" line="3302"/> <source>Deriving keys... This may take up to a minute depending on your system's performance.</source> @@ -4478,39 +4612,39 @@ on your system's performance.</source> Dies könnte, je nach Leistung deines Systems, bis zu einer Minute dauern.</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="3205"/> + <location filename="../../src/yuzu/main.cpp" line="3304"/> <source>Deriving Keys</source> <translation>Schlüsselableitung</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="3250"/> + <location filename="../../src/yuzu/main.cpp" line="3349"/> <source>Select RomFS Dump Target</source> <translation>RomFS wählen</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="3251"/> + <location filename="../../src/yuzu/main.cpp" line="3350"/> <source>Please select which RomFS you would like to dump.</source> <translation>Wähle, welches RomFS du speichern möchtest.</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="3266"/> + <location filename="../../src/yuzu/main.cpp" line="3365"/> <source>Are you sure you want to close yuzu?</source> <translation>Bist du sicher, dass du yuzu beenden willst?</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="3267"/> - <location filename="../../src/yuzu/main.cpp" line="3342"/> - <location filename="../../src/yuzu/main.cpp" line="3355"/> + <location filename="../../src/yuzu/main.cpp" line="3366"/> + <location filename="../../src/yuzu/main.cpp" line="3443"/> + <location filename="../../src/yuzu/main.cpp" line="3456"/> <source>yuzu</source> <translation>yuzu</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="3343"/> + <location filename="../../src/yuzu/main.cpp" line="3444"/> <source>Are you sure you want to stop the emulation? Any unsaved progress will be lost.</source> <translation>Bist du sicher, dass du die Emulation stoppen willst? Jeder nicht gespeicherte Fortschritt geht verloren.</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="3352"/> + <location filename="../../src/yuzu/main.cpp" line="3453"/> <source>The currently running application has requested yuzu to not exit. Would you like to bypass this and exit anyway?</source> @@ -4522,38 +4656,38 @@ Möchtest du dies umgehen und sie trotzdem beenden?</translation> <context> <name>GRenderWindow</name> <message> - <location filename="../../src/yuzu/bootmanager.cpp" line="675"/> + <location filename="../../src/yuzu/bootmanager.cpp" line="976"/> <source>OpenGL not available!</source> <translation>OpenGL nicht verfügbar!</translation> </message> <message> - <location filename="../../src/yuzu/bootmanager.cpp" line="676"/> + <location filename="../../src/yuzu/bootmanager.cpp" line="977"/> <source>yuzu has not been compiled with OpenGL support.</source> <translation>yuzu wurde nicht mit OpenGL-Unterstützung kompiliert.</translation> </message> <message> - <location filename="../../src/yuzu/bootmanager.cpp" line="695"/> - <location filename="../../src/yuzu/bootmanager.cpp" line="715"/> + <location filename="../../src/yuzu/bootmanager.cpp" line="996"/> + <location filename="../../src/yuzu/bootmanager.cpp" line="1016"/> <source>Error while initializing OpenGL!</source> <translation>Fehler beim Initialisieren von OpenGL!</translation> </message> <message> - <location filename="../../src/yuzu/bootmanager.cpp" line="696"/> + <location filename="../../src/yuzu/bootmanager.cpp" line="997"/> <source>Your GPU may not support OpenGL, or you do not have the latest graphics driver.</source> <translation>Deine Grafikkarte unterstützt kein OpenGL oder du hast nicht den neusten Treiber installiert.</translation> </message> <message> - <location filename="../../src/yuzu/bootmanager.cpp" line="705"/> + <location filename="../../src/yuzu/bootmanager.cpp" line="1006"/> <source>Error while initializing OpenGL 4.6!</source> <translation>Fehler beim Initialisieren von OpenGL 4.6!</translation> </message> <message> - <location filename="../../src/yuzu/bootmanager.cpp" line="706"/> + <location filename="../../src/yuzu/bootmanager.cpp" line="1007"/> <source>Your GPU may not support OpenGL 4.6, or you do not have the latest graphics driver.<br><br>GL Renderer:<br>%1</source> <translation>Deine Grafikkarte unterstützt OpenGL 4.6 nicht, oder du benutzt nicht die neuste Treiberversion.<br><br>GL Renderer:<br>%1</translation> </message> <message> - <location filename="../../src/yuzu/bootmanager.cpp" line="716"/> + <location filename="../../src/yuzu/bootmanager.cpp" line="1017"/> <source>Your GPU may not support one or more required OpenGL extensions. Please ensure you have the latest graphics driver.<br><br>GL Renderer:<br>%1<br><br>Unsupported extensions:<br>%2</source> <translation>Deine Grafikkarte unterstützt anscheinend nicht eine oder mehrere von yuzu benötigten OpenGL-Erweiterungen. Bitte stelle sicher, dass du den neusten Grafiktreiber installiert hast.<br><br>GL Renderer:<br>%1<br><br>Nicht unterstützte Erweiterungen:<br>%2</translation> </message> @@ -4911,190 +5045,205 @@ Screen.</source> <translation>&Emulation</translation> </message> <message> - <location filename="../../src/yuzu/main.ui" line="79"/> + <location filename="../../src/yuzu/main.ui" line="78"/> <source>&View</source> <translation>&Anzeige</translation> </message> <message> - <location filename="../../src/yuzu/main.ui" line="83"/> + <location filename="../../src/yuzu/main.ui" line="82"/> <source>&Reset Window Size</source> <translation>&Fenstergöße zurücksetzen</translation> </message> <message> - <location filename="../../src/yuzu/main.ui" line="88"/> + <location filename="../../src/yuzu/main.ui" line="87"/> + <source>&Debugging</source> + <translation>&Debugging</translation> + </message> + <message> + <location filename="../../src/yuzu/main.ui" line="92"/> <source>Reset Window Size to &720p</source> <translation>Fenstergröße auf &720p zurücksetzen</translation> </message> <message> - <location filename="../../src/yuzu/main.ui" line="91"/> + <location filename="../../src/yuzu/main.ui" line="95"/> <source>Reset Window Size to 720p</source> <translation>Fenstergröße auf 720p zurücksetzen</translation> </message> <message> - <location filename="../../src/yuzu/main.ui" line="96"/> + <location filename="../../src/yuzu/main.ui" line="100"/> <source>Reset Window Size to &900p</source> <translation type="unfinished"/> </message> <message> - <location filename="../../src/yuzu/main.ui" line="99"/> + <location filename="../../src/yuzu/main.ui" line="103"/> <source>Reset Window Size to 900p</source> <translation type="unfinished"/> </message> <message> - <location filename="../../src/yuzu/main.ui" line="104"/> + <location filename="../../src/yuzu/main.ui" line="108"/> <source>Reset Window Size to &1080p</source> <translation>Fenstergröße auf &1080p zurücksetzen</translation> </message> <message> - <location filename="../../src/yuzu/main.ui" line="107"/> + <location filename="../../src/yuzu/main.ui" line="111"/> <source>Reset Window Size to 1080p</source> <translation>Fenstergröße auf 1080p zurücksetzen</translation> </message> <message> - <location filename="../../src/yuzu/main.ui" line="112"/> - <source>&Debugging</source> - <translation>&Debugging</translation> - </message> - <message> - <location filename="../../src/yuzu/main.ui" line="126"/> + <location filename="../../src/yuzu/main.ui" line="125"/> <source>&Tools</source> <translation>&Werkzeuge</translation> </message> <message> - <location filename="../../src/yuzu/main.ui" line="135"/> + <location filename="../../src/yuzu/main.ui" line="129"/> + <source>&TAS</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/main.ui" line="144"/> <source>&Help</source> <translation>&Hilfe</translation> </message> <message> - <location filename="../../src/yuzu/main.ui" line="155"/> + <location filename="../../src/yuzu/main.ui" line="164"/> <source>&Install Files to NAND...</source> <translation>&Dateien im NAND installieren...</translation> </message> <message> - <location filename="../../src/yuzu/main.ui" line="160"/> + <location filename="../../src/yuzu/main.ui" line="169"/> <source>L&oad File...</source> <translation>Datei &laden...</translation> </message> <message> - <location filename="../../src/yuzu/main.ui" line="165"/> + <location filename="../../src/yuzu/main.ui" line="174"/> <source>Load &Folder...</source> <translation>&Verzeichnis laden...</translation> </message> <message> - <location filename="../../src/yuzu/main.ui" line="170"/> + <location filename="../../src/yuzu/main.ui" line="179"/> <source>E&xit</source> <translation>S&chließen</translation> </message> <message> - <location filename="../../src/yuzu/main.ui" line="178"/> - <source>&Start</source> - <translation>&Start</translation> - </message> - <message> - <location filename="../../src/yuzu/main.ui" line="186"/> + <location filename="../../src/yuzu/main.ui" line="187"/> <source>&Pause</source> <translation>&Pause</translation> </message> <message> - <location filename="../../src/yuzu/main.ui" line="194"/> + <location filename="../../src/yuzu/main.ui" line="195"/> <source>&Stop</source> <translation>&Stop</translation> </message> <message> - <location filename="../../src/yuzu/main.ui" line="199"/> + <location filename="../../src/yuzu/main.ui" line="200"/> <source>&Reinitialize keys...</source> <translation>&Schlüssel neu initialisieren...</translation> </message> <message> - <location filename="../../src/yuzu/main.ui" line="204"/> + <location filename="../../src/yuzu/main.ui" line="205"/> <source>&About yuzu</source> <translation>&Über yuzu</translation> </message> <message> - <location filename="../../src/yuzu/main.ui" line="212"/> + <location filename="../../src/yuzu/main.ui" line="213"/> <source>Single &Window Mode</source> <translation>&Einzelfenster-Modus</translation> </message> <message> - <location filename="../../src/yuzu/main.ui" line="217"/> + <location filename="../../src/yuzu/main.ui" line="218"/> <source>Con&figure...</source> <translation>Kon&figurieren</translation> </message> <message> - <location filename="../../src/yuzu/main.ui" line="225"/> + <location filename="../../src/yuzu/main.ui" line="226"/> <source>Display D&ock Widget Headers</source> <translation>D&ock-Widget-Header anzeigen</translation> </message> <message> - <location filename="../../src/yuzu/main.ui" line="233"/> + <location filename="../../src/yuzu/main.ui" line="234"/> <source>Show &Filter Bar</source> <translation>&Filterleiste anzeigen</translation> </message> <message> - <location filename="../../src/yuzu/main.ui" line="241"/> + <location filename="../../src/yuzu/main.ui" line="242"/> <source>Show &Status Bar</source> <translation>&Statusleiste anzeigen</translation> </message> <message> - <location filename="../../src/yuzu/main.ui" line="244"/> + <location filename="../../src/yuzu/main.ui" line="245"/> <source>Show Status Bar</source> <translation>Statusleiste anzeigen</translation> </message> <message> - <location filename="../../src/yuzu/main.ui" line="252"/> + <location filename="../../src/yuzu/main.ui" line="253"/> <source>F&ullscreen</source> <translation>Vollbild (&u)</translation> </message> <message> - <location filename="../../src/yuzu/main.ui" line="260"/> + <location filename="../../src/yuzu/main.ui" line="261"/> <source>&Restart</source> <translation>Neusta&rt</translation> </message> <message> - <location filename="../../src/yuzu/main.ui" line="268"/> + <location filename="../../src/yuzu/main.ui" line="269"/> <source>Load &Amiibo...</source> <translation>&Amiibo laden...</translation> </message> <message> - <location filename="../../src/yuzu/main.ui" line="276"/> + <location filename="../../src/yuzu/main.ui" line="277"/> <source>&Report Compatibility</source> <translation>&Kompatibilität melden</translation> </message> <message> - <location filename="../../src/yuzu/main.ui" line="284"/> + <location filename="../../src/yuzu/main.ui" line="285"/> <source>Open &Mods Page</source> <translation>&Mods-Seite öffnen</translation> </message> <message> - <location filename="../../src/yuzu/main.ui" line="289"/> + <location filename="../../src/yuzu/main.ui" line="290"/> <source>Open &Quickstart Guide</source> <translation>&Schnellstart-Anleitung öffnen</translation> </message> <message> - <location filename="../../src/yuzu/main.ui" line="294"/> + <location filename="../../src/yuzu/main.ui" line="295"/> <source>&FAQ</source> <translation>&FAQ</translation> </message> <message> - <location filename="../../src/yuzu/main.ui" line="299"/> + <location filename="../../src/yuzu/main.ui" line="300"/> <source>Open &yuzu Folder</source> <translation>&yuzu-Verzeichnis öffnen</translation> </message> <message> - <location filename="../../src/yuzu/main.ui" line="307"/> + <location filename="../../src/yuzu/main.ui" line="308"/> <source>&Capture Screenshot</source> <translation>&Bildschirmfoto aufnehmen</translation> </message> <message> - <location filename="../../src/yuzu/main.ui" line="312"/> - <source>Configure &TAS...</source> - <translation>TAS &konfigurieren...</translation> + <location filename="../../src/yuzu/main.ui" line="313"/> + <source>&Configure TAS...</source> + <translation type="unfinished"/> </message> <message> - <location filename="../../src/yuzu/main.ui" line="320"/> + <location filename="../../src/yuzu/main.ui" line="321"/> <source>Configure C&urrent Game...</source> <translation>&Spiel-Einstellungen ändern...</translation> </message> + <message> + <location filename="../../src/yuzu/main.ui" line="329"/> + <source>&Start</source> + <translation>&Start</translation> + </message> + <message> + <location filename="../../src/yuzu/main.ui" line="337"/> + <source>&Reset</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/main.ui" line="345"/> + <source>R&ecord</source> + <translation type="unfinished"/> + </message> </context> <context> <name>MicroProfileDialog</name> @@ -5140,10 +5289,15 @@ p, li { white-space: pre-wrap; } <context> <name>PlayerControlPreview</name> <message> - <location filename="../../src/yuzu/configuration/configure_input_player_widget.cpp" line="1566"/> + <location filename="../../src/yuzu/configuration/configure_input_player_widget.cpp" line="1572"/> <source>START/PAUSE</source> <translation>START/PAUSE</translation> </message> + <message> + <location filename="../../src/yuzu/configuration/configure_input_player_widget.cpp" line="2685"/> + <source>Charging</source> + <translation type="unfinished"/> + </message> </context> <context> <name>QObject</name> @@ -5174,142 +5328,222 @@ p, li { white-space: pre-wrap; } </message> <message> <location filename="../../src/yuzu/configuration/configure_touch_from_button.cpp" line="23"/> - <location filename="../../src/yuzu/configuration/configure_mouse_advanced.cpp" line="32"/> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="72"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="43"/> <source>Shift</source> <translation>Shift</translation> </message> <message> <location filename="../../src/yuzu/configuration/configure_touch_from_button.cpp" line="25"/> - <location filename="../../src/yuzu/configuration/configure_mouse_advanced.cpp" line="34"/> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="74"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="45"/> <source>Ctrl</source> <translation>Strg</translation> </message> <message> <location filename="../../src/yuzu/configuration/configure_touch_from_button.cpp" line="27"/> - <location filename="../../src/yuzu/configuration/configure_mouse_advanced.cpp" line="36"/> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="76"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="47"/> <source>Alt</source> <translation>Alt</translation> </message> <message> <location filename="../../src/yuzu/configuration/configure_touch_from_button.cpp" line="37"/> - <location filename="../../src/yuzu/configuration/configure_mouse_advanced.cpp" line="46"/> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="103"/> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="190"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="130"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="196"/> <source>[not set]</source> <translation>[nicht gesetzt]</translation> </message> <message> <location filename="../../src/yuzu/configuration/configure_touch_from_button.cpp" line="49"/> - <location filename="../../src/yuzu/configuration/configure_mouse_advanced.cpp" line="58"/> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="152"/> <source>Hat %1 %2</source> <translation>Hat %1 %2</translation> </message> <message> <location filename="../../src/yuzu/configuration/configure_touch_from_button.cpp" line="56"/> - <location filename="../../src/yuzu/configuration/configure_mouse_advanced.cpp" line="65"/> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="159"/> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="210"/> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="214"/> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="218"/> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="222"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="219"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="223"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="227"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="231"/> <source>Axis %1%2</source> <translation>Achse %1%2</translation> </message> <message> <location filename="../../src/yuzu/configuration/configure_touch_from_button.cpp" line="62"/> - <location filename="../../src/yuzu/configuration/configure_mouse_advanced.cpp" line="71"/> <source>Button %1</source> <translation>Taste %1</translation> </message> <message> <location filename="../../src/yuzu/configuration/configure_touch_from_button.cpp" line="68"/> - <location filename="../../src/yuzu/configuration/configure_mouse_advanced.cpp" line="76"/> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="185"/> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="227"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="190"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="204"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="234"/> <source>[unknown]</source> <translation>[unbekannt]</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_mouse_advanced.cpp" line="22"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="58"/> + <source>Left</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="60"/> + <source>Right</source> + <translation type="unfinished"/> + </message> + <message> <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="62"/> - <source>Click 0</source> - <translation>Klick 0</translation> + <source>Down</source> + <translation type="unfinished"/> </message> <message> - <location filename="../../src/yuzu/configuration/configure_mouse_advanced.cpp" line="24"/> <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="64"/> - <source>Click 1</source> - <translation>Klick 1</translation> + <source>Up</source> + <translation type="unfinished"/> </message> <message> - <location filename="../../src/yuzu/configuration/configure_mouse_advanced.cpp" line="26"/> <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="66"/> - <source>Click 2</source> - <translation>Klick 2</translation> + <source>Z</source> + <translation type="unfinished"/> </message> <message> - <location filename="../../src/yuzu/configuration/configure_mouse_advanced.cpp" line="28"/> <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="68"/> - <source>Click 3</source> - <translation>Klick 3</translation> + <source>R</source> + <translation type="unfinished"/> </message> <message> - <location filename="../../src/yuzu/configuration/configure_mouse_advanced.cpp" line="30"/> <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="70"/> - <source>Click 4</source> - <translation>Klick 4</translation> + <source>L</source> + <translation type="unfinished"/> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="109"/> - <source>%1%2</source> - <translation>%1%2</translation> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="72"/> + <source>A</source> + <translation type="unfinished"/> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="117"/> - <source>GC Axis %1%2</source> - <translation>GC Achse %1%2</translation> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="74"/> + <source>B</source> + <translation type="unfinished"/> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="121"/> - <source>GC Button %1</source> - <translation>GC Knopf %1</translation> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="76"/> + <source>X</source> + <translation type="unfinished"/> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="130"/> - <source>TAS Axis %1</source> - <translation>TAS Achse %1</translation> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="78"/> + <source>Y</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="80"/> + <source>Start</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="82"/> + <source>L1</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="84"/> + <source>L2</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="86"/> + <source>L3</source> + <translation type="unfinished"/> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="134"/> - <source>TAS Btn %1</source> - <translation>TAS Knopf %1</translation> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="88"/> + <source>R1</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="90"/> + <source>R2</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="92"/> + <source>R3</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="94"/> + <source>Circle</source> + <translation type="unfinished"/> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="142"/> - <source>Motion %1</source> - <translation>Bewegung %1</translation> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="96"/> + <source>Cross</source> + <translation type="unfinished"/> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="166"/> - <source>%1Button %2</source> - <translation>%1Knopf %2</translation> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="98"/> + <source>Square</source> + <translation type="unfinished"/> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="170"/> - <source>SDL Motion</source> - <translation>SDL-Bewegung</translation> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="100"/> + <source>Triangle</source> + <translation type="unfinished"/> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="180"/> - <source>%1Click %2</source> - <translation>%1Klick %2</translation> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="102"/> + <source>Share</source> + <translation type="unfinished"/> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="205"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="104"/> + <source>Options</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="106"/> + <source>[undefined]</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="140"/> + <source>%1%2</source> + <translation>%1%2</translation> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="144"/> + <source>[invalid]</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="154"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="178"/> + <source>%1%2Hat %3</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="158"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="181"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="184"/> + <source>%1%2Axis %3</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="164"/> + <source>%1%2Axis %3,%4,%5</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="168"/> + <source>%1%2Motion %3</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="172"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="187"/> + <source>%1%2Button %3</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="214"/> <source>[unused]</source> <translation>[unbenutzt]</translation> </message> @@ -5350,7 +5584,7 @@ p, li { white-space: pre-wrap; } <location filename="../../src/yuzu/applets/qt_controller.ui" line="1656"/> <location filename="../../src/yuzu/applets/qt_controller.ui" line="1857"/> <location filename="../../src/yuzu/applets/qt_controller.ui" line="2054"/> - <location filename="../../src/yuzu/applets/qt_controller.cpp" line="419"/> + <location filename="../../src/yuzu/applets/qt_controller.cpp" line="411"/> <source>Pro Controller</source> <translation>Pro-Controller</translation> </message> @@ -5363,7 +5597,7 @@ p, li { white-space: pre-wrap; } <location filename="../../src/yuzu/applets/qt_controller.ui" line="1661"/> <location filename="../../src/yuzu/applets/qt_controller.ui" line="1862"/> <location filename="../../src/yuzu/applets/qt_controller.ui" line="2059"/> - <location filename="../../src/yuzu/applets/qt_controller.cpp" line="423"/> + <location filename="../../src/yuzu/applets/qt_controller.cpp" line="415"/> <source>Dual Joycons</source> <translation>Zwei Joycons</translation> </message> @@ -5376,7 +5610,7 @@ p, li { white-space: pre-wrap; } <location filename="../../src/yuzu/applets/qt_controller.ui" line="1666"/> <location filename="../../src/yuzu/applets/qt_controller.ui" line="1867"/> <location filename="../../src/yuzu/applets/qt_controller.ui" line="2064"/> - <location filename="../../src/yuzu/applets/qt_controller.cpp" line="427"/> + <location filename="../../src/yuzu/applets/qt_controller.cpp" line="419"/> <source>Left Joycon</source> <translation>Linker Joycon</translation> </message> @@ -5389,7 +5623,7 @@ p, li { white-space: pre-wrap; } <location filename="../../src/yuzu/applets/qt_controller.ui" line="1671"/> <location filename="../../src/yuzu/applets/qt_controller.ui" line="1872"/> <location filename="../../src/yuzu/applets/qt_controller.ui" line="2069"/> - <location filename="../../src/yuzu/applets/qt_controller.cpp" line="431"/> + <location filename="../../src/yuzu/applets/qt_controller.cpp" line="423"/> <source>Right Joycon</source> <translation>Rechter Joycon</translation> </message> @@ -5417,7 +5651,7 @@ p, li { white-space: pre-wrap; } </message> <message> <location filename="../../src/yuzu/applets/qt_controller.ui" line="932"/> - <location filename="../../src/yuzu/applets/qt_controller.cpp" line="436"/> + <location filename="../../src/yuzu/applets/qt_controller.cpp" line="428"/> <source>Handheld</source> <translation>Handheld</translation> </message> @@ -5538,7 +5772,7 @@ p, li { white-space: pre-wrap; } <translation>8</translation> </message> <message> - <location filename="../../src/yuzu/applets/qt_controller.cpp" line="441"/> + <location filename="../../src/yuzu/applets/qt_controller.cpp" line="433"/> <source>GameCube Controller</source> <translation>GameCube-Controller</translation> </message> @@ -5632,13 +5866,13 @@ p, li { white-space: pre-wrap; } <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></translation> </message> <message> - <location filename="../../src/yuzu/applets/qt_software_keyboard.cpp" line="396"/> - <location filename="../../src/yuzu/applets/qt_software_keyboard.cpp" line="406"/> + <location filename="../../src/yuzu/applets/qt_software_keyboard.cpp" line="399"/> + <location filename="../../src/yuzu/applets/qt_software_keyboard.cpp" line="409"/> <source>OK</source> <translation>OK</translation> </message> <message> - <location filename="../../src/yuzu/applets/qt_software_keyboard.cpp" line="406"/> + <location filename="../../src/yuzu/applets/qt_software_keyboard.cpp" line="409"/> <source>Cancel</source> <translation>Abbrechen</translation> </message> diff --git a/dist/languages/es.ts b/dist/languages/es.ts index 2732a5923..a7583ba9f 100644 --- a/dist/languages/es.ts +++ b/dist/languages/es.ts @@ -36,17 +36,17 @@ 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 es un emulador experimental de código abierto de Nintendo Switch licenciado bajo GPLv2.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;">Este software no debe ser utilizado para jugar juegos que no hayas obtenido legalmente.</span></p></body></html></translation> +<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;">Este software no debe utilizarse para jugar juegos que no se hayan obtenido legalmente.</span></p></body></html></translation> </message> <message> <location filename="../../src/yuzu/aboutdialog.ui" line="118"/> <source><html><head/><body><p><a href="https://yuzu-emu.org/"><span style=" text-decoration: underline; color:#039be5;">Website</span></a> | <a href="https://github.com/yuzu-emu"><span style=" text-decoration: underline; color:#039be5;">Source Code</span></a> | <a href="https://github.com/yuzu-emu/yuzu/graphs/contributors"><span style=" text-decoration: underline; color:#039be5;">Contributors</span></a> | <a href="https://github.com/yuzu-emu/yuzu/blob/master/license.txt"><span style=" text-decoration: underline; color:#039be5;">License</span></a></p></body></html></source> - <translation><html><head/><body><p><a href="https://yuzu-emu.org/"><span style=" text-decoration: underline; color:#039be5;">Sitio web</span></a> | <a href="https://github.com/yuzu-emu"><span style=" text-decoration: underline; color:#039be5;">Código fuente</span></a> | <a href="https://github.com/yuzu-emu/yuzu/graphs/contributors"><span style=" text-decoration: underline; color:#039be5;">Contribuidor</span></a> | <a href="https://github.com/yuzu-emu/yuzu/blob/master/license.txt"><span style=" text-decoration: underline; color:#039be5;">Licencia</span></a></p></body></html></translation> + <translation><html><head/><body><p><a href="https://yuzu-emu.org/"><span style=" text-decoration: underline; color:#039be5;">Sitio web</span></a> | <a href="https://github.com/yuzu-emu"><span style=" text-decoration: underline; color:#039be5;">Código fuente</span></a> | <a href="https://github.com/yuzu-emu/yuzu/graphs/contributors"><span style=" text-decoration: underline; color:#039be5;">Contribuidores</span></a> | <a href="https://github.com/yuzu-emu/yuzu/blob/master/license.txt"><span style=" text-decoration: underline; color:#039be5;">Licencia</span></a></p></body></html></translation> </message> <message> <location filename="../../src/yuzu/aboutdialog.ui" line="134"/> <source><html><head/><body><p><span style=" font-size:7pt;">&quot;Nintendo Switch&quot; is a trademark of Nintendo. yuzu is not affiliated with Nintendo in any way.</span></p></body></html></source> - <translation><html><head/><body><p><span style=" font-size:7pt;">&quot;Nintendo Switch&quot; es una marca registrada de Nintendo. yuzu no esta afiliado con Nintendo de ninguna manera.</span></p></body></html></translation> + <translation><html><head/><body><p><span style=" font-size:7pt;">&quot;Nintendo Switch&quot; es una marca registrada de Nintendo. yuzu no esta afiliado con Nintendo de ninguna forma.</span></p></body></html></translation> </message> </context> <context> @@ -74,7 +74,7 @@ p, li { white-space: pre-wrap; } <message> <location filename="../../src/yuzu/configuration/configure_motion_touch.cpp" line="54"/> <source>Configuration completed!</source> - <translation>¡Configuración completa!</translation> + <translation>¡Configuración completada!</translation> </message> <message> <location filename="../../src/yuzu/configuration/configure_motion_touch.cpp" line="61"/> @@ -98,7 +98,7 @@ p, li { white-space: pre-wrap; } <message> <location filename="../../src/yuzu/compatdb.ui" line="36"/> <source><html><head/><body><p><span style=" font-size:10pt;">Should you choose to submit a test case to the </span><a href="https://yuzu-emu.org/game/"><span style=" font-size:10pt; text-decoration: underline; color:#0000ff;">yuzu Compatibility List</span></a><span style=" font-size:10pt;">, The following information will be collected and displayed on the site:</span></p><ul style="margin-top: 0px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; -qt-list-indent: 1;"><li style=" margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">Hardware Information (CPU / GPU / Operating System)</li><li style=" margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">Which version of yuzu you are running</li><li style=" margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">The connected yuzu account</li></ul></body></html></source> - <translation><html><head/><body><p><span style=" font-size:10pt;">SI decides presentar una prueba a la </span><a href="https://yuzu-emu.org/game/"><span style=" font-size:10pt; text-decoration: underline; color:#0000ff;">Lista de Compatibilidad de yuzu</span></a><span style=" font-size:10pt;">, La siguiente información será obtenida y mostrada en el sitio web:</span></p><ul style="margin-top: 0px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; -qt-list-indent: 1;"><li style=" margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">Informacion de Hardware (CPU / GPU / Sistema Operativo)</li><li style=" margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">Qué versión de yuzu estas utilizando</li><li style=" margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">La cuenta de yuzu conectada</li></ul></body></html></translation> + <translation><html><head/><body><p><span style=" font-size:10pt;">Si deseas presentar una prueba a la </span><a href="https://yuzu-emu.org/game/"><span style=" font-size:10pt; text-decoration: underline; color:#0000ff;">Lista de Compatibilidad de yuzu</span></a><span style=" font-size:10pt;">, La siguiente información será obtenida y mostrada en el sitio web:</span></p><ul style="margin-top: 0px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; -qt-list-indent: 1;"><li style=" margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">Informacion de Hardware (CPU / GPU / Sistema operativo)</li><li style=" margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">Versión de yuzu que estés utilizando</li><li style=" margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">La cuenta de yuzu conectada</li></ul></body></html></translation> </message> <message> <location filename="../../src/yuzu/compatdb.ui" line="72"/> @@ -118,7 +118,7 @@ p, li { white-space: pre-wrap; } <message> <location filename="../../src/yuzu/compatdb.ui" line="96"/> <source><html><head/><body><p>Game functions with minor graphical or audio glitches and is playable from start to finish. May require some workarounds.</p></body></html></source> - <translation><html><head/><body><p>El juego funciona con fallos gráficos o de audio menores y es jugable desde el principio hasta el final. Puede requerir de soluciones temporales.</p></body></html></translation> + <translation><html><head/><body><p>El juego funciona con fallos gráficos o de audio menores y es jugable de principio a fin. Puede que sea necesario recurrir a arreglos temporales.</p></body></html></translation> </message> <message> <location filename="../../src/yuzu/compatdb.ui" line="106"/> @@ -128,7 +128,7 @@ p, li { white-space: pre-wrap; } <message> <location filename="../../src/yuzu/compatdb.ui" line="113"/> <source><html><head/><body><p>Game functions with major graphical or audio glitches, but game is playable from start to finish with workarounds.</p></body></html></source> - <translation><html><head/><body><p>El juego funciona con importantes fallos gráficos o de audio, pero es jugable desde el principio hasta el final con soluciones temporales.</p></body></html></translation> + <translation><html><head/><body><p>El juego funciona con fallos gráficos o de audio sustanciales, pero es jugable de principio a fin con arreglos temporales.</p></body></html></translation> </message> <message> <location filename="../../src/yuzu/compatdb.ui" line="123"/> @@ -138,17 +138,17 @@ p, li { white-space: pre-wrap; } <message> <location filename="../../src/yuzu/compatdb.ui" line="130"/> <source><html><head/><body><p>Game functions, but with major graphical or audio glitches. Unable to progress in specific areas due to glitches even with workarounds.</p></body></html></source> - <translation><html><head/><body><p>El juego funciona, pero tiene errores gráficos o de audio. Imposible progresar en ciertas áreas debido a errores incluso con soluciones temporales.</p></body></html></translation> + <translation><html><head/><body><p>El juego funciona, pero tiene errores gráficos o de audio. Imposible progresar en ciertas zonas debido a fallos incluso con arreglos temporales.</p></body></html></translation> </message> <message> <location filename="../../src/yuzu/compatdb.ui" line="140"/> <source>Intro/Menu</source> - <translation>Intro/Menú</translation> + <translation>Intro/Menu</translation> </message> <message> <location filename="../../src/yuzu/compatdb.ui" line="147"/> <source><html><head/><body><p>Game is completely unplayable due to major graphical or audio glitches. Unable to progress past the Start Screen.</p></body></html></source> - <translation><html><head/><body><p>No es posible jugar a este juego debido a importantes errores gráficos o de audio. Es imposible avanzar mas allá de la pantalla de inicio.</p></body></html></translation> + <translation><html><head/><body><p>No es posible jugar a este juego debido a errores gráficos o de audio importantes. Es imposible avanzar mas allá de la pantalla de inicio.</p></body></html></translation> </message> <message> <location filename="../../src/yuzu/compatdb.ui" line="157"/> @@ -163,7 +163,7 @@ p, li { white-space: pre-wrap; } <message> <location filename="../../src/yuzu/compatdb.ui" line="182"/> <source><html><head/><body><p>Independent of speed or performance, how well does this game play from start to finish on this version of yuzu?</p></body></html></source> - <translation><html><head/><body><p>Independientemente de la velocidad o del rendimiento, ¿cómo definiría su experiencia con el juego de principio a fin en esta versión de yuzu?</p></body></html></translation> + <translation><html><head/><body><p>Independientemente de la velocidad o del rendimiento, ¿cómo definiría su experiencia de juego de principio a fin en esta versión de yuzu?</p></body></html></translation> </message> <message> <location filename="../../src/yuzu/compatdb.ui" line="206"/> @@ -183,7 +183,7 @@ p, li { white-space: pre-wrap; } <message> <location filename="../../src/yuzu/compatdb.cpp" line="73"/> <source>An error occurred while sending the Testcase</source> - <translation>Un error a ocurrido mientras se enviaba el caso de prueba.</translation> + <translation>Ha ocurrido un fallo mientras se enviaba el caso de prueba.</translation> </message> <message> <location filename="../../src/yuzu/compatdb.cpp" line="75"/> @@ -202,17 +202,17 @@ p, li { white-space: pre-wrap; } <message> <location filename="../../src/yuzu/configuration/configure_audio.ui" line="28"/> <source>Output Engine:</source> - <translation>Motor de Salida:</translation> + <translation>Motor de salida:</translation> </message> <message> <location filename="../../src/yuzu/configuration/configure_audio.ui" line="42"/> <source>Audio Device:</source> - <translation>Dispositivo de Audio:</translation> + <translation>Dispositivo de audio:</translation> </message> <message> <location filename="../../src/yuzu/configuration/configure_audio.ui" line="70"/> <source>Use global volume</source> - <translation>Usar el volumen global</translation> + <translation>Usar volumen global</translation> </message> <message> <location filename="../../src/yuzu/configuration/configure_audio.ui" line="75"/> @@ -276,12 +276,12 @@ p, li { white-space: pre-wrap; } <message> <location filename="../../src/yuzu/configuration/configure_cpu.ui" line="63"/> <source>We recommend setting accuracy to "Auto".</source> - <translation>Recomendamos ajustar la precisión a "Auto".</translation> + <translation>Recomendamos establecer la precisión en "Auto".</translation> </message> <message> <location filename="../../src/yuzu/configuration/configure_cpu.ui" line="80"/> <source>Unsafe CPU Optimization Settings</source> - <translation>Ajustes del Modo Impreciso de Optimización de la CPU</translation> + <translation>Ajustes del Modo Impreciso de optimización de la CPU</translation> </message> <message> <location filename="../../src/yuzu/configuration/configure_cpu.ui" line="86"/> @@ -294,13 +294,13 @@ p, li { white-space: pre-wrap; } <div>This option improves speed by reducing accuracy of fused-multiply-add instructions on CPUs without native FMA support.</div> </source> <translation> - <div>Esta opción mejora el rendimiento al reducir la precisión de las instrucciones fused-multiply-add en las CPU sin soporte nativo de FMA.</div> + <div>Esta opción mejora el rendimiento al reducir la precisión de las instrucciones fused-multiply-add en las CPU sin soporte nativo FMA.</div> </translation> </message> <message> <location filename="../../src/yuzu/configuration/configure_cpu.ui" line="101"/> <source>Unfuse FMA (improve performance on CPUs without FMA)</source> - <translation>Unfuse FMA (mejora el rendimiento en las CPU sin FMA)</translation> + <translation>Desactivar FMA (mejora el rendimiento en las CPU sin FMA)</translation> </message> <message> <location filename="../../src/yuzu/configuration/configure_cpu.ui" line="108"/> @@ -314,7 +314,7 @@ p, li { white-space: pre-wrap; } <message> <location filename="../../src/yuzu/configuration/configure_cpu.ui" line="113"/> <source>Faster FRSQRTE and FRECPE</source> - <translation>FRSQRTE y FRECPE más rápido</translation> + <translation>FRSQRTE y FRECPE rápido</translation> </message> <message> <location filename="../../src/yuzu/configuration/configure_cpu.ui" line="120"/> @@ -322,7 +322,7 @@ p, li { white-space: pre-wrap; } <div>This option improves the speed of 32 bits ASIMD floating-point functions by running with incorrect rounding modes.</div> </source> <translation> - <div>Esta opción mejora la velocidad de las funciones de punto flotante ASIMD de 32 bits al ejecutarlas con modos aproximados e incorrectos.</div> + <div>Esta opción mejora la velocidad de las funciones de punto flotante ASIMD de 32 bits al ejecutarlas con métodos aproximados e incorrectos.</div> </translation> </message> <message> @@ -336,13 +336,13 @@ p, li { white-space: pre-wrap; } <div>This option improves speed by removing NaN checking. Please note this also reduces accuracy of certain floating-point instructions.</div> </source> <translation> - <div>Esta opción mejora la velocidad eliminando el revisor NaN. Tenga en cuenta que esto también reduce la precisión de algunas instrucciones de coma flotante</div> + <div>Esta opción mejora la velocidad eliminando las comprobaciones NaN. Ten en cuenta que esto también reduce la precisión de algunas instrucciones de punto flotante.</div> </translation> </message> <message> <location filename="../../src/yuzu/configuration/configure_cpu.ui" line="137"/> <source>Inaccurate NaN handling</source> - <translation>Manejo inexacto de NaN</translation> + <translation>Gestión imprecisa NaN</translation> </message> <message> <location filename="../../src/yuzu/configuration/configure_cpu.ui" line="144"/> @@ -350,18 +350,18 @@ p, li { white-space: pre-wrap; } <div>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.</div> </source> <translation> - <div>Esta opción mejora la velocidad al eliminar un control de seguridad antes de cada lectura/escritura de memoria en el invitado. Desactivarlo podría permitir que los juegos que lean/escriban en la memoria del emulador.</div> + <div>Esta opción mejora la velocidad al eliminar un control de seguridad antes de cada lectura/escritura de memoria del anfitrión. Desactivarlo podría permitir que los juegos lean/escriban en la memoria del emulador.</div> </translation> </message> <message> <location filename="../../src/yuzu/configuration/configure_cpu.ui" line="149"/> <source>Disable address space checks</source> - <translation>Desactivar controles del espacio de direcciones</translation> + <translation>Desactivar comprobación del espacio de destino</translation> </message> <message> <location filename="../../src/yuzu/configuration/configure_cpu.ui" line="174"/> <source>CPU settings are available only when game is not running.</source> - <translation>Los ajustes de la CPU sólo se encuentran disponibles cuando no se está ejecutando ningún juego.</translation> + <translation>Los ajustes de la CPU sólo están disponibles cuando no se esté ejecutando ningún juego.</translation> </message> </context> <context> @@ -384,7 +384,7 @@ p, li { white-space: pre-wrap; } <message> <location filename="../../src/yuzu/configuration/configure_cpu_debug.ui" line="31"/> <source><html><head/><body><p><span style=" font-weight:600;">For debugging only.</span><br/>If you're not sure what these do, keep all of these enabled. <br/>These settings, when disabled, only take effect when CPU Debugging is enabled. </p></body></html></source> - <translation><html><head/><body><p><span style=" font-weight:600;">Sólo para depurar.</span><br/>Si no tienes la certeza de lo que hacen, déjalas activadas. <br/>Esas opciones, cuando están desactivadas, sólo funcionarán cuando Depuración de CPU está activada. </p></body></html></translation> + <translation><html><head/><body><p><span style=" font-weight:600;">Sólo para depurar.</span><br/>Si no estás seguro de su función, déjalas activadas. <br/>Estas opciones, cuando estén desactivadas, sólo funcionarán cuando la Depuración de CPU esté activada. </p></body></html></translation> </message> <message> <location filename="../../src/yuzu/configuration/configure_cpu_debug.ui" line="41"/> @@ -394,15 +394,15 @@ p, li { white-space: pre-wrap; } <div style="white-space: nowrap">Disabling this forces all memory accesses to go through the Memory::Read/Memory::Write functions.</div> </source> <translation> - <div style="white-space: nowrap">Esta optimización acelera los accesos a la memoria del programa del invitado.</div> - <div style="white-space: nowrap">Activando las inlines accede a PageTable::pointers en código emitido.</div> - <div style="white-space: nowrap">Desactivando esto obliga a que todos los accesos a la memoria pasen por las funciones Memory::Read/Memory::Write.</div> + <div style="white-space: nowrap">Esta optimización acelera los accesos a la memoria del programa anfitrión.</div> + <div style="white-space: nowrap">Al activarlo, integra los accesos a PageTable::pointers en el código emitido.</div> + <div style="white-space: nowrap">Al desactivar esto, obliga a que todos los accesos a la memoria pasen por las funciones Memory::Read/Memory::Write.</div> </translation> </message> <message> <location filename="../../src/yuzu/configuration/configure_cpu_debug.ui" line="48"/> <source>Enable inline page tables</source> - <translation>Activar las tablas de páginas inline.</translation> + <translation>Activar las tablas de páginas integradas.</translation> </message> <message> <location filename="../../src/yuzu/configuration/configure_cpu_debug.ui" line="55"/> @@ -410,13 +410,13 @@ p, li { white-space: pre-wrap; } <div>This optimization avoids dispatcher lookups by allowing emitted basic blocks to jump directly to other basic blocks if the destination PC is static.</div> </source> <translation> - <div>Esta optimización evita las búsquedas del despachador permitiendo que los bloques básicos emitidos salten directamente a otros bloques básicos si el PC de destino es estático.</div> + <div>Esta optimización evita las búsquedas del emisor permitiendo que los bloques básicos emitidos salten directamente a otros bloques básicos si el PC de destino es estático.</div> </translation> </message> <message> <location filename="../../src/yuzu/configuration/configure_cpu_debug.ui" line="60"/> <source>Enable block linking</source> - <translation>Activar el enlace de bloques</translation> + <translation>Activar enlace de bloques</translation> </message> <message> <location filename="../../src/yuzu/configuration/configure_cpu_debug.ui" line="67"/> @@ -424,13 +424,13 @@ p, li { white-space: pre-wrap; } <div>This optimization avoids dispatcher lookups by keeping track potential return addresses of BL instructions. This approximates what happens with a return stack buffer on a real CPU.</div> </source> <translation> - <div>Esta optimización evita las búsquedas de los despachadores al rastrear las direcciones potenciales de retorno de las instrucciones de BL. Esto se aproxima a lo que sucede con un buffer de la pila de retorno en una CPU real.</div> + <div>Esta optimización evita las búsquedas del emisor al rastrear las direcciones potenciales de retorno de las instrucciones BL. Esto se aproxima a lo que sucede con un buffer acumulado de retorno en una CPU real.</div> </translation> </message> <message> <location filename="../../src/yuzu/configuration/configure_cpu_debug.ui" line="72"/> <source>Enable return stack buffer</source> - <translation>Activar el buffer de la pila de retorno</translation> + <translation>Activar buffer acumulado de retorno</translation> </message> <message> <location filename="../../src/yuzu/configuration/configure_cpu_debug.ui" line="79"/> @@ -438,13 +438,13 @@ p, li { white-space: pre-wrap; } <div>Enable a two-tiered dispatch system. A faster dispatcher written in assembly has a small MRU cache of jump destinations is used first. If that fails, dispatch falls back to the slower C++ dispatcher.</div> </source> <translation> - <div>Habilitar un sistema de despacho de dos niveles. Un despachador más rápido escrito en ensamblado tiene un pequeño caché MRU de destinos de salto se utiliza primero. Si eso falla, el despacho vuelve al despacho más lento de C++.</div> + <div>Habilitar un sistema de emisión de dos niveles. Un emisor más rápido escrito en ensamblado que tiene un pequeño caché MRU de destinos de salto se utiliza primero. Si esto falla, el emisor vuelve al emisor más lento de C++.</div> </translation> </message> <message> <location filename="../../src/yuzu/configuration/configure_cpu_debug.ui" line="84"/> <source>Enable fast dispatcher</source> - <translation>Activar el despachador rápido</translation> + <translation>Activar emisor rápido</translation> </message> <message> <location filename="../../src/yuzu/configuration/configure_cpu_debug.ui" line="91"/> @@ -452,13 +452,13 @@ p, li { white-space: pre-wrap; } <div>Enables an IR optimization that reduces unnecessary accesses to the CPU context structure.</div> </source> <translation> - <div>Esto habilita una optimización de IR que reduce los accesos innecesarios a la estructura del contexto de la CPU.</div> + <div>Activa una optimización de IR que reduce los accesos innecesarios a la estructura del contexto de la CPU.</div> </translation> </message> <message> <location filename="../../src/yuzu/configuration/configure_cpu_debug.ui" line="96"/> <source>Enable context elimination</source> - <translation>Activar la eliminación del contexto</translation> + <translation>Activar eliminación de contexto</translation> </message> <message> <location filename="../../src/yuzu/configuration/configure_cpu_debug.ui" line="103"/> @@ -466,13 +466,13 @@ p, li { white-space: pre-wrap; } <div>Enables IR optimizations that involve constant propagation.</div> </source> <translation> - <div>Esto habilita optimizaciones de IR que implican una propagación constante.</div> + <div>Activa optimizaciones de IR que implican una propagación constante.</div> </translation> </message> <message> <location filename="../../src/yuzu/configuration/configure_cpu_debug.ui" line="108"/> <source>Enable constant propagation</source> - <translation>Activar la propagación constante</translation> + <translation>Activar propagación constante</translation> </message> <message> <location filename="../../src/yuzu/configuration/configure_cpu_debug.ui" line="115"/> @@ -480,7 +480,7 @@ p, li { white-space: pre-wrap; } <div>Enables miscellaneous IR optimizations.</div> </source> <translation> - <div>Esto habilita optimizaciónes misceláneas IR.</div> + <div>Activa optimizaciones misceláneas IR.</div> </translation> </message> <message> @@ -495,14 +495,14 @@ p, li { white-space: pre-wrap; } <div style="white-space: nowrap">When disabled, a misalignment is triggered on all misaligned accesses.</div> </source> <translation> - <div style="white-space: nowrap">Cuando está activada, una desalineación sólo se activa cuando un acceso cruza el límite de una página.</div> - <div style="white-space: nowrap">Cuando está desactivado, se desencadena una desalineación en todos los accesos desalineados.</div> + <div style="white-space: nowrap">Cuando esté activada, una desalineación sólo se activa cuando un acceso cruza el límite de una página.</div> + <div style="white-space: nowrap">Cuando esté desactivado, se produce una desalineación en todos los accesos desalineados.</div> </translation> </message> <message> <location filename="../../src/yuzu/configuration/configure_cpu_debug.ui" line="133"/> <source>Enable misalignment check reduction</source> - <translation>Activar la reducción del control de desalineación</translation> + <translation>Activar reducción del control de desalineación</translation> </message> <message> <location filename="../../src/yuzu/configuration/configure_cpu_debug.ui" line="140"/> @@ -512,20 +512,20 @@ p, li { white-space: pre-wrap; } <div style="white-space: nowrap">Disabling this forces all memory accesses to use Software MMU Emulation.</div> </source> <translation> - <div style="white-space: nowrap">Esta optimización acelera los accesos de memoria por el programa invitado.</div> - <div style="white-space: nowrap">Activarlo causa que la lectura/escritura de la memoria invitada se haga directamente en memoria y usen el MMU del Host.</div> + <div style="white-space: nowrap">Esta optimización acelera los accesos de memoria por el programa anfitrión.</div> + <div style="white-space: nowrap">Activarlo causa que la lectura/escritura de la memoria del anfitrión se haga directamente en la memoria y utilicen el MMU del Host.</div> <div style="white-space: nowrap">Desactivar esto fuerza a todos los accesos de memoria a usar la Emulación del Software de MMU.</div> </translation> </message> <message> <location filename="../../src/yuzu/configuration/configure_cpu_debug.ui" line="147"/> <source>Enable Host MMU Emulation</source> - <translation>Activar emulación de MMU del Host</translation> + <translation>Activar emulación MMU del Host</translation> </message> <message> <location filename="../../src/yuzu/configuration/configure_cpu_debug.ui" line="172"/> <source>CPU settings are available only when game is not running.</source> - <translation>Los ajustes de la CPU sólo se encuentran disponibles cuando no se está ejecutando ningún juego.</translation> + <translation>Los ajustes de la CPU sólo están disponibles cuando no se esté ejecutando ningún juego.</translation> </message> </context> <context> @@ -538,7 +538,7 @@ p, li { white-space: pre-wrap; } <message> <location filename="../../src/yuzu/configuration/configure_debug.ui" line="17"/> <source>Global Log Filter</source> - <translation>Filtro de Registro Global</translation> + <translation>Filtro del registro global</translation> </message> <message> <location filename="../../src/yuzu/configuration/configure_debug.ui" line="29"/> @@ -548,7 +548,7 @@ p, li { white-space: pre-wrap; } <message> <location filename="../../src/yuzu/configuration/configure_debug.ui" line="36"/> <source>Open Log Location</source> - <translation>Abrir Ubicación del Registro</translation> + <translation>Abrir ubicación del archivo de registro</translation> </message> <message> <location filename="../../src/yuzu/configuration/configure_debug.ui" line="46"/> @@ -568,7 +568,7 @@ p, li { white-space: pre-wrap; } <message> <location filename="../../src/yuzu/configuration/configure_debug.ui" line="67"/> <source>Arguments String</source> - <translation>Cadena de Argumentos</translation> + <translation>Cadena de argumentos</translation> </message> <message> <location filename="../../src/yuzu/configuration/configure_debug.ui" line="82"/> @@ -578,17 +578,17 @@ p, li { white-space: pre-wrap; } <message> <location filename="../../src/yuzu/configuration/configure_debug.ui" line="91"/> <source>When checked, the graphics API enters a slower debugging mode</source> - <translation>Cuando se marque, la API gráfica entrará en un modo de depuración más lento.</translation> + <translation>Cuando esté marcado, la API gráfica entrará en un modo de depuración más lento.</translation> </message> <message> <location filename="../../src/yuzu/configuration/configure_debug.ui" line="94"/> <source>Enable Graphics Debugging</source> - <translation>Activar la Depuración de Gráficos</translation> + <translation>Activar depuración de gráficos</translation> </message> <message> <location filename="../../src/yuzu/configuration/configure_debug.ui" line="101"/> <source>When checked, it enables Nsight Aftermath crash dumps</source> - <translation>Cuando se marque, activará los volcados de bloqueos de Nsight Aftermath</translation> + <translation>Cuando esté marcado, activará los volcados de los fallos Nsight Aftermath</translation> </message> <message> <location filename="../../src/yuzu/configuration/configure_debug.ui" line="104"/> @@ -598,27 +598,27 @@ p, li { white-space: pre-wrap; } <message> <location filename="../../src/yuzu/configuration/configure_debug.ui" line="114"/> <source>When checked, it disables the macro Just In Time compiler. Enabling this makes games run slower</source> - <translation>Cuando está marcado, se desactiva el compilador de macro Just In Time. Activando esto hace que los juegos se ejecuten más lento</translation> + <translation>Cuando esté marcado, se desactiva el compilador de macro Just In Time. Activar esto hace que los juegos se ejecuten más lento.</translation> </message> <message> <location filename="../../src/yuzu/configuration/configure_debug.ui" line="117"/> <source>Disable Macro JIT</source> - <translation>Desactivar Macro JIT</translation> + <translation>Desactivar macro JIT</translation> </message> <message> <location filename="../../src/yuzu/configuration/configure_debug.ui" line="124"/> <source>When checked, yuzu will log statistics about the compiled pipeline cache</source> - <translation>Cuando se marque, yuzu hará un registro de las estadísticas de la tubería de caché compilada</translation> + <translation>Cuando esté marcado, yuzu hará un registro de las estadísticas del caché de tubería compilado </translation> </message> <message> <location filename="../../src/yuzu/configuration/configure_debug.ui" line="127"/> <source>Enable Shader Feedback</source> - <translation>Activar feedback de cache</translation> + <translation>Activar información de shaders</translation> </message> <message> <location filename="../../src/yuzu/configuration/configure_debug.ui" line="134"/> <source>When checked, it executes shaders without loop logic changes</source> - <translation>Cuando se marque, se ejecutarán los shaders sin cambios de bucles lógicos.</translation> + <translation>Cuando esté marcado, se ejecutarán los shaders sin cambios de bucles lógicos.</translation> </message> <message> <location filename="../../src/yuzu/configuration/configure_debug.ui" line="137"/> @@ -633,12 +633,12 @@ p, li { white-space: pre-wrap; } <message> <location filename="../../src/yuzu/configuration/configure_debug.ui" line="153"/> <source>Enable FS Access Log</source> - <translation>Activar Registro de FS Access</translation> + <translation>Activar registro de acceso FS</translation> </message> <message> <location filename="../../src/yuzu/configuration/configure_debug.ui" line="160"/> <source>Enable Verbose Reporting Services**</source> - <translation>Habilitar Servicios de Reporte Detallados**</translation> + <translation>Activar servicios de reporte detallados**</translation> </message> <message> <location filename="../../src/yuzu/configuration/configure_debug.ui" line="170"/> @@ -648,17 +648,17 @@ p, li { white-space: pre-wrap; } <message> <location filename="../../src/yuzu/configuration/configure_debug.ui" line="176"/> <source>Kiosk (Quest) Mode</source> - <translation>Modo Quiosco (Quest)</translation> + <translation>Modo quiosco (Quest)</translation> </message> <message> <location filename="../../src/yuzu/configuration/configure_debug.ui" line="183"/> <source>Enable CPU Debugging</source> - <translation>Activar la Depuración de CPU</translation> + <translation>Activar depuración de la CPU</translation> </message> <message> <location filename="../../src/yuzu/configuration/configure_debug.ui" line="190"/> <source>Enable Debug Asserts</source> - <translation>Habilitar declaraciones de depuración</translation> + <translation>Activar alertas de depuración</translation> </message> <message> <location filename="../../src/yuzu/configuration/configure_debug.ui" line="197"/> @@ -666,9 +666,14 @@ p, li { white-space: pre-wrap; } <translation>Activar Auto-Stub**</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_debug.ui" line="212"/> + <location filename="../../src/yuzu/configuration/configure_debug.ui" line="204"/> + <source>Enable all Controller Types</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_debug.ui" line="219"/> <source>**This will be reset automatically when yuzu closes.</source> - <translation>**Se reiniciará automáticamente cuando yuzu se cierre.</translation> + <translation>**Esto se reiniciará automáticamente cuando yuzu se cierre.</translation> </message> </context> <context> @@ -676,7 +681,7 @@ p, li { white-space: pre-wrap; } <message> <location filename="../../src/yuzu/configuration/configure_debug_controller.ui" line="14"/> <source>Configure Debug Controller</source> - <translation>Configurar el Control de Depuración</translation> + <translation>Configurar el controlador de depuración</translation> </message> <message> <location filename="../../src/yuzu/configuration/configure_debug_controller.ui" line="40"/> @@ -686,7 +691,7 @@ p, li { white-space: pre-wrap; } <message> <location filename="../../src/yuzu/configuration/configure_debug_controller.ui" line="47"/> <source>Defaults</source> - <translation>Valores Predeterminados</translation> + <translation>Valores predeterminados</translation> </message> </context> <context> @@ -713,7 +718,7 @@ p, li { white-space: pre-wrap; } <message> <location filename="../../src/yuzu/configuration/configure.ui" line="20"/> <source>yuzu Configuration</source> - <translation>Configuración de yuzu.</translation> + <translation>Configuración de yuzu</translation> </message> <message> <location filename="../../src/yuzu/configuration/configure_dialog.cpp" line="59"/> @@ -735,7 +740,7 @@ p, li { white-space: pre-wrap; } <message> <location filename="../../src/yuzu/configuration/configure_dialog.cpp" line="62"/> <source>Filesystem</source> - <translation>Sistema de Archivos</translation> + <translation>Sistema de archivos</translation> </message> <message> <location filename="../../src/yuzu/configuration/configure_dialog.cpp" line="63"/> @@ -752,12 +757,12 @@ p, li { white-space: pre-wrap; } <message> <location filename="../../src/yuzu/configuration/configure_dialog.cpp" line="65"/> <source>GraphicsAdvanced</source> - <translation>GráficosAvanzados</translation> + <translation>Gráficosavanzados</translation> </message> <message> <location filename="../../src/yuzu/configuration/configure_dialog.cpp" line="66"/> <source>Hotkeys</source> - <translation>Teclas de Acceso Rápido</translation> + <translation>Teclas de acceso rápido</translation> </message> <message> <location filename="../../src/yuzu/configuration/configure_dialog.cpp" line="67"/> @@ -784,7 +789,7 @@ p, li { white-space: pre-wrap; } <message> <location filename="../../src/yuzu/configuration/configure_dialog.cpp" line="71"/> <source>Game List</source> - <translation>Lista de Juegos</translation> + <translation>Lista de juegos</translation> </message> <message> <location filename="../../src/yuzu/configuration/configure_dialog.cpp" line="72"/> @@ -802,12 +807,12 @@ p, li { white-space: pre-wrap; } <message> <location filename="../../src/yuzu/configuration/configure_filesystem.ui" line="17"/> <source>Filesystem</source> - <translation>Sistema de Archivos</translation> + <translation>Sistema de archivos</translation> </message> <message> <location filename="../../src/yuzu/configuration/configure_filesystem.ui" line="25"/> <source>Storage Directories</source> - <translation>Directorios de Almacenamiento</translation> + <translation>Directorios de almacenamiento</translation> </message> <message> <location filename="../../src/yuzu/configuration/configure_filesystem.ui" line="31"/> @@ -831,7 +836,7 @@ p, li { white-space: pre-wrap; } <message> <location filename="../../src/yuzu/configuration/configure_filesystem.ui" line="84"/> <source>Gamecard</source> - <translation>Cartucho de Juegos</translation> + <translation>Cartucho de juego</translation> </message> <message> <location filename="../../src/yuzu/configuration/configure_filesystem.ui" line="90"/> @@ -846,42 +851,42 @@ p, li { white-space: pre-wrap; } <message> <location filename="../../src/yuzu/configuration/configure_filesystem.ui" line="107"/> <source>Current Game</source> - <translation>Juego Actual</translation> + <translation>Juego actual</translation> </message> <message> <location filename="../../src/yuzu/configuration/configure_filesystem.ui" line="124"/> <source>Patch Manager</source> - <translation>Administrador de Parches</translation> + <translation>Administrador de parches</translation> </message> <message> <location filename="../../src/yuzu/configuration/configure_filesystem.ui" line="152"/> <source>Dump Decompressed NSOs</source> - <translation>Volcar NSOs Descomprimidos</translation> + <translation>Volcar NSOs descomprimidos</translation> </message> <message> <location filename="../../src/yuzu/configuration/configure_filesystem.ui" line="159"/> <source>Dump ExeFS</source> - <translation>Volcar Partición ExeFS</translation> + <translation>Volcar ExeFS</translation> </message> <message> <location filename="../../src/yuzu/configuration/configure_filesystem.ui" line="168"/> <source>Mod Load Root</source> - <translation>Carpeta raíz de carga de Mods</translation> + <translation>Carpeta raíz de carga de mods</translation> </message> <message> <location filename="../../src/yuzu/configuration/configure_filesystem.ui" line="175"/> <source>Dump Root</source> - <translation>Carpeta raíz de Volcado</translation> + <translation>Carpeta raíz de volcado</translation> </message> <message> <location filename="../../src/yuzu/configuration/configure_filesystem.ui" line="201"/> <source>Caching</source> - <translation>Cargando Caché</translation> + <translation>Cargando caché</translation> </message> <message> <location filename="../../src/yuzu/configuration/configure_filesystem.ui" line="209"/> <source>Cache Game List Metadata</source> - <translation>Metadatos de Lista de Juegos en Caché</translation> + <translation>Metadatos de lista de juegos en caché</translation> </message> <message> <location filename="../../src/yuzu/configuration/configure_filesystem.ui" line="216"/> @@ -889,32 +894,32 @@ p, li { white-space: pre-wrap; } <location filename="../../src/yuzu/configuration/configure_filesystem.cpp" line="128"/> <location filename="../../src/yuzu/configuration/configure_filesystem.cpp" line="133"/> <source>Reset Metadata Cache</source> - <translation>Reiniciar Caché de Metadatos</translation> + <translation>Reiniciar caché de metadatos</translation> </message> <message> <location filename="../../src/yuzu/configuration/configure_filesystem.cpp" line="86"/> <source>Select Emulated NAND Directory...</source> - <translation>Seleccione el directorio de NAND Emulado...</translation> + <translation>Selecciona el directorio de NAND emulado...</translation> </message> <message> <location filename="../../src/yuzu/configuration/configure_filesystem.cpp" line="89"/> <source>Select Emulated SD Directory...</source> - <translation>Seleccione el directorio de SD Emulado...</translation> + <translation>Seleccione el directorio de SD emulado...</translation> </message> <message> <location filename="../../src/yuzu/configuration/configure_filesystem.cpp" line="92"/> <source>Select Gamecard Path...</source> - <translation>Seleccione la ruta del Cartucho...</translation> + <translation>Seleccione la ruta del cartucho...</translation> </message> <message> <location filename="../../src/yuzu/configuration/configure_filesystem.cpp" line="95"/> <source>Select Dump Directory...</source> - <translation>Seleccione Directorio para Volcar...</translation> + <translation>Seleccione directorio de volcado...</translation> </message> <message> <location filename="../../src/yuzu/configuration/configure_filesystem.cpp" line="98"/> <source>Select Mod Load Directory...</source> - <translation>Seleccione el directorio de carga de Mod...</translation> + <translation>Seleccione el directorio de carga de mod...</translation> </message> <message> <location filename="../../src/yuzu/configuration/configure_filesystem.cpp" line="125"/> @@ -946,69 +951,80 @@ p, li { white-space: pre-wrap; } <translation>General</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_general.ui" line="35"/> - <source>Framerate Cap</source> - <translation>Límite de cuadros por segundo</translation> + <location filename="../../src/yuzu/configuration/configure_general.ui" line="50"/> + <location filename="../../src/yuzu/configuration/configure_general.ui" line="57"/> + <source>Use global framerate cap</source> + <translation>Utilizar límite global de fotogramas</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_general.ui" line="38"/> + <location filename="../../src/yuzu/configuration/configure_general.ui" line="62"/> + <source>Set framerate cap:</source> + <translation>Establece el límite de fotogramas:</translation> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_general.ui" line="70"/> <source>Requires the use of the FPS Limiter Toggle hotkey to take effect.</source> - <translation>Se necesita el uso de la tecla de acceso rápido Cambiar Límite de FPS para que tenga efecto.</translation> + <translation>Es necesario el uso de la tecla de acceso rápido Cambiar límite de FPS para que tenga efecto.</translation> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_general.ui" line="73"/> + <source>Framerate Cap</source> + <translation>Límite de fotogramas</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_general.ui" line="45"/> + <location filename="../../src/yuzu/configuration/configure_general.ui" line="95"/> <source>x</source> <translation>x</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_general.ui" line="65"/> + <location filename="../../src/yuzu/configuration/configure_general.ui" line="116"/> <source>Limit Speed Percent</source> - <translation>Limitar el Porcentaje de Velocidad</translation> + <translation>Limitar porcentaje de velocidad</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_general.ui" line="72"/> + <location filename="../../src/yuzu/configuration/configure_general.ui" line="123"/> <source>%</source> <translation>%</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_general.ui" line="90"/> + <location filename="../../src/yuzu/configuration/configure_general.ui" line="141"/> <source>Multicore CPU Emulation</source> <translation>Emulación de CPU multinúcleo </translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_general.ui" line="97"/> + <location filename="../../src/yuzu/configuration/configure_general.ui" line="148"/> <source>Confirm exit while emulation is running</source> <translation>Confirmar salida mientras se ejecuta la emulación</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_general.ui" line="104"/> + <location filename="../../src/yuzu/configuration/configure_general.ui" line="155"/> <source>Prompt for user on game boot</source> <translation>Mostrar usuario actual al abrir el juego</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_general.ui" line="111"/> + <location filename="../../src/yuzu/configuration/configure_general.ui" line="162"/> <source>Pause emulation when in background</source> <translation>Pausar emulación cuando la ventana esté en segundo plano</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_general.ui" line="118"/> + <location filename="../../src/yuzu/configuration/configure_general.ui" line="169"/> <source>Hide mouse on inactivity</source> - <translation>Ocultar el cursor del ratón cuando no está activo.</translation> + <translation>Ocultar el cursor en caso de inactividad.</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_general.ui" line="160"/> + <location filename="../../src/yuzu/configuration/configure_general.ui" line="211"/> <source>Reset All Settings</source> - <translation>Reiniciar todos los Ajustes</translation> + <translation>Reiniciar todos los ajustes</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_general.cpp" line="70"/> + <location filename="../../src/yuzu/configuration/configure_general.cpp" line="78"/> <source>yuzu</source> <translation>yuzu</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_general.cpp" line="71"/> + <location filename="../../src/yuzu/configuration/configure_general.cpp" line="79"/> <source>This reset all settings and remove all per-game configurations. This will not delete game directories, profiles, or input profiles. Proceed?</source> - <translation>Ésto reinicia todas las configuraciones y eliminará todas las configuraciones de cada juego. No eliminará ni los directorios de juego, ni perfiles, ni perfiles de control. ¿Continuar?</translation> + <translation>Esto reiniciará y eliminará todas las configuraciones de los juegos. No eliminará ni los directorios de juego, ni los perfiles, ni los perfiles de los mandos. ¿Continuar?</translation> </message> </context> <context> @@ -1031,7 +1047,7 @@ p, li { white-space: pre-wrap; } <message> <location filename="../../src/yuzu/configuration/configure_graphics.ui" line="64"/> <source>Shader Backend:</source> - <translation>Backend de Shaders:</translation> + <translation>Soporte de shaders:</translation> </message> <message> <location filename="../../src/yuzu/configuration/configure_graphics.ui" line="92"/> @@ -1046,12 +1062,12 @@ p, li { white-space: pre-wrap; } <message> <location filename="../../src/yuzu/configuration/configure_graphics.ui" line="156"/> <source>Graphics Settings</source> - <translation>Ajustes de los Gráficos</translation> + <translation>Ajustes de gráficos</translation> </message> <message> <location filename="../../src/yuzu/configuration/configure_graphics.ui" line="162"/> <source>Use disk pipeline cache</source> - <translation>Usar caché de shaders en tubería</translation> + <translation>Usar caché de shaders de tubería</translation> </message> <message> <location filename="../../src/yuzu/configuration/configure_graphics.ui" line="169"/> @@ -1076,17 +1092,17 @@ p, li { white-space: pre-wrap; } <message> <location filename="../../src/yuzu/configuration/configure_graphics.ui" line="211"/> <source>CPU Video Decoding</source> - <translation>Decodificación de vídeo de CPU</translation> + <translation>Decodificación de vídeo en la CPU</translation> </message> <message> <location filename="../../src/yuzu/configuration/configure_graphics.ui" line="216"/> <source>GPU Video Decoding (Default)</source> - <translation>Decodificación de vídeo de GPU (Por defecto)</translation> + <translation>Decodificación de vídeo en GPU (Por defecto)</translation> </message> <message> <location filename="../../src/yuzu/configuration/configure_graphics.ui" line="242"/> <source>Fullscreen Mode:</source> - <translation>Modo Pantalla Completa:</translation> + <translation>Modo pantalla completa:</translation> </message> <message> <location filename="../../src/yuzu/configuration/configure_graphics.ui" line="250"/> @@ -1096,17 +1112,17 @@ p, li { white-space: pre-wrap; } <message> <location filename="../../src/yuzu/configuration/configure_graphics.ui" line="255"/> <source>Exclusive Fullscreen</source> - <translation>Pantalla completa exclusiva</translation> + <translation>Pantalla completa</translation> </message> <message> <location filename="../../src/yuzu/configuration/configure_graphics.ui" line="281"/> <source>Aspect Ratio:</source> - <translation>Relación de Aspecto:</translation> + <translation>Relación de aspecto:</translation> </message> <message> <location filename="../../src/yuzu/configuration/configure_graphics.ui" line="289"/> <source>Default (16:9)</source> - <translation>Valor Predeterminado (16:9)</translation> + <translation>Valor predeterminado (16:9)</translation> </message> <message> <location filename="../../src/yuzu/configuration/configure_graphics.ui" line="294"/> @@ -1121,28 +1137,123 @@ p, li { white-space: pre-wrap; } <message> <location filename="../../src/yuzu/configuration/configure_graphics.ui" line="304"/> <source>Stretch to Window</source> - <translation>Estirar a la Ventana</translation> + <translation>Ajustar a la ventana</translation> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_graphics.ui" line="330"/> + <source>Resolution:</source> + <translation>Resolución:</translation> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_graphics.ui" line="338"/> + <source>0.5X (360p/540p) [EXPERIMENTAL]</source> + <translation>x0.5 (360p/540p) [EXPERIMENTAL]</translation> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_graphics.ui" line="343"/> + <source>0.75X (540p/810p) [EXPERIMENTAL]</source> + <translation>x0.75 (540p/810p) [EXPERIMENTAL]</translation> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_graphics.ui" line="348"/> + <source>1X (720p/1080p)</source> + <translation>x1 (720p/1080p)</translation> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_graphics.ui" line="353"/> + <source>2X (1440p/2160p)</source> + <translation>x2 (1440p/2160p)</translation> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_graphics.ui" line="358"/> + <source>3X (2160p/3240p)</source> + <translation>x3 (2160p/3240p)</translation> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_graphics.ui" line="363"/> + <source>4X (2880p/4320p)</source> + <translation>x4 (2880p/4320p)</translation> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_graphics.ui" line="368"/> + <source>5X (3600p/5400p)</source> + <translation>x5 (3600p/5400p)</translation> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_graphics.ui" line="373"/> + <source>6X (4320p/6480p)</source> + <translation>x6 (4320p/6480p)</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_graphics.ui" line="339"/> - <location filename="../../src/yuzu/configuration/configure_graphics.ui" line="349"/> + <location filename="../../src/yuzu/configuration/configure_graphics.ui" line="399"/> + <source>Window Adapting Filter:</source> + <translation>Filtro adaptable de ventana:</translation> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_graphics.ui" line="407"/> + <source>Nearest Neighbor</source> + <translation>Proveedor más cercano</translation> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_graphics.ui" line="412"/> + <source>Bilinear</source> + <translation>Bilineal</translation> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_graphics.ui" line="417"/> + <source>Bicubic</source> + <translation>Bicúbico</translation> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_graphics.ui" line="422"/> + <source>Gaussian</source> + <translation>Gaussiano</translation> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_graphics.ui" line="427"/> + <source>ScaleForce</source> + <translation>ScaleForce</translation> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_graphics.ui" line="432"/> + <source>AMD FidelityFX™️ Super Resolution [Vulkan Only]</source> + <translation>AMD FidelityFX™️ Super Resolution [Sólo Vulkan]</translation> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_graphics.ui" line="458"/> + <source>Anti-Aliasing Method:</source> + <translation>Método de Anti-Aliasing:</translation> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_graphics.ui" line="466"/> + <source>None</source> + <translation>Ninguno</translation> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_graphics.ui" line="471"/> + <source>FXAA</source> + <translation>FXAA</translation> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_graphics.ui" line="506"/> + <location filename="../../src/yuzu/configuration/configure_graphics.ui" line="516"/> <source>Use global background color</source> <translation>Usar el color de fondo global</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_graphics.ui" line="354"/> + <location filename="../../src/yuzu/configuration/configure_graphics.ui" line="521"/> <source>Set background color:</source> <translation>Establecer el color de fondo:</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_graphics.ui" line="362"/> + <location filename="../../src/yuzu/configuration/configure_graphics.ui" line="529"/> <source>Background Color:</source> - <translation>Color de Fondo:</translation> + <translation>Color de fondo:</translation> </message> <message> <location filename="../../src/yuzu/configuration/configure_graphics.cpp" line="34"/> <source>GLASM (Assembly Shaders, NVIDIA Only)</source> - <translation>GLASM (Assembly Shaders, Sólo NVIDIA)</translation> + <translation>GLASM (Assembly shaders, sólo NVIDIA)</translation> </message> </context> <context> @@ -1160,27 +1271,27 @@ p, li { white-space: pre-wrap; } <message> <location filename="../../src/yuzu/configuration/configure_graphics_advanced.ui" line="25"/> <source>Advanced Graphics Settings</source> - <translation>Ajustes de los Gráficos Avanzados</translation> + <translation>Ajustes avanzados de gráficos</translation> </message> <message> <location filename="../../src/yuzu/configuration/configure_graphics_advanced.ui" line="46"/> <source>Accuracy Level:</source> - <translation>Nivel de Precisión: </translation> + <translation>Nivel de precisión: </translation> </message> <message> <location filename="../../src/yuzu/configuration/configure_graphics_advanced.ui" line="75"/> <source>VSync prevents the screen from tearing, but some graphics cards have lower performance with VSync enabled. Keep it enabled if you don't notice a performance difference.</source> - <translation>VSync evita que la pantalla se distorsione, pero algunas tarjetas gráficas tienen un rendimiento menor con VSync activado. Mantenlo activado si no notas una diferencia de rendimiento.</translation> + <translation>El VSync evita que la pantalla se distorsione, pero algunas tarjetas gráficas tienen un menor rendimiento con el VSync activado. Mantenlo activado si no notas diferencias en el rendimiento.</translation> </message> <message> <location filename="../../src/yuzu/configuration/configure_graphics_advanced.ui" line="78"/> <source>Use VSync (OpenGL only)</source> - <translation>Usar VSync (sólo en OpenGL)</translation> + <translation>Usar VSync (sólo OpenGL)</translation> </message> <message> <location filename="../../src/yuzu/configuration/configure_graphics_advanced.ui" line="85"/> <source>Enables asynchronous shader compilation, which may reduce shader stutter. This feature is experimental.</source> - <translation>Activa la compilación de shaders en modo asíncrono, cuál podría reducir el tartamudeo de los shaders. Esta función es experimental.</translation> + <translation>Activa la compilación de shaders en modo asíncrono, lo que puede reducir la sobrecarga de shaders. Esta función es experimental.</translation> </message> <message> <location filename="../../src/yuzu/configuration/configure_graphics_advanced.ui" line="88"/> @@ -1195,37 +1306,42 @@ p, li { white-space: pre-wrap; } <message> <location filename="../../src/yuzu/configuration/configure_graphics_advanced.ui" line="98"/> <source>Use Fast GPU Time (Hack)</source> - <translation>Usar Tiempo Rápido en la GPU (Hack)</translation> + <translation>Usar tiempo rápido en la GPU (Hack)</translation> </message> <message> <location filename="../../src/yuzu/configuration/configure_graphics_advanced.ui" line="120"/> <source>Anisotropic Filtering:</source> - <translation>Filtrado Anisotrópico:</translation> + <translation>Filtrado anisotrópico:</translation> </message> <message> <location filename="../../src/yuzu/configuration/configure_graphics_advanced.ui" line="128"/> - <source>Default</source> - <translation>Valor Predeterminado</translation> + <source>Automatic</source> + <translation>Automático</translation> </message> <message> <location filename="../../src/yuzu/configuration/configure_graphics_advanced.ui" line="133"/> - <source>2x (WILL BREAK THINGS)</source> - <translation>2x (ROMPERÁ COSAS)</translation> + <source>Default</source> + <translation>Valor predeterminado</translation> </message> <message> <location filename="../../src/yuzu/configuration/configure_graphics_advanced.ui" line="138"/> - <source>4x (WILL BREAK THINGS)</source> - <translation>4x (ROMPERÁ COSAS)</translation> + <source>2x</source> + <translation>x2</translation> </message> <message> <location filename="../../src/yuzu/configuration/configure_graphics_advanced.ui" line="143"/> - <source>8x (WILL BREAK THINGS)</source> - <translation>8x (ROMPERÁ COSAS)</translation> + <source>4x</source> + <translation>x4</translation> </message> <message> <location filename="../../src/yuzu/configuration/configure_graphics_advanced.ui" line="148"/> - <source>16x (WILL BREAK THINGS)</source> - <translation>16x (ROMPERÁ COSAS)</translation> + <source>8x</source> + <translation>x8</translation> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_graphics_advanced.ui" line="153"/> + <source>16x</source> + <translation>x16</translation> </message> </context> <context> @@ -1233,12 +1349,12 @@ p, li { white-space: pre-wrap; } <message> <location filename="../../src/yuzu/configuration/configure_hotkeys.ui" line="14"/> <source>Hotkey Settings</source> - <translation>Configuración de Teclas de Acceso Rápido</translation> + <translation>Configuración de teclas de acceso rápido</translation> </message> <message> <location filename="../../src/yuzu/configuration/configure_hotkeys.ui" line="17"/> <source>Hotkeys</source> - <translation>Teclas de Acceso Rápido</translation> + <translation>Teclas de acceso rápido</translation> </message> <message> <location filename="../../src/yuzu/configuration/configure_hotkeys.ui" line="25"/> @@ -1248,12 +1364,12 @@ p, li { white-space: pre-wrap; } <message> <location filename="../../src/yuzu/configuration/configure_hotkeys.ui" line="45"/> <source>Clear All</source> - <translation>Limpiar Todo</translation> + <translation>Borrar todo</translation> </message> <message> <location filename="../../src/yuzu/configuration/configure_hotkeys.ui" line="52"/> <source>Restore Defaults</source> - <translation>Restaurar Valores Predeterminados</translation> + <translation>Restaurar valores predeterminados</translation> </message> <message> <location filename="../../src/yuzu/configuration/configure_hotkeys.cpp" line="74"/> @@ -1263,7 +1379,7 @@ p, li { white-space: pre-wrap; } <message> <location filename="../../src/yuzu/configuration/configure_hotkeys.cpp" line="74"/> <source>Hotkey</source> - <translation>Tecla de Acceso Rápido</translation> + <translation>Tecla de acceso rápido</translation> </message> <message> <location filename="../../src/yuzu/configuration/configure_hotkeys.cpp" line="74"/> @@ -1274,17 +1390,17 @@ p, li { white-space: pre-wrap; } <location filename="../../src/yuzu/configuration/configure_hotkeys.cpp" line="96"/> <location filename="../../src/yuzu/configuration/configure_hotkeys.cpp" line="183"/> <source>Conflicting Key Sequence</source> - <translation>Secuencia de Teclas en Conflicto</translation> + <translation>Combinación de teclas en conflicto</translation> </message> <message> <location filename="../../src/yuzu/configuration/configure_hotkeys.cpp" line="97"/> <source>The entered key sequence is already assigned to: %1</source> - <translation>La secuencia de teclas introducida ya ha sido asignada a: %1</translation> + <translation>La combinación de teclas introducida ya ha sido asignada a: %1</translation> </message> <message> <location filename="../../src/yuzu/configuration/configure_hotkeys.cpp" line="171"/> <source>Restore Default</source> - <translation>Restaurar Valor Predeterminado</translation> + <translation>Restaurar valor predeterminado</translation> </message> <message> <location filename="../../src/yuzu/configuration/configure_hotkeys.cpp" line="172"/> @@ -1294,7 +1410,7 @@ p, li { white-space: pre-wrap; } <message> <location filename="../../src/yuzu/configuration/configure_hotkeys.cpp" line="184"/> <source>The default key sequence is already assigned to: %1</source> - <translation>La secuencia de teclas predeterminada ya ha sido asignada a: %1</translation> + <translation>La combinación de teclas predeterminada ya ha sido asignada a: %1</translation> </message> </context> <context> @@ -1302,7 +1418,7 @@ p, li { white-space: pre-wrap; } <message> <location filename="../../src/yuzu/configuration/configure_input.ui" line="14"/> <source>ConfigureInput</source> - <translation>ConfigurarEntrada</translation> + <translation>Configurarentrada</translation> </message> <message> <location filename="../../src/yuzu/configuration/configure_input.ui" line="39"/> @@ -1361,12 +1477,12 @@ p, li { white-space: pre-wrap; } <message> <location filename="../../src/yuzu/configuration/configure_input.ui" line="138"/> <source>Console Mode</source> - <translation>Modo de la Consola</translation> + <translation>Modo de la consola</translation> </message> <message> <location filename="../../src/yuzu/configuration/configure_input.ui" line="159"/> <source>Docked</source> - <translation>Acoplado</translation> + <translation>Sobremesa</translation> </message> <message> <location filename="../../src/yuzu/configuration/configure_input.ui" line="169"/> @@ -1392,7 +1508,7 @@ p, li { white-space: pre-wrap; } <message> <location filename="../../src/yuzu/configuration/configure_input.ui" line="296"/> <source>Controllers</source> - <translation>Controladores</translation> + <translation>Mandos</translation> </message> <message> <location filename="../../src/yuzu/configuration/configure_input.ui" line="324"/> @@ -1442,7 +1558,7 @@ p, li { white-space: pre-wrap; } <message> <location filename="../../src/yuzu/configuration/configure_input.ui" line="494"/> <source>Defaults</source> - <translation>Valores Predeterminados</translation> + <translation>Predeterminados</translation> </message> <message> <location filename="../../src/yuzu/configuration/configure_input.ui" line="537"/> @@ -1455,12 +1571,12 @@ p, li { white-space: pre-wrap; } <message> <location filename="../../src/yuzu/configuration/configure_input_advanced.ui" line="14"/> <source>Configure Input</source> - <translation>Configurar Controles</translation> + <translation>Configurar controles</translation> </message> <message> <location filename="../../src/yuzu/configuration/configure_input_advanced.ui" line="74"/> <source>Joycon Colors</source> - <translation>Colores de Joycon</translation> + <translation>Colores de los Joycon</translation> </message> <message> <location filename="../../src/yuzu/configuration/configure_input_advanced.ui" line="125"/> @@ -1477,7 +1593,7 @@ p, li { white-space: pre-wrap; } <location filename="../../src/yuzu/configuration/configure_input_advanced.ui" line="1955"/> <location filename="../../src/yuzu/configuration/configure_input_advanced.ui" line="2241"/> <source>L Body</source> - <translation>Lado L</translation> + <translation>Parte L</translation> </message> <message> <location filename="../../src/yuzu/configuration/configure_input_advanced.ui" line="219"/> @@ -1501,7 +1617,7 @@ p, li { white-space: pre-wrap; } <location filename="../../src/yuzu/configuration/configure_input_advanced.ui" line="2086"/> <location filename="../../src/yuzu/configuration/configure_input_advanced.ui" line="2372"/> <source>R Body</source> - <translation>Lado R</translation> + <translation>Parte R</translation> </message> <message> <location filename="../../src/yuzu/configuration/configure_input_advanced.ui" line="350"/> @@ -1552,8 +1668,8 @@ p, li { white-space: pre-wrap; } </message> <message> <location filename="../../src/yuzu/configuration/configure_input_advanced.ui" line="2533"/> - <source>Other</source> - <translation>Otro</translation> + <source>Emulated Devices</source> + <translation>Dispositivos Emulados</translation> </message> <message> <location filename="../../src/yuzu/configuration/configure_input_advanced.ui" line="2545"/> @@ -1562,501 +1678,526 @@ p, li { white-space: pre-wrap; } </message> <message> <location filename="../../src/yuzu/configuration/configure_input_advanced.ui" line="2558"/> - <source>Emulate Analog with Keyboard Input</source> - <translation>Emular entrada analógica con teclado</translation> - </message> - <message> - <location filename="../../src/yuzu/configuration/configure_input_advanced.ui" line="2571"/> - <source>Enable mouse panning</source> - <translation>Activar barrido del ratón</translation> - </message> - <message> - <location filename="../../src/yuzu/configuration/configure_input_advanced.ui" line="2578"/> - <source>Mouse sensitivity</source> - <translation>Sensibilidad del Mouse</translation> + <source>Mouse</source> + <translation>Ratón</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_advanced.ui" line="2584"/> - <source>%</source> - <translation>%</translation> + <location filename="../../src/yuzu/configuration/configure_input_advanced.ui" line="2565"/> + <source>Touchscreen</source> + <translation>Pantalla táctil</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_advanced.ui" line="2600"/> - <location filename="../../src/yuzu/configuration/configure_input_advanced.ui" line="2623"/> + <location filename="../../src/yuzu/configuration/configure_input_advanced.ui" line="2588"/> <source>Advanced</source> <translation>Avanzado</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_advanced.ui" line="2630"/> - <source>Touchscreen</source> - <translation>Pantalla Táctil</translation> - </message> - <message> - <location filename="../../src/yuzu/configuration/configure_input_advanced.ui" line="2643"/> - <source>Mouse</source> - <translation>Ratón</translation> - </message> - <message> - <location filename="../../src/yuzu/configuration/configure_input_advanced.ui" line="2650"/> - <source>Motion / Touch</source> - <translation>Movimiento / Táctil</translation> + <location filename="../../src/yuzu/configuration/configure_input_advanced.ui" line="2595"/> + <source>Debug Controller</source> + <translation>Depurar controlador</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_advanced.ui" line="2657"/> - <location filename="../../src/yuzu/configuration/configure_input_advanced.ui" line="2671"/> + <location filename="../../src/yuzu/configuration/configure_input_advanced.ui" line="2602"/> + <location filename="../../src/yuzu/configuration/configure_input_advanced.ui" line="2702"/> <source>Configure</source> <translation>Configurar</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_advanced.ui" line="2664"/> - <source>Debug Controller</source> - <translation>Controlador de Depuración</translation> + <location filename="../../src/yuzu/configuration/configure_input_advanced.ui" line="2612"/> + <source>Other</source> + <translation>Otros</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_advanced.ui" line="2678"/> + <location filename="../../src/yuzu/configuration/configure_input_advanced.ui" line="2624"/> + <source>Emulate Analog with Keyboard Input</source> + <translation>Emular entradas analógicas con teclado</translation> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_input_advanced.ui" line="2631"/> <source>Requires restarting yuzu</source> - <translation>Requiere un reinicio de yuzu</translation> + <translation>Requiere reiniciar yuzu</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_advanced.ui" line="2687"/> + <location filename="../../src/yuzu/configuration/configure_input_advanced.ui" line="2640"/> <source>Enable XInput 8 player support (disables web applet)</source> - <translation>Activar soporte de 8 jugadores de XInput (desactiva la web applet)</translation> + <translation>Activar soporte de 8 jugadores XInput (desactiva la web applet)</translation> </message> -</context> -<context> - <name>ConfigureInputPlayer</name> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="14"/> - <source>Configure Input</source> - <translation>Configurar Controles</translation> + <location filename="../../src/yuzu/configuration/configure_input_advanced.ui" line="2653"/> + <source>Enable UDP controllers (not needed for motion)</source> + <translation type="unfinished"/> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="63"/> - <source>Connect Controller</source> - <translation>Conectar el Controlador</translation> + <location filename="../../src/yuzu/configuration/configure_input_advanced.ui" line="2666"/> + <source>Enable mouse panning</source> + <translation>Activar desplazamiento del ratón</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="94"/> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="535"/> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="986"/> - <source>Pro Controller</source> - <translation>Pro Controller</translation> + <location filename="../../src/yuzu/configuration/configure_input_advanced.ui" line="2673"/> + <source>Mouse sensitivity</source> + <translation>Sensibilidad del ratón</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="99"/> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="992"/> - <source>Dual Joycons</source> - <translation>Doble Joycons</translation> + <location filename="../../src/yuzu/configuration/configure_input_advanced.ui" line="2679"/> + <source>%</source> + <translation>%</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="104"/> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="998"/> - <source>Left Joycon</source> - <translation>Joycon Izquierdo</translation> + <location filename="../../src/yuzu/configuration/configure_input_advanced.ui" line="2695"/> + <source>Motion / Touch</source> + <translation>Movimiento / táctil</translation> </message> +</context> +<context> + <name>ConfigureInputPlayer</name> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="109"/> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="1004"/> - <source>Right Joycon</source> - <translation>Joycon Derecho</translation> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="14"/> + <source>Configure Input</source> + <translation>Configurar controles</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="114"/> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="1010"/> - <source>Handheld</source> - <translation>Portátil</translation> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="63"/> + <source>Connect Controller</source> + <translation>Conectar controlador</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="125"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="100"/> <source>Input Device</source> - <translation>Dispositivo de Entrada</translation> - </message> - <message> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="153"/> - <source>Any</source> - <translation>Cualquier</translation> + <translation>Dispositivo de entrada</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="158"/> - <source>Keyboard/Mouse</source> - <translation>Teclado/Ratón</translation> - </message> - <message> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="194"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="156"/> <source>Profile</source> <translation>Perfil</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="234"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="196"/> <source>Save</source> <translation>Guardar</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="250"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="212"/> <source>New</source> <translation>Crear</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="266"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="228"/> <source>Delete</source> <translation>Borrar</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="329"/> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="1267"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="291"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="1190"/> <source>Left Stick</source> - <translation>Palanca Izquierda</translation> + <translation>Palanca izquierda</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="387"/> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="429"/> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="963"/> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="1002"/> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="2621"/> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="2660"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="349"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="391"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="925"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="964"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="2583"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="2622"/> <source>Up</source> <translation>Arriba</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="460"/> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="499"/> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="1033"/> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="1072"/> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="2107"/> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="2691"/> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="2730"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="422"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="461"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="995"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="1034"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="2069"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="2653"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="2692"/> <source>Left</source> <translation>Izquierda</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="509"/> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="548"/> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="1082"/> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="1121"/> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="2156"/> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="2740"/> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="2779"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="471"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="510"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="1044"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="1083"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="2118"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="2702"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="2741"/> <source>Right</source> <translation>Derecha</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="591"/> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="630"/> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="1164"/> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="1203"/> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="2822"/> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="2861"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="553"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="592"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="1126"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="1165"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="2784"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="2823"/> <source>Down</source> <translation>Abajo</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="661"/> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="700"/> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="2892"/> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="2931"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="623"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="662"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="2854"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="2893"/> <source>Pressed</source> <translation>Presionado</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="710"/> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="749"/> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="2941"/> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="2980"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="672"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="711"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="2903"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="2942"/> <source>Modifier</source> <translation>Modificador</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="759"/> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="2990"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="721"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="2952"/> <source>Range</source> <translation>Rango</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="792"/> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="3023"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="754"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="2985"/> <source>%</source> <translation>%</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="835"/> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="3063"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="797"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="3025"/> <source>Deadzone: 0%</source> - <translation>Zona Muerta: 0%</translation> + <translation>Punto muerto: 0%</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="859"/> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="3087"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="821"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="3049"/> <source>Modifier Range: 0%</source> - <translation>Rango del Modificador: 0%</translation> + <translation>Rango del modificador: 0%</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="905"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="867"/> <source>D-Pad</source> <translation>Cruceta</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="1289"/> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="1328"/> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="1272"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="1251"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="1290"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="1195"/> <source>L</source> <translation>L</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="1344"/> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="1383"/> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="1264"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="1306"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="1345"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="1187"/> <source>ZL</source> <translation>ZL</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="1464"/> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="1503"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="1426"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="1465"/> <source>Minus</source> <translation>Menos</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="1513"/> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="1552"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="1475"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="1514"/> <source>Capture</source> <translation>Captura</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="1583"/> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="1622"/> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="1263"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="1545"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="1584"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="1186"/> <source>Plus</source> <translation>Más</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="1632"/> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="1671"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="1594"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="1633"/> <source>Home</source> <translation>Inicio</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="1736"/> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="1775"/> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="1266"/> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="1273"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="1698"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="1737"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="1189"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="1196"/> <source>R</source> <translation>R</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="1791"/> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="1830"/> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="1265"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="1753"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="1792"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="1188"/> <source>ZR</source> <translation>ZR</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="1911"/> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="1950"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="1873"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="1912"/> <source>SL</source> <translation>SL</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="1960"/> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="1999"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="1922"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="1961"/> <source>SR</source> <translation>SR</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="2068"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="2030"/> <source>Motion 1</source> <translation>Movimiento 1</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="2117"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="2079"/> <source>Motion 2</source> <translation>Movimiento 2</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="2208"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="2170"/> <source>Face Buttons</source> - <translation>Botones Frontales</translation> + <translation>Botones frontales</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="2266"/> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="2305"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="2228"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="2267"/> <source>X</source> <translation>X</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="2336"/> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="2375"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="2298"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="2337"/> <source>Y</source> <translation>Y</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="2385"/> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="2424"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="2347"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="2386"/> <source>A</source> <translation>A</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="2467"/> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="2506"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="2429"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="2468"/> <source>B</source> <translation>B</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="2554"/> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="1268"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="2516"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="1191"/> <source>Right Stick</source> - <translation>Palanca Derecha</translation> + <translation>Palanca derecha</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="322"/> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="372"/> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="430"/> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="474"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="330"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="396"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="461"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="507"/> <source>Clear</source> <translation>Borrar</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="324"/> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="374"/> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="432"/> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="476"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="332"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="398"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="463"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="509"/> <source>[not set]</source> <translation>[no definido]</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="327"/> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="478"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="335"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="512"/> <source>Toggle button</source> <translation>Alternar botón</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="335"/> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="339"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="341"/> + <source>Invert button</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="349"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="465"/> + <source>Invert axis</source> + <translation>Invertir ejes</translation> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="355"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="359"/> <source>Set threshold</source> <translation>Configurar umbral</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="339"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="359"/> <source>Choose a value between 0% and 100%</source> <translation>Seleccione un valor entre 0% y 100%.</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="406"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="436"/> <source>Map Analog Stick</source> - <translation>Configurar Mando Analógico</translation> + <translation>Configuración de palanca analógico</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="407"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="437"/> <source>After pressing OK, first move your joystick horizontally, and then vertically. To invert the axes, first move your joystick vertically, and then horizontally.</source> - <translation>Después de pulsar OK, primero mueve tu joystick de manera horizontal, y luego verticalmente. -Para invertir los ejes, primero mueve tu joystick de manera vertical, y luego horizontalmente.</translation> + <translation>Después de pulsar OK, mueve primero el joystick de manera horizontal, y luego verticalmente. +Para invertir los ejes, mueve primero el joystick de manera vertical, y luego horizontalmente.</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="434"/> - <source>Invert axis</source> - <translation>Invertir axis</translation> - </message> - <message> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="500"/> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="952"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="537"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="891"/> <source>Deadzone: %1%</source> - <translation>Zona Muerta: %1%</translation> + <translation>Punto muerto: %1%</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="508"/> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="963"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="546"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="896"/> <source>Modifier Range: %1%</source> - <translation>Rango del Modificador: %1%</translation> + <translation>Rango del modificador: %1%</translation> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="572"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="918"/> + <source>Pro Controller</source> + <translation>Controlador Pro</translation> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="924"/> + <source>Dual Joycons</source> + <translation>Joycons duales</translation> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="930"/> + <source>Left Joycon</source> + <translation>Joycon izquierdo</translation> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="936"/> + <source>Right Joycon</source> + <translation>Joycon derecho</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="1016"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="942"/> + <source>Handheld</source> + <translation>Portátil</translation> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="948"/> <source>GameCube Controller</source> - <translation>Controlador GameCube</translation> + <translation>Controlador de GameCube</translation> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="958"/> + <source>Poke Ball Plus</source> + <translation type="unfinished"/> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="1271"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="964"/> + <source>NES Controller</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="970"/> + <source>SNES Controller</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="976"/> + <source>N64 Controller</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="982"/> + <source>Sega Genesis</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="1194"/> <source>Start / Pause</source> - <translation>Empezar / Parar</translation> + <translation>Inicio / Pausa</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="1274"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="1197"/> <source>Z</source> <translation>Z</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="1275"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="1198"/> <source>Control Stick</source> <translation>Palanca de control</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="1276"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="1199"/> <source>C-Stick</source> <translation>C-Stick</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="1335"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="1297"/> <source>Shake!</source> <translation>¡Agita!</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="1337"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="1299"/> <source>[waiting]</source> <translation>[esperando]</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="1462"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="1381"/> <source>New Profile</source> - <translation>Nuevo Perfil</translation> + <translation>Nuevo perfil</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="1462"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="1381"/> <source>Enter a profile name:</source> - <translation>Introduzca un nombre de perfil:</translation> + <translation>Introduce un nombre de perfil:</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="1470"/> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="1478"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="1389"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="1397"/> <source>Create Input Profile</source> - <translation>Crear Perfil de Entrada</translation> + <translation>Crear perfil de entrada</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="1471"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="1390"/> <source>The given profile name is not valid!</source> - <translation>El nombre de perfil dado no es valido!</translation> + <translation>¡El nombre de perfil introducido no es válido!</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="1479"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="1398"/> <source>Failed to create the input profile "%1"</source> - <translation>Fallo al crear el perfil de entrada "%1"</translation> + <translation>Error al crear el perfil de entrada "%1"</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="1499"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="1418"/> <source>Delete Input Profile</source> - <translation>Eliminar Perfil de Entrada</translation> + <translation>Eliminar perfil de entrada</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="1500"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="1419"/> <source>Failed to delete the input profile "%1"</source> - <translation>Fallo al eliminar el perfil de entrada "%1"</translation> + <translation>Error al eliminar el perfil de entrada "%1"</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="1522"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="1441"/> <source>Load Input Profile</source> - <translation>Cargar Perfil de Entrada</translation> + <translation>Cargar perfil de entrada</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="1523"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="1442"/> <source>Failed to load the input profile "%1"</source> - <translation>Fallo al cargar el perfil de entrada "%1"</translation> + <translation>Error al cargar el perfil de entrada "%1"</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="1542"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="1461"/> <source>Save Input Profile</source> - <translation>Guardar Perfil de Entrada</translation> + <translation>Guardar perfil de entrada</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="1543"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="1462"/> <source>Failed to save the input profile "%1"</source> - <translation>Fallo al guardar el perfil de entrada "%1"</translation> + <translation>Error al guardar el perfil de entrada "%1"</translation> </message> </context> <context> @@ -2064,7 +2205,7 @@ Para invertir los ejes, primero mueve tu joystick de manera vertical, y luego ho <message> <location filename="../../src/yuzu/configuration/configure_input_profile_dialog.ui" line="14"/> <source>Create Input Profile</source> - <translation>Crear Perfil de Entrada</translation> + <translation>Crear perfil de entrada</translation> </message> <message> <location filename="../../src/yuzu/configuration/configure_input_profile_dialog.ui" line="40"/> @@ -2074,237 +2215,163 @@ Para invertir los ejes, primero mueve tu joystick de manera vertical, y luego ho <message> <location filename="../../src/yuzu/configuration/configure_input_profile_dialog.ui" line="47"/> <source>Defaults</source> - <translation>Valores Predeterminados</translation> + <translation>Predeterminados</translation> </message> </context> <context> <name>ConfigureMotionTouch</name> <message> - <location filename="../../src/yuzu/configuration/configure_motion_touch.ui" line="14"/> + <location filename="../../src/yuzu/configuration/configure_motion_touch.ui" line="6"/> <source>Configure Motion / Touch</source> - <translation>Configurar: Movimiento / Táctil</translation> - </message> - <message> - <location filename="../../src/yuzu/configuration/configure_motion_touch.ui" line="23"/> - <source>Mouse Motion</source> - <translation>Movimiento del Ratón</translation> + <translation>Configurar: movimiento / táctil</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_motion_touch.ui" line="31"/> - <source>Sensitivity:</source> - <translation>Sensibilidad:</translation> - </message> - <message> - <location filename="../../src/yuzu/configuration/configure_motion_touch.ui" line="65"/> + <location filename="../../src/yuzu/configuration/configure_motion_touch.ui" line="15"/> <source>Touch</source> <translation>Táctil</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_motion_touch.ui" line="73"/> + <location filename="../../src/yuzu/configuration/configure_motion_touch.ui" line="23"/> <source>UDP Calibration:</source> <translation>Calibración UDP:</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_motion_touch.ui" line="80"/> + <location filename="../../src/yuzu/configuration/configure_motion_touch.ui" line="30"/> <source>(100, 50) - (1800, 850)</source> <translation>(100, 50) - (1800, 850)</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_motion_touch.ui" line="96"/> - <location filename="../../src/yuzu/configuration/configure_motion_touch.ui" line="129"/> - <location filename="../../src/yuzu/configuration/configure_motion_touch.cpp" line="250"/> + <location filename="../../src/yuzu/configuration/configure_motion_touch.ui" line="46"/> + <location filename="../../src/yuzu/configuration/configure_motion_touch.ui" line="73"/> + <location filename="../../src/yuzu/configuration/configure_motion_touch.cpp" line="245"/> <source>Configure</source> <translation>Configurar</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_motion_touch.ui" line="113"/> - <source>Use button mapping:</source> - <translation>Usar el mapeo de botones:</translation> + <location filename="../../src/yuzu/configuration/configure_motion_touch.ui" line="57"/> + <source>Touch from button profile:</source> + <translation type="unfinished"/> </message> <message> - <location filename="../../src/yuzu/configuration/configure_motion_touch.ui" line="141"/> + <location filename="../../src/yuzu/configuration/configure_motion_touch.ui" line="85"/> <source>CemuhookUDP Config</source> <translation>Configuración CemuhookUDP</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_motion_touch.ui" line="147"/> + <location filename="../../src/yuzu/configuration/configure_motion_touch.ui" line="91"/> <source>You may use any Cemuhook compatible UDP input source to provide motion and touch input.</source> - <translation>Puede utilizar cualquier fuente de entrada UDP compatible con Cemuhook para proporcionar una entrada de movimiento y de tacto.</translation> + <translation>Puedes utilizar cualquier fuente de entrada UDP compatible con Cemuhook para proporcionar una entrada de movimiento y táctil.</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_motion_touch.ui" line="190"/> + <location filename="../../src/yuzu/configuration/configure_motion_touch.ui" line="134"/> <source>Server:</source> <translation>Servidor:</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_motion_touch.ui" line="217"/> + <location filename="../../src/yuzu/configuration/configure_motion_touch.ui" line="161"/> <source>Port:</source> <translation>Puerto:</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_motion_touch.ui" line="244"/> + <location filename="../../src/yuzu/configuration/configure_motion_touch.ui" line="188"/> <source>Learn More</source> - <translation>Más Información</translation> + <translation>Más información</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_motion_touch.ui" line="257"/> - <location filename="../../src/yuzu/configuration/configure_motion_touch.cpp" line="273"/> + <location filename="../../src/yuzu/configuration/configure_motion_touch.ui" line="201"/> + <location filename="../../src/yuzu/configuration/configure_motion_touch.cpp" line="268"/> <source>Test</source> <translation>Probar</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_motion_touch.ui" line="270"/> + <location filename="../../src/yuzu/configuration/configure_motion_touch.ui" line="214"/> <source>Add Server</source> - <translation>Añadir Servidor</translation> + <translation>Añadir servidor</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_motion_touch.ui" line="303"/> + <location filename="../../src/yuzu/configuration/configure_motion_touch.ui" line="247"/> <source>Remove Server</source> - <translation>Eliminar Servidor</translation> + <translation>Eliminar servidor</translation> </message> <message> <location filename="../../src/yuzu/configuration/configure_motion_touch.cpp" line="91"/> <source><a href='https://yuzu-emu.org/wiki/using-a-controller-or-android-phone-for-motion-or-touch-input'><span style="text-decoration: underline; color:#039be5;">Learn More</span></a></source> - <translation><a href='https://yuzu-emu.org/wiki/using-a-controller-or-android-phone-for-motion-or-touch-input'><span style="text-decoration: underline; color:#039be5;">Más Información</span></a></translation> + <translation><a href='https://yuzu-emu.org/wiki/using-a-controller-or-android-phone-for-motion-or-touch-input'><span style="text-decoration: underline; color:#039be5;">Más información</span></a></translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_motion_touch.cpp" line="176"/> + <location filename="../../src/yuzu/configuration/configure_motion_touch.cpp" line="171"/> <source>%1:%2</source> <translation>%1:%2</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_motion_touch.cpp" line="181"/> - <location filename="../../src/yuzu/configuration/configure_motion_touch.cpp" line="185"/> - <location filename="../../src/yuzu/configuration/configure_motion_touch.cpp" line="189"/> - <location filename="../../src/yuzu/configuration/configure_motion_touch.cpp" line="195"/> - <location filename="../../src/yuzu/configuration/configure_motion_touch.cpp" line="201"/> - <location filename="../../src/yuzu/configuration/configure_motion_touch.cpp" line="295"/> + <location filename="../../src/yuzu/configuration/configure_motion_touch.cpp" line="176"/> + <location filename="../../src/yuzu/configuration/configure_motion_touch.cpp" line="180"/> + <location filename="../../src/yuzu/configuration/configure_motion_touch.cpp" line="184"/> + <location filename="../../src/yuzu/configuration/configure_motion_touch.cpp" line="190"/> + <location filename="../../src/yuzu/configuration/configure_motion_touch.cpp" line="196"/> + <location filename="../../src/yuzu/configuration/configure_motion_touch.cpp" line="290"/> <source>yuzu</source> <translation>yuzu</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_motion_touch.cpp" line="181"/> + <location filename="../../src/yuzu/configuration/configure_motion_touch.cpp" line="176"/> <source>Port number has invalid characters</source> - <translation>El numero del puerto tiene caracteres invalidos</translation> + <translation>El número del puerto tiene caracteres que no son válidos</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_motion_touch.cpp" line="185"/> + <location filename="../../src/yuzu/configuration/configure_motion_touch.cpp" line="180"/> <source>Port has to be in range 0 and 65353</source> - <translation>El puerto tiene que estar en el rango de 0 y 65353</translation> + <translation>El puerto debe estar en un rango entre 0 y 65353</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_motion_touch.cpp" line="189"/> + <location filename="../../src/yuzu/configuration/configure_motion_touch.cpp" line="184"/> <source>IP address is not valid</source> - <translation>Dirección IP no valida</translation> + <translation>Dirección IP no válida</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_motion_touch.cpp" line="195"/> + <location filename="../../src/yuzu/configuration/configure_motion_touch.cpp" line="190"/> <source>This UDP server already exists</source> <translation>Este servidor UDP ya existe</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_motion_touch.cpp" line="201"/> + <location filename="../../src/yuzu/configuration/configure_motion_touch.cpp" line="196"/> <source>Unable to add more than 8 servers</source> - <translation>Incapaz de añadir mas de 8 servidores</translation> + <translation>No es posible añadir más de 8 servidores</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_motion_touch.cpp" line="217"/> + <location filename="../../src/yuzu/configuration/configure_motion_touch.cpp" line="212"/> <source>Testing</source> <translation>Probando</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_motion_touch.cpp" line="233"/> + <location filename="../../src/yuzu/configuration/configure_motion_touch.cpp" line="228"/> <source>Configuring</source> <translation>Configurando</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_motion_touch.cpp" line="264"/> + <location filename="../../src/yuzu/configuration/configure_motion_touch.cpp" line="259"/> <source>Test Successful</source> - <translation>Prueba Existosa</translation> + <translation>Prueba existosa</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_motion_touch.cpp" line="265"/> + <location filename="../../src/yuzu/configuration/configure_motion_touch.cpp" line="260"/> <source>Successfully received data from the server.</source> - <translation>Se recibió con éxito los datos del servidor.</translation> + <translation>Se han recibido con éxito los datos del servidor.</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_motion_touch.cpp" line="267"/> + <location filename="../../src/yuzu/configuration/configure_motion_touch.cpp" line="262"/> <source>Test Failed</source> <translation>Prueba fallida</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_motion_touch.cpp" line="268"/> + <location filename="../../src/yuzu/configuration/configure_motion_touch.cpp" line="263"/> <source>Could not receive valid data from the server.<br>Please verify that the server is set up correctly and the address and port are correct.</source> - <translation>No pudo recibir datos válidos del servidor.<br>Por favor, verifique que el servidor esté configurado correctamente y que la dirección y el puerto sean correctos.</translation> + <translation>No se han podido recibir datos válidos del servidor.<br>Por favor, verifica que el servidor esté configurado correctamente y que la dirección y el puerto sean correctos.</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_motion_touch.cpp" line="296"/> + <location filename="../../src/yuzu/configuration/configure_motion_touch.cpp" line="291"/> <source>UDP Test or calibration configuration is in progress.<br>Please wait for them to finish.</source> - <translation>La prueba de UDP o la configuración de la calibración está en curso.<br>Por favor, espere a que termine el proceso.</translation> - </message> -</context> -<context> - <name>ConfigureMouseAdvanced</name> - <message> - <location filename="../../src/yuzu/configuration/configure_mouse_advanced.ui" line="14"/> - <source>Configure Mouse</source> - <translation>Configurar el Ratón</translation> - </message> - <message> - <location filename="../../src/yuzu/configuration/configure_mouse_advanced.ui" line="25"/> - <source>Mouse Buttons</source> - <translation>Botones del Ratón</translation> - </message> - <message> - <location filename="../../src/yuzu/configuration/configure_mouse_advanced.ui" line="35"/> - <source>Forward:</source> - <translation>Adelante:</translation> - </message> - <message> - <location filename="../../src/yuzu/configuration/configure_mouse_advanced.ui" line="75"/> - <source>Back:</source> - <translation>Atrás:</translation> - </message> - <message> - <location filename="../../src/yuzu/configuration/configure_mouse_advanced.ui" line="103"/> - <source>Left:</source> - <translation>Izquierda:</translation> - </message> - <message> - <location filename="../../src/yuzu/configuration/configure_mouse_advanced.ui" line="131"/> - <source>Middle:</source> - <translation>Medio:</translation> - </message> - <message> - <location filename="../../src/yuzu/configuration/configure_mouse_advanced.ui" line="197"/> - <source>Right:</source> - <translation>Derecha:</translation> - </message> - <message> - <location filename="../../src/yuzu/configuration/configure_mouse_advanced.ui" line="270"/> - <location filename="../../src/yuzu/configuration/configure_mouse_advanced.cpp" line="109"/> - <source>Clear</source> - <translation>Borrar</translation> - </message> - <message> - <location filename="../../src/yuzu/configuration/configure_mouse_advanced.ui" line="289"/> - <source>Defaults</source> - <translation>Valores Predeterminados</translation> - </message> - <message> - <location filename="../../src/yuzu/configuration/configure_mouse_advanced.cpp" line="111"/> - <source>[not set]</source> - <translation>[no establecido]</translation> - </message> - <message> - <location filename="../../src/yuzu/configuration/configure_mouse_advanced.cpp" line="113"/> - <source>Restore Default</source> - <translation>Restaurar Valor Predeterminado</translation> - </message> - <message> - <location filename="../../src/yuzu/configuration/configure_mouse_advanced.cpp" line="200"/> - <source>[press key]</source> - <translation>[pulsa un botón]</translation> + <translation>La prueba de UDP o la configuración de la calibración está en curso.<br>Por favor, espera a que termine el proceso.</translation> </message> </context> <context> @@ -2355,12 +2422,12 @@ Para invertir los ejes, primero mueve tu joystick de manera vertical, y luego ho <message> <location filename="../../src/yuzu/configuration/configure_per_game.ui" line="92"/> <source>Title ID</source> - <translation>ID del Título</translation> + <translation>ID del título</translation> </message> <message> <location filename="../../src/yuzu/configuration/configure_per_game.ui" line="129"/> <source>Filename</source> - <translation>Nombre del Archivo</translation> + <translation>Nombre del archivo</translation> </message> <message> <location filename="../../src/yuzu/configuration/configure_per_game.ui" line="156"/> @@ -2385,7 +2452,7 @@ Para invertir los ejes, primero mueve tu joystick de manera vertical, y luego ho <message> <location filename="../../src/yuzu/configuration/configure_per_game.cpp" line="64"/> <source>Add-Ons</source> - <translation>Complementos</translation> + <translation>Extras / Add-Ons</translation> </message> <message> <location filename="../../src/yuzu/configuration/configure_per_game.cpp" line="65"/> @@ -2410,7 +2477,7 @@ Para invertir los ejes, primero mueve tu joystick de manera vertical, y luego ho <message> <location filename="../../src/yuzu/configuration/configure_per_game.cpp" line="69"/> <source>Adv. Graphics</source> - <translation type="unfinished"/> + <translation>Gráficos avanz.</translation> </message> <message> <location filename="../../src/yuzu/configuration/configure_per_game.cpp" line="70"/> @@ -2425,7 +2492,7 @@ Para invertir los ejes, primero mueve tu joystick de manera vertical, y luego ho <message> <location filename="../../src/yuzu/configuration/configuration_shared.cpp" line="93"/> <source>Use global configuration (%1)</source> - <translation>Usar la configuración global (%1)</translation> + <translation>Usar configuración global (%1)</translation> </message> </context> <context> @@ -2438,12 +2505,12 @@ Para invertir los ejes, primero mueve tu joystick de manera vertical, y luego ho <message> <location filename="../../src/yuzu/configuration/configure_per_game_addons.ui" line="17"/> <source>Add-Ons</source> - <translation>Complementos</translation> + <translation>Extras / Add-Ons</translation> </message> <message> <location filename="../../src/yuzu/configuration/configure_per_game_addons.cpp" line="48"/> <source>Patch Name</source> - <translation>Nombre del Parche</translation> + <translation>Nombre del parche</translation> </message> <message> <location filename="../../src/yuzu/configuration/configure_per_game_addons.cpp" line="49"/> @@ -2466,22 +2533,22 @@ Para invertir los ejes, primero mueve tu joystick de manera vertical, y luego ho <message> <location filename="../../src/yuzu/configuration/configure_profile_manager.ui" line="25"/> <source>Profile Manager</source> - <translation>Administrador de Perfiles</translation> + <translation>Administrador de perfiles</translation> </message> <message> <location filename="../../src/yuzu/configuration/configure_profile_manager.ui" line="42"/> <source>Current User</source> - <translation>Usuario Actual</translation> + <translation>Usuario actual</translation> </message> <message> <location filename="../../src/yuzu/configuration/configure_profile_manager.ui" line="80"/> <source>Username</source> - <translation>Nombre de Usuario</translation> + <translation>Nombre de usuario</translation> </message> <message> <location filename="../../src/yuzu/configuration/configure_profile_manager.ui" line="110"/> <source>Set Image</source> - <translation>Seleccionar Imagen</translation> + <translation>Seleccionar imagen</translation> </message> <message> <location filename="../../src/yuzu/configuration/configure_profile_manager.ui" line="130"/> @@ -2501,7 +2568,7 @@ Para invertir los ejes, primero mueve tu joystick de manera vertical, y luego ho <message> <location filename="../../src/yuzu/configuration/configure_profile_manager.ui" line="162"/> <source>Profile management is available only when game is not running.</source> - <translation>El sistema de perfiles solo se encuentra disponible cuando no se está ejecutando ningún juego.</translation> + <translation>El sistema de perfiles sólo se encuentra disponible cuando no se esté ejecutando ningún juego.</translation> </message> <message> <location filename="../../src/yuzu/configuration/configure_profile_manager.cpp" line="55"/> @@ -2514,7 +2581,7 @@ Para invertir los ejes, primero mueve tu joystick de manera vertical, y luego ho <message> <location filename="../../src/yuzu/configuration/configure_profile_manager.cpp" line="73"/> <source>Enter Username</source> - <translation>Introduzca el Nombre de Usuario</translation> + <translation>Introduzca el nombre</translation> </message> <message> <location filename="../../src/yuzu/configuration/configure_profile_manager.cpp" line="136"/> @@ -2524,17 +2591,17 @@ Para invertir los ejes, primero mueve tu joystick de manera vertical, y luego ho <message> <location filename="../../src/yuzu/configuration/configure_profile_manager.cpp" line="198"/> <source>Enter a username for the new user:</source> - <translation>Introduzca un nombre para el nuevo usuario:</translation> + <translation>Introduce un nombre para el nuevo usuario:</translation> </message> <message> <location filename="../../src/yuzu/configuration/configure_profile_manager.cpp" line="218"/> <source>Enter a new username:</source> - <translation>Introduzca un nuevo nombre de usuario:</translation> + <translation>Introduce un nuevo nombre de usuario:</translation> </message> <message> <location filename="../../src/yuzu/configuration/configure_profile_manager.cpp" line="243"/> <source>Confirm Delete</source> - <translation> Confirmar Eliminanación</translation> + <translation> Confirmar eliminación</translation> </message> <message> <location filename="../../src/yuzu/configuration/configure_profile_manager.cpp" line="244"/> @@ -2544,7 +2611,7 @@ Para invertir los ejes, primero mueve tu joystick de manera vertical, y luego ho <message> <location filename="../../src/yuzu/configuration/configure_profile_manager.cpp" line="271"/> <source>Select User Image</source> - <translation>Seleccione una Imagen de Usuario</translation> + <translation>Selecciona una imagen de usuario</translation> </message> <message> <location filename="../../src/yuzu/configuration/configure_profile_manager.cpp" line="272"/> @@ -2559,17 +2626,17 @@ Para invertir los ejes, primero mueve tu joystick de manera vertical, y luego ho <message> <location filename="../../src/yuzu/configuration/configure_profile_manager.cpp" line="282"/> <source>Error occurred attempting to overwrite previous image at: %1.</source> - <translation>Ocurrió un error al intentar sobrescribir la imagen anterior en: %1.</translation> + <translation>Ha ocurrido un error al intentar sobrescribir la imagen anterior en: %1.</translation> </message> <message> <location filename="../../src/yuzu/configuration/configure_profile_manager.cpp" line="290"/> <source>Error deleting file</source> - <translation>Error eliminando archivo</translation> + <translation>Error al eliminar el archivo</translation> </message> <message> <location filename="../../src/yuzu/configuration/configure_profile_manager.cpp" line="291"/> <source>Unable to delete existing file: %1.</source> - <translation>No se pudo eliminar el archivo existente: %1.</translation> + <translation>No se puede eliminar el archivo existente: %1.</translation> </message> <message> <location filename="../../src/yuzu/configuration/configure_profile_manager.cpp" line="298"/> @@ -2579,12 +2646,12 @@ Para invertir los ejes, primero mueve tu joystick de manera vertical, y luego ho <message> <location filename="../../src/yuzu/configuration/configure_profile_manager.cpp" line="299"/> <source>Unable to create directory %1 for storing user images.</source> - <translation>No se puede crear el directorio % 1 para almacenar imágenes de usuario.</translation> + <translation>No se puede crear el directorio %1 para almacenar imágenes de usuario.</translation> </message> <message> <location filename="../../src/yuzu/configuration/configure_profile_manager.cpp" line="304"/> <source>Error copying user image</source> - <translation>Error al copiar la imagen del usuario.</translation> + <translation>Error al copiar la imagen de usuario.</translation> </message> <message> <location filename="../../src/yuzu/configuration/configure_profile_manager.cpp" line="305"/> @@ -2594,12 +2661,12 @@ Para invertir los ejes, primero mueve tu joystick de manera vertical, y luego ho <message> <location filename="../../src/yuzu/configuration/configure_profile_manager.cpp" line="314"/> <source>Error resizing user image</source> - <translation type="unfinished"/> + <translation>Error al redimensionar la imagen de usuario</translation> </message> <message> <location filename="../../src/yuzu/configuration/configure_profile_manager.cpp" line="315"/> <source>Unable to resize image</source> - <translation type="unfinished"/> + <translation>No se puede cambiar el tamaño de la imagen</translation> </message> </context> <context> @@ -2632,7 +2699,7 @@ Para invertir los ejes, primero mueve tu joystick de manera vertical, y luego ho <message> <location filename="../../src/yuzu/configuration/configure_system.ui" line="46"/> <source>Default</source> - <translation>Valor Predeterminado</translation> + <translation>Predeterminado</translation> </message> <message> <location filename="../../src/yuzu/configuration/configure_system.ui" line="51"/> @@ -2727,7 +2794,7 @@ Para invertir los ejes, primero mueve tu joystick de manera vertical, y luego ho <message> <location filename="../../src/yuzu/configuration/configure_system.ui" line="141"/> <source>Iran</source> - <translation>Iran</translation> + <translation>Irán</translation> </message> <message> <location filename="../../src/yuzu/configuration/configure_system.ui" line="146"/> @@ -2853,7 +2920,7 @@ Para invertir los ejes, primero mueve tu joystick de manera vertical, y luego ho <message> <location filename="../../src/yuzu/configuration/configure_system.ui" line="266"/> <source>Zulu</source> - <translation>Zulu</translation> + <translation>Zulú</translation> </message> <message> <location filename="../../src/yuzu/configuration/configure_system.ui" line="280"/> @@ -2883,17 +2950,17 @@ Para invertir los ejes, primero mueve tu joystick de manera vertical, y luego ho <message> <location filename="../../src/yuzu/configuration/configure_system.ui" line="305"/> <source>Taiwan</source> - <translation>Taiwan</translation> + <translation>Taiwán</translation> </message> <message> <location filename="../../src/yuzu/configuration/configure_system.ui" line="313"/> <source>Time Zone:</source> - <translation>Zona Horaria</translation> + <translation>Zona horaria:</translation> </message> <message> <location filename="../../src/yuzu/configuration/configure_system.ui" line="320"/> <source>Note: this can be overridden when region setting is auto-select</source> - <translation>Nota: esto puede ser ignorado cuando la opción de región está en "autoseleccionar"</translation> + <translation>Nota: esto puede ser reemplazado si la opción de región está en "autoseleccionar"</translation> </message> <message> <location filename="../../src/yuzu/configuration/configure_system.ui" line="324"/> @@ -2913,7 +2980,7 @@ Para invertir los ejes, primero mueve tu joystick de manera vertical, y luego ho <message> <location filename="../../src/yuzu/configuration/configure_system.ui" line="339"/> <source>German (Deutsch)</source> - <translation>Alemán (Deutsch)</translation> + <translation>Alemán (deutsch)</translation> </message> <message> <location filename="../../src/yuzu/configuration/configure_system.ui" line="344"/> @@ -2938,7 +3005,7 @@ Para invertir los ejes, primero mueve tu joystick de manera vertical, y luego ho <message> <location filename="../../src/yuzu/configuration/configure_system.ui" line="364"/> <source>Dutch (Nederlands)</source> - <translation>Holandés (Nederlands)</translation> + <translation>Holandés (nederlands)</translation> </message> <message> <location filename="../../src/yuzu/configuration/configure_system.ui" line="369"/> @@ -2958,12 +3025,12 @@ Para invertir los ejes, primero mueve tu joystick de manera vertical, y luego ho <message> <location filename="../../src/yuzu/configuration/configure_system.ui" line="384"/> <source>British English</source> - <translation>Inglés Británico</translation> + <translation>Inglés británico</translation> </message> <message> <location filename="../../src/yuzu/configuration/configure_system.ui" line="389"/> <source>Canadian French</source> - <translation>Francés Canadiense</translation> + <translation>Francés canadiense</translation> </message> <message> <location filename="../../src/yuzu/configuration/configure_system.ui" line="394"/> @@ -2973,22 +3040,22 @@ Para invertir los ejes, primero mueve tu joystick de manera vertical, y luego ho <message> <location filename="../../src/yuzu/configuration/configure_system.ui" line="399"/> <source>Simplified Chinese</source> - <translation>Chino Simplificado</translation> + <translation>Chino simplificado</translation> </message> <message> <location filename="../../src/yuzu/configuration/configure_system.ui" line="404"/> <source>Traditional Chinese (正體中文)</source> - <translation>Chino Tradicional (正體中文)</translation> + <translation>Chino tradicional (正體中文)</translation> </message> <message> <location filename="../../src/yuzu/configuration/configure_system.ui" line="409"/> <source>Brazilian Portuguese (português do Brasil)</source> - <translation>Portugués Brasileño (português do Brasil)</translation> + <translation>Portugués brasileño (português do Brasil)</translation> </message> <message> <location filename="../../src/yuzu/configuration/configure_system.ui" line="417"/> <source>Custom RTC</source> - <translation>RTC Personalizado</translation> + <translation>RTC personalizado</translation> </message> <message> <location filename="../../src/yuzu/configuration/configure_system.ui" line="424"/> @@ -3008,7 +3075,7 @@ Para invertir los ejes, primero mueve tu joystick de manera vertical, y luego ho <message> <location filename="../../src/yuzu/configuration/configure_system.ui" line="444"/> <source>Stereo</source> - <translation>Estereo</translation> + <translation>Estéreo</translation> </message> <message> <location filename="../../src/yuzu/configuration/configure_system.ui" line="449"/> @@ -3018,12 +3085,12 @@ Para invertir los ejes, primero mueve tu joystick de manera vertical, y luego ho <message> <location filename="../../src/yuzu/configuration/configure_system.ui" line="457"/> <source>Console ID:</source> - <translation>ID de la Consola:</translation> + <translation>ID de la consola:</translation> </message> <message> <location filename="../../src/yuzu/configuration/configure_system.ui" line="464"/> <source>Sound output mode</source> - <translation>Modo de salida del sonido:</translation> + <translation>Método de salida de sonido:</translation> </message> <message> <location filename="../../src/yuzu/configuration/configure_system.ui" line="478"/> @@ -3038,12 +3105,12 @@ Para invertir los ejes, primero mueve tu joystick de manera vertical, y luego ho <message> <location filename="../../src/yuzu/configuration/configure_system.ui" line="540"/> <source>System settings are available only when game is not running.</source> - <translation>Los ajustes del sistema solo se encuentran disponibles cuando no se está ejecutando ningún juego.</translation> + <translation>Los ajustes del sistema sólo se encuentran disponibles cuando no se esté ejecutando ningún juego.</translation> </message> <message> <location filename="../../src/yuzu/configuration/configure_system.cpp" line="166"/> <source>This will replace your current virtual Switch with a new one. Your current virtual Switch will not be recoverable. This might have unexpected effects in games. This might fail, if you use an outdated config savegame. Continue?</source> - <translation>Esto reemplazará tu Switch virtual con una nueva. Tu Switch virtual actual no será recuperable. Esto podría causar efectos inesperados en determinados juegos. Si usas un archivo de configuración obsoleto, esto podría fallar. ¿Continuar?</translation> + <translation>Esto reemplazará tu Switch virtual con una nueva. Tu Switch virtual actual no será recuperable. Esto podría causar efectos inesperados en determinados juegos. Si usas un archivo de guardado de configuración obsoleto, esto podría fallar. ¿Continuar?</translation> </message> <message> <location filename="../../src/yuzu/configuration/configure_system.cpp" line="170"/> @@ -3053,7 +3120,7 @@ Para invertir los ejes, primero mueve tu joystick de manera vertical, y luego ho <message> <location filename="../../src/yuzu/configuration/configure_system.cpp" line="178"/> <source>Console ID: 0x%1</source> - <translation>ID de Consola: 0x%1</translation> + <translation>ID de consola: 0x%1</translation> </message> </context> <context> @@ -3066,17 +3133,17 @@ Para invertir los ejes, primero mueve tu joystick de manera vertical, y luego ho <message> <location filename="../../src/yuzu/configuration/configure_tas.ui" line="17"/> <source><html><head/><body><p>Reads controller input from scripts in the same format as TAS-nx scripts.<br/>For a more detailed explanation, please consult the <a href="https://yuzu-emu.org/help/feature/tas/"><span style=" text-decoration: underline; color:#039be5;">help page</span></a> on the yuzu website.</p></body></html></source> - <translation><html><head/><body><p>Lee la entrada de los controles de los scripts en el mismo formato que los scripts TAS-nx.<br/>Para una mejor explicación, consulta la<a href="https://yuzu-emu.org/help/feature/tas/"><span style=" text-decoration: underline; color:#039be5;">página de ayuda</span></a> en la web de yuzu.</p></body></html></translation> + <translation><html><head/><body><p>Lee la entrada de los controles de los scripts en el mismo formato que los scripts TAS-nx.<br/>Para una mejor explicación, consulta la<a href="https://yuzu-emu.org/help/feature/tas/"><span style=" text-decoration: underline; color:#039be5;">página de ayuda</span></a> en la página web de yuzu.</p></body></html></translation> </message> <message> <location filename="../../src/yuzu/configuration/configure_tas.ui" line="24"/> <source>To check which hotkeys control the playback/recording, please refer to the Hotkey settings (Configure -> General -> Hotkeys).</source> - <translation>Para comprobar qué teclas de acceso rápido controlan la reproducción/grabación, por favor, comprueba la configuración de las Teclas de Acceso Rápido (Configuración -> General -> Teclas de Acceso Rápido)</translation> + <translation>Para comprobar qué teclas de acceso rápido controlan la reproducción/grabación, por favor, revisa la configuración de las Teclas de acceso rápido (Configuración -> General -> Teclas de acceso rápido)</translation> </message> <message> <location filename="../../src/yuzu/configuration/configure_tas.ui" line="34"/> <source>WARNING: This is an experimental feature.<br/>It will not play back scripts frame perfectly with the current, imperfect syncing method.</source> - <translation>AVISO: Ésto es una característica experimental.<br/>No va a reproducir scripts perfectamente con el métido actual e imperfecto de sincronización.</translation> + <translation>AVISO: Esto es una característica experimental.<br/>No se reproducirán los scripts perfectamente con el método actual e imperfecto de sincronización.</translation> </message> <message> <location filename="../../src/yuzu/configuration/configure_tas.ui" line="51"/> @@ -3086,35 +3153,30 @@ Para invertir los ejes, primero mueve tu joystick de manera vertical, y luego ho <message> <location filename="../../src/yuzu/configuration/configure_tas.ui" line="57"/> <source>Enable TAS features</source> - <translation>Activar características de TAS</translation> + <translation>Activar características TAS</translation> </message> <message> <location filename="../../src/yuzu/configuration/configure_tas.ui" line="64"/> - <source>Automatic controller profile swapping</source> - <translation>Cambio automático de perfil de controlador</translation> - </message> - <message> - <location filename="../../src/yuzu/configuration/configure_tas.ui" line="71"/> <source>Loop script</source> <translation>Repetir script en bucle</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_tas.ui" line="81"/> + <location filename="../../src/yuzu/configuration/configure_tas.ui" line="74"/> <source>Pause execution during loads</source> - <translation>Pausar ejecución durante cargas</translation> + <translation>Pausar ejecución durante las cargas</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_tas.ui" line="95"/> + <location filename="../../src/yuzu/configuration/configure_tas.ui" line="88"/> <source>Script Directory</source> <translation>Directorio de scripts</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_tas.ui" line="101"/> + <location filename="../../src/yuzu/configuration/configure_tas.ui" line="94"/> <source>Path</source> <translation>Ruta</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_tas.ui" line="108"/> + <location filename="../../src/yuzu/configuration/configure_tas.ui" line="101"/> <source>...</source> <translation>...</translation> </message> @@ -3124,12 +3186,12 @@ Para invertir los ejes, primero mueve tu joystick de manera vertical, y luego ho <message> <location filename="../../src/yuzu/configuration/configure_tas.cpp" line="20"/> <source>TAS Configuration</source> - <translation>Configuración de TAS</translation> + <translation>Configuración TAS</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_tas.cpp" line="53"/> + <location filename="../../src/yuzu/configuration/configure_tas.cpp" line="51"/> <source>Select TAS Load Directory...</source> - <translation>Seleccione el directorio de carga de TAS...</translation> + <translation>Selecciona el directorio de carga TAS...</translation> </message> </context> <context> @@ -3137,7 +3199,7 @@ Para invertir los ejes, primero mueve tu joystick de manera vertical, y luego ho <message> <location filename="../../src/yuzu/configuration/configure_touch_from_button.ui" line="14"/> <source>Configure Touchscreen Mappings</source> - <translation>Configurar las Asignaciones de la Pantalla Táctil</translation> + <translation>Configurar las asignaciones de la pantalla táctil</translation> </message> <message> <location filename="../../src/yuzu/configuration/configure_touch_from_button.ui" line="22"/> @@ -3147,7 +3209,7 @@ Para invertir los ejes, primero mueve tu joystick de manera vertical, y luego ho <message> <location filename="../../src/yuzu/configuration/configure_touch_from_button.ui" line="48"/> <source>New</source> - <translation>Crear</translation> + <translation>Nuevo</translation> </message> <message> <location filename="../../src/yuzu/configuration/configure_touch_from_button.ui" line="61"/> @@ -3163,13 +3225,13 @@ Para invertir los ejes, primero mueve tu joystick de manera vertical, y luego ho <location filename="../../src/yuzu/configuration/configure_touch_from_button.ui" line="92"/> <source>Click the bottom area to add a point, then press a button to bind. Drag points to change position, or double-click table cells to edit values.</source> - <translation>Haz clic en el área inferior para añadir un punto, y luego presiona un botón para unir. -Arrastre los puntos para cambiar de posición, o haga doble clic en las celdas de la tabla para editar los valores.</translation> + <translation>Haz clic en el área inferior para añadir un punto, y luego presiona un botón para vincularlo. +Arrastra los puntos para cambiar de posición, o haz doble clic en las celdas de la tabla para editar los valores.</translation> </message> <message> <location filename="../../src/yuzu/configuration/configure_touch_from_button.ui" line="116"/> <source>Delete Point</source> - <translation>Borrar Punto</translation> + <translation>Borrar punto</translation> </message> <message> <location filename="../../src/yuzu/configuration/configure_touch_from_button.cpp" line="80"/> @@ -3189,37 +3251,37 @@ Arrastre los puntos para cambiar de posición, o haga doble clic en las celdas d <translation>Y</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_touch_from_button.cpp" line="200"/> + <location filename="../../src/yuzu/configuration/configure_touch_from_button.cpp" line="197"/> <source>New Profile</source> - <translation>Crear Perfíl</translation> + <translation>Crear perfil</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_touch_from_button.cpp" line="200"/> + <location filename="../../src/yuzu/configuration/configure_touch_from_button.cpp" line="197"/> <source>Enter the name for the new profile.</source> - <translation>Introduzca un nombre para el nuevo perfíl:</translation> + <translation>Introduce un nombre para el nuevo perfil:</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_touch_from_button.cpp" line="211"/> + <location filename="../../src/yuzu/configuration/configure_touch_from_button.cpp" line="208"/> <source>Delete Profile</source> - <translation>Borrar Perfíl</translation> + <translation>Borrar perfil</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_touch_from_button.cpp" line="211"/> + <location filename="../../src/yuzu/configuration/configure_touch_from_button.cpp" line="208"/> <source>Delete profile %1?</source> - <translation>¿Borrar Perfíl %1?</translation> + <translation>¿Borrar el perfil %1?</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_touch_from_button.cpp" line="224"/> + <location filename="../../src/yuzu/configuration/configure_touch_from_button.cpp" line="221"/> <source>Rename Profile</source> - <translation>Renombrar Perfíl</translation> + <translation>Renombrar perfil</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_touch_from_button.cpp" line="224"/> + <location filename="../../src/yuzu/configuration/configure_touch_from_button.cpp" line="221"/> <source>New name:</source> <translation>Nuevo nombre:</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_touch_from_button.cpp" line="233"/> + <location filename="../../src/yuzu/configuration/configure_touch_from_button.cpp" line="230"/> <source>[press key]</source> <translation>[presionar tecla]</translation> </message> @@ -3234,27 +3296,27 @@ Arrastre los puntos para cambiar de posición, o haga doble clic en las celdas d <message> <location filename="../../src/yuzu/configuration/configure_touchscreen_advanced.ui" line="26"/> <source>Warning: The settings in this page affect the inner workings of yuzu's emulated touchscreen. Changing them may result in undesirable behavior, such as the touchscreen partially or not working. You should only use this page if you know what you are doing.</source> - <translation>Advertencia: Los ajustes en esta página afectarán al funcionamiento de la pantalla táctil emulada de yuzu. Cambiarlas podría resultar en un comportamiento inapropiado, como que la pantalla táctil deje de funcionar parcialmente. Se recomienda usar esta pestaña sólo si sabes lo que estás haciendo.</translation> + <translation>Advertencia: Los ajustes en esta página afectarán al funcionamiento interno de la pantalla táctil emulada de yuzu. Cambiarlos puede dar lugar a un comportamiento imprevisto, como que la pantalla táctil deje de funcionar o funcione parcialmente. Sólo debes utilizar esta página si sabes lo que estás haciendo.</translation> </message> <message> <location filename="../../src/yuzu/configuration/configure_touchscreen_advanced.ui" line="52"/> <source>Touch Parameters</source> - <translation>Parámetros Táctil</translation> + <translation>Parámetros táctil</translation> </message> <message> <location filename="../../src/yuzu/configuration/configure_touchscreen_advanced.ui" line="71"/> <source>Touch Diameter Y</source> - <translation>Diámetro Táctil Y</translation> + <translation>Diámetro táctil Y</translation> </message> <message> <location filename="../../src/yuzu/configuration/configure_touchscreen_advanced.ui" line="91"/> <source>Touch Diameter X</source> - <translation>Diámetro Táctil X</translation> + <translation>Diámetro táctil X</translation> </message> <message> <location filename="../../src/yuzu/configuration/configure_touchscreen_advanced.ui" line="98"/> <source>Rotational Angle</source> - <translation>Ángulo Rotacional</translation> + <translation>Ángulo rotacional</translation> </message> <message> <location filename="../../src/yuzu/configuration/configure_touchscreen_advanced.ui" line="132"/> @@ -3309,22 +3371,22 @@ Arrastre los puntos para cambiar de posición, o haga doble clic en las celdas d <message> <location filename="../../src/yuzu/configuration/configure_ui.cpp" line="36"/> <source>Filename</source> - <translation>Nombre del Archivo</translation> + <translation>Nombre del archivo</translation> </message> <message> <location filename="../../src/yuzu/configuration/configure_ui.cpp" line="37"/> <source>Filetype</source> - <translation>Tipo de Archivo</translation> + <translation>Tipo de archivo</translation> </message> <message> <location filename="../../src/yuzu/configuration/configure_ui.cpp" line="38"/> <source>Title ID</source> - <translation>ID del Título</translation> + <translation>ID del título</translation> </message> <message> <location filename="../../src/yuzu/configuration/configure_ui.cpp" line="39"/> <source>Title Name</source> - <translation>Nombre del Título</translation> + <translation>Nombre del título</translation> </message> </context> <context> @@ -3337,7 +3399,7 @@ Arrastre los puntos para cambiar de posición, o haga doble clic en las celdas d <message> <location filename="../../src/yuzu/configuration/configure_ui.ui" line="17"/> <source>UI</source> - <translation>IU</translation> + <translation>Interfaz</translation> </message> <message> <location filename="../../src/yuzu/configuration/configure_ui.ui" line="23"/> @@ -3347,12 +3409,12 @@ Arrastre los puntos para cambiar de posición, o haga doble clic en las celdas d <message> <location filename="../../src/yuzu/configuration/configure_ui.ui" line="31"/> <source>Note: Changing language will apply your configuration.</source> - <translation>Nota: Cambiar el idioma guardará tu configuración actual.</translation> + <translation>Nota: cambiar el idioma afectará a tu configuración actual.</translation> </message> <message> <location filename="../../src/yuzu/configuration/configure_ui.ui" line="43"/> <source>Interface language:</source> - <translation>Lenguage de la Interfaz:</translation> + <translation>Idioma de la interfaz:</translation> </message> <message> <location filename="../../src/yuzu/configuration/configure_ui.ui" line="57"/> @@ -3362,12 +3424,12 @@ Arrastre los puntos para cambiar de posición, o haga doble clic en las celdas d <message> <location filename="../../src/yuzu/configuration/configure_ui.ui" line="74"/> <source>Game List</source> - <translation>Lista de Juegos</translation> + <translation>Lista de juegos</translation> </message> <message> <location filename="../../src/yuzu/configuration/configure_ui.ui" line="82"/> <source>Show Add-Ons Column</source> - <translation>Mostrar Columna de Accesorios</translation> + <translation>Mostrar columna de extras/Add-Ons</translation> </message> <message> <location filename="../../src/yuzu/configuration/configure_ui.ui" line="91"/> @@ -3382,27 +3444,27 @@ Arrastre los puntos para cambiar de posición, o haga doble clic en las celdas d <message> <location filename="../../src/yuzu/configuration/configure_ui.ui" line="119"/> <source>Row 1 Text:</source> - <translation>Texto de la Fila 1:</translation> + <translation>Texto de fila 1:</translation> </message> <message> <location filename="../../src/yuzu/configuration/configure_ui.ui" line="133"/> <source>Row 2 Text:</source> - <translation>Texto de la Fila 2:</translation> + <translation>Texto de fila 2:</translation> </message> <message> <location filename="../../src/yuzu/configuration/configure_ui.ui" line="150"/> <source>Screenshots</source> - <translation>Capturas de Pantalla</translation> + <translation>Capturas de pantalla</translation> </message> <message> <location filename="../../src/yuzu/configuration/configure_ui.ui" line="158"/> <source>Ask Where To Save Screenshots (Windows Only)</source> - <translation>Pregunte Dónde Guardar las Capturas de Pantalla (sólo para Windows)</translation> + <translation>Preguntar dónde guardar las capturas de pantalla (sólo en Windows)</translation> </message> <message> <location filename="../../src/yuzu/configuration/configure_ui.ui" line="167"/> <source>Screenshots Path: </source> - <translation>Trayectoria de las Capturas de Pantalla:</translation> + <translation>Ruta de las capturas de pantalla:</translation> </message> <message> <location filename="../../src/yuzu/configuration/configure_ui.ui" line="177"/> @@ -3412,7 +3474,7 @@ Arrastre los puntos para cambiar de posición, o haga doble clic en las celdas d <message> <location filename="../../src/yuzu/configuration/configure_ui.cpp" line="93"/> <source>Select Screenshots Path...</source> - <translation>Selecciona la Trayectoria de las Capturas de Pantalla:</translation> + <translation>Selecciona la ruta de las capturas de pantalla:</translation> </message> <message> <location filename="../../src/yuzu/configuration/configure_ui.cpp" line="173"/> @@ -3430,7 +3492,7 @@ Arrastre los puntos para cambiar de posición, o haga doble clic en las celdas d <message> <location filename="../../src/yuzu/configuration/configure_vibration.ui" line="14"/> <source>Configure Vibration</source> - <translation>Configurar Vibración</translation> + <translation>Configurar vibración</translation> </message> <message> <location filename="../../src/yuzu/configuration/configure_vibration.ui" line="23"/> @@ -3497,7 +3559,7 @@ Arrastre los puntos para cambiar de posición, o haga doble clic en las celdas d <message> <location filename="../../src/yuzu/configuration/configure_vibration.ui" line="502"/> <source>Enable Accurate Vibration</source> - <translation>Habilitar Vibración Precisa</translation> + <translation>Activar vibración precisa</translation> </message> </context> <context> @@ -3515,12 +3577,12 @@ Arrastre los puntos para cambiar de posición, o haga doble clic en las celdas d <message> <location filename="../../src/yuzu/configuration/configure_web.ui" line="25"/> <source>yuzu Web Service</source> - <translation>Servicio Web de yuzu</translation> + <translation>Servicio web de yuzu</translation> </message> <message> <location filename="../../src/yuzu/configuration/configure_web.ui" line="31"/> <source>By providing your username and token, you agree to allow yuzu to collect additional usage data, which may include user identifying information.</source> - <translation>Al proporcionar su nombre de usuario y token, das tu consentimiento a que yuzu recopile datos de uso adicionales, que pueden incluir información de identificación del usuario.</translation> + <translation>Al proporcionar el nombre de usuario y el token, aceptas que yuzu recopile datos de uso adicionales, que pueden incluir información de identificación del usuario.</translation> </message> <message> <location filename="../../src/yuzu/configuration/configure_web.ui" line="49"/> @@ -3566,7 +3628,7 @@ Arrastre los puntos para cambiar de posición, o haga doble clic en las celdas d <message> <location filename="../../src/yuzu/configuration/configure_web.ui" line="140"/> <source>Telemetry ID:</source> - <translation>ID de Telemetría:</translation> + <translation>ID de telemetría:</translation> </message> <message> <location filename="../../src/yuzu/configuration/configure_web.ui" line="156"/> @@ -3581,7 +3643,7 @@ Arrastre los puntos para cambiar de posición, o haga doble clic en las celdas d <message> <location filename="../../src/yuzu/configuration/configure_web.ui" line="176"/> <source>Show Current Game in your Discord Status</source> - <translation>Mostrar el juego actual en tu estado de Discord</translation> + <translation>Mostrar el juego actual en el estado de Discord</translation> </message> <message> <location filename="../../src/yuzu/configuration/configure_web.cpp" line="69"/> @@ -3602,7 +3664,7 @@ Arrastre los puntos para cambiar de posición, o haga doble clic en las celdas d <location filename="../../src/yuzu/configuration/configure_web.cpp" line="81"/> <location filename="../../src/yuzu/configuration/configure_web.cpp" line="126"/> <source>Telemetry ID: 0x%1</source> - <translation>ID de Telemetría: 0x%1</translation> + <translation>ID de telemetría: 0x%1</translation> </message> <message> <location filename="../../src/yuzu/configuration/configure_web.cpp" line="92"/> @@ -3613,12 +3675,12 @@ Arrastre los puntos para cambiar de posición, o haga doble clic en las celdas d <message> <location filename="../../src/yuzu/configuration/configure_web.cpp" line="118"/> <source>Token not verified</source> - <translation>No se pudo verificar el token</translation> + <translation>Token no verificado</translation> </message> <message> <location filename="../../src/yuzu/configuration/configure_web.cpp" line="119"/> <source>Token was not verified. The change to your token has not been saved.</source> - <translation>El token pudo ser verificado. El cambio realizado a su token no se ha guardado.</translation> + <translation>El token no se puede verificar. Los cambios realizados en tu token no se ha guardado.</translation> </message> <message> <location filename="../../src/yuzu/configuration/configure_web.cpp" line="145"/> @@ -3628,124 +3690,129 @@ Arrastre los puntos para cambiar de posición, o haga doble clic en las celdas d <message> <location filename="../../src/yuzu/configuration/configure_web.cpp" line="167"/> <source>Verification failed</source> - <translation>Verificación fallida</translation> + <translation>Error de verificación</translation> </message> <message> <location filename="../../src/yuzu/configuration/configure_web.cpp" line="168"/> <source>Verification failed. Check that you have entered your token correctly, and that your internet connection is working.</source> - <translation>Verificación fallida. Compruebe que ha ingresado el token correctamente, y que esté funcionando su conexión a internet.</translation> + <translation>Error de verificación. Comprueba que has introducido el token correctamente, y que esté funcionando correctamente tu conexión a internet.</translation> </message> </context> <context> <name>ControllerDialog</name> <message> - <location filename="../../src/yuzu/debugger/controller.cpp" line="17"/> + <location filename="../../src/yuzu/debugger/controller.cpp" line="21"/> <source>Controller P1</source> <translation>Controlador J1</translation> </message> <message> - <location filename="../../src/yuzu/debugger/controller.cpp" line="52"/> + <location filename="../../src/yuzu/debugger/controller.cpp" line="60"/> <source>&Controller P1</source> - <translation>Controlador J1</translation> + <translation>&Controlador J1</translation> </message> </context> <context> <name>GMainWindow</name> <message> - <location filename="../../src/yuzu/main.cpp" line="174"/> + <location filename="../../src/yuzu/main.cpp" line="176"/> <source><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?</source> - <translation><a href='https://yuzu-emu.org/help/feature/telemetry/'>Se recogen datos anónimos</a> para ayudar a mejorar yuzu. <br/><br/>¿Quieres compartir tus datos de uso con nosotros?</translation> + <translation><a href='https://yuzu-emu.org/help/feature/telemetry/'>Los datos de uso anónimos se recogen</a> para ayudar a mejorar yuzu. <br/><br/>¿Deseas compartir tus datos de uso con nosotros?</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="177"/> + <location filename="../../src/yuzu/main.cpp" line="179"/> <source>Telemetry</source> <translation>Telemetría </translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="592"/> + <location filename="../../src/yuzu/main.cpp" line="600"/> <source>Loading Web Applet...</source> - <translation>Cargando Web Applet...</translation> + <translation>Cargando Web applet...</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="639"/> - <location filename="../../src/yuzu/main.cpp" line="642"/> + <location filename="../../src/yuzu/main.cpp" line="647"/> + <location filename="../../src/yuzu/main.cpp" line="650"/> <source>Disable Web Applet</source> - <translation>Desactivar Web Applet</translation> + <translation>Desactivar Web applet</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="643"/> + <location filename="../../src/yuzu/main.cpp" line="651"/> <source>Disabling the web applet will cause it to not be shown again for the rest of the emulated session. This 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?</source> - <translation>Desactivar la web applet causará que ésta no se muestre nunca más durante el resto de la sesión. Puede causar comportamientos indefinidos y sólo debe ser usado con Super Mario 3D All-Stars. ¿De verdad quieres desactivar la web applet?</translation> + <translation>Desactivar la web applet causará que ésta no se muestre más durante el resto de la sesión. Puede causar comportamientos imprevistos y sólo debe ser usado con Super Mario 3D All-Stars. ¿De verdad quieres desactivar la web applet?</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="746"/> + <location filename="../../src/yuzu/main.cpp" line="754"/> <source>The amount of shaders currently being built</source> <translation>La cantidad de shaders que se están construyendo actualmente</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="749"/> + <location filename="../../src/yuzu/main.cpp" line="756"/> + <source>The current selected resolution scaling multiplier.</source> + <translation>El multiplicador de escala de resolución seleccionado actualmente.</translation> + </message> + <message> + <location filename="../../src/yuzu/main.cpp" line="759"/> <source>Current emulation speed. Values higher or lower than 100% indicate emulation is running faster or slower than a Switch.</source> <translation>La velocidad de emulación actual. Los valores superiores o inferiores al 100% indican que la emulación se está ejecutando más rápido o más lento que en una Switch.</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="752"/> + <location filename="../../src/yuzu/main.cpp" line="762"/> <source>How many frames per second the game is currently displaying. This will vary from game to game and scene to scene.</source> - <translation>Cuántos fotogramas por segundo está mostrando el juego actualmente. Esto variará de un juego a otro y de una escena a otra.</translation> + <translation>La cantidad de fotogramas por segundo que se está mostrando el juego actualmente. Esto variará de un juego a otro y de una escena a otra.</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="756"/> + <location filename="../../src/yuzu/main.cpp" line="766"/> <source>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.</source> <translation>Tiempo que lleva emular un fotograma de la Switch, sin tener en cuenta la limitación de fotogramas o sincronización vertical. Para una emulación óptima, este valor debería ser como máximo de 16.67 ms.</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="781"/> + <location filename="../../src/yuzu/main.cpp" line="841"/> <source>Invalid config detected</source> - <translation>Configuración invalida detectada</translation> + <translation>Configuración no válida detectada</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="782"/> + <location filename="../../src/yuzu/main.cpp" line="842"/> <source>Handheld controller can't be used on docked mode. Pro controller will be selected.</source> - <translation>El controlador del modo portátil no puede ser usado en modo dock. Se elegirá Pro controller en su lugar.</translation> + <translation>El controlador del modo portátil no puede ser usado en el modo sobremesa. Se seleccionará el controlador Pro en su lugar.</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="794"/> + <location filename="../../src/yuzu/main.cpp" line="854"/> <source>DOCK</source> - <translation>ESTACIONADO</translation> + <translation>DOCK</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="828"/> + <location filename="../../src/yuzu/main.cpp" line="888"/> <source>VULKAN</source> <translation>VULKAN</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="828"/> + <location filename="../../src/yuzu/main.cpp" line="888"/> <source>OPENGL</source> <translation>OPENGL</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="886"/> + <location filename="../../src/yuzu/main.cpp" line="951"/> <source>&Clear Recent Files</source> - <translation>&Limpiar Archivos Recientes</translation> + <translation>&Eliminar archivos recientes</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="1055"/> - <source>TAS Recording</source> - <translation>Grabación TAS</translation> + <location filename="../../src/yuzu/main.cpp" line="1210"/> + <source>&Continue</source> + <translation>&Continuar</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="1056"/> - <source>Overwrite file of player 1?</source> - <translation>¿Sobreescribir archivo del Jugador 1?</translation> + <location filename="../../src/yuzu/main.cpp" line="1212"/> + <source>&Pause</source> + <translation>&Pausar</translation> </message> <message> <location filename="../../src/yuzu/main.cpp" line="1285"/> <source>Warning Outdated Game Format</source> - <translation>Advertencia Formato de Juego Obsoleto</translation> + <translation>Advertencia: formato del juego obsoleto</translation> </message> <message> <location filename="../../src/yuzu/main.cpp" line="1286"/> <source>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.</source> - <translation>Está utilizando el formato de directorio de ROM deconstruido para este juego, que es un formato desactualizado que ha sido reemplazado por otros, como NCA, NAX, XCI o NSP. Los directorios de ROM deconstruidos carecen de íconos, metadatos y soporte de actualización.<br><br>Para obtener una explicación de los diversos formatos de Switch que soporta yuzu,<a href='https://yuzu-emu.org/wiki/overview-of-switch-game-formats'>echa un vistazo a nuestra wiki</a>. Este mensaje no se volverá a mostrar.</translation> + <translation>Está utilizando el formato de directorio de ROM deconstruido para este juego, que es un formato desactualizado que ha sido reemplazado por otros, como los NCA, NAX, XCI o NSP. Los directorios de ROM deconstruidos carecen de íconos, metadatos y soporte de actualizaciones.<br><br>Para ver una explicación de los diversos formatos de Switch que soporta yuzu,<a href='https://yuzu-emu.org/wiki/overview-of-switch-game-formats'>echa un vistazo a nuestra wiki</a>. Este mensaje no se volverá a mostrar.</translation> </message> <message> <location filename="../../src/yuzu/main.cpp" line="1298"/> @@ -3761,12 +3828,12 @@ Arrastre los puntos para cambiar de posición, o haga doble clic en las celdas d <message> <location filename="../../src/yuzu/main.cpp" line="1303"/> <source>An error occurred initializing the video core.</source> - <translation>Se produjo un error al inicializar el núcleo de video.</translation> + <translation>Se ha producido un error al inicializar el núcleo de video.</translation> </message> <message> <location filename="../../src/yuzu/main.cpp" line="1304"/> <source>yuzu has encountered an error while running the video core, please see the log for more details.For more information on accessing the log, please see the following page: <a href='https://community.citra-emu.org/t/how-to-upload-the-log-file/296'>How to Upload the Log File</a>.Ensure that you have the latest graphics drivers for your GPU.</source> - <translation>yuzu ha encontrado un error al ejecutar el núcleo de video, consulte el registro para obtener más detalles. Para obtener más información sobre cómo acceder al registro, consulte la siguiente página: <a href='https://community.citra-emu.org/t/how-to-upload-the-log-file/296'>Cómo cargar el archivo de registro.</a> Asegúrese de tener los últimos controladores de gráficos para su GPU.</translation> + <translation>yuzu ha encontrado un error al ejecutar el núcleo de video, consulta el registro para obtener más detalles. Para obtener más información sobre cómo acceder al archivo de registro, consulte la siguiente página: <a href='https://community.citra-emu.org/t/how-to-upload-the-log-file/296'>Cómo cargar el archivo de registro.</a> Asegúrate de tener los últimos controladores de gráficos para la GPU.</translation> </message> <message> <location filename="../../src/yuzu/main.cpp" line="1322"/> @@ -3778,374 +3845,370 @@ Arrastre los puntos para cambiar de posición, o haga doble clic en las celdas d <location filename="../../src/yuzu/main.cpp" line="1325"/> <source>%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.</source> <comment>%1 signifies an error string.</comment> - <translation>%1<br>Por favor, sique <a href='https://yuzu-emu.org/help/quickstart/'>la guía de inicio rápido de yuzu</a> para revolcar tus archivos.<br>Puedes consultar la wiki de yuzu</a> o el Discord de yuzu</a> para obtener ayuda.</translation> + <translation>%1<br>Por favor, sigue <a href='https://yuzu-emu.org/help/quickstart/'>la guía de inicio rápido de yuzu</a> para revolcar los archivos.<br>Puedes consultar la wiki de yuzu</a> o el Discord de yuzu</a> para obtener ayuda.</translation> </message> <message> <location filename="../../src/yuzu/main.cpp" line="1336"/> <source>An unknown error occurred. Please see the log for more details.</source> - <translation>Error desconocido. Por favor, consulte el registro para ver más detalles.</translation> + <translation>Error desconocido. Por favor, consulte el archivo de registro para ver más detalles.</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="1462"/> + <location filename="../../src/yuzu/main.cpp" line="1460"/> <source>(64-bit)</source> <translation>(64-bit)</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="1462"/> + <location filename="../../src/yuzu/main.cpp" line="1460"/> <source>(32-bit)</source> <translation>(32-bit)</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="1463"/> + <location filename="../../src/yuzu/main.cpp" line="1461"/> <source>%1 %2</source> <comment>%1 is the title name. %2 indicates if the title is 64-bit or 32-bit</comment> <translation>%1 %2</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="1507"/> - <source>Start</source> - <translation>Iniciar</translation> - </message> - <message> - <location filename="../../src/yuzu/main.cpp" line="1612"/> + <location filename="../../src/yuzu/main.cpp" line="1605"/> <source>Save Data</source> - <translation>Datos de Juegos Guardados</translation> + <translation>Datos de guardado</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="1660"/> + <location filename="../../src/yuzu/main.cpp" line="1653"/> <source>Mod Data</source> - <translation>Datos de Mods</translation> + <translation>Datos de mods</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="1672"/> + <location filename="../../src/yuzu/main.cpp" line="1665"/> <source>Error Opening %1 Folder</source> <translation>Error al abrir la carpeta %1</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="1673"/> - <location filename="../../src/yuzu/main.cpp" line="2079"/> + <location filename="../../src/yuzu/main.cpp" line="1666"/> + <location filename="../../src/yuzu/main.cpp" line="2072"/> <source>Folder does not exist!</source> <translation>¡La carpeta no existe!</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="1685"/> + <location filename="../../src/yuzu/main.cpp" line="1678"/> <source>Error Opening Transferable Shader Cache</source> - <translation>Error al Abrir el Caché Transferible de Shaders</translation> + <translation>Error al abrir el caché transferible de shaders</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="1686"/> + <location filename="../../src/yuzu/main.cpp" line="1679"/> <source>Failed to create the shader cache directory for this title.</source> <translation>No se pudo crear el directorio de la caché de los shaders para este título.</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="1738"/> + <location filename="../../src/yuzu/main.cpp" line="1731"/> <source>Contents</source> <translation>Contenidos</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="1740"/> + <location filename="../../src/yuzu/main.cpp" line="1733"/> <source>Update</source> <translation>Actualización</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="1742"/> + <location filename="../../src/yuzu/main.cpp" line="1735"/> <source>DLC</source> <translation>DLC</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="1749"/> + <location filename="../../src/yuzu/main.cpp" line="1742"/> <source>Remove Entry</source> - <translation>Eliminar el Título</translation> + <translation>Eliminar entrada</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="1749"/> + <location filename="../../src/yuzu/main.cpp" line="1742"/> <source>Remove Installed Game %1?</source> - <translation>Eliminar el Juego Instalado %1?</translation> + <translation>¿Eliminar el juego instalado %1?</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="1779"/> - <location filename="../../src/yuzu/main.cpp" line="1795"/> - <location filename="../../src/yuzu/main.cpp" line="1826"/> - <location filename="../../src/yuzu/main.cpp" line="1887"/> - <location filename="../../src/yuzu/main.cpp" line="1905"/> - <location filename="../../src/yuzu/main.cpp" line="1928"/> + <location filename="../../src/yuzu/main.cpp" line="1772"/> + <location filename="../../src/yuzu/main.cpp" line="1788"/> + <location filename="../../src/yuzu/main.cpp" line="1819"/> + <location filename="../../src/yuzu/main.cpp" line="1880"/> + <location filename="../../src/yuzu/main.cpp" line="1898"/> + <location filename="../../src/yuzu/main.cpp" line="1921"/> <source>Successfully Removed</source> - <translation>Se Eliminó con Éxito</translation> + <translation>Se ha eliminado con éxito</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="1780"/> + <location filename="../../src/yuzu/main.cpp" line="1773"/> <source>Successfully removed the installed base game.</source> - <translation>Se eliminó con éxito el juego de base instalado.</translation> + <translation>Se ha eliminado con éxito el juego base instalado.</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="1783"/> - <location filename="../../src/yuzu/main.cpp" line="1798"/> - <location filename="../../src/yuzu/main.cpp" line="1821"/> + <location filename="../../src/yuzu/main.cpp" line="1776"/> + <location filename="../../src/yuzu/main.cpp" line="1791"/> + <location filename="../../src/yuzu/main.cpp" line="1814"/> <source>Error Removing %1</source> - <translation>Error en la eliminación de %1</translation> + <translation>Error al eliminar %1</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="1784"/> + <location filename="../../src/yuzu/main.cpp" line="1777"/> <source>The base game is not installed in the NAND and cannot be removed.</source> <translation>El juego base no está instalado en el NAND y no se puede eliminar.</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="1796"/> + <location filename="../../src/yuzu/main.cpp" line="1789"/> <source>Successfully removed the installed update.</source> - <translation>Se eliminó con éxito la actualización instalada.</translation> + <translation>Se ha eliminado con éxito la actualización instalada.</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="1799"/> + <location filename="../../src/yuzu/main.cpp" line="1792"/> <source>There is no update installed for this title.</source> <translation>No hay ninguna actualización instalada para este título.</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="1822"/> + <location filename="../../src/yuzu/main.cpp" line="1815"/> <source>There are no DLC installed for this title.</source> <translation>No hay ningún DLC instalado para este título.</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="1827"/> + <location filename="../../src/yuzu/main.cpp" line="1820"/> <source>Successfully removed %1 installed DLC.</source> - <translation>Se eliminó con éxito %1 DLC instalado(s).</translation> + <translation>Se ha eliminado con éxito %1 DLC instalado(s).</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="1835"/> + <location filename="../../src/yuzu/main.cpp" line="1828"/> <source>Delete OpenGL Transferable Shader Cache?</source> - <translation>¿Desea eliminar el Caché Transferible de Shaders de OpenGL?</translation> + <translation>¿Deseas eliminar el caché transferible de shaders de OpenGL?</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="1837"/> + <location filename="../../src/yuzu/main.cpp" line="1830"/> <source>Delete Vulkan Transferable Shader Cache?</source> - <translation>¿Desea eliminar el Caché Transferible de Shaders de Vulkan?</translation> + <translation>¿Deseas eliminar el caché transferible de shaders de Vulkan?</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="1839"/> + <location filename="../../src/yuzu/main.cpp" line="1832"/> <source>Delete All Transferable Shader Caches?</source> - <translation>¿Desea eliminar todas las Cachés Transferibles de Shaders?</translation> + <translation>¿Deseas eliminar todo el caché transferible de shaders?</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="1841"/> + <location filename="../../src/yuzu/main.cpp" line="1834"/> <source>Remove Custom Game Configuration?</source> - <translation>¿Desea Eliminar la Configuración Personalizada del Juego?</translation> + <translation>¿Deseas eliminar la configuración personalizada del juego?</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="1847"/> + <location filename="../../src/yuzu/main.cpp" line="1840"/> <source>Remove File</source> - <translation>Eliminar Archivo</translation> + <translation>Eliminar archivo</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="1882"/> - <location filename="../../src/yuzu/main.cpp" line="1890"/> + <location filename="../../src/yuzu/main.cpp" line="1875"/> + <location filename="../../src/yuzu/main.cpp" line="1883"/> <source>Error Removing Transferable Shader Cache</source> - <translation>Error al Eliminar el Caché Transferible de Shaders</translation> + <translation>Error al eliminar la caché de shaders transferibles</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="1883"/> - <location filename="../../src/yuzu/main.cpp" line="1901"/> + <location filename="../../src/yuzu/main.cpp" line="1876"/> + <location filename="../../src/yuzu/main.cpp" line="1894"/> <source>A shader cache for this title does not exist.</source> - <translation>No existe un Caché de shaders para este título.</translation> + <translation>No existe caché de shaders para este título.</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="1888"/> + <location filename="../../src/yuzu/main.cpp" line="1881"/> <source>Successfully removed the transferable shader cache.</source> - <translation>El Caché Transferible de Shaders fue eliminado con éxito.</translation> + <translation>El caché de shaders transferibles se ha eliminado con éxito.</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="1891"/> + <location filename="../../src/yuzu/main.cpp" line="1884"/> <source>Failed to remove the transferable shader cache.</source> - <translation>No se ha podido eliminar el caché de shaders transferibles.</translation> + <translation>No se ha podido eliminar la caché de shaders transferibles.</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="1900"/> - <location filename="../../src/yuzu/main.cpp" line="1908"/> + <location filename="../../src/yuzu/main.cpp" line="1893"/> + <location filename="../../src/yuzu/main.cpp" line="1901"/> <source>Error Removing Transferable Shader Caches</source> - <translation>Error al Eliminar las Cachés Transferibles de Shaders</translation> + <translation>Error al eliminar las cachés de shaders transferibles</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="1906"/> + <location filename="../../src/yuzu/main.cpp" line="1899"/> <source>Successfully removed the transferable shader caches.</source> - <translation>Cachés transferibles de shaders eliminadas con éxito.</translation> + <translation>Cachés de shaders transferibles eliminadas con éxito.</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="1909"/> + <location filename="../../src/yuzu/main.cpp" line="1902"/> <source>Failed to remove the transferable shader cache directory.</source> - <translation>No se ha podido eliminar el directorio de cachés transferibles de shaders.</translation> + <translation>No se ha podido eliminar el directorio de cachés de shaders transferibles.</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="1922"/> - <location filename="../../src/yuzu/main.cpp" line="1931"/> + <location filename="../../src/yuzu/main.cpp" line="1915"/> + <location filename="../../src/yuzu/main.cpp" line="1924"/> <source>Error Removing Custom Configuration</source> - <translation>Error al Eliminar la Configuración Personalizada del Juego</translation> + <translation>Error al eliminar la configuración personalizada del juego</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="1923"/> + <location filename="../../src/yuzu/main.cpp" line="1916"/> <source>A custom configuration for this title does not exist.</source> <translation>No existe una configuración personalizada para este título.</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="1929"/> + <location filename="../../src/yuzu/main.cpp" line="1922"/> <source>Successfully removed the custom game configuration.</source> <translation>Se eliminó con éxito la configuración personalizada del juego.</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="1932"/> + <location filename="../../src/yuzu/main.cpp" line="1925"/> <source>Failed to remove the custom game configuration.</source> <translation>No se ha podido eliminar la configuración personalizada del juego.</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="1939"/> - <location filename="../../src/yuzu/main.cpp" line="2018"/> + <location filename="../../src/yuzu/main.cpp" line="1932"/> + <location filename="../../src/yuzu/main.cpp" line="2011"/> <source>RomFS Extraction Failed!</source> - <translation>¡La extracción de RomFS falló!</translation> + <translation>¡La extracción de RomFS ha fallado!</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="1940"/> + <location filename="../../src/yuzu/main.cpp" line="1933"/> <source>There was an error copying the RomFS files or the user cancelled the operation.</source> - <translation>Se produjo un error al copiar los archivos RomFS o el usuario canceló la operación.</translation> + <translation>Se ha producido un error al copiar los archivos RomFS o el usuario ha cancelado la operación.</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="1998"/> + <location filename="../../src/yuzu/main.cpp" line="1991"/> <source>Full</source> <translation>Completo</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="1998"/> + <location filename="../../src/yuzu/main.cpp" line="1991"/> <source>Skeleton</source> - <translation>Base</translation> + <translation>Esquema</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="2000"/> + <location filename="../../src/yuzu/main.cpp" line="1993"/> <source>Select RomFS Dump Mode</source> - <translation>Elegir modo para volcar el RomFS</translation> + <translation>Elegir método de volcado de RomFS</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="2001"/> + <location filename="../../src/yuzu/main.cpp" line="1994"/> <source>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.</source> - <translation>Seleccione la forma en que desea volcar el RomFS. <br>Copiará todos los archivos en el nuevo directorio <br> mientras que el esqueleto solo creará la estructura del directorio.</translation> + <translation>Seleccione la forma en que quieras volcar el RomFS. <br>Copiará todos los archivos en el nuevo directorio <br> mientras que el esqueleto solo creará la estructura del directorio.</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="2019"/> + <location filename="../../src/yuzu/main.cpp" line="2012"/> <source>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</source> - <translation>No hay suficiente espacio en %1 para extraer el RomFS. Por favor, libere espacio o elige otro directorio de volcado en Emulación > Configuración > Sistema > Sistema de archivos > Raíz de volcado</translation> + <translation>No hay suficiente espacio en %1 para extraer el RomFS. Por favor, libera espacio o elige otro directorio de volcado en Emulación > Configuración > Sistema > Sistema de archivos > Raíz de volcado</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="2026"/> + <location filename="../../src/yuzu/main.cpp" line="2019"/> <source>Extracting RomFS...</source> <translation>Extrayendo RomFS...</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="2026"/> - <location filename="../../src/yuzu/main.cpp" line="2206"/> + <location filename="../../src/yuzu/main.cpp" line="2019"/> + <location filename="../../src/yuzu/main.cpp" line="2199"/> <source>Cancel</source> <translation>Cancelar</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="2033"/> + <location filename="../../src/yuzu/main.cpp" line="2026"/> <source>RomFS Extraction Succeeded!</source> - <translation>¡La extracción RomFS tuvo éxito!</translation> + <translation>¡La extracción RomFS ha tenido éxito!</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="2034"/> + <location filename="../../src/yuzu/main.cpp" line="2027"/> <source>The operation completed successfully.</source> <translation>La operación se completó con éxito.</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="2078"/> + <location filename="../../src/yuzu/main.cpp" line="2071"/> <source>Error Opening %1</source> <translation>Error al intentar abrir %1</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="2087"/> + <location filename="../../src/yuzu/main.cpp" line="2080"/> <source>Select Directory</source> - <translation>Seleccionar Directorio</translation> + <translation>Seleccionar directorio</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="2114"/> + <location filename="../../src/yuzu/main.cpp" line="2107"/> <source>Properties</source> <translation>Propiedades</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="2115"/> + <location filename="../../src/yuzu/main.cpp" line="2108"/> <source>The game properties could not be loaded.</source> - <translation>No se pudieron cargar las propiedades del juego.</translation> + <translation>No se pueden cargar las propiedades del juego.</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="2127"/> + <location filename="../../src/yuzu/main.cpp" line="2120"/> <source>Switch Executable (%1);;All Files (*.*)</source> <comment>%1 is an identifier for the Switch executable file extensions.</comment> <translation>Ejecutable de Switch (%1);;Todos los archivos (*.*)</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="2131"/> + <location filename="../../src/yuzu/main.cpp" line="2124"/> <source>Load File</source> <translation>Cargar archivo</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="2143"/> + <location filename="../../src/yuzu/main.cpp" line="2136"/> <source>Open Extracted ROM Directory</source> <translation>Abrir el directorio de la ROM extraída</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="2154"/> + <location filename="../../src/yuzu/main.cpp" line="2147"/> <source>Invalid Directory Selected</source> - <translation>Directorio no válido seleccionado</translation> + <translation>Directorio seleccionado no válido</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="2155"/> + <location filename="../../src/yuzu/main.cpp" line="2148"/> <source>The directory you have selected does not contain a 'main' file.</source> <translation>El directorio que ha seleccionado no contiene ningún archivo 'main'.</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="2165"/> + <location filename="../../src/yuzu/main.cpp" line="2158"/> <source>Installable Switch File (*.nca *.nsp *.xci);;Nintendo Content Archive (*.nca);;Nintendo Submission Package (*.nsp);;NX Cartridge Image (*.xci)</source> - <translation>Archivo de Switch Instalable (*.nca *.nsp *.xci);;Archivo de Contenidos Nintendo (*.nca);;Paquete de Envío Nintendo (*.nsp);;Imagen de Cartucho NX (*.xci)</translation> + <translation>Archivo de Switch Instalable (*.nca *.nsp *.xci);;Archivo de contenidos de Nintendo (*.nca);;Paquete de envío de Nintendo (*.nsp);;Imagen de cartucho NX (*.xci)</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="2170"/> + <location filename="../../src/yuzu/main.cpp" line="2163"/> <source>Install Files</source> - <translation>Instalar Archivos</translation> + <translation>Instalar archivos</translation> </message> <message numerus="yes"> - <location filename="../../src/yuzu/main.cpp" line="2214"/> + <location filename="../../src/yuzu/main.cpp" line="2207"/> <source>%n file(s) remaining</source> <translation><numerusform>%n archivo(s) restantes</numerusform><numerusform>%n archivo(s) restantes</numerusform></translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="2216"/> + <location filename="../../src/yuzu/main.cpp" line="2209"/> <source>Installing file "%1"...</source> <translation>Instalando el archivo "%1"...</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="2262"/> - <location filename="../../src/yuzu/main.cpp" line="2276"/> + <location filename="../../src/yuzu/main.cpp" line="2255"/> + <location filename="../../src/yuzu/main.cpp" line="2269"/> <source>Install Results</source> - <translation>Instalar Resultados</translation> + <translation>Instalar resultados</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="2263"/> + <location filename="../../src/yuzu/main.cpp" line="2256"/> <source>To avoid possible conflicts, we discourage users from installing base games to the NAND. Please, only use this feature to install updates and DLC.</source> - <translation>Para evitar posibles conflictos, no recomendamos instalar juegos base en la NAND. Por favor, usa sólo esta característica para instalar actualizaciones y DLC.</translation> + <translation>Para evitar posibles conflictos, no recomendamos a los usuarios que instalen juegos base en el NAND. +Por favor, utiliza esta función sólo para instalar actualizaciones y DLCs.</translation> </message> <message numerus="yes"> - <location filename="../../src/yuzu/main.cpp" line="2269"/> + <location filename="../../src/yuzu/main.cpp" line="2262"/> <source>%n file(s) were newly installed </source> <translation><numerusform>%n archivo(s) recién instalado/s -</numerusform><numerusform>%n archivo(s) recién instalado/s +</numerusform><numerusform>%n archivo(s) instalado/s recientemente </numerusform></translation> </message> <message numerus="yes"> - <location filename="../../src/yuzu/main.cpp" line="2272"/> + <location filename="../../src/yuzu/main.cpp" line="2265"/> <source>%n file(s) were overwritten </source> <translation><numerusform>%n archivo(s) recién sobreescrito/s -</numerusform><numerusform>%n archivo(s) recién sobreescrito/s +</numerusform><numerusform>%n archivo(s) sobrescrito/s recientemente </numerusform></translation> </message> <message numerus="yes"> - <location filename="../../src/yuzu/main.cpp" line="2274"/> + <location filename="../../src/yuzu/main.cpp" line="2267"/> <source>%n file(s) failed to install </source> <translation><numerusform>%n archivo(s) no se instaló/instalaron @@ -4153,295 +4216,367 @@ Please, only use this feature to install updates and DLC.</source> </numerusform></translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="2375"/> + <location filename="../../src/yuzu/main.cpp" line="2368"/> <source>System Application</source> <translation>Aplicación del sistema</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="2376"/> + <location filename="../../src/yuzu/main.cpp" line="2369"/> <source>System Archive</source> - <translation>Archivo del Sistema</translation> + <translation>Archivo del sistema</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="2377"/> + <location filename="../../src/yuzu/main.cpp" line="2370"/> <source>System Application Update</source> <translation>Actualización de la aplicación del sistema</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="2378"/> + <location filename="../../src/yuzu/main.cpp" line="2371"/> <source>Firmware Package (Type A)</source> - <translation>Paquete de Firmware (Tipo A)</translation> + <translation>Paquete de firmware (Tipo A)</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="2379"/> + <location filename="../../src/yuzu/main.cpp" line="2372"/> <source>Firmware Package (Type B)</source> - <translation>Paquete de Firmware (Tipo B)</translation> + <translation>Paquete de firmware (Tipo B)</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="2380"/> + <location filename="../../src/yuzu/main.cpp" line="2373"/> <source>Game</source> <translation>Juego</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="2381"/> + <location filename="../../src/yuzu/main.cpp" line="2374"/> <source>Game Update</source> - <translation>Actualización del juego</translation> + <translation>Actualización de juego</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="2382"/> + <location filename="../../src/yuzu/main.cpp" line="2375"/> <source>Game DLC</source> - <translation>DLC del Juego</translation> + <translation>DLC del juego</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="2383"/> + <location filename="../../src/yuzu/main.cpp" line="2376"/> <source>Delta Title</source> - <translation>Titulo Delta</translation> + <translation>Titulo delta</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="2386"/> + <location filename="../../src/yuzu/main.cpp" line="2379"/> <source>Select NCA Install Type...</source> <translation>Seleccione el tipo de instalación NCA...</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="2387"/> + <location filename="../../src/yuzu/main.cpp" line="2380"/> <source>Please select the type of title you would like to install this NCA as: (In most instances, the default 'Game' is fine.)</source> - <translation>Seleccione el tipo de título en el que desea instalar este NCA como: -(En la mayoría de los casos, el 'Juego' predeterminado está bien).</translation> + <translation>Seleccione el tipo de título en el que deseas instalar este NCA como: +(En la mayoría de los casos, el 'Juego' predeterminado está bien).</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="2393"/> + <location filename="../../src/yuzu/main.cpp" line="2386"/> <source>Failed to Install</source> <translation>Fallo en la instalación</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="2394"/> + <location filename="../../src/yuzu/main.cpp" line="2387"/> <source>The title type you selected for the NCA is invalid.</source> <translation>El tipo de título que seleccionó para el NCA no es válido.</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="2429"/> + <location filename="../../src/yuzu/main.cpp" line="2422"/> <source>File not found</source> <translation>Archivo no encontrado</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="2430"/> + <location filename="../../src/yuzu/main.cpp" line="2423"/> <source>File "%1" not found</source> <translation>Archivo "%1" no encontrado</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="2445"/> - <location filename="../../src/yuzu/main.cpp" line="3448"/> - <source>&Continue</source> - <translation>&Continuar</translation> - </message> - <message> - <location filename="../../src/yuzu/main.cpp" line="2494"/> + <location filename="../../src/yuzu/main.cpp" line="2492"/> <source>OK</source> <translation>Aceptar</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="2508"/> + <location filename="../../src/yuzu/main.cpp" line="2506"/> <source>Missing yuzu Account</source> <translation>Falta la cuenta de Yuzu</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="2509"/> + <location filename="../../src/yuzu/main.cpp" line="2507"/> <source>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.</source> - <translation>Para enviar un caso de prueba de compatibilidad de juegos, debe vincular su cuenta de yuzu.<br><br/> Para vincular su cuenta yuzu, vaya a Emulación & gt; Configuración & gt; Web.</translation> + <translation>Para enviar un caso de prueba de compatibilidad de juegos, debes vincular tu cuenta de yuzu.<br><br/> Para vincular tu cuenta de yuzu, ve a Emulación &gt; Configuración &gt; Web.</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="2519"/> + <location filename="../../src/yuzu/main.cpp" line="2517"/> <source>Error opening URL</source> <translation>Error al abrir la URL</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="2520"/> + <location filename="../../src/yuzu/main.cpp" line="2518"/> <source>Unable to open the URL "%1".</source> <translation>No se puede abrir la URL "%1".</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="2802"/> + <location filename="../../src/yuzu/main.cpp" line="2777"/> + <source>TAS Recording</source> + <translation>Grabación TAS</translation> + </message> + <message> + <location filename="../../src/yuzu/main.cpp" line="2777"/> + <source>Overwrite file of player 1?</source> + <translation>¿Sobrescribir archivo del jugador 1?</translation> + </message> + <message> + <location filename="../../src/yuzu/main.cpp" line="2830"/> <source>Amiibo File (%1);; All Files (*.*)</source> - <translation>Archivo Amiibo (%1);; Todos los archivos (*.*)</translation> + <translation>Archivo amiibo (%1);; Todos los archivos (*.*)</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="2803"/> + <location filename="../../src/yuzu/main.cpp" line="2831"/> <source>Load Amiibo</source> <translation>Cargar amiibo</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="2821"/> + <location filename="../../src/yuzu/main.cpp" line="2849"/> <source>Error opening Amiibo data file</source> - <translation>Error al abrir el archivo de datos de Amiibo</translation> + <translation>Error al abrir el archivo de datos amiibo</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="2822"/> + <location filename="../../src/yuzu/main.cpp" line="2850"/> <source>Unable to open Amiibo file "%1" for reading.</source> - <translation>No se puede abrir el archivo de Amiibo "%1" para leer.</translation> + <translation>No se puede abrir el archivo amiibo "%1" para leer.</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="2830"/> + <location filename="../../src/yuzu/main.cpp" line="2858"/> <source>Error reading Amiibo data file</source> - <translation>Error al leer el archivo de datos de Amiibo</translation> + <translation>Error al leer el archivo de datos amiibo</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="2831"/> + <location filename="../../src/yuzu/main.cpp" line="2859"/> <source>Unable to fully read Amiibo data. Expected to read %1 bytes, but was only able to read %2 bytes.</source> - <translation>No se pueden leer completamente los datos de Amiibo. Se esperaban leer %1 bytes, pero solo se pudo leer %2 bytes.</translation> + <translation>No se puede leer completamente los datos Amiibo. Se esperaban leer %1 bytes, pero solo se puede leer %2 bytes.</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="2839"/> + <location filename="../../src/yuzu/main.cpp" line="2867"/> <source>Error loading Amiibo data</source> - <translation>Error al cargar los datos de Amiibo</translation> + <translation>Error al cargar los datos Amiibo</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="2840"/> + <location filename="../../src/yuzu/main.cpp" line="2868"/> <source>Unable to load Amiibo data.</source> - <translation>No se pueden cargar los datos de Amiibo.</translation> + <translation>No se pueden cargar los datos Amiibo.</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="2881"/> + <location filename="../../src/yuzu/main.cpp" line="2913"/> <source>Capture Screenshot</source> - <translation>Captura de Pantalla</translation> + <translation>Captura de pantalla</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="2882"/> + <location filename="../../src/yuzu/main.cpp" line="2914"/> <source>PNG Image (*.png)</source> <translation>Imagen PNG (*.png)</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="2948"/> + <location filename="../../src/yuzu/main.cpp" line="2979"/> <source>TAS state: Running %1/%2</source> - <translation>Estado TAS: Ejecutando %1/%2</translation> + <translation>Estado TAS: ejecutando %1/%2</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="2950"/> + <location filename="../../src/yuzu/main.cpp" line="2981"/> <source>TAS state: Recording %1</source> - <translation>Estado TAS: Grabando %1</translation> + <translation>Estado TAS: grabando %1</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="2952"/> + <location filename="../../src/yuzu/main.cpp" line="2983"/> <source>TAS state: Idle %1/%2</source> - <translation>Estado TAS: Idle %1/%2</translation> + <translation>Estado TAS: inactivo %1/%2</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="2954"/> + <location filename="../../src/yuzu/main.cpp" line="2985"/> <source>TAS State: Invalid</source> - <translation>Estado TAS: Nulo</translation> + <translation>Estado TAS: nulo</translation> + </message> + <message> + <location filename="../../src/yuzu/main.cpp" line="2999"/> + <source>&Stop Running</source> + <translation>&Parar de ejecutar</translation> + </message> + <message> + <location filename="../../src/yuzu/main.cpp" line="2999"/> + <source>&Start</source> + <translation>&Iniciar</translation> + </message> + <message> + <location filename="../../src/yuzu/main.cpp" line="3000"/> + <source>Stop R&ecording</source> + <translation>Pausar g&rabación</translation> + </message> + <message> + <location filename="../../src/yuzu/main.cpp" line="3000"/> + <source>R&ecord</source> + <translation>G&rabar</translation> </message> <message numerus="yes"> - <location filename="../../src/yuzu/main.cpp" line="2975"/> + <location filename="../../src/yuzu/main.cpp" line="3024"/> <source>Building: %n shader(s)</source> - <translation><numerusform>Creando: %n shader(s)</numerusform><numerusform>Creando: %n shader(s)</numerusform></translation> + <translation><numerusform>Creando: %n shader(s)</numerusform><numerusform>Construyendo: %n shader(s)</numerusform></translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="2982"/> + <location filename="../../src/yuzu/main.cpp" line="3033"/> + <source>Scale: %1x</source> + <comment>%1 is the resolution scaling factor</comment> + <translation>Escalado: %1x</translation> + </message> + <message> + <location filename="../../src/yuzu/main.cpp" line="3036"/> <source>Speed: %1% / %2%</source> <translation>Velocidad: %1% / %2%</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="2986"/> + <location filename="../../src/yuzu/main.cpp" line="3040"/> <source>Speed: %1%</source> <translation>Velocidad: %1%</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="2990"/> + <location filename="../../src/yuzu/main.cpp" line="3044"/> <source>Game: %1 FPS (Unlocked)</source> - <translation>Juego: %1 FPS (Desbloqueado)</translation> + <translation>Juego: %1 FPS (desbloqueado)</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="2992"/> + <location filename="../../src/yuzu/main.cpp" line="3046"/> <source>Game: %1 FPS</source> <translation>Juego: %1 FPS</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="2994"/> + <location filename="../../src/yuzu/main.cpp" line="3048"/> <source>Frame: %1 ms</source> <translation>Fotogramas: %1 ms</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="3004"/> + <location filename="../../src/yuzu/main.cpp" line="3059"/> <source>GPU NORMAL</source> <translation>GPU NORMAL</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="3009"/> + <location filename="../../src/yuzu/main.cpp" line="3064"/> <source>GPU HIGH</source> <translation>GPU ALTA</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="3014"/> + <location filename="../../src/yuzu/main.cpp" line="3069"/> <source>GPU EXTREME</source> <translation>GPU EXTREMA</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="3019"/> + <location filename="../../src/yuzu/main.cpp" line="3074"/> <source>GPU ERROR</source> <translation>GPU ERROR</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="3076"/> + <location filename="../../src/yuzu/main.cpp" line="3084"/> + <source>NEAREST</source> + <translation>PROVEEDOR</translation> + </message> + <message> + <location filename="../../src/yuzu/main.cpp" line="3087"/> + <location filename="../../src/yuzu/main.cpp" line="3102"/> + <source>BILINEAR</source> + <translation>BILINEAL</translation> + </message> + <message> + <location filename="../../src/yuzu/main.cpp" line="3090"/> + <source>BICUBIC</source> + <translation>BICÚBICO</translation> + </message> + <message> + <location filename="../../src/yuzu/main.cpp" line="3093"/> + <source>GAUSSIAN</source> + <translation>GAUSSIANO</translation> + </message> + <message> + <location filename="../../src/yuzu/main.cpp" line="3096"/> + <source>SCALEFORCE</source> + <translation>SCALEFORCE</translation> + </message> + <message> + <location filename="../../src/yuzu/main.cpp" line="3099"/> + <source>FSR</source> + <translation>FSR</translation> + </message> + <message> + <location filename="../../src/yuzu/main.cpp" line="3111"/> + <location filename="../../src/yuzu/main.cpp" line="3117"/> + <source>NO AA</source> + <translation>NO AA</translation> + </message> + <message> + <location filename="../../src/yuzu/main.cpp" line="3114"/> + <source>FXAA</source> + <translation>FXAA</translation> + </message> + <message> + <location filename="../../src/yuzu/main.cpp" line="3175"/> <source>The game you are trying to load requires additional files from your Switch to be dumped before playing.<br/><br/>For more information on dumping these files, please see the following wiki page: <a href='https://yuzu-emu.org/wiki/dumping-system-archives-and-the-shared-fonts-from-a-switch-console/'>Dumping System Archives and the Shared Fonts from a Switch Console</a>.<br/><br/>Would you like to quit back to the game list? Continuing emulation may result in crashes, corrupted save data, or other bugs.</source> - <translation>El juego que estás intentando cargar requiere de archivos adicionales de su Switch antes de poder jugar. <br/><br/>Para obtener más información sobre cómo obtener estos archivos, ve a la siguiente página de la wiki: <a href='https://yuzu-emu.org/wiki/dumping-system-archives-and-the-shared-fonts-from-a-switch-console/'>Volcar archivos del sistema y las fuentes compartidas desde una Consola Switch. </a>.<br/><br/>¿Quieres volver a la lista de juegos? Continuar con la emulación puede provocar fallos, datos de guardado dañados u otros errores.</translation> + <translation>El juego que estás intentando cargar requiere archivos adicionales de tu Switch antes de poder jugar. <br/><br/>Para obtener más información sobre cómo obtener estos archivos, ve a la siguiente página de la wiki: <a href='https://yuzu-emu.org/wiki/dumping-system-archives-and-the-shared-fonts-from-a-switch-console/'>Volcar archivos del sistema y las fuentes compartidas desde una Consola Switch. </a>.<br/><br/>¿Quieres volver a la lista de juegos? Continuar con la emulación puede provocar fallos, datos de guardado corrompidos u otros errores.</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="3091"/> + <location filename="../../src/yuzu/main.cpp" line="3190"/> <source>yuzu was unable to locate a Switch system archive. %1</source> <translation>yuzu no pudo localizar el archivo de sistema de la Switch. %1</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="3093"/> + <location filename="../../src/yuzu/main.cpp" line="3192"/> <source>yuzu was unable to locate a Switch system archive: %1. %2</source> <translation>yuzu no pudo localizar un archivo de sistema de la Switch: %1. %2</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="3097"/> + <location filename="../../src/yuzu/main.cpp" line="3196"/> <source>System Archive Not Found</source> - <translation>Archivo del Sistema No Encontrado</translation> + <translation>Archivo del sistema no encontrado</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="3099"/> + <location filename="../../src/yuzu/main.cpp" line="3198"/> <source>System Archive Missing</source> - <translation>Falta Archivo del Sistema</translation> + <translation>Faltan archivos del sistema</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="3105"/> + <location filename="../../src/yuzu/main.cpp" line="3204"/> <source>yuzu was unable to locate the Switch shared fonts. %1</source> - <translation>yuzu no pudo encontrar las Fuentes Compartidas de la Switch. %1</translation> + <translation>yuzu no pudo encontrar las fuentes compartidas de la Switch. %1</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="3106"/> + <location filename="../../src/yuzu/main.cpp" line="3205"/> <source>Shared Fonts Not Found</source> <translation>Fuentes compartidas no encontradas</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="3108"/> + <location filename="../../src/yuzu/main.cpp" line="3207"/> <source>Shared Font Missing</source> - <translation>Faltan las Fuentes Compartidas</translation> + <translation>Faltan fuentes compartidas</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="3114"/> + <location filename="../../src/yuzu/main.cpp" line="3213"/> <source>Fatal Error</source> - <translation>Error Fatal</translation> + <translation>Error fatal</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="3115"/> + <location filename="../../src/yuzu/main.cpp" line="3214"/> <source>yuzu has encountered a fatal error, please see the log for more details. For more information on accessing the log, please see the following page: <a href='https://community.citra-emu.org/t/how-to-upload-the-log-file/296'>How to Upload the Log File</a>.<br/><br/>Would you like to quit back to the game list? Continuing emulation may result in crashes, corrupted save data, or other bugs.</source> - <translation>yuzu ha encontrado un error fatal, consulte el registro para obtener más detalles. Para obtener más información sobre cómo acceder al registro, consulte la siguiente página: <a href='https://community.citra-emu.org/t/how-to-upload-the-log-file/296'>¿Cómo cargar el archivo de registro?</a>.<br/><br/> La emulación continua puede provocar fallos, datos de guardado dañados u otros errores.</translation> + <translation>yuzu ha encontrado un error fatal, consulta el registro para obtener más detalles. Para obtener más información sobre cómo acceder al registro, consulta la siguiente página: <a href='https://community.citra-emu.org/t/how-to-upload-the-log-file/296'>¿Cómo cargar el archivo de registro?</a>.<br/><br/> Continuar con la emulación puede provocar fallos, datos de guardado corruptos u otros errores.</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="3124"/> + <location filename="../../src/yuzu/main.cpp" line="3223"/> <source>Fatal Error encountered</source> - <translation>Error Fatal Encontrado</translation> + <translation>Error fatal encontrado</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="3147"/> + <location filename="../../src/yuzu/main.cpp" line="3246"/> <source>Confirm Key Rederivation</source> - <translation>Confirma la Clave de Rederivación</translation> + <translation>Confirmar la clave de rederivación</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="3148"/> + <location filename="../../src/yuzu/main.cpp" line="3247"/> <source>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. @@ -4449,46 +4584,46 @@ Please make sure this is what you want and optionally make backups. This will delete your autogenerated key files and re-run the key derivation module.</source> - <translation>Estás a punto de forzar todas tus claves. + <translation>Estás a punto de forzar la rederivación de todas tus claves. Si no sabes qué es esto, es una acción potencialmente destructiva. -Por favor, asegúrese de que esto -es lo que desea hacer si es necesario. +Por favor, asegúrate de que esto +es lo que quieres hacer si es necesario. - Esto eliminará los archivos de las claves generados automáticamente y volverá a ejecutar el módulo de derivación de claves.</translation> + Esto eliminará los archivos de las claves generadas automáticamente y volverá a ejecutar el módulo de derivación de claves.</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="3180"/> + <location filename="../../src/yuzu/main.cpp" line="3279"/> <source>Missing fuses</source> - <translation>Falta fuses</translation> + <translation>Faltan fuses</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="3183"/> + <location filename="../../src/yuzu/main.cpp" line="3282"/> <source> - Missing BOOT0</source> <translation>- Falta BOOT0</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="3186"/> + <location filename="../../src/yuzu/main.cpp" line="3285"/> <source> - Missing BCPKG2-1-Normal-Main</source> <translation> - Falta BCPKG2-1-Normal-Main</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="3189"/> + <location filename="../../src/yuzu/main.cpp" line="3288"/> <source> - Missing PRODINFO</source> <translation> - Falta PRODINFO</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="3193"/> + <location filename="../../src/yuzu/main.cpp" line="3292"/> <source>Derivation Components Missing</source> - <translation>Faltan Componentes de Derivación</translation> + <translation>Faltan componentes de derivación</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="3194"/> - <source>Components are missing that may hinder key derivation from completing. <br>Please follow <a href='https://yuzu-emu.org/help/quickstart/'>the yuzu quickstart guide</a> to get all your keys and games.<br><br><small>(%1)</small></source> - <translation>Faltan componentes que pueden impedir que la derivación de la clave se complete. <br>Por favor siga <a href='https://yuzu-emu.org/help/quickstart/'>la guía de inicio rápido de yuzu</a> para conseguir todas tus llaves y juegos.<br><br><small>(%1)</small></translation> + <location filename="../../src/yuzu/main.cpp" line="3293"/> + <source>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></source> + <translation>Faltan las claves de encriptación. <br>Por favor, sigue <a href='https://yuzu-emu.org/help/quickstart/'>la guía rápida de yuzu</a> para obtener todas tus claves, firmware y juegos.<br><br><small>(%1)</small></translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="3203"/> + <location filename="../../src/yuzu/main.cpp" line="3302"/> <source>Deriving keys... This may take up to a minute depending on your system's performance.</source> @@ -4497,84 +4632,84 @@ Esto puede llevar unos minutos dependiendo del rendimiento de su sistema.</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="3205"/> + <location filename="../../src/yuzu/main.cpp" line="3304"/> <source>Deriving Keys</source> <translation>Obtención de claves</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="3250"/> + <location filename="../../src/yuzu/main.cpp" line="3349"/> <source>Select RomFS Dump Target</source> <translation>Selecciona el destinatario para volcar el RomFS</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="3251"/> + <location filename="../../src/yuzu/main.cpp" line="3350"/> <source>Please select which RomFS you would like to dump.</source> - <translation>Por favor, seleccione los RomFS que desea volcar.</translation> + <translation>Por favor, seleccione los RomFS que deseas volcar.</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="3266"/> + <location filename="../../src/yuzu/main.cpp" line="3365"/> <source>Are you sure you want to close yuzu?</source> <translation>¿Estás seguro de que quieres cerrar yuzu?</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="3267"/> - <location filename="../../src/yuzu/main.cpp" line="3342"/> - <location filename="../../src/yuzu/main.cpp" line="3355"/> + <location filename="../../src/yuzu/main.cpp" line="3366"/> + <location filename="../../src/yuzu/main.cpp" line="3443"/> + <location filename="../../src/yuzu/main.cpp" line="3456"/> <source>yuzu</source> <translation>yuzu</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="3343"/> + <location filename="../../src/yuzu/main.cpp" line="3444"/> <source>Are you sure you want to stop the emulation? Any unsaved progress will be lost.</source> <translation>¿Estás seguro de que quieres detener la emulación? Cualquier progreso no guardado se perderá.</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="3352"/> + <location filename="../../src/yuzu/main.cpp" line="3453"/> <source>The currently running application has requested yuzu to not exit. Would you like to bypass this and exit anyway?</source> - <translation>La aplicación que se está ejecutando actualmente ha solicitado que yuzu no sea cerrado. + <translation>La aplicación que se está ejecutando actualmente ha solicitado que yuzu no se cierre. -¿Desea cerrarlo de todas formas?</translation> +¿Quieres salir de todas formas?</translation> </message> </context> <context> <name>GRenderWindow</name> <message> - <location filename="../../src/yuzu/bootmanager.cpp" line="675"/> + <location filename="../../src/yuzu/bootmanager.cpp" line="976"/> <source>OpenGL not available!</source> <translation>¡OpenGL no está disponible!</translation> </message> <message> - <location filename="../../src/yuzu/bootmanager.cpp" line="676"/> + <location filename="../../src/yuzu/bootmanager.cpp" line="977"/> <source>yuzu has not been compiled with OpenGL support.</source> <translation>yuzu no ha sido compilado con soporte de OpenGL.</translation> </message> <message> - <location filename="../../src/yuzu/bootmanager.cpp" line="695"/> - <location filename="../../src/yuzu/bootmanager.cpp" line="715"/> + <location filename="../../src/yuzu/bootmanager.cpp" line="996"/> + <location filename="../../src/yuzu/bootmanager.cpp" line="1016"/> <source>Error while initializing OpenGL!</source> <translation>¡Error al inicializar OpenGL!</translation> </message> <message> - <location filename="../../src/yuzu/bootmanager.cpp" line="696"/> + <location filename="../../src/yuzu/bootmanager.cpp" line="997"/> <source>Your GPU may not support OpenGL, or you do not have the latest graphics driver.</source> - <translation>Tu GPU no soporta OpenGL o no tienes instalados los últimos controladores gráficos.</translation> + <translation>Tu GPU no soporta OpenGL, o no tienes instalados los últimos controladores gráficos.</translation> </message> <message> - <location filename="../../src/yuzu/bootmanager.cpp" line="705"/> + <location filename="../../src/yuzu/bootmanager.cpp" line="1006"/> <source>Error while initializing OpenGL 4.6!</source> <translation>¡Error al iniciar OpenGL 4.6!</translation> </message> <message> - <location filename="../../src/yuzu/bootmanager.cpp" line="706"/> + <location filename="../../src/yuzu/bootmanager.cpp" line="1007"/> <source>Your GPU may not support OpenGL 4.6, or you do not have the latest graphics driver.<br><br>GL Renderer:<br>%1</source> <translation>Tu GPU no soporta OpenGL 4.6, o no tienes instalado el último controlador de la tarjeta gráfica.<br><br>GL Renderer:<br>%1</translation> </message> <message> - <location filename="../../src/yuzu/bootmanager.cpp" line="716"/> + <location filename="../../src/yuzu/bootmanager.cpp" line="1017"/> <source>Your GPU may not support one or more required OpenGL extensions. Please ensure you have the latest graphics driver.<br><br>GL Renderer:<br>%1<br><br>Unsupported extensions:<br>%2</source> - <translation>Es posible que su GPU no soporte una o más extensiones OpenGL requeridas. Por favor, asegúrese de tener el último controlador de la tarjeta gráfica.<br><br>GL Renderer:<br>%1<br><br>Extensiones no soportadas:<br>%2</translation> + <translation>Es posible que la GPU no soporte una o más extensiones necesarias de OpenGL . Por favor, asegúrate de tener los últimos controladores de la tarjeta gráfica.<br><br>GL Renderer:<br>%1<br><br>Extensiones no soportadas:<br>%2</translation> </message> </context> <context> @@ -4592,12 +4727,12 @@ Would you like to bypass this and exit anyway?</source> <message> <location filename="../../src/yuzu/game_list.cpp" line="333"/> <source>Add-ons</source> - <translation>Complementos</translation> + <translation>Extras/Add-ons</translation> </message> <message> <location filename="../../src/yuzu/game_list.cpp" line="335"/> <source>File type</source> - <translation>Tipo de Archivo</translation> + <translation>Tipo de archivo</translation> </message> <message> <location filename="../../src/yuzu/game_list.cpp" line="336"/> @@ -4612,12 +4747,12 @@ Would you like to bypass this and exit anyway?</source> <message> <location filename="../../src/yuzu/game_list.cpp" line="510"/> <source>Start Game</source> - <translation>Empezar Juego</translation> + <translation>Iniciar juego</translation> </message> <message> <location filename="../../src/yuzu/game_list.cpp" line="512"/> <source>Start Game without Custom Configuration</source> - <translation>Empezar Juego sin Configuración Personalizada</translation> + <translation>Iniciar juego sin la configuración personalizada</translation> </message> <message> <location filename="../../src/yuzu/game_list.cpp" line="514"/> @@ -4627,12 +4762,12 @@ Would you like to bypass this and exit anyway?</source> <message> <location filename="../../src/yuzu/game_list.cpp" line="515"/> <source>Open Mod Data Location</source> - <translation>Abrir ubicación de Mods</translation> + <translation>Abrir ubicación de los mods</translation> </message> <message> <location filename="../../src/yuzu/game_list.cpp" line="517"/> <source>Open Transferable Pipeline Cache</source> - <translation>Abrir Caché Transferible de Shaders de Tubería</translation> + <translation>Abrir caché transferible de shaders en tubería</translation> </message> <message> <location filename="../../src/yuzu/game_list.cpp" line="519"/> @@ -4642,7 +4777,7 @@ Would you like to bypass this and exit anyway?</source> <message> <location filename="../../src/yuzu/game_list.cpp" line="520"/> <source>Remove Installed Update</source> - <translation>Eliminar la Actualización Instalada</translation> + <translation>Eliminar la actualización instalada</translation> </message> <message> <location filename="../../src/yuzu/game_list.cpp" line="521"/> @@ -4652,27 +4787,27 @@ Would you like to bypass this and exit anyway?</source> <message> <location filename="../../src/yuzu/game_list.cpp" line="522"/> <source>Remove Custom Configuration</source> - <translation>Eliminar Configuración Personalizada</translation> + <translation>Eliminar la configuración personalizada</translation> </message> <message> <location filename="../../src/yuzu/game_list.cpp" line="523"/> <source>Remove OpenGL Pipeline Cache</source> - <translation>Eliminar Caché de Tubería de OpenGL</translation> + <translation>Eliminar caché en tubería de OpenGL</translation> </message> <message> <location filename="../../src/yuzu/game_list.cpp" line="524"/> <source>Remove Vulkan Pipeline Cache</source> - <translation>Eliminar Caché de Tubería de Vulkan</translation> + <translation>Eliminar caché en tubería de Vulkan</translation> </message> <message> <location filename="../../src/yuzu/game_list.cpp" line="526"/> <source>Remove All Pipeline Caches</source> - <translation>Eliminar todas las cachés de tubería</translation> + <translation>Eliminar todas las cachés en tubería</translation> </message> <message> <location filename="../../src/yuzu/game_list.cpp" line="527"/> <source>Remove All Installed Contents</source> - <translation>Eliminar Todos los Contenidos Instalados</translation> + <translation>Eliminar todo el contenido instalado</translation> </message> <message> <location filename="../../src/yuzu/game_list.cpp" line="528"/> @@ -4688,12 +4823,12 @@ Would you like to bypass this and exit anyway?</source> <message> <location filename="../../src/yuzu/game_list.cpp" line="531"/> <source>Copy Title ID to Clipboard</source> - <translation>Copiar ID de título al portapapeles</translation> + <translation>Copiar la ID del título al portapapeles</translation> </message> <message> <location filename="../../src/yuzu/game_list.cpp" line="532"/> <source>Navigate to GameDB entry</source> - <translation>Navegar a la entrada de BD del juego</translation> + <translation>Ir a la sección de bases de datos del juego</translation> </message> <message> <location filename="../../src/yuzu/game_list.cpp" line="534"/> @@ -4708,22 +4843,22 @@ Would you like to bypass this and exit anyway?</source> <message> <location filename="../../src/yuzu/game_list.cpp" line="607"/> <source>Remove Game Directory</source> - <translation>Eliminar Directorio de Juegos</translation> + <translation>Eliminar directorio de juegos</translation> </message> <message> <location filename="../../src/yuzu/game_list.cpp" line="626"/> <source>▲ Move Up</source> - <translation>▲ Mover Hacia Arriba</translation> + <translation>▲ Mover hacia arriba</translation> </message> <message> <location filename="../../src/yuzu/game_list.cpp" line="627"/> <source>▼ Move Down</source> - <translation>▼ Mover Hacia Abajo</translation> + <translation>▼ Mover hacia abajo</translation> </message> <message> <location filename="../../src/yuzu/game_list.cpp" line="628"/> <source>Open Directory Location</source> - <translation>Abrir Ubicación del Directorio</translation> + <translation>Abrir ubicación del directorio</translation> </message> <message> <location filename="../../src/yuzu/game_list.cpp" line="673"/> @@ -4754,8 +4889,8 @@ sin ninguna solución necesaria.</translation> <location filename="../../src/yuzu/game_list_p.h" line="152"/> <source>Game functions with minor graphical or audio glitches and is playable from start to finish. May require some workarounds.</source> - <translation>El juego funciona con fallos gráficos o de audio menores y se puede jugar de principio a fin. Puede requerir de -soluciones temporales.</translation> + <translation>El juego funciona con fallos gráficos o de audio menores y es jugable de principio a fin. Puede que sea necesario +recurrir a arreglos temporales.</translation> </message> <message> <location filename="../../src/yuzu/game_list_p.h" line="153"/> @@ -4766,8 +4901,8 @@ soluciones temporales.</translation> <location filename="../../src/yuzu/game_list_p.h" line="153"/> <source>Game functions with major graphical or audio glitches, but game is playable from start to finish with workarounds.</source> - <translation>El juego funciona con importantes fallos gráficos o de audio, pero el juego se puede jugar de principio a fin con -soluciones temporales.</translation> + <translation>El juego funciona con fallos gráficos o de audio sustanciales, pero el juego es jugable de principio a fin con +arreglos temporales.</translation> </message> <message> <location filename="../../src/yuzu/game_list_p.h" line="154"/> @@ -4778,19 +4913,19 @@ soluciones temporales.</translation> <location filename="../../src/yuzu/game_list_p.h" line="154"/> <source>Game functions, but with major graphical or audio glitches. Unable to progress in specific areas due to glitches even with workarounds.</source> - <translation>El juego funciona, pero con importantes fallos gráficos o de audio. Es imposible avanzar en zonas específicas -incluso con soluciones temporales.</translation> + <translation>El juego funciona, pero tiene errores gráficos o de audio. Es imposible avanzar en ciertas zonas debido a fallos +incluso con arreglos temporales.</translation> </message> <message> <location filename="../../src/yuzu/game_list_p.h" line="155"/> <source>Intro/Menu</source> - <translation>Intro/Menú</translation> + <translation>Intro/Menu</translation> </message> <message> <location filename="../../src/yuzu/game_list_p.h" line="155"/> <source>Game is completely unplayable due to major graphical or audio glitches. Unable to progress past the Start Screen.</source> - <translation>No es posible jugar a este juego debido a importantes errores gráficos o de audio. Es imposible avanzar mas allá de la pantalla + <translation>No es posible jugar a este juego debido a errores gráficos o de audio importantes. Es imposible avanzar mas allá de la pantalla de inicio.</translation> </message> <message> @@ -4819,7 +4954,7 @@ de inicio.</translation> <message> <location filename="../../src/yuzu/game_list.cpp" line="846"/> <source>Double-click to add a new folder to the game list</source> - <translation>Haga doble clic para agregar un nuevo directorio a la lista de juegos.</translation> + <translation>Haz doble clic para agregar un nuevo directorio a la lista de juegos.</translation> </message> </context> <context> @@ -4832,12 +4967,12 @@ de inicio.</translation> <message> <location filename="../../src/yuzu/game_list.cpp" line="128"/> <source>Filter:</source> - <translation>Filtrar:</translation> + <translation>Búsqueda:</translation> </message> <message> <location filename="../../src/yuzu/game_list.cpp" line="131"/> <source>Enter pattern to filter</source> - <translation>Introduce patrón para filtrar</translation> + <translation>Introduce un patrón para buscar</translation> </message> </context> <context> @@ -4845,12 +4980,12 @@ de inicio.</translation> <message> <location filename="../../src/yuzu/install_dialog.cpp" line="31"/> <source>Please confirm these are the files you wish to install.</source> - <translation>Por favor, confirme que estos son los archivos que desea instalar.</translation> + <translation>Por favor, confirma que estos son los archivos que desea instalar.</translation> </message> <message> <location filename="../../src/yuzu/install_dialog.cpp" line="34"/> <source>Installing an Update or DLC will overwrite the previously installed one.</source> - <translation>Instalando una Actualización o DLC reemplazará la que está instalada anteriormente.</translation> + <translation>Instalar una actualización o DLC reemplazará la que se instaló previamente.</translation> </message> <message> <location filename="../../src/yuzu/install_dialog.cpp" line="38"/> @@ -4878,17 +5013,17 @@ de inicio.</translation> <message> <location filename="../../src/yuzu/loading_screen.ui" line="84"/> <source>Loading Shaders 387 / 1628</source> - <translation>Cargando Shaders 387 / 1628</translation> + <translation>Cargando shaders 387 / 1628</translation> </message> <message> <location filename="../../src/yuzu/loading_screen.ui" line="121"/> <source>Loading Shaders %v out of %m</source> - <translation>Cargando Shaders %v de %m</translation> + <translation>Cargando shaders %v de %m</translation> </message> <message> <location filename="../../src/yuzu/loading_screen.ui" line="135"/> <source>Estimated Time 5m 4s</source> - <translation>Tiempo Estimado 5m 4s</translation> + <translation>Tiempo estimado 5m 4s</translation> </message> <message> <location filename="../../src/yuzu/loading_screen.cpp" line="91"/> @@ -4898,7 +5033,7 @@ de inicio.</translation> <message> <location filename="../../src/yuzu/loading_screen.cpp" line="92"/> <source>Loading Shaders %1 / %2</source> - <translation>Cargando Shaders %1 / %2</translation> + <translation>Cargando shaders %1 / %2</translation> </message> <message> <location filename="../../src/yuzu/loading_screen.cpp" line="93"/> @@ -4926,7 +5061,7 @@ de inicio.</translation> <message> <location filename="../../src/yuzu/main.ui" line="48"/> <source>&Recent Files</source> - <translation>&Archivos Recientes</translation> + <translation>&Archivos recientes</translation> </message> <message> <location filename="../../src/yuzu/main.ui" line="67"/> @@ -4934,189 +5069,204 @@ de inicio.</translation> <translation>&Emulación</translation> </message> <message> - <location filename="../../src/yuzu/main.ui" line="79"/> + <location filename="../../src/yuzu/main.ui" line="78"/> <source>&View</source> <translation>&Ver</translation> </message> <message> - <location filename="../../src/yuzu/main.ui" line="83"/> + <location filename="../../src/yuzu/main.ui" line="82"/> <source>&Reset Window Size</source> - <translation>&Reiniciar Tamaño de Ventana</translation> + <translation>&Reiniciar tamaño de ventana</translation> + </message> + <message> + <location filename="../../src/yuzu/main.ui" line="87"/> + <source>&Debugging</source> + <translation>&Depuración</translation> </message> <message> - <location filename="../../src/yuzu/main.ui" line="88"/> + <location filename="../../src/yuzu/main.ui" line="92"/> <source>Reset Window Size to &720p</source> - <translation>Reiniciar Tamaño de Ventana a &720p</translation> + <translation>Reiniciar el tamaño de la ventana a &720p</translation> </message> <message> - <location filename="../../src/yuzu/main.ui" line="91"/> + <location filename="../../src/yuzu/main.ui" line="95"/> <source>Reset Window Size to 720p</source> - <translation>Reiniciar Tamaño de Ventana a 720p</translation> + <translation>Reiniciar el tamaño de la ventana a 720p</translation> </message> <message> - <location filename="../../src/yuzu/main.ui" line="96"/> + <location filename="../../src/yuzu/main.ui" line="100"/> <source>Reset Window Size to &900p</source> - <translation>Reiniciar Tamaño de Ventana a &900p</translation> + <translation>Reiniciar el tamaño de la ventana a &900p</translation> </message> <message> - <location filename="../../src/yuzu/main.ui" line="99"/> + <location filename="../../src/yuzu/main.ui" line="103"/> <source>Reset Window Size to 900p</source> - <translation>Reiniciar Tamaño de Ventana a 900p</translation> + <translation>Reiniciar el tamaño de la ventana a 900p</translation> </message> <message> - <location filename="../../src/yuzu/main.ui" line="104"/> + <location filename="../../src/yuzu/main.ui" line="108"/> <source>Reset Window Size to &1080p</source> - <translation>Reiniciar Tamaño de Ventana a &1080p</translation> + <translation>Reiniciar el tamaño de la ventana a &1080p</translation> </message> <message> - <location filename="../../src/yuzu/main.ui" line="107"/> + <location filename="../../src/yuzu/main.ui" line="111"/> <source>Reset Window Size to 1080p</source> - <translation>Reiniciar Tamaño de Ventana a 1080p</translation> + <translation>Reiniciar el tamaño de la ventana a 1080p</translation> </message> <message> - <location filename="../../src/yuzu/main.ui" line="112"/> - <source>&Debugging</source> - <translation>&Depuración</translation> - </message> - <message> - <location filename="../../src/yuzu/main.ui" line="126"/> + <location filename="../../src/yuzu/main.ui" line="125"/> <source>&Tools</source> <translation>&Herramientas</translation> </message> <message> - <location filename="../../src/yuzu/main.ui" line="135"/> + <location filename="../../src/yuzu/main.ui" line="129"/> + <source>&TAS</source> + <translation>&TAS</translation> + </message> + <message> + <location filename="../../src/yuzu/main.ui" line="144"/> <source>&Help</source> <translation>&Ayuda</translation> </message> <message> - <location filename="../../src/yuzu/main.ui" line="155"/> + <location filename="../../src/yuzu/main.ui" line="164"/> <source>&Install Files to NAND...</source> - <translation>&Instalar Archivos al NAND...</translation> + <translation>&Instalar archivos en NAND...</translation> </message> <message> - <location filename="../../src/yuzu/main.ui" line="160"/> + <location filename="../../src/yuzu/main.ui" line="169"/> <source>L&oad File...</source> - <translation>C&argar Archivo...</translation> + <translation>C&argar archivo...</translation> </message> <message> - <location filename="../../src/yuzu/main.ui" line="165"/> + <location filename="../../src/yuzu/main.ui" line="174"/> <source>Load &Folder...</source> - <translation>Cargar &Carpera</translation> + <translation>Cargar &carpeta</translation> </message> <message> - <location filename="../../src/yuzu/main.ui" line="170"/> + <location filename="../../src/yuzu/main.ui" line="179"/> <source>E&xit</source> <translation>S&alir</translation> </message> <message> - <location filename="../../src/yuzu/main.ui" line="178"/> - <source>&Start</source> - <translation>&Iniciar</translation> - </message> - <message> - <location filename="../../src/yuzu/main.ui" line="186"/> + <location filename="../../src/yuzu/main.ui" line="187"/> <source>&Pause</source> <translation>&Pausar</translation> </message> <message> - <location filename="../../src/yuzu/main.ui" line="194"/> + <location filename="../../src/yuzu/main.ui" line="195"/> <source>&Stop</source> <translation>&Detener</translation> </message> <message> - <location filename="../../src/yuzu/main.ui" line="199"/> + <location filename="../../src/yuzu/main.ui" line="200"/> <source>&Reinitialize keys...</source> <translation>&Reiniciando claves...</translation> </message> <message> - <location filename="../../src/yuzu/main.ui" line="204"/> + <location filename="../../src/yuzu/main.ui" line="205"/> <source>&About yuzu</source> <translation>&Acerca de yuzu</translation> </message> <message> - <location filename="../../src/yuzu/main.ui" line="212"/> + <location filename="../../src/yuzu/main.ui" line="213"/> <source>Single &Window Mode</source> - <translation>Modo &Ventana</translation> + <translation>Modo &ventana</translation> </message> <message> - <location filename="../../src/yuzu/main.ui" line="217"/> + <location filename="../../src/yuzu/main.ui" line="218"/> <source>Con&figure...</source> - <translation>Con&figure...</translation> + <translation>Con&figurar...</translation> </message> <message> - <location filename="../../src/yuzu/main.ui" line="225"/> + <location filename="../../src/yuzu/main.ui" line="226"/> <source>Display D&ock Widget Headers</source> <translation>Mostrar complementos de cabecera del D&ock </translation> </message> <message> - <location filename="../../src/yuzu/main.ui" line="233"/> + <location filename="../../src/yuzu/main.ui" line="234"/> <source>Show &Filter Bar</source> - <translation>Mostrar Barra de &Filtro</translation> + <translation>Mostrar barra de &búsqueda</translation> </message> <message> - <location filename="../../src/yuzu/main.ui" line="241"/> + <location filename="../../src/yuzu/main.ui" line="242"/> <source>Show &Status Bar</source> - <translation>Mostrar Barra de &Estado</translation> + <translation>Mostrar barra de &estado</translation> </message> <message> - <location filename="../../src/yuzu/main.ui" line="244"/> + <location filename="../../src/yuzu/main.ui" line="245"/> <source>Show Status Bar</source> - <translation>Mostrar Barra de Estado</translation> + <translation>Mostrar barra de estado</translation> </message> <message> - <location filename="../../src/yuzu/main.ui" line="252"/> + <location filename="../../src/yuzu/main.ui" line="253"/> <source>F&ullscreen</source> <translation>P&antalla completa</translation> </message> <message> - <location filename="../../src/yuzu/main.ui" line="260"/> + <location filename="../../src/yuzu/main.ui" line="261"/> <source>&Restart</source> <translation>&Reiniciar</translation> </message> <message> - <location filename="../../src/yuzu/main.ui" line="268"/> + <location filename="../../src/yuzu/main.ui" line="269"/> <source>Load &Amiibo...</source> - <translation>Cargar &Amibo</translation> + <translation>Cargar &Amiibo</translation> </message> <message> - <location filename="../../src/yuzu/main.ui" line="276"/> + <location filename="../../src/yuzu/main.ui" line="277"/> <source>&Report Compatibility</source> - <translation>&Reporte de Compatibilidad</translation> + <translation>&Reporte de compatibilidad</translation> </message> <message> - <location filename="../../src/yuzu/main.ui" line="284"/> + <location filename="../../src/yuzu/main.ui" line="285"/> <source>Open &Mods Page</source> - <translation>Abrir Página de &Mods</translation> + <translation>Abrir página de &mods</translation> </message> <message> - <location filename="../../src/yuzu/main.ui" line="289"/> + <location filename="../../src/yuzu/main.ui" line="290"/> <source>Open &Quickstart Guide</source> - <translation>Abrir Guía de &Inicio Rápido</translation> + <translation>Abrir guía de &inicio rápido</translation> </message> <message> - <location filename="../../src/yuzu/main.ui" line="294"/> + <location filename="../../src/yuzu/main.ui" line="295"/> <source>&FAQ</source> <translation>&Preguntas frecuentes</translation> </message> <message> - <location filename="../../src/yuzu/main.ui" line="299"/> + <location filename="../../src/yuzu/main.ui" line="300"/> <source>Open &yuzu Folder</source> <translation>Abrir la carpeta de &yuzu</translation> </message> <message> - <location filename="../../src/yuzu/main.ui" line="307"/> + <location filename="../../src/yuzu/main.ui" line="308"/> <source>&Capture Screenshot</source> - <translation>&Captura de Pantalla</translation> + <translation>&Captura de pantalla</translation> </message> <message> - <location filename="../../src/yuzu/main.ui" line="312"/> - <source>Configure &TAS...</source> - <translation>Configurar &TAS...</translation> + <location filename="../../src/yuzu/main.ui" line="313"/> + <source>&Configure TAS...</source> + <translation>&Configurar TAS...</translation> </message> <message> - <location filename="../../src/yuzu/main.ui" line="320"/> + <location filename="../../src/yuzu/main.ui" line="321"/> <source>Configure C&urrent Game...</source> - <translation>Configurar J&uego actual...</translation> + <translation>Configurar j&uego actual...</translation> + </message> + <message> + <location filename="../../src/yuzu/main.ui" line="329"/> + <source>&Start</source> + <translation>&Iniciar</translation> + </message> + <message> + <location filename="../../src/yuzu/main.ui" line="337"/> + <source>&Reset</source> + <translation>&Reiniciar</translation> + </message> + <message> + <location filename="../../src/yuzu/main.ui" line="345"/> + <source>R&ecord</source> + <translation>G&rabar</translation> </message> </context> <context> @@ -5163,9 +5313,14 @@ p, li { white-space: pre-wrap; } <context> <name>PlayerControlPreview</name> <message> - <location filename="../../src/yuzu/configuration/configure_input_player_widget.cpp" line="1566"/> + <location filename="../../src/yuzu/configuration/configure_input_player_widget.cpp" line="1572"/> <source>START/PAUSE</source> - <translation>INICIAR/PARAR</translation> + <translation>INICIO/PAUSAR</translation> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_input_player_widget.cpp" line="2685"/> + <source>Charging</source> + <translation type="unfinished"/> </message> </context> <context> @@ -5178,17 +5333,17 @@ p, li { white-space: pre-wrap; } <message> <location filename="../../src/yuzu/game_list_p.h" line="252"/> <source>Installed NAND Titles</source> - <translation>Títulos instalados en la NAND</translation> + <translation>Títulos instalados en NAND</translation> </message> <message> <location filename="../../src/yuzu/game_list_p.h" line="260"/> <source>System Titles</source> - <translation>Títulos del Sistema</translation> + <translation>Títulos del sistema</translation> </message> <message> <location filename="../../src/yuzu/game_list_p.h" line="303"/> <source>Add New Game Directory</source> - <translation>Agregar un Nuevo Directorio de Juegos</translation> + <translation>Añadir un nuevo directorio de juegos</translation> </message> <message> <location filename="../../src/yuzu/game_list_p.h" line="326"/> @@ -5197,142 +5352,222 @@ p, li { white-space: pre-wrap; } </message> <message> <location filename="../../src/yuzu/configuration/configure_touch_from_button.cpp" line="23"/> - <location filename="../../src/yuzu/configuration/configure_mouse_advanced.cpp" line="32"/> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="72"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="43"/> <source>Shift</source> <translation>Shift</translation> </message> <message> <location filename="../../src/yuzu/configuration/configure_touch_from_button.cpp" line="25"/> - <location filename="../../src/yuzu/configuration/configure_mouse_advanced.cpp" line="34"/> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="74"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="45"/> <source>Ctrl</source> <translation>Ctrl</translation> </message> <message> <location filename="../../src/yuzu/configuration/configure_touch_from_button.cpp" line="27"/> - <location filename="../../src/yuzu/configuration/configure_mouse_advanced.cpp" line="36"/> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="76"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="47"/> <source>Alt</source> <translation>Alt</translation> </message> <message> <location filename="../../src/yuzu/configuration/configure_touch_from_button.cpp" line="37"/> - <location filename="../../src/yuzu/configuration/configure_mouse_advanced.cpp" line="46"/> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="103"/> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="190"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="130"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="196"/> <source>[not set]</source> - <translation>[no establecido]</translation> + <translation>[no definido]</translation> </message> <message> <location filename="../../src/yuzu/configuration/configure_touch_from_button.cpp" line="49"/> - <location filename="../../src/yuzu/configuration/configure_mouse_advanced.cpp" line="58"/> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="152"/> <source>Hat %1 %2</source> <translation>Rotación %1 %2</translation> </message> <message> <location filename="../../src/yuzu/configuration/configure_touch_from_button.cpp" line="56"/> - <location filename="../../src/yuzu/configuration/configure_mouse_advanced.cpp" line="65"/> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="159"/> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="210"/> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="214"/> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="218"/> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="222"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="219"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="223"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="227"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="231"/> <source>Axis %1%2</source> <translation>Eje %1%2</translation> </message> <message> <location filename="../../src/yuzu/configuration/configure_touch_from_button.cpp" line="62"/> - <location filename="../../src/yuzu/configuration/configure_mouse_advanced.cpp" line="71"/> <source>Button %1</source> <translation>Botón %1</translation> </message> <message> <location filename="../../src/yuzu/configuration/configure_touch_from_button.cpp" line="68"/> - <location filename="../../src/yuzu/configuration/configure_mouse_advanced.cpp" line="76"/> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="185"/> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="227"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="190"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="204"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="234"/> <source>[unknown]</source> <translation>[desconocido]</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_mouse_advanced.cpp" line="22"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="58"/> + <source>Left</source> + <translation>Izquierda</translation> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="60"/> + <source>Right</source> + <translation>Derecha</translation> + </message> + <message> <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="62"/> - <source>Click 0</source> - <translation>Clic 0</translation> + <source>Down</source> + <translation>Abajo</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_mouse_advanced.cpp" line="24"/> <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="64"/> - <source>Click 1</source> - <translation>Clic 1</translation> + <source>Up</source> + <translation>Arriba</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_mouse_advanced.cpp" line="26"/> <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="66"/> - <source>Click 2</source> - <translation>Clic 2</translation> + <source>Z</source> + <translation>Z</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_mouse_advanced.cpp" line="28"/> <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="68"/> - <source>Click 3</source> - <translation>Clic 3</translation> + <source>R</source> + <translation>R</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_mouse_advanced.cpp" line="30"/> <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="70"/> - <source>Click 4</source> - <translation>Clic 4</translation> + <source>L</source> + <translation>L</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="109"/> - <source>%1%2</source> - <translation>%1%2</translation> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="72"/> + <source>A</source> + <translation>A</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="117"/> - <source>GC Axis %1%2</source> - <translation>Eje GC %1%2</translation> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="74"/> + <source>B</source> + <translation>B</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="121"/> - <source>GC Button %1</source> - <translation>Botón GC %1</translation> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="76"/> + <source>X</source> + <translation>X</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="130"/> - <source>TAS Axis %1</source> - <translation>TAS Axis %1</translation> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="78"/> + <source>Y</source> + <translation>Y</translation> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="80"/> + <source>Start</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="82"/> + <source>L1</source> + <translation>L1</translation> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="84"/> + <source>L2</source> + <translation>L2</translation> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="86"/> + <source>L3</source> + <translation>L3</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="134"/> - <source>TAS Btn %1</source> - <translation>TAS Btn %1</translation> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="88"/> + <source>R1</source> + <translation>R1</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="142"/> - <source>Motion %1</source> - <translation>Movimiento %1</translation> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="90"/> + <source>R2</source> + <translation>R2</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="166"/> - <source>%1Button %2</source> - <translation>%1Button %2</translation> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="92"/> + <source>R3</source> + <translation>R3</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="170"/> - <source>SDL Motion</source> - <translation>Movimiento SDL</translation> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="94"/> + <source>Circle</source> + <translation>Círculo</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="180"/> - <source>%1Click %2</source> - <translation>%1Click %2</translation> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="96"/> + <source>Cross</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="98"/> + <source>Square</source> + <translation>Cuadrado</translation> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="100"/> + <source>Triangle</source> + <translation>Triángulo</translation> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="102"/> + <source>Share</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="104"/> + <source>Options</source> + <translation>Opciones</translation> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="106"/> + <source>[undefined]</source> + <translation type="unfinished"/> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="205"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="140"/> + <source>%1%2</source> + <translation>%1%2</translation> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="144"/> + <source>[invalid]</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="154"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="178"/> + <source>%1%2Hat %3</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="158"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="181"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="184"/> + <source>%1%2Axis %3</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="164"/> + <source>%1%2Axis %3,%4,%5</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="168"/> + <source>%1%2Motion %3</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="172"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="187"/> + <source>%1%2Button %3</source> + <translation>%1%2Botón %3</translation> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="214"/> <source>[unused]</source> <translation>[no usado]</translation> </message> @@ -5342,12 +5577,12 @@ p, li { white-space: pre-wrap; } <message> <location filename="../../src/yuzu/applets/qt_controller.ui" line="14"/> <source>Controller Applet</source> - <translation>Controller Applet</translation> + <translation>Controlador Applet</translation> </message> <message> <location filename="../../src/yuzu/applets/qt_controller.ui" line="129"/> <source>Supported Controller Types:</source> - <translation>Tipos de Controladores Soportados:</translation> + <translation>Tipos de controladores soportados:</translation> </message> <message> <location filename="../../src/yuzu/applets/qt_controller.ui" line="282"/> @@ -5373,7 +5608,7 @@ p, li { white-space: pre-wrap; } <location filename="../../src/yuzu/applets/qt_controller.ui" line="1656"/> <location filename="../../src/yuzu/applets/qt_controller.ui" line="1857"/> <location filename="../../src/yuzu/applets/qt_controller.ui" line="2054"/> - <location filename="../../src/yuzu/applets/qt_controller.cpp" line="419"/> + <location filename="../../src/yuzu/applets/qt_controller.cpp" line="411"/> <source>Pro Controller</source> <translation>Controlador Pro</translation> </message> @@ -5386,9 +5621,9 @@ p, li { white-space: pre-wrap; } <location filename="../../src/yuzu/applets/qt_controller.ui" line="1661"/> <location filename="../../src/yuzu/applets/qt_controller.ui" line="1862"/> <location filename="../../src/yuzu/applets/qt_controller.ui" line="2059"/> - <location filename="../../src/yuzu/applets/qt_controller.cpp" line="423"/> + <location filename="../../src/yuzu/applets/qt_controller.cpp" line="415"/> <source>Dual Joycons</source> - <translation>Joycons Dobles</translation> + <translation>Joycons duales</translation> </message> <message> <location filename="../../src/yuzu/applets/qt_controller.ui" line="524"/> @@ -5399,9 +5634,9 @@ p, li { white-space: pre-wrap; } <location filename="../../src/yuzu/applets/qt_controller.ui" line="1666"/> <location filename="../../src/yuzu/applets/qt_controller.ui" line="1867"/> <location filename="../../src/yuzu/applets/qt_controller.ui" line="2064"/> - <location filename="../../src/yuzu/applets/qt_controller.cpp" line="427"/> + <location filename="../../src/yuzu/applets/qt_controller.cpp" line="419"/> <source>Left Joycon</source> - <translation>Joycon Izquierdo</translation> + <translation>Joycon izquierdo</translation> </message> <message> <location filename="../../src/yuzu/applets/qt_controller.ui" line="529"/> @@ -5412,9 +5647,9 @@ p, li { white-space: pre-wrap; } <location filename="../../src/yuzu/applets/qt_controller.ui" line="1671"/> <location filename="../../src/yuzu/applets/qt_controller.ui" line="1872"/> <location filename="../../src/yuzu/applets/qt_controller.ui" line="2069"/> - <location filename="../../src/yuzu/applets/qt_controller.cpp" line="431"/> + <location filename="../../src/yuzu/applets/qt_controller.cpp" line="423"/> <source>Right Joycon</source> - <translation>Joycon Derecho</translation> + <translation>Joycon derecho</translation> </message> <message> <location filename="../../src/yuzu/applets/qt_controller.ui" line="538"/> @@ -5426,7 +5661,7 @@ p, li { white-space: pre-wrap; } <location filename="../../src/yuzu/applets/qt_controller.ui" line="1881"/> <location filename="../../src/yuzu/applets/qt_controller.ui" line="2078"/> <source>Use Current Config</source> - <translation>Usar Configuracion Actual</translation> + <translation>Usar configuración actual</translation> </message> <message> <location filename="../../src/yuzu/applets/qt_controller.ui" line="615"/> @@ -5440,7 +5675,7 @@ p, li { white-space: pre-wrap; } </message> <message> <location filename="../../src/yuzu/applets/qt_controller.ui" line="932"/> - <location filename="../../src/yuzu/applets/qt_controller.cpp" line="436"/> + <location filename="../../src/yuzu/applets/qt_controller.cpp" line="428"/> <source>Handheld</source> <translation>Portátil</translation> </message> @@ -5472,7 +5707,7 @@ p, li { white-space: pre-wrap; } <message> <location filename="../../src/yuzu/applets/qt_controller.ui" line="2272"/> <source>Console Mode</source> - <translation>Modo Consola</translation> + <translation>Modo consola</translation> </message> <message> <location filename="../../src/yuzu/applets/qt_controller.ui" line="2293"/> @@ -5561,9 +5796,9 @@ p, li { white-space: pre-wrap; } <translation>8</translation> </message> <message> - <location filename="../../src/yuzu/applets/qt_controller.cpp" line="441"/> + <location filename="../../src/yuzu/applets/qt_controller.cpp" line="433"/> <source>GameCube Controller</source> - <translation>Controlador GameCube</translation> + <translation>Controlador de GameCube</translation> </message> </context> <context> @@ -5573,21 +5808,21 @@ p, li { white-space: pre-wrap; } <location filename="../../src/yuzu/applets/qt_error.cpp" line="35"/> <location filename="../../src/yuzu/applets/qt_error.cpp" line="50"/> <source>Error Code: %1-%2 (0x%3)</source> - <translation>Código de Error: %1-%2 (0x%3)</translation> + <translation>Código de error: %1-%2 (0x%3)</translation> </message> <message> <location filename="../../src/yuzu/applets/qt_error.cpp" line="26"/> <source>An error has occurred. Please try again or contact the developer of the software.</source> <translation>Ha ocurrido un error. -Por favor, intentelo de nuevo o contacta con el desarrollador del software.</translation> +Por favor, inténtalo de nuevo o contacta con el desarrollador del software.</translation> </message> <message> <location filename="../../src/yuzu/applets/qt_error.cpp" line="39"/> <source>An error occurred on %1 at %2. Please try again or contact the developer of the software.</source> <translation>Ha ocurrido un error en %1 a las %2 -Por favor, inténtelo de nuevo o contacta con el desarrollador del software.</translation> +Por favor, inténtalo de nuevo o contacta con el desarrollador del software.</translation> </message> <message> <location filename="../../src/yuzu/applets/qt_error.cpp" line="54"/> @@ -5634,12 +5869,12 @@ Por favor, inténtelo de nuevo o contacta con el desarrollador del software.</tr <message> <location filename="../../src/yuzu/applets/qt_software_keyboard.ui" line="14"/> <source>Software Keyboard</source> - <translation>Software del Teclado</translation> + <translation>Software del teclado</translation> </message> <message> <location filename="../../src/yuzu/applets/qt_software_keyboard.ui" line="199"/> <source>Enter Text</source> - <translation>Introducir Texto</translation> + <translation>Introducir texto</translation> </message> <message> <location filename="../../src/yuzu/applets/qt_software_keyboard.ui" line="479"/> @@ -5655,13 +5890,13 @@ p, li { white-space: pre-wrap; } <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></translation> </message> <message> - <location filename="../../src/yuzu/applets/qt_software_keyboard.cpp" line="396"/> - <location filename="../../src/yuzu/applets/qt_software_keyboard.cpp" line="406"/> + <location filename="../../src/yuzu/applets/qt_software_keyboard.cpp" line="399"/> + <location filename="../../src/yuzu/applets/qt_software_keyboard.cpp" line="409"/> <source>OK</source> <translation>Aceptar</translation> </message> <message> - <location filename="../../src/yuzu/applets/qt_software_keyboard.cpp" line="406"/> + <location filename="../../src/yuzu/applets/qt_software_keyboard.cpp" line="409"/> <source>Cancel</source> <translation>Cancelar</translation> </message> @@ -5671,7 +5906,7 @@ p, li { white-space: pre-wrap; } <message> <location filename="../../src/yuzu/util/sequence_dialog/sequence_dialog.cpp" line="11"/> <source>Enter a hotkey</source> - <translation>Ingrese combinación de teclas de acceso rápido</translation> + <translation>Introduce una combinación de teclas</translation> </message> </context> <context> @@ -5679,7 +5914,7 @@ p, li { white-space: pre-wrap; } <message> <location filename="../../src/yuzu/debugger/wait_tree.cpp" line="150"/> <source>Call stack</source> - <translation>Pila de Llamadas</translation> + <translation>Llamadas acumuladas</translation> </message> </context> <context> @@ -5687,7 +5922,7 @@ p, li { white-space: pre-wrap; } <message> <location filename="../../src/yuzu/debugger/wait_tree.cpp" line="129"/> <source>waiting for mutex 0x%1</source> - <translation>esperando por mutex 0x%1</translation> + <translation>esperando al mutex 0x%1</translation> </message> <message> <location filename="../../src/yuzu/debugger/wait_tree.cpp" line="136"/> @@ -5705,12 +5940,12 @@ p, li { white-space: pre-wrap; } <message> <location filename="../../src/yuzu/debugger/wait_tree.cpp" line="231"/> <source>waiting for all objects</source> - <translation>esperando todos los objetos</translation> + <translation>esperando a todos los objetos</translation> </message> <message> <location filename="../../src/yuzu/debugger/wait_tree.cpp" line="232"/> <source>waiting for one of the following objects</source> - <translation>esperando uno de los siguientes objetos</translation> + <translation>esperando a uno de los siguientes objetos</translation> </message> </context> <context> @@ -5741,12 +5976,12 @@ p, li { white-space: pre-wrap; } <message> <location filename="../../src/yuzu/debugger/wait_tree.cpp" line="261"/> <source>sleeping</source> - <translation>dormido</translation> + <translation>reposando</translation> </message> <message> <location filename="../../src/yuzu/debugger/wait_tree.cpp" line="264"/> <source>waiting for IPC reply</source> - <translation>esperando para respuesta IPC</translation> + <translation>esperando respuesta IPC</translation> </message> <message> <location filename="../../src/yuzu/debugger/wait_tree.cpp" line="267"/> @@ -5831,12 +6066,12 @@ p, li { white-space: pre-wrap; } <message> <location filename="../../src/yuzu/debugger/wait_tree.cpp" line="362"/> <source>last running ticks = %1</source> - <translation>Últimos ticks consecutivos = %1</translation> + <translation>últimos ticks consecutivos = %1</translation> </message> <message> <location filename="../../src/yuzu/debugger/wait_tree.cpp" line="370"/> <source>not waiting for mutex</source> - <translation>no esperando por mutex</translation> + <translation>no esperando al mutex</translation> </message> </context> <context> @@ -5844,7 +6079,7 @@ p, li { white-space: pre-wrap; } <message> <location filename="../../src/yuzu/debugger/wait_tree.cpp" line="394"/> <source>waited by thread</source> - <translation>esperado por hilo</translation> + <translation>esperado por el hilo</translation> </message> </context> <context> @@ -5852,7 +6087,7 @@ p, li { white-space: pre-wrap; } <message> <location filename="../../src/yuzu/debugger/wait_tree.cpp" line="468"/> <source>&Wait Tree</source> - <translation>&Árbol de Espera</translation> + <translation>&Árbol de espera</translation> </message> </context> </TS>
\ No newline at end of file diff --git a/dist/languages/fr.ts b/dist/languages/fr.ts index 89aed0e6c..4ae16542c 100644 --- a/dist/languages/fr.ts +++ b/dist/languages/fr.ts @@ -183,7 +183,7 @@ p, li { white-space: pre-wrap; }</style></head><body style=" <message> <location filename="../../src/yuzu/compatdb.cpp" line="73"/> <source>An error occurred while sending the Testcase</source> - <translation>Une erreur est survenue en envoyant le cas de test</translation> + <translation>Une erreur est survenue lors de l'envoi du cas-type</translation> </message> <message> <location filename="../../src/yuzu/compatdb.cpp" line="75"/> @@ -320,13 +320,13 @@ Cette option améliore la vitesse en réduisant la précision des instructions f <div>This option improves the speed of 32 bits ASIMD floating-point functions by running with incorrect rounding modes.</div> </source> <translation> - <div>Cette option améliore la vitesse des fonctions à virgule flottante 32 bits ASIMD en utilisant des modes d'arrondis incorrects.</div> + <div>Cette option améliore la vitesse des fonctions à virgule flottante 32 bits ASIMD en utilisant des modes d'arrondissement incorrects.</div> </translation> </message> <message> <location filename="../../src/yuzu/configuration/configure_cpu.ui" line="125"/> <source>Faster ASIMD instructions (32 bits only)</source> - <translation>Instructions ASIMD plus rapides (seulement 32 bits)</translation> + <translation>Instructions ASIMD plus rapides (32 bits seulement)</translation> </message> <message> <location filename="../../src/yuzu/configuration/configure_cpu.ui" line="132"/> @@ -382,7 +382,7 @@ Cette option améliore la vitesse en réduisant la précision des instructions f <message> <location filename="../../src/yuzu/configuration/configure_cpu_debug.ui" line="31"/> <source><html><head/><body><p><span style=" font-weight:600;">For debugging only.</span><br/>If you're not sure what these do, keep all of these enabled. <br/>These settings, when disabled, only take effect when CPU Debugging is enabled. </p></body></html></source> - <translation><html><head/><body><p><span style=" font-weight:600;">Pour le débogage seulement.</span><br/>Si vous n'êtes pas sûr(e) de ce qu'ils font, gardez les tous activés.<br/>Ces paramètres, quand ils sont désactivés, prennent effet seulement quand le Débogage CPU est activé. </p></body></html></translation> + <translation><html><head/><body><p><span style=" font-weight:600;">Pour le débogage seulement.</span><br/>Si vous n'êtes pas sûr(e) de ce qu'ils font, gardez les tous activés.<br/>Ces paramètres, lorsque désactivés, prennent effet seulement quand le Débogage CPU est activé. </p></body></html></translation> </message> <message> <location filename="../../src/yuzu/configuration/configure_cpu_debug.ui" line="41"/> @@ -541,7 +541,7 @@ Cette option améliore la vitesse en réduisant la précision des instructions f <message> <location filename="../../src/yuzu/configuration/configure_debug.ui" line="29"/> <source>Show Log in Console</source> - <translation>Afficher le log dans la console</translation> + <translation>Afficher le relevé d'événements dans la console</translation> </message> <message> <location filename="../../src/yuzu/configuration/configure_debug.ui" line="36"/> @@ -551,7 +551,7 @@ Cette option améliore la vitesse en réduisant la précision des instructions f <message> <location filename="../../src/yuzu/configuration/configure_debug.ui" line="46"/> <source>When checked, the max size of the log increases from 100 MB to 1 GB</source> - <translation>Quand coché, la taille maximum du log augmente de 100 MB à 1 GB</translation> + <translation>Lorsque coché, la taille maximum du relevé d'événements augmente de 100 Mo à 1 Go</translation> </message> <message> <location filename="../../src/yuzu/configuration/configure_debug.ui" line="49"/> @@ -576,7 +576,7 @@ Cette option améliore la vitesse en réduisant la précision des instructions f <message> <location filename="../../src/yuzu/configuration/configure_debug.ui" line="91"/> <source>When checked, the graphics API enters a slower debugging mode</source> - <translation>Quand coché, l'API graphique entre dans un mode de débug plus lent</translation> + <translation>Lorsque coché, l'API graphique entre dans un mode de débogage plus lent</translation> </message> <message> <location filename="../../src/yuzu/configuration/configure_debug.ui" line="94"/> @@ -596,7 +596,7 @@ Cette option améliore la vitesse en réduisant la précision des instructions f <message> <location filename="../../src/yuzu/configuration/configure_debug.ui" line="114"/> <source>When checked, it disables the macro Just In Time compiler. Enabling this makes games run slower</source> - <translation>Quand coché, cela désactive le compilateur de macros JIT. L'activer ralentit les jeux</translation> + <translation>Lorsque coché, désactive le compilateur de macros JIT. L'activer ralentit les jeux</translation> </message> <message> <location filename="../../src/yuzu/configuration/configure_debug.ui" line="117"/> @@ -664,7 +664,12 @@ Cette option améliore la vitesse en réduisant la précision des instructions f <translation>Activer l'Auto-Stub**</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_debug.ui" line="212"/> + <location filename="../../src/yuzu/configuration/configure_debug.ui" line="204"/> + <source>Enable all Controller Types</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_debug.ui" line="219"/> <source>**This will be reset automatically when yuzu closes.</source> <translation>**Ce sera réinitialisé automatiquement quand yuzu fermera.</translation> </message> @@ -944,67 +949,78 @@ Cette option améliore la vitesse en réduisant la précision des instructions f <translation>Général </translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_general.ui" line="35"/> - <source>Framerate Cap</source> - <translation>Limite du 'frame rate'</translation> + <location filename="../../src/yuzu/configuration/configure_general.ui" line="50"/> + <location filename="../../src/yuzu/configuration/configure_general.ui" line="57"/> + <source>Use global framerate cap</source> + <translation type="unfinished"/> </message> <message> - <location filename="../../src/yuzu/configuration/configure_general.ui" line="38"/> + <location filename="../../src/yuzu/configuration/configure_general.ui" line="62"/> + <source>Set framerate cap:</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_general.ui" line="70"/> <source>Requires the use of the FPS Limiter Toggle hotkey to take effect.</source> <translation>Requière l'utilisation du raccourci Basculer la Limite des IPS pour être pris en compte.</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_general.ui" line="45"/> + <location filename="../../src/yuzu/configuration/configure_general.ui" line="73"/> + <source>Framerate Cap</source> + <translation>Limite du 'frame rate'</translation> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_general.ui" line="95"/> <source>x</source> <translation>x</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_general.ui" line="65"/> + <location filename="../../src/yuzu/configuration/configure_general.ui" line="116"/> <source>Limit Speed Percent</source> <translation>Limiter la vitesse en pourcentages</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_general.ui" line="72"/> + <location filename="../../src/yuzu/configuration/configure_general.ui" line="123"/> <source>%</source> <translation>%</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_general.ui" line="90"/> + <location filename="../../src/yuzu/configuration/configure_general.ui" line="141"/> <source>Multicore CPU Emulation</source> <translation>Emulation CPU Multicœur</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_general.ui" line="97"/> + <location filename="../../src/yuzu/configuration/configure_general.ui" line="148"/> <source>Confirm exit while emulation is running</source> <translation>Confirmer la sortie pendent l'émulation en cours</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_general.ui" line="104"/> + <location filename="../../src/yuzu/configuration/configure_general.ui" line="155"/> <source>Prompt for user on game boot</source> <translation>Demander un utilisateur au lancement d'un jeu</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_general.ui" line="111"/> + <location filename="../../src/yuzu/configuration/configure_general.ui" line="162"/> <source>Pause emulation when in background</source> <translation>Mettre en pause l’émulation lorsque mis en arrière plan </translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_general.ui" line="118"/> + <location filename="../../src/yuzu/configuration/configure_general.ui" line="169"/> <source>Hide mouse on inactivity</source> <translation>Cacher la souris en cas d'inavtivité</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_general.ui" line="160"/> + <location filename="../../src/yuzu/configuration/configure_general.ui" line="211"/> <source>Reset All Settings</source> <translation>Réinitialiser Tous les Paramètres</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_general.cpp" line="70"/> + <location filename="../../src/yuzu/configuration/configure_general.cpp" line="78"/> <source>yuzu</source> <translation>yuzu</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_general.cpp" line="71"/> + <location filename="../../src/yuzu/configuration/configure_general.cpp" line="79"/> <source>This reset all settings and remove all per-game configurations. This will not delete game directories, profiles, or input profiles. Proceed?</source> <translation>Ceci réinitialise tout les paramètres et supprime toutes les configurations par jeu. Cela ne va pas supprimer les répertoires de jeu, les profils, ou les profils d'entrée. Continuer ?</translation> </message> @@ -1079,7 +1095,7 @@ Cette option améliore la vitesse en réduisant la précision des instructions f <message> <location filename="../../src/yuzu/configuration/configure_graphics.ui" line="216"/> <source>GPU Video Decoding (Default)</source> - <translation>Décodage Vidéo sur le CPU (par défaut)</translation> + <translation>Décodage Vidéo sur le GPU (par défaut)</translation> </message> <message> <location filename="../../src/yuzu/configuration/configure_graphics.ui" line="242"/> @@ -1122,18 +1138,113 @@ Cette option améliore la vitesse en réduisant la précision des instructions f <translation>Étirer à la fenêtre</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_graphics.ui" line="339"/> - <location filename="../../src/yuzu/configuration/configure_graphics.ui" line="349"/> + <location filename="../../src/yuzu/configuration/configure_graphics.ui" line="330"/> + <source>Resolution:</source> + <translation>Résolution :</translation> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_graphics.ui" line="338"/> + <source>0.5X (360p/540p) [EXPERIMENTAL]</source> + <translation>0.5X (360p/540p) [EXPÉRIMENTAL]</translation> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_graphics.ui" line="343"/> + <source>0.75X (540p/810p) [EXPERIMENTAL]</source> + <translation>0.75X (540p/810p) [EXPÉRIMENTAL]</translation> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_graphics.ui" line="348"/> + <source>1X (720p/1080p)</source> + <translation>1X (720p/1080p)</translation> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_graphics.ui" line="353"/> + <source>2X (1440p/2160p)</source> + <translation>2X (1440p/2160p)</translation> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_graphics.ui" line="358"/> + <source>3X (2160p/3240p)</source> + <translation>3X (2160p/3240p)</translation> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_graphics.ui" line="363"/> + <source>4X (2880p/4320p)</source> + <translation>4X (2880p/4320p)</translation> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_graphics.ui" line="368"/> + <source>5X (3600p/5400p)</source> + <translation>5X (3600p/5400p)</translation> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_graphics.ui" line="373"/> + <source>6X (4320p/6480p)</source> + <translation>6X (4320p/6480p)</translation> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_graphics.ui" line="399"/> + <source>Window Adapting Filter:</source> + <translation>Filtre de fenêtre adaptatif</translation> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_graphics.ui" line="407"/> + <source>Nearest Neighbor</source> + <translation>Plus proche voisin</translation> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_graphics.ui" line="412"/> + <source>Bilinear</source> + <translation>Bilinéaire</translation> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_graphics.ui" line="417"/> + <source>Bicubic</source> + <translation>Bicubique</translation> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_graphics.ui" line="422"/> + <source>Gaussian</source> + <translation>Gaussien</translation> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_graphics.ui" line="427"/> + <source>ScaleForce</source> + <translation>ScaleForce</translation> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_graphics.ui" line="432"/> + <source>AMD FidelityFX™️ Super Resolution [Vulkan Only]</source> + <translation>AMD FidelityFX™️ Super Resolution [Vulkan seulement]</translation> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_graphics.ui" line="458"/> + <source>Anti-Aliasing Method:</source> + <translation>Méthode d'anticrénelage :</translation> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_graphics.ui" line="466"/> + <source>None</source> + <translation>Aucune</translation> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_graphics.ui" line="471"/> + <source>FXAA</source> + <translation>FXAA</translation> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_graphics.ui" line="506"/> + <location filename="../../src/yuzu/configuration/configure_graphics.ui" line="516"/> <source>Use global background color</source> <translation>Utiliser une couleur d'arrière plan globale</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_graphics.ui" line="354"/> + <location filename="../../src/yuzu/configuration/configure_graphics.ui" line="521"/> <source>Set background color:</source> <translation>Définir la couleur d'arrière plan:</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_graphics.ui" line="362"/> + <location filename="../../src/yuzu/configuration/configure_graphics.ui" line="529"/> <source>Background Color:</source> <translation>Couleur de L’arrière plan :</translation> </message> @@ -1202,28 +1313,33 @@ Cette option améliore la vitesse en réduisant la précision des instructions f </message> <message> <location filename="../../src/yuzu/configuration/configure_graphics_advanced.ui" line="128"/> - <source>Default</source> - <translation>Défaut</translation> + <source>Automatic</source> + <translation>Automatique</translation> </message> <message> <location filename="../../src/yuzu/configuration/configure_graphics_advanced.ui" line="133"/> - <source>2x (WILL BREAK THINGS)</source> - <translation>2x (VA BRISER DES TRUCS)</translation> + <source>Default</source> + <translation>Défaut</translation> </message> <message> <location filename="../../src/yuzu/configuration/configure_graphics_advanced.ui" line="138"/> - <source>4x (WILL BREAK THINGS)</source> - <translation>4x (VA BRISER DES TRUCS)</translation> + <source>2x</source> + <translation>2x</translation> </message> <message> <location filename="../../src/yuzu/configuration/configure_graphics_advanced.ui" line="143"/> - <source>8x (WILL BREAK THINGS)</source> - <translation>8x (VA BRISER DES TRUCS)</translation> + <source>4x</source> + <translation>4x</translation> </message> <message> <location filename="../../src/yuzu/configuration/configure_graphics_advanced.ui" line="148"/> - <source>16x (WILL BREAK THINGS)</source> - <translation>16x (VA BRISER DES TRUCS)</translation> + <source>8x</source> + <translation>8x</translation> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_graphics_advanced.ui" line="153"/> + <source>16x</source> + <translation>16x</translation> </message> </context> <context> @@ -1550,8 +1666,8 @@ Cette option améliore la vitesse en réduisant la précision des instructions f </message> <message> <location filename="../../src/yuzu/configuration/configure_input_advanced.ui" line="2533"/> - <source>Other</source> - <translation>Autres</translation> + <source>Emulated Devices</source> + <translation type="unfinished"/> </message> <message> <location filename="../../src/yuzu/configuration/configure_input_advanced.ui" line="2545"/> @@ -1560,499 +1676,524 @@ Cette option améliore la vitesse en réduisant la précision des instructions f </message> <message> <location filename="../../src/yuzu/configuration/configure_input_advanced.ui" line="2558"/> - <source>Emulate Analog with Keyboard Input</source> - <translation>Emuler l'analogique avec une entrée clavier</translation> - </message> - <message> - <location filename="../../src/yuzu/configuration/configure_input_advanced.ui" line="2571"/> - <source>Enable mouse panning</source> - <translation>Activer le mouvement panorama avec la souris</translation> - </message> - <message> - <location filename="../../src/yuzu/configuration/configure_input_advanced.ui" line="2578"/> - <source>Mouse sensitivity</source> - <translation>Sensibilité de la souris</translation> - </message> - <message> - <location filename="../../src/yuzu/configuration/configure_input_advanced.ui" line="2584"/> - <source>%</source> - <translation>%</translation> - </message> - <message> - <location filename="../../src/yuzu/configuration/configure_input_advanced.ui" line="2600"/> - <location filename="../../src/yuzu/configuration/configure_input_advanced.ui" line="2623"/> - <source>Advanced</source> - <translation>Avancé</translation> + <source>Mouse</source> + <translation>Souris</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_advanced.ui" line="2630"/> + <location filename="../../src/yuzu/configuration/configure_input_advanced.ui" line="2565"/> <source>Touchscreen</source> <translation>Écran tactile</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_advanced.ui" line="2643"/> - <source>Mouse</source> - <translation>Souris</translation> + <location filename="../../src/yuzu/configuration/configure_input_advanced.ui" line="2588"/> + <source>Advanced</source> + <translation>Avancé</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_advanced.ui" line="2650"/> - <source>Motion / Touch</source> - <translation>La motion / Toucher</translation> + <location filename="../../src/yuzu/configuration/configure_input_advanced.ui" line="2595"/> + <source>Debug Controller</source> + <translation>Déboguer les manettes</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_advanced.ui" line="2657"/> - <location filename="../../src/yuzu/configuration/configure_input_advanced.ui" line="2671"/> + <location filename="../../src/yuzu/configuration/configure_input_advanced.ui" line="2602"/> + <location filename="../../src/yuzu/configuration/configure_input_advanced.ui" line="2702"/> <source>Configure</source> <translation>Configurer</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_advanced.ui" line="2664"/> - <source>Debug Controller</source> - <translation>Déboguer les manettes</translation> + <location filename="../../src/yuzu/configuration/configure_input_advanced.ui" line="2612"/> + <source>Other</source> + <translation>Autres</translation> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_input_advanced.ui" line="2624"/> + <source>Emulate Analog with Keyboard Input</source> + <translation>Emuler l'analogique avec une entrée clavier</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_advanced.ui" line="2678"/> + <location filename="../../src/yuzu/configuration/configure_input_advanced.ui" line="2631"/> <source>Requires restarting yuzu</source> <translation>Nécessite de redémarrer yuzu</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_advanced.ui" line="2687"/> + <location filename="../../src/yuzu/configuration/configure_input_advanced.ui" line="2640"/> <source>Enable XInput 8 player support (disables web applet)</source> <translation>Activer le support de 8 joueurs avecc XInput (désactiver l'appliquette web)</translation> </message> -</context> -<context> - <name>ConfigureInputPlayer</name> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="14"/> - <source>Configure Input</source> - <translation>Configurer les touches</translation> + <location filename="../../src/yuzu/configuration/configure_input_advanced.ui" line="2653"/> + <source>Enable UDP controllers (not needed for motion)</source> + <translation type="unfinished"/> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="63"/> - <source>Connect Controller</source> - <translation>Connecter la manette</translation> + <location filename="../../src/yuzu/configuration/configure_input_advanced.ui" line="2666"/> + <source>Enable mouse panning</source> + <translation>Activer le mouvement panorama avec la souris</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="94"/> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="535"/> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="986"/> - <source>Pro Controller</source> - <translation>Pro Controller</translation> + <location filename="../../src/yuzu/configuration/configure_input_advanced.ui" line="2673"/> + <source>Mouse sensitivity</source> + <translation>Sensibilité de la souris</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="99"/> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="992"/> - <source>Dual Joycons</source> - <translation>Deux Joycons</translation> + <location filename="../../src/yuzu/configuration/configure_input_advanced.ui" line="2679"/> + <source>%</source> + <translation>%</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="104"/> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="998"/> - <source>Left Joycon</source> - <translation>Joycon de gauche</translation> + <location filename="../../src/yuzu/configuration/configure_input_advanced.ui" line="2695"/> + <source>Motion / Touch</source> + <translation>La motion / Toucher</translation> </message> +</context> +<context> + <name>ConfigureInputPlayer</name> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="109"/> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="1004"/> - <source>Right Joycon</source> - <translation>Joycon de droit</translation> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="14"/> + <source>Configure Input</source> + <translation>Configurer les touches</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="114"/> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="1010"/> - <source>Handheld</source> - <translation>Mode Portable</translation> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="63"/> + <source>Connect Controller</source> + <translation>Connecter la manette</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="125"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="100"/> <source>Input Device</source> <translation>Périphérique d'entrée</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="153"/> - <source>Any</source> - <translation>N'importe quel</translation> - </message> - <message> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="158"/> - <source>Keyboard/Mouse</source> - <translation>Clavier/Souris</translation> - </message> - <message> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="194"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="156"/> <source>Profile</source> <translation>Profil</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="234"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="196"/> <source>Save</source> <translation>Sauvegarde</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="250"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="212"/> <source>New</source> <translation>Nouveau</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="266"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="228"/> <source>Delete</source> <translation>Supprimer</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="329"/> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="1267"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="291"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="1190"/> <source>Left Stick</source> <translation>Stick Gauche</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="387"/> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="429"/> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="963"/> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="1002"/> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="2621"/> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="2660"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="349"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="391"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="925"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="964"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="2583"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="2622"/> <source>Up</source> <translation>Haut</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="460"/> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="499"/> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="1033"/> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="1072"/> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="2107"/> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="2691"/> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="2730"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="422"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="461"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="995"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="1034"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="2069"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="2653"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="2692"/> <source>Left</source> <translation>Gauche</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="509"/> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="548"/> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="1082"/> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="1121"/> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="2156"/> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="2740"/> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="2779"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="471"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="510"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="1044"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="1083"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="2118"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="2702"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="2741"/> <source>Right</source> <translation>Droite</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="591"/> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="630"/> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="1164"/> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="1203"/> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="2822"/> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="2861"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="553"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="592"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="1126"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="1165"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="2784"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="2823"/> <source>Down</source> <translation>Bas</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="661"/> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="700"/> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="2892"/> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="2931"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="623"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="662"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="2854"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="2893"/> <source>Pressed</source> <translation>Appuyé</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="710"/> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="749"/> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="2941"/> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="2980"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="672"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="711"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="2903"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="2942"/> <source>Modifier</source> <translation>Modificateur</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="759"/> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="2990"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="721"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="2952"/> <source>Range</source> <translation>Portée</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="792"/> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="3023"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="754"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="2985"/> <source>%</source> <translation>%</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="835"/> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="3063"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="797"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="3025"/> <source>Deadzone: 0%</source> <translation>Zone morte: 0%</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="859"/> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="3087"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="821"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="3049"/> <source>Modifier Range: 0%</source> <translation>Modification de la course: 0%</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="905"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="867"/> <source>D-Pad</source> <translation>Pavé directionnel</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="1289"/> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="1328"/> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="1272"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="1251"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="1290"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="1195"/> <source>L</source> <translation>L</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="1344"/> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="1383"/> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="1264"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="1306"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="1345"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="1187"/> <source>ZL</source> <translation>ZL</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="1464"/> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="1503"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="1426"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="1465"/> <source>Minus</source> <translation>Moins</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="1513"/> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="1552"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="1475"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="1514"/> <source>Capture</source> <translation>Capturer</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="1583"/> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="1622"/> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="1263"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="1545"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="1584"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="1186"/> <source>Plus</source> <translation>Plus</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="1632"/> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="1671"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="1594"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="1633"/> <source>Home</source> <translation>Home</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="1736"/> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="1775"/> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="1266"/> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="1273"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="1698"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="1737"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="1189"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="1196"/> <source>R</source> <translation>R</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="1791"/> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="1830"/> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="1265"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="1753"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="1792"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="1188"/> <source>ZR</source> <translation>ZR</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="1911"/> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="1950"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="1873"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="1912"/> <source>SL</source> <translation>SL</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="1960"/> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="1999"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="1922"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="1961"/> <source>SR</source> <translation>SR</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="2068"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="2030"/> <source>Motion 1</source> <translation>Mouvement 1</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="2117"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="2079"/> <source>Motion 2</source> <translation>Mouvement 2</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="2208"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="2170"/> <source>Face Buttons</source> <translation>Boutons</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="2266"/> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="2305"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="2228"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="2267"/> <source>X</source> <translation>X</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="2336"/> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="2375"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="2298"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="2337"/> <source>Y</source> <translation>Y</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="2385"/> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="2424"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="2347"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="2386"/> <source>A</source> <translation>A</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="2467"/> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="2506"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="2429"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="2468"/> <source>B</source> <translation>B</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="2554"/> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="1268"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="2516"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="1191"/> <source>Right Stick</source> <translation>Stick Droit</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="322"/> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="372"/> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="430"/> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="474"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="330"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="396"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="461"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="507"/> <source>Clear</source> <translation>Effacer</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="324"/> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="374"/> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="432"/> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="476"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="332"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="398"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="463"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="509"/> <source>[not set]</source> <translation>[non défini]</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="327"/> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="478"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="335"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="512"/> <source>Toggle button</source> <translation>Bouton d'activation</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="335"/> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="339"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="341"/> + <source>Invert button</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="349"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="465"/> + <source>Invert axis</source> + <translation>Inverser l'axe</translation> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="355"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="359"/> <source>Set threshold</source> <translation>Définir le seuil</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="339"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="359"/> <source>Choose a value between 0% and 100%</source> <translation>Choisissez une valeur entre 0% et 100%</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="406"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="436"/> <source>Map Analog Stick</source> <translation>Mapper le stick analogique</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="407"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="437"/> <source>After pressing OK, first move your joystick horizontally, and then vertically. To invert the axes, first move your joystick vertically, and then horizontally.</source> <translation>Après avoir appuyé sur OK, bougez d'abord votre joystick horizontalement, puis verticalement. Pour inverser les axes, bougez d'abord votre joystick verticalement, puis horizontalement.</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="434"/> - <source>Invert axis</source> - <translation>Inverser l'axe</translation> - </message> - <message> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="500"/> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="952"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="537"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="891"/> <source>Deadzone: %1%</source> <translation>Zone morte: %1%</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="508"/> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="963"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="546"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="896"/> <source>Modifier Range: %1%</source> <translation>Modification de la course: %1%</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="1016"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="572"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="918"/> + <source>Pro Controller</source> + <translation>Pro Controller</translation> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="924"/> + <source>Dual Joycons</source> + <translation>Deux Joycons</translation> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="930"/> + <source>Left Joycon</source> + <translation>Joycon de gauche</translation> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="936"/> + <source>Right Joycon</source> + <translation>Joycon de droit</translation> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="942"/> + <source>Handheld</source> + <translation>Mode Portable</translation> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="948"/> <source>GameCube Controller</source> <translation>Manette GameCube</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="1271"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="958"/> + <source>Poke Ball Plus</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="964"/> + <source>NES Controller</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="970"/> + <source>SNES Controller</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="976"/> + <source>N64 Controller</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="982"/> + <source>Sega Genesis</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="1194"/> <source>Start / Pause</source> <translation>Start / Pause</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="1274"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="1197"/> <source>Z</source> <translation>Z</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="1275"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="1198"/> <source>Control Stick</source> <translation>Stick de contrôle </translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="1276"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="1199"/> <source>C-Stick</source> <translation>C-Stick</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="1335"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="1297"/> <source>Shake!</source> <translation>Secouez !</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="1337"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="1299"/> <source>[waiting]</source> <translation>[en attente]</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="1462"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="1381"/> <source>New Profile</source> <translation>Nouveau Profil</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="1462"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="1381"/> <source>Enter a profile name:</source> <translation>Entrez un nom de profil :</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="1470"/> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="1478"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="1389"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="1397"/> <source>Create Input Profile</source> <translation>Créer un profil d'entrée </translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="1471"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="1390"/> <source>The given profile name is not valid!</source> <translation>Le nom de profil donné est invalide !</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="1479"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="1398"/> <source>Failed to create the input profile "%1"</source> <translation>Échec de la création du profil d'entrée "%1"</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="1499"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="1418"/> <source>Delete Input Profile</source> <translation>Supprimer le profil d'entrée</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="1500"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="1419"/> <source>Failed to delete the input profile "%1"</source> <translation>Échec de la suppression du profil d'entrée "%1"</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="1522"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="1441"/> <source>Load Input Profile</source> <translation>Charger le profil d'entrée</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="1523"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="1442"/> <source>Failed to load the input profile "%1"</source> <translation>Échec du chargement du profil d'entrée "%1"</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="1542"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="1461"/> <source>Save Input Profile</source> <translation>Sauvegarder le profil d'entrée</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="1543"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="1462"/> <source>Failed to save the input profile "%1"</source> <translation>Échec de la sauvegarde du profil d'entrée "%1"</translation> </message> @@ -2078,85 +2219,75 @@ Pour inverser les axes, bougez d'abord votre joystick verticalement, puis h <context> <name>ConfigureMotionTouch</name> <message> - <location filename="../../src/yuzu/configuration/configure_motion_touch.ui" line="14"/> + <location filename="../../src/yuzu/configuration/configure_motion_touch.ui" line="6"/> <source>Configure Motion / Touch</source> <translation>Configurer le contrôle par mouvement / tactile</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_motion_touch.ui" line="23"/> - <source>Mouse Motion</source> - <translation>Mouvement de souris</translation> - </message> - <message> - <location filename="../../src/yuzu/configuration/configure_motion_touch.ui" line="31"/> - <source>Sensitivity:</source> - <translation>Sensibilité:</translation> - </message> - <message> - <location filename="../../src/yuzu/configuration/configure_motion_touch.ui" line="65"/> + <location filename="../../src/yuzu/configuration/configure_motion_touch.ui" line="15"/> <source>Touch</source> <translation>Tactile</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_motion_touch.ui" line="73"/> + <location filename="../../src/yuzu/configuration/configure_motion_touch.ui" line="23"/> <source>UDP Calibration:</source> <translation>Calibration UDP:</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_motion_touch.ui" line="80"/> + <location filename="../../src/yuzu/configuration/configure_motion_touch.ui" line="30"/> <source>(100, 50) - (1800, 850)</source> <translation>(100, 50) - (1800, 850)</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_motion_touch.ui" line="96"/> - <location filename="../../src/yuzu/configuration/configure_motion_touch.ui" line="129"/> - <location filename="../../src/yuzu/configuration/configure_motion_touch.cpp" line="250"/> + <location filename="../../src/yuzu/configuration/configure_motion_touch.ui" line="46"/> + <location filename="../../src/yuzu/configuration/configure_motion_touch.ui" line="73"/> + <location filename="../../src/yuzu/configuration/configure_motion_touch.cpp" line="245"/> <source>Configure</source> <translation>Configurer</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_motion_touch.ui" line="113"/> - <source>Use button mapping:</source> - <translation>Utiliser le mappage des boutons:</translation> + <location filename="../../src/yuzu/configuration/configure_motion_touch.ui" line="57"/> + <source>Touch from button profile:</source> + <translation type="unfinished"/> </message> <message> - <location filename="../../src/yuzu/configuration/configure_motion_touch.ui" line="141"/> + <location filename="../../src/yuzu/configuration/configure_motion_touch.ui" line="85"/> <source>CemuhookUDP Config</source> <translation>Configurer CemuhookUDP</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_motion_touch.ui" line="147"/> + <location filename="../../src/yuzu/configuration/configure_motion_touch.ui" line="91"/> <source>You may use any Cemuhook compatible UDP input source to provide motion and touch input.</source> <translation>Vous pouvez utiliser n'importe quelle source d'entrée UDP compatible Cemuhook pour fournir le contrôle par mouvement et l'entrée tactile</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_motion_touch.ui" line="190"/> + <location filename="../../src/yuzu/configuration/configure_motion_touch.ui" line="134"/> <source>Server:</source> <translation>Serveur:</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_motion_touch.ui" line="217"/> + <location filename="../../src/yuzu/configuration/configure_motion_touch.ui" line="161"/> <source>Port:</source> <translation>Port:</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_motion_touch.ui" line="244"/> + <location filename="../../src/yuzu/configuration/configure_motion_touch.ui" line="188"/> <source>Learn More</source> <translation>Plus d'informations</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_motion_touch.ui" line="257"/> - <location filename="../../src/yuzu/configuration/configure_motion_touch.cpp" line="273"/> + <location filename="../../src/yuzu/configuration/configure_motion_touch.ui" line="201"/> + <location filename="../../src/yuzu/configuration/configure_motion_touch.cpp" line="268"/> <source>Test</source> <translation>Tester</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_motion_touch.ui" line="270"/> + <location filename="../../src/yuzu/configuration/configure_motion_touch.ui" line="214"/> <source>Add Server</source> <translation>Ajouter un serveur</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_motion_touch.ui" line="303"/> + <location filename="../../src/yuzu/configuration/configure_motion_touch.ui" line="247"/> <source>Remove Server</source> <translation>Retirer un serveur</translation> </message> @@ -2166,146 +2297,82 @@ Pour inverser les axes, bougez d'abord votre joystick verticalement, puis h <translation><a href='https://yuzu-emu.org/wiki/using-a-controller-or-android-phone-for-motion-or-touch-input'><span style="text-decoration: underline; color:#039be5;">Plus d'informations</span></a></translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_motion_touch.cpp" line="176"/> + <location filename="../../src/yuzu/configuration/configure_motion_touch.cpp" line="171"/> <source>%1:%2</source> <translation>%1:%2</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_motion_touch.cpp" line="181"/> - <location filename="../../src/yuzu/configuration/configure_motion_touch.cpp" line="185"/> - <location filename="../../src/yuzu/configuration/configure_motion_touch.cpp" line="189"/> - <location filename="../../src/yuzu/configuration/configure_motion_touch.cpp" line="195"/> - <location filename="../../src/yuzu/configuration/configure_motion_touch.cpp" line="201"/> - <location filename="../../src/yuzu/configuration/configure_motion_touch.cpp" line="295"/> + <location filename="../../src/yuzu/configuration/configure_motion_touch.cpp" line="176"/> + <location filename="../../src/yuzu/configuration/configure_motion_touch.cpp" line="180"/> + <location filename="../../src/yuzu/configuration/configure_motion_touch.cpp" line="184"/> + <location filename="../../src/yuzu/configuration/configure_motion_touch.cpp" line="190"/> + <location filename="../../src/yuzu/configuration/configure_motion_touch.cpp" line="196"/> + <location filename="../../src/yuzu/configuration/configure_motion_touch.cpp" line="290"/> <source>yuzu</source> <translation>yuzu</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_motion_touch.cpp" line="181"/> + <location filename="../../src/yuzu/configuration/configure_motion_touch.cpp" line="176"/> <source>Port number has invalid characters</source> <translation>Le numéro de port contient des caractères invalides</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_motion_touch.cpp" line="185"/> + <location filename="../../src/yuzu/configuration/configure_motion_touch.cpp" line="180"/> <source>Port has to be in range 0 and 65353</source> <translation>Le port doit être entre 0 et 65353</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_motion_touch.cpp" line="189"/> + <location filename="../../src/yuzu/configuration/configure_motion_touch.cpp" line="184"/> <source>IP address is not valid</source> <translation>L'adresse IP n'est pas valide</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_motion_touch.cpp" line="195"/> + <location filename="../../src/yuzu/configuration/configure_motion_touch.cpp" line="190"/> <source>This UDP server already exists</source> <translation>Ce serveur UDP existe déjà</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_motion_touch.cpp" line="201"/> + <location filename="../../src/yuzu/configuration/configure_motion_touch.cpp" line="196"/> <source>Unable to add more than 8 servers</source> <translation>Impossible d'ajouter plus de 8 serveurs</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_motion_touch.cpp" line="217"/> + <location filename="../../src/yuzu/configuration/configure_motion_touch.cpp" line="212"/> <source>Testing</source> <translation>Essai</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_motion_touch.cpp" line="233"/> + <location filename="../../src/yuzu/configuration/configure_motion_touch.cpp" line="228"/> <source>Configuring</source> <translation>Configuration</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_motion_touch.cpp" line="264"/> + <location filename="../../src/yuzu/configuration/configure_motion_touch.cpp" line="259"/> <source>Test Successful</source> <translation>Test réussi</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_motion_touch.cpp" line="265"/> + <location filename="../../src/yuzu/configuration/configure_motion_touch.cpp" line="260"/> <source>Successfully received data from the server.</source> <translation>Données reçues du serveur avec succès.</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_motion_touch.cpp" line="267"/> + <location filename="../../src/yuzu/configuration/configure_motion_touch.cpp" line="262"/> <source>Test Failed</source> <translation>Test échoué</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_motion_touch.cpp" line="268"/> + <location filename="../../src/yuzu/configuration/configure_motion_touch.cpp" line="263"/> <source>Could not receive valid data from the server.<br>Please verify that the server is set up correctly and the address and port are correct.</source> <translation>Impossible de recevoir des données valides du serveur.<br>Veuillez vérifier que le serveur est correctement configuré et que l'adresse et le port sont corrects.</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_motion_touch.cpp" line="296"/> + <location filename="../../src/yuzu/configuration/configure_motion_touch.cpp" line="291"/> <source>UDP Test or calibration configuration is in progress.<br>Please wait for them to finish.</source> <translation>Le test UDP ou la configuration de l'étalonnage est en cours.<br>Veuillez attendre qu'ils se terminent.</translation> </message> </context> <context> - <name>ConfigureMouseAdvanced</name> - <message> - <location filename="../../src/yuzu/configuration/configure_mouse_advanced.ui" line="14"/> - <source>Configure Mouse</source> - <translation>Configuration de la souris</translation> - </message> - <message> - <location filename="../../src/yuzu/configuration/configure_mouse_advanced.ui" line="25"/> - <source>Mouse Buttons</source> - <translation>Boutons de la souris</translation> - </message> - <message> - <location filename="../../src/yuzu/configuration/configure_mouse_advanced.ui" line="35"/> - <source>Forward:</source> - <translation>Avant :</translation> - </message> - <message> - <location filename="../../src/yuzu/configuration/configure_mouse_advanced.ui" line="75"/> - <source>Back:</source> - <translation>Arrière :</translation> - </message> - <message> - <location filename="../../src/yuzu/configuration/configure_mouse_advanced.ui" line="103"/> - <source>Left:</source> - <translation>Gauche :</translation> - </message> - <message> - <location filename="../../src/yuzu/configuration/configure_mouse_advanced.ui" line="131"/> - <source>Middle:</source> - <translation>Milieu :</translation> - </message> - <message> - <location filename="../../src/yuzu/configuration/configure_mouse_advanced.ui" line="197"/> - <source>Right:</source> - <translation>Droite :</translation> - </message> - <message> - <location filename="../../src/yuzu/configuration/configure_mouse_advanced.ui" line="270"/> - <location filename="../../src/yuzu/configuration/configure_mouse_advanced.cpp" line="109"/> - <source>Clear</source> - <translation>Effacer</translation> - </message> - <message> - <location filename="../../src/yuzu/configuration/configure_mouse_advanced.ui" line="289"/> - <source>Defaults</source> - <translation>Défauts</translation> - </message> - <message> - <location filename="../../src/yuzu/configuration/configure_mouse_advanced.cpp" line="111"/> - <source>[not set]</source> - <translation>[pas défini]</translation> - </message> - <message> - <location filename="../../src/yuzu/configuration/configure_mouse_advanced.cpp" line="113"/> - <source>Restore Default</source> - <translation>Réinitialiser </translation> - </message> - <message> - <location filename="../../src/yuzu/configuration/configure_mouse_advanced.cpp" line="200"/> - <source>[press key]</source> - <translation>[appuyez sur une touche]</translation> - </message> -</context> -<context> <name>ConfigureNetwork</name> <message> <location filename="../../src/yuzu/configuration/configure_network.ui" line="14"/> @@ -2408,7 +2475,7 @@ Pour inverser les axes, bougez d'abord votre joystick verticalement, puis h <message> <location filename="../../src/yuzu/configuration/configure_per_game.cpp" line="69"/> <source>Adv. Graphics</source> - <translation type="unfinished"/> + <translation>Adv. Graphiques</translation> </message> <message> <location filename="../../src/yuzu/configuration/configure_per_game.cpp" line="70"/> @@ -2592,12 +2659,12 @@ Pour inverser les axes, bougez d'abord votre joystick verticalement, puis h <message> <location filename="../../src/yuzu/configuration/configure_profile_manager.cpp" line="314"/> <source>Error resizing user image</source> - <translation type="unfinished"/> + <translation>Erreur de redimensionnement de l'image utilisateur</translation> </message> <message> <location filename="../../src/yuzu/configuration/configure_profile_manager.cpp" line="315"/> <source>Unable to resize image</source> - <translation type="unfinished"/> + <translation>Impossible de redimensionner l'image</translation> </message> </context> <context> @@ -3064,12 +3131,12 @@ Pour inverser les axes, bougez d'abord votre joystick verticalement, puis h <message> <location filename="../../src/yuzu/configuration/configure_tas.ui" line="17"/> <source><html><head/><body><p>Reads controller input from scripts in the same format as TAS-nx scripts.<br/>For a more detailed explanation, please consult the <a href="https://yuzu-emu.org/help/feature/tas/"><span style=" text-decoration: underline; color:#039be5;">help page</span></a> on the yuzu website.</p></body></html></source> - <translation type="unfinished"/> + <translation><html><head/><body><p>Lit l'entrée du contrôleur à partir des scripts dans le même format que 'TAS-nx' <br/> Pour une explication plus détaillée, veuillez consulter le <a href="https://yuzu-emu.org/help/feature/tas/"><span style=" text-decoration: underline; color:#039be5;">page d'aide </span></a>sur le site Yuzu.</p></body></html></translation> </message> <message> <location filename="../../src/yuzu/configuration/configure_tas.ui" line="24"/> <source>To check which hotkeys control the playback/recording, please refer to the Hotkey settings (Configure -> General -> Hotkeys).</source> - <translation type="unfinished"/> + <translation>Pour vérifier quelles touches de raccourci contrôlent la lecture/l'enregistrement, veuillez vous reporter aux paramètres des touches de raccourci (Configurer -> Général -> Touches de raccourci).</translation> </message> <message> <location filename="../../src/yuzu/configuration/configure_tas.ui" line="34"/> @@ -3088,31 +3155,26 @@ Pour inverser les axes, bougez d'abord votre joystick verticalement, puis h </message> <message> <location filename="../../src/yuzu/configuration/configure_tas.ui" line="64"/> - <source>Automatic controller profile swapping</source> - <translation>Changer automatiquement le profile de la manette</translation> - </message> - <message> - <location filename="../../src/yuzu/configuration/configure_tas.ui" line="71"/> <source>Loop script</source> <translation>Script de boucle</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_tas.ui" line="81"/> + <location filename="../../src/yuzu/configuration/configure_tas.ui" line="74"/> <source>Pause execution during loads</source> <translation>Mettre en pause l'exécution pendant le chargement</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_tas.ui" line="95"/> + <location filename="../../src/yuzu/configuration/configure_tas.ui" line="88"/> <source>Script Directory</source> <translation>Dossier de script</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_tas.ui" line="101"/> + <location filename="../../src/yuzu/configuration/configure_tas.ui" line="94"/> <source>Path</source> <translation>Chemin</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_tas.ui" line="108"/> + <location filename="../../src/yuzu/configuration/configure_tas.ui" line="101"/> <source>...</source> <translation>...</translation> </message> @@ -3125,7 +3187,7 @@ Pour inverser les axes, bougez d'abord votre joystick verticalement, puis h <translation>Configuration du TAS</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_tas.cpp" line="53"/> + <location filename="../../src/yuzu/configuration/configure_tas.cpp" line="51"/> <source>Select TAS Load Directory...</source> <translation>Sélectionner le dossier de chargement du TAS...</translation> </message> @@ -3187,37 +3249,37 @@ Faites glisser les points pour modifier la position ou double-cliquez sur les ce <translation>Y</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_touch_from_button.cpp" line="200"/> + <location filename="../../src/yuzu/configuration/configure_touch_from_button.cpp" line="197"/> <source>New Profile</source> <translation>Nouveau profil</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_touch_from_button.cpp" line="200"/> + <location filename="../../src/yuzu/configuration/configure_touch_from_button.cpp" line="197"/> <source>Enter the name for the new profile.</source> <translation>Saisissez le nom du nouveau profil.</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_touch_from_button.cpp" line="211"/> + <location filename="../../src/yuzu/configuration/configure_touch_from_button.cpp" line="208"/> <source>Delete Profile</source> <translation>Supprimer le profil</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_touch_from_button.cpp" line="211"/> + <location filename="../../src/yuzu/configuration/configure_touch_from_button.cpp" line="208"/> <source>Delete profile %1?</source> <translation>Supprimer le profil %1?</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_touch_from_button.cpp" line="224"/> + <location filename="../../src/yuzu/configuration/configure_touch_from_button.cpp" line="221"/> <source>Rename Profile</source> <translation>Renommer le profil</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_touch_from_button.cpp" line="224"/> + <location filename="../../src/yuzu/configuration/configure_touch_from_button.cpp" line="221"/> <source>New name:</source> <translation>Nouveau nom:</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_touch_from_button.cpp" line="233"/> + <location filename="../../src/yuzu/configuration/configure_touch_from_button.cpp" line="230"/> <source>[press key]</source> <translation>[appuyez sur une touche]</translation> </message> @@ -3637,12 +3699,12 @@ Faites glisser les points pour modifier la position ou double-cliquez sur les ce <context> <name>ControllerDialog</name> <message> - <location filename="../../src/yuzu/debugger/controller.cpp" line="17"/> + <location filename="../../src/yuzu/debugger/controller.cpp" line="21"/> <source>Controller P1</source> <translation>Contrôleur joueur 1</translation> </message> <message> - <location filename="../../src/yuzu/debugger/controller.cpp" line="52"/> + <location filename="../../src/yuzu/debugger/controller.cpp" line="60"/> <source>&Controller P1</source> <translation>&Contrôleur joueur 1</translation> </message> @@ -3650,90 +3712,95 @@ Faites glisser les points pour modifier la position ou double-cliquez sur les ce <context> <name>GMainWindow</name> <message> - <location filename="../../src/yuzu/main.cpp" line="174"/> + <location filename="../../src/yuzu/main.cpp" line="176"/> <source><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?</source> <translation><a href='https://yuzu-emu.org/help/feature/telemetry/'>Des données anonymes sont collectées</a> pour aider à améliorer yuzu. <br/><br/>Voulez-vous partager vos données d'utilisations avec nous ?</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="177"/> + <location filename="../../src/yuzu/main.cpp" line="179"/> <source>Telemetry</source> <translation>Télémétrie</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="592"/> + <location filename="../../src/yuzu/main.cpp" line="600"/> <source>Loading Web Applet...</source> <translation>Chargement du Web Applet...</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="639"/> - <location filename="../../src/yuzu/main.cpp" line="642"/> + <location filename="../../src/yuzu/main.cpp" line="647"/> + <location filename="../../src/yuzu/main.cpp" line="650"/> <source>Disable Web Applet</source> <translation>Désactiver l'applet web</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="643"/> + <location filename="../../src/yuzu/main.cpp" line="651"/> <source>Disabling the web applet will cause it to not be shown again for the rest of the emulated session. This 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?</source> <translation>Désactiver l'applet web l'empêchera de s'afficher à nouveau pour le reste de la session émulée. Cela peut causer des comportements indéfinis et ne devrait être utilisé qu'avec Super Mario 3D All-Stars. Voulez-vous vraiment désactiver l'applet web?</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="746"/> + <location filename="../../src/yuzu/main.cpp" line="754"/> <source>The amount of shaders currently being built</source> <translation>La quantité de shaders en cours de construction</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="749"/> + <location filename="../../src/yuzu/main.cpp" line="756"/> + <source>The current selected resolution scaling multiplier.</source> + <translation>Le multiplicateur de mise à l'échelle de résolution actuellement sélectionné.</translation> + </message> + <message> + <location filename="../../src/yuzu/main.cpp" line="759"/> <source>Current emulation speed. Values higher or lower than 100% indicate emulation is running faster or slower than a Switch.</source> <translation>Valeur actuelle de la vitesse de l'émulation. Des valeurs plus hautes ou plus basses que 100% indique que l'émulation fonctionne plus vite ou plus lentement qu'une véritable Switch.</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="752"/> + <location filename="../../src/yuzu/main.cpp" line="762"/> <source>How many frames per second the game is currently displaying. This will vary from game to game and scene to scene.</source> <translation>Combien d'image par seconde le jeu est en train d'afficher. Ceci vas varier de jeu en jeu et de scènes en scènes.</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="756"/> + <location filename="../../src/yuzu/main.cpp" line="766"/> <source>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.</source> <translation>Temps pris pour émuler une image par seconde de la switch, sans compter le limiteur d'image par seconde ou la synchronisation verticale. Pour une émulation à pleine vitesse, ceci devrait être au maximum à 16.67 ms.</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="781"/> + <location filename="../../src/yuzu/main.cpp" line="841"/> <source>Invalid config detected</source> <translation>Configuration invalide détectée</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="782"/> + <location filename="../../src/yuzu/main.cpp" line="842"/> <source>Handheld controller can't be used on docked mode. Pro controller will be selected.</source> <translation>Contrôleur portable ne peut pas être utilisé en mode téléviseur. La manette Pro sera sélectionnée.</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="794"/> + <location filename="../../src/yuzu/main.cpp" line="854"/> <source>DOCK</source> <translation>MODE TV</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="828"/> + <location filename="../../src/yuzu/main.cpp" line="888"/> <source>VULKAN</source> <translation>VULKAN</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="828"/> + <location filename="../../src/yuzu/main.cpp" line="888"/> <source>OPENGL</source> <translation>OPENGL</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="886"/> + <location filename="../../src/yuzu/main.cpp" line="951"/> <source>&Clear Recent Files</source> <translation>&Effacer les fichiers récents</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="1055"/> - <source>TAS Recording</source> - <translation>Enregistrement TAS</translation> + <location filename="../../src/yuzu/main.cpp" line="1210"/> + <source>&Continue</source> + <translation>&Continuer</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="1056"/> - <source>Overwrite file of player 1?</source> - <translation>Ecraser le fichier du joueur 1 ?</translation> + <location filename="../../src/yuzu/main.cpp" line="1212"/> + <source>&Pause</source> + <translation type="unfinished"/> </message> <message> <location filename="../../src/yuzu/main.cpp" line="1285"/> @@ -3784,657 +3851,724 @@ Faites glisser les points pour modifier la position ou double-cliquez sur les ce <translation>Une erreur inconnue est survenue. Veuillez consulter le journal des logs pour plus de détails.</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="1462"/> + <location filename="../../src/yuzu/main.cpp" line="1460"/> <source>(64-bit)</source> <translation>(64-bit)</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="1462"/> + <location filename="../../src/yuzu/main.cpp" line="1460"/> <source>(32-bit)</source> <translation>(32-bit)</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="1463"/> + <location filename="../../src/yuzu/main.cpp" line="1461"/> <source>%1 %2</source> <comment>%1 is the title name. %2 indicates if the title is 64-bit or 32-bit</comment> <translation>%1 %2</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="1507"/> - <source>Start</source> - <translation>Démarrer</translation> - </message> - <message> - <location filename="../../src/yuzu/main.cpp" line="1612"/> + <location filename="../../src/yuzu/main.cpp" line="1605"/> <source>Save Data</source> <translation>Enregistrer les données</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="1660"/> + <location filename="../../src/yuzu/main.cpp" line="1653"/> <source>Mod Data</source> <translation>Donnés du Mod</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="1672"/> + <location filename="../../src/yuzu/main.cpp" line="1665"/> <source>Error Opening %1 Folder</source> <translation>Erreur dans l'ouverture du dossier %1.</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="1673"/> - <location filename="../../src/yuzu/main.cpp" line="2079"/> + <location filename="../../src/yuzu/main.cpp" line="1666"/> + <location filename="../../src/yuzu/main.cpp" line="2072"/> <source>Folder does not exist!</source> <translation>Le dossier n'existe pas !</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="1685"/> + <location filename="../../src/yuzu/main.cpp" line="1678"/> <source>Error Opening Transferable Shader Cache</source> <translation>Erreur lors de l'ouverture des Shader Cache Transferable</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="1686"/> + <location filename="../../src/yuzu/main.cpp" line="1679"/> <source>Failed to create the shader cache directory for this title.</source> <translation>Impossible de créer le dossier de cache du shader pour ce jeu.</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="1738"/> + <location filename="../../src/yuzu/main.cpp" line="1731"/> <source>Contents</source> <translation>Contenus</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="1740"/> + <location filename="../../src/yuzu/main.cpp" line="1733"/> <source>Update</source> <translation>Mise à jour</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="1742"/> + <location filename="../../src/yuzu/main.cpp" line="1735"/> <source>DLC</source> <translation>DLC</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="1749"/> + <location filename="../../src/yuzu/main.cpp" line="1742"/> <source>Remove Entry</source> <translation>Supprimer l'entrée</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="1749"/> + <location filename="../../src/yuzu/main.cpp" line="1742"/> <source>Remove Installed Game %1?</source> <translation>Supprimer le jeu installé %1?</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="1779"/> - <location filename="../../src/yuzu/main.cpp" line="1795"/> - <location filename="../../src/yuzu/main.cpp" line="1826"/> - <location filename="../../src/yuzu/main.cpp" line="1887"/> - <location filename="../../src/yuzu/main.cpp" line="1905"/> - <location filename="../../src/yuzu/main.cpp" line="1928"/> + <location filename="../../src/yuzu/main.cpp" line="1772"/> + <location filename="../../src/yuzu/main.cpp" line="1788"/> + <location filename="../../src/yuzu/main.cpp" line="1819"/> + <location filename="../../src/yuzu/main.cpp" line="1880"/> + <location filename="../../src/yuzu/main.cpp" line="1898"/> + <location filename="../../src/yuzu/main.cpp" line="1921"/> <source>Successfully Removed</source> <translation>Supprimé avec succès</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="1780"/> + <location filename="../../src/yuzu/main.cpp" line="1773"/> <source>Successfully removed the installed base game.</source> <translation>Suppression du jeu de base installé avec succès.</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="1783"/> - <location filename="../../src/yuzu/main.cpp" line="1798"/> - <location filename="../../src/yuzu/main.cpp" line="1821"/> + <location filename="../../src/yuzu/main.cpp" line="1776"/> + <location filename="../../src/yuzu/main.cpp" line="1791"/> + <location filename="../../src/yuzu/main.cpp" line="1814"/> <source>Error Removing %1</source> <translation>Erreur lors de la suppression %1</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="1784"/> + <location filename="../../src/yuzu/main.cpp" line="1777"/> <source>The base game is not installed in the NAND and cannot be removed.</source> <translation>Le jeu de base n'est pas installé dans la NAND et ne peut pas être supprimé.</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="1796"/> + <location filename="../../src/yuzu/main.cpp" line="1789"/> <source>Successfully removed the installed update.</source> <translation>Suppression de la mise à jour installée avec succès.</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="1799"/> + <location filename="../../src/yuzu/main.cpp" line="1792"/> <source>There is no update installed for this title.</source> <translation>Il n'y a pas de mise à jour installée pour ce titre.</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="1822"/> + <location filename="../../src/yuzu/main.cpp" line="1815"/> <source>There are no DLC installed for this title.</source> <translation>Il n'y a pas de DLC installé pour ce titre.</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="1827"/> + <location filename="../../src/yuzu/main.cpp" line="1820"/> <source>Successfully removed %1 installed DLC.</source> <translation>Suppression de %1 DLC installé(s) avec succès.</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="1835"/> + <location filename="../../src/yuzu/main.cpp" line="1828"/> <source>Delete OpenGL Transferable Shader Cache?</source> <translation>Supprimer la Cache OpenGL de Shader Transférable?</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="1837"/> + <location filename="../../src/yuzu/main.cpp" line="1830"/> <source>Delete Vulkan Transferable Shader Cache?</source> <translation>Supprimer la Cache Vulkan de Shader Transférable?</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="1839"/> + <location filename="../../src/yuzu/main.cpp" line="1832"/> <source>Delete All Transferable Shader Caches?</source> <translation>Supprimer Toutes les Caches de Shader Transférable?</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="1841"/> + <location filename="../../src/yuzu/main.cpp" line="1834"/> <source>Remove Custom Game Configuration?</source> <translation>Supprimer la configuration personnalisée du jeu?</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="1847"/> + <location filename="../../src/yuzu/main.cpp" line="1840"/> <source>Remove File</source> <translation>Supprimer fichier</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="1882"/> - <location filename="../../src/yuzu/main.cpp" line="1890"/> + <location filename="../../src/yuzu/main.cpp" line="1875"/> + <location filename="../../src/yuzu/main.cpp" line="1883"/> <source>Error Removing Transferable Shader Cache</source> <translation>Erreur lors de la suppression du cache de shader transférable</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="1883"/> - <location filename="../../src/yuzu/main.cpp" line="1901"/> + <location filename="../../src/yuzu/main.cpp" line="1876"/> + <location filename="../../src/yuzu/main.cpp" line="1894"/> <source>A shader cache for this title does not exist.</source> <translation>Un shader cache pour ce titre n'existe pas.</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="1888"/> + <location filename="../../src/yuzu/main.cpp" line="1881"/> <source>Successfully removed the transferable shader cache.</source> <translation>Suppression du cache de shader transférable avec succès.</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="1891"/> + <location filename="../../src/yuzu/main.cpp" line="1884"/> <source>Failed to remove the transferable shader cache.</source> <translation>Échec de la suppression du cache de shader transférable.</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="1900"/> - <location filename="../../src/yuzu/main.cpp" line="1908"/> + <location filename="../../src/yuzu/main.cpp" line="1893"/> + <location filename="../../src/yuzu/main.cpp" line="1901"/> <source>Error Removing Transferable Shader Caches</source> <translation>Erreur durant la Suppression des Caches de Shader Transférable</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="1906"/> + <location filename="../../src/yuzu/main.cpp" line="1899"/> <source>Successfully removed the transferable shader caches.</source> <translation>Suppression des caches de shader transférable effectuée avec succès.</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="1909"/> + <location filename="../../src/yuzu/main.cpp" line="1902"/> <source>Failed to remove the transferable shader cache directory.</source> <translation>Impossible de supprimer le dossier de la cache de shader transférable.</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="1922"/> - <location filename="../../src/yuzu/main.cpp" line="1931"/> + <location filename="../../src/yuzu/main.cpp" line="1915"/> + <location filename="../../src/yuzu/main.cpp" line="1924"/> <source>Error Removing Custom Configuration</source> <translation>Erreur lors de la suppression de la configuration personnalisée</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="1923"/> + <location filename="../../src/yuzu/main.cpp" line="1916"/> <source>A custom configuration for this title does not exist.</source> <translation>Il n'existe pas de configuration personnalisée pour ce titre.</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="1929"/> + <location filename="../../src/yuzu/main.cpp" line="1922"/> <source>Successfully removed the custom game configuration.</source> <translation>Suppression de la configuration de jeu personnalisée avec succès.</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="1932"/> + <location filename="../../src/yuzu/main.cpp" line="1925"/> <source>Failed to remove the custom game configuration.</source> <translation>Échec de la suppression de la configuration personnalisée du jeu.</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="1939"/> - <location filename="../../src/yuzu/main.cpp" line="2018"/> + <location filename="../../src/yuzu/main.cpp" line="1932"/> + <location filename="../../src/yuzu/main.cpp" line="2011"/> <source>RomFS Extraction Failed!</source> <translation>L'extraction de la RomFS a échoué !</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="1940"/> + <location filename="../../src/yuzu/main.cpp" line="1933"/> <source>There was an error copying the RomFS files or the user cancelled the operation.</source> <translation>Une erreur s'est produite lors de la copie des fichiers RomFS ou l'utilisateur a annulé l'opération.</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="1998"/> + <location filename="../../src/yuzu/main.cpp" line="1991"/> <source>Full</source> <translation>Plein</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="1998"/> + <location filename="../../src/yuzu/main.cpp" line="1991"/> <source>Skeleton</source> <translation>Squelette</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="2000"/> + <location filename="../../src/yuzu/main.cpp" line="1993"/> <source>Select RomFS Dump Mode</source> <translation>Sélectionnez le mode d'extraction de la RomFS</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="2001"/> + <location filename="../../src/yuzu/main.cpp" line="1994"/> <source>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.</source> <translation>Veuillez sélectionner la manière dont vous souhaitez que le fichier RomFS soit extrait.<br>Full copiera tous les fichiers dans le nouveau répertoire, tandis que<br>skeleton créera uniquement la structure de répertoires.</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="2019"/> + <location filename="../../src/yuzu/main.cpp" line="2012"/> <source>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</source> <translation>Il n'y a pas assez d'espace libre dans %1 pour extraire la RomFS. Veuillez libérer de l'espace ou sélectionner un autre dossier d'extraction dans Émulation > Configuration > Système > Système de fichier > Extraire la racine</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="2026"/> + <location filename="../../src/yuzu/main.cpp" line="2019"/> <source>Extracting RomFS...</source> <translation>Extraction de la RomFS ...</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="2026"/> - <location filename="../../src/yuzu/main.cpp" line="2206"/> + <location filename="../../src/yuzu/main.cpp" line="2019"/> + <location filename="../../src/yuzu/main.cpp" line="2199"/> <source>Cancel</source> <translation>Annuler</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="2033"/> + <location filename="../../src/yuzu/main.cpp" line="2026"/> <source>RomFS Extraction Succeeded!</source> <translation>Extraction de la RomFS réussi !</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="2034"/> + <location filename="../../src/yuzu/main.cpp" line="2027"/> <source>The operation completed successfully.</source> <translation>L'opération s'est déroulée avec succès.</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="2078"/> + <location filename="../../src/yuzu/main.cpp" line="2071"/> <source>Error Opening %1</source> <translation>Erreur lors de l'ouverture %1</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="2087"/> + <location filename="../../src/yuzu/main.cpp" line="2080"/> <source>Select Directory</source> <translation>Sélectionner un répertoire</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="2114"/> + <location filename="../../src/yuzu/main.cpp" line="2107"/> <source>Properties</source> <translation>Propriétés</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="2115"/> + <location filename="../../src/yuzu/main.cpp" line="2108"/> <source>The game properties could not be loaded.</source> <translation>Les propriétés du jeu n'ont pas pu être chargées.</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="2127"/> + <location filename="../../src/yuzu/main.cpp" line="2120"/> <source>Switch Executable (%1);;All Files (*.*)</source> <comment>%1 is an identifier for the Switch executable file extensions.</comment> <translation>Exécutable Switch (%1);;Tous les fichiers (*.*)</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="2131"/> + <location filename="../../src/yuzu/main.cpp" line="2124"/> <source>Load File</source> <translation>Charger un fichier</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="2143"/> + <location filename="../../src/yuzu/main.cpp" line="2136"/> <source>Open Extracted ROM Directory</source> <translation>Ouvrir le dossier des ROM extraites</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="2154"/> + <location filename="../../src/yuzu/main.cpp" line="2147"/> <source>Invalid Directory Selected</source> <translation>Destination sélectionnée invalide</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="2155"/> + <location filename="../../src/yuzu/main.cpp" line="2148"/> <source>The directory you have selected does not contain a 'main' file.</source> <translation>Le répertoire que vous avez sélectionné ne contient pas de fichier "main".</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="2165"/> + <location filename="../../src/yuzu/main.cpp" line="2158"/> <source>Installable Switch File (*.nca *.nsp *.xci);;Nintendo Content Archive (*.nca);;Nintendo Submission Package (*.nsp);;NX Cartridge Image (*.xci)</source> <translation>Fichier Switch installable (*.nca *.nsp *.xci);;Nintendo Content Archive (*.nca);;Nintendo Submission Package (*.nsp);;NX Cartridge Image (*.xci)</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="2170"/> + <location filename="../../src/yuzu/main.cpp" line="2163"/> <source>Install Files</source> <translation>Installer les fichiers</translation> </message> <message numerus="yes"> - <location filename="../../src/yuzu/main.cpp" line="2214"/> + <location filename="../../src/yuzu/main.cpp" line="2207"/> <source>%n file(s) remaining</source> <translation><numerusform>%n fichier restant</numerusform><numerusform>%n fichiers restants</numerusform></translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="2216"/> + <location filename="../../src/yuzu/main.cpp" line="2209"/> <source>Installing file "%1"...</source> <translation>Installation du fichier "%1" ...</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="2262"/> - <location filename="../../src/yuzu/main.cpp" line="2276"/> + <location filename="../../src/yuzu/main.cpp" line="2255"/> + <location filename="../../src/yuzu/main.cpp" line="2269"/> <source>Install Results</source> <translation>Résultats d'installation</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="2263"/> + <location filename="../../src/yuzu/main.cpp" line="2256"/> <source>To avoid possible conflicts, we discourage users from installing base games to the NAND. Please, only use this feature to install updates and DLC.</source> <translation>Pour éviter d'éventuels conflits, nous déconseillons aux utilisateurs d'installer des jeux de base sur la NAND. Veuillez n'utiliser cette fonctionnalité que pour installer des mises à jour et des DLC.</translation> </message> <message numerus="yes"> - <location filename="../../src/yuzu/main.cpp" line="2269"/> + <location filename="../../src/yuzu/main.cpp" line="2262"/> <source>%n file(s) were newly installed </source> <translation><numerusform>%n fichier a été nouvellement installé</numerusform><numerusform>%n fichiers ont été nouvellement installés</numerusform></translation> </message> <message numerus="yes"> - <location filename="../../src/yuzu/main.cpp" line="2272"/> + <location filename="../../src/yuzu/main.cpp" line="2265"/> <source>%n file(s) were overwritten </source> <translation><numerusform>%n fichier a été écrasé</numerusform><numerusform>%n fichiers ont été écrasés</numerusform></translation> </message> <message numerus="yes"> - <location filename="../../src/yuzu/main.cpp" line="2274"/> + <location filename="../../src/yuzu/main.cpp" line="2267"/> <source>%n file(s) failed to install </source> <translation><numerusform>%n fichier n'a pas pu être installé</numerusform><numerusform>%n fichiers n'ont pas pu être installés</numerusform></translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="2375"/> + <location filename="../../src/yuzu/main.cpp" line="2368"/> <source>System Application</source> <translation>Application Système</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="2376"/> + <location filename="../../src/yuzu/main.cpp" line="2369"/> <source>System Archive</source> <translation>Archive Système</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="2377"/> + <location filename="../../src/yuzu/main.cpp" line="2370"/> <source>System Application Update</source> <translation>Mise à jour de l'application système</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="2378"/> + <location filename="../../src/yuzu/main.cpp" line="2371"/> <source>Firmware Package (Type A)</source> <translation>Paquet micrologiciel (Type A)</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="2379"/> + <location filename="../../src/yuzu/main.cpp" line="2372"/> <source>Firmware Package (Type B)</source> <translation>Paquet micrologiciel (Type B)</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="2380"/> + <location filename="../../src/yuzu/main.cpp" line="2373"/> <source>Game</source> <translation>Jeu</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="2381"/> + <location filename="../../src/yuzu/main.cpp" line="2374"/> <source>Game Update</source> <translation>Mise à jour de jeu</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="2382"/> + <location filename="../../src/yuzu/main.cpp" line="2375"/> <source>Game DLC</source> <translation>DLC de jeu</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="2383"/> + <location filename="../../src/yuzu/main.cpp" line="2376"/> <source>Delta Title</source> <translation>Titre Delta</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="2386"/> + <location filename="../../src/yuzu/main.cpp" line="2379"/> <source>Select NCA Install Type...</source> <translation>Sélectionner le type d'installation du NCA...</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="2387"/> + <location filename="../../src/yuzu/main.cpp" line="2380"/> <source>Please select the type of title you would like to install this NCA as: (In most instances, the default 'Game' is fine.)</source> <translation>Veuillez sélectionner le type de titre auquel vous voulez installer ce NCA : (Dans la plupart des cas, le titre par défaut : 'Jeu' est correct.)</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="2393"/> + <location filename="../../src/yuzu/main.cpp" line="2386"/> <source>Failed to Install</source> <translation>Échec de l'installation</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="2394"/> + <location filename="../../src/yuzu/main.cpp" line="2387"/> <source>The title type you selected for the NCA is invalid.</source> <translation>Le type de titre que vous avez sélectionné pour le NCA n'est pas valide.</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="2429"/> + <location filename="../../src/yuzu/main.cpp" line="2422"/> <source>File not found</source> <translation>Fichier non trouvé</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="2430"/> + <location filename="../../src/yuzu/main.cpp" line="2423"/> <source>File "%1" not found</source> <translation>Fichier "%1" non trouvé</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="2445"/> - <location filename="../../src/yuzu/main.cpp" line="3448"/> - <source>&Continue</source> - <translation>&Continuer</translation> - </message> - <message> - <location filename="../../src/yuzu/main.cpp" line="2494"/> + <location filename="../../src/yuzu/main.cpp" line="2492"/> <source>OK</source> <translation>OK</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="2508"/> + <location filename="../../src/yuzu/main.cpp" line="2506"/> <source>Missing yuzu Account</source> <translation>Compte yuzu manquant</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="2509"/> + <location filename="../../src/yuzu/main.cpp" line="2507"/> <source>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.</source> <translation>Pour soumettre un test de compatibilité pour un jeu, vous devez lier votre compte yuzu.<br><br/>Pour lier votre compte yuzu, aller à Emulation &gt; Configuration&gt; Web.</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="2519"/> + <location filename="../../src/yuzu/main.cpp" line="2517"/> <source>Error opening URL</source> <translation>Erreur lors de l'ouverture de l'URL</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="2520"/> + <location filename="../../src/yuzu/main.cpp" line="2518"/> <source>Unable to open the URL "%1".</source> <translation>Impossible d'ouvrir l'URL "%1".</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="2802"/> + <location filename="../../src/yuzu/main.cpp" line="2777"/> + <source>TAS Recording</source> + <translation>Enregistrement TAS</translation> + </message> + <message> + <location filename="../../src/yuzu/main.cpp" line="2777"/> + <source>Overwrite file of player 1?</source> + <translation>Ecraser le fichier du joueur 1 ?</translation> + </message> + <message> + <location filename="../../src/yuzu/main.cpp" line="2830"/> <source>Amiibo File (%1);; All Files (*.*)</source> <translation>Fichier Amiibo (%1);; Tous les fichiers (*.*)</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="2803"/> + <location filename="../../src/yuzu/main.cpp" line="2831"/> <source>Load Amiibo</source> <translation>Charger un Amiibo</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="2821"/> + <location filename="../../src/yuzu/main.cpp" line="2849"/> <source>Error opening Amiibo data file</source> <translation>Erreur lors de l'ouverture du fichier de données Amiibo</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="2822"/> + <location filename="../../src/yuzu/main.cpp" line="2850"/> <source>Unable to open Amiibo file "%1" for reading.</source> <translation>Impossible d'ouvrir le fichier Amiibo "%1" à lire.</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="2830"/> + <location filename="../../src/yuzu/main.cpp" line="2858"/> <source>Error reading Amiibo data file</source> <translation>Erreur lors de la lecture du fichier de données Amiibo</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="2831"/> + <location filename="../../src/yuzu/main.cpp" line="2859"/> <source>Unable to fully read Amiibo data. Expected to read %1 bytes, but was only able to read %2 bytes.</source> <translation>Impossible de lire entièrement les données Amiibo. On s'attend à lire %1 octets, mais il n'a pu lire que %2 octets</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="2839"/> + <location filename="../../src/yuzu/main.cpp" line="2867"/> <source>Error loading Amiibo data</source> <translation>Erreur lors du chargement des données Amiibo</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="2840"/> + <location filename="../../src/yuzu/main.cpp" line="2868"/> <source>Unable to load Amiibo data.</source> <translation>Impossible de charger les données Amiibo.</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="2881"/> + <location filename="../../src/yuzu/main.cpp" line="2913"/> <source>Capture Screenshot</source> <translation>Capture d'écran</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="2882"/> + <location filename="../../src/yuzu/main.cpp" line="2914"/> <source>PNG Image (*.png)</source> <translation>Image PNG (*.png)</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="2948"/> + <location filename="../../src/yuzu/main.cpp" line="2979"/> <source>TAS state: Running %1/%2</source> <translation>Etat du TAS : En cours d'exécution %1/%2</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="2950"/> + <location filename="../../src/yuzu/main.cpp" line="2981"/> <source>TAS state: Recording %1</source> <translation>Etat du TAS : Enregistrement %1</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="2952"/> + <location filename="../../src/yuzu/main.cpp" line="2983"/> <source>TAS state: Idle %1/%2</source> <translation>Etat du TAS : Inactif %1:%2</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="2954"/> + <location filename="../../src/yuzu/main.cpp" line="2985"/> <source>TAS State: Invalid</source> <translation>Etat du TAS : Invalide</translation> </message> + <message> + <location filename="../../src/yuzu/main.cpp" line="2999"/> + <source>&Stop Running</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/main.cpp" line="2999"/> + <source>&Start</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/main.cpp" line="3000"/> + <source>Stop R&ecording</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/main.cpp" line="3000"/> + <source>R&ecord</source> + <translation type="unfinished"/> + </message> <message numerus="yes"> - <location filename="../../src/yuzu/main.cpp" line="2975"/> + <location filename="../../src/yuzu/main.cpp" line="3024"/> <source>Building: %n shader(s)</source> <translation><numerusform>Compilation: %n shader</numerusform><numerusform>Compilation: %n shaders</numerusform></translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="2982"/> + <location filename="../../src/yuzu/main.cpp" line="3033"/> + <source>Scale: %1x</source> + <comment>%1 is the resolution scaling factor</comment> + <translation>Échelle : %1x</translation> + </message> + <message> + <location filename="../../src/yuzu/main.cpp" line="3036"/> <source>Speed: %1% / %2%</source> <translation>Vitesse : %1% / %2% </translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="2986"/> + <location filename="../../src/yuzu/main.cpp" line="3040"/> <source>Speed: %1%</source> <translation>Vitesse : %1% </translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="2990"/> + <location filename="../../src/yuzu/main.cpp" line="3044"/> <source>Game: %1 FPS (Unlocked)</source> <translation>Jeu: %1 IPS (Débloqué)</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="2992"/> + <location filename="../../src/yuzu/main.cpp" line="3046"/> <source>Game: %1 FPS</source> <translation>Jeu : %1 FPS </translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="2994"/> + <location filename="../../src/yuzu/main.cpp" line="3048"/> <source>Frame: %1 ms</source> <translation>Frame : %1 ms</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="3004"/> + <location filename="../../src/yuzu/main.cpp" line="3059"/> <source>GPU NORMAL</source> <translation>GPU NORMAL</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="3009"/> + <location filename="../../src/yuzu/main.cpp" line="3064"/> <source>GPU HIGH</source> <translation>GPU HAUT</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="3014"/> + <location filename="../../src/yuzu/main.cpp" line="3069"/> <source>GPU EXTREME</source> <translation>GPU EXTRÊME</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="3019"/> + <location filename="../../src/yuzu/main.cpp" line="3074"/> <source>GPU ERROR</source> <translation>GPU ERREUR</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="3076"/> + <location filename="../../src/yuzu/main.cpp" line="3084"/> + <source>NEAREST</source> + <translation>PLUS PROCHE</translation> + </message> + <message> + <location filename="../../src/yuzu/main.cpp" line="3087"/> + <location filename="../../src/yuzu/main.cpp" line="3102"/> + <source>BILINEAR</source> + <translation>BILINÉAIRE</translation> + </message> + <message> + <location filename="../../src/yuzu/main.cpp" line="3090"/> + <source>BICUBIC</source> + <translation>BICUBIQUE</translation> + </message> + <message> + <location filename="../../src/yuzu/main.cpp" line="3093"/> + <source>GAUSSIAN</source> + <translation>GAUSSIEN</translation> + </message> + <message> + <location filename="../../src/yuzu/main.cpp" line="3096"/> + <source>SCALEFORCE</source> + <translation>SCALEFORCE</translation> + </message> + <message> + <location filename="../../src/yuzu/main.cpp" line="3099"/> + <source>FSR</source> + <translation>FSR</translation> + </message> + <message> + <location filename="../../src/yuzu/main.cpp" line="3111"/> + <location filename="../../src/yuzu/main.cpp" line="3117"/> + <source>NO AA</source> + <translation>AUCUN AA</translation> + </message> + <message> + <location filename="../../src/yuzu/main.cpp" line="3114"/> + <source>FXAA</source> + <translation>FXAA</translation> + </message> + <message> + <location filename="../../src/yuzu/main.cpp" line="3175"/> <source>The game you are trying to load requires additional files from your Switch to be dumped before playing.<br/><br/>For more information on dumping these files, please see the following wiki page: <a href='https://yuzu-emu.org/wiki/dumping-system-archives-and-the-shared-fonts-from-a-switch-console/'>Dumping System Archives and the Shared Fonts from a Switch Console</a>.<br/><br/>Would you like to quit back to the game list? Continuing emulation may result in crashes, corrupted save data, or other bugs.</source> <translation>Le jeu que vous essayez de charger a besoin de fichiers additionnels que vous devez extraire depuis votre Switch avant de jouer.<br/><br/>Pour plus d'information sur l'extraction de ces fichiers, veuillez consulter la page du wiki suivante : <a href='https://yuzu-emu.org/wiki/dumping-system-archives-and-the-shared-fonts-from-a-switch-console/'>Extraction des archives système et des Shared Fonts depuis la Switch</a>.<br/><br/>Voulez-vous quitter la liste des jeux ? Une émulation continue peut entraîner des crashs, la corruption de données de sauvegarde ou d’autres bugs.</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="3091"/> + <location filename="../../src/yuzu/main.cpp" line="3190"/> <source>yuzu was unable to locate a Switch system archive. %1</source> <translation>yuzu n'a pas été capable de localiser un système d'archive Switch. %1</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="3093"/> + <location filename="../../src/yuzu/main.cpp" line="3192"/> <source>yuzu was unable to locate a Switch system archive: %1. %2</source> <translation>yuzu n'a pas été capable de localiser un système d'archive Switch. %1. %2</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="3097"/> + <location filename="../../src/yuzu/main.cpp" line="3196"/> <source>System Archive Not Found</source> <translation>Archive système introuvable</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="3099"/> + <location filename="../../src/yuzu/main.cpp" line="3198"/> <source>System Archive Missing</source> <translation>Archive Système Manquante</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="3105"/> + <location filename="../../src/yuzu/main.cpp" line="3204"/> <source>yuzu was unable to locate the Switch shared fonts. %1</source> <translation>Yuzu n'a pas été capable de localiser les polices partagées de la Switch. %1</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="3106"/> + <location filename="../../src/yuzu/main.cpp" line="3205"/> <source>Shared Fonts Not Found</source> <translation>Les polices partagées non pas été trouvées</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="3108"/> + <location filename="../../src/yuzu/main.cpp" line="3207"/> <source>Shared Font Missing</source> <translation>Polices Partagée Manquante</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="3114"/> + <location filename="../../src/yuzu/main.cpp" line="3213"/> <source>Fatal Error</source> <translation>Erreur fatale</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="3115"/> + <location filename="../../src/yuzu/main.cpp" line="3214"/> <source>yuzu has encountered a fatal error, please see the log for more details. For more information on accessing the log, please see the following page: <a href='https://community.citra-emu.org/t/how-to-upload-the-log-file/296'>How to Upload the Log File</a>.<br/><br/>Would you like to quit back to the game list? Continuing emulation may result in crashes, corrupted save data, or other bugs.</source> <translation>yuzu a rencontré une erreur fatale, veuillez consulter les logs pour plus de détails. Pour plus d'informations sur l'accès aux logs, veuillez consulter la page suivante : <a href='https://community.citra-emu.org/t/how-to-upload-the-log-file/296'> Comment télécharger le fichier des logs </a>.<br/><br/>Voulez-vous quitter la liste des jeux ? Une émulation continue peut entraîner des crashs, la corruption de données de sauvegarde ou d’autres bugs.</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="3124"/> + <location filename="../../src/yuzu/main.cpp" line="3223"/> <source>Fatal Error encountered</source> <translation>Erreur Fatale rencontrée</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="3147"/> + <location filename="../../src/yuzu/main.cpp" line="3246"/> <source>Confirm Key Rederivation</source> <translation>Confirmer la réinstallation de la clé</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="3148"/> + <location filename="../../src/yuzu/main.cpp" line="3247"/> <source>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. @@ -4451,37 +4585,37 @@ et éventuellement faites des sauvegardes. Cela supprimera vos fichiers de clé générés automatiquement et ré exécutera le module d'installation de clé.</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="3180"/> + <location filename="../../src/yuzu/main.cpp" line="3279"/> <source>Missing fuses</source> <translation>Fusibles manquants</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="3183"/> + <location filename="../../src/yuzu/main.cpp" line="3282"/> <source> - Missing BOOT0</source> <translation>- BOOT0 manquant</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="3186"/> + <location filename="../../src/yuzu/main.cpp" line="3285"/> <source> - Missing BCPKG2-1-Normal-Main</source> <translation>- BCPKG2-1-Normal-Main manquant</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="3189"/> + <location filename="../../src/yuzu/main.cpp" line="3288"/> <source> - Missing PRODINFO</source> <translation>- PRODINFO manquant</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="3193"/> + <location filename="../../src/yuzu/main.cpp" line="3292"/> <source>Derivation Components Missing</source> <translation>Composants de dérivation manquants</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="3194"/> - <source>Components are missing that may hinder key derivation from completing. <br>Please follow <a href='https://yuzu-emu.org/help/quickstart/'>the yuzu quickstart guide</a> to get all your keys and games.<br><br><small>(%1)</small></source> - <translation>Il manque des composants qui peuvent empêcher la dérivation de clé de se terminer. <br>Veuillez suivre<a href='https://yuzu-emu.org/help/quickstart/'>le guide de démarrage rapide de yuzu</a> pour obtenir toutes vos clés et tous vos jeux.<br><br><small>(%1)</small></translation> + <location filename="../../src/yuzu/main.cpp" line="3293"/> + <source>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></source> + <translation>Les clés de chiffrement sont manquantes. <br>Veuillez suivre <a href='https://yuzu-emu.org/help/quickstart/'>le guide de démarrage rapide yuzu</a> pour obtenir tous vos clés, firmware et jeux.<br><br><small>(%1)</small></translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="3203"/> + <location filename="../../src/yuzu/main.cpp" line="3302"/> <source>Deriving keys... This may take up to a minute depending on your system's performance.</source> @@ -4490,39 +4624,39 @@ Cela peut prendre jusqu'à une minute en fonction des performances de votre système.</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="3205"/> + <location filename="../../src/yuzu/main.cpp" line="3304"/> <source>Deriving Keys</source> <translation>Installation des clés</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="3250"/> + <location filename="../../src/yuzu/main.cpp" line="3349"/> <source>Select RomFS Dump Target</source> <translation>Sélectionner la cible d'extraction du RomFS</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="3251"/> + <location filename="../../src/yuzu/main.cpp" line="3350"/> <source>Please select which RomFS you would like to dump.</source> <translation>Veuillez sélectionner quel RomFS vous voulez extraire.</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="3266"/> + <location filename="../../src/yuzu/main.cpp" line="3365"/> <source>Are you sure you want to close yuzu?</source> <translation>Êtes vous sûr de vouloir fermer yuzu ?</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="3267"/> - <location filename="../../src/yuzu/main.cpp" line="3342"/> - <location filename="../../src/yuzu/main.cpp" line="3355"/> + <location filename="../../src/yuzu/main.cpp" line="3366"/> + <location filename="../../src/yuzu/main.cpp" line="3443"/> + <location filename="../../src/yuzu/main.cpp" line="3456"/> <source>yuzu</source> <translation>yuzu</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="3343"/> + <location filename="../../src/yuzu/main.cpp" line="3444"/> <source>Are you sure you want to stop the emulation? Any unsaved progress will be lost.</source> <translation>Êtes-vous sûr d'arrêter l'émulation ? Tout progrès non enregistré sera perdu.</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="3352"/> + <location filename="../../src/yuzu/main.cpp" line="3453"/> <source>The currently running application has requested yuzu to not exit. Would you like to bypass this and exit anyway?</source> @@ -4534,38 +4668,38 @@ Voulez-vous ignorer ceci and quitter quand même ?</translation> <context> <name>GRenderWindow</name> <message> - <location filename="../../src/yuzu/bootmanager.cpp" line="675"/> + <location filename="../../src/yuzu/bootmanager.cpp" line="976"/> <source>OpenGL not available!</source> <translation>OpenGL n'est pas disponible!</translation> </message> <message> - <location filename="../../src/yuzu/bootmanager.cpp" line="676"/> + <location filename="../../src/yuzu/bootmanager.cpp" line="977"/> <source>yuzu has not been compiled with OpenGL support.</source> <translation>yuzu n'a pas été compilé avec le support OpenGL.</translation> </message> <message> - <location filename="../../src/yuzu/bootmanager.cpp" line="695"/> - <location filename="../../src/yuzu/bootmanager.cpp" line="715"/> + <location filename="../../src/yuzu/bootmanager.cpp" line="996"/> + <location filename="../../src/yuzu/bootmanager.cpp" line="1016"/> <source>Error while initializing OpenGL!</source> <translation>Erreur lors de l'initialisation d'OpenGL!</translation> </message> <message> - <location filename="../../src/yuzu/bootmanager.cpp" line="696"/> + <location filename="../../src/yuzu/bootmanager.cpp" line="997"/> <source>Your GPU may not support OpenGL, or you do not have the latest graphics driver.</source> <translation>Votre GPU peut ne pas prendre en charge OpenGL, ou vous n'avez pas les derniers pilotes graphiques.</translation> </message> <message> - <location filename="../../src/yuzu/bootmanager.cpp" line="705"/> + <location filename="../../src/yuzu/bootmanager.cpp" line="1006"/> <source>Error while initializing OpenGL 4.6!</source> <translation>Erreur lors de l'initialisation d'OpenGL 4.6!</translation> </message> <message> - <location filename="../../src/yuzu/bootmanager.cpp" line="706"/> + <location filename="../../src/yuzu/bootmanager.cpp" line="1007"/> <source>Your GPU may not support OpenGL 4.6, or you do not have the latest graphics driver.<br><br>GL Renderer:<br>%1</source> <translation>Votre GPU peut ne pas prendre en charge OpenGL 4.6 ou vous ne disposez pas du dernier pilote graphique: %1</translation> </message> <message> - <location filename="../../src/yuzu/bootmanager.cpp" line="716"/> + <location filename="../../src/yuzu/bootmanager.cpp" line="1017"/> <source>Your GPU may not support one or more required OpenGL extensions. Please ensure you have the latest graphics driver.<br><br>GL Renderer:<br>%1<br><br>Unsupported extensions:<br>%2</source> <translation>Votre GPU peut ne pas prendre en charge une ou plusieurs extensions OpenGL requises. Veuillez vous assurer que vous disposez du dernier pilote graphique.<br><br>GL Renderer:<br>%1<br><br>Extensions non prises en charge:<br>%2</translation> </message> @@ -4925,190 +5059,205 @@ Screen.</source> <translation>&Émulation</translation> </message> <message> - <location filename="../../src/yuzu/main.ui" line="79"/> + <location filename="../../src/yuzu/main.ui" line="78"/> <source>&View</source> <translation>&Vue</translation> </message> <message> - <location filename="../../src/yuzu/main.ui" line="83"/> + <location filename="../../src/yuzu/main.ui" line="82"/> <source>&Reset Window Size</source> <translation>&Réinitialiser la taille de la fenêtre</translation> </message> <message> - <location filename="../../src/yuzu/main.ui" line="88"/> + <location filename="../../src/yuzu/main.ui" line="87"/> + <source>&Debugging</source> + <translation>&Débogage</translation> + </message> + <message> + <location filename="../../src/yuzu/main.ui" line="92"/> <source>Reset Window Size to &720p</source> <translation>&Réinitialiser la taille de la fenêtre à 720p</translation> </message> <message> - <location filename="../../src/yuzu/main.ui" line="91"/> + <location filename="../../src/yuzu/main.ui" line="95"/> <source>Reset Window Size to 720p</source> <translation>Réinitialiser la taille de la fenêtre à 720p</translation> </message> <message> - <location filename="../../src/yuzu/main.ui" line="96"/> + <location filename="../../src/yuzu/main.ui" line="100"/> <source>Reset Window Size to &900p</source> <translation>Réinitialiser la taille de la fenêtre à &900p</translation> </message> <message> - <location filename="../../src/yuzu/main.ui" line="99"/> + <location filename="../../src/yuzu/main.ui" line="103"/> <source>Reset Window Size to 900p</source> <translation>Réinitialiser la taille de la fenêtre à 900p</translation> </message> <message> - <location filename="../../src/yuzu/main.ui" line="104"/> + <location filename="../../src/yuzu/main.ui" line="108"/> <source>Reset Window Size to &1080p</source> <translation>Réinitialiser la taille de la fenêtre à &1080p</translation> </message> <message> - <location filename="../../src/yuzu/main.ui" line="107"/> + <location filename="../../src/yuzu/main.ui" line="111"/> <source>Reset Window Size to 1080p</source> <translation>Réinitialiser la taille de la fenêtre à 1080p</translation> </message> <message> - <location filename="../../src/yuzu/main.ui" line="112"/> - <source>&Debugging</source> - <translation>&Débogage</translation> - </message> - <message> - <location filename="../../src/yuzu/main.ui" line="126"/> + <location filename="../../src/yuzu/main.ui" line="125"/> <source>&Tools</source> <translation>&Outils</translation> </message> <message> - <location filename="../../src/yuzu/main.ui" line="135"/> + <location filename="../../src/yuzu/main.ui" line="129"/> + <source>&TAS</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/main.ui" line="144"/> <source>&Help</source> <translation>&Aide</translation> </message> <message> - <location filename="../../src/yuzu/main.ui" line="155"/> + <location filename="../../src/yuzu/main.ui" line="164"/> <source>&Install Files to NAND...</source> <translation>&Installer des fichiers sur la NAND...</translation> </message> <message> - <location filename="../../src/yuzu/main.ui" line="160"/> + <location filename="../../src/yuzu/main.ui" line="169"/> <source>L&oad File...</source> <translation>&Charger un fichier...</translation> </message> <message> - <location filename="../../src/yuzu/main.ui" line="165"/> + <location filename="../../src/yuzu/main.ui" line="174"/> <source>Load &Folder...</source> <translation>&Charger un dossier</translation> </message> <message> - <location filename="../../src/yuzu/main.ui" line="170"/> + <location filename="../../src/yuzu/main.ui" line="179"/> <source>E&xit</source> <translation>Q&uitter</translation> </message> <message> - <location filename="../../src/yuzu/main.ui" line="178"/> - <source>&Start</source> - <translation>&Démarrer</translation> - </message> - <message> - <location filename="../../src/yuzu/main.ui" line="186"/> + <location filename="../../src/yuzu/main.ui" line="187"/> <source>&Pause</source> <translation>&Pause</translation> </message> <message> - <location filename="../../src/yuzu/main.ui" line="194"/> + <location filename="../../src/yuzu/main.ui" line="195"/> <source>&Stop</source> <translation>&Arrêter</translation> </message> <message> - <location filename="../../src/yuzu/main.ui" line="199"/> + <location filename="../../src/yuzu/main.ui" line="200"/> <source>&Reinitialize keys...</source> <translation>&Réinitialiser les clés...</translation> </message> <message> - <location filename="../../src/yuzu/main.ui" line="204"/> + <location filename="../../src/yuzu/main.ui" line="205"/> <source>&About yuzu</source> <translation>&À propos de yuzu</translation> </message> <message> - <location filename="../../src/yuzu/main.ui" line="212"/> + <location filename="../../src/yuzu/main.ui" line="213"/> <source>Single &Window Mode</source> <translation>&Mode fenêtre unique</translation> </message> <message> - <location filename="../../src/yuzu/main.ui" line="217"/> + <location filename="../../src/yuzu/main.ui" line="218"/> <source>Con&figure...</source> <translation>&Configurer...</translation> </message> <message> - <location filename="../../src/yuzu/main.ui" line="225"/> + <location filename="../../src/yuzu/main.ui" line="226"/> <source>Display D&ock Widget Headers</source> <translation>&Afficher les en-têtes du widget Dock</translation> </message> <message> - <location filename="../../src/yuzu/main.ui" line="233"/> + <location filename="../../src/yuzu/main.ui" line="234"/> <source>Show &Filter Bar</source> <translation>&Afficher la barre de filtre</translation> </message> <message> - <location filename="../../src/yuzu/main.ui" line="241"/> + <location filename="../../src/yuzu/main.ui" line="242"/> <source>Show &Status Bar</source> <translation>&Afficher la barre d'état</translation> </message> <message> - <location filename="../../src/yuzu/main.ui" line="244"/> + <location filename="../../src/yuzu/main.ui" line="245"/> <source>Show Status Bar</source> <translation>Afficher la barre d'état</translation> </message> <message> - <location filename="../../src/yuzu/main.ui" line="252"/> + <location filename="../../src/yuzu/main.ui" line="253"/> <source>F&ullscreen</source> <translation>P&lein écran</translation> </message> <message> - <location filename="../../src/yuzu/main.ui" line="260"/> + <location filename="../../src/yuzu/main.ui" line="261"/> <source>&Restart</source> <translation>&Redémarrer</translation> </message> <message> - <location filename="../../src/yuzu/main.ui" line="268"/> + <location filename="../../src/yuzu/main.ui" line="269"/> <source>Load &Amiibo...</source> <translation>Charger un &Amiibo</translation> </message> <message> - <location filename="../../src/yuzu/main.ui" line="276"/> + <location filename="../../src/yuzu/main.ui" line="277"/> <source>&Report Compatibility</source> <translation>&Signaler la compatibilité</translation> </message> <message> - <location filename="../../src/yuzu/main.ui" line="284"/> + <location filename="../../src/yuzu/main.ui" line="285"/> <source>Open &Mods Page</source> <translation>Ouvrir la &Page des Mods</translation> </message> <message> - <location filename="../../src/yuzu/main.ui" line="289"/> + <location filename="../../src/yuzu/main.ui" line="290"/> <source>Open &Quickstart Guide</source> <translation>Ouvrir le &Guide de Démarrage rapide</translation> </message> <message> - <location filename="../../src/yuzu/main.ui" line="294"/> + <location filename="../../src/yuzu/main.ui" line="295"/> <source>&FAQ</source> <translation>&FAQ</translation> </message> <message> - <location filename="../../src/yuzu/main.ui" line="299"/> + <location filename="../../src/yuzu/main.ui" line="300"/> <source>Open &yuzu Folder</source> <translation>Ouvrir le &Dossier de Yuzu</translation> </message> <message> - <location filename="../../src/yuzu/main.ui" line="307"/> + <location filename="../../src/yuzu/main.ui" line="308"/> <source>&Capture Screenshot</source> <translation>&Capture d'écran</translation> </message> <message> - <location filename="../../src/yuzu/main.ui" line="312"/> - <source>Configure &TAS...</source> - <translation>Configurer le &TAS...</translation> + <location filename="../../src/yuzu/main.ui" line="313"/> + <source>&Configure TAS...</source> + <translation type="unfinished"/> </message> <message> - <location filename="../../src/yuzu/main.ui" line="320"/> + <location filename="../../src/yuzu/main.ui" line="321"/> <source>Configure C&urrent Game...</source> <translation>Configurer le J&eu actuel...</translation> </message> + <message> + <location filename="../../src/yuzu/main.ui" line="329"/> + <source>&Start</source> + <translation>&Démarrer</translation> + </message> + <message> + <location filename="../../src/yuzu/main.ui" line="337"/> + <source>&Reset</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/main.ui" line="345"/> + <source>R&ecord</source> + <translation type="unfinished"/> + </message> </context> <context> <name>MicroProfileDialog</name> @@ -5154,10 +5303,15 @@ p, li { white-space: pre-wrap; } <context> <name>PlayerControlPreview</name> <message> - <location filename="../../src/yuzu/configuration/configure_input_player_widget.cpp" line="1566"/> + <location filename="../../src/yuzu/configuration/configure_input_player_widget.cpp" line="1572"/> <source>START/PAUSE</source> <translation>Démarrer/Pause </translation> </message> + <message> + <location filename="../../src/yuzu/configuration/configure_input_player_widget.cpp" line="2685"/> + <source>Charging</source> + <translation type="unfinished"/> + </message> </context> <context> <name>QObject</name> @@ -5188,142 +5342,222 @@ p, li { white-space: pre-wrap; } </message> <message> <location filename="../../src/yuzu/configuration/configure_touch_from_button.cpp" line="23"/> - <location filename="../../src/yuzu/configuration/configure_mouse_advanced.cpp" line="32"/> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="72"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="43"/> <source>Shift</source> <translation>Maj</translation> </message> <message> <location filename="../../src/yuzu/configuration/configure_touch_from_button.cpp" line="25"/> - <location filename="../../src/yuzu/configuration/configure_mouse_advanced.cpp" line="34"/> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="74"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="45"/> <source>Ctrl</source> <translation>Ctrl</translation> </message> <message> <location filename="../../src/yuzu/configuration/configure_touch_from_button.cpp" line="27"/> - <location filename="../../src/yuzu/configuration/configure_mouse_advanced.cpp" line="36"/> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="76"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="47"/> <source>Alt</source> <translation>Alt</translation> </message> <message> <location filename="../../src/yuzu/configuration/configure_touch_from_button.cpp" line="37"/> - <location filename="../../src/yuzu/configuration/configure_mouse_advanced.cpp" line="46"/> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="103"/> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="190"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="130"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="196"/> <source>[not set]</source> <translation>[non défini]</translation> </message> <message> <location filename="../../src/yuzu/configuration/configure_touch_from_button.cpp" line="49"/> - <location filename="../../src/yuzu/configuration/configure_mouse_advanced.cpp" line="58"/> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="152"/> <source>Hat %1 %2</source> <translation>Chapeau %1 %2</translation> </message> <message> <location filename="../../src/yuzu/configuration/configure_touch_from_button.cpp" line="56"/> - <location filename="../../src/yuzu/configuration/configure_mouse_advanced.cpp" line="65"/> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="159"/> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="210"/> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="214"/> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="218"/> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="222"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="219"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="223"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="227"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="231"/> <source>Axis %1%2</source> <translation>Axe %1%2</translation> </message> <message> <location filename="../../src/yuzu/configuration/configure_touch_from_button.cpp" line="62"/> - <location filename="../../src/yuzu/configuration/configure_mouse_advanced.cpp" line="71"/> <source>Button %1</source> <translation>Bouton %1</translation> </message> <message> <location filename="../../src/yuzu/configuration/configure_touch_from_button.cpp" line="68"/> - <location filename="../../src/yuzu/configuration/configure_mouse_advanced.cpp" line="76"/> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="185"/> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="227"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="190"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="204"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="234"/> <source>[unknown]</source> <translation>[inconnu]</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_mouse_advanced.cpp" line="22"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="58"/> + <source>Left</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="60"/> + <source>Right</source> + <translation type="unfinished"/> + </message> + <message> <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="62"/> - <source>Click 0</source> - <translation>Clic 0</translation> + <source>Down</source> + <translation type="unfinished"/> </message> <message> - <location filename="../../src/yuzu/configuration/configure_mouse_advanced.cpp" line="24"/> <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="64"/> - <source>Click 1</source> - <translation>Clic 1</translation> + <source>Up</source> + <translation type="unfinished"/> </message> <message> - <location filename="../../src/yuzu/configuration/configure_mouse_advanced.cpp" line="26"/> <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="66"/> - <source>Click 2</source> - <translation>Clic 2</translation> + <source>Z</source> + <translation type="unfinished"/> </message> <message> - <location filename="../../src/yuzu/configuration/configure_mouse_advanced.cpp" line="28"/> <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="68"/> - <source>Click 3</source> - <translation>Clic 3</translation> + <source>R</source> + <translation type="unfinished"/> </message> <message> - <location filename="../../src/yuzu/configuration/configure_mouse_advanced.cpp" line="30"/> <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="70"/> - <source>Click 4</source> - <translation>Clic 4</translation> + <source>L</source> + <translation type="unfinished"/> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="109"/> - <source>%1%2</source> - <translation>%1%2</translation> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="72"/> + <source>A</source> + <translation type="unfinished"/> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="117"/> - <source>GC Axis %1%2</source> - <translation>Axe GameCube %1%2</translation> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="74"/> + <source>B</source> + <translation type="unfinished"/> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="121"/> - <source>GC Button %1</source> - <translation>Bouton GameCube %1</translation> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="76"/> + <source>X</source> + <translation type="unfinished"/> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="130"/> - <source>TAS Axis %1</source> - <translation>Axe TAS %1</translation> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="78"/> + <source>Y</source> + <translation type="unfinished"/> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="134"/> - <source>TAS Btn %1</source> - <translation>Btn TAS %1</translation> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="80"/> + <source>Start</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="82"/> + <source>L1</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="84"/> + <source>L2</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="86"/> + <source>L3</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="88"/> + <source>R1</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="90"/> + <source>R2</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="92"/> + <source>R3</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="94"/> + <source>Circle</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="96"/> + <source>Cross</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="98"/> + <source>Square</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="100"/> + <source>Triangle</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="102"/> + <source>Share</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="104"/> + <source>Options</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="106"/> + <source>[undefined]</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="140"/> + <source>%1%2</source> + <translation>%1%2</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="142"/> - <source>Motion %1</source> - <translation>Mouvement %1</translation> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="144"/> + <source>[invalid]</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="154"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="178"/> + <source>%1%2Hat %3</source> + <translation type="unfinished"/> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="166"/> - <source>%1Button %2</source> - <translation>%1Bouton %2</translation> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="158"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="181"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="184"/> + <source>%1%2Axis %3</source> + <translation type="unfinished"/> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="170"/> - <source>SDL Motion</source> - <translation>SDL Motion</translation> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="164"/> + <source>%1%2Axis %3,%4,%5</source> + <translation type="unfinished"/> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="180"/> - <source>%1Click %2</source> - <translation>%1Clic %2</translation> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="168"/> + <source>%1%2Motion %3</source> + <translation type="unfinished"/> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="205"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="172"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="187"/> + <source>%1%2Button %3</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="214"/> <source>[unused]</source> <translation>[inutilisé]</translation> </message> @@ -5364,7 +5598,7 @@ p, li { white-space: pre-wrap; } <location filename="../../src/yuzu/applets/qt_controller.ui" line="1656"/> <location filename="../../src/yuzu/applets/qt_controller.ui" line="1857"/> <location filename="../../src/yuzu/applets/qt_controller.ui" line="2054"/> - <location filename="../../src/yuzu/applets/qt_controller.cpp" line="419"/> + <location filename="../../src/yuzu/applets/qt_controller.cpp" line="411"/> <source>Pro Controller</source> <translation>Pro Controller</translation> </message> @@ -5377,7 +5611,7 @@ p, li { white-space: pre-wrap; } <location filename="../../src/yuzu/applets/qt_controller.ui" line="1661"/> <location filename="../../src/yuzu/applets/qt_controller.ui" line="1862"/> <location filename="../../src/yuzu/applets/qt_controller.ui" line="2059"/> - <location filename="../../src/yuzu/applets/qt_controller.cpp" line="423"/> + <location filename="../../src/yuzu/applets/qt_controller.cpp" line="415"/> <source>Dual Joycons</source> <translation>Deux Joycons</translation> </message> @@ -5390,7 +5624,7 @@ p, li { white-space: pre-wrap; } <location filename="../../src/yuzu/applets/qt_controller.ui" line="1666"/> <location filename="../../src/yuzu/applets/qt_controller.ui" line="1867"/> <location filename="../../src/yuzu/applets/qt_controller.ui" line="2064"/> - <location filename="../../src/yuzu/applets/qt_controller.cpp" line="427"/> + <location filename="../../src/yuzu/applets/qt_controller.cpp" line="419"/> <source>Left Joycon</source> <translation>Joycon gauche</translation> </message> @@ -5403,7 +5637,7 @@ p, li { white-space: pre-wrap; } <location filename="../../src/yuzu/applets/qt_controller.ui" line="1671"/> <location filename="../../src/yuzu/applets/qt_controller.ui" line="1872"/> <location filename="../../src/yuzu/applets/qt_controller.ui" line="2069"/> - <location filename="../../src/yuzu/applets/qt_controller.cpp" line="431"/> + <location filename="../../src/yuzu/applets/qt_controller.cpp" line="423"/> <source>Right Joycon</source> <translation>Joycon droit</translation> </message> @@ -5431,7 +5665,7 @@ p, li { white-space: pre-wrap; } </message> <message> <location filename="../../src/yuzu/applets/qt_controller.ui" line="932"/> - <location filename="../../src/yuzu/applets/qt_controller.cpp" line="436"/> + <location filename="../../src/yuzu/applets/qt_controller.cpp" line="428"/> <source>Handheld</source> <translation>Portable</translation> </message> @@ -5552,7 +5786,7 @@ p, li { white-space: pre-wrap; } <translation>8</translation> </message> <message> - <location filename="../../src/yuzu/applets/qt_controller.cpp" line="441"/> + <location filename="../../src/yuzu/applets/qt_controller.cpp" line="433"/> <source>GameCube Controller</source> <translation>Manette GameCube</translation> </message> @@ -5646,13 +5880,13 @@ p, li { white-space: pre-wrap; } <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></translation> </message> <message> - <location filename="../../src/yuzu/applets/qt_software_keyboard.cpp" line="396"/> - <location filename="../../src/yuzu/applets/qt_software_keyboard.cpp" line="406"/> + <location filename="../../src/yuzu/applets/qt_software_keyboard.cpp" line="399"/> + <location filename="../../src/yuzu/applets/qt_software_keyboard.cpp" line="409"/> <source>OK</source> <translation>OK</translation> </message> <message> - <location filename="../../src/yuzu/applets/qt_software_keyboard.cpp" line="406"/> + <location filename="../../src/yuzu/applets/qt_software_keyboard.cpp" line="409"/> <source>Cancel</source> <translation>Annuler</translation> </message> diff --git a/dist/languages/it.ts b/dist/languages/it.ts index 9934199c7..7511099b1 100644 --- a/dist/languages/it.ts +++ b/dist/languages/it.ts @@ -378,7 +378,7 @@ p, li { white-space: pre-wrap; } <message> <location filename="../../src/yuzu/configuration/configure_cpu_debug.ui" line="31"/> <source><html><head/><body><p><span style=" font-weight:600;">For debugging only.</span><br/>If you're not sure what these do, keep all of these enabled. <br/>These settings, when disabled, only take effect when CPU Debugging is enabled. </p></body></html></source> - <translation type="unfinished"/> + <translation><html><head/><body><p><span style=" font-weight:600;">Solo durante il debug.</span><br/>Se non sei sicuro su cosa facciano queste opzioni, lasciale tutte attive.<br/>Queste opzioni avranno effetto solo se la modalità di Debug della CPU è attiva</p></body></html></translation> </message> <message> <location filename="../../src/yuzu/configuration/configure_cpu_debug.ui" line="41"/> @@ -654,7 +654,12 @@ p, li { white-space: pre-wrap; } <translation type="unfinished"/> </message> <message> - <location filename="../../src/yuzu/configuration/configure_debug.ui" line="212"/> + <location filename="../../src/yuzu/configuration/configure_debug.ui" line="204"/> + <source>Enable all Controller Types</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_debug.ui" line="219"/> <source>**This will be reset automatically when yuzu closes.</source> <translation type="unfinished"/> </message> @@ -934,67 +939,78 @@ p, li { white-space: pre-wrap; } <translation>Generale</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_general.ui" line="35"/> - <source>Framerate Cap</source> + <location filename="../../src/yuzu/configuration/configure_general.ui" line="50"/> + <location filename="../../src/yuzu/configuration/configure_general.ui" line="57"/> + <source>Use global framerate cap</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_general.ui" line="62"/> + <source>Set framerate cap:</source> <translation type="unfinished"/> </message> <message> - <location filename="../../src/yuzu/configuration/configure_general.ui" line="38"/> + <location filename="../../src/yuzu/configuration/configure_general.ui" line="70"/> <source>Requires the use of the FPS Limiter Toggle hotkey to take effect.</source> <translation type="unfinished"/> </message> <message> - <location filename="../../src/yuzu/configuration/configure_general.ui" line="45"/> + <location filename="../../src/yuzu/configuration/configure_general.ui" line="73"/> + <source>Framerate Cap</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_general.ui" line="95"/> <source>x</source> <translation type="unfinished"/> </message> <message> - <location filename="../../src/yuzu/configuration/configure_general.ui" line="65"/> + <location filename="../../src/yuzu/configuration/configure_general.ui" line="116"/> <source>Limit Speed Percent</source> <translation>Percentuale Limite Velocità</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_general.ui" line="72"/> + <location filename="../../src/yuzu/configuration/configure_general.ui" line="123"/> <source>%</source> <translation>%</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_general.ui" line="90"/> + <location filename="../../src/yuzu/configuration/configure_general.ui" line="141"/> <source>Multicore CPU Emulation</source> <translation>Emulazione CPU Multicore</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_general.ui" line="97"/> + <location filename="../../src/yuzu/configuration/configure_general.ui" line="148"/> <source>Confirm exit while emulation is running</source> <translation>Richiedi conferma di uscire mentre l'emulazione è in corso</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_general.ui" line="104"/> + <location filename="../../src/yuzu/configuration/configure_general.ui" line="155"/> <source>Prompt for user on game boot</source> <translation>Richiedi utente all'avvio di un gioco</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_general.ui" line="111"/> + <location filename="../../src/yuzu/configuration/configure_general.ui" line="162"/> <source>Pause emulation when in background</source> <translation>Pausa emulazione quando in background</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_general.ui" line="118"/> + <location filename="../../src/yuzu/configuration/configure_general.ui" line="169"/> <source>Hide mouse on inactivity</source> <translation>Nascondi il puntatore del mouse se inattivo</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_general.ui" line="160"/> + <location filename="../../src/yuzu/configuration/configure_general.ui" line="211"/> <source>Reset All Settings</source> <translation>Resetta tutte le impostazioni</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_general.cpp" line="70"/> + <location filename="../../src/yuzu/configuration/configure_general.cpp" line="78"/> <source>yuzu</source> <translation>yuzu</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_general.cpp" line="71"/> + <location filename="../../src/yuzu/configuration/configure_general.cpp" line="79"/> <source>This reset all settings and remove all per-game configurations. This will not delete game directories, profiles, or input profiles. Proceed?</source> <translation>Questo resetta tutte le impostazioni e rimuove tutte le configurazioni per gioco. Questo, non cancellerà le cartelle di gioco, i profili o i profili di input. Vuoi Procedere ?</translation> </message> @@ -1112,18 +1128,113 @@ p, li { white-space: pre-wrap; } <translation>Allunga a finestra</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_graphics.ui" line="339"/> - <location filename="../../src/yuzu/configuration/configure_graphics.ui" line="349"/> + <location filename="../../src/yuzu/configuration/configure_graphics.ui" line="330"/> + <source>Resolution:</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_graphics.ui" line="338"/> + <source>0.5X (360p/540p) [EXPERIMENTAL]</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_graphics.ui" line="343"/> + <source>0.75X (540p/810p) [EXPERIMENTAL]</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_graphics.ui" line="348"/> + <source>1X (720p/1080p)</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_graphics.ui" line="353"/> + <source>2X (1440p/2160p)</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_graphics.ui" line="358"/> + <source>3X (2160p/3240p)</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_graphics.ui" line="363"/> + <source>4X (2880p/4320p)</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_graphics.ui" line="368"/> + <source>5X (3600p/5400p)</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_graphics.ui" line="373"/> + <source>6X (4320p/6480p)</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_graphics.ui" line="399"/> + <source>Window Adapting Filter:</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_graphics.ui" line="407"/> + <source>Nearest Neighbor</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_graphics.ui" line="412"/> + <source>Bilinear</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_graphics.ui" line="417"/> + <source>Bicubic</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_graphics.ui" line="422"/> + <source>Gaussian</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_graphics.ui" line="427"/> + <source>ScaleForce</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_graphics.ui" line="432"/> + <source>AMD FidelityFX™️ Super Resolution [Vulkan Only]</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_graphics.ui" line="458"/> + <source>Anti-Aliasing Method:</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_graphics.ui" line="466"/> + <source>None</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_graphics.ui" line="471"/> + <source>FXAA</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_graphics.ui" line="506"/> + <location filename="../../src/yuzu/configuration/configure_graphics.ui" line="516"/> <source>Use global background color</source> <translation>Usa il colore di sfondo globale</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_graphics.ui" line="354"/> + <location filename="../../src/yuzu/configuration/configure_graphics.ui" line="521"/> <source>Set background color:</source> <translation>Imposta colore dello sfondo:</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_graphics.ui" line="362"/> + <location filename="../../src/yuzu/configuration/configure_graphics.ui" line="529"/> <source>Background Color:</source> <translation>Colore Sfondo:</translation> </message> @@ -1192,27 +1303,32 @@ p, li { white-space: pre-wrap; } </message> <message> <location filename="../../src/yuzu/configuration/configure_graphics_advanced.ui" line="128"/> - <source>Default</source> - <translation>Predefinito</translation> + <source>Automatic</source> + <translation type="unfinished"/> </message> <message> <location filename="../../src/yuzu/configuration/configure_graphics_advanced.ui" line="133"/> - <source>2x (WILL BREAK THINGS)</source> - <translation type="unfinished"/> + <source>Default</source> + <translation>Predefinito</translation> </message> <message> <location filename="../../src/yuzu/configuration/configure_graphics_advanced.ui" line="138"/> - <source>4x (WILL BREAK THINGS)</source> + <source>2x</source> <translation type="unfinished"/> </message> <message> <location filename="../../src/yuzu/configuration/configure_graphics_advanced.ui" line="143"/> - <source>8x (WILL BREAK THINGS)</source> + <source>4x</source> <translation type="unfinished"/> </message> <message> <location filename="../../src/yuzu/configuration/configure_graphics_advanced.ui" line="148"/> - <source>16x (WILL BREAK THINGS)</source> + <source>8x</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_graphics_advanced.ui" line="153"/> + <source>16x</source> <translation type="unfinished"/> </message> </context> @@ -1540,8 +1656,8 @@ p, li { white-space: pre-wrap; } </message> <message> <location filename="../../src/yuzu/configuration/configure_input_advanced.ui" line="2533"/> - <source>Other</source> - <translation>Altro</translation> + <source>Emulated Devices</source> + <translation type="unfinished"/> </message> <message> <location filename="../../src/yuzu/configuration/configure_input_advanced.ui" line="2545"/> @@ -1550,499 +1666,524 @@ p, li { white-space: pre-wrap; } </message> <message> <location filename="../../src/yuzu/configuration/configure_input_advanced.ui" line="2558"/> - <source>Emulate Analog with Keyboard Input</source> - <translation>Emula le levette analogiche con la tastiera</translation> - </message> - <message> - <location filename="../../src/yuzu/configuration/configure_input_advanced.ui" line="2571"/> - <source>Enable mouse panning</source> - <translation>Abilita mouse panning</translation> - </message> - <message> - <location filename="../../src/yuzu/configuration/configure_input_advanced.ui" line="2578"/> - <source>Mouse sensitivity</source> - <translation>Sensibilità del mouse</translation> - </message> - <message> - <location filename="../../src/yuzu/configuration/configure_input_advanced.ui" line="2584"/> - <source>%</source> - <translation type="unfinished"/> - </message> - <message> - <location filename="../../src/yuzu/configuration/configure_input_advanced.ui" line="2600"/> - <location filename="../../src/yuzu/configuration/configure_input_advanced.ui" line="2623"/> - <source>Advanced</source> - <translation>Avanzate</translation> + <source>Mouse</source> + <translation>Mouse</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_advanced.ui" line="2630"/> + <location filename="../../src/yuzu/configuration/configure_input_advanced.ui" line="2565"/> <source>Touchscreen</source> <translation>Touchscreen</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_advanced.ui" line="2643"/> - <source>Mouse</source> - <translation>Mouse</translation> + <location filename="../../src/yuzu/configuration/configure_input_advanced.ui" line="2588"/> + <source>Advanced</source> + <translation>Avanzate</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_advanced.ui" line="2650"/> - <source>Motion / Touch</source> - <translation>Movimento/tocco</translation> + <location filename="../../src/yuzu/configuration/configure_input_advanced.ui" line="2595"/> + <source>Debug Controller</source> + <translation>Debug Controller</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_advanced.ui" line="2657"/> - <location filename="../../src/yuzu/configuration/configure_input_advanced.ui" line="2671"/> + <location filename="../../src/yuzu/configuration/configure_input_advanced.ui" line="2602"/> + <location filename="../../src/yuzu/configuration/configure_input_advanced.ui" line="2702"/> <source>Configure</source> <translation>Configura</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_advanced.ui" line="2664"/> - <source>Debug Controller</source> - <translation>Debug Controller</translation> + <location filename="../../src/yuzu/configuration/configure_input_advanced.ui" line="2612"/> + <source>Other</source> + <translation>Altro</translation> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_input_advanced.ui" line="2624"/> + <source>Emulate Analog with Keyboard Input</source> + <translation>Emula le levette analogiche con la tastiera</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_advanced.ui" line="2678"/> + <location filename="../../src/yuzu/configuration/configure_input_advanced.ui" line="2631"/> <source>Requires restarting yuzu</source> <translation type="unfinished"/> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_advanced.ui" line="2687"/> + <location filename="../../src/yuzu/configuration/configure_input_advanced.ui" line="2640"/> <source>Enable XInput 8 player support (disables web applet)</source> <translation type="unfinished"/> </message> -</context> -<context> - <name>ConfigureInputPlayer</name> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="14"/> - <source>Configure Input</source> - <translation>Configura Input</translation> + <location filename="../../src/yuzu/configuration/configure_input_advanced.ui" line="2653"/> + <source>Enable UDP controllers (not needed for motion)</source> + <translation type="unfinished"/> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="63"/> - <source>Connect Controller</source> - <translation>Controller connesso</translation> + <location filename="../../src/yuzu/configuration/configure_input_advanced.ui" line="2666"/> + <source>Enable mouse panning</source> + <translation>Abilita mouse panning</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="94"/> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="535"/> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="986"/> - <source>Pro Controller</source> - <translation>Pro Controller</translation> + <location filename="../../src/yuzu/configuration/configure_input_advanced.ui" line="2673"/> + <source>Mouse sensitivity</source> + <translation>Sensibilità del mouse</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="99"/> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="992"/> - <source>Dual Joycons</source> - <translation>Due Joycon</translation> + <location filename="../../src/yuzu/configuration/configure_input_advanced.ui" line="2679"/> + <source>%</source> + <translation type="unfinished"/> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="104"/> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="998"/> - <source>Left Joycon</source> - <translation>Joycon sinistro</translation> + <location filename="../../src/yuzu/configuration/configure_input_advanced.ui" line="2695"/> + <source>Motion / Touch</source> + <translation>Movimento/tocco</translation> </message> +</context> +<context> + <name>ConfigureInputPlayer</name> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="109"/> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="1004"/> - <source>Right Joycon</source> - <translation>Joycon destro</translation> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="14"/> + <source>Configure Input</source> + <translation>Configura Input</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="114"/> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="1010"/> - <source>Handheld</source> - <translation>Portatile</translation> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="63"/> + <source>Connect Controller</source> + <translation>Controller connesso</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="125"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="100"/> <source>Input Device</source> <translation>Dispositivo input</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="153"/> - <source>Any</source> - <translation>Qualsiasi</translation> - </message> - <message> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="158"/> - <source>Keyboard/Mouse</source> - <translation>Tastiera/mouse</translation> - </message> - <message> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="194"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="156"/> <source>Profile</source> <translation>Profilo</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="234"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="196"/> <source>Save</source> <translation>Salva</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="250"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="212"/> <source>New</source> <translation>Nuovo</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="266"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="228"/> <source>Delete</source> <translation>Elimina</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="329"/> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="1267"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="291"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="1190"/> <source>Left Stick</source> <translation>Stick Sinistro</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="387"/> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="429"/> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="963"/> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="1002"/> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="2621"/> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="2660"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="349"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="391"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="925"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="964"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="2583"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="2622"/> <source>Up</source> <translation>Su</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="460"/> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="499"/> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="1033"/> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="1072"/> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="2107"/> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="2691"/> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="2730"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="422"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="461"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="995"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="1034"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="2069"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="2653"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="2692"/> <source>Left</source> <translation>Sinistra</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="509"/> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="548"/> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="1082"/> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="1121"/> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="2156"/> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="2740"/> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="2779"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="471"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="510"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="1044"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="1083"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="2118"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="2702"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="2741"/> <source>Right</source> <translation>Destra</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="591"/> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="630"/> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="1164"/> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="1203"/> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="2822"/> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="2861"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="553"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="592"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="1126"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="1165"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="2784"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="2823"/> <source>Down</source> <translation>Giù</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="661"/> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="700"/> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="2892"/> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="2931"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="623"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="662"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="2854"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="2893"/> <source>Pressed</source> <translation>Premuto</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="710"/> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="749"/> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="2941"/> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="2980"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="672"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="711"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="2903"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="2942"/> <source>Modifier</source> <translation>Modificatore</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="759"/> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="2990"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="721"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="2952"/> <source>Range</source> <translation>Raggio</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="792"/> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="3023"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="754"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="2985"/> <source>%</source> <translation>%</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="835"/> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="3063"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="797"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="3025"/> <source>Deadzone: 0%</source> <translation>Zona morta: 0%</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="859"/> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="3087"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="821"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="3049"/> <source>Modifier Range: 0%</source> <translation>Modifica raggio: 0%</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="905"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="867"/> <source>D-Pad</source> <translation>D-Pad</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="1289"/> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="1328"/> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="1272"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="1251"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="1290"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="1195"/> <source>L</source> <translation>L</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="1344"/> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="1383"/> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="1264"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="1306"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="1345"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="1187"/> <source>ZL</source> <translation>ZL</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="1464"/> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="1503"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="1426"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="1465"/> <source>Minus</source> <translation>Meno</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="1513"/> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="1552"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="1475"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="1514"/> <source>Capture</source> <translation>Cattura</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="1583"/> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="1622"/> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="1263"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="1545"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="1584"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="1186"/> <source>Plus</source> <translation>Più</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="1632"/> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="1671"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="1594"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="1633"/> <source>Home</source> <translation>Home</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="1736"/> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="1775"/> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="1266"/> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="1273"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="1698"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="1737"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="1189"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="1196"/> <source>R</source> <translation>R</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="1791"/> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="1830"/> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="1265"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="1753"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="1792"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="1188"/> <source>ZR</source> <translation>ZR</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="1911"/> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="1950"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="1873"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="1912"/> <source>SL</source> <translation>SL</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="1960"/> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="1999"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="1922"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="1961"/> <source>SR</source> <translation>SR</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="2068"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="2030"/> <source>Motion 1</source> <translation>Movimento 1</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="2117"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="2079"/> <source>Motion 2</source> <translation>Movimento 2</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="2208"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="2170"/> <source>Face Buttons</source> <translation>Pulsanti Frontali</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="2266"/> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="2305"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="2228"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="2267"/> <source>X</source> <translation>X</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="2336"/> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="2375"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="2298"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="2337"/> <source>Y</source> <translation>Y</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="2385"/> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="2424"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="2347"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="2386"/> <source>A</source> <translation>A</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="2467"/> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="2506"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="2429"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="2468"/> <source>B</source> <translation>B</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="2554"/> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="1268"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="2516"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="1191"/> <source>Right Stick</source> <translation>Stick Destro</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="322"/> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="372"/> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="430"/> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="474"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="330"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="396"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="461"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="507"/> <source>Clear</source> <translation>Cancella</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="324"/> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="374"/> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="432"/> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="476"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="332"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="398"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="463"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="509"/> <source>[not set]</source> <translation>[non impostato]</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="327"/> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="478"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="335"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="512"/> <source>Toggle button</source> <translation>Premi il bottone</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="335"/> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="339"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="341"/> + <source>Invert button</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="349"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="465"/> + <source>Invert axis</source> + <translation>Inverti assi</translation> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="355"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="359"/> <source>Set threshold</source> <translation type="unfinished"/> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="339"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="359"/> <source>Choose a value between 0% and 100%</source> <translation type="unfinished"/> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="406"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="436"/> <source>Map Analog Stick</source> <translation>Mappa la levetta analogica</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="407"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="437"/> <source>After pressing OK, first move your joystick horizontally, and then vertically. To invert the axes, first move your joystick vertically, and then horizontally.</source> <translation>Dopo aver premuto OK, prima muovi la levetta orizzontalmente, e poi verticalmente. Per invertire gli assi, prima muovi la levetta verticalmente, e poi orizzontalmente.</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="434"/> - <source>Invert axis</source> - <translation>Inverti assi</translation> - </message> - <message> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="500"/> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="952"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="537"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="891"/> <source>Deadzone: %1%</source> <translation>Zona morta: %1%</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="508"/> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="963"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="546"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="896"/> <source>Modifier Range: %1%</source> <translation>Modifica raggio: %1%</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="1016"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="572"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="918"/> + <source>Pro Controller</source> + <translation>Pro Controller</translation> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="924"/> + <source>Dual Joycons</source> + <translation>Due Joycon</translation> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="930"/> + <source>Left Joycon</source> + <translation>Joycon sinistro</translation> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="936"/> + <source>Right Joycon</source> + <translation>Joycon destro</translation> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="942"/> + <source>Handheld</source> + <translation>Portatile</translation> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="948"/> <source>GameCube Controller</source> <translation>Controller GameCube</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="1271"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="958"/> + <source>Poke Ball Plus</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="964"/> + <source>NES Controller</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="970"/> + <source>SNES Controller</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="976"/> + <source>N64 Controller</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="982"/> + <source>Sega Genesis</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="1194"/> <source>Start / Pause</source> <translation>Inizia / Interrompi</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="1274"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="1197"/> <source>Z</source> <translation>Z</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="1275"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="1198"/> <source>Control Stick</source> <translation>Levetta di Controllo</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="1276"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="1199"/> <source>C-Stick</source> <translation>Levetta C</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="1335"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="1297"/> <source>Shake!</source> <translation>Scuoti!</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="1337"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="1299"/> <source>[waiting]</source> <translation>[in attesa]</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="1462"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="1381"/> <source>New Profile</source> <translation>Nuovo Profilo</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="1462"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="1381"/> <source>Enter a profile name:</source> <translation>Inserisci un nome profilo:</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="1470"/> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="1478"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="1389"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="1397"/> <source>Create Input Profile</source> <translation>Crea un profilo di Input</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="1471"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="1390"/> <source>The given profile name is not valid!</source> <translation>Il nome profilo dato non è valido!</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="1479"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="1398"/> <source>Failed to create the input profile "%1"</source> <translation>Impossibile creare il profilo di input "%1"</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="1499"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="1418"/> <source>Delete Input Profile</source> <translation>Elimina un profilo di Input</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="1500"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="1419"/> <source>Failed to delete the input profile "%1"</source> <translation>Impossibile eliminare il profilo di input "%1"</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="1522"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="1441"/> <source>Load Input Profile</source> <translation>Carica un profilo di Input</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="1523"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="1442"/> <source>Failed to load the input profile "%1"</source> <translation>Impossibile caricare il profilo di input "%1"</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="1542"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="1461"/> <source>Save Input Profile</source> <translation>Salva un profilo di Input</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="1543"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="1462"/> <source>Failed to save the input profile "%1"</source> <translation>Impossibile creare il profilo di input "%1"</translation> </message> @@ -2068,85 +2209,75 @@ Per invertire gli assi, prima muovi la levetta verticalmente, e poi orizzontalme <context> <name>ConfigureMotionTouch</name> <message> - <location filename="../../src/yuzu/configuration/configure_motion_touch.ui" line="14"/> + <location filename="../../src/yuzu/configuration/configure_motion_touch.ui" line="6"/> <source>Configure Motion / Touch</source> <translation>Configura movimento/tocco</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_motion_touch.ui" line="23"/> - <source>Mouse Motion</source> - <translation>Movimento del mouse</translation> - </message> - <message> - <location filename="../../src/yuzu/configuration/configure_motion_touch.ui" line="31"/> - <source>Sensitivity:</source> - <translation>Sensibilità:</translation> - </message> - <message> - <location filename="../../src/yuzu/configuration/configure_motion_touch.ui" line="65"/> + <location filename="../../src/yuzu/configuration/configure_motion_touch.ui" line="15"/> <source>Touch</source> <translation>Touch</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_motion_touch.ui" line="73"/> + <location filename="../../src/yuzu/configuration/configure_motion_touch.ui" line="23"/> <source>UDP Calibration:</source> <translation>Calibrazione UDP:</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_motion_touch.ui" line="80"/> + <location filename="../../src/yuzu/configuration/configure_motion_touch.ui" line="30"/> <source>(100, 50) - (1800, 850)</source> <translation>(100, 50) - (1800, 850)</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_motion_touch.ui" line="96"/> - <location filename="../../src/yuzu/configuration/configure_motion_touch.ui" line="129"/> - <location filename="../../src/yuzu/configuration/configure_motion_touch.cpp" line="250"/> + <location filename="../../src/yuzu/configuration/configure_motion_touch.ui" line="46"/> + <location filename="../../src/yuzu/configuration/configure_motion_touch.ui" line="73"/> + <location filename="../../src/yuzu/configuration/configure_motion_touch.cpp" line="245"/> <source>Configure</source> <translation>Configura</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_motion_touch.ui" line="113"/> - <source>Use button mapping:</source> - <translation>Usa mappatura pulsanti</translation> + <location filename="../../src/yuzu/configuration/configure_motion_touch.ui" line="57"/> + <source>Touch from button profile:</source> + <translation type="unfinished"/> </message> <message> - <location filename="../../src/yuzu/configuration/configure_motion_touch.ui" line="141"/> + <location filename="../../src/yuzu/configuration/configure_motion_touch.ui" line="85"/> <source>CemuhookUDP Config</source> <translation>Configurazione CemuhookUDP</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_motion_touch.ui" line="147"/> + <location filename="../../src/yuzu/configuration/configure_motion_touch.ui" line="91"/> <source>You may use any Cemuhook compatible UDP input source to provide motion and touch input.</source> <translation>Dovresti utilizzare qualsiasi sorgente di ingresso UDP compatibile con Cemuhook per fornire input di movimento e tocco.</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_motion_touch.ui" line="190"/> + <location filename="../../src/yuzu/configuration/configure_motion_touch.ui" line="134"/> <source>Server:</source> <translation>Server:</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_motion_touch.ui" line="217"/> + <location filename="../../src/yuzu/configuration/configure_motion_touch.ui" line="161"/> <source>Port:</source> <translation>Porta:</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_motion_touch.ui" line="244"/> + <location filename="../../src/yuzu/configuration/configure_motion_touch.ui" line="188"/> <source>Learn More</source> <translation>Per saperne di più</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_motion_touch.ui" line="257"/> - <location filename="../../src/yuzu/configuration/configure_motion_touch.cpp" line="273"/> + <location filename="../../src/yuzu/configuration/configure_motion_touch.ui" line="201"/> + <location filename="../../src/yuzu/configuration/configure_motion_touch.cpp" line="268"/> <source>Test</source> <translation>Test</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_motion_touch.ui" line="270"/> + <location filename="../../src/yuzu/configuration/configure_motion_touch.ui" line="214"/> <source>Add Server</source> <translation>Aggiungi un Server</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_motion_touch.ui" line="303"/> + <location filename="../../src/yuzu/configuration/configure_motion_touch.ui" line="247"/> <source>Remove Server</source> <translation>Rimuovi un Server</translation> </message> @@ -2156,146 +2287,82 @@ Per invertire gli assi, prima muovi la levetta verticalmente, e poi orizzontalme <translation><a href='https://yuzu-emu.org/wiki/using-a-controller-or-android-phone-for-motion-or-touch-input'><span style="text-decoration: underline; color:#039be5;">Per saperne di più</span></a></translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_motion_touch.cpp" line="176"/> + <location filename="../../src/yuzu/configuration/configure_motion_touch.cpp" line="171"/> <source>%1:%2</source> <translation>%1:%2</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_motion_touch.cpp" line="181"/> - <location filename="../../src/yuzu/configuration/configure_motion_touch.cpp" line="185"/> - <location filename="../../src/yuzu/configuration/configure_motion_touch.cpp" line="189"/> - <location filename="../../src/yuzu/configuration/configure_motion_touch.cpp" line="195"/> - <location filename="../../src/yuzu/configuration/configure_motion_touch.cpp" line="201"/> - <location filename="../../src/yuzu/configuration/configure_motion_touch.cpp" line="295"/> + <location filename="../../src/yuzu/configuration/configure_motion_touch.cpp" line="176"/> + <location filename="../../src/yuzu/configuration/configure_motion_touch.cpp" line="180"/> + <location filename="../../src/yuzu/configuration/configure_motion_touch.cpp" line="184"/> + <location filename="../../src/yuzu/configuration/configure_motion_touch.cpp" line="190"/> + <location filename="../../src/yuzu/configuration/configure_motion_touch.cpp" line="196"/> + <location filename="../../src/yuzu/configuration/configure_motion_touch.cpp" line="290"/> <source>yuzu</source> <translation>yuzu</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_motion_touch.cpp" line="181"/> + <location filename="../../src/yuzu/configuration/configure_motion_touch.cpp" line="176"/> <source>Port number has invalid characters</source> <translation>Il numero di porta ha caratteri non validi</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_motion_touch.cpp" line="185"/> + <location filename="../../src/yuzu/configuration/configure_motion_touch.cpp" line="180"/> <source>Port has to be in range 0 and 65353</source> <translation>La valore della porta deve essere compreso tra 0 e 65353 inclusi</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_motion_touch.cpp" line="189"/> + <location filename="../../src/yuzu/configuration/configure_motion_touch.cpp" line="184"/> <source>IP address is not valid</source> <translation>Indirizzo IP non valido</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_motion_touch.cpp" line="195"/> + <location filename="../../src/yuzu/configuration/configure_motion_touch.cpp" line="190"/> <source>This UDP server already exists</source> <translation>Questo server UDP esiste già</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_motion_touch.cpp" line="201"/> + <location filename="../../src/yuzu/configuration/configure_motion_touch.cpp" line="196"/> <source>Unable to add more than 8 servers</source> <translation>Impossibile aggiungere più di 8 server</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_motion_touch.cpp" line="217"/> + <location filename="../../src/yuzu/configuration/configure_motion_touch.cpp" line="212"/> <source>Testing</source> <translation>Testando</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_motion_touch.cpp" line="233"/> + <location filename="../../src/yuzu/configuration/configure_motion_touch.cpp" line="228"/> <source>Configuring</source> <translation>Configurando</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_motion_touch.cpp" line="264"/> + <location filename="../../src/yuzu/configuration/configure_motion_touch.cpp" line="259"/> <source>Test Successful</source> <translation>Test riuscito</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_motion_touch.cpp" line="265"/> + <location filename="../../src/yuzu/configuration/configure_motion_touch.cpp" line="260"/> <source>Successfully received data from the server.</source> <translation>Ricevuti con successo dati dal server.</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_motion_touch.cpp" line="267"/> + <location filename="../../src/yuzu/configuration/configure_motion_touch.cpp" line="262"/> <source>Test Failed</source> <translation>Test fallito</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_motion_touch.cpp" line="268"/> + <location filename="../../src/yuzu/configuration/configure_motion_touch.cpp" line="263"/> <source>Could not receive valid data from the server.<br>Please verify that the server is set up correctly and the address and port are correct.</source> <translation>Impossibile ricevere dati validi dal server.<br> Verificare che il server sia impostato correttamente e che indirizzo e porta siano corretti.</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_motion_touch.cpp" line="296"/> + <location filename="../../src/yuzu/configuration/configure_motion_touch.cpp" line="291"/> <source>UDP Test or calibration configuration is in progress.<br>Please wait for them to finish.</source> <translation>È in corso il test UDP o la configurazione della calibrazione,<br> attendere che finiscano.</translation> </message> </context> <context> - <name>ConfigureMouseAdvanced</name> - <message> - <location filename="../../src/yuzu/configuration/configure_mouse_advanced.ui" line="14"/> - <source>Configure Mouse</source> - <translation>Configura Mouse</translation> - </message> - <message> - <location filename="../../src/yuzu/configuration/configure_mouse_advanced.ui" line="25"/> - <source>Mouse Buttons</source> - <translation>Pulsanti Mouse</translation> - </message> - <message> - <location filename="../../src/yuzu/configuration/configure_mouse_advanced.ui" line="35"/> - <source>Forward:</source> - <translation>Avanti:</translation> - </message> - <message> - <location filename="../../src/yuzu/configuration/configure_mouse_advanced.ui" line="75"/> - <source>Back:</source> - <translation>Indietro:</translation> - </message> - <message> - <location filename="../../src/yuzu/configuration/configure_mouse_advanced.ui" line="103"/> - <source>Left:</source> - <translation>Sinistro:</translation> - </message> - <message> - <location filename="../../src/yuzu/configuration/configure_mouse_advanced.ui" line="131"/> - <source>Middle:</source> - <translation>Centrale:</translation> - </message> - <message> - <location filename="../../src/yuzu/configuration/configure_mouse_advanced.ui" line="197"/> - <source>Right:</source> - <translation>Destro:</translation> - </message> - <message> - <location filename="../../src/yuzu/configuration/configure_mouse_advanced.ui" line="270"/> - <location filename="../../src/yuzu/configuration/configure_mouse_advanced.cpp" line="109"/> - <source>Clear</source> - <translation>Cancella</translation> - </message> - <message> - <location filename="../../src/yuzu/configuration/configure_mouse_advanced.ui" line="289"/> - <source>Defaults</source> - <translation>Predefiniti</translation> - </message> - <message> - <location filename="../../src/yuzu/configuration/configure_mouse_advanced.cpp" line="111"/> - <source>[not set]</source> - <translation>[non impostato]</translation> - </message> - <message> - <location filename="../../src/yuzu/configuration/configure_mouse_advanced.cpp" line="113"/> - <source>Restore Default</source> - <translation>Ripristina Predefinito</translation> - </message> - <message> - <location filename="../../src/yuzu/configuration/configure_mouse_advanced.cpp" line="200"/> - <source>[press key]</source> - <translation>[premi un pulsante]</translation> - </message> -</context> -<context> <name>ConfigureNetwork</name> <message> <location filename="../../src/yuzu/configuration/configure_network.ui" line="14"/> @@ -3049,12 +3116,12 @@ Per invertire gli assi, prima muovi la levetta verticalmente, e poi orizzontalme <message> <location filename="../../src/yuzu/configuration/configure_tas.ui" line="11"/> <source>TAS</source> - <translation type="unfinished"/> + <translation>TAS</translation> </message> <message> <location filename="../../src/yuzu/configuration/configure_tas.ui" line="17"/> <source><html><head/><body><p>Reads controller input from scripts in the same format as TAS-nx scripts.<br/>For a more detailed explanation, please consult the <a href="https://yuzu-emu.org/help/feature/tas/"><span style=" text-decoration: underline; color:#039be5;">help page</span></a> on the yuzu website.</p></body></html></source> - <translation type="unfinished"/> + <translation><html><head/><body><p>Gli script vengono letti seguendo lo stesso formato degli script di TAS-nx.<br/>Per saperne di più, puoi consultare <a href="https://yuzu-emu.org/help/feature/tas/"><span style=" text-decoration: underline; color:#039be5;">questa pagina</span></a>sul sito di yuzu.</p></body></html></translation> </message> <message> <location filename="../../src/yuzu/configuration/configure_tas.ui" line="24"/> @@ -3064,45 +3131,40 @@ Per invertire gli assi, prima muovi la levetta verticalmente, e poi orizzontalme <message> <location filename="../../src/yuzu/configuration/configure_tas.ui" line="34"/> <source>WARNING: This is an experimental feature.<br/>It will not play back scripts frame perfectly with the current, imperfect syncing method.</source> - <translation type="unfinished"/> + <translation>IMPORTANTE: questa funzione è ancora in fase sperimentale.<br/>Gli script NON verranno riprodotti perfettamente.</translation> </message> <message> <location filename="../../src/yuzu/configuration/configure_tas.ui" line="51"/> <source>Settings</source> - <translation type="unfinished"/> + <translation>Impostazioni</translation> </message> <message> <location filename="../../src/yuzu/configuration/configure_tas.ui" line="57"/> <source>Enable TAS features</source> - <translation type="unfinished"/> + <translation>Attiva le funzioni di TASing</translation> </message> <message> <location filename="../../src/yuzu/configuration/configure_tas.ui" line="64"/> - <source>Automatic controller profile swapping</source> - <translation type="unfinished"/> - </message> - <message> - <location filename="../../src/yuzu/configuration/configure_tas.ui" line="71"/> <source>Loop script</source> <translation type="unfinished"/> </message> <message> - <location filename="../../src/yuzu/configuration/configure_tas.ui" line="81"/> + <location filename="../../src/yuzu/configuration/configure_tas.ui" line="74"/> <source>Pause execution during loads</source> <translation type="unfinished"/> </message> <message> - <location filename="../../src/yuzu/configuration/configure_tas.ui" line="95"/> + <location filename="../../src/yuzu/configuration/configure_tas.ui" line="88"/> <source>Script Directory</source> - <translation type="unfinished"/> + <translation>Cartella degli script</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_tas.ui" line="101"/> + <location filename="../../src/yuzu/configuration/configure_tas.ui" line="94"/> <source>Path</source> <translation type="unfinished"/> </message> <message> - <location filename="../../src/yuzu/configuration/configure_tas.ui" line="108"/> + <location filename="../../src/yuzu/configuration/configure_tas.ui" line="101"/> <source>...</source> <translation type="unfinished"/> </message> @@ -3115,7 +3177,7 @@ Per invertire gli assi, prima muovi la levetta verticalmente, e poi orizzontalme <translation type="unfinished"/> </message> <message> - <location filename="../../src/yuzu/configuration/configure_tas.cpp" line="53"/> + <location filename="../../src/yuzu/configuration/configure_tas.cpp" line="51"/> <source>Select TAS Load Directory...</source> <translation type="unfinished"/> </message> @@ -3177,37 +3239,37 @@ Trascina i punti per cambiare posizione, oppure clicca due volte la cella in tab <translation>Y</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_touch_from_button.cpp" line="200"/> + <location filename="../../src/yuzu/configuration/configure_touch_from_button.cpp" line="197"/> <source>New Profile</source> <translation>Nuovo Profilo</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_touch_from_button.cpp" line="200"/> + <location filename="../../src/yuzu/configuration/configure_touch_from_button.cpp" line="197"/> <source>Enter the name for the new profile.</source> <translation>Inserisci il nome per il nuovo profilo:</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_touch_from_button.cpp" line="211"/> + <location filename="../../src/yuzu/configuration/configure_touch_from_button.cpp" line="208"/> <source>Delete Profile</source> <translation>Elimina Profilo</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_touch_from_button.cpp" line="211"/> + <location filename="../../src/yuzu/configuration/configure_touch_from_button.cpp" line="208"/> <source>Delete profile %1?</source> <translation>Elimina profilo %1?</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_touch_from_button.cpp" line="224"/> + <location filename="../../src/yuzu/configuration/configure_touch_from_button.cpp" line="221"/> <source>Rename Profile</source> <translation>Rinomina Profilo</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_touch_from_button.cpp" line="224"/> + <location filename="../../src/yuzu/configuration/configure_touch_from_button.cpp" line="221"/> <source>New name:</source> <translation>Nuovo nome:</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_touch_from_button.cpp" line="233"/> + <location filename="../../src/yuzu/configuration/configure_touch_from_button.cpp" line="230"/> <source>[press key]</source> <translation>[premi pulsante]</translation> </message> @@ -3297,7 +3359,7 @@ Trascina i punti per cambiare posizione, oppure clicca due volte la cella in tab <message> <location filename="../../src/yuzu/configuration/configure_ui.cpp" line="36"/> <source>Filename</source> - <translation type="unfinished"/> + <translation>Nome del file</translation> </message> <message> <location filename="../../src/yuzu/configuration/configure_ui.cpp" line="37"/> @@ -3307,12 +3369,12 @@ Trascina i punti per cambiare posizione, oppure clicca due volte la cella in tab <message> <location filename="../../src/yuzu/configuration/configure_ui.cpp" line="38"/> <source>Title ID</source> - <translation type="unfinished"/> + <translation>ID del gioco (Title ID)</translation> </message> <message> <location filename="../../src/yuzu/configuration/configure_ui.cpp" line="39"/> <source>Title Name</source> - <translation type="unfinished"/> + <translation>Nome del gioco</translation> </message> </context> <context> @@ -3627,12 +3689,12 @@ Trascina i punti per cambiare posizione, oppure clicca due volte la cella in tab <context> <name>ControllerDialog</name> <message> - <location filename="../../src/yuzu/debugger/controller.cpp" line="17"/> + <location filename="../../src/yuzu/debugger/controller.cpp" line="21"/> <source>Controller P1</source> <translation>Controller P1</translation> </message> <message> - <location filename="../../src/yuzu/debugger/controller.cpp" line="52"/> + <location filename="../../src/yuzu/debugger/controller.cpp" line="60"/> <source>&Controller P1</source> <translation>&Controller P1</translation> </message> @@ -3640,90 +3702,95 @@ Trascina i punti per cambiare posizione, oppure clicca due volte la cella in tab <context> <name>GMainWindow</name> <message> - <location filename="../../src/yuzu/main.cpp" line="174"/> + <location filename="../../src/yuzu/main.cpp" line="176"/> <source><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?</source> <translation><a href='https://yuzu-emu.org/help/feature/telemetry/'>Vengono raccolti dati anonimi</a> per aiutarci a migliorare yuzu. <br/><br/>Desideri condividere i tuoi dati di utilizzo con noi?</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="177"/> + <location filename="../../src/yuzu/main.cpp" line="179"/> <source>Telemetry</source> <translation>Telemetria</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="592"/> + <location filename="../../src/yuzu/main.cpp" line="600"/> <source>Loading Web Applet...</source> <translation>Caricamento Web Applet...</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="639"/> - <location filename="../../src/yuzu/main.cpp" line="642"/> + <location filename="../../src/yuzu/main.cpp" line="647"/> + <location filename="../../src/yuzu/main.cpp" line="650"/> <source>Disable Web Applet</source> <translation>Disabilita l'Applet Web</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="643"/> + <location filename="../../src/yuzu/main.cpp" line="651"/> <source>Disabling the web applet will cause it to not be shown again for the rest of the emulated session. This 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?</source> <translation>La disabilitazione dell'applet Web farà sì che non venga più mostrata per il resto della sessione emulata. Questo può portare a un comportamento indefinito e dovrebbe essere usato solo con Super Mario 3D All-Stars. Sei sicuro di voler disabilitare l'applet web?</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="746"/> + <location filename="../../src/yuzu/main.cpp" line="754"/> <source>The amount of shaders currently being built</source> <translation>Il numero di shaders al momento in costruzione</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="749"/> + <location filename="../../src/yuzu/main.cpp" line="756"/> + <source>The current selected resolution scaling multiplier.</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/main.cpp" line="759"/> <source>Current emulation speed. Values higher or lower than 100% indicate emulation is running faster or slower than a Switch.</source> <translation>Velocità corrente dell'emulazione. Valori più alti o più bassi di 100% indicano che l'emulazione sta funzionando più velocemente o lentamente rispetto a una Switch.</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="752"/> + <location filename="../../src/yuzu/main.cpp" line="762"/> <source>How many frames per second the game is currently displaying. This will vary from game to game and scene to scene.</source> <translation>Quanti frame al secondo il gioco mostra attualmente. Questo varia da gioco a gioco e da situazione a situazione.</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="756"/> + <location filename="../../src/yuzu/main.cpp" line="766"/> <source>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.</source> <translation>Tempo utilizzato per emulare un frame della Switch, non contando i limiti ai frame o il v-sync. Per un'emulazione alla massima velocità, il valore dev'essere al massimo 16.67 ms.</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="781"/> + <location filename="../../src/yuzu/main.cpp" line="841"/> <source>Invalid config detected</source> <translation>Trovata configurazione invalida</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="782"/> + <location filename="../../src/yuzu/main.cpp" line="842"/> <source>Handheld controller can't be used on docked mode. Pro controller will be selected.</source> <translation>Il controller Handheld non può essere utilizzato in modalità docked. Verrà selezionato il controller Pro.</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="794"/> + <location filename="../../src/yuzu/main.cpp" line="854"/> <source>DOCK</source> <translation>DOCK</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="828"/> + <location filename="../../src/yuzu/main.cpp" line="888"/> <source>VULKAN</source> <translation>VULKAN</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="828"/> + <location filename="../../src/yuzu/main.cpp" line="888"/> <source>OPENGL</source> <translation>OPENGL</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="886"/> + <location filename="../../src/yuzu/main.cpp" line="951"/> <source>&Clear Recent Files</source> <translation>&Cancella i File Recenti</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="1055"/> - <source>TAS Recording</source> - <translation type="unfinished"/> + <location filename="../../src/yuzu/main.cpp" line="1210"/> + <source>&Continue</source> + <translation>&Continua</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="1056"/> - <source>Overwrite file of player 1?</source> + <location filename="../../src/yuzu/main.cpp" line="1212"/> + <source>&Pause</source> <translation type="unfinished"/> </message> <message> @@ -3775,658 +3842,725 @@ Per un'emulazione alla massima velocità, il valore dev'essere al mass <translation>E' stato riscontrato un errore sconosciuto. Visualizza il log per maggiori dettagli.</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="1462"/> + <location filename="../../src/yuzu/main.cpp" line="1460"/> <source>(64-bit)</source> <translation type="unfinished"/> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="1462"/> + <location filename="../../src/yuzu/main.cpp" line="1460"/> <source>(32-bit)</source> <translation type="unfinished"/> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="1463"/> + <location filename="../../src/yuzu/main.cpp" line="1461"/> <source>%1 %2</source> <comment>%1 is the title name. %2 indicates if the title is 64-bit or 32-bit</comment> <translation type="unfinished"/> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="1507"/> - <source>Start</source> - <translation>Avvia</translation> - </message> - <message> - <location filename="../../src/yuzu/main.cpp" line="1612"/> + <location filename="../../src/yuzu/main.cpp" line="1605"/> <source>Save Data</source> <translation>Dati di Salvataggio</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="1660"/> + <location filename="../../src/yuzu/main.cpp" line="1653"/> <source>Mod Data</source> <translation>Dati delle Mod</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="1672"/> + <location filename="../../src/yuzu/main.cpp" line="1665"/> <source>Error Opening %1 Folder</source> <translation>Errore nell'Apertura della Cartella %1</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="1673"/> - <location filename="../../src/yuzu/main.cpp" line="2079"/> + <location filename="../../src/yuzu/main.cpp" line="1666"/> + <location filename="../../src/yuzu/main.cpp" line="2072"/> <source>Folder does not exist!</source> <translation>La cartella non esiste!</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="1685"/> + <location filename="../../src/yuzu/main.cpp" line="1678"/> <source>Error Opening Transferable Shader Cache</source> <translation>Errore nell'Apertura della Cache Shader Trasferibile</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="1686"/> + <location filename="../../src/yuzu/main.cpp" line="1679"/> <source>Failed to create the shader cache directory for this title.</source> <translation type="unfinished"/> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="1738"/> + <location filename="../../src/yuzu/main.cpp" line="1731"/> <source>Contents</source> <translation>Contenuti</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="1740"/> + <location filename="../../src/yuzu/main.cpp" line="1733"/> <source>Update</source> <translation>Aggiorna</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="1742"/> + <location filename="../../src/yuzu/main.cpp" line="1735"/> <source>DLC</source> <translation>DLC</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="1749"/> + <location filename="../../src/yuzu/main.cpp" line="1742"/> <source>Remove Entry</source> <translation>Rimuovi voce</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="1749"/> + <location filename="../../src/yuzu/main.cpp" line="1742"/> <source>Remove Installed Game %1?</source> <translation>Rimuovere i giochi installati %1?</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="1779"/> - <location filename="../../src/yuzu/main.cpp" line="1795"/> - <location filename="../../src/yuzu/main.cpp" line="1826"/> - <location filename="../../src/yuzu/main.cpp" line="1887"/> - <location filename="../../src/yuzu/main.cpp" line="1905"/> - <location filename="../../src/yuzu/main.cpp" line="1928"/> + <location filename="../../src/yuzu/main.cpp" line="1772"/> + <location filename="../../src/yuzu/main.cpp" line="1788"/> + <location filename="../../src/yuzu/main.cpp" line="1819"/> + <location filename="../../src/yuzu/main.cpp" line="1880"/> + <location filename="../../src/yuzu/main.cpp" line="1898"/> + <location filename="../../src/yuzu/main.cpp" line="1921"/> <source>Successfully Removed</source> <translation>Rimosso con successo</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="1780"/> + <location filename="../../src/yuzu/main.cpp" line="1773"/> <source>Successfully removed the installed base game.</source> <translation>Rimosso con successo il gioco base installato</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="1783"/> - <location filename="../../src/yuzu/main.cpp" line="1798"/> - <location filename="../../src/yuzu/main.cpp" line="1821"/> + <location filename="../../src/yuzu/main.cpp" line="1776"/> + <location filename="../../src/yuzu/main.cpp" line="1791"/> + <location filename="../../src/yuzu/main.cpp" line="1814"/> <source>Error Removing %1</source> <translation>Errore durante la rimozione %1</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="1784"/> + <location filename="../../src/yuzu/main.cpp" line="1777"/> <source>The base game is not installed in the NAND and cannot be removed.</source> <translation>Il gioco base non è installato su NAND e non può essere rimosso.</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="1796"/> + <location filename="../../src/yuzu/main.cpp" line="1789"/> <source>Successfully removed the installed update.</source> <translation>Aggiornamento rimosso on successo.</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="1799"/> + <location filename="../../src/yuzu/main.cpp" line="1792"/> <source>There is no update installed for this title.</source> <translation>Non c'è alcun aggiornamento installato per questo gioco.</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="1822"/> + <location filename="../../src/yuzu/main.cpp" line="1815"/> <source>There are no DLC installed for this title.</source> <translation>Non c'è alcun DLC installato per questo gioco.</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="1827"/> + <location filename="../../src/yuzu/main.cpp" line="1820"/> <source>Successfully removed %1 installed DLC.</source> <translation>Rimossi con successo %1 DLC installati.</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="1835"/> + <location filename="../../src/yuzu/main.cpp" line="1828"/> <source>Delete OpenGL Transferable Shader Cache?</source> <translation type="unfinished"/> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="1837"/> + <location filename="../../src/yuzu/main.cpp" line="1830"/> <source>Delete Vulkan Transferable Shader Cache?</source> <translation type="unfinished"/> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="1839"/> + <location filename="../../src/yuzu/main.cpp" line="1832"/> <source>Delete All Transferable Shader Caches?</source> <translation type="unfinished"/> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="1841"/> + <location filename="../../src/yuzu/main.cpp" line="1834"/> <source>Remove Custom Game Configuration?</source> <translation>Rimuovere la configurazione personalizzata del gioco?</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="1847"/> + <location filename="../../src/yuzu/main.cpp" line="1840"/> <source>Remove File</source> <translation>Rimuovi file?</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="1882"/> - <location filename="../../src/yuzu/main.cpp" line="1890"/> + <location filename="../../src/yuzu/main.cpp" line="1875"/> + <location filename="../../src/yuzu/main.cpp" line="1883"/> <source>Error Removing Transferable Shader Cache</source> <translation>Errore rimuovendo la shader cache trasferibile.</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="1883"/> - <location filename="../../src/yuzu/main.cpp" line="1901"/> + <location filename="../../src/yuzu/main.cpp" line="1876"/> + <location filename="../../src/yuzu/main.cpp" line="1894"/> <source>A shader cache for this title does not exist.</source> <translation>Una cache di shader per questo titolo non esiste.</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="1888"/> + <location filename="../../src/yuzu/main.cpp" line="1881"/> <source>Successfully removed the transferable shader cache.</source> <translation>Rimossa con successo la shader cache trasferibile.</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="1891"/> + <location filename="../../src/yuzu/main.cpp" line="1884"/> <source>Failed to remove the transferable shader cache.</source> <translation>Impossibile rimuovere la cache dello shader trasferibile.</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="1900"/> - <location filename="../../src/yuzu/main.cpp" line="1908"/> + <location filename="../../src/yuzu/main.cpp" line="1893"/> + <location filename="../../src/yuzu/main.cpp" line="1901"/> <source>Error Removing Transferable Shader Caches</source> <translation type="unfinished"/> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="1906"/> + <location filename="../../src/yuzu/main.cpp" line="1899"/> <source>Successfully removed the transferable shader caches.</source> <translation type="unfinished"/> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="1909"/> + <location filename="../../src/yuzu/main.cpp" line="1902"/> <source>Failed to remove the transferable shader cache directory.</source> <translation type="unfinished"/> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="1922"/> - <location filename="../../src/yuzu/main.cpp" line="1931"/> + <location filename="../../src/yuzu/main.cpp" line="1915"/> + <location filename="../../src/yuzu/main.cpp" line="1924"/> <source>Error Removing Custom Configuration</source> <translation>Errore rimuovendo la configurazione personalizzata</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="1923"/> + <location filename="../../src/yuzu/main.cpp" line="1916"/> <source>A custom configuration for this title does not exist.</source> <translation>Una configurazione personalizzata per questo gioco non esiste.</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="1929"/> + <location filename="../../src/yuzu/main.cpp" line="1922"/> <source>Successfully removed the custom game configuration.</source> <translation>Rimossa con successo la configurazione personalizzata del gioco.</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="1932"/> + <location filename="../../src/yuzu/main.cpp" line="1925"/> <source>Failed to remove the custom game configuration.</source> <translation>Impossibile rimuovere la configurazione personalizzata del gioco</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="1939"/> - <location filename="../../src/yuzu/main.cpp" line="2018"/> + <location filename="../../src/yuzu/main.cpp" line="1932"/> + <location filename="../../src/yuzu/main.cpp" line="2011"/> <source>RomFS Extraction Failed!</source> <translation>Estrazione RomFS Fallita!</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="1940"/> + <location filename="../../src/yuzu/main.cpp" line="1933"/> <source>There was an error copying the RomFS files or the user cancelled the operation.</source> <translation>C'è stato un errore nella copia dei file del RomFS o l'operazione è stata annullata dall'utente.</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="1998"/> + <location filename="../../src/yuzu/main.cpp" line="1991"/> <source>Full</source> <translation>Completa</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="1998"/> + <location filename="../../src/yuzu/main.cpp" line="1991"/> <source>Skeleton</source> <translation>Scheletro.</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="2000"/> + <location filename="../../src/yuzu/main.cpp" line="1993"/> <source>Select RomFS Dump Mode</source> <translation>Seleziona Modalità Estrazione RomFS</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="2001"/> + <location filename="../../src/yuzu/main.cpp" line="1994"/> <source>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.</source> <translation>Seleziona come vorresti estrarre il RomFS. <br>Completo copierà tutti i file in una nuova cartella mentre<br>scheletro creerà solamente le cartelle e le sottocartelle.</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="2019"/> + <location filename="../../src/yuzu/main.cpp" line="2012"/> <source>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</source> <translation type="unfinished"/> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="2026"/> + <location filename="../../src/yuzu/main.cpp" line="2019"/> <source>Extracting RomFS...</source> <translation>Estrazione RomFS in corso...</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="2026"/> - <location filename="../../src/yuzu/main.cpp" line="2206"/> + <location filename="../../src/yuzu/main.cpp" line="2019"/> + <location filename="../../src/yuzu/main.cpp" line="2199"/> <source>Cancel</source> <translation>Annulla</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="2033"/> + <location filename="../../src/yuzu/main.cpp" line="2026"/> <source>RomFS Extraction Succeeded!</source> <translation>Estrazione RomFS Riuscita!</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="2034"/> + <location filename="../../src/yuzu/main.cpp" line="2027"/> <source>The operation completed successfully.</source> <translation>L'operazione è stata completata con successo.</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="2078"/> + <location filename="../../src/yuzu/main.cpp" line="2071"/> <source>Error Opening %1</source> <translation>Errore nell'Apertura di %1</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="2087"/> + <location filename="../../src/yuzu/main.cpp" line="2080"/> <source>Select Directory</source> <translation>Seleziona Cartella</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="2114"/> + <location filename="../../src/yuzu/main.cpp" line="2107"/> <source>Properties</source> <translation>Proprietà</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="2115"/> + <location filename="../../src/yuzu/main.cpp" line="2108"/> <source>The game properties could not be loaded.</source> <translation>Le proprietà del gioco non sono potute essere caricate.</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="2127"/> + <location filename="../../src/yuzu/main.cpp" line="2120"/> <source>Switch Executable (%1);;All Files (*.*)</source> <comment>%1 is an identifier for the Switch executable file extensions.</comment> <translation>Eseguibile Switch (%1);;Tutti i File (*.*)</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="2131"/> + <location filename="../../src/yuzu/main.cpp" line="2124"/> <source>Load File</source> <translation>Carica File</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="2143"/> + <location filename="../../src/yuzu/main.cpp" line="2136"/> <source>Open Extracted ROM Directory</source> <translation>Apri Cartella ROM Estratta</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="2154"/> + <location filename="../../src/yuzu/main.cpp" line="2147"/> <source>Invalid Directory Selected</source> <translation>Cartella Selezionata Non Valida</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="2155"/> + <location filename="../../src/yuzu/main.cpp" line="2148"/> <source>The directory you have selected does not contain a 'main' file.</source> <translation>La cartella che hai selezionato non contiene un file "main".</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="2165"/> + <location filename="../../src/yuzu/main.cpp" line="2158"/> <source>Installable Switch File (*.nca *.nsp *.xci);;Nintendo Content Archive (*.nca);;Nintendo Submission Package (*.nsp);;NX Cartridge Image (*.xci)</source> <translation>File installabili Switch (*.nca *.nsp *.xci);;Nintendo Content Archive (*.nca);;Nintendo Submission Package (*.nsp);;NX Cartridge Image (*.xci)</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="2170"/> + <location filename="../../src/yuzu/main.cpp" line="2163"/> <source>Install Files</source> <translation>Installa files</translation> </message> <message numerus="yes"> - <location filename="../../src/yuzu/main.cpp" line="2214"/> + <location filename="../../src/yuzu/main.cpp" line="2207"/> <source>%n file(s) remaining</source> <translation type="unfinished"><numerusform></numerusform><numerusform></numerusform></translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="2216"/> + <location filename="../../src/yuzu/main.cpp" line="2209"/> <source>Installing file "%1"...</source> <translation>Installazione del file "%1"...</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="2262"/> - <location filename="../../src/yuzu/main.cpp" line="2276"/> + <location filename="../../src/yuzu/main.cpp" line="2255"/> + <location filename="../../src/yuzu/main.cpp" line="2269"/> <source>Install Results</source> <translation>Installa risultati</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="2263"/> + <location filename="../../src/yuzu/main.cpp" line="2256"/> <source>To avoid possible conflicts, we discourage users from installing base games to the NAND. Please, only use this feature to install updates and DLC.</source> <translation>Per evitare possibli conflitti, scoraggiamo gli utenti dall'installare giochi base su NAND. Per favore, usare questa funzione solo per installare aggiornamenti e DLC.</translation> </message> <message numerus="yes"> - <location filename="../../src/yuzu/main.cpp" line="2269"/> + <location filename="../../src/yuzu/main.cpp" line="2262"/> <source>%n file(s) were newly installed </source> <translation type="unfinished"><numerusform></numerusform><numerusform></numerusform></translation> </message> <message numerus="yes"> - <location filename="../../src/yuzu/main.cpp" line="2272"/> + <location filename="../../src/yuzu/main.cpp" line="2265"/> <source>%n file(s) were overwritten </source> <translation type="unfinished"><numerusform></numerusform><numerusform></numerusform></translation> </message> <message numerus="yes"> - <location filename="../../src/yuzu/main.cpp" line="2274"/> + <location filename="../../src/yuzu/main.cpp" line="2267"/> <source>%n file(s) failed to install </source> <translation type="unfinished"><numerusform></numerusform><numerusform></numerusform></translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="2375"/> + <location filename="../../src/yuzu/main.cpp" line="2368"/> <source>System Application</source> <translation>Applicazione di Sistema</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="2376"/> + <location filename="../../src/yuzu/main.cpp" line="2369"/> <source>System Archive</source> <translation>Archivio di Sistema</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="2377"/> + <location filename="../../src/yuzu/main.cpp" line="2370"/> <source>System Application Update</source> <translation>Aggiornamento Applicazione di Sistema</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="2378"/> + <location filename="../../src/yuzu/main.cpp" line="2371"/> <source>Firmware Package (Type A)</source> <translation>Pacchetto Firmware (Tipo A)</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="2379"/> + <location filename="../../src/yuzu/main.cpp" line="2372"/> <source>Firmware Package (Type B)</source> <translation>Pacchetto Firmware (Tipo B)</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="2380"/> + <location filename="../../src/yuzu/main.cpp" line="2373"/> <source>Game</source> <translation>Gioco</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="2381"/> + <location filename="../../src/yuzu/main.cpp" line="2374"/> <source>Game Update</source> <translation>Aggiornamento di Gioco</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="2382"/> + <location filename="../../src/yuzu/main.cpp" line="2375"/> <source>Game DLC</source> <translation>DLC Gioco</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="2383"/> + <location filename="../../src/yuzu/main.cpp" line="2376"/> <source>Delta Title</source> <translation>Titolo Delta</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="2386"/> + <location filename="../../src/yuzu/main.cpp" line="2379"/> <source>Select NCA Install Type...</source> <translation>Seleziona il Tipo di Installazione NCA</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="2387"/> + <location filename="../../src/yuzu/main.cpp" line="2380"/> <source>Please select the type of title you would like to install this NCA as: (In most instances, the default 'Game' is fine.)</source> <translation>Seleziona il tipo del file NCA da installare: (Nella maggior parte dei casi, il predefinito 'Gioco' va bene.)</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="2393"/> + <location filename="../../src/yuzu/main.cpp" line="2386"/> <source>Failed to Install</source> <translation>Installazione Fallita</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="2394"/> + <location filename="../../src/yuzu/main.cpp" line="2387"/> <source>The title type you selected for the NCA is invalid.</source> <translation>Il tipo che hai selezionato per l'NCA non è valido.</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="2429"/> + <location filename="../../src/yuzu/main.cpp" line="2422"/> <source>File not found</source> <translation>File non trovato</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="2430"/> + <location filename="../../src/yuzu/main.cpp" line="2423"/> <source>File "%1" not found</source> <translation>File "%1" non trovato</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="2445"/> - <location filename="../../src/yuzu/main.cpp" line="3448"/> - <source>&Continue</source> - <translation>&Continua</translation> - </message> - <message> - <location filename="../../src/yuzu/main.cpp" line="2494"/> + <location filename="../../src/yuzu/main.cpp" line="2492"/> <source>OK</source> <translation>OK</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="2508"/> + <location filename="../../src/yuzu/main.cpp" line="2506"/> <source>Missing yuzu Account</source> <translation>Account di yuzu non trovato</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="2509"/> + <location filename="../../src/yuzu/main.cpp" line="2507"/> <source>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.</source> <translation>Per segnalare la compatibilità di un gioco, devi collegare il tuo account yuzu. <br><br/>Per collegare il tuo account yuzu, vai su Emulazione &gt; Configurazione &gt; Web.</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="2519"/> + <location filename="../../src/yuzu/main.cpp" line="2517"/> <source>Error opening URL</source> <translation>Errore aprendo l'URL</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="2520"/> + <location filename="../../src/yuzu/main.cpp" line="2518"/> <source>Unable to open the URL "%1".</source> <translation>Impossibile aprire l'URL "% 1".</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="2802"/> + <location filename="../../src/yuzu/main.cpp" line="2777"/> + <source>TAS Recording</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/main.cpp" line="2777"/> + <source>Overwrite file of player 1?</source> + <translation>Vuoi sovrascrivere lo script del giocatore 1?</translation> + </message> + <message> + <location filename="../../src/yuzu/main.cpp" line="2830"/> <source>Amiibo File (%1);; All Files (*.*)</source> <translation>File Amiibo (%1);; Tutti I File (*.*)</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="2803"/> + <location filename="../../src/yuzu/main.cpp" line="2831"/> <source>Load Amiibo</source> <translation>Carica Amiibo</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="2821"/> + <location filename="../../src/yuzu/main.cpp" line="2849"/> <source>Error opening Amiibo data file</source> <translation>Errore nell'apertura del file dati Amiibo</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="2822"/> + <location filename="../../src/yuzu/main.cpp" line="2850"/> <source>Unable to open Amiibo file "%1" for reading.</source> <translation>Impossibile aprire e leggere il file Amiibo "%1".</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="2830"/> + <location filename="../../src/yuzu/main.cpp" line="2858"/> <source>Error reading Amiibo data file</source> <translation>Errore nella lettura dei dati del file Amiibo</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="2831"/> + <location filename="../../src/yuzu/main.cpp" line="2859"/> <source>Unable to fully read Amiibo data. Expected to read %1 bytes, but was only able to read %2 bytes.</source> <translation>Impossibile leggere tutti i dati dell'Amiibo. E' stato possibile leggere solamente %2 byte di %1.</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="2839"/> + <location filename="../../src/yuzu/main.cpp" line="2867"/> <source>Error loading Amiibo data</source> <translation>Errore nel caricamento dei dati dell'Amiibo.</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="2840"/> + <location filename="../../src/yuzu/main.cpp" line="2868"/> <source>Unable to load Amiibo data.</source> <translation>Impossibile caricare i dati dell'Amiibo.</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="2881"/> + <location filename="../../src/yuzu/main.cpp" line="2913"/> <source>Capture Screenshot</source> <translation>Cattura Screenshot</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="2882"/> + <location filename="../../src/yuzu/main.cpp" line="2914"/> <source>PNG Image (*.png)</source> <translation>Immagine PNG (*.png)</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="2948"/> + <location filename="../../src/yuzu/main.cpp" line="2979"/> <source>TAS state: Running %1/%2</source> <translation type="unfinished"/> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="2950"/> + <location filename="../../src/yuzu/main.cpp" line="2981"/> <source>TAS state: Recording %1</source> <translation type="unfinished"/> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="2952"/> + <location filename="../../src/yuzu/main.cpp" line="2983"/> <source>TAS state: Idle %1/%2</source> <translation type="unfinished"/> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="2954"/> + <location filename="../../src/yuzu/main.cpp" line="2985"/> <source>TAS State: Invalid</source> <translation type="unfinished"/> </message> + <message> + <location filename="../../src/yuzu/main.cpp" line="2999"/> + <source>&Stop Running</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/main.cpp" line="2999"/> + <source>&Start</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/main.cpp" line="3000"/> + <source>Stop R&ecording</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/main.cpp" line="3000"/> + <source>R&ecord</source> + <translation type="unfinished"/> + </message> <message numerus="yes"> - <location filename="../../src/yuzu/main.cpp" line="2975"/> + <location filename="../../src/yuzu/main.cpp" line="3024"/> <source>Building: %n shader(s)</source> <translation type="unfinished"><numerusform></numerusform><numerusform></numerusform></translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="2982"/> + <location filename="../../src/yuzu/main.cpp" line="3033"/> + <source>Scale: %1x</source> + <comment>%1 is the resolution scaling factor</comment> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/main.cpp" line="3036"/> <source>Speed: %1% / %2%</source> <translation>Velocità: %1% / %2%</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="2986"/> + <location filename="../../src/yuzu/main.cpp" line="3040"/> <source>Speed: %1%</source> <translation>Velocità: %1%</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="2990"/> + <location filename="../../src/yuzu/main.cpp" line="3044"/> <source>Game: %1 FPS (Unlocked)</source> <translation type="unfinished"/> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="2992"/> + <location filename="../../src/yuzu/main.cpp" line="3046"/> <source>Game: %1 FPS</source> <translation>Gioco: %1 FPS</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="2994"/> + <location filename="../../src/yuzu/main.cpp" line="3048"/> <source>Frame: %1 ms</source> <translation>Frame: %1 ms</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="3004"/> + <location filename="../../src/yuzu/main.cpp" line="3059"/> <source>GPU NORMAL</source> <translation type="unfinished"/> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="3009"/> + <location filename="../../src/yuzu/main.cpp" line="3064"/> <source>GPU HIGH</source> <translation type="unfinished"/> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="3014"/> + <location filename="../../src/yuzu/main.cpp" line="3069"/> <source>GPU EXTREME</source> <translation type="unfinished"/> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="3019"/> + <location filename="../../src/yuzu/main.cpp" line="3074"/> <source>GPU ERROR</source> <translation type="unfinished"/> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="3076"/> + <location filename="../../src/yuzu/main.cpp" line="3084"/> + <source>NEAREST</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/main.cpp" line="3087"/> + <location filename="../../src/yuzu/main.cpp" line="3102"/> + <source>BILINEAR</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/main.cpp" line="3090"/> + <source>BICUBIC</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/main.cpp" line="3093"/> + <source>GAUSSIAN</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/main.cpp" line="3096"/> + <source>SCALEFORCE</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/main.cpp" line="3099"/> + <source>FSR</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/main.cpp" line="3111"/> + <location filename="../../src/yuzu/main.cpp" line="3117"/> + <source>NO AA</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/main.cpp" line="3114"/> + <source>FXAA</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/main.cpp" line="3175"/> <source>The game you are trying to load requires additional files from your Switch to be dumped before playing.<br/><br/>For more information on dumping these files, please see the following wiki page: <a href='https://yuzu-emu.org/wiki/dumping-system-archives-and-the-shared-fonts-from-a-switch-console/'>Dumping System Archives and the Shared Fonts from a Switch Console</a>.<br/><br/>Would you like to quit back to the game list? Continuing emulation may result in crashes, corrupted save data, or other bugs.</source> <translation>Il gioco che stai provando a caricare richiede ulteriori file che devono essere estratti dalla tua Switch prima di poter giocare. <br/><br/>Per maggiori informazioni sull'estrazione di questi file, visualizza la seguente pagina della wiki: <a href='https://yuzu-emu.org/wiki/dumping-system-archives-and-the-shared-fonts-from-a-switch-console/'>Estrazione di Archivi di Sistema e Font Condivisi da una Console Switch</a>.<br/><br/>Vuoi uscire e tornare alla lista dei giochi? Continuare l'emulazione potrebbe risultare in crash, salvataggi corrotti o altri bug.</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="3091"/> + <location filename="../../src/yuzu/main.cpp" line="3190"/> <source>yuzu was unable to locate a Switch system archive. %1</source> <translation>yuzu non ha potuto individuare un archivio di sistema della Switch. %1</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="3093"/> + <location filename="../../src/yuzu/main.cpp" line="3192"/> <source>yuzu was unable to locate a Switch system archive: %1. %2</source> <translation>yuzu non ha potuto individuare un archivio di sistema della Switch: %1. %2</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="3097"/> + <location filename="../../src/yuzu/main.cpp" line="3196"/> <source>System Archive Not Found</source> <translation>Archivio di Sistema Non Trovato</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="3099"/> + <location filename="../../src/yuzu/main.cpp" line="3198"/> <source>System Archive Missing</source> <translation>Archivio di Sistema Mancante</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="3105"/> + <location filename="../../src/yuzu/main.cpp" line="3204"/> <source>yuzu was unable to locate the Switch shared fonts. %1</source> <translation>yuzu non ha potuto individuare i font condivisi della Switch. %1</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="3106"/> + <location filename="../../src/yuzu/main.cpp" line="3205"/> <source>Shared Fonts Not Found</source> <translation>Font Condivisi Non Trovati</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="3108"/> + <location filename="../../src/yuzu/main.cpp" line="3207"/> <source>Shared Font Missing</source> <translation>Font Condivisi Mancanti</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="3114"/> + <location filename="../../src/yuzu/main.cpp" line="3213"/> <source>Fatal Error</source> <translation>Errore Fatale</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="3115"/> + <location filename="../../src/yuzu/main.cpp" line="3214"/> <source>yuzu has encountered a fatal error, please see the log for more details. For more information on accessing the log, please see the following page: <a href='https://community.citra-emu.org/t/how-to-upload-the-log-file/296'>How to Upload the Log File</a>.<br/><br/>Would you like to quit back to the game list? Continuing emulation may result in crashes, corrupted save data, or other bugs.</source> <translation>yuzu ha riscontrato un errore fatale, visualizza il log per maggiori dettagli. Per maggiori informazioni su come accedere al log, visualizza la seguente pagina: <a href='https://community.citra-emu.org/t/how-to-upload-the-log-file/296'>Come Caricare Il File Log</a>.<br/><br/>Vuoi uscire e tornare alla lista dei giochi? Continuare l'emulazione potrebbe risultare in crash, salvataggi corrotti o altri bug.</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="3124"/> + <location filename="../../src/yuzu/main.cpp" line="3223"/> <source>Fatal Error encountered</source> <translation>Errore Fatale riscontrato</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="3147"/> + <location filename="../../src/yuzu/main.cpp" line="3246"/> <source>Confirm Key Rederivation</source> <translation>Conferma Riderivazione Chiave</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="3148"/> + <location filename="../../src/yuzu/main.cpp" line="3247"/> <source>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. @@ -4443,37 +4577,37 @@ e facoltativamente fai dei backup. Questo eliminerà i tuoi file di chiavi autogenerati e ri-avvierà il processo di derivazione delle chiavi.</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="3180"/> + <location filename="../../src/yuzu/main.cpp" line="3279"/> <source>Missing fuses</source> <translation>Fusi mancanti</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="3183"/> + <location filename="../../src/yuzu/main.cpp" line="3282"/> <source> - Missing BOOT0</source> <translation> - Manca BOOT0</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="3186"/> + <location filename="../../src/yuzu/main.cpp" line="3285"/> <source> - Missing BCPKG2-1-Normal-Main</source> <translation> - Manca BCPKG2-1-Normal-Main</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="3189"/> + <location filename="../../src/yuzu/main.cpp" line="3288"/> <source> - Missing PRODINFO</source> <translation>- Manca PRODINFO</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="3193"/> + <location filename="../../src/yuzu/main.cpp" line="3292"/> <source>Derivation Components Missing</source> <translation>Componenti di derivazione mancanti</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="3194"/> - <source>Components are missing that may hinder key derivation from completing. <br>Please follow <a href='https://yuzu-emu.org/help/quickstart/'>the yuzu quickstart guide</a> to get all your keys and games.<br><br><small>(%1)</small></source> - <translation>Mancano componenti che potrebbero impedire il completamento della derivazione della chiave. <br>Segui <a href='https://yuzu-emu.org/help/quickstart/'>la guida rapida di yuzu</a> per ottenere tutte le chiavi e i giochi.<br><br><small>(% 1)</small></translation> + <location filename="../../src/yuzu/main.cpp" line="3293"/> + <source>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></source> + <translation type="unfinished"/> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="3203"/> + <location filename="../../src/yuzu/main.cpp" line="3302"/> <source>Deriving keys... This may take up to a minute depending on your system's performance.</source> @@ -4482,39 +4616,39 @@ Questa operazione potrebbe durare fino a un minuto in base alle prestazioni del tuo sistema.</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="3205"/> + <location filename="../../src/yuzu/main.cpp" line="3304"/> <source>Deriving Keys</source> <translation>Derivazione Chiavi</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="3250"/> + <location filename="../../src/yuzu/main.cpp" line="3349"/> <source>Select RomFS Dump Target</source> <translation>Seleziona Target dell'Estrazione del RomFS</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="3251"/> + <location filename="../../src/yuzu/main.cpp" line="3350"/> <source>Please select which RomFS you would like to dump.</source> <translation>Seleziona quale RomFS vorresti estrarre.</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="3266"/> + <location filename="../../src/yuzu/main.cpp" line="3365"/> <source>Are you sure you want to close yuzu?</source> <translation>Sei sicuro di voler chiudere yuzu?</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="3267"/> - <location filename="../../src/yuzu/main.cpp" line="3342"/> - <location filename="../../src/yuzu/main.cpp" line="3355"/> + <location filename="../../src/yuzu/main.cpp" line="3366"/> + <location filename="../../src/yuzu/main.cpp" line="3443"/> + <location filename="../../src/yuzu/main.cpp" line="3456"/> <source>yuzu</source> <translation>yuzu</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="3343"/> + <location filename="../../src/yuzu/main.cpp" line="3444"/> <source>Are you sure you want to stop the emulation? Any unsaved progress will be lost.</source> <translation>Sei sicuro di voler fermare l'emulazione? Tutti i progressi non salvati verranno perduti.</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="3352"/> + <location filename="../../src/yuzu/main.cpp" line="3453"/> <source>The currently running application has requested yuzu to not exit. Would you like to bypass this and exit anyway?</source> @@ -4526,38 +4660,38 @@ Desideri uscire comunque?</translation> <context> <name>GRenderWindow</name> <message> - <location filename="../../src/yuzu/bootmanager.cpp" line="675"/> + <location filename="../../src/yuzu/bootmanager.cpp" line="976"/> <source>OpenGL not available!</source> <translation>OpenGL non disponibile!</translation> </message> <message> - <location filename="../../src/yuzu/bootmanager.cpp" line="676"/> + <location filename="../../src/yuzu/bootmanager.cpp" line="977"/> <source>yuzu has not been compiled with OpenGL support.</source> <translation>yuzu non è stato compilato con il supporto OpenGL.</translation> </message> <message> - <location filename="../../src/yuzu/bootmanager.cpp" line="695"/> - <location filename="../../src/yuzu/bootmanager.cpp" line="715"/> + <location filename="../../src/yuzu/bootmanager.cpp" line="996"/> + <location filename="../../src/yuzu/bootmanager.cpp" line="1016"/> <source>Error while initializing OpenGL!</source> <translation>Errore durante l'inizializzazione di OpenGL!</translation> </message> <message> - <location filename="../../src/yuzu/bootmanager.cpp" line="696"/> + <location filename="../../src/yuzu/bootmanager.cpp" line="997"/> <source>Your GPU may not support OpenGL, or you do not have the latest graphics driver.</source> <translation>La tua GPU potrebbe non supportare OpenGL, o non hai installato l'ultima versione dei driver video.</translation> </message> <message> - <location filename="../../src/yuzu/bootmanager.cpp" line="705"/> + <location filename="../../src/yuzu/bootmanager.cpp" line="1006"/> <source>Error while initializing OpenGL 4.6!</source> <translation>Errore durante l'inizializzazione di OpenGL 4.6!</translation> </message> <message> - <location filename="../../src/yuzu/bootmanager.cpp" line="706"/> + <location filename="../../src/yuzu/bootmanager.cpp" line="1007"/> <source>Your GPU may not support OpenGL 4.6, or you do not have the latest graphics driver.<br><br>GL Renderer:<br>%1</source> <translation>Your GPU may not support OpenGL 4.6, or you do not have the latest graphics driver.<br><br>GL Renderer:<br>%1</translation> </message> <message> - <location filename="../../src/yuzu/bootmanager.cpp" line="716"/> + <location filename="../../src/yuzu/bootmanager.cpp" line="1017"/> <source>Your GPU may not support one or more required OpenGL extensions. Please ensure you have the latest graphics driver.<br><br>GL Renderer:<br>%1<br><br>Unsupported extensions:<br>%2</source> <translation>La tua GPU potrebbe non supportare una o più estensioni OpenGL richieste. Assicurati di avere gli ultimi driver grafici.<br><br>Estensioni non supportate:<br></translation> </message> @@ -4915,190 +5049,205 @@ Iniziale.</translation> <translation>&Emulazione</translation> </message> <message> - <location filename="../../src/yuzu/main.ui" line="79"/> + <location filename="../../src/yuzu/main.ui" line="78"/> <source>&View</source> <translation>&Visualizza</translation> </message> <message> - <location filename="../../src/yuzu/main.ui" line="83"/> + <location filename="../../src/yuzu/main.ui" line="82"/> <source>&Reset Window Size</source> <translation type="unfinished"/> </message> <message> - <location filename="../../src/yuzu/main.ui" line="88"/> + <location filename="../../src/yuzu/main.ui" line="87"/> + <source>&Debugging</source> + <translation>Debugging</translation> + </message> + <message> + <location filename="../../src/yuzu/main.ui" line="92"/> <source>Reset Window Size to &720p</source> <translation>Ripristina le dimensioni della finestra a &720p</translation> </message> <message> - <location filename="../../src/yuzu/main.ui" line="91"/> + <location filename="../../src/yuzu/main.ui" line="95"/> <source>Reset Window Size to 720p</source> <translation>Ripristina le dimensioni della finestra a 720p</translation> </message> <message> - <location filename="../../src/yuzu/main.ui" line="96"/> + <location filename="../../src/yuzu/main.ui" line="100"/> <source>Reset Window Size to &900p</source> <translation type="unfinished"/> </message> <message> - <location filename="../../src/yuzu/main.ui" line="99"/> + <location filename="../../src/yuzu/main.ui" line="103"/> <source>Reset Window Size to 900p</source> <translation type="unfinished"/> </message> <message> - <location filename="../../src/yuzu/main.ui" line="104"/> + <location filename="../../src/yuzu/main.ui" line="108"/> <source>Reset Window Size to &1080p</source> <translation>Ripristina le dimensioni della finestra a &1080p</translation> </message> <message> - <location filename="../../src/yuzu/main.ui" line="107"/> + <location filename="../../src/yuzu/main.ui" line="111"/> <source>Reset Window Size to 1080p</source> <translation>Ripristina le dimensioni della finestra a 1080p</translation> </message> <message> - <location filename="../../src/yuzu/main.ui" line="112"/> - <source>&Debugging</source> - <translation>Debugging</translation> - </message> - <message> - <location filename="../../src/yuzu/main.ui" line="126"/> + <location filename="../../src/yuzu/main.ui" line="125"/> <source>&Tools</source> <translation>Strumenti</translation> </message> <message> - <location filename="../../src/yuzu/main.ui" line="135"/> + <location filename="../../src/yuzu/main.ui" line="129"/> + <source>&TAS</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/main.ui" line="144"/> <source>&Help</source> <translation>&Aiuto</translation> </message> <message> - <location filename="../../src/yuzu/main.ui" line="155"/> + <location filename="../../src/yuzu/main.ui" line="164"/> <source>&Install Files to NAND...</source> <translation>Installa i file su NAND...</translation> </message> <message> - <location filename="../../src/yuzu/main.ui" line="160"/> + <location filename="../../src/yuzu/main.ui" line="169"/> <source>L&oad File...</source> <translation>Carica File...</translation> </message> <message> - <location filename="../../src/yuzu/main.ui" line="165"/> + <location filename="../../src/yuzu/main.ui" line="174"/> <source>Load &Folder...</source> <translation>Carica Cartella...</translation> </message> <message> - <location filename="../../src/yuzu/main.ui" line="170"/> + <location filename="../../src/yuzu/main.ui" line="179"/> <source>E&xit</source> <translation>&Esci</translation> </message> <message> - <location filename="../../src/yuzu/main.ui" line="178"/> - <source>&Start</source> - <translation>&Avvia</translation> - </message> - <message> - <location filename="../../src/yuzu/main.ui" line="186"/> + <location filename="../../src/yuzu/main.ui" line="187"/> <source>&Pause</source> <translation>&Pausa</translation> </message> <message> - <location filename="../../src/yuzu/main.ui" line="194"/> + <location filename="../../src/yuzu/main.ui" line="195"/> <source>&Stop</source> <translation>&Stop</translation> </message> <message> - <location filename="../../src/yuzu/main.ui" line="199"/> + <location filename="../../src/yuzu/main.ui" line="200"/> <source>&Reinitialize keys...</source> <translation>Ri-inizializzando le chiavi...</translation> </message> <message> - <location filename="../../src/yuzu/main.ui" line="204"/> + <location filename="../../src/yuzu/main.ui" line="205"/> <source>&About yuzu</source> <translation>Riguardo yuzu</translation> </message> <message> - <location filename="../../src/yuzu/main.ui" line="212"/> + <location filename="../../src/yuzu/main.ui" line="213"/> <source>Single &Window Mode</source> <translation>Modalità Finestra Singola</translation> </message> <message> - <location filename="../../src/yuzu/main.ui" line="217"/> + <location filename="../../src/yuzu/main.ui" line="218"/> <source>Con&figure...</source> <translation>Configura...</translation> </message> <message> - <location filename="../../src/yuzu/main.ui" line="225"/> + <location filename="../../src/yuzu/main.ui" line="226"/> <source>Display D&ock Widget Headers</source> <translation>Visualizza le Intestazioni del Dock dei Widget</translation> </message> <message> - <location filename="../../src/yuzu/main.ui" line="233"/> + <location filename="../../src/yuzu/main.ui" line="234"/> <source>Show &Filter Bar</source> <translation>Mostra Barra Filtri</translation> </message> <message> - <location filename="../../src/yuzu/main.ui" line="241"/> + <location filename="../../src/yuzu/main.ui" line="242"/> <source>Show &Status Bar</source> <translation>Mostra Barra Stato</translation> </message> <message> - <location filename="../../src/yuzu/main.ui" line="244"/> + <location filename="../../src/yuzu/main.ui" line="245"/> <source>Show Status Bar</source> <translation>Mostra Barra Stato</translation> </message> <message> - <location filename="../../src/yuzu/main.ui" line="252"/> + <location filename="../../src/yuzu/main.ui" line="253"/> <source>F&ullscreen</source> <translation>Schermo intero</translation> </message> <message> - <location filename="../../src/yuzu/main.ui" line="260"/> + <location filename="../../src/yuzu/main.ui" line="261"/> <source>&Restart</source> <translation>&Riavvia</translation> </message> <message> - <location filename="../../src/yuzu/main.ui" line="268"/> + <location filename="../../src/yuzu/main.ui" line="269"/> <source>Load &Amiibo...</source> <translation>Carica &Amiibo...</translation> </message> <message> - <location filename="../../src/yuzu/main.ui" line="276"/> + <location filename="../../src/yuzu/main.ui" line="277"/> <source>&Report Compatibility</source> <translation>&Segnala la Compatibilità</translation> </message> <message> - <location filename="../../src/yuzu/main.ui" line="284"/> + <location filename="../../src/yuzu/main.ui" line="285"/> <source>Open &Mods Page</source> <translation>Apri la pagina delle mods</translation> </message> <message> - <location filename="../../src/yuzu/main.ui" line="289"/> + <location filename="../../src/yuzu/main.ui" line="290"/> <source>Open &Quickstart Guide</source> <translation>Apri la guida rapida</translation> </message> <message> - <location filename="../../src/yuzu/main.ui" line="294"/> + <location filename="../../src/yuzu/main.ui" line="295"/> <source>&FAQ</source> <translation>Domande frequenti</translation> </message> <message> - <location filename="../../src/yuzu/main.ui" line="299"/> + <location filename="../../src/yuzu/main.ui" line="300"/> <source>Open &yuzu Folder</source> <translation>Apri la cartella di yuzu</translation> </message> <message> - <location filename="../../src/yuzu/main.ui" line="307"/> + <location filename="../../src/yuzu/main.ui" line="308"/> <source>&Capture Screenshot</source> <translation>Cattura schermo</translation> </message> <message> - <location filename="../../src/yuzu/main.ui" line="312"/> - <source>Configure &TAS...</source> + <location filename="../../src/yuzu/main.ui" line="313"/> + <source>&Configure TAS...</source> <translation type="unfinished"/> </message> <message> - <location filename="../../src/yuzu/main.ui" line="320"/> + <location filename="../../src/yuzu/main.ui" line="321"/> <source>Configure C&urrent Game...</source> <translation>Configura il gioco in uso..</translation> </message> + <message> + <location filename="../../src/yuzu/main.ui" line="329"/> + <source>&Start</source> + <translation>&Avvia</translation> + </message> + <message> + <location filename="../../src/yuzu/main.ui" line="337"/> + <source>&Reset</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/main.ui" line="345"/> + <source>R&ecord</source> + <translation type="unfinished"/> + </message> </context> <context> <name>MicroProfileDialog</name> @@ -5144,10 +5293,15 @@ p, li { white-space: pre-wrap; } <context> <name>PlayerControlPreview</name> <message> - <location filename="../../src/yuzu/configuration/configure_input_player_widget.cpp" line="1566"/> + <location filename="../../src/yuzu/configuration/configure_input_player_widget.cpp" line="1572"/> <source>START/PAUSE</source> <translation>INIZIA/INTERROMPI</translation> </message> + <message> + <location filename="../../src/yuzu/configuration/configure_input_player_widget.cpp" line="2685"/> + <source>Charging</source> + <translation type="unfinished"/> + </message> </context> <context> <name>QObject</name> @@ -5178,142 +5332,222 @@ p, li { white-space: pre-wrap; } </message> <message> <location filename="../../src/yuzu/configuration/configure_touch_from_button.cpp" line="23"/> - <location filename="../../src/yuzu/configuration/configure_mouse_advanced.cpp" line="32"/> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="72"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="43"/> <source>Shift</source> <translation>Shift</translation> </message> <message> <location filename="../../src/yuzu/configuration/configure_touch_from_button.cpp" line="25"/> - <location filename="../../src/yuzu/configuration/configure_mouse_advanced.cpp" line="34"/> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="74"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="45"/> <source>Ctrl</source> <translation>Ctrl</translation> </message> <message> <location filename="../../src/yuzu/configuration/configure_touch_from_button.cpp" line="27"/> - <location filename="../../src/yuzu/configuration/configure_mouse_advanced.cpp" line="36"/> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="76"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="47"/> <source>Alt</source> <translation>Alt</translation> </message> <message> <location filename="../../src/yuzu/configuration/configure_touch_from_button.cpp" line="37"/> - <location filename="../../src/yuzu/configuration/configure_mouse_advanced.cpp" line="46"/> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="103"/> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="190"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="130"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="196"/> <source>[not set]</source> <translation>[non impostato]</translation> </message> <message> <location filename="../../src/yuzu/configuration/configure_touch_from_button.cpp" line="49"/> - <location filename="../../src/yuzu/configuration/configure_mouse_advanced.cpp" line="58"/> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="152"/> <source>Hat %1 %2</source> <translation>Hat %1 %2</translation> </message> <message> <location filename="../../src/yuzu/configuration/configure_touch_from_button.cpp" line="56"/> - <location filename="../../src/yuzu/configuration/configure_mouse_advanced.cpp" line="65"/> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="159"/> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="210"/> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="214"/> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="218"/> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="222"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="219"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="223"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="227"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="231"/> <source>Axis %1%2</source> <translation>Asse %1%2</translation> </message> <message> <location filename="../../src/yuzu/configuration/configure_touch_from_button.cpp" line="62"/> - <location filename="../../src/yuzu/configuration/configure_mouse_advanced.cpp" line="71"/> <source>Button %1</source> <translation>Pulsante %1</translation> </message> <message> <location filename="../../src/yuzu/configuration/configure_touch_from_button.cpp" line="68"/> - <location filename="../../src/yuzu/configuration/configure_mouse_advanced.cpp" line="76"/> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="185"/> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="227"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="190"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="204"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="234"/> <source>[unknown]</source> <translation>[sconosciuto]</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_mouse_advanced.cpp" line="22"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="58"/> + <source>Left</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="60"/> + <source>Right</source> + <translation type="unfinished"/> + </message> + <message> <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="62"/> - <source>Click 0</source> - <translation>Clicca 0</translation> + <source>Down</source> + <translation type="unfinished"/> </message> <message> - <location filename="../../src/yuzu/configuration/configure_mouse_advanced.cpp" line="24"/> <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="64"/> - <source>Click 1</source> - <translation>Clicca 1</translation> + <source>Up</source> + <translation type="unfinished"/> </message> <message> - <location filename="../../src/yuzu/configuration/configure_mouse_advanced.cpp" line="26"/> <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="66"/> - <source>Click 2</source> - <translation>Clicca 2</translation> + <source>Z</source> + <translation type="unfinished"/> </message> <message> - <location filename="../../src/yuzu/configuration/configure_mouse_advanced.cpp" line="28"/> <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="68"/> - <source>Click 3</source> - <translation>Clicca 3</translation> + <source>R</source> + <translation type="unfinished"/> </message> <message> - <location filename="../../src/yuzu/configuration/configure_mouse_advanced.cpp" line="30"/> <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="70"/> - <source>Click 4</source> - <translation>Clicca 4</translation> + <source>L</source> + <translation type="unfinished"/> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="109"/> - <source>%1%2</source> - <translation>%1%2</translation> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="72"/> + <source>A</source> + <translation type="unfinished"/> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="117"/> - <source>GC Axis %1%2</source> - <translation>Assi GC %1%2</translation> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="74"/> + <source>B</source> + <translation type="unfinished"/> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="121"/> - <source>GC Button %1</source> - <translation>Pulsanti GC %1</translation> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="76"/> + <source>X</source> + <translation type="unfinished"/> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="130"/> - <source>TAS Axis %1</source> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="78"/> + <source>Y</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="80"/> + <source>Start</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="82"/> + <source>L1</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="84"/> + <source>L2</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="86"/> + <source>L3</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="88"/> + <source>R1</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="90"/> + <source>R2</source> <translation type="unfinished"/> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="134"/> - <source>TAS Btn %1</source> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="92"/> + <source>R3</source> <translation type="unfinished"/> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="142"/> - <source>Motion %1</source> - <translation>Mavimento %1</translation> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="94"/> + <source>Circle</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="96"/> + <source>Cross</source> + <translation type="unfinished"/> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="166"/> - <source>%1Button %2</source> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="98"/> + <source>Square</source> <translation type="unfinished"/> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="170"/> - <source>SDL Motion</source> - <translation>Movimento SDL</translation> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="100"/> + <source>Triangle</source> + <translation type="unfinished"/> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="180"/> - <source>%1Click %2</source> - <translation>%1Click %2</translation> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="102"/> + <source>Share</source> + <translation type="unfinished"/> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="205"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="104"/> + <source>Options</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="106"/> + <source>[undefined]</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="140"/> + <source>%1%2</source> + <translation>%1%2</translation> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="144"/> + <source>[invalid]</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="154"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="178"/> + <source>%1%2Hat %3</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="158"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="181"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="184"/> + <source>%1%2Axis %3</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="164"/> + <source>%1%2Axis %3,%4,%5</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="168"/> + <source>%1%2Motion %3</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="172"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="187"/> + <source>%1%2Button %3</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="214"/> <source>[unused]</source> <translation>[inutilizzato]</translation> </message> @@ -5354,7 +5588,7 @@ p, li { white-space: pre-wrap; } <location filename="../../src/yuzu/applets/qt_controller.ui" line="1656"/> <location filename="../../src/yuzu/applets/qt_controller.ui" line="1857"/> <location filename="../../src/yuzu/applets/qt_controller.ui" line="2054"/> - <location filename="../../src/yuzu/applets/qt_controller.cpp" line="419"/> + <location filename="../../src/yuzu/applets/qt_controller.cpp" line="411"/> <source>Pro Controller</source> <translation>Pro Controller</translation> </message> @@ -5367,7 +5601,7 @@ p, li { white-space: pre-wrap; } <location filename="../../src/yuzu/applets/qt_controller.ui" line="1661"/> <location filename="../../src/yuzu/applets/qt_controller.ui" line="1862"/> <location filename="../../src/yuzu/applets/qt_controller.ui" line="2059"/> - <location filename="../../src/yuzu/applets/qt_controller.cpp" line="423"/> + <location filename="../../src/yuzu/applets/qt_controller.cpp" line="415"/> <source>Dual Joycons</source> <translation>Doppi Joycon</translation> </message> @@ -5380,7 +5614,7 @@ p, li { white-space: pre-wrap; } <location filename="../../src/yuzu/applets/qt_controller.ui" line="1666"/> <location filename="../../src/yuzu/applets/qt_controller.ui" line="1867"/> <location filename="../../src/yuzu/applets/qt_controller.ui" line="2064"/> - <location filename="../../src/yuzu/applets/qt_controller.cpp" line="427"/> + <location filename="../../src/yuzu/applets/qt_controller.cpp" line="419"/> <source>Left Joycon</source> <translation>Joycon Sinistro</translation> </message> @@ -5393,7 +5627,7 @@ p, li { white-space: pre-wrap; } <location filename="../../src/yuzu/applets/qt_controller.ui" line="1671"/> <location filename="../../src/yuzu/applets/qt_controller.ui" line="1872"/> <location filename="../../src/yuzu/applets/qt_controller.ui" line="2069"/> - <location filename="../../src/yuzu/applets/qt_controller.cpp" line="431"/> + <location filename="../../src/yuzu/applets/qt_controller.cpp" line="423"/> <source>Right Joycon</source> <translation>Joycon Destro</translation> </message> @@ -5421,7 +5655,7 @@ p, li { white-space: pre-wrap; } </message> <message> <location filename="../../src/yuzu/applets/qt_controller.ui" line="932"/> - <location filename="../../src/yuzu/applets/qt_controller.cpp" line="436"/> + <location filename="../../src/yuzu/applets/qt_controller.cpp" line="428"/> <source>Handheld</source> <translation>Portatile</translation> </message> @@ -5542,7 +5776,7 @@ p, li { white-space: pre-wrap; } <translation>8</translation> </message> <message> - <location filename="../../src/yuzu/applets/qt_controller.cpp" line="441"/> + <location filename="../../src/yuzu/applets/qt_controller.cpp" line="433"/> <source>GameCube Controller</source> <translation>Controller GameCube</translation> </message> @@ -5636,13 +5870,13 @@ p, li { white-space: pre-wrap; } <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></translation> </message> <message> - <location filename="../../src/yuzu/applets/qt_software_keyboard.cpp" line="396"/> - <location filename="../../src/yuzu/applets/qt_software_keyboard.cpp" line="406"/> + <location filename="../../src/yuzu/applets/qt_software_keyboard.cpp" line="399"/> + <location filename="../../src/yuzu/applets/qt_software_keyboard.cpp" line="409"/> <source>OK</source> <translation>OK</translation> </message> <message> - <location filename="../../src/yuzu/applets/qt_software_keyboard.cpp" line="406"/> + <location filename="../../src/yuzu/applets/qt_software_keyboard.cpp" line="409"/> <source>Cancel</source> <translation>Annulla</translation> </message> diff --git a/dist/languages/ja_JP.ts b/dist/languages/ja_JP.ts index aa8dbec5e..f641f99ed 100644 --- a/dist/languages/ja_JP.ts +++ b/dist/languages/ja_JP.ts @@ -656,7 +656,12 @@ p, li { white-space: pre-wrap; } <translation>自動スタブの有効化**</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_debug.ui" line="212"/> + <location filename="../../src/yuzu/configuration/configure_debug.ui" line="204"/> + <source>Enable all Controller Types</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_debug.ui" line="219"/> <source>**This will be reset automatically when yuzu closes.</source> <translation>**yuzuを終了したときに自動的にリセットされます.</translation> </message> @@ -936,67 +941,78 @@ p, li { white-space: pre-wrap; } <translation>全般</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_general.ui" line="35"/> - <source>Framerate Cap</source> + <location filename="../../src/yuzu/configuration/configure_general.ui" line="50"/> + <location filename="../../src/yuzu/configuration/configure_general.ui" line="57"/> + <source>Use global framerate cap</source> <translation type="unfinished"/> </message> <message> - <location filename="../../src/yuzu/configuration/configure_general.ui" line="38"/> + <location filename="../../src/yuzu/configuration/configure_general.ui" line="62"/> + <source>Set framerate cap:</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_general.ui" line="70"/> <source>Requires the use of the FPS Limiter Toggle hotkey to take effect.</source> <translation type="unfinished"/> </message> <message> - <location filename="../../src/yuzu/configuration/configure_general.ui" line="45"/> + <location filename="../../src/yuzu/configuration/configure_general.ui" line="73"/> + <source>Framerate Cap</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_general.ui" line="95"/> <source>x</source> <translation>x</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_general.ui" line="65"/> + <location filename="../../src/yuzu/configuration/configure_general.ui" line="116"/> <source>Limit Speed Percent</source> <translation>エミュレーション速度の制限</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_general.ui" line="72"/> + <location filename="../../src/yuzu/configuration/configure_general.ui" line="123"/> <source>%</source> <translation>%</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_general.ui" line="90"/> + <location filename="../../src/yuzu/configuration/configure_general.ui" line="141"/> <source>Multicore CPU Emulation</source> <translation>マルチコアCPUエミュレーション</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_general.ui" line="97"/> + <location filename="../../src/yuzu/configuration/configure_general.ui" line="148"/> <source>Confirm exit while emulation is running</source> <translation>エミュレーション停止時に確認</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_general.ui" line="104"/> + <location filename="../../src/yuzu/configuration/configure_general.ui" line="155"/> <source>Prompt for user on game boot</source> <translation>ゲーム起動時に確認を表示</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_general.ui" line="111"/> + <location filename="../../src/yuzu/configuration/configure_general.ui" line="162"/> <source>Pause emulation when in background</source> <translation>バックグラウンド時にエミュレーションを一時停止</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_general.ui" line="118"/> + <location filename="../../src/yuzu/configuration/configure_general.ui" line="169"/> <source>Hide mouse on inactivity</source> <translation>非アクティブ時にマウスカーソルを隠す</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_general.ui" line="160"/> + <location filename="../../src/yuzu/configuration/configure_general.ui" line="211"/> <source>Reset All Settings</source> <translation>すべての設定をリセット</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_general.cpp" line="70"/> + <location filename="../../src/yuzu/configuration/configure_general.cpp" line="78"/> <source>yuzu</source> <translation>yuzu</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_general.cpp" line="71"/> + <location filename="../../src/yuzu/configuration/configure_general.cpp" line="79"/> <source>This reset all settings and remove all per-game configurations. This will not delete game directories, profiles, or input profiles. Proceed?</source> <translation type="unfinished"/> </message> @@ -1114,18 +1130,113 @@ p, li { white-space: pre-wrap; } <translation>ウィンドウに合わせる</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_graphics.ui" line="339"/> - <location filename="../../src/yuzu/configuration/configure_graphics.ui" line="349"/> + <location filename="../../src/yuzu/configuration/configure_graphics.ui" line="330"/> + <source>Resolution:</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_graphics.ui" line="338"/> + <source>0.5X (360p/540p) [EXPERIMENTAL]</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_graphics.ui" line="343"/> + <source>0.75X (540p/810p) [EXPERIMENTAL]</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_graphics.ui" line="348"/> + <source>1X (720p/1080p)</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_graphics.ui" line="353"/> + <source>2X (1440p/2160p)</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_graphics.ui" line="358"/> + <source>3X (2160p/3240p)</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_graphics.ui" line="363"/> + <source>4X (2880p/4320p)</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_graphics.ui" line="368"/> + <source>5X (3600p/5400p)</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_graphics.ui" line="373"/> + <source>6X (4320p/6480p)</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_graphics.ui" line="399"/> + <source>Window Adapting Filter:</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_graphics.ui" line="407"/> + <source>Nearest Neighbor</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_graphics.ui" line="412"/> + <source>Bilinear</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_graphics.ui" line="417"/> + <source>Bicubic</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_graphics.ui" line="422"/> + <source>Gaussian</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_graphics.ui" line="427"/> + <source>ScaleForce</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_graphics.ui" line="432"/> + <source>AMD FidelityFX™️ Super Resolution [Vulkan Only]</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_graphics.ui" line="458"/> + <source>Anti-Aliasing Method:</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_graphics.ui" line="466"/> + <source>None</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_graphics.ui" line="471"/> + <source>FXAA</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_graphics.ui" line="506"/> + <location filename="../../src/yuzu/configuration/configure_graphics.ui" line="516"/> <source>Use global background color</source> <translation>共通設定を使用</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_graphics.ui" line="354"/> + <location filename="../../src/yuzu/configuration/configure_graphics.ui" line="521"/> <source>Set background color:</source> <translation>背景色の設定:</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_graphics.ui" line="362"/> + <location filename="../../src/yuzu/configuration/configure_graphics.ui" line="529"/> <source>Background Color:</source> <translation>背景色:</translation> </message> @@ -1194,28 +1305,33 @@ p, li { white-space: pre-wrap; } </message> <message> <location filename="../../src/yuzu/configuration/configure_graphics_advanced.ui" line="128"/> - <source>Default</source> - <translation>デフォルト</translation> + <source>Automatic</source> + <translation type="unfinished"/> </message> <message> <location filename="../../src/yuzu/configuration/configure_graphics_advanced.ui" line="133"/> - <source>2x (WILL BREAK THINGS)</source> - <translation>2x (破綻の可能性あり)</translation> + <source>Default</source> + <translation>デフォルト</translation> </message> <message> <location filename="../../src/yuzu/configuration/configure_graphics_advanced.ui" line="138"/> - <source>4x (WILL BREAK THINGS)</source> - <translation>4x (破綻の可能性あり)</translation> + <source>2x</source> + <translation type="unfinished"/> </message> <message> <location filename="../../src/yuzu/configuration/configure_graphics_advanced.ui" line="143"/> - <source>8x (WILL BREAK THINGS)</source> - <translation>8x (破綻の可能性あり)</translation> + <source>4x</source> + <translation type="unfinished"/> </message> <message> <location filename="../../src/yuzu/configuration/configure_graphics_advanced.ui" line="148"/> - <source>16x (WILL BREAK THINGS)</source> - <translation>16x (破綻の可能性あり)</translation> + <source>8x</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_graphics_advanced.ui" line="153"/> + <source>16x</source> + <translation type="unfinished"/> </message> </context> <context> @@ -1542,8 +1658,8 @@ p, li { white-space: pre-wrap; } </message> <message> <location filename="../../src/yuzu/configuration/configure_input_advanced.ui" line="2533"/> - <source>Other</source> - <translation>その他</translation> + <source>Emulated Devices</source> + <translation type="unfinished"/> </message> <message> <location filename="../../src/yuzu/configuration/configure_input_advanced.ui" line="2545"/> @@ -1552,499 +1668,524 @@ p, li { white-space: pre-wrap; } </message> <message> <location filename="../../src/yuzu/configuration/configure_input_advanced.ui" line="2558"/> - <source>Emulate Analog with Keyboard Input</source> - <translation>キーボードでアナログ入力をエミュレート</translation> - </message> - <message> - <location filename="../../src/yuzu/configuration/configure_input_advanced.ui" line="2571"/> - <source>Enable mouse panning</source> - <translation type="unfinished"/> - </message> - <message> - <location filename="../../src/yuzu/configuration/configure_input_advanced.ui" line="2578"/> - <source>Mouse sensitivity</source> - <translation>マウス感度</translation> - </message> - <message> - <location filename="../../src/yuzu/configuration/configure_input_advanced.ui" line="2584"/> - <source>%</source> - <translation>%</translation> - </message> - <message> - <location filename="../../src/yuzu/configuration/configure_input_advanced.ui" line="2600"/> - <location filename="../../src/yuzu/configuration/configure_input_advanced.ui" line="2623"/> - <source>Advanced</source> - <translation>高度な設定</translation> + <source>Mouse</source> + <translation>マウス</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_advanced.ui" line="2630"/> + <location filename="../../src/yuzu/configuration/configure_input_advanced.ui" line="2565"/> <source>Touchscreen</source> <translation>タッチスクリーン</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_advanced.ui" line="2643"/> - <source>Mouse</source> - <translation>マウス</translation> + <location filename="../../src/yuzu/configuration/configure_input_advanced.ui" line="2588"/> + <source>Advanced</source> + <translation>高度な設定</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_advanced.ui" line="2650"/> - <source>Motion / Touch</source> - <translation>モーション / タッチ</translation> + <location filename="../../src/yuzu/configuration/configure_input_advanced.ui" line="2595"/> + <source>Debug Controller</source> + <translation>デバッグ用コントローラ</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_advanced.ui" line="2657"/> - <location filename="../../src/yuzu/configuration/configure_input_advanced.ui" line="2671"/> + <location filename="../../src/yuzu/configuration/configure_input_advanced.ui" line="2602"/> + <location filename="../../src/yuzu/configuration/configure_input_advanced.ui" line="2702"/> <source>Configure</source> <translation>設定</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_advanced.ui" line="2664"/> - <source>Debug Controller</source> - <translation>デバッグ用コントローラ</translation> + <location filename="../../src/yuzu/configuration/configure_input_advanced.ui" line="2612"/> + <source>Other</source> + <translation>その他</translation> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_input_advanced.ui" line="2624"/> + <source>Emulate Analog with Keyboard Input</source> + <translation>キーボードでアナログ入力をエミュレート</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_advanced.ui" line="2678"/> + <location filename="../../src/yuzu/configuration/configure_input_advanced.ui" line="2631"/> <source>Requires restarting yuzu</source> <translation>yuzuの再起動が必要</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_advanced.ui" line="2687"/> + <location filename="../../src/yuzu/configuration/configure_input_advanced.ui" line="2640"/> <source>Enable XInput 8 player support (disables web applet)</source> <translation>XInput 8プレイヤーサポートの有効化 (webアプレットの無効化)</translation> </message> -</context> -<context> - <name>ConfigureInputPlayer</name> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="14"/> - <source>Configure Input</source> - <translation>入力設定</translation> + <location filename="../../src/yuzu/configuration/configure_input_advanced.ui" line="2653"/> + <source>Enable UDP controllers (not needed for motion)</source> + <translation type="unfinished"/> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="63"/> - <source>Connect Controller</source> - <translation>有効</translation> + <location filename="../../src/yuzu/configuration/configure_input_advanced.ui" line="2666"/> + <source>Enable mouse panning</source> + <translation type="unfinished"/> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="94"/> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="535"/> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="986"/> - <source>Pro Controller</source> - <translation>Proコントローラ</translation> + <location filename="../../src/yuzu/configuration/configure_input_advanced.ui" line="2673"/> + <source>Mouse sensitivity</source> + <translation>マウス感度</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="99"/> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="992"/> - <source>Dual Joycons</source> - <translation>Joy-Con(L/R)</translation> + <location filename="../../src/yuzu/configuration/configure_input_advanced.ui" line="2679"/> + <source>%</source> + <translation>%</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="104"/> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="998"/> - <source>Left Joycon</source> - <translation>Joy-Con(L)</translation> + <location filename="../../src/yuzu/configuration/configure_input_advanced.ui" line="2695"/> + <source>Motion / Touch</source> + <translation>モーション / タッチ</translation> </message> +</context> +<context> + <name>ConfigureInputPlayer</name> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="109"/> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="1004"/> - <source>Right Joycon</source> - <translation>Joy-Con(R)</translation> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="14"/> + <source>Configure Input</source> + <translation>入力設定</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="114"/> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="1010"/> - <source>Handheld</source> - <translation>携帯モード</translation> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="63"/> + <source>Connect Controller</source> + <translation>有効</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="125"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="100"/> <source>Input Device</source> <translation>入力デバイス</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="153"/> - <source>Any</source> - <translation>すべての入力デバイス</translation> - </message> - <message> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="158"/> - <source>Keyboard/Mouse</source> - <translation>キーボード / マウス</translation> - </message> - <message> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="194"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="156"/> <source>Profile</source> <translation>プロファイル</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="234"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="196"/> <source>Save</source> <translation>保存</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="250"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="212"/> <source>New</source> <translation>新規</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="266"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="228"/> <source>Delete</source> <translation>削除</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="329"/> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="1267"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="291"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="1190"/> <source>Left Stick</source> <translation>Lスティック</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="387"/> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="429"/> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="963"/> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="1002"/> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="2621"/> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="2660"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="349"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="391"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="925"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="964"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="2583"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="2622"/> <source>Up</source> <translation>上</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="460"/> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="499"/> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="1033"/> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="1072"/> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="2107"/> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="2691"/> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="2730"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="422"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="461"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="995"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="1034"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="2069"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="2653"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="2692"/> <source>Left</source> <translation>左</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="509"/> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="548"/> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="1082"/> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="1121"/> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="2156"/> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="2740"/> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="2779"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="471"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="510"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="1044"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="1083"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="2118"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="2702"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="2741"/> <source>Right</source> <translation>右</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="591"/> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="630"/> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="1164"/> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="1203"/> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="2822"/> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="2861"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="553"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="592"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="1126"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="1165"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="2784"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="2823"/> <source>Down</source> <translation>下</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="661"/> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="700"/> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="2892"/> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="2931"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="623"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="662"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="2854"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="2893"/> <source>Pressed</source> <translation>押下</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="710"/> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="749"/> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="2941"/> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="2980"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="672"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="711"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="2903"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="2942"/> <source>Modifier</source> <translation>変更</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="759"/> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="2990"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="721"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="2952"/> <source>Range</source> <translation>範囲</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="792"/> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="3023"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="754"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="2985"/> <source>%</source> <translation>%</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="835"/> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="3063"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="797"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="3025"/> <source>Deadzone: 0%</source> <translation>デッドゾーン:0%</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="859"/> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="3087"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="821"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="3049"/> <source>Modifier Range: 0%</source> <translation>変更範囲:0%</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="905"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="867"/> <source>D-Pad</source> <translation>方向ボタン</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="1289"/> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="1328"/> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="1272"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="1251"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="1290"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="1195"/> <source>L</source> <translation>L</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="1344"/> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="1383"/> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="1264"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="1306"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="1345"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="1187"/> <source>ZL</source> <translation>ZL</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="1464"/> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="1503"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="1426"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="1465"/> <source>Minus</source> <translation>-</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="1513"/> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="1552"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="1475"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="1514"/> <source>Capture</source> <translation>キャプチャー</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="1583"/> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="1622"/> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="1263"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="1545"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="1584"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="1186"/> <source>Plus</source> <translation>+</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="1632"/> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="1671"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="1594"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="1633"/> <source>Home</source> <translation>HOME</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="1736"/> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="1775"/> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="1266"/> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="1273"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="1698"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="1737"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="1189"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="1196"/> <source>R</source> <translation>R</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="1791"/> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="1830"/> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="1265"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="1753"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="1792"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="1188"/> <source>ZR</source> <translation>ZR</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="1911"/> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="1950"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="1873"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="1912"/> <source>SL</source> <translation>SL</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="1960"/> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="1999"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="1922"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="1961"/> <source>SR</source> <translation>SR</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="2068"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="2030"/> <source>Motion 1</source> <translation>モーション1</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="2117"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="2079"/> <source>Motion 2</source> <translation>モーション2</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="2208"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="2170"/> <source>Face Buttons</source> <translation>ABXYボタン</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="2266"/> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="2305"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="2228"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="2267"/> <source>X</source> <translation>X</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="2336"/> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="2375"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="2298"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="2337"/> <source>Y</source> <translation>Y</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="2385"/> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="2424"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="2347"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="2386"/> <source>A</source> <translation>A</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="2467"/> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="2506"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="2429"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="2468"/> <source>B</source> <translation>B</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="2554"/> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="1268"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="2516"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="1191"/> <source>Right Stick</source> <translation>Rスティック</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="322"/> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="372"/> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="430"/> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="474"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="330"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="396"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="461"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="507"/> <source>Clear</source> <translation>クリア</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="324"/> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="374"/> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="432"/> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="476"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="332"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="398"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="463"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="509"/> <source>[not set]</source> <translation>[未設定]</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="327"/> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="478"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="335"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="512"/> <source>Toggle button</source> <translation type="unfinished"/> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="335"/> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="339"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="341"/> + <source>Invert button</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="349"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="465"/> + <source>Invert axis</source> + <translation>軸を反転</translation> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="355"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="359"/> <source>Set threshold</source> <translation>しきい値を設定</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="339"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="359"/> <source>Choose a value between 0% and 100%</source> <translation>0%から100%の間の値を選択してください</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="406"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="436"/> <source>Map Analog Stick</source> <translation>アナログスティックをマップ</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="407"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="437"/> <source>After pressing OK, first move your joystick horizontally, and then vertically. To invert the axes, first move your joystick vertically, and then horizontally.</source> <translation>OKを押したあと, まずジョイスティックを水平方向に動かし, 次に垂直方向に動かしてください. 軸を反転させる場合は, 最初に垂直方向に動かし, 次に水平方向に動かしてください.</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="434"/> - <source>Invert axis</source> - <translation>軸を反転</translation> - </message> - <message> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="500"/> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="952"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="537"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="891"/> <source>Deadzone: %1%</source> <translation>デッドゾーン:%1%</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="508"/> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="963"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="546"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="896"/> <source>Modifier Range: %1%</source> <translation>変更範囲:%1%</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="1016"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="572"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="918"/> + <source>Pro Controller</source> + <translation>Proコントローラ</translation> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="924"/> + <source>Dual Joycons</source> + <translation>Joy-Con(L/R)</translation> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="930"/> + <source>Left Joycon</source> + <translation>Joy-Con(L)</translation> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="936"/> + <source>Right Joycon</source> + <translation>Joy-Con(R)</translation> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="942"/> + <source>Handheld</source> + <translation>携帯モード</translation> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="948"/> <source>GameCube Controller</source> <translation>ゲームキューブコントローラ</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="1271"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="958"/> + <source>Poke Ball Plus</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="964"/> + <source>NES Controller</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="970"/> + <source>SNES Controller</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="976"/> + <source>N64 Controller</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="982"/> + <source>Sega Genesis</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="1194"/> <source>Start / Pause</source> <translation type="unfinished"/> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="1274"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="1197"/> <source>Z</source> <translation>Z</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="1275"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="1198"/> <source>Control Stick</source> <translation type="unfinished"/> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="1276"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="1199"/> <source>C-Stick</source> <translation>Cスティック</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="1335"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="1297"/> <source>Shake!</source> <translation type="unfinished"/> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="1337"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="1299"/> <source>[waiting]</source> <translation>[待機中]</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="1462"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="1381"/> <source>New Profile</source> <translation>新規プロファイル</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="1462"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="1381"/> <source>Enter a profile name:</source> <translation>プロファイル名を入力:</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="1470"/> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="1478"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="1389"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="1397"/> <source>Create Input Profile</source> <translation>入力プロファイルを作成</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="1471"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="1390"/> <source>The given profile name is not valid!</source> <translation>プロファイル名が無効です!</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="1479"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="1398"/> <source>Failed to create the input profile "%1"</source> <translation>入力プロファイル "%1" の作成に失敗しました</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="1499"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="1418"/> <source>Delete Input Profile</source> <translation>入力プロファイルを削除</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="1500"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="1419"/> <source>Failed to delete the input profile "%1"</source> <translation>入力プロファイル "%1" の削除に失敗しました</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="1522"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="1441"/> <source>Load Input Profile</source> <translation>入力プロファイルをロード</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="1523"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="1442"/> <source>Failed to load the input profile "%1"</source> <translation>入力プロファイル "%1" のロードに失敗しました</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="1542"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="1461"/> <source>Save Input Profile</source> <translation>入力プロファイルをセーブ</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="1543"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="1462"/> <source>Failed to save the input profile "%1"</source> <translation>入力プロファイル "%1" のセーブに失敗しました</translation> </message> @@ -2070,85 +2211,75 @@ To invert the axes, first move your joystick vertically, and then horizontally.< <context> <name>ConfigureMotionTouch</name> <message> - <location filename="../../src/yuzu/configuration/configure_motion_touch.ui" line="14"/> + <location filename="../../src/yuzu/configuration/configure_motion_touch.ui" line="6"/> <source>Configure Motion / Touch</source> <translation>モーション / タッチ設定</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_motion_touch.ui" line="23"/> - <source>Mouse Motion</source> - <translation>マウスモーション</translation> - </message> - <message> - <location filename="../../src/yuzu/configuration/configure_motion_touch.ui" line="31"/> - <source>Sensitivity:</source> - <translation>感度:</translation> - </message> - <message> - <location filename="../../src/yuzu/configuration/configure_motion_touch.ui" line="65"/> + <location filename="../../src/yuzu/configuration/configure_motion_touch.ui" line="15"/> <source>Touch</source> <translation>タッチの設定</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_motion_touch.ui" line="73"/> + <location filename="../../src/yuzu/configuration/configure_motion_touch.ui" line="23"/> <source>UDP Calibration:</source> <translation type="unfinished"/> </message> <message> - <location filename="../../src/yuzu/configuration/configure_motion_touch.ui" line="80"/> + <location filename="../../src/yuzu/configuration/configure_motion_touch.ui" line="30"/> <source>(100, 50) - (1800, 850)</source> <translation>(100, 50) - (1800, 850)</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_motion_touch.ui" line="96"/> - <location filename="../../src/yuzu/configuration/configure_motion_touch.ui" line="129"/> - <location filename="../../src/yuzu/configuration/configure_motion_touch.cpp" line="250"/> + <location filename="../../src/yuzu/configuration/configure_motion_touch.ui" line="46"/> + <location filename="../../src/yuzu/configuration/configure_motion_touch.ui" line="73"/> + <location filename="../../src/yuzu/configuration/configure_motion_touch.cpp" line="245"/> <source>Configure</source> <translation>設定</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_motion_touch.ui" line="113"/> - <source>Use button mapping:</source> - <translation>ボタンマッピングを使用:</translation> + <location filename="../../src/yuzu/configuration/configure_motion_touch.ui" line="57"/> + <source>Touch from button profile:</source> + <translation type="unfinished"/> </message> <message> - <location filename="../../src/yuzu/configuration/configure_motion_touch.ui" line="141"/> + <location filename="../../src/yuzu/configuration/configure_motion_touch.ui" line="85"/> <source>CemuhookUDP Config</source> <translation>CemuhookUDPの設定</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_motion_touch.ui" line="147"/> + <location filename="../../src/yuzu/configuration/configure_motion_touch.ui" line="91"/> <source>You may use any Cemuhook compatible UDP input source to provide motion and touch input.</source> <translation>モーションとタッチの入力元として、Cemuhook互換のUDP入力ソースを使用します。</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_motion_touch.ui" line="190"/> + <location filename="../../src/yuzu/configuration/configure_motion_touch.ui" line="134"/> <source>Server:</source> <translation>サーバー:</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_motion_touch.ui" line="217"/> + <location filename="../../src/yuzu/configuration/configure_motion_touch.ui" line="161"/> <source>Port:</source> <translation>ポート:</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_motion_touch.ui" line="244"/> + <location filename="../../src/yuzu/configuration/configure_motion_touch.ui" line="188"/> <source>Learn More</source> <translation>詳細情報</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_motion_touch.ui" line="257"/> - <location filename="../../src/yuzu/configuration/configure_motion_touch.cpp" line="273"/> + <location filename="../../src/yuzu/configuration/configure_motion_touch.ui" line="201"/> + <location filename="../../src/yuzu/configuration/configure_motion_touch.cpp" line="268"/> <source>Test</source> <translation>テスト</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_motion_touch.ui" line="270"/> + <location filename="../../src/yuzu/configuration/configure_motion_touch.ui" line="214"/> <source>Add Server</source> <translation>サーバを追加</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_motion_touch.ui" line="303"/> + <location filename="../../src/yuzu/configuration/configure_motion_touch.ui" line="247"/> <source>Remove Server</source> <translation>サーバを削除</translation> </message> @@ -2158,146 +2289,82 @@ To invert the axes, first move your joystick vertically, and then horizontally.< <translation><a href='https://yuzu-emu.org/wiki/using-a-controller-or-android-phone-for-motion-or-touch-input'><span style="text-decoration: underline; color:#039be5;">詳細情報</span></a></translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_motion_touch.cpp" line="176"/> + <location filename="../../src/yuzu/configuration/configure_motion_touch.cpp" line="171"/> <source>%1:%2</source> <translation>%1:%2</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_motion_touch.cpp" line="181"/> - <location filename="../../src/yuzu/configuration/configure_motion_touch.cpp" line="185"/> - <location filename="../../src/yuzu/configuration/configure_motion_touch.cpp" line="189"/> - <location filename="../../src/yuzu/configuration/configure_motion_touch.cpp" line="195"/> - <location filename="../../src/yuzu/configuration/configure_motion_touch.cpp" line="201"/> - <location filename="../../src/yuzu/configuration/configure_motion_touch.cpp" line="295"/> + <location filename="../../src/yuzu/configuration/configure_motion_touch.cpp" line="176"/> + <location filename="../../src/yuzu/configuration/configure_motion_touch.cpp" line="180"/> + <location filename="../../src/yuzu/configuration/configure_motion_touch.cpp" line="184"/> + <location filename="../../src/yuzu/configuration/configure_motion_touch.cpp" line="190"/> + <location filename="../../src/yuzu/configuration/configure_motion_touch.cpp" line="196"/> + <location filename="../../src/yuzu/configuration/configure_motion_touch.cpp" line="290"/> <source>yuzu</source> <translation>yuzu</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_motion_touch.cpp" line="181"/> + <location filename="../../src/yuzu/configuration/configure_motion_touch.cpp" line="176"/> <source>Port number has invalid characters</source> <translation>ポート番号に無効な文字が含まれています</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_motion_touch.cpp" line="185"/> + <location filename="../../src/yuzu/configuration/configure_motion_touch.cpp" line="180"/> <source>Port has to be in range 0 and 65353</source> <translation>ポート番号は0から65353の間で設定してください</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_motion_touch.cpp" line="189"/> + <location filename="../../src/yuzu/configuration/configure_motion_touch.cpp" line="184"/> <source>IP address is not valid</source> <translation>IPアドレスが無効です</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_motion_touch.cpp" line="195"/> + <location filename="../../src/yuzu/configuration/configure_motion_touch.cpp" line="190"/> <source>This UDP server already exists</source> <translation>このUDPサーバはすでに存在してます</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_motion_touch.cpp" line="201"/> + <location filename="../../src/yuzu/configuration/configure_motion_touch.cpp" line="196"/> <source>Unable to add more than 8 servers</source> <translation>8個以上のサーバを追加することはできません</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_motion_touch.cpp" line="217"/> + <location filename="../../src/yuzu/configuration/configure_motion_touch.cpp" line="212"/> <source>Testing</source> <translation>テスト中...</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_motion_touch.cpp" line="233"/> + <location filename="../../src/yuzu/configuration/configure_motion_touch.cpp" line="228"/> <source>Configuring</source> <translation>設定中...</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_motion_touch.cpp" line="264"/> + <location filename="../../src/yuzu/configuration/configure_motion_touch.cpp" line="259"/> <source>Test Successful</source> <translation>テスト成功</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_motion_touch.cpp" line="265"/> + <location filename="../../src/yuzu/configuration/configure_motion_touch.cpp" line="260"/> <source>Successfully received data from the server.</source> <translation>サーバーからのデータ受信に成功しました。</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_motion_touch.cpp" line="267"/> + <location filename="../../src/yuzu/configuration/configure_motion_touch.cpp" line="262"/> <source>Test Failed</source> <translation>テスト失敗</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_motion_touch.cpp" line="268"/> + <location filename="../../src/yuzu/configuration/configure_motion_touch.cpp" line="263"/> <source>Could not receive valid data from the server.<br>Please verify that the server is set up correctly and the address and port are correct.</source> <translation>有効なデータを受信できませんでした。<br>サーバーが正しくセットアップされ、アドレスとポートが正しいことを確認してください。</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_motion_touch.cpp" line="296"/> + <location filename="../../src/yuzu/configuration/configure_motion_touch.cpp" line="291"/> <source>UDP Test or calibration configuration is in progress.<br>Please wait for them to finish.</source> <translation>UDPテストまたはキャリブレーション実行中です。<br>完了までお待ちください。</translation> </message> </context> <context> - <name>ConfigureMouseAdvanced</name> - <message> - <location filename="../../src/yuzu/configuration/configure_mouse_advanced.ui" line="14"/> - <source>Configure Mouse</source> - <translation>マウス設定</translation> - </message> - <message> - <location filename="../../src/yuzu/configuration/configure_mouse_advanced.ui" line="25"/> - <source>Mouse Buttons</source> - <translation>マウスボタン</translation> - </message> - <message> - <location filename="../../src/yuzu/configuration/configure_mouse_advanced.ui" line="35"/> - <source>Forward:</source> - <translation>進む:</translation> - </message> - <message> - <location filename="../../src/yuzu/configuration/configure_mouse_advanced.ui" line="75"/> - <source>Back:</source> - <translation>戻る:</translation> - </message> - <message> - <location filename="../../src/yuzu/configuration/configure_mouse_advanced.ui" line="103"/> - <source>Left:</source> - <translation>左:</translation> - </message> - <message> - <location filename="../../src/yuzu/configuration/configure_mouse_advanced.ui" line="131"/> - <source>Middle:</source> - <translation>中央:</translation> - </message> - <message> - <location filename="../../src/yuzu/configuration/configure_mouse_advanced.ui" line="197"/> - <source>Right:</source> - <translation>右:</translation> - </message> - <message> - <location filename="../../src/yuzu/configuration/configure_mouse_advanced.ui" line="270"/> - <location filename="../../src/yuzu/configuration/configure_mouse_advanced.cpp" line="109"/> - <source>Clear</source> - <translation>消去</translation> - </message> - <message> - <location filename="../../src/yuzu/configuration/configure_mouse_advanced.ui" line="289"/> - <source>Defaults</source> - <translation>デフォルト</translation> - </message> - <message> - <location filename="../../src/yuzu/configuration/configure_mouse_advanced.cpp" line="111"/> - <source>[not set]</source> - <translation>[未設定]</translation> - </message> - <message> - <location filename="../../src/yuzu/configuration/configure_mouse_advanced.cpp" line="113"/> - <source>Restore Default</source> - <translation>デフォルトに戻す</translation> - </message> - <message> - <location filename="../../src/yuzu/configuration/configure_mouse_advanced.cpp" line="200"/> - <source>[press key]</source> - <translation>[キーを入力]</translation> - </message> -</context> -<context> <name>ConfigureNetwork</name> <message> <location filename="../../src/yuzu/configuration/configure_network.ui" line="14"/> @@ -3080,31 +3147,26 @@ To invert the axes, first move your joystick vertically, and then horizontally.< </message> <message> <location filename="../../src/yuzu/configuration/configure_tas.ui" line="64"/> - <source>Automatic controller profile swapping</source> - <translation>コントローラプロファイルを自動で切り替え</translation> - </message> - <message> - <location filename="../../src/yuzu/configuration/configure_tas.ui" line="71"/> <source>Loop script</source> <translation>スクリプトを繰り返し実行</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_tas.ui" line="81"/> + <location filename="../../src/yuzu/configuration/configure_tas.ui" line="74"/> <source>Pause execution during loads</source> <translation>ロード中は実行を一時停止</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_tas.ui" line="95"/> + <location filename="../../src/yuzu/configuration/configure_tas.ui" line="88"/> <source>Script Directory</source> <translation>スクリプトディレクトリ</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_tas.ui" line="101"/> + <location filename="../../src/yuzu/configuration/configure_tas.ui" line="94"/> <source>Path</source> <translation>パス</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_tas.ui" line="108"/> + <location filename="../../src/yuzu/configuration/configure_tas.ui" line="101"/> <source>...</source> <translation>...</translation> </message> @@ -3117,7 +3179,7 @@ To invert the axes, first move your joystick vertically, and then horizontally.< <translation>TAS 設定</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_tas.cpp" line="53"/> + <location filename="../../src/yuzu/configuration/configure_tas.cpp" line="51"/> <source>Select TAS Load Directory...</source> <translation>TAS ロードディレクトリを選択...</translation> </message> @@ -3179,37 +3241,37 @@ Drag points to change position, or double-click table cells to edit values.</sou <translation>Y</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_touch_from_button.cpp" line="200"/> + <location filename="../../src/yuzu/configuration/configure_touch_from_button.cpp" line="197"/> <source>New Profile</source> <translation>新規プロファイル</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_touch_from_button.cpp" line="200"/> + <location filename="../../src/yuzu/configuration/configure_touch_from_button.cpp" line="197"/> <source>Enter the name for the new profile.</source> <translation>プロファイル名を入力</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_touch_from_button.cpp" line="211"/> + <location filename="../../src/yuzu/configuration/configure_touch_from_button.cpp" line="208"/> <source>Delete Profile</source> <translation>プロファイルの削除</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_touch_from_button.cpp" line="211"/> + <location filename="../../src/yuzu/configuration/configure_touch_from_button.cpp" line="208"/> <source>Delete profile %1?</source> <translation>プロファイル%1を削除しますか?</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_touch_from_button.cpp" line="224"/> + <location filename="../../src/yuzu/configuration/configure_touch_from_button.cpp" line="221"/> <source>Rename Profile</source> <translation>プロファイルのリネーム</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_touch_from_button.cpp" line="224"/> + <location filename="../../src/yuzu/configuration/configure_touch_from_button.cpp" line="221"/> <source>New name:</source> <translation>新しいプロファイル名:</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_touch_from_button.cpp" line="233"/> + <location filename="../../src/yuzu/configuration/configure_touch_from_button.cpp" line="230"/> <source>[press key]</source> <translation>[キーを押す]</translation> </message> @@ -3629,12 +3691,12 @@ Drag points to change position, or double-click table cells to edit values.</sou <context> <name>ControllerDialog</name> <message> - <location filename="../../src/yuzu/debugger/controller.cpp" line="17"/> + <location filename="../../src/yuzu/debugger/controller.cpp" line="21"/> <source>Controller P1</source> <translation>コントローラ P1</translation> </message> <message> - <location filename="../../src/yuzu/debugger/controller.cpp" line="52"/> + <location filename="../../src/yuzu/debugger/controller.cpp" line="60"/> <source>&Controller P1</source> <translation>コントローラ P1(&C)</translation> </message> @@ -3642,90 +3704,95 @@ Drag points to change position, or double-click table cells to edit values.</sou <context> <name>GMainWindow</name> <message> - <location filename="../../src/yuzu/main.cpp" line="174"/> + <location filename="../../src/yuzu/main.cpp" line="176"/> <source><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?</source> <translation>yuzuを改善するための<a href='https://yuzu-emu.org/help/feature/telemetry/'>匿名データが収集されました</a>。<br/><br/>統計情報データを共有しますか?</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="177"/> + <location filename="../../src/yuzu/main.cpp" line="179"/> <source>Telemetry</source> <translation>テレメトリ</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="592"/> + <location filename="../../src/yuzu/main.cpp" line="600"/> <source>Loading Web Applet...</source> <translation>Webアプレットをロード中...</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="639"/> - <location filename="../../src/yuzu/main.cpp" line="642"/> + <location filename="../../src/yuzu/main.cpp" line="647"/> + <location filename="../../src/yuzu/main.cpp" line="650"/> <source>Disable Web Applet</source> <translation>Webアプレットの無効化</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="643"/> + <location filename="../../src/yuzu/main.cpp" line="651"/> <source>Disabling the web applet will cause it to not be shown again for the rest of the emulated session. This 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?</source> <translation type="unfinished"/> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="746"/> + <location filename="../../src/yuzu/main.cpp" line="754"/> <source>The amount of shaders currently being built</source> <translation>ビルド中のシェーダー数</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="749"/> + <location filename="../../src/yuzu/main.cpp" line="756"/> + <source>The current selected resolution scaling multiplier.</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/main.cpp" line="759"/> <source>Current emulation speed. Values higher or lower than 100% indicate emulation is running faster or slower than a Switch.</source> <translation>現在のエミュレーション速度。値が100%より高いか低い場合、エミュレーション速度がSwitchより速いか遅いことを示します。</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="752"/> + <location filename="../../src/yuzu/main.cpp" line="762"/> <source>How many frames per second the game is currently displaying. This will vary from game to game and scene to scene.</source> <translation>ゲームが現在表示している1秒あたりのフレーム数。これはゲームごと、シーンごとに異なります。</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="756"/> + <location filename="../../src/yuzu/main.cpp" line="766"/> <source>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.</source> <translation>Switchフレームをエミュレートするのにかかる時間で、フレームリミットやV-Syncは含まれません。フルスピードエミュレーションの場合、最大で16.67ミリ秒になります。</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="781"/> + <location filename="../../src/yuzu/main.cpp" line="841"/> <source>Invalid config detected</source> <translation>無効な設定を検出しました</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="782"/> + <location filename="../../src/yuzu/main.cpp" line="842"/> <source>Handheld controller can't be used on docked mode. Pro controller will be selected.</source> <translation>携帯コントローラはドックモードで使用できません. Proコントローラが選択されます.</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="794"/> + <location filename="../../src/yuzu/main.cpp" line="854"/> <source>DOCK</source> <translation>DOCK</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="828"/> + <location filename="../../src/yuzu/main.cpp" line="888"/> <source>VULKAN</source> <translation>VULKAN</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="828"/> + <location filename="../../src/yuzu/main.cpp" line="888"/> <source>OPENGL</source> <translation>OPENGL</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="886"/> + <location filename="../../src/yuzu/main.cpp" line="951"/> <source>&Clear Recent Files</source> <translation>最近のファイルをクリア(&C)</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="1055"/> - <source>TAS Recording</source> - <translation> TAS 記録中</translation> + <location filename="../../src/yuzu/main.cpp" line="1210"/> + <source>&Continue</source> + <translation type="unfinished"/> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="1056"/> - <source>Overwrite file of player 1?</source> - <translation>プレイヤー1のファイルを上書きしますか?</translation> + <location filename="../../src/yuzu/main.cpp" line="1212"/> + <source>&Pause</source> + <translation type="unfinished"/> </message> <message> <location filename="../../src/yuzu/main.cpp" line="1285"/> @@ -3776,659 +3843,726 @@ Drag points to change position, or double-click table cells to edit values.</sou <translation>不明なエラーが発生しました。詳細はログを確認して下さい。</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="1462"/> + <location filename="../../src/yuzu/main.cpp" line="1460"/> <source>(64-bit)</source> <translation>(64-bit)</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="1462"/> + <location filename="../../src/yuzu/main.cpp" line="1460"/> <source>(32-bit)</source> <translation>(32-bit)</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="1463"/> + <location filename="../../src/yuzu/main.cpp" line="1461"/> <source>%1 %2</source> <comment>%1 is the title name. %2 indicates if the title is 64-bit or 32-bit</comment> <translation>%1 %2</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="1507"/> - <source>Start</source> - <translation>開始</translation> - </message> - <message> - <location filename="../../src/yuzu/main.cpp" line="1612"/> + <location filename="../../src/yuzu/main.cpp" line="1605"/> <source>Save Data</source> <translation>データのセーブ</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="1660"/> + <location filename="../../src/yuzu/main.cpp" line="1653"/> <source>Mod Data</source> <translation>Modデータ</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="1672"/> + <location filename="../../src/yuzu/main.cpp" line="1665"/> <source>Error Opening %1 Folder</source> <translation>”%1”フォルダを開けませんでした</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="1673"/> - <location filename="../../src/yuzu/main.cpp" line="2079"/> + <location filename="../../src/yuzu/main.cpp" line="1666"/> + <location filename="../../src/yuzu/main.cpp" line="2072"/> <source>Folder does not exist!</source> <translation>フォルダが存在しません!</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="1685"/> + <location filename="../../src/yuzu/main.cpp" line="1678"/> <source>Error Opening Transferable Shader Cache</source> <translation>シェーダキャッシュを開けませんでした</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="1686"/> + <location filename="../../src/yuzu/main.cpp" line="1679"/> <source>Failed to create the shader cache directory for this title.</source> <translation>このタイトル用のシェーダキャッシュディレクトリの作成に失敗しました</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="1738"/> + <location filename="../../src/yuzu/main.cpp" line="1731"/> <source>Contents</source> <translation>コンテンツ</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="1740"/> + <location filename="../../src/yuzu/main.cpp" line="1733"/> <source>Update</source> <translation>アップデート</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="1742"/> + <location filename="../../src/yuzu/main.cpp" line="1735"/> <source>DLC</source> <translation>DLC</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="1749"/> + <location filename="../../src/yuzu/main.cpp" line="1742"/> <source>Remove Entry</source> <translation>エントリ削除</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="1749"/> + <location filename="../../src/yuzu/main.cpp" line="1742"/> <source>Remove Installed Game %1?</source> <translation>インストールされているゲーム%1を削除しますか?</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="1779"/> - <location filename="../../src/yuzu/main.cpp" line="1795"/> - <location filename="../../src/yuzu/main.cpp" line="1826"/> - <location filename="../../src/yuzu/main.cpp" line="1887"/> - <location filename="../../src/yuzu/main.cpp" line="1905"/> - <location filename="../../src/yuzu/main.cpp" line="1928"/> + <location filename="../../src/yuzu/main.cpp" line="1772"/> + <location filename="../../src/yuzu/main.cpp" line="1788"/> + <location filename="../../src/yuzu/main.cpp" line="1819"/> + <location filename="../../src/yuzu/main.cpp" line="1880"/> + <location filename="../../src/yuzu/main.cpp" line="1898"/> + <location filename="../../src/yuzu/main.cpp" line="1921"/> <source>Successfully Removed</source> <translation>削除しました</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="1780"/> + <location filename="../../src/yuzu/main.cpp" line="1773"/> <source>Successfully removed the installed base game.</source> <translation>インストールされたゲームを正常に削除しました。</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="1783"/> - <location filename="../../src/yuzu/main.cpp" line="1798"/> - <location filename="../../src/yuzu/main.cpp" line="1821"/> + <location filename="../../src/yuzu/main.cpp" line="1776"/> + <location filename="../../src/yuzu/main.cpp" line="1791"/> + <location filename="../../src/yuzu/main.cpp" line="1814"/> <source>Error Removing %1</source> <translation>%1削除エラー</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="1784"/> + <location filename="../../src/yuzu/main.cpp" line="1777"/> <source>The base game is not installed in the NAND and cannot be removed.</source> <translation>ゲームはNANDにインストールされていないため、削除できません。</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="1796"/> + <location filename="../../src/yuzu/main.cpp" line="1789"/> <source>Successfully removed the installed update.</source> <translation>インストールされたアップデートを正常に削除しました。</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="1799"/> + <location filename="../../src/yuzu/main.cpp" line="1792"/> <source>There is no update installed for this title.</source> <translation>このタイトルのアップデートはインストールされていません。</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="1822"/> + <location filename="../../src/yuzu/main.cpp" line="1815"/> <source>There are no DLC installed for this title.</source> <translation>このタイトルにはDLCがインストールされていません。</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="1827"/> + <location filename="../../src/yuzu/main.cpp" line="1820"/> <source>Successfully removed %1 installed DLC.</source> <translation>%1にインストールされたDLCを正常に削除しました。</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="1835"/> + <location filename="../../src/yuzu/main.cpp" line="1828"/> <source>Delete OpenGL Transferable Shader Cache?</source> <translation>転送可能なOpenGLシェーダキャッシュを削除しますか?</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="1837"/> + <location filename="../../src/yuzu/main.cpp" line="1830"/> <source>Delete Vulkan Transferable Shader Cache?</source> <translation>転送可能なVulkanシェーダキャッシュを削除しますか?</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="1839"/> + <location filename="../../src/yuzu/main.cpp" line="1832"/> <source>Delete All Transferable Shader Caches?</source> <translation>転送可能なすべてのシェーダキャッシュを削除しますか?</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="1841"/> + <location filename="../../src/yuzu/main.cpp" line="1834"/> <source>Remove Custom Game Configuration?</source> <translation>カスタムゲーム設定を削除しますか?</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="1847"/> + <location filename="../../src/yuzu/main.cpp" line="1840"/> <source>Remove File</source> <translation>ファイル削除</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="1882"/> - <location filename="../../src/yuzu/main.cpp" line="1890"/> + <location filename="../../src/yuzu/main.cpp" line="1875"/> + <location filename="../../src/yuzu/main.cpp" line="1883"/> <source>Error Removing Transferable Shader Cache</source> <translation>転送可能なシェーダーキャッシュの削除エラー</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="1883"/> - <location filename="../../src/yuzu/main.cpp" line="1901"/> + <location filename="../../src/yuzu/main.cpp" line="1876"/> + <location filename="../../src/yuzu/main.cpp" line="1894"/> <source>A shader cache for this title does not exist.</source> <translation>このタイトル用のシェーダキャッシュは存在しません。</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="1888"/> + <location filename="../../src/yuzu/main.cpp" line="1881"/> <source>Successfully removed the transferable shader cache.</source> <translation>転送可能なシェーダーキャッシュが正常に削除されました。</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="1891"/> + <location filename="../../src/yuzu/main.cpp" line="1884"/> <source>Failed to remove the transferable shader cache.</source> <translation>転送可能なシェーダーキャッシュを削除できませんでした。</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="1900"/> - <location filename="../../src/yuzu/main.cpp" line="1908"/> + <location filename="../../src/yuzu/main.cpp" line="1893"/> + <location filename="../../src/yuzu/main.cpp" line="1901"/> <source>Error Removing Transferable Shader Caches</source> <translation>転送可能なシェーダキャッシュの削除エラー</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="1906"/> + <location filename="../../src/yuzu/main.cpp" line="1899"/> <source>Successfully removed the transferable shader caches.</source> <translation>転送可能なシェーダキャッシュを正常に削除しました.</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="1909"/> + <location filename="../../src/yuzu/main.cpp" line="1902"/> <source>Failed to remove the transferable shader cache directory.</source> <translation>転送可能なシェーダキャッシュディレクトリの削除に失敗しました.</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="1922"/> - <location filename="../../src/yuzu/main.cpp" line="1931"/> + <location filename="../../src/yuzu/main.cpp" line="1915"/> + <location filename="../../src/yuzu/main.cpp" line="1924"/> <source>Error Removing Custom Configuration</source> <translation>カスタム設定の削除エラー</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="1923"/> + <location filename="../../src/yuzu/main.cpp" line="1916"/> <source>A custom configuration for this title does not exist.</source> <translation>このタイトルのカスタム設定は存在しません。</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="1929"/> + <location filename="../../src/yuzu/main.cpp" line="1922"/> <source>Successfully removed the custom game configuration.</source> <translation>カスタムゲーム設定を正常に削除しました。</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="1932"/> + <location filename="../../src/yuzu/main.cpp" line="1925"/> <source>Failed to remove the custom game configuration.</source> <translation>カスタムゲーム設定の削除に失敗しました。</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="1939"/> - <location filename="../../src/yuzu/main.cpp" line="2018"/> + <location filename="../../src/yuzu/main.cpp" line="1932"/> + <location filename="../../src/yuzu/main.cpp" line="2011"/> <source>RomFS Extraction Failed!</source> <translation>RomFSの解析に失敗しました!</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="1940"/> + <location filename="../../src/yuzu/main.cpp" line="1933"/> <source>There was an error copying the RomFS files or the user cancelled the operation.</source> <translation>RomFSファイルをコピー中にエラーが発生したか、ユーザー操作によりキャンセルされました。</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="1998"/> + <location filename="../../src/yuzu/main.cpp" line="1991"/> <source>Full</source> <translation>フル</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="1998"/> + <location filename="../../src/yuzu/main.cpp" line="1991"/> <source>Skeleton</source> <translation>スケルトン</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="2000"/> + <location filename="../../src/yuzu/main.cpp" line="1993"/> <source>Select RomFS Dump Mode</source> <translation>RomFSダンプモードの選択</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="2001"/> + <location filename="../../src/yuzu/main.cpp" line="1994"/> <source>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.</source> <translation>RomFSのダンプ方法を選択してください。<br>”完全”はすべてのファイルが新しいディレクトリにコピーされます。<br>”スケルトン”はディレクトリ構造を作成するだけです。</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="2019"/> + <location filename="../../src/yuzu/main.cpp" line="2012"/> <source>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</source> <translation type="unfinished"/> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="2026"/> + <location filename="../../src/yuzu/main.cpp" line="2019"/> <source>Extracting RomFS...</source> <translation>RomFSを解析中...</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="2026"/> - <location filename="../../src/yuzu/main.cpp" line="2206"/> + <location filename="../../src/yuzu/main.cpp" line="2019"/> + <location filename="../../src/yuzu/main.cpp" line="2199"/> <source>Cancel</source> <translation>キャンセル</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="2033"/> + <location filename="../../src/yuzu/main.cpp" line="2026"/> <source>RomFS Extraction Succeeded!</source> <translation>RomFS解析成功!</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="2034"/> + <location filename="../../src/yuzu/main.cpp" line="2027"/> <source>The operation completed successfully.</source> <translation>操作は成功しました。</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="2078"/> + <location filename="../../src/yuzu/main.cpp" line="2071"/> <source>Error Opening %1</source> <translation>”%1”を開けませんでした</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="2087"/> + <location filename="../../src/yuzu/main.cpp" line="2080"/> <source>Select Directory</source> <translation>ディレクトリの選択</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="2114"/> + <location filename="../../src/yuzu/main.cpp" line="2107"/> <source>Properties</source> <translation>プロパティ</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="2115"/> + <location filename="../../src/yuzu/main.cpp" line="2108"/> <source>The game properties could not be loaded.</source> <translation>ゲームプロパティをロード出来ませんでした。</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="2127"/> + <location filename="../../src/yuzu/main.cpp" line="2120"/> <source>Switch Executable (%1);;All Files (*.*)</source> <comment>%1 is an identifier for the Switch executable file extensions.</comment> <translation>Switch実行ファイル (%1);;すべてのファイル (*.*)</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="2131"/> + <location filename="../../src/yuzu/main.cpp" line="2124"/> <source>Load File</source> <translation>ファイルのロード</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="2143"/> + <location filename="../../src/yuzu/main.cpp" line="2136"/> <source>Open Extracted ROM Directory</source> <translation>展開されているROMディレクトリを開く</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="2154"/> + <location filename="../../src/yuzu/main.cpp" line="2147"/> <source>Invalid Directory Selected</source> <translation>無効なディレクトリが選択されました</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="2155"/> + <location filename="../../src/yuzu/main.cpp" line="2148"/> <source>The directory you have selected does not contain a 'main' file.</source> <translation>選択されたディレクトリに”main”ファイルが見つかりませんでした。</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="2165"/> + <location filename="../../src/yuzu/main.cpp" line="2158"/> <source>Installable Switch File (*.nca *.nsp *.xci);;Nintendo Content Archive (*.nca);;Nintendo Submission Package (*.nsp);;NX Cartridge Image (*.xci)</source> <translation>インストール可能なスイッチファイル (*.nca *.nsp *.xci);;任天堂コンテンツアーカイブ (*.nca);;任天堂サブミッションパッケージ (*.nsp);;NXカートリッジイメージ (*.xci)</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="2170"/> + <location filename="../../src/yuzu/main.cpp" line="2163"/> <source>Install Files</source> <translation>ファイルのインストール</translation> </message> <message numerus="yes"> - <location filename="../../src/yuzu/main.cpp" line="2214"/> + <location filename="../../src/yuzu/main.cpp" line="2207"/> <source>%n file(s) remaining</source> <translation type="unfinished"><numerusform></numerusform></translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="2216"/> + <location filename="../../src/yuzu/main.cpp" line="2209"/> <source>Installing file "%1"...</source> <translation>"%1"ファイルをインストールしています・・・</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="2262"/> - <location filename="../../src/yuzu/main.cpp" line="2276"/> + <location filename="../../src/yuzu/main.cpp" line="2255"/> + <location filename="../../src/yuzu/main.cpp" line="2269"/> <source>Install Results</source> <translation>インストール結果</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="2263"/> + <location filename="../../src/yuzu/main.cpp" line="2256"/> <source>To avoid possible conflicts, we discourage users from installing base games to the NAND. Please, only use this feature to install updates and DLC.</source> <translation type="unfinished"/> </message> <message numerus="yes"> - <location filename="../../src/yuzu/main.cpp" line="2269"/> + <location filename="../../src/yuzu/main.cpp" line="2262"/> <source>%n file(s) were newly installed </source> <translation><numerusform>%n ファイルが新たにインストールされました </numerusform></translation> </message> <message numerus="yes"> - <location filename="../../src/yuzu/main.cpp" line="2272"/> + <location filename="../../src/yuzu/main.cpp" line="2265"/> <source>%n file(s) were overwritten </source> <translation><numerusform>%n ファイルが上書きされました </numerusform></translation> </message> <message numerus="yes"> - <location filename="../../src/yuzu/main.cpp" line="2274"/> + <location filename="../../src/yuzu/main.cpp" line="2267"/> <source>%n file(s) failed to install </source> <translation><numerusform>%n ファイルのインストールに失敗しました </numerusform></translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="2375"/> + <location filename="../../src/yuzu/main.cpp" line="2368"/> <source>System Application</source> <translation>システムアプリケーション</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="2376"/> + <location filename="../../src/yuzu/main.cpp" line="2369"/> <source>System Archive</source> <translation>システムアーカイブ</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="2377"/> + <location filename="../../src/yuzu/main.cpp" line="2370"/> <source>System Application Update</source> <translation>システムアプリケーションアップデート</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="2378"/> + <location filename="../../src/yuzu/main.cpp" line="2371"/> <source>Firmware Package (Type A)</source> <translation>ファームウェアパッケージ(Type A)</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="2379"/> + <location filename="../../src/yuzu/main.cpp" line="2372"/> <source>Firmware Package (Type B)</source> <translation>ファームウェアパッケージ(Type B)</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="2380"/> + <location filename="../../src/yuzu/main.cpp" line="2373"/> <source>Game</source> <translation>ゲーム</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="2381"/> + <location filename="../../src/yuzu/main.cpp" line="2374"/> <source>Game Update</source> <translation>ゲームアップデート</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="2382"/> + <location filename="../../src/yuzu/main.cpp" line="2375"/> <source>Game DLC</source> <translation>ゲームDLC</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="2383"/> + <location filename="../../src/yuzu/main.cpp" line="2376"/> <source>Delta Title</source> <translation>差分タイトル</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="2386"/> + <location filename="../../src/yuzu/main.cpp" line="2379"/> <source>Select NCA Install Type...</source> <translation>NCAインストール種別を選択・・・</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="2387"/> + <location filename="../../src/yuzu/main.cpp" line="2380"/> <source>Please select the type of title you would like to install this NCA as: (In most instances, the default 'Game' is fine.)</source> <translation>インストールするNCAタイトル種別を選択して下さい: (ほとんどの場合、デフォルトの”ゲーム”で問題ありません。)</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="2393"/> + <location filename="../../src/yuzu/main.cpp" line="2386"/> <source>Failed to Install</source> <translation>インストール失敗</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="2394"/> + <location filename="../../src/yuzu/main.cpp" line="2387"/> <source>The title type you selected for the NCA is invalid.</source> <translation>選択されたNCAのタイトル種別が無効です。</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="2429"/> + <location filename="../../src/yuzu/main.cpp" line="2422"/> <source>File not found</source> <translation>ファイルが存在しません</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="2430"/> + <location filename="../../src/yuzu/main.cpp" line="2423"/> <source>File "%1" not found</source> <translation>ファイル”%1”が存在しません</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="2445"/> - <location filename="../../src/yuzu/main.cpp" line="3448"/> - <source>&Continue</source> - <translation type="unfinished"/> - </message> - <message> - <location filename="../../src/yuzu/main.cpp" line="2494"/> + <location filename="../../src/yuzu/main.cpp" line="2492"/> <source>OK</source> <translation>OK</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="2508"/> + <location filename="../../src/yuzu/main.cpp" line="2506"/> <source>Missing yuzu Account</source> <translation>yuzuアカウントが存在しません</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="2509"/> + <location filename="../../src/yuzu/main.cpp" line="2507"/> <source>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.</source> <translation>ゲームの互換性テストケースを送信するには、yuzuアカウントをリンクする必要があります。<br><br/>yuzuアカウントをリンクするには、エミュレーション > 設定 > Web から行います。</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="2519"/> + <location filename="../../src/yuzu/main.cpp" line="2517"/> <source>Error opening URL</source> <translation>URLオープンエラー</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="2520"/> + <location filename="../../src/yuzu/main.cpp" line="2518"/> <source>Unable to open the URL "%1".</source> <translation>URL"%1"を開けません。</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="2802"/> + <location filename="../../src/yuzu/main.cpp" line="2777"/> + <source>TAS Recording</source> + <translation> TAS 記録中</translation> + </message> + <message> + <location filename="../../src/yuzu/main.cpp" line="2777"/> + <source>Overwrite file of player 1?</source> + <translation>プレイヤー1のファイルを上書きしますか?</translation> + </message> + <message> + <location filename="../../src/yuzu/main.cpp" line="2830"/> <source>Amiibo File (%1);; All Files (*.*)</source> <translation>amiiboファイル (%1);;すべてのファイル (*.*)</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="2803"/> + <location filename="../../src/yuzu/main.cpp" line="2831"/> <source>Load Amiibo</source> <translation>amiiboのロード</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="2821"/> + <location filename="../../src/yuzu/main.cpp" line="2849"/> <source>Error opening Amiibo data file</source> <translation>amiiboデータファイルを開けませんでした</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="2822"/> + <location filename="../../src/yuzu/main.cpp" line="2850"/> <source>Unable to open Amiibo file "%1" for reading.</source> <translation>amiiboデータファイル”%1”を読み込めませんでした。</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="2830"/> + <location filename="../../src/yuzu/main.cpp" line="2858"/> <source>Error reading Amiibo data file</source> <translation>amiiboデータファイルを読み込み中にエラーが発生した</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="2831"/> + <location filename="../../src/yuzu/main.cpp" line="2859"/> <source>Unable to fully read Amiibo data. Expected to read %1 bytes, but was only able to read %2 bytes.</source> <translation>amiiboデータを完全には読み取ることができませんでした。%1バイトを読み込もうとしましたが、%2バイトしか読み取れませんでした。</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="2839"/> + <location filename="../../src/yuzu/main.cpp" line="2867"/> <source>Error loading Amiibo data</source> <translation>amiiboデータ読み込み中にエラーが発生しました</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="2840"/> + <location filename="../../src/yuzu/main.cpp" line="2868"/> <source>Unable to load Amiibo data.</source> <translation>amiiboデータをロードできませんでした。</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="2881"/> + <location filename="../../src/yuzu/main.cpp" line="2913"/> <source>Capture Screenshot</source> <translation>スクリーンショットのキャプチャ</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="2882"/> + <location filename="../../src/yuzu/main.cpp" line="2914"/> <source>PNG Image (*.png)</source> <translation>PNG画像 (*.png)</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="2948"/> + <location filename="../../src/yuzu/main.cpp" line="2979"/> <source>TAS state: Running %1/%2</source> <translation>TAS 状態: 実行中 %1/%2</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="2950"/> + <location filename="../../src/yuzu/main.cpp" line="2981"/> <source>TAS state: Recording %1</source> <translation>TAS 状態: 記録中 %1</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="2952"/> + <location filename="../../src/yuzu/main.cpp" line="2983"/> <source>TAS state: Idle %1/%2</source> <translation>TAS 状態: アイドル %1/%2</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="2954"/> + <location filename="../../src/yuzu/main.cpp" line="2985"/> <source>TAS State: Invalid</source> <translation>TAS 状態: 無効</translation> </message> + <message> + <location filename="../../src/yuzu/main.cpp" line="2999"/> + <source>&Stop Running</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/main.cpp" line="2999"/> + <source>&Start</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/main.cpp" line="3000"/> + <source>Stop R&ecording</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/main.cpp" line="3000"/> + <source>R&ecord</source> + <translation type="unfinished"/> + </message> <message numerus="yes"> - <location filename="../../src/yuzu/main.cpp" line="2975"/> + <location filename="../../src/yuzu/main.cpp" line="3024"/> <source>Building: %n shader(s)</source> <translation><numerusform>構築中: %n シェーダー</numerusform></translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="2982"/> + <location filename="../../src/yuzu/main.cpp" line="3033"/> + <source>Scale: %1x</source> + <comment>%1 is the resolution scaling factor</comment> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/main.cpp" line="3036"/> <source>Speed: %1% / %2%</source> <translation>速度:%1% / %2%</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="2986"/> + <location filename="../../src/yuzu/main.cpp" line="3040"/> <source>Speed: %1%</source> <translation>速度:%1%</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="2990"/> + <location filename="../../src/yuzu/main.cpp" line="3044"/> <source>Game: %1 FPS (Unlocked)</source> <translation type="unfinished"/> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="2992"/> + <location filename="../../src/yuzu/main.cpp" line="3046"/> <source>Game: %1 FPS</source> <translation>ゲーム:%1 FPS</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="2994"/> + <location filename="../../src/yuzu/main.cpp" line="3048"/> <source>Frame: %1 ms</source> <translation>フレーム:%1 ms</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="3004"/> + <location filename="../../src/yuzu/main.cpp" line="3059"/> <source>GPU NORMAL</source> <translation>GPU NORMAL</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="3009"/> + <location filename="../../src/yuzu/main.cpp" line="3064"/> <source>GPU HIGH</source> <translation>GPU HIGH</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="3014"/> + <location filename="../../src/yuzu/main.cpp" line="3069"/> <source>GPU EXTREME</source> <translation>GPU EXTREME</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="3019"/> + <location filename="../../src/yuzu/main.cpp" line="3074"/> <source>GPU ERROR</source> <translation>GPU ERROR</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="3076"/> + <location filename="../../src/yuzu/main.cpp" line="3084"/> + <source>NEAREST</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/main.cpp" line="3087"/> + <location filename="../../src/yuzu/main.cpp" line="3102"/> + <source>BILINEAR</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/main.cpp" line="3090"/> + <source>BICUBIC</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/main.cpp" line="3093"/> + <source>GAUSSIAN</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/main.cpp" line="3096"/> + <source>SCALEFORCE</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/main.cpp" line="3099"/> + <source>FSR</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/main.cpp" line="3111"/> + <location filename="../../src/yuzu/main.cpp" line="3117"/> + <source>NO AA</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/main.cpp" line="3114"/> + <source>FXAA</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/main.cpp" line="3175"/> <source>The game you are trying to load requires additional files from your Switch to be dumped before playing.<br/><br/>For more information on dumping these files, please see the following wiki page: <a href='https://yuzu-emu.org/wiki/dumping-system-archives-and-the-shared-fonts-from-a-switch-console/'>Dumping System Archives and the Shared Fonts from a Switch Console</a>.<br/><br/>Would you like to quit back to the game list? Continuing emulation may result in crashes, corrupted save data, or other bugs.</source> <translation>ロードしようとしているゲームはプレイする前に、追加のファイルを必要とします。それはSwitchからダンプする必要があります。<br/><br/>これらのファイルのダンプの詳細については、次のWikiページを参照してください:<a href='https://yuzu-emu.org/wiki/dumping-system-archives-and-the-shared-fonts-from-a-switch-console/'>スイッチコンソールからのシステムアーカイブと共有フォントをダンプする</a>。<br/><br/>ゲームリストに戻りますか?エミュレーションを続けると、クラッシュ、保存データの破損、またはその他のバグが発生する可能性があります。</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="3091"/> + <location filename="../../src/yuzu/main.cpp" line="3190"/> <source>yuzu was unable to locate a Switch system archive. %1</source> <translation>yuzuはSwitchのシステムアーカイブ "%1" を見つけられませんでした。</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="3093"/> + <location filename="../../src/yuzu/main.cpp" line="3192"/> <source>yuzu was unable to locate a Switch system archive: %1. %2</source> <translation>yuzuはSwitchのシステムアーカイブ "%1" "%2" を見つけられませんでした。</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="3097"/> + <location filename="../../src/yuzu/main.cpp" line="3196"/> <source>System Archive Not Found</source> <translation>システムアーカイブが見つかりません</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="3099"/> + <location filename="../../src/yuzu/main.cpp" line="3198"/> <source>System Archive Missing</source> <translation>システムアーカイブが見つかりません</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="3105"/> + <location filename="../../src/yuzu/main.cpp" line="3204"/> <source>yuzu was unable to locate the Switch shared fonts. %1</source> <translation>yuzuはSwitchの共有フォント "%1" を見つけられませんでした。</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="3106"/> + <location filename="../../src/yuzu/main.cpp" line="3205"/> <source>Shared Fonts Not Found</source> <translation>共有フォントが存在しません</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="3108"/> + <location filename="../../src/yuzu/main.cpp" line="3207"/> <source>Shared Font Missing</source> <translation>共有フォントが存在しません</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="3114"/> + <location filename="../../src/yuzu/main.cpp" line="3213"/> <source>Fatal Error</source> <translation>致命的なエラー</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="3115"/> + <location filename="../../src/yuzu/main.cpp" line="3214"/> <source>yuzu has encountered a fatal error, please see the log for more details. For more information on accessing the log, please see the following page: <a href='https://community.citra-emu.org/t/how-to-upload-the-log-file/296'>How to Upload the Log File</a>.<br/><br/>Would you like to quit back to the game list? Continuing emulation may result in crashes, corrupted save data, or other bugs.</source> <translation>yuzuが致命的なエラーを検出しました。詳細については、ログを参照してください。ログへのアクセスの詳細については、次のページを参照してください。<a href='https://community.citra-emu.org/t/how-to-upload-the-log-file/296'>ログファイルをアップロードする方法</a>。<br/><br/>ゲームリストに戻りますか?エミュレーションを続けると、クラッシュ、保存データの破損、またはその他のバグが発生する可能性があります。</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="3124"/> + <location filename="../../src/yuzu/main.cpp" line="3223"/> <source>Fatal Error encountered</source> <translation>致命的なエラー発生</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="3147"/> + <location filename="../../src/yuzu/main.cpp" line="3246"/> <source>Confirm Key Rederivation</source> <translation>キーの再取得確認</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="3148"/> + <location filename="../../src/yuzu/main.cpp" line="3247"/> <source>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. @@ -4445,37 +4579,37 @@ This will delete your autogenerated key files and re-run the key derivation modu これにより、自動生成されたキーファイルが削除され、キー導出モジュールが再実行されます。</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="3180"/> + <location filename="../../src/yuzu/main.cpp" line="3279"/> <source>Missing fuses</source> <translation>ヒューズがありません</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="3183"/> + <location filename="../../src/yuzu/main.cpp" line="3282"/> <source> - Missing BOOT0</source> <translation> - BOOT0がありません</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="3186"/> + <location filename="../../src/yuzu/main.cpp" line="3285"/> <source> - Missing BCPKG2-1-Normal-Main</source> <translation> - BCPKG2-1-Normal-Mainがありません</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="3189"/> + <location filename="../../src/yuzu/main.cpp" line="3288"/> <source> - Missing PRODINFO</source> <translation> - PRODINFOがありません</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="3193"/> + <location filename="../../src/yuzu/main.cpp" line="3292"/> <source>Derivation Components Missing</source> <translation>派生コンポーネントがありません</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="3194"/> - <source>Components are missing that may hinder key derivation from completing. <br>Please follow <a href='https://yuzu-emu.org/help/quickstart/'>the yuzu quickstart guide</a> to get all your keys and games.<br><br><small>(%1)</small></source> - <translation>コンポーネントが見つからず、キーの導出が完了しない可能性があります。<br>ゲームとキーを取得するために、<a href='https://yuzu-emu.org/help/quickstart/'>yuzuクイックスタートガイド</a>の手順に従って下さい。<br><br><small>(%1)</small></translation> + <location filename="../../src/yuzu/main.cpp" line="3293"/> + <source>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></source> + <translation type="unfinished"/> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="3203"/> + <location filename="../../src/yuzu/main.cpp" line="3302"/> <source>Deriving keys... This may take up to a minute depending on your system's performance.</source> @@ -4484,39 +4618,39 @@ on your system's performance.</source> 1分以上かかります。</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="3205"/> + <location filename="../../src/yuzu/main.cpp" line="3304"/> <source>Deriving Keys</source> <translation>派生キー</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="3250"/> + <location filename="../../src/yuzu/main.cpp" line="3349"/> <source>Select RomFS Dump Target</source> <translation>RomFSダンプターゲットの選択</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="3251"/> + <location filename="../../src/yuzu/main.cpp" line="3350"/> <source>Please select which RomFS you would like to dump.</source> <translation>ダンプしたいRomFSを選択して下さい。</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="3266"/> + <location filename="../../src/yuzu/main.cpp" line="3365"/> <source>Are you sure you want to close yuzu?</source> <translation>yuzuを終了してもよろしいですか?</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="3267"/> - <location filename="../../src/yuzu/main.cpp" line="3342"/> - <location filename="../../src/yuzu/main.cpp" line="3355"/> + <location filename="../../src/yuzu/main.cpp" line="3366"/> + <location filename="../../src/yuzu/main.cpp" line="3443"/> + <location filename="../../src/yuzu/main.cpp" line="3456"/> <source>yuzu</source> <translation>yuzu</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="3343"/> + <location filename="../../src/yuzu/main.cpp" line="3444"/> <source>Are you sure you want to stop the emulation? Any unsaved progress will be lost.</source> <translation>エミュレーションを停止してもよろしいですか?セーブされていない進行状況は失われます。</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="3352"/> + <location filename="../../src/yuzu/main.cpp" line="3453"/> <source>The currently running application has requested yuzu to not exit. Would you like to bypass this and exit anyway?</source> @@ -4528,38 +4662,38 @@ Would you like to bypass this and exit anyway?</source> <context> <name>GRenderWindow</name> <message> - <location filename="../../src/yuzu/bootmanager.cpp" line="675"/> + <location filename="../../src/yuzu/bootmanager.cpp" line="976"/> <source>OpenGL not available!</source> <translation>OpenGLは使用できません!</translation> </message> <message> - <location filename="../../src/yuzu/bootmanager.cpp" line="676"/> + <location filename="../../src/yuzu/bootmanager.cpp" line="977"/> <source>yuzu has not been compiled with OpenGL support.</source> <translation>yuzuはOpenGLサポート付きでコンパイルされていません。</translation> </message> <message> - <location filename="../../src/yuzu/bootmanager.cpp" line="695"/> - <location filename="../../src/yuzu/bootmanager.cpp" line="715"/> + <location filename="../../src/yuzu/bootmanager.cpp" line="996"/> + <location filename="../../src/yuzu/bootmanager.cpp" line="1016"/> <source>Error while initializing OpenGL!</source> <translation>OpenGL初期化エラー</translation> </message> <message> - <location filename="../../src/yuzu/bootmanager.cpp" line="696"/> + <location filename="../../src/yuzu/bootmanager.cpp" line="997"/> <source>Your GPU may not support OpenGL, or you do not have the latest graphics driver.</source> <translation>GPUがOpenGLをサポートしていないか、グラフィックスドライバーが最新ではありません。</translation> </message> <message> - <location filename="../../src/yuzu/bootmanager.cpp" line="705"/> + <location filename="../../src/yuzu/bootmanager.cpp" line="1006"/> <source>Error while initializing OpenGL 4.6!</source> <translation>OpenGL4.6初期化エラー!</translation> </message> <message> - <location filename="../../src/yuzu/bootmanager.cpp" line="706"/> + <location filename="../../src/yuzu/bootmanager.cpp" line="1007"/> <source>Your GPU may not support OpenGL 4.6, or you do not have the latest graphics driver.<br><br>GL Renderer:<br>%1</source> <translation>GPUがOpenGL4.6をサポートしていないか, グラフィックスドライバーが最新ではありません.<br><br>GL レンダラ:<br>%1</translation> </message> <message> - <location filename="../../src/yuzu/bootmanager.cpp" line="716"/> + <location filename="../../src/yuzu/bootmanager.cpp" line="1017"/> <source>Your GPU may not support one or more required OpenGL extensions. Please ensure you have the latest graphics driver.<br><br>GL Renderer:<br>%1<br><br>Unsupported extensions:<br>%2</source> <translation>GPUが1つ以上の必要なOpenGL拡張機能をサポートしていない可能性があります. 最新のグラフィックドライバを使用していることを確認してください.<br><br>GL レンダラ:<br>%1<br><br>サポートされていない拡張機能:<br>%2</translation> </message> @@ -4916,190 +5050,205 @@ Screen.</source> <translation>エミュレーション(&E)</translation> </message> <message> - <location filename="../../src/yuzu/main.ui" line="79"/> + <location filename="../../src/yuzu/main.ui" line="78"/> <source>&View</source> <translation>表示(&V)</translation> </message> <message> - <location filename="../../src/yuzu/main.ui" line="83"/> + <location filename="../../src/yuzu/main.ui" line="82"/> <source>&Reset Window Size</source> <translation>ウインドウサイズをリセット(&R)</translation> </message> <message> - <location filename="../../src/yuzu/main.ui" line="88"/> + <location filename="../../src/yuzu/main.ui" line="87"/> + <source>&Debugging</source> + <translation>デバッグ(&D)</translation> + </message> + <message> + <location filename="../../src/yuzu/main.ui" line="92"/> <source>Reset Window Size to &720p</source> <translation>ウインドウサイズを&720Pにリセット</translation> </message> <message> - <location filename="../../src/yuzu/main.ui" line="91"/> + <location filename="../../src/yuzu/main.ui" line="95"/> <source>Reset Window Size to 720p</source> <translation>ウインドウサイズを720Pにリセット</translation> </message> <message> - <location filename="../../src/yuzu/main.ui" line="96"/> + <location filename="../../src/yuzu/main.ui" line="100"/> <source>Reset Window Size to &900p</source> <translation>ウインドウサイズを&900Pにリセット</translation> </message> <message> - <location filename="../../src/yuzu/main.ui" line="99"/> + <location filename="../../src/yuzu/main.ui" line="103"/> <source>Reset Window Size to 900p</source> <translation>ウインドウサイズを900Pにリセット</translation> </message> <message> - <location filename="../../src/yuzu/main.ui" line="104"/> + <location filename="../../src/yuzu/main.ui" line="108"/> <source>Reset Window Size to &1080p</source> <translation>ウインドウサイズを&1080Pにリセット</translation> </message> <message> - <location filename="../../src/yuzu/main.ui" line="107"/> + <location filename="../../src/yuzu/main.ui" line="111"/> <source>Reset Window Size to 1080p</source> <translation>ウインドウサイズを1080Pにリセット</translation> </message> <message> - <location filename="../../src/yuzu/main.ui" line="112"/> - <source>&Debugging</source> - <translation>デバッグ(&D)</translation> - </message> - <message> - <location filename="../../src/yuzu/main.ui" line="126"/> + <location filename="../../src/yuzu/main.ui" line="125"/> <source>&Tools</source> <translation>ツール(&T)</translation> </message> <message> - <location filename="../../src/yuzu/main.ui" line="135"/> + <location filename="../../src/yuzu/main.ui" line="129"/> + <source>&TAS</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/main.ui" line="144"/> <source>&Help</source> <translation>ヘルプ(&H)</translation> </message> <message> - <location filename="../../src/yuzu/main.ui" line="155"/> + <location filename="../../src/yuzu/main.ui" line="164"/> <source>&Install Files to NAND...</source> <translation>ファイルをNANDにインストール...(&I)</translation> </message> <message> - <location filename="../../src/yuzu/main.ui" line="160"/> + <location filename="../../src/yuzu/main.ui" line="169"/> <source>L&oad File...</source> <translation>ファイルをロード...(&L)</translation> </message> <message> - <location filename="../../src/yuzu/main.ui" line="165"/> + <location filename="../../src/yuzu/main.ui" line="174"/> <source>Load &Folder...</source> <translation>フォルダをロード...(&F)</translation> </message> <message> - <location filename="../../src/yuzu/main.ui" line="170"/> + <location filename="../../src/yuzu/main.ui" line="179"/> <source>E&xit</source> <translation>終了(&E)</translation> </message> <message> - <location filename="../../src/yuzu/main.ui" line="178"/> - <source>&Start</source> - <translation>実行(&S)</translation> - </message> - <message> - <location filename="../../src/yuzu/main.ui" line="186"/> + <location filename="../../src/yuzu/main.ui" line="187"/> <source>&Pause</source> <translation>中断(&P)</translation> </message> <message> - <location filename="../../src/yuzu/main.ui" line="194"/> + <location filename="../../src/yuzu/main.ui" line="195"/> <source>&Stop</source> <translation>停止(&S)</translation> </message> <message> - <location filename="../../src/yuzu/main.ui" line="199"/> + <location filename="../../src/yuzu/main.ui" line="200"/> <source>&Reinitialize keys...</source> <translation>鍵を再初期化...(&R)</translation> </message> <message> - <location filename="../../src/yuzu/main.ui" line="204"/> + <location filename="../../src/yuzu/main.ui" line="205"/> <source>&About yuzu</source> <translation>yuzuについて(&A)</translation> </message> <message> - <location filename="../../src/yuzu/main.ui" line="212"/> + <location filename="../../src/yuzu/main.ui" line="213"/> <source>Single &Window Mode</source> <translation>シングルウインドウモード(&W)</translation> </message> <message> - <location filename="../../src/yuzu/main.ui" line="217"/> + <location filename="../../src/yuzu/main.ui" line="218"/> <source>Con&figure...</source> <translation>設定...(&F)</translation> </message> <message> - <location filename="../../src/yuzu/main.ui" line="225"/> + <location filename="../../src/yuzu/main.ui" line="226"/> <source>Display D&ock Widget Headers</source> <translation>ドックウィジェットヘッダの表示(&O)</translation> </message> <message> - <location filename="../../src/yuzu/main.ui" line="233"/> + <location filename="../../src/yuzu/main.ui" line="234"/> <source>Show &Filter Bar</source> <translation>フィルタバーを表示(&F)</translation> </message> <message> - <location filename="../../src/yuzu/main.ui" line="241"/> + <location filename="../../src/yuzu/main.ui" line="242"/> <source>Show &Status Bar</source> <translation>ステータスバーを表示(&S)</translation> </message> <message> - <location filename="../../src/yuzu/main.ui" line="244"/> + <location filename="../../src/yuzu/main.ui" line="245"/> <source>Show Status Bar</source> <translation>ステータスバーの表示</translation> </message> <message> - <location filename="../../src/yuzu/main.ui" line="252"/> + <location filename="../../src/yuzu/main.ui" line="253"/> <source>F&ullscreen</source> <translation>全画面表示(&F)</translation> </message> <message> - <location filename="../../src/yuzu/main.ui" line="260"/> + <location filename="../../src/yuzu/main.ui" line="261"/> <source>&Restart</source> <translation>再実行(&R)</translation> </message> <message> - <location filename="../../src/yuzu/main.ui" line="268"/> + <location filename="../../src/yuzu/main.ui" line="269"/> <source>Load &Amiibo...</source> <translation>&Amiiboをロード...</translation> </message> <message> - <location filename="../../src/yuzu/main.ui" line="276"/> + <location filename="../../src/yuzu/main.ui" line="277"/> <source>&Report Compatibility</source> <translation>互換性を報告(&R)</translation> </message> <message> - <location filename="../../src/yuzu/main.ui" line="284"/> + <location filename="../../src/yuzu/main.ui" line="285"/> <source>Open &Mods Page</source> <translation>&Modページを開く</translation> </message> <message> - <location filename="../../src/yuzu/main.ui" line="289"/> + <location filename="../../src/yuzu/main.ui" line="290"/> <source>Open &Quickstart Guide</source> <translation>クイックスタートガイドを開く(&Q)</translation> </message> <message> - <location filename="../../src/yuzu/main.ui" line="294"/> + <location filename="../../src/yuzu/main.ui" line="295"/> <source>&FAQ</source> <translation>&FAQ</translation> </message> <message> - <location filename="../../src/yuzu/main.ui" line="299"/> + <location filename="../../src/yuzu/main.ui" line="300"/> <source>Open &yuzu Folder</source> <translation>&yuzuフォルダを開く</translation> </message> <message> - <location filename="../../src/yuzu/main.ui" line="307"/> + <location filename="../../src/yuzu/main.ui" line="308"/> <source>&Capture Screenshot</source> <translation>スクリーンショットをキャプチャ(&C)</translation> </message> <message> - <location filename="../../src/yuzu/main.ui" line="312"/> - <source>Configure &TAS...</source> - <translation>&TASを設定...</translation> + <location filename="../../src/yuzu/main.ui" line="313"/> + <source>&Configure TAS...</source> + <translation type="unfinished"/> </message> <message> - <location filename="../../src/yuzu/main.ui" line="320"/> + <location filename="../../src/yuzu/main.ui" line="321"/> <source>Configure C&urrent Game...</source> <translation>現在のゲームを設定...(&U)</translation> </message> + <message> + <location filename="../../src/yuzu/main.ui" line="329"/> + <source>&Start</source> + <translation>実行(&S)</translation> + </message> + <message> + <location filename="../../src/yuzu/main.ui" line="337"/> + <source>&Reset</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/main.ui" line="345"/> + <source>R&ecord</source> + <translation type="unfinished"/> + </message> </context> <context> <name>MicroProfileDialog</name> @@ -5141,10 +5290,15 @@ p, li { white-space: pre-wrap; } <context> <name>PlayerControlPreview</name> <message> - <location filename="../../src/yuzu/configuration/configure_input_player_widget.cpp" line="1566"/> + <location filename="../../src/yuzu/configuration/configure_input_player_widget.cpp" line="1572"/> <source>START/PAUSE</source> <translation type="unfinished"/> </message> + <message> + <location filename="../../src/yuzu/configuration/configure_input_player_widget.cpp" line="2685"/> + <source>Charging</source> + <translation type="unfinished"/> + </message> </context> <context> <name>QObject</name> @@ -5175,142 +5329,222 @@ p, li { white-space: pre-wrap; } </message> <message> <location filename="../../src/yuzu/configuration/configure_touch_from_button.cpp" line="23"/> - <location filename="../../src/yuzu/configuration/configure_mouse_advanced.cpp" line="32"/> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="72"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="43"/> <source>Shift</source> <translation>Shift</translation> </message> <message> <location filename="../../src/yuzu/configuration/configure_touch_from_button.cpp" line="25"/> - <location filename="../../src/yuzu/configuration/configure_mouse_advanced.cpp" line="34"/> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="74"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="45"/> <source>Ctrl</source> <translation>Ctrl</translation> </message> <message> <location filename="../../src/yuzu/configuration/configure_touch_from_button.cpp" line="27"/> - <location filename="../../src/yuzu/configuration/configure_mouse_advanced.cpp" line="36"/> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="76"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="47"/> <source>Alt</source> <translation>Alt</translation> </message> <message> <location filename="../../src/yuzu/configuration/configure_touch_from_button.cpp" line="37"/> - <location filename="../../src/yuzu/configuration/configure_mouse_advanced.cpp" line="46"/> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="103"/> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="190"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="130"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="196"/> <source>[not set]</source> <translation>[未設定]</translation> </message> <message> <location filename="../../src/yuzu/configuration/configure_touch_from_button.cpp" line="49"/> - <location filename="../../src/yuzu/configuration/configure_mouse_advanced.cpp" line="58"/> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="152"/> <source>Hat %1 %2</source> <translation>十字キー %1 %2</translation> </message> <message> <location filename="../../src/yuzu/configuration/configure_touch_from_button.cpp" line="56"/> - <location filename="../../src/yuzu/configuration/configure_mouse_advanced.cpp" line="65"/> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="159"/> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="210"/> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="214"/> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="218"/> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="222"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="219"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="223"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="227"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="231"/> <source>Axis %1%2</source> <translation>軸 %1%2</translation> </message> <message> <location filename="../../src/yuzu/configuration/configure_touch_from_button.cpp" line="62"/> - <location filename="../../src/yuzu/configuration/configure_mouse_advanced.cpp" line="71"/> <source>Button %1</source> <translation>ボタン %1</translation> </message> <message> <location filename="../../src/yuzu/configuration/configure_touch_from_button.cpp" line="68"/> - <location filename="../../src/yuzu/configuration/configure_mouse_advanced.cpp" line="76"/> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="185"/> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="227"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="190"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="204"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="234"/> <source>[unknown]</source> <translation>[不明]</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_mouse_advanced.cpp" line="22"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="58"/> + <source>Left</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="60"/> + <source>Right</source> + <translation type="unfinished"/> + </message> + <message> <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="62"/> - <source>Click 0</source> - <translation>クリック0</translation> + <source>Down</source> + <translation type="unfinished"/> </message> <message> - <location filename="../../src/yuzu/configuration/configure_mouse_advanced.cpp" line="24"/> <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="64"/> - <source>Click 1</source> - <translation>クリック1</translation> + <source>Up</source> + <translation type="unfinished"/> </message> <message> - <location filename="../../src/yuzu/configuration/configure_mouse_advanced.cpp" line="26"/> <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="66"/> - <source>Click 2</source> - <translation>クリック2</translation> + <source>Z</source> + <translation type="unfinished"/> </message> <message> - <location filename="../../src/yuzu/configuration/configure_mouse_advanced.cpp" line="28"/> <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="68"/> - <source>Click 3</source> - <translation>クリック3</translation> + <source>R</source> + <translation type="unfinished"/> </message> <message> - <location filename="../../src/yuzu/configuration/configure_mouse_advanced.cpp" line="30"/> <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="70"/> - <source>Click 4</source> - <translation>クリック4</translation> + <source>L</source> + <translation type="unfinished"/> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="109"/> - <source>%1%2</source> - <translation>%1%2</translation> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="72"/> + <source>A</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="74"/> + <source>B</source> + <translation type="unfinished"/> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="117"/> - <source>GC Axis %1%2</source> - <translation>GC Axis %1%2</translation> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="76"/> + <source>X</source> + <translation type="unfinished"/> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="121"/> - <source>GC Button %1</source> - <translation>GC ボタン %1</translation> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="78"/> + <source>Y</source> + <translation type="unfinished"/> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="130"/> - <source>TAS Axis %1</source> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="80"/> + <source>Start</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="82"/> + <source>L1</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="84"/> + <source>L2</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="86"/> + <source>L3</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="88"/> + <source>R1</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="90"/> + <source>R2</source> <translation type="unfinished"/> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="134"/> - <source>TAS Btn %1</source> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="92"/> + <source>R3</source> <translation type="unfinished"/> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="142"/> - <source>Motion %1</source> - <translation>モーション %1</translation> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="94"/> + <source>Circle</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="96"/> + <source>Cross</source> + <translation type="unfinished"/> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="166"/> - <source>%1Button %2</source> - <translation>%1ボタン %2</translation> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="98"/> + <source>Square</source> + <translation type="unfinished"/> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="170"/> - <source>SDL Motion</source> - <translation>SDLモーション</translation> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="100"/> + <source>Triangle</source> + <translation type="unfinished"/> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="180"/> - <source>%1Click %2</source> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="102"/> + <source>Share</source> <translation type="unfinished"/> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="205"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="104"/> + <source>Options</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="106"/> + <source>[undefined]</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="140"/> + <source>%1%2</source> + <translation>%1%2</translation> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="144"/> + <source>[invalid]</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="154"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="178"/> + <source>%1%2Hat %3</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="158"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="181"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="184"/> + <source>%1%2Axis %3</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="164"/> + <source>%1%2Axis %3,%4,%5</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="168"/> + <source>%1%2Motion %3</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="172"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="187"/> + <source>%1%2Button %3</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="214"/> <source>[unused]</source> <translation>[未使用]</translation> </message> @@ -5351,7 +5585,7 @@ p, li { white-space: pre-wrap; } <location filename="../../src/yuzu/applets/qt_controller.ui" line="1656"/> <location filename="../../src/yuzu/applets/qt_controller.ui" line="1857"/> <location filename="../../src/yuzu/applets/qt_controller.ui" line="2054"/> - <location filename="../../src/yuzu/applets/qt_controller.cpp" line="419"/> + <location filename="../../src/yuzu/applets/qt_controller.cpp" line="411"/> <source>Pro Controller</source> <translation>Proコントローラ</translation> </message> @@ -5364,7 +5598,7 @@ p, li { white-space: pre-wrap; } <location filename="../../src/yuzu/applets/qt_controller.ui" line="1661"/> <location filename="../../src/yuzu/applets/qt_controller.ui" line="1862"/> <location filename="../../src/yuzu/applets/qt_controller.ui" line="2059"/> - <location filename="../../src/yuzu/applets/qt_controller.cpp" line="423"/> + <location filename="../../src/yuzu/applets/qt_controller.cpp" line="415"/> <source>Dual Joycons</source> <translation>Joy-Con(L/R)</translation> </message> @@ -5377,7 +5611,7 @@ p, li { white-space: pre-wrap; } <location filename="../../src/yuzu/applets/qt_controller.ui" line="1666"/> <location filename="../../src/yuzu/applets/qt_controller.ui" line="1867"/> <location filename="../../src/yuzu/applets/qt_controller.ui" line="2064"/> - <location filename="../../src/yuzu/applets/qt_controller.cpp" line="427"/> + <location filename="../../src/yuzu/applets/qt_controller.cpp" line="419"/> <source>Left Joycon</source> <translation>Joy-Con(L)</translation> </message> @@ -5390,7 +5624,7 @@ p, li { white-space: pre-wrap; } <location filename="../../src/yuzu/applets/qt_controller.ui" line="1671"/> <location filename="../../src/yuzu/applets/qt_controller.ui" line="1872"/> <location filename="../../src/yuzu/applets/qt_controller.ui" line="2069"/> - <location filename="../../src/yuzu/applets/qt_controller.cpp" line="431"/> + <location filename="../../src/yuzu/applets/qt_controller.cpp" line="423"/> <source>Right Joycon</source> <translation>Joy-Con(R)</translation> </message> @@ -5418,7 +5652,7 @@ p, li { white-space: pre-wrap; } </message> <message> <location filename="../../src/yuzu/applets/qt_controller.ui" line="932"/> - <location filename="../../src/yuzu/applets/qt_controller.cpp" line="436"/> + <location filename="../../src/yuzu/applets/qt_controller.cpp" line="428"/> <source>Handheld</source> <translation>携帯モード</translation> </message> @@ -5539,7 +5773,7 @@ p, li { white-space: pre-wrap; } <translation>8</translation> </message> <message> - <location filename="../../src/yuzu/applets/qt_controller.cpp" line="441"/> + <location filename="../../src/yuzu/applets/qt_controller.cpp" line="433"/> <source>GameCube Controller</source> <translation>ゲームキューブコントローラ</translation> </message> @@ -5628,13 +5862,13 @@ p, li { white-space: pre-wrap; } <translation type="unfinished"/> </message> <message> - <location filename="../../src/yuzu/applets/qt_software_keyboard.cpp" line="396"/> - <location filename="../../src/yuzu/applets/qt_software_keyboard.cpp" line="406"/> + <location filename="../../src/yuzu/applets/qt_software_keyboard.cpp" line="399"/> + <location filename="../../src/yuzu/applets/qt_software_keyboard.cpp" line="409"/> <source>OK</source> <translation>OK</translation> </message> <message> - <location filename="../../src/yuzu/applets/qt_software_keyboard.cpp" line="406"/> + <location filename="../../src/yuzu/applets/qt_software_keyboard.cpp" line="409"/> <source>Cancel</source> <translation>キャンセル</translation> </message> diff --git a/dist/languages/ko_KR.ts b/dist/languages/ko_KR.ts index 10bfd647d..ddd450583 100644 --- a/dist/languages/ko_KR.ts +++ b/dist/languages/ko_KR.ts @@ -658,7 +658,12 @@ p, li { white-space: pre-wrap; } <translation>자동 스텁 활성화**</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_debug.ui" line="212"/> + <location filename="../../src/yuzu/configuration/configure_debug.ui" line="204"/> + <source>Enable all Controller Types</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_debug.ui" line="219"/> <source>**This will be reset automatically when yuzu closes.</source> <translation>**Yuzu가 종료되면 자동으로 재설정됩니다.</translation> </message> @@ -938,67 +943,78 @@ p, li { white-space: pre-wrap; } <translation>일반</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_general.ui" line="35"/> - <source>Framerate Cap</source> - <translation>프레임 속도 제한</translation> + <location filename="../../src/yuzu/configuration/configure_general.ui" line="50"/> + <location filename="../../src/yuzu/configuration/configure_general.ui" line="57"/> + <source>Use global framerate cap</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_general.ui" line="62"/> + <source>Set framerate cap:</source> + <translation type="unfinished"/> </message> <message> - <location filename="../../src/yuzu/configuration/configure_general.ui" line="38"/> + <location filename="../../src/yuzu/configuration/configure_general.ui" line="70"/> <source>Requires the use of the FPS Limiter Toggle hotkey to take effect.</source> <translation>사용하려면 FPS Limiter Toggle 핫키를 사용해야 합니다.</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_general.ui" line="45"/> + <location filename="../../src/yuzu/configuration/configure_general.ui" line="73"/> + <source>Framerate Cap</source> + <translation>프레임 속도 제한</translation> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_general.ui" line="95"/> <source>x</source> <translation>x</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_general.ui" line="65"/> + <location filename="../../src/yuzu/configuration/configure_general.ui" line="116"/> <source>Limit Speed Percent</source> <translation>속도 퍼센트 제한</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_general.ui" line="72"/> + <location filename="../../src/yuzu/configuration/configure_general.ui" line="123"/> <source>%</source> <translation>%</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_general.ui" line="90"/> + <location filename="../../src/yuzu/configuration/configure_general.ui" line="141"/> <source>Multicore CPU Emulation</source> <translation>멀티 코어 CPU 에뮬레이션</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_general.ui" line="97"/> + <location filename="../../src/yuzu/configuration/configure_general.ui" line="148"/> <source>Confirm exit while emulation is running</source> <translation>에뮬레이터가 작동 중일 때 종료 시 확인</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_general.ui" line="104"/> + <location filename="../../src/yuzu/configuration/configure_general.ui" line="155"/> <source>Prompt for user on game boot</source> <translation>게임 부팅시 유저 선택 화면 표시</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_general.ui" line="111"/> + <location filename="../../src/yuzu/configuration/configure_general.ui" line="162"/> <source>Pause emulation when in background</source> <translation>백그라운드에 있을 시 에뮬레이션 일시중지</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_general.ui" line="118"/> + <location filename="../../src/yuzu/configuration/configure_general.ui" line="169"/> <source>Hide mouse on inactivity</source> <translation>비활성 상태일 때 마우스 숨기기</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_general.ui" line="160"/> + <location filename="../../src/yuzu/configuration/configure_general.ui" line="211"/> <source>Reset All Settings</source> <translation>모든 설정 초기화</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_general.cpp" line="70"/> + <location filename="../../src/yuzu/configuration/configure_general.cpp" line="78"/> <source>yuzu</source> <translation>yuzu</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_general.cpp" line="71"/> + <location filename="../../src/yuzu/configuration/configure_general.cpp" line="79"/> <source>This reset all settings and remove all per-game configurations. This will not delete game directories, profiles, or input profiles. Proceed?</source> <translation>모든 환경 설정과 게임별 맞춤 설정이 초기화됩니다. 게임 디렉토리나 프로필, 또는 입력 프로필은 삭제되지 않습니다. 진행하시겠습니까?</translation> </message> @@ -1116,18 +1132,113 @@ p, li { white-space: pre-wrap; } <translation>창에 맞게 늘림</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_graphics.ui" line="339"/> - <location filename="../../src/yuzu/configuration/configure_graphics.ui" line="349"/> + <location filename="../../src/yuzu/configuration/configure_graphics.ui" line="330"/> + <source>Resolution:</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_graphics.ui" line="338"/> + <source>0.5X (360p/540p) [EXPERIMENTAL]</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_graphics.ui" line="343"/> + <source>0.75X (540p/810p) [EXPERIMENTAL]</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_graphics.ui" line="348"/> + <source>1X (720p/1080p)</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_graphics.ui" line="353"/> + <source>2X (1440p/2160p)</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_graphics.ui" line="358"/> + <source>3X (2160p/3240p)</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_graphics.ui" line="363"/> + <source>4X (2880p/4320p)</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_graphics.ui" line="368"/> + <source>5X (3600p/5400p)</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_graphics.ui" line="373"/> + <source>6X (4320p/6480p)</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_graphics.ui" line="399"/> + <source>Window Adapting Filter:</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_graphics.ui" line="407"/> + <source>Nearest Neighbor</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_graphics.ui" line="412"/> + <source>Bilinear</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_graphics.ui" line="417"/> + <source>Bicubic</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_graphics.ui" line="422"/> + <source>Gaussian</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_graphics.ui" line="427"/> + <source>ScaleForce</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_graphics.ui" line="432"/> + <source>AMD FidelityFX™️ Super Resolution [Vulkan Only]</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_graphics.ui" line="458"/> + <source>Anti-Aliasing Method:</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_graphics.ui" line="466"/> + <source>None</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_graphics.ui" line="471"/> + <source>FXAA</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_graphics.ui" line="506"/> + <location filename="../../src/yuzu/configuration/configure_graphics.ui" line="516"/> <source>Use global background color</source> <translation>전역 배경색 사용</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_graphics.ui" line="354"/> + <location filename="../../src/yuzu/configuration/configure_graphics.ui" line="521"/> <source>Set background color:</source> <translation>배경색 설정:</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_graphics.ui" line="362"/> + <location filename="../../src/yuzu/configuration/configure_graphics.ui" line="529"/> <source>Background Color:</source> <translation>배경색:</translation> </message> @@ -1196,28 +1307,33 @@ p, li { white-space: pre-wrap; } </message> <message> <location filename="../../src/yuzu/configuration/configure_graphics_advanced.ui" line="128"/> - <source>Default</source> - <translation>기본값</translation> + <source>Automatic</source> + <translation type="unfinished"/> </message> <message> <location filename="../../src/yuzu/configuration/configure_graphics_advanced.ui" line="133"/> - <source>2x (WILL BREAK THINGS)</source> - <translation>2x (실행에 문제가 있을 수 있습니다)</translation> + <source>Default</source> + <translation>기본값</translation> </message> <message> <location filename="../../src/yuzu/configuration/configure_graphics_advanced.ui" line="138"/> - <source>4x (WILL BREAK THINGS)</source> - <translation>4x (실행에 문제가 있을 수 있습니다)</translation> + <source>2x</source> + <translation type="unfinished"/> </message> <message> <location filename="../../src/yuzu/configuration/configure_graphics_advanced.ui" line="143"/> - <source>8x (WILL BREAK THINGS)</source> - <translation>8x (실행에 문제가 있을 수 있습니다)</translation> + <source>4x</source> + <translation type="unfinished"/> </message> <message> <location filename="../../src/yuzu/configuration/configure_graphics_advanced.ui" line="148"/> - <source>16x (WILL BREAK THINGS)</source> - <translation>16x (실행에 문제가 있을 수 있습니다)</translation> + <source>8x</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_graphics_advanced.ui" line="153"/> + <source>16x</source> + <translation type="unfinished"/> </message> </context> <context> @@ -1544,8 +1660,8 @@ p, li { white-space: pre-wrap; } </message> <message> <location filename="../../src/yuzu/configuration/configure_input_advanced.ui" line="2533"/> - <source>Other</source> - <translation>기타</translation> + <source>Emulated Devices</source> + <translation type="unfinished"/> </message> <message> <location filename="../../src/yuzu/configuration/configure_input_advanced.ui" line="2545"/> @@ -1554,499 +1670,524 @@ p, li { white-space: pre-wrap; } </message> <message> <location filename="../../src/yuzu/configuration/configure_input_advanced.ui" line="2558"/> - <source>Emulate Analog with Keyboard Input</source> - <translation>키보드 입력으로 아날로그 입력 에뮬레이션</translation> - </message> - <message> - <location filename="../../src/yuzu/configuration/configure_input_advanced.ui" line="2571"/> - <source>Enable mouse panning</source> - <translation>마우스 패닝 활성화</translation> - </message> - <message> - <location filename="../../src/yuzu/configuration/configure_input_advanced.ui" line="2578"/> - <source>Mouse sensitivity</source> - <translation>마우스 감도</translation> - </message> - <message> - <location filename="../../src/yuzu/configuration/configure_input_advanced.ui" line="2584"/> - <source>%</source> - <translation>%</translation> - </message> - <message> - <location filename="../../src/yuzu/configuration/configure_input_advanced.ui" line="2600"/> - <location filename="../../src/yuzu/configuration/configure_input_advanced.ui" line="2623"/> - <source>Advanced</source> - <translation>고급</translation> + <source>Mouse</source> + <translation>마우스</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_advanced.ui" line="2630"/> + <location filename="../../src/yuzu/configuration/configure_input_advanced.ui" line="2565"/> <source>Touchscreen</source> <translation>터치 스크린</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_advanced.ui" line="2643"/> - <source>Mouse</source> - <translation>마우스</translation> + <location filename="../../src/yuzu/configuration/configure_input_advanced.ui" line="2588"/> + <source>Advanced</source> + <translation>고급</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_advanced.ui" line="2650"/> - <source>Motion / Touch</source> - <translation>모션 컨트롤/ 터치</translation> + <location filename="../../src/yuzu/configuration/configure_input_advanced.ui" line="2595"/> + <source>Debug Controller</source> + <translation>디버그 컨트롤러</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_advanced.ui" line="2657"/> - <location filename="../../src/yuzu/configuration/configure_input_advanced.ui" line="2671"/> + <location filename="../../src/yuzu/configuration/configure_input_advanced.ui" line="2602"/> + <location filename="../../src/yuzu/configuration/configure_input_advanced.ui" line="2702"/> <source>Configure</source> <translation>설정</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_advanced.ui" line="2664"/> - <source>Debug Controller</source> - <translation>디버그 컨트롤러</translation> + <location filename="../../src/yuzu/configuration/configure_input_advanced.ui" line="2612"/> + <source>Other</source> + <translation>기타</translation> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_input_advanced.ui" line="2624"/> + <source>Emulate Analog with Keyboard Input</source> + <translation>키보드 입력으로 아날로그 입력 에뮬레이션</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_advanced.ui" line="2678"/> + <location filename="../../src/yuzu/configuration/configure_input_advanced.ui" line="2631"/> <source>Requires restarting yuzu</source> <translation>yuzu를 다시 시작해야 합니다.</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_advanced.ui" line="2687"/> + <location filename="../../src/yuzu/configuration/configure_input_advanced.ui" line="2640"/> <source>Enable XInput 8 player support (disables web applet)</source> <translation>XInput 8 플레이어 지원 활성화(웹 애플릿 비활성화)</translation> </message> -</context> -<context> - <name>ConfigureInputPlayer</name> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="14"/> - <source>Configure Input</source> - <translation>입력 설정</translation> + <location filename="../../src/yuzu/configuration/configure_input_advanced.ui" line="2653"/> + <source>Enable UDP controllers (not needed for motion)</source> + <translation type="unfinished"/> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="63"/> - <source>Connect Controller</source> - <translation>컨트롤러 연결</translation> + <location filename="../../src/yuzu/configuration/configure_input_advanced.ui" line="2666"/> + <source>Enable mouse panning</source> + <translation>마우스 패닝 활성화</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="94"/> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="535"/> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="986"/> - <source>Pro Controller</source> - <translation>프로 컨트롤러</translation> + <location filename="../../src/yuzu/configuration/configure_input_advanced.ui" line="2673"/> + <source>Mouse sensitivity</source> + <translation>마우스 감도</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="99"/> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="992"/> - <source>Dual Joycons</source> - <translation>듀얼 조이콘</translation> + <location filename="../../src/yuzu/configuration/configure_input_advanced.ui" line="2679"/> + <source>%</source> + <translation>%</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="104"/> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="998"/> - <source>Left Joycon</source> - <translation>왼쪽 조이콘</translation> + <location filename="../../src/yuzu/configuration/configure_input_advanced.ui" line="2695"/> + <source>Motion / Touch</source> + <translation>모션 컨트롤/ 터치</translation> </message> +</context> +<context> + <name>ConfigureInputPlayer</name> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="109"/> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="1004"/> - <source>Right Joycon</source> - <translation>오른쪽 조이콘</translation> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="14"/> + <source>Configure Input</source> + <translation>입력 설정</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="114"/> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="1010"/> - <source>Handheld</source> - <translation>휴대</translation> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="63"/> + <source>Connect Controller</source> + <translation>컨트롤러 연결</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="125"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="100"/> <source>Input Device</source> <translation>입력 장치</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="153"/> - <source>Any</source> - <translation>모든 장치</translation> - </message> - <message> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="158"/> - <source>Keyboard/Mouse</source> - <translation>키보드/마우스</translation> - </message> - <message> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="194"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="156"/> <source>Profile</source> <translation>프로필</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="234"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="196"/> <source>Save</source> <translation>저장</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="250"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="212"/> <source>New</source> <translation>새로 생성</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="266"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="228"/> <source>Delete</source> <translation>삭제</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="329"/> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="1267"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="291"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="1190"/> <source>Left Stick</source> <translation>L 스틱</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="387"/> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="429"/> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="963"/> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="1002"/> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="2621"/> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="2660"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="349"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="391"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="925"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="964"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="2583"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="2622"/> <source>Up</source> <translation>위쪽</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="460"/> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="499"/> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="1033"/> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="1072"/> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="2107"/> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="2691"/> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="2730"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="422"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="461"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="995"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="1034"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="2069"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="2653"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="2692"/> <source>Left</source> <translation>왼쪽</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="509"/> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="548"/> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="1082"/> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="1121"/> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="2156"/> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="2740"/> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="2779"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="471"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="510"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="1044"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="1083"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="2118"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="2702"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="2741"/> <source>Right</source> <translation>오른쪽</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="591"/> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="630"/> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="1164"/> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="1203"/> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="2822"/> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="2861"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="553"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="592"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="1126"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="1165"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="2784"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="2823"/> <source>Down</source> <translation>아래쪽</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="661"/> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="700"/> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="2892"/> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="2931"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="623"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="662"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="2854"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="2893"/> <source>Pressed</source> <translation>누르기</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="710"/> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="749"/> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="2941"/> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="2980"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="672"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="711"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="2903"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="2942"/> <source>Modifier</source> <translation>수정자</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="759"/> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="2990"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="721"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="2952"/> <source>Range</source> <translation>범위</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="792"/> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="3023"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="754"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="2985"/> <source>%</source> <translation>%</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="835"/> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="3063"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="797"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="3025"/> <source>Deadzone: 0%</source> <translation>데드존: 0%</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="859"/> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="3087"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="821"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="3049"/> <source>Modifier Range: 0%</source> <translation>수정자 범위: 0%</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="905"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="867"/> <source>D-Pad</source> <translation>D-패드</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="1289"/> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="1328"/> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="1272"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="1251"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="1290"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="1195"/> <source>L</source> <translation>L</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="1344"/> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="1383"/> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="1264"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="1306"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="1345"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="1187"/> <source>ZL</source> <translation>ZL</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="1464"/> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="1503"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="1426"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="1465"/> <source>Minus</source> <translation>-</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="1513"/> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="1552"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="1475"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="1514"/> <source>Capture</source> <translation>캡쳐</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="1583"/> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="1622"/> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="1263"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="1545"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="1584"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="1186"/> <source>Plus</source> <translation>+</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="1632"/> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="1671"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="1594"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="1633"/> <source>Home</source> <translation>홈</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="1736"/> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="1775"/> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="1266"/> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="1273"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="1698"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="1737"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="1189"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="1196"/> <source>R</source> <translation>R</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="1791"/> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="1830"/> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="1265"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="1753"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="1792"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="1188"/> <source>ZR</source> <translation>ZR</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="1911"/> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="1950"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="1873"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="1912"/> <source>SL</source> <translation>SL</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="1960"/> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="1999"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="1922"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="1961"/> <source>SR</source> <translation>SR</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="2068"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="2030"/> <source>Motion 1</source> <translation>모션 1</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="2117"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="2079"/> <source>Motion 2</source> <translation>모션 2</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="2208"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="2170"/> <source>Face Buttons</source> <translation>A/B/X/Y버튼</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="2266"/> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="2305"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="2228"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="2267"/> <source>X</source> <translation>X</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="2336"/> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="2375"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="2298"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="2337"/> <source>Y</source> <translation>Y</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="2385"/> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="2424"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="2347"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="2386"/> <source>A</source> <translation>A</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="2467"/> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="2506"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="2429"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="2468"/> <source>B</source> <translation>B</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="2554"/> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="1268"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="2516"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="1191"/> <source>Right Stick</source> <translation>R 스틱</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="322"/> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="372"/> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="430"/> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="474"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="330"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="396"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="461"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="507"/> <source>Clear</source> <translation>초기화</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="324"/> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="374"/> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="432"/> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="476"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="332"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="398"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="463"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="509"/> <source>[not set]</source> <translation>[설정 안 됨]</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="327"/> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="478"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="335"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="512"/> <source>Toggle button</source> <translation>토글 버튼</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="335"/> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="339"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="341"/> + <source>Invert button</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="349"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="465"/> + <source>Invert axis</source> + <translation>축 뒤집기</translation> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="355"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="359"/> <source>Set threshold</source> <translation>임계값 설정</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="339"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="359"/> <source>Choose a value between 0% and 100%</source> <translation>0%에서 100% 안의 값을 고르세요</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="406"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="436"/> <source>Map Analog Stick</source> <translation>아날로그 스틱 맵핑</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="407"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="437"/> <source>After pressing OK, first move your joystick horizontally, and then vertically. To invert the axes, first move your joystick vertically, and then horizontally.</source> <translation>OK 버튼을 누른 후에 먼저 조이스틱을 수평으로 움직이고, 그 다음 수직으로 움직이세요. 축을 뒤집으려면 수직으로 먼저 움직인 뒤에 수평으로 움직이세요.</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="434"/> - <source>Invert axis</source> - <translation>축 뒤집기</translation> - </message> - <message> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="500"/> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="952"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="537"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="891"/> <source>Deadzone: %1%</source> <translation>데드존: %1%</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="508"/> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="963"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="546"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="896"/> <source>Modifier Range: %1%</source> <translation>수정자 범위: %1%</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="1016"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="572"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="918"/> + <source>Pro Controller</source> + <translation>프로 컨트롤러</translation> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="924"/> + <source>Dual Joycons</source> + <translation>듀얼 조이콘</translation> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="930"/> + <source>Left Joycon</source> + <translation>왼쪽 조이콘</translation> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="936"/> + <source>Right Joycon</source> + <translation>오른쪽 조이콘</translation> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="942"/> + <source>Handheld</source> + <translation>휴대</translation> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="948"/> <source>GameCube Controller</source> <translation>GameCube 컨트롤러</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="1271"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="958"/> + <source>Poke Ball Plus</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="964"/> + <source>NES Controller</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="970"/> + <source>SNES Controller</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="976"/> + <source>N64 Controller</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="982"/> + <source>Sega Genesis</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="1194"/> <source>Start / Pause</source> <translation>시작 / 일시 정지</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="1274"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="1197"/> <source>Z</source> <translation>Z</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="1275"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="1198"/> <source>Control Stick</source> <translation>컨트롤 스틱</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="1276"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="1199"/> <source>C-Stick</source> <translation>C-Stick</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="1335"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="1297"/> <source>Shake!</source> <translation>흔드세요!</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="1337"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="1299"/> <source>[waiting]</source> <translation>[대기중]</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="1462"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="1381"/> <source>New Profile</source> <translation>새 프로필</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="1462"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="1381"/> <source>Enter a profile name:</source> <translation>프로필 이름을 입력하세요:</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="1470"/> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="1478"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="1389"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="1397"/> <source>Create Input Profile</source> <translation>입력 프로필 생성</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="1471"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="1390"/> <source>The given profile name is not valid!</source> <translation>해당 프로필 이름은 사용할 수 없습니다!</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="1479"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="1398"/> <source>Failed to create the input profile "%1"</source> <translation>"%1" 입력 프로필 생성 실패</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="1499"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="1418"/> <source>Delete Input Profile</source> <translation>입력 프로필 삭제</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="1500"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="1419"/> <source>Failed to delete the input profile "%1"</source> <translation>"%1" 입력 프로필 삭제 실패</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="1522"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="1441"/> <source>Load Input Profile</source> <translation>입력 프로필 불러오기</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="1523"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="1442"/> <source>Failed to load the input profile "%1"</source> <translation>"%1" 입력 프로필 불러오기 실패</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="1542"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="1461"/> <source>Save Input Profile</source> <translation>입력 프로필 저장</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="1543"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="1462"/> <source>Failed to save the input profile "%1"</source> <translation>"%1" 입력 프로필 저장 실패</translation> </message> @@ -2072,85 +2213,75 @@ To invert the axes, first move your joystick vertically, and then horizontally.< <context> <name>ConfigureMotionTouch</name> <message> - <location filename="../../src/yuzu/configuration/configure_motion_touch.ui" line="14"/> + <location filename="../../src/yuzu/configuration/configure_motion_touch.ui" line="6"/> <source>Configure Motion / Touch</source> <translation>모션 설정 / 터치</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_motion_touch.ui" line="23"/> - <source>Mouse Motion</source> - <translation>마우스 모션</translation> - </message> - <message> - <location filename="../../src/yuzu/configuration/configure_motion_touch.ui" line="31"/> - <source>Sensitivity:</source> - <translation>감도:</translation> - </message> - <message> - <location filename="../../src/yuzu/configuration/configure_motion_touch.ui" line="65"/> + <location filename="../../src/yuzu/configuration/configure_motion_touch.ui" line="15"/> <source>Touch</source> <translation>터치</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_motion_touch.ui" line="73"/> + <location filename="../../src/yuzu/configuration/configure_motion_touch.ui" line="23"/> <source>UDP Calibration:</source> <translation>UDP 조정:</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_motion_touch.ui" line="80"/> + <location filename="../../src/yuzu/configuration/configure_motion_touch.ui" line="30"/> <source>(100, 50) - (1800, 850)</source> <translation>(100, 50) - (1800, 850)</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_motion_touch.ui" line="96"/> - <location filename="../../src/yuzu/configuration/configure_motion_touch.ui" line="129"/> - <location filename="../../src/yuzu/configuration/configure_motion_touch.cpp" line="250"/> + <location filename="../../src/yuzu/configuration/configure_motion_touch.ui" line="46"/> + <location filename="../../src/yuzu/configuration/configure_motion_touch.ui" line="73"/> + <location filename="../../src/yuzu/configuration/configure_motion_touch.cpp" line="245"/> <source>Configure</source> <translation>설정</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_motion_touch.ui" line="113"/> - <source>Use button mapping:</source> - <translation>버튼 매핑 사용:</translation> + <location filename="../../src/yuzu/configuration/configure_motion_touch.ui" line="57"/> + <source>Touch from button profile:</source> + <translation type="unfinished"/> </message> <message> - <location filename="../../src/yuzu/configuration/configure_motion_touch.ui" line="141"/> + <location filename="../../src/yuzu/configuration/configure_motion_touch.ui" line="85"/> <source>CemuhookUDP Config</source> <translation>CemuhookUDP 설정</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_motion_touch.ui" line="147"/> + <location filename="../../src/yuzu/configuration/configure_motion_touch.ui" line="91"/> <source>You may use any Cemuhook compatible UDP input source to provide motion and touch input.</source> <translation>Cemuhook 호환이 가능한 모든 UDP 인풋 장치를 모션 컨트롤과 터치 입력용으로 사용할 수 있습니다.</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_motion_touch.ui" line="190"/> + <location filename="../../src/yuzu/configuration/configure_motion_touch.ui" line="134"/> <source>Server:</source> <translation>서버:</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_motion_touch.ui" line="217"/> + <location filename="../../src/yuzu/configuration/configure_motion_touch.ui" line="161"/> <source>Port:</source> <translation>포트:</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_motion_touch.ui" line="244"/> + <location filename="../../src/yuzu/configuration/configure_motion_touch.ui" line="188"/> <source>Learn More</source> <translation>자세히 알아보기</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_motion_touch.ui" line="257"/> - <location filename="../../src/yuzu/configuration/configure_motion_touch.cpp" line="273"/> + <location filename="../../src/yuzu/configuration/configure_motion_touch.ui" line="201"/> + <location filename="../../src/yuzu/configuration/configure_motion_touch.cpp" line="268"/> <source>Test</source> <translation>테스트</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_motion_touch.ui" line="270"/> + <location filename="../../src/yuzu/configuration/configure_motion_touch.ui" line="214"/> <source>Add Server</source> <translation>서버 추가</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_motion_touch.ui" line="303"/> + <location filename="../../src/yuzu/configuration/configure_motion_touch.ui" line="247"/> <source>Remove Server</source> <translation>원격 서버</translation> </message> @@ -2160,146 +2291,82 @@ To invert the axes, first move your joystick vertically, and then horizontally.< <translation><a href='https://yuzu-emu.org/wiki/using-a-controller-or-android-phone-for-motion-or-touch-input'><span style="text-decoration: underline; color:#039be5;">자세히 알아보기</span></a></translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_motion_touch.cpp" line="176"/> + <location filename="../../src/yuzu/configuration/configure_motion_touch.cpp" line="171"/> <source>%1:%2</source> <translation>%1:%2</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_motion_touch.cpp" line="181"/> - <location filename="../../src/yuzu/configuration/configure_motion_touch.cpp" line="185"/> - <location filename="../../src/yuzu/configuration/configure_motion_touch.cpp" line="189"/> - <location filename="../../src/yuzu/configuration/configure_motion_touch.cpp" line="195"/> - <location filename="../../src/yuzu/configuration/configure_motion_touch.cpp" line="201"/> - <location filename="../../src/yuzu/configuration/configure_motion_touch.cpp" line="295"/> + <location filename="../../src/yuzu/configuration/configure_motion_touch.cpp" line="176"/> + <location filename="../../src/yuzu/configuration/configure_motion_touch.cpp" line="180"/> + <location filename="../../src/yuzu/configuration/configure_motion_touch.cpp" line="184"/> + <location filename="../../src/yuzu/configuration/configure_motion_touch.cpp" line="190"/> + <location filename="../../src/yuzu/configuration/configure_motion_touch.cpp" line="196"/> + <location filename="../../src/yuzu/configuration/configure_motion_touch.cpp" line="290"/> <source>yuzu</source> <translation>yuzu</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_motion_touch.cpp" line="181"/> + <location filename="../../src/yuzu/configuration/configure_motion_touch.cpp" line="176"/> <source>Port number has invalid characters</source> <translation>포트 번호에 유효하지 않은 글자가 있습니다.</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_motion_touch.cpp" line="185"/> + <location filename="../../src/yuzu/configuration/configure_motion_touch.cpp" line="180"/> <source>Port has to be in range 0 and 65353</source> <translation>포트 번호는 0부터 65353까지이어야 합니다.</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_motion_touch.cpp" line="189"/> + <location filename="../../src/yuzu/configuration/configure_motion_touch.cpp" line="184"/> <source>IP address is not valid</source> <translation>IP 주소가 유효하지 않습니다.</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_motion_touch.cpp" line="195"/> + <location filename="../../src/yuzu/configuration/configure_motion_touch.cpp" line="190"/> <source>This UDP server already exists</source> <translation>해당 UDP 서버는 이미 존재합니다.</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_motion_touch.cpp" line="201"/> + <location filename="../../src/yuzu/configuration/configure_motion_touch.cpp" line="196"/> <source>Unable to add more than 8 servers</source> <translation>8개보다 많은 서버를 추가하실 수는 없습니다.</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_motion_touch.cpp" line="217"/> + <location filename="../../src/yuzu/configuration/configure_motion_touch.cpp" line="212"/> <source>Testing</source> <translation>테스트 중</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_motion_touch.cpp" line="233"/> + <location filename="../../src/yuzu/configuration/configure_motion_touch.cpp" line="228"/> <source>Configuring</source> <translation>설정 중</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_motion_touch.cpp" line="264"/> + <location filename="../../src/yuzu/configuration/configure_motion_touch.cpp" line="259"/> <source>Test Successful</source> <translation>테스트 성공</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_motion_touch.cpp" line="265"/> + <location filename="../../src/yuzu/configuration/configure_motion_touch.cpp" line="260"/> <source>Successfully received data from the server.</source> <translation>서버에서 성공적으로 데이터를 받았습니다.</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_motion_touch.cpp" line="267"/> + <location filename="../../src/yuzu/configuration/configure_motion_touch.cpp" line="262"/> <source>Test Failed</source> <translation>테스트 실패</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_motion_touch.cpp" line="268"/> + <location filename="../../src/yuzu/configuration/configure_motion_touch.cpp" line="263"/> <source>Could not receive valid data from the server.<br>Please verify that the server is set up correctly and the address and port are correct.</source> <translation>서버에서 유효한 데이터를 수신할 수 없습니다.<br>서버가 올바르게 설정되어 있고 주소와 포트가 올바른지 확인하십시오.</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_motion_touch.cpp" line="296"/> + <location filename="../../src/yuzu/configuration/configure_motion_touch.cpp" line="291"/> <source>UDP Test or calibration configuration is in progress.<br>Please wait for them to finish.</source> <translation>UDP 테스트와 교정 설정이 진행 중입니다.<br>끝날 때까지 기다려주세요.</translation> </message> </context> <context> - <name>ConfigureMouseAdvanced</name> - <message> - <location filename="../../src/yuzu/configuration/configure_mouse_advanced.ui" line="14"/> - <source>Configure Mouse</source> - <translation>마우스 설정</translation> - </message> - <message> - <location filename="../../src/yuzu/configuration/configure_mouse_advanced.ui" line="25"/> - <source>Mouse Buttons</source> - <translation>마우스 버튼</translation> - </message> - <message> - <location filename="../../src/yuzu/configuration/configure_mouse_advanced.ui" line="35"/> - <source>Forward:</source> - <translation>앞:</translation> - </message> - <message> - <location filename="../../src/yuzu/configuration/configure_mouse_advanced.ui" line="75"/> - <source>Back:</source> - <translation>뒤:</translation> - </message> - <message> - <location filename="../../src/yuzu/configuration/configure_mouse_advanced.ui" line="103"/> - <source>Left:</source> - <translation>왼쪽:</translation> - </message> - <message> - <location filename="../../src/yuzu/configuration/configure_mouse_advanced.ui" line="131"/> - <source>Middle:</source> - <translation>중앙:</translation> - </message> - <message> - <location filename="../../src/yuzu/configuration/configure_mouse_advanced.ui" line="197"/> - <source>Right:</source> - <translation>오른쪽:</translation> - </message> - <message> - <location filename="../../src/yuzu/configuration/configure_mouse_advanced.ui" line="270"/> - <location filename="../../src/yuzu/configuration/configure_mouse_advanced.cpp" line="109"/> - <source>Clear</source> - <translation>비우기</translation> - </message> - <message> - <location filename="../../src/yuzu/configuration/configure_mouse_advanced.ui" line="289"/> - <source>Defaults</source> - <translation>기본값</translation> - </message> - <message> - <location filename="../../src/yuzu/configuration/configure_mouse_advanced.cpp" line="111"/> - <source>[not set]</source> - <translation>[설정 안됨]</translation> - </message> - <message> - <location filename="../../src/yuzu/configuration/configure_mouse_advanced.cpp" line="113"/> - <source>Restore Default</source> - <translation>초기화</translation> - </message> - <message> - <location filename="../../src/yuzu/configuration/configure_mouse_advanced.cpp" line="200"/> - <source>[press key]</source> - <translation>[키 입력]</translation> - </message> -</context> -<context> <name>ConfigureNetwork</name> <message> <location filename="../../src/yuzu/configuration/configure_network.ui" line="14"/> @@ -2402,7 +2469,7 @@ To invert the axes, first move your joystick vertically, and then horizontally.< <message> <location filename="../../src/yuzu/configuration/configure_per_game.cpp" line="69"/> <source>Adv. Graphics</source> - <translation type="unfinished"/> + <translation>고급 그래픽</translation> </message> <message> <location filename="../../src/yuzu/configuration/configure_per_game.cpp" line="70"/> @@ -2586,12 +2653,12 @@ To invert the axes, first move your joystick vertically, and then horizontally.< <message> <location filename="../../src/yuzu/configuration/configure_profile_manager.cpp" line="314"/> <source>Error resizing user image</source> - <translation type="unfinished"/> + <translation>사용자 이미지 크기 조정 오류</translation> </message> <message> <location filename="../../src/yuzu/configuration/configure_profile_manager.cpp" line="315"/> <source>Unable to resize image</source> - <translation type="unfinished"/> + <translation>이미지 크기를 조정할 수 없습니다</translation> </message> </context> <context> @@ -3058,12 +3125,12 @@ To invert the axes, first move your joystick vertically, and then horizontally.< <message> <location filename="../../src/yuzu/configuration/configure_tas.ui" line="17"/> <source><html><head/><body><p>Reads controller input from scripts in the same format as TAS-nx scripts.<br/>For a more detailed explanation, please consult the <a href="https://yuzu-emu.org/help/feature/tas/"><span style=" text-decoration: underline; color:#039be5;">help page</span></a> on the yuzu website.</p></body></html></source> - <translation type="unfinished"/> + <translation><html><head/><body><p>TAS-nx 스크립트와 동일한 형식의 스크립트에서 컨트롤러 입력을 읽습니다.<br/>더 자세한 설명은 yuzu 웹사이트에 있는 <a href="https://yuzu-emu.org/help/feature/tas/"><span style=" text-decoration: underline; color:#039be5;">help page</span></a>를 참조하세요.</p></body></html></translation> </message> <message> <location filename="../../src/yuzu/configuration/configure_tas.ui" line="24"/> <source>To check which hotkeys control the playback/recording, please refer to the Hotkey settings (Configure -> General -> Hotkeys).</source> - <translation type="unfinished"/> + <translation>재생/녹화를 제어하는 단축키를 확인하려면 단축키 설정(설정 -> 일반 -> 단축키)을 참조하십시오.</translation> </message> <message> <location filename="../../src/yuzu/configuration/configure_tas.ui" line="34"/> @@ -3082,31 +3149,26 @@ To invert the axes, first move your joystick vertically, and then horizontally.< </message> <message> <location filename="../../src/yuzu/configuration/configure_tas.ui" line="64"/> - <source>Automatic controller profile swapping</source> - <translation>자동 컨트롤러 프로필 교체</translation> - </message> - <message> - <location filename="../../src/yuzu/configuration/configure_tas.ui" line="71"/> <source>Loop script</source> <translation>반복 스크립트</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_tas.ui" line="81"/> + <location filename="../../src/yuzu/configuration/configure_tas.ui" line="74"/> <source>Pause execution during loads</source> <translation>로드 중 실행 일시 중지</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_tas.ui" line="95"/> + <location filename="../../src/yuzu/configuration/configure_tas.ui" line="88"/> <source>Script Directory</source> <translation>스크립트 주소</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_tas.ui" line="101"/> + <location filename="../../src/yuzu/configuration/configure_tas.ui" line="94"/> <source>Path</source> <translation>주소</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_tas.ui" line="108"/> + <location filename="../../src/yuzu/configuration/configure_tas.ui" line="101"/> <source>...</source> <translation>...</translation> </message> @@ -3119,7 +3181,7 @@ To invert the axes, first move your joystick vertically, and then horizontally.< <translation>TAS 설정</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_tas.cpp" line="53"/> + <location filename="../../src/yuzu/configuration/configure_tas.cpp" line="51"/> <source>Select TAS Load Directory...</source> <translation>TAS 로드 디렉토리 선택...</translation> </message> @@ -3181,37 +3243,37 @@ Drag points to change position, or double-click table cells to edit values.</sou <translation>Y</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_touch_from_button.cpp" line="200"/> + <location filename="../../src/yuzu/configuration/configure_touch_from_button.cpp" line="197"/> <source>New Profile</source> <translation>새 프로필</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_touch_from_button.cpp" line="200"/> + <location filename="../../src/yuzu/configuration/configure_touch_from_button.cpp" line="197"/> <source>Enter the name for the new profile.</source> <translation>새 프로필의 이름을 적으시오.</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_touch_from_button.cpp" line="211"/> + <location filename="../../src/yuzu/configuration/configure_touch_from_button.cpp" line="208"/> <source>Delete Profile</source> <translation>프로필 삭제하기</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_touch_from_button.cpp" line="211"/> + <location filename="../../src/yuzu/configuration/configure_touch_from_button.cpp" line="208"/> <source>Delete profile %1?</source> <translation>%1 프로필을 삭제하시겠습니까?</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_touch_from_button.cpp" line="224"/> + <location filename="../../src/yuzu/configuration/configure_touch_from_button.cpp" line="221"/> <source>Rename Profile</source> <translation>프로필 이름 재설정</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_touch_from_button.cpp" line="224"/> + <location filename="../../src/yuzu/configuration/configure_touch_from_button.cpp" line="221"/> <source>New name:</source> <translation>새 이름:</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_touch_from_button.cpp" line="233"/> + <location filename="../../src/yuzu/configuration/configure_touch_from_button.cpp" line="230"/> <source>[press key]</source> <translation>[키 입력]</translation> </message> @@ -3631,12 +3693,12 @@ Drag points to change position, or double-click table cells to edit values.</sou <context> <name>ControllerDialog</name> <message> - <location filename="../../src/yuzu/debugger/controller.cpp" line="17"/> + <location filename="../../src/yuzu/debugger/controller.cpp" line="21"/> <source>Controller P1</source> <translation>컨트롤러 P1</translation> </message> <message> - <location filename="../../src/yuzu/debugger/controller.cpp" line="52"/> + <location filename="../../src/yuzu/debugger/controller.cpp" line="60"/> <source>&Controller P1</source> <translation>컨트롤러 P1(&C)</translation> </message> @@ -3644,90 +3706,95 @@ Drag points to change position, or double-click table cells to edit values.</sou <context> <name>GMainWindow</name> <message> - <location filename="../../src/yuzu/main.cpp" line="174"/> + <location filename="../../src/yuzu/main.cpp" line="176"/> <source><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?</source> <translation>yuzu를 개선하기 위해 <a href='https://yuzu-emu.org/help/feature/telemetry/'>익명 데이터가 수집됩니다.</a> <br/><br/>사용 데이터를 공유하시겠습니까?</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="177"/> + <location filename="../../src/yuzu/main.cpp" line="179"/> <source>Telemetry</source> <translation>원격 측정</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="592"/> + <location filename="../../src/yuzu/main.cpp" line="600"/> <source>Loading Web Applet...</source> <translation>웹 애플릿을 로드하는 중...</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="639"/> - <location filename="../../src/yuzu/main.cpp" line="642"/> + <location filename="../../src/yuzu/main.cpp" line="647"/> + <location filename="../../src/yuzu/main.cpp" line="650"/> <source>Disable Web Applet</source> <translation>웹 애플릿 비활성화</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="643"/> + <location filename="../../src/yuzu/main.cpp" line="651"/> <source>Disabling the web applet will cause it to not be shown again for the rest of the emulated session. This 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?</source> <translation>웹 애플릿을 비활성화할 시 앞으로 에뮬레이트할 때 해당 화면이 더 이상 뜨지 않습니다. 이는 알 수 없는 문제를 일으킬 수 있으며 Super Mario 3D All-Stars에만 사용해야 합니다. 웹 애플릿을 정말로 비활성화 하시겠습니까?</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="746"/> + <location filename="../../src/yuzu/main.cpp" line="754"/> <source>The amount of shaders currently being built</source> <translation>현재 생성중인 셰이더의 양</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="749"/> + <location filename="../../src/yuzu/main.cpp" line="756"/> + <source>The current selected resolution scaling multiplier.</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/main.cpp" line="759"/> <source>Current emulation speed. Values higher or lower than 100% indicate emulation is running faster or slower than a Switch.</source> <translation>현재 에뮬레이션 속도. 100%보다 높거나 낮은 값은 에뮬레이션이 Switch보다 빠르거나 느린 것을 나타냅니다.</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="752"/> + <location filename="../../src/yuzu/main.cpp" line="762"/> <source>How many frames per second the game is currently displaying. This will vary from game to game and scene to scene.</source> <translation>게임이 현재 표시하고 있는 초당 프레임 수입니다. 이것은 게임마다 다르고 장면마다 다릅니다.</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="756"/> + <location filename="../../src/yuzu/main.cpp" line="766"/> <source>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.</source> <translation>프레임 제한이나 수직 동기화를 계산하지 않고 Switch 프레임을 에뮬레이션 하는 데 걸린 시간. 최대 속도로 에뮬레이트 중일 때에는 대부분 16.67 ms 근처입니다.</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="781"/> + <location filename="../../src/yuzu/main.cpp" line="841"/> <source>Invalid config detected</source> <translation>유효하지 않은 설정 감지</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="782"/> + <location filename="../../src/yuzu/main.cpp" line="842"/> <source>Handheld controller can't be used on docked mode. Pro controller will be selected.</source> <translation>휴대 모드용 컨트롤러는 거치 모드에서 사용할 수 없습니다. 프로 컨트롤러로 대신 선택됩니다.</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="794"/> + <location filename="../../src/yuzu/main.cpp" line="854"/> <source>DOCK</source> <translation>거치 모드</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="828"/> + <location filename="../../src/yuzu/main.cpp" line="888"/> <source>VULKAN</source> <translation>VULKAN</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="828"/> + <location filename="../../src/yuzu/main.cpp" line="888"/> <source>OPENGL</source> <translation>OPENGL</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="886"/> + <location filename="../../src/yuzu/main.cpp" line="951"/> <source>&Clear Recent Files</source> <translation>Clear Recent Files(&C)</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="1055"/> - <source>TAS Recording</source> - <translation>TAS 레코딩</translation> + <location filename="../../src/yuzu/main.cpp" line="1210"/> + <source>&Continue</source> + <translation>계속(&C)</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="1056"/> - <source>Overwrite file of player 1?</source> - <translation>플레이어 1의 파일을 덮어쓰시겠습니까?</translation> + <location filename="../../src/yuzu/main.cpp" line="1212"/> + <source>&Pause</source> + <translation type="unfinished"/> </message> <message> <location filename="../../src/yuzu/main.cpp" line="1285"/> @@ -3778,660 +3845,727 @@ Drag points to change position, or double-click table cells to edit values.</sou <translation>알 수 없는 오류가 발생했습니다. 자세한 내용은 로그를 참고하십시오.</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="1462"/> + <location filename="../../src/yuzu/main.cpp" line="1460"/> <source>(64-bit)</source> <translation>(64비트)</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="1462"/> + <location filename="../../src/yuzu/main.cpp" line="1460"/> <source>(32-bit)</source> <translation>(32비트)</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="1463"/> + <location filename="../../src/yuzu/main.cpp" line="1461"/> <source>%1 %2</source> <comment>%1 is the title name. %2 indicates if the title is 64-bit or 32-bit</comment> <translation>%1 %2</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="1507"/> - <source>Start</source> - <translation>시작</translation> - </message> - <message> - <location filename="../../src/yuzu/main.cpp" line="1612"/> + <location filename="../../src/yuzu/main.cpp" line="1605"/> <source>Save Data</source> <translation>세이브 데이터</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="1660"/> + <location filename="../../src/yuzu/main.cpp" line="1653"/> <source>Mod Data</source> <translation>모드 데이터</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="1672"/> + <location filename="../../src/yuzu/main.cpp" line="1665"/> <source>Error Opening %1 Folder</source> <translation>%1 폴더 열기 오류</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="1673"/> - <location filename="../../src/yuzu/main.cpp" line="2079"/> + <location filename="../../src/yuzu/main.cpp" line="1666"/> + <location filename="../../src/yuzu/main.cpp" line="2072"/> <source>Folder does not exist!</source> <translation>폴더가 존재하지 않습니다!</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="1685"/> + <location filename="../../src/yuzu/main.cpp" line="1678"/> <source>Error Opening Transferable Shader Cache</source> <translation>전달 가능한 셰이더 캐시 열기 오류</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="1686"/> + <location filename="../../src/yuzu/main.cpp" line="1679"/> <source>Failed to create the shader cache directory for this title.</source> <translation>이 타이틀에 대한 셰이더 캐시 디렉토리를 생성하지 못했습니다.</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="1738"/> + <location filename="../../src/yuzu/main.cpp" line="1731"/> <source>Contents</source> <translation>컨텐츠</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="1740"/> + <location filename="../../src/yuzu/main.cpp" line="1733"/> <source>Update</source> <translation>업데이트</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="1742"/> + <location filename="../../src/yuzu/main.cpp" line="1735"/> <source>DLC</source> <translation>DLC</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="1749"/> + <location filename="../../src/yuzu/main.cpp" line="1742"/> <source>Remove Entry</source> <translation>항목 제거</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="1749"/> + <location filename="../../src/yuzu/main.cpp" line="1742"/> <source>Remove Installed Game %1?</source> <translation>설치된 게임을 삭제 %1?</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="1779"/> - <location filename="../../src/yuzu/main.cpp" line="1795"/> - <location filename="../../src/yuzu/main.cpp" line="1826"/> - <location filename="../../src/yuzu/main.cpp" line="1887"/> - <location filename="../../src/yuzu/main.cpp" line="1905"/> - <location filename="../../src/yuzu/main.cpp" line="1928"/> + <location filename="../../src/yuzu/main.cpp" line="1772"/> + <location filename="../../src/yuzu/main.cpp" line="1788"/> + <location filename="../../src/yuzu/main.cpp" line="1819"/> + <location filename="../../src/yuzu/main.cpp" line="1880"/> + <location filename="../../src/yuzu/main.cpp" line="1898"/> + <location filename="../../src/yuzu/main.cpp" line="1921"/> <source>Successfully Removed</source> <translation>삭제 완료</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="1780"/> + <location filename="../../src/yuzu/main.cpp" line="1773"/> <source>Successfully removed the installed base game.</source> <translation>설치된 기본 게임을 성공적으로 제거했습니다.</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="1783"/> - <location filename="../../src/yuzu/main.cpp" line="1798"/> - <location filename="../../src/yuzu/main.cpp" line="1821"/> + <location filename="../../src/yuzu/main.cpp" line="1776"/> + <location filename="../../src/yuzu/main.cpp" line="1791"/> + <location filename="../../src/yuzu/main.cpp" line="1814"/> <source>Error Removing %1</source> <translation>삭제 중 오류 발생 %1</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="1784"/> + <location filename="../../src/yuzu/main.cpp" line="1777"/> <source>The base game is not installed in the NAND and cannot be removed.</source> <translation>기본 게임은 NAND에 설치되어 있지 않으며 제거 할 수 없습니다.</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="1796"/> + <location filename="../../src/yuzu/main.cpp" line="1789"/> <source>Successfully removed the installed update.</source> <translation>설치된 업데이트를 성공적으로 제거했습니다.</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="1799"/> + <location filename="../../src/yuzu/main.cpp" line="1792"/> <source>There is no update installed for this title.</source> <translation>이 타이틀에 대해 설치된 업데이트가 없습니다.</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="1822"/> + <location filename="../../src/yuzu/main.cpp" line="1815"/> <source>There are no DLC installed for this title.</source> <translation>이 타이틀에 설치된 DLC가 없습니다.</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="1827"/> + <location filename="../../src/yuzu/main.cpp" line="1820"/> <source>Successfully removed %1 installed DLC.</source> <translation>설치된 %1 DLC를 성공적으로 제거했습니다.</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="1835"/> + <location filename="../../src/yuzu/main.cpp" line="1828"/> <source>Delete OpenGL Transferable Shader Cache?</source> <translation>OpenGL 전송 가능한 셰이더 캐시를 삭제하시겠습니까?</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="1837"/> + <location filename="../../src/yuzu/main.cpp" line="1830"/> <source>Delete Vulkan Transferable Shader Cache?</source> <translation>Vulkan 전송 가능한 셰이더 캐시를 삭제하시겠습니까?</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="1839"/> + <location filename="../../src/yuzu/main.cpp" line="1832"/> <source>Delete All Transferable Shader Caches?</source> <translation>모든 전송 가능한 셰이더 캐시를 삭제하시겠습니까?</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="1841"/> + <location filename="../../src/yuzu/main.cpp" line="1834"/> <source>Remove Custom Game Configuration?</source> <translation>사용자 지정 게임 구성을 제거 하시겠습니까?</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="1847"/> + <location filename="../../src/yuzu/main.cpp" line="1840"/> <source>Remove File</source> <translation>파일 제거</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="1882"/> - <location filename="../../src/yuzu/main.cpp" line="1890"/> + <location filename="../../src/yuzu/main.cpp" line="1875"/> + <location filename="../../src/yuzu/main.cpp" line="1883"/> <source>Error Removing Transferable Shader Cache</source> <translation>전달 가능한 셰이더 캐시 제거 오류</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="1883"/> - <location filename="../../src/yuzu/main.cpp" line="1901"/> + <location filename="../../src/yuzu/main.cpp" line="1876"/> + <location filename="../../src/yuzu/main.cpp" line="1894"/> <source>A shader cache for this title does not exist.</source> <translation>이 타이틀에 대한 셰이더 캐시가 존재하지 않습니다.</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="1888"/> + <location filename="../../src/yuzu/main.cpp" line="1881"/> <source>Successfully removed the transferable shader cache.</source> <translation>전달 가능한 셰이더 캐시를 성공적으로 제거했습니다.</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="1891"/> + <location filename="../../src/yuzu/main.cpp" line="1884"/> <source>Failed to remove the transferable shader cache.</source> <translation>전송 가능한 셰이더 캐시를 제거하지 못했습니다.</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="1900"/> - <location filename="../../src/yuzu/main.cpp" line="1908"/> + <location filename="../../src/yuzu/main.cpp" line="1893"/> + <location filename="../../src/yuzu/main.cpp" line="1901"/> <source>Error Removing Transferable Shader Caches</source> <translation>전송 가능한 셰이더 캐시 제거 오류</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="1906"/> + <location filename="../../src/yuzu/main.cpp" line="1899"/> <source>Successfully removed the transferable shader caches.</source> <translation>전송 가능한 셰이더 캐시를 성공적으로 제거했습니다.</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="1909"/> + <location filename="../../src/yuzu/main.cpp" line="1902"/> <source>Failed to remove the transferable shader cache directory.</source> <translation>전송 가능한 셰이더 캐시 디렉토리를 제거하지 못했습니다.</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="1922"/> - <location filename="../../src/yuzu/main.cpp" line="1931"/> + <location filename="../../src/yuzu/main.cpp" line="1915"/> + <location filename="../../src/yuzu/main.cpp" line="1924"/> <source>Error Removing Custom Configuration</source> <translation>사용자 지정 구성 제거 오류</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="1923"/> + <location filename="../../src/yuzu/main.cpp" line="1916"/> <source>A custom configuration for this title does not exist.</source> <translation>이 타이틀에 대한 사용자 지정 구성이 존재하지 않습니다.</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="1929"/> + <location filename="../../src/yuzu/main.cpp" line="1922"/> <source>Successfully removed the custom game configuration.</source> <translation>사용자 지정 게임 구성을 성공적으로 제거했습니다.</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="1932"/> + <location filename="../../src/yuzu/main.cpp" line="1925"/> <source>Failed to remove the custom game configuration.</source> <translation>사용자 지정 게임 구성을 제거하지 못했습니다.</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="1939"/> - <location filename="../../src/yuzu/main.cpp" line="2018"/> + <location filename="../../src/yuzu/main.cpp" line="1932"/> + <location filename="../../src/yuzu/main.cpp" line="2011"/> <source>RomFS Extraction Failed!</source> <translation>RomFS 추출 실패!</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="1940"/> + <location filename="../../src/yuzu/main.cpp" line="1933"/> <source>There was an error copying the RomFS files or the user cancelled the operation.</source> <translation>RomFS 파일을 복사하는 중에 오류가 발생했거나 사용자가 작업을 취소했습니다.</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="1998"/> + <location filename="../../src/yuzu/main.cpp" line="1991"/> <source>Full</source> <translation>전체</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="1998"/> + <location filename="../../src/yuzu/main.cpp" line="1991"/> <source>Skeleton</source> <translation>뼈대</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="2000"/> + <location filename="../../src/yuzu/main.cpp" line="1993"/> <source>Select RomFS Dump Mode</source> <translation>RomFS 덤프 모드 선택</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="2001"/> + <location filename="../../src/yuzu/main.cpp" line="1994"/> <source>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.</source> <translation>RomFS 덤프 방법을 선택하십시오.<br>전체는 모든 파일을 새 디렉토리에 복사하고<br>뼈대는 디렉토리 구조 만 생성합니다.</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="2019"/> + <location filename="../../src/yuzu/main.cpp" line="2012"/> <source>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</source> <translation>%1에 RomFS를 추출하기에 충분한 여유 공간이 없습니다. 공간을 확보하거나 에뮬레이견 > 설정 > 시스템 > 파일시스템 > 덤프 경로에서 다른 덤프 디렉토리를 선택하십시오.</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="2026"/> + <location filename="../../src/yuzu/main.cpp" line="2019"/> <source>Extracting RomFS...</source> <translation>RomFS 추출 중...</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="2026"/> - <location filename="../../src/yuzu/main.cpp" line="2206"/> + <location filename="../../src/yuzu/main.cpp" line="2019"/> + <location filename="../../src/yuzu/main.cpp" line="2199"/> <source>Cancel</source> <translation>취소</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="2033"/> + <location filename="../../src/yuzu/main.cpp" line="2026"/> <source>RomFS Extraction Succeeded!</source> <translation>RomFS 추출이 성공했습니다!</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="2034"/> + <location filename="../../src/yuzu/main.cpp" line="2027"/> <source>The operation completed successfully.</source> <translation>작업이 성공적으로 완료되었습니다.</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="2078"/> + <location filename="../../src/yuzu/main.cpp" line="2071"/> <source>Error Opening %1</source> <translation>%1 열기 오류</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="2087"/> + <location filename="../../src/yuzu/main.cpp" line="2080"/> <source>Select Directory</source> <translation>경로 선택</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="2114"/> + <location filename="../../src/yuzu/main.cpp" line="2107"/> <source>Properties</source> <translation>속성</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="2115"/> + <location filename="../../src/yuzu/main.cpp" line="2108"/> <source>The game properties could not be loaded.</source> <translation>게임 속성을 로드 할 수 없습니다.</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="2127"/> + <location filename="../../src/yuzu/main.cpp" line="2120"/> <source>Switch Executable (%1);;All Files (*.*)</source> <comment>%1 is an identifier for the Switch executable file extensions.</comment> <translation>Switch 실행파일 (%1);;모든 파일 (*.*)</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="2131"/> + <location filename="../../src/yuzu/main.cpp" line="2124"/> <source>Load File</source> <translation>파일 로드</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="2143"/> + <location filename="../../src/yuzu/main.cpp" line="2136"/> <source>Open Extracted ROM Directory</source> <translation>추출된 ROM 디렉토리 열기</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="2154"/> + <location filename="../../src/yuzu/main.cpp" line="2147"/> <source>Invalid Directory Selected</source> <translation>잘못된 디렉토리 선택</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="2155"/> + <location filename="../../src/yuzu/main.cpp" line="2148"/> <source>The directory you have selected does not contain a 'main' file.</source> <translation>선택한 디렉토리에 'main'파일이 없습니다.</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="2165"/> + <location filename="../../src/yuzu/main.cpp" line="2158"/> <source>Installable Switch File (*.nca *.nsp *.xci);;Nintendo Content Archive (*.nca);;Nintendo Submission Package (*.nsp);;NX Cartridge Image (*.xci)</source> <translation>설치 가능한 Switch 파일 (*.nca *.nsp *.xci);;Nintendo 컨텐츠 아카이브 (*.nca);;Nintendo 서브미션 패키지 (*.nsp);;NX 카트리지 이미지 (*.xci)</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="2170"/> + <location filename="../../src/yuzu/main.cpp" line="2163"/> <source>Install Files</source> <translation>파일 설치</translation> </message> <message numerus="yes"> - <location filename="../../src/yuzu/main.cpp" line="2214"/> + <location filename="../../src/yuzu/main.cpp" line="2207"/> <source>%n file(s) remaining</source> <translation><numerusform>%n개의 파일이 남음</numerusform></translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="2216"/> + <location filename="../../src/yuzu/main.cpp" line="2209"/> <source>Installing file "%1"...</source> <translation>파일 "%1" 설치 중...</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="2262"/> - <location filename="../../src/yuzu/main.cpp" line="2276"/> + <location filename="../../src/yuzu/main.cpp" line="2255"/> + <location filename="../../src/yuzu/main.cpp" line="2269"/> <source>Install Results</source> <translation>설치 결과</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="2263"/> + <location filename="../../src/yuzu/main.cpp" line="2256"/> <source>To avoid possible conflicts, we discourage users from installing base games to the NAND. Please, only use this feature to install updates and DLC.</source> <translation>충돌을 피하기 위해, 낸드에 베이스 게임을 설치하는 것을 권장하지 않습니다. 이 기능은 업데이트나 DLC를 설치할 때에만 사용해주세요.</translation> </message> <message numerus="yes"> - <location filename="../../src/yuzu/main.cpp" line="2269"/> + <location filename="../../src/yuzu/main.cpp" line="2262"/> <source>%n file(s) were newly installed </source> <translation><numerusform>%n개의 파일이 새로 설치되었습니다. </numerusform></translation> </message> <message numerus="yes"> - <location filename="../../src/yuzu/main.cpp" line="2272"/> + <location filename="../../src/yuzu/main.cpp" line="2265"/> <source>%n file(s) were overwritten </source> <translation><numerusform>%%n개의 파일을 덮어썼습니다. </numerusform></translation> </message> <message numerus="yes"> - <location filename="../../src/yuzu/main.cpp" line="2274"/> + <location filename="../../src/yuzu/main.cpp" line="2267"/> <source>%n file(s) failed to install </source> <translation><numerusform>%n개의 파일을 설치하지 못했습니다. </numerusform></translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="2375"/> + <location filename="../../src/yuzu/main.cpp" line="2368"/> <source>System Application</source> <translation>시스템 애플리케이션</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="2376"/> + <location filename="../../src/yuzu/main.cpp" line="2369"/> <source>System Archive</source> <translation>시스템 아카이브</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="2377"/> + <location filename="../../src/yuzu/main.cpp" line="2370"/> <source>System Application Update</source> <translation>시스템 애플리케이션 업데이트</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="2378"/> + <location filename="../../src/yuzu/main.cpp" line="2371"/> <source>Firmware Package (Type A)</source> <translation>펌웨어 패키지 (A타입)</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="2379"/> + <location filename="../../src/yuzu/main.cpp" line="2372"/> <source>Firmware Package (Type B)</source> <translation>펌웨어 패키지 (B타입)</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="2380"/> + <location filename="../../src/yuzu/main.cpp" line="2373"/> <source>Game</source> <translation>게임</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="2381"/> + <location filename="../../src/yuzu/main.cpp" line="2374"/> <source>Game Update</source> <translation>게임 업데이트</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="2382"/> + <location filename="../../src/yuzu/main.cpp" line="2375"/> <source>Game DLC</source> <translation>게임 DLC</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="2383"/> + <location filename="../../src/yuzu/main.cpp" line="2376"/> <source>Delta Title</source> <translation>델타 타이틀</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="2386"/> + <location filename="../../src/yuzu/main.cpp" line="2379"/> <source>Select NCA Install Type...</source> <translation>NCA 설치 유형 선택...</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="2387"/> + <location filename="../../src/yuzu/main.cpp" line="2380"/> <source>Please select the type of title you would like to install this NCA as: (In most instances, the default 'Game' is fine.)</source> <translation>이 NCA를 설치할 타이틀 유형을 선택하세요: (대부분의 경우 기본값인 '게임'이 괜찮습니다.)</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="2393"/> + <location filename="../../src/yuzu/main.cpp" line="2386"/> <source>Failed to Install</source> <translation>설치 실패</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="2394"/> + <location filename="../../src/yuzu/main.cpp" line="2387"/> <source>The title type you selected for the NCA is invalid.</source> <translation>NCA 타이틀 유형이 유효하지 않습니다.</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="2429"/> + <location filename="../../src/yuzu/main.cpp" line="2422"/> <source>File not found</source> <translation>파일을 찾을 수 없음</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="2430"/> + <location filename="../../src/yuzu/main.cpp" line="2423"/> <source>File "%1" not found</source> <translation>파일 "%1"을 찾을 수 없습니다</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="2445"/> - <location filename="../../src/yuzu/main.cpp" line="3448"/> - <source>&Continue</source> - <translation>계속(&C)</translation> - </message> - <message> - <location filename="../../src/yuzu/main.cpp" line="2494"/> + <location filename="../../src/yuzu/main.cpp" line="2492"/> <source>OK</source> <translation>OK</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="2508"/> + <location filename="../../src/yuzu/main.cpp" line="2506"/> <source>Missing yuzu Account</source> <translation>yuzu 계정 누락</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="2509"/> + <location filename="../../src/yuzu/main.cpp" line="2507"/> <source>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.</source> <translation>게임 호환성 테스트 결과를 제출하려면 yuzu 계정을 연결해야합니다.<br><br/>yuzu 계정을 연결하려면 에뮬레이션 &gt; 설정 &gt; 웹으로 가세요.</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="2519"/> + <location filename="../../src/yuzu/main.cpp" line="2517"/> <source>Error opening URL</source> <translation>URL 열기 오류</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="2520"/> + <location filename="../../src/yuzu/main.cpp" line="2518"/> <source>Unable to open the URL "%1".</source> <translation>URL "%1"을 열 수 없습니다.</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="2802"/> + <location filename="../../src/yuzu/main.cpp" line="2777"/> + <source>TAS Recording</source> + <translation>TAS 레코딩</translation> + </message> + <message> + <location filename="../../src/yuzu/main.cpp" line="2777"/> + <source>Overwrite file of player 1?</source> + <translation>플레이어 1의 파일을 덮어쓰시겠습니까?</translation> + </message> + <message> + <location filename="../../src/yuzu/main.cpp" line="2830"/> <source>Amiibo File (%1);; All Files (*.*)</source> <translation>Amiibo 파일 (%1);; 모든 파일 (*.*)</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="2803"/> + <location filename="../../src/yuzu/main.cpp" line="2831"/> <source>Load Amiibo</source> <translation>Amiibo 로드</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="2821"/> + <location filename="../../src/yuzu/main.cpp" line="2849"/> <source>Error opening Amiibo data file</source> <translation>Amiibo 데이터 파일 열기 오류</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="2822"/> + <location filename="../../src/yuzu/main.cpp" line="2850"/> <source>Unable to open Amiibo file "%1" for reading.</source> <translation>Amiibo 파일 "%1"을(를) 읽을 수 없습니다.</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="2830"/> + <location filename="../../src/yuzu/main.cpp" line="2858"/> <source>Error reading Amiibo data file</source> <translation>Amiibo 데이터 파일 읽기 오류</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="2831"/> + <location filename="../../src/yuzu/main.cpp" line="2859"/> <source>Unable to fully read Amiibo data. Expected to read %1 bytes, but was only able to read %2 bytes.</source> <translation>Amiibo 데이터를 완전히 읽을 수 없습니다. %1 바이트를 읽으려고 했지만 %2 바이트만 읽을 수 있었습니다.</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="2839"/> + <location filename="../../src/yuzu/main.cpp" line="2867"/> <source>Error loading Amiibo data</source> <translation>Amiibo 데이터 로드 오류</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="2840"/> + <location filename="../../src/yuzu/main.cpp" line="2868"/> <source>Unable to load Amiibo data.</source> <translation>Amiibo 데이터를 로드할 수 없습니다.</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="2881"/> + <location filename="../../src/yuzu/main.cpp" line="2913"/> <source>Capture Screenshot</source> <translation>스크린샷 캡처</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="2882"/> + <location filename="../../src/yuzu/main.cpp" line="2914"/> <source>PNG Image (*.png)</source> <translation>PNG 이미지 (*.png)</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="2948"/> + <location filename="../../src/yuzu/main.cpp" line="2979"/> <source>TAS state: Running %1/%2</source> <translation>TAS 상태: %1/%2 실행 중</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="2950"/> + <location filename="../../src/yuzu/main.cpp" line="2981"/> <source>TAS state: Recording %1</source> <translation>TAS 상태: 레코딩 %1</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="2952"/> + <location filename="../../src/yuzu/main.cpp" line="2983"/> <source>TAS state: Idle %1/%2</source> <translation>TAS 상태: 유휴 %1/%2</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="2954"/> + <location filename="../../src/yuzu/main.cpp" line="2985"/> <source>TAS State: Invalid</source> <translation>TAS 상태: 유효하지 않음</translation> </message> + <message> + <location filename="../../src/yuzu/main.cpp" line="2999"/> + <source>&Stop Running</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/main.cpp" line="2999"/> + <source>&Start</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/main.cpp" line="3000"/> + <source>Stop R&ecording</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/main.cpp" line="3000"/> + <source>R&ecord</source> + <translation type="unfinished"/> + </message> <message numerus="yes"> - <location filename="../../src/yuzu/main.cpp" line="2975"/> + <location filename="../../src/yuzu/main.cpp" line="3024"/> <source>Building: %n shader(s)</source> <translation><numerusform>빌드중: %n개 셰이더</numerusform></translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="2982"/> + <location filename="../../src/yuzu/main.cpp" line="3033"/> + <source>Scale: %1x</source> + <comment>%1 is the resolution scaling factor</comment> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/main.cpp" line="3036"/> <source>Speed: %1% / %2%</source> <translation>속도: %1% / %2%</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="2986"/> + <location filename="../../src/yuzu/main.cpp" line="3040"/> <source>Speed: %1%</source> <translation>속도: %1%</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="2990"/> + <location filename="../../src/yuzu/main.cpp" line="3044"/> <source>Game: %1 FPS (Unlocked)</source> <translation>게임: %1 FPS (제한없음)</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="2992"/> + <location filename="../../src/yuzu/main.cpp" line="3046"/> <source>Game: %1 FPS</source> <translation>게임: %1 FPS</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="2994"/> + <location filename="../../src/yuzu/main.cpp" line="3048"/> <source>Frame: %1 ms</source> <translation>프레임: %1 ms</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="3004"/> + <location filename="../../src/yuzu/main.cpp" line="3059"/> <source>GPU NORMAL</source> <translation>GPU 보통</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="3009"/> + <location filename="../../src/yuzu/main.cpp" line="3064"/> <source>GPU HIGH</source> <translation>GPU 높음</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="3014"/> + <location filename="../../src/yuzu/main.cpp" line="3069"/> <source>GPU EXTREME</source> <translation>GPU 굉장함</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="3019"/> + <location filename="../../src/yuzu/main.cpp" line="3074"/> <source>GPU ERROR</source> <translation>GPU 오류</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="3076"/> + <location filename="../../src/yuzu/main.cpp" line="3084"/> + <source>NEAREST</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/main.cpp" line="3087"/> + <location filename="../../src/yuzu/main.cpp" line="3102"/> + <source>BILINEAR</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/main.cpp" line="3090"/> + <source>BICUBIC</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/main.cpp" line="3093"/> + <source>GAUSSIAN</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/main.cpp" line="3096"/> + <source>SCALEFORCE</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/main.cpp" line="3099"/> + <source>FSR</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/main.cpp" line="3111"/> + <location filename="../../src/yuzu/main.cpp" line="3117"/> + <source>NO AA</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/main.cpp" line="3114"/> + <source>FXAA</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/main.cpp" line="3175"/> <source>The game you are trying to load requires additional files from your Switch to be dumped before playing.<br/><br/>For more information on dumping these files, please see the following wiki page: <a href='https://yuzu-emu.org/wiki/dumping-system-archives-and-the-shared-fonts-from-a-switch-console/'>Dumping System Archives and the Shared Fonts from a Switch Console</a>.<br/><br/>Would you like to quit back to the game list? Continuing emulation may result in crashes, corrupted save data, or other bugs.</source> <translation>해당 게임은 플레이하기 전에 Switch 기기에서 추가 파일을 덤프해야합니다.<br/><br/>이러한 파일 덤프에 대한 자세한 내용은 다음 위키 페이지를 참조하십시오: <a href='https://yuzu-emu.org/wiki/dumping-system-archives-and-the-shared-fonts-from-a-switch-console/'>Switch 콘솔에서 시스템 아카이브 및 공유 글꼴 덤프</a>.<br/><br/>게임 목록으로 돌아가시겠습니까? 이를 무시하고 에뮬레이션을 계속하면 충돌, 저장 데이터 손상 또는 기타 버그가 발생할 수 있습니다.</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="3091"/> + <location filename="../../src/yuzu/main.cpp" line="3190"/> <source>yuzu was unable to locate a Switch system archive. %1</source> <translation>yuzu가 Switch 시스템 아카이브를 찾을 수 없습니다. %1</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="3093"/> + <location filename="../../src/yuzu/main.cpp" line="3192"/> <source>yuzu was unable to locate a Switch system archive: %1. %2</source> <translation>yuzu가 Switch 시스템 아카이브를 찾을 수 없습니다: %1. %2</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="3097"/> + <location filename="../../src/yuzu/main.cpp" line="3196"/> <source>System Archive Not Found</source> <translation>시스템 아카이브를 찾을 수 없음</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="3099"/> + <location filename="../../src/yuzu/main.cpp" line="3198"/> <source>System Archive Missing</source> <translation>시스템 아카이브 누락</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="3105"/> + <location filename="../../src/yuzu/main.cpp" line="3204"/> <source>yuzu was unable to locate the Switch shared fonts. %1</source> <translation>yuzu가 Switch 공유 글꼴을 찾을 수 없습니다. %1</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="3106"/> + <location filename="../../src/yuzu/main.cpp" line="3205"/> <source>Shared Fonts Not Found</source> <translation>공유 글꼴을 찾을 수 없음</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="3108"/> + <location filename="../../src/yuzu/main.cpp" line="3207"/> <source>Shared Font Missing</source> <translation>공유 글꼴 누락</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="3114"/> + <location filename="../../src/yuzu/main.cpp" line="3213"/> <source>Fatal Error</source> <translation>치명적인 오류</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="3115"/> + <location filename="../../src/yuzu/main.cpp" line="3214"/> <source>yuzu has encountered a fatal error, please see the log for more details. For more information on accessing the log, please see the following page: <a href='https://community.citra-emu.org/t/how-to-upload-the-log-file/296'>How to Upload the Log File</a>.<br/><br/>Would you like to quit back to the game list? Continuing emulation may result in crashes, corrupted save data, or other bugs.</source> <translation>치명적인 오류가 발생했습니다. 자세한 내용은 로그를 확인하십시오. 로그 액세스에 대한 자세한 내용은 다음 페이지를 참조하십시오: <a href='https://community.citra-emu.org/t/how-to-upload-the-log-file/296'>로그 파일을 업로드하는 방법</a>.<br/><br/>게임 목록으로 돌아가시겠습니까? 이를 무시하고 에뮬레이션을 계속하면 충돌, 저장 데이터 손상 또는 기타 버그가 발생할 수 있습니다.</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="3124"/> + <location filename="../../src/yuzu/main.cpp" line="3223"/> <source>Fatal Error encountered</source> <translation>치명적인 오류 발생</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="3147"/> + <location filename="../../src/yuzu/main.cpp" line="3246"/> <source>Confirm Key Rederivation</source> <translation>키 재생성 확인</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="3148"/> + <location filename="../../src/yuzu/main.cpp" line="3247"/> <source>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. @@ -4448,37 +4582,37 @@ This will delete your autogenerated key files and re-run the key derivation modu 자동 생성되었던 키 파일들이 삭제되고 키 생성 모듈이 다시 실행됩니다.</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="3180"/> + <location filename="../../src/yuzu/main.cpp" line="3279"/> <source>Missing fuses</source> <translation>퓨즈 누락</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="3183"/> + <location filename="../../src/yuzu/main.cpp" line="3282"/> <source> - Missing BOOT0</source> <translation> - BOOT0 누락</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="3186"/> + <location filename="../../src/yuzu/main.cpp" line="3285"/> <source> - Missing BCPKG2-1-Normal-Main</source> <translation> - BCPKG2-1-Normal-Main 누락</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="3189"/> + <location filename="../../src/yuzu/main.cpp" line="3288"/> <source> - Missing PRODINFO</source> <translation> - PRODINFO 누락</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="3193"/> + <location filename="../../src/yuzu/main.cpp" line="3292"/> <source>Derivation Components Missing</source> <translation>파생 구성 요소 누락</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="3194"/> - <source>Components are missing that may hinder key derivation from completing. <br>Please follow <a href='https://yuzu-emu.org/help/quickstart/'>the yuzu quickstart guide</a> to get all your keys and games.<br><br><small>(%1)</small></source> - <translation>구성요소가 누락되어 키 파생이 완료되지 못할 수 있습니다. <br>모든 키와 게임을 얻으려면 <a href='https://yuzu-emu.org/help/quickstart/'>yuzu 빠른 시작 가이드</a>를 참조하세요<br><br><small>(%1)</small></translation> + <location filename="../../src/yuzu/main.cpp" line="3293"/> + <source>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></source> + <translation type="unfinished"/> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="3203"/> + <location filename="../../src/yuzu/main.cpp" line="3302"/> <source>Deriving keys... This may take up to a minute depending on your system's performance.</source> @@ -4487,39 +4621,39 @@ on your system's performance.</source> 소요될 수 있습니다.</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="3205"/> + <location filename="../../src/yuzu/main.cpp" line="3304"/> <source>Deriving Keys</source> <translation>파생 키</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="3250"/> + <location filename="../../src/yuzu/main.cpp" line="3349"/> <source>Select RomFS Dump Target</source> <translation>RomFS 덤프 대상 선택</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="3251"/> + <location filename="../../src/yuzu/main.cpp" line="3350"/> <source>Please select which RomFS you would like to dump.</source> <translation>덤프할 RomFS를 선택하십시오.</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="3266"/> + <location filename="../../src/yuzu/main.cpp" line="3365"/> <source>Are you sure you want to close yuzu?</source> <translation>yuzu를 닫으시겠습니까?</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="3267"/> - <location filename="../../src/yuzu/main.cpp" line="3342"/> - <location filename="../../src/yuzu/main.cpp" line="3355"/> + <location filename="../../src/yuzu/main.cpp" line="3366"/> + <location filename="../../src/yuzu/main.cpp" line="3443"/> + <location filename="../../src/yuzu/main.cpp" line="3456"/> <source>yuzu</source> <translation>yuzu</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="3343"/> + <location filename="../../src/yuzu/main.cpp" line="3444"/> <source>Are you sure you want to stop the emulation? Any unsaved progress will be lost.</source> <translation>에뮬레이션을 중지하시겠습니까? 모든 저장되지 않은 진행 상황은 사라집니다.</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="3352"/> + <location filename="../../src/yuzu/main.cpp" line="3453"/> <source>The currently running application has requested yuzu to not exit. Would you like to bypass this and exit anyway?</source> @@ -4531,38 +4665,38 @@ Would you like to bypass this and exit anyway?</source> <context> <name>GRenderWindow</name> <message> - <location filename="../../src/yuzu/bootmanager.cpp" line="675"/> + <location filename="../../src/yuzu/bootmanager.cpp" line="976"/> <source>OpenGL not available!</source> <translation>OpenGL을 사용할 수 없습니다!</translation> </message> <message> - <location filename="../../src/yuzu/bootmanager.cpp" line="676"/> + <location filename="../../src/yuzu/bootmanager.cpp" line="977"/> <source>yuzu has not been compiled with OpenGL support.</source> <translation>yuzu는 OpenGL 지원으로 컴파일되지 않았습니다.</translation> </message> <message> - <location filename="../../src/yuzu/bootmanager.cpp" line="695"/> - <location filename="../../src/yuzu/bootmanager.cpp" line="715"/> + <location filename="../../src/yuzu/bootmanager.cpp" line="996"/> + <location filename="../../src/yuzu/bootmanager.cpp" line="1016"/> <source>Error while initializing OpenGL!</source> <translation>OpenGL을 초기화하는 동안 오류가 발생했습니다!</translation> </message> <message> - <location filename="../../src/yuzu/bootmanager.cpp" line="696"/> + <location filename="../../src/yuzu/bootmanager.cpp" line="997"/> <source>Your GPU may not support OpenGL, or you do not have the latest graphics driver.</source> <translation>사용하시는 GPU가 OpenGL을 지원하지 않거나, 최신 그래픽 드라이버가 설치되어 있지 않습니다.</translation> </message> <message> - <location filename="../../src/yuzu/bootmanager.cpp" line="705"/> + <location filename="../../src/yuzu/bootmanager.cpp" line="1006"/> <source>Error while initializing OpenGL 4.6!</source> <translation>OpenGL 4.6 초기화 중 오류 발생!</translation> </message> <message> - <location filename="../../src/yuzu/bootmanager.cpp" line="706"/> + <location filename="../../src/yuzu/bootmanager.cpp" line="1007"/> <source>Your GPU may not support OpenGL 4.6, or you do not have the latest graphics driver.<br><br>GL Renderer:<br>%1</source> <translation>사용하시는 GPU가 OpenGL 4.6을 지원하지 않거나 최신 그래픽 드라이버가 설치되어 있지 않습니다. <br><br>GL 렌더링 장치:<br>%1</translation> </message> <message> - <location filename="../../src/yuzu/bootmanager.cpp" line="716"/> + <location filename="../../src/yuzu/bootmanager.cpp" line="1017"/> <source>Your GPU may not support one or more required OpenGL extensions. Please ensure you have the latest graphics driver.<br><br>GL Renderer:<br>%1<br><br>Unsupported extensions:<br>%2</source> <translation>사용하시는 GPU가 1개 이상의 OpenGL 확장 기능을 지원하지 않습니다. 최신 그래픽 드라이버가 설치되어 있는지 확인하세요. <br><br>GL 렌더링 장치:<br>%1<br><br>지원하지 않는 확장 기능:<br>%2</translation> </message> @@ -4924,190 +5058,205 @@ Screen.</source> <translation>에뮬레이션(&E)</translation> </message> <message> - <location filename="../../src/yuzu/main.ui" line="79"/> + <location filename="../../src/yuzu/main.ui" line="78"/> <source>&View</source> <translation>보기(&V)</translation> </message> <message> - <location filename="../../src/yuzu/main.ui" line="83"/> + <location filename="../../src/yuzu/main.ui" line="82"/> <source>&Reset Window Size</source> <translation>창 크기 초기화 (&R)</translation> </message> <message> - <location filename="../../src/yuzu/main.ui" line="88"/> + <location filename="../../src/yuzu/main.ui" line="87"/> + <source>&Debugging</source> + <translation>디버깅(&D)</translation> + </message> + <message> + <location filename="../../src/yuzu/main.ui" line="92"/> <source>Reset Window Size to &720p</source> <translation>창 크기를 720p로 맞추기(&7)</translation> </message> <message> - <location filename="../../src/yuzu/main.ui" line="91"/> + <location filename="../../src/yuzu/main.ui" line="95"/> <source>Reset Window Size to 720p</source> <translation>창 크기를 720p로 맞추기</translation> </message> <message> - <location filename="../../src/yuzu/main.ui" line="96"/> + <location filename="../../src/yuzu/main.ui" line="100"/> <source>Reset Window Size to &900p</source> <translation>창 크기를 900p로 맞추기(&9)</translation> </message> <message> - <location filename="../../src/yuzu/main.ui" line="99"/> + <location filename="../../src/yuzu/main.ui" line="103"/> <source>Reset Window Size to 900p</source> <translation>창 크기를 900p로 맞추기</translation> </message> <message> - <location filename="../../src/yuzu/main.ui" line="104"/> + <location filename="../../src/yuzu/main.ui" line="108"/> <source>Reset Window Size to &1080p</source> <translation>창 크기를 1080p로 맞추기(&1)</translation> </message> <message> - <location filename="../../src/yuzu/main.ui" line="107"/> + <location filename="../../src/yuzu/main.ui" line="111"/> <source>Reset Window Size to 1080p</source> <translation>창 크기를 1080p로 맞추기</translation> </message> <message> - <location filename="../../src/yuzu/main.ui" line="112"/> - <source>&Debugging</source> - <translation>디버깅(&D)</translation> - </message> - <message> - <location filename="../../src/yuzu/main.ui" line="126"/> + <location filename="../../src/yuzu/main.ui" line="125"/> <source>&Tools</source> <translation>도구(&T)</translation> </message> <message> - <location filename="../../src/yuzu/main.ui" line="135"/> + <location filename="../../src/yuzu/main.ui" line="129"/> + <source>&TAS</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/main.ui" line="144"/> <source>&Help</source> <translation>도움말(&H)</translation> </message> <message> - <location filename="../../src/yuzu/main.ui" line="155"/> + <location filename="../../src/yuzu/main.ui" line="164"/> <source>&Install Files to NAND...</source> <translation>낸드에 파일 설치(&I)</translation> </message> <message> - <location filename="../../src/yuzu/main.ui" line="160"/> + <location filename="../../src/yuzu/main.ui" line="169"/> <source>L&oad File...</source> <translation>파일 불러오기...(&L)</translation> </message> <message> - <location filename="../../src/yuzu/main.ui" line="165"/> + <location filename="../../src/yuzu/main.ui" line="174"/> <source>Load &Folder...</source> <translation>폴더 불러오기...(&F)</translation> </message> <message> - <location filename="../../src/yuzu/main.ui" line="170"/> + <location filename="../../src/yuzu/main.ui" line="179"/> <source>E&xit</source> <translation>종료(&X)</translation> </message> <message> - <location filename="../../src/yuzu/main.ui" line="178"/> - <source>&Start</source> - <translation>시작(&S)</translation> - </message> - <message> - <location filename="../../src/yuzu/main.ui" line="186"/> + <location filename="../../src/yuzu/main.ui" line="187"/> <source>&Pause</source> <translation>일시중지(&P)</translation> </message> <message> - <location filename="../../src/yuzu/main.ui" line="194"/> + <location filename="../../src/yuzu/main.ui" line="195"/> <source>&Stop</source> <translation>정지(&S)</translation> </message> <message> - <location filename="../../src/yuzu/main.ui" line="199"/> + <location filename="../../src/yuzu/main.ui" line="200"/> <source>&Reinitialize keys...</source> <translation>&키 재설정...(&R)</translation> </message> <message> - <location filename="../../src/yuzu/main.ui" line="204"/> + <location filename="../../src/yuzu/main.ui" line="205"/> <source>&About yuzu</source> <translation>yuzu 정보(&A)</translation> </message> <message> - <location filename="../../src/yuzu/main.ui" line="212"/> + <location filename="../../src/yuzu/main.ui" line="213"/> <source>Single &Window Mode</source> <translation>싱글 창 모드(&W)</translation> </message> <message> - <location filename="../../src/yuzu/main.ui" line="217"/> + <location filename="../../src/yuzu/main.ui" line="218"/> <source>Con&figure...</source> <translation>설정(&f)</translation> </message> <message> - <location filename="../../src/yuzu/main.ui" line="225"/> + <location filename="../../src/yuzu/main.ui" line="226"/> <source>Display D&ock Widget Headers</source> <translation>독 위젯 헤더 표시(&o)</translation> </message> <message> - <location filename="../../src/yuzu/main.ui" line="233"/> + <location filename="../../src/yuzu/main.ui" line="234"/> <source>Show &Filter Bar</source> <translation>필터링 바 표시(&F)</translation> </message> <message> - <location filename="../../src/yuzu/main.ui" line="241"/> + <location filename="../../src/yuzu/main.ui" line="242"/> <source>Show &Status Bar</source> <translation>상태 표시줄 보이기(&S)</translation> </message> <message> - <location filename="../../src/yuzu/main.ui" line="244"/> + <location filename="../../src/yuzu/main.ui" line="245"/> <source>Show Status Bar</source> <translation>상태 표시줄 보이기</translation> </message> <message> - <location filename="../../src/yuzu/main.ui" line="252"/> + <location filename="../../src/yuzu/main.ui" line="253"/> <source>F&ullscreen</source> <translation>전체 화면(&u)</translation> </message> <message> - <location filename="../../src/yuzu/main.ui" line="260"/> + <location filename="../../src/yuzu/main.ui" line="261"/> <source>&Restart</source> <translation>재시작(&R)</translation> </message> <message> - <location filename="../../src/yuzu/main.ui" line="268"/> + <location filename="../../src/yuzu/main.ui" line="269"/> <source>Load &Amiibo...</source> <translation>Amiibo 불러오기...(&A)</translation> </message> <message> - <location filename="../../src/yuzu/main.ui" line="276"/> + <location filename="../../src/yuzu/main.ui" line="277"/> <source>&Report Compatibility</source> <translation>호환성 보고(&R)</translation> </message> <message> - <location filename="../../src/yuzu/main.ui" line="284"/> + <location filename="../../src/yuzu/main.ui" line="285"/> <source>Open &Mods Page</source> <translation>게임 모드 페이지 열기(&M)</translation> </message> <message> - <location filename="../../src/yuzu/main.ui" line="289"/> + <location filename="../../src/yuzu/main.ui" line="290"/> <source>Open &Quickstart Guide</source> <translation>빠른 시작 가이드 열기(&Q)</translation> </message> <message> - <location filename="../../src/yuzu/main.ui" line="294"/> + <location filename="../../src/yuzu/main.ui" line="295"/> <source>&FAQ</source> <translation>FAQ(&F)</translation> </message> <message> - <location filename="../../src/yuzu/main.ui" line="299"/> + <location filename="../../src/yuzu/main.ui" line="300"/> <source>Open &yuzu Folder</source> <translation>yuzu 폴더 열기(&y)</translation> </message> <message> - <location filename="../../src/yuzu/main.ui" line="307"/> + <location filename="../../src/yuzu/main.ui" line="308"/> <source>&Capture Screenshot</source> <translation>스크린샷 찍기(&C)</translation> </message> <message> - <location filename="../../src/yuzu/main.ui" line="312"/> - <source>Configure &TAS...</source> - <translation>TAS 설정...(&T)</translation> + <location filename="../../src/yuzu/main.ui" line="313"/> + <source>&Configure TAS...</source> + <translation type="unfinished"/> </message> <message> - <location filename="../../src/yuzu/main.ui" line="320"/> + <location filename="../../src/yuzu/main.ui" line="321"/> <source>Configure C&urrent Game...</source> <translation>실행중인 게임 맞춤 설정...(&u)</translation> </message> + <message> + <location filename="../../src/yuzu/main.ui" line="329"/> + <source>&Start</source> + <translation>시작(&S)</translation> + </message> + <message> + <location filename="../../src/yuzu/main.ui" line="337"/> + <source>&Reset</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/main.ui" line="345"/> + <source>R&ecord</source> + <translation type="unfinished"/> + </message> </context> <context> <name>MicroProfileDialog</name> @@ -5153,10 +5302,15 @@ p, li { white-space: pre-wrap; } <context> <name>PlayerControlPreview</name> <message> - <location filename="../../src/yuzu/configuration/configure_input_player_widget.cpp" line="1566"/> + <location filename="../../src/yuzu/configuration/configure_input_player_widget.cpp" line="1572"/> <source>START/PAUSE</source> <translation>시작/일시 정지</translation> </message> + <message> + <location filename="../../src/yuzu/configuration/configure_input_player_widget.cpp" line="2685"/> + <source>Charging</source> + <translation type="unfinished"/> + </message> </context> <context> <name>QObject</name> @@ -5187,142 +5341,222 @@ p, li { white-space: pre-wrap; } </message> <message> <location filename="../../src/yuzu/configuration/configure_touch_from_button.cpp" line="23"/> - <location filename="../../src/yuzu/configuration/configure_mouse_advanced.cpp" line="32"/> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="72"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="43"/> <source>Shift</source> <translation>Shift</translation> </message> <message> <location filename="../../src/yuzu/configuration/configure_touch_from_button.cpp" line="25"/> - <location filename="../../src/yuzu/configuration/configure_mouse_advanced.cpp" line="34"/> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="74"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="45"/> <source>Ctrl</source> <translation>Ctrl</translation> </message> <message> <location filename="../../src/yuzu/configuration/configure_touch_from_button.cpp" line="27"/> - <location filename="../../src/yuzu/configuration/configure_mouse_advanced.cpp" line="36"/> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="76"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="47"/> <source>Alt</source> <translation>Alt</translation> </message> <message> <location filename="../../src/yuzu/configuration/configure_touch_from_button.cpp" line="37"/> - <location filename="../../src/yuzu/configuration/configure_mouse_advanced.cpp" line="46"/> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="103"/> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="190"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="130"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="196"/> <source>[not set]</source> <translation>[설정 안 됨]</translation> </message> <message> <location filename="../../src/yuzu/configuration/configure_touch_from_button.cpp" line="49"/> - <location filename="../../src/yuzu/configuration/configure_mouse_advanced.cpp" line="58"/> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="152"/> <source>Hat %1 %2</source> <translation>방향키 %1 %2</translation> </message> <message> <location filename="../../src/yuzu/configuration/configure_touch_from_button.cpp" line="56"/> - <location filename="../../src/yuzu/configuration/configure_mouse_advanced.cpp" line="65"/> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="159"/> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="210"/> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="214"/> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="218"/> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="222"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="219"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="223"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="227"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="231"/> <source>Axis %1%2</source> <translation>축 %1%2</translation> </message> <message> <location filename="../../src/yuzu/configuration/configure_touch_from_button.cpp" line="62"/> - <location filename="../../src/yuzu/configuration/configure_mouse_advanced.cpp" line="71"/> <source>Button %1</source> <translation>버튼 %1</translation> </message> <message> <location filename="../../src/yuzu/configuration/configure_touch_from_button.cpp" line="68"/> - <location filename="../../src/yuzu/configuration/configure_mouse_advanced.cpp" line="76"/> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="185"/> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="227"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="190"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="204"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="234"/> <source>[unknown]</source> <translation>[알 수 없음]</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_mouse_advanced.cpp" line="22"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="58"/> + <source>Left</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="60"/> + <source>Right</source> + <translation type="unfinished"/> + </message> + <message> <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="62"/> - <source>Click 0</source> - <translation>클릭 0</translation> + <source>Down</source> + <translation type="unfinished"/> </message> <message> - <location filename="../../src/yuzu/configuration/configure_mouse_advanced.cpp" line="24"/> <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="64"/> - <source>Click 1</source> - <translation>클릭 1</translation> + <source>Up</source> + <translation type="unfinished"/> </message> <message> - <location filename="../../src/yuzu/configuration/configure_mouse_advanced.cpp" line="26"/> <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="66"/> - <source>Click 2</source> - <translation>클릭 2</translation> + <source>Z</source> + <translation type="unfinished"/> </message> <message> - <location filename="../../src/yuzu/configuration/configure_mouse_advanced.cpp" line="28"/> <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="68"/> - <source>Click 3</source> - <translation>클릭 3</translation> + <source>R</source> + <translation type="unfinished"/> </message> <message> - <location filename="../../src/yuzu/configuration/configure_mouse_advanced.cpp" line="30"/> <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="70"/> - <source>Click 4</source> - <translation>클릭 4</translation> + <source>L</source> + <translation type="unfinished"/> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="109"/> - <source>%1%2</source> - <translation>%1%2</translation> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="72"/> + <source>A</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="74"/> + <source>B</source> + <translation type="unfinished"/> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="117"/> - <source>GC Axis %1%2</source> - <translation>GC 축 %1%2</translation> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="76"/> + <source>X</source> + <translation type="unfinished"/> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="121"/> - <source>GC Button %1</source> - <translation>GC 버튼 %1</translation> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="78"/> + <source>Y</source> + <translation type="unfinished"/> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="130"/> - <source>TAS Axis %1</source> - <translation>TAS Axis %1</translation> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="80"/> + <source>Start</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="82"/> + <source>L1</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="84"/> + <source>L2</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="86"/> + <source>L3</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="88"/> + <source>R1</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="90"/> + <source>R2</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="92"/> + <source>R3</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="94"/> + <source>Circle</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="96"/> + <source>Cross</source> + <translation type="unfinished"/> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="134"/> - <source>TAS Btn %1</source> - <translation>TAS 버튼 %1</translation> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="98"/> + <source>Square</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="100"/> + <source>Triangle</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="102"/> + <source>Share</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="104"/> + <source>Options</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="106"/> + <source>[undefined]</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="140"/> + <source>%1%2</source> + <translation>%1%2</translation> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="144"/> + <source>[invalid]</source> + <translation type="unfinished"/> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="142"/> - <source>Motion %1</source> - <translation>모션 %1</translation> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="154"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="178"/> + <source>%1%2Hat %3</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="158"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="181"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="184"/> + <source>%1%2Axis %3</source> + <translation type="unfinished"/> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="166"/> - <source>%1Button %2</source> - <translation>%1버튼 %2</translation> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="164"/> + <source>%1%2Axis %3,%4,%5</source> + <translation type="unfinished"/> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="170"/> - <source>SDL Motion</source> - <translation>SDL 모션</translation> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="168"/> + <source>%1%2Motion %3</source> + <translation type="unfinished"/> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="180"/> - <source>%1Click %2</source> - <translation>%1클릭 %2</translation> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="172"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="187"/> + <source>%1%2Button %3</source> + <translation type="unfinished"/> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="205"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="214"/> <source>[unused]</source> <translation>[미사용]</translation> </message> @@ -5363,7 +5597,7 @@ p, li { white-space: pre-wrap; } <location filename="../../src/yuzu/applets/qt_controller.ui" line="1656"/> <location filename="../../src/yuzu/applets/qt_controller.ui" line="1857"/> <location filename="../../src/yuzu/applets/qt_controller.ui" line="2054"/> - <location filename="../../src/yuzu/applets/qt_controller.cpp" line="419"/> + <location filename="../../src/yuzu/applets/qt_controller.cpp" line="411"/> <source>Pro Controller</source> <translation>프로 컨트롤러</translation> </message> @@ -5376,7 +5610,7 @@ p, li { white-space: pre-wrap; } <location filename="../../src/yuzu/applets/qt_controller.ui" line="1661"/> <location filename="../../src/yuzu/applets/qt_controller.ui" line="1862"/> <location filename="../../src/yuzu/applets/qt_controller.ui" line="2059"/> - <location filename="../../src/yuzu/applets/qt_controller.cpp" line="423"/> + <location filename="../../src/yuzu/applets/qt_controller.cpp" line="415"/> <source>Dual Joycons</source> <translation>듀얼 조이콘</translation> </message> @@ -5389,7 +5623,7 @@ p, li { white-space: pre-wrap; } <location filename="../../src/yuzu/applets/qt_controller.ui" line="1666"/> <location filename="../../src/yuzu/applets/qt_controller.ui" line="1867"/> <location filename="../../src/yuzu/applets/qt_controller.ui" line="2064"/> - <location filename="../../src/yuzu/applets/qt_controller.cpp" line="427"/> + <location filename="../../src/yuzu/applets/qt_controller.cpp" line="419"/> <source>Left Joycon</source> <translation>왼쪽 조이콘</translation> </message> @@ -5402,7 +5636,7 @@ p, li { white-space: pre-wrap; } <location filename="../../src/yuzu/applets/qt_controller.ui" line="1671"/> <location filename="../../src/yuzu/applets/qt_controller.ui" line="1872"/> <location filename="../../src/yuzu/applets/qt_controller.ui" line="2069"/> - <location filename="../../src/yuzu/applets/qt_controller.cpp" line="431"/> + <location filename="../../src/yuzu/applets/qt_controller.cpp" line="423"/> <source>Right Joycon</source> <translation>오른쪽 조이콘</translation> </message> @@ -5430,7 +5664,7 @@ p, li { white-space: pre-wrap; } </message> <message> <location filename="../../src/yuzu/applets/qt_controller.ui" line="932"/> - <location filename="../../src/yuzu/applets/qt_controller.cpp" line="436"/> + <location filename="../../src/yuzu/applets/qt_controller.cpp" line="428"/> <source>Handheld</source> <translation>휴대 모드용</translation> </message> @@ -5551,7 +5785,7 @@ p, li { white-space: pre-wrap; } <translation>8</translation> </message> <message> - <location filename="../../src/yuzu/applets/qt_controller.cpp" line="441"/> + <location filename="../../src/yuzu/applets/qt_controller.cpp" line="433"/> <source>GameCube Controller</source> <translation>GameCube 컨트롤러</translation> </message> @@ -5645,13 +5879,13 @@ p, li { white-space: pre-wrap; } <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></translation> </message> <message> - <location filename="../../src/yuzu/applets/qt_software_keyboard.cpp" line="396"/> - <location filename="../../src/yuzu/applets/qt_software_keyboard.cpp" line="406"/> + <location filename="../../src/yuzu/applets/qt_software_keyboard.cpp" line="399"/> + <location filename="../../src/yuzu/applets/qt_software_keyboard.cpp" line="409"/> <source>OK</source> <translation>OK</translation> </message> <message> - <location filename="../../src/yuzu/applets/qt_software_keyboard.cpp" line="406"/> + <location filename="../../src/yuzu/applets/qt_software_keyboard.cpp" line="409"/> <source>Cancel</source> <translation>취소</translation> </message> diff --git a/dist/languages/nb.ts b/dist/languages/nb.ts index 22c002326..039816080 100644 --- a/dist/languages/nb.ts +++ b/dist/languages/nb.ts @@ -633,7 +633,12 @@ p, li { white-space: pre-wrap; } <translation type="unfinished"/> </message> <message> - <location filename="../../src/yuzu/configuration/configure_debug.ui" line="212"/> + <location filename="../../src/yuzu/configuration/configure_debug.ui" line="204"/> + <source>Enable all Controller Types</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_debug.ui" line="219"/> <source>**This will be reset automatically when yuzu closes.</source> <translation type="unfinished"/> </message> @@ -913,67 +918,78 @@ p, li { white-space: pre-wrap; } <translation>Generelt</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_general.ui" line="35"/> - <source>Framerate Cap</source> + <location filename="../../src/yuzu/configuration/configure_general.ui" line="50"/> + <location filename="../../src/yuzu/configuration/configure_general.ui" line="57"/> + <source>Use global framerate cap</source> <translation type="unfinished"/> </message> <message> - <location filename="../../src/yuzu/configuration/configure_general.ui" line="38"/> + <location filename="../../src/yuzu/configuration/configure_general.ui" line="62"/> + <source>Set framerate cap:</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_general.ui" line="70"/> <source>Requires the use of the FPS Limiter Toggle hotkey to take effect.</source> <translation type="unfinished"/> </message> <message> - <location filename="../../src/yuzu/configuration/configure_general.ui" line="45"/> + <location filename="../../src/yuzu/configuration/configure_general.ui" line="73"/> + <source>Framerate Cap</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_general.ui" line="95"/> <source>x</source> <translation type="unfinished"/> </message> <message> - <location filename="../../src/yuzu/configuration/configure_general.ui" line="65"/> + <location filename="../../src/yuzu/configuration/configure_general.ui" line="116"/> <source>Limit Speed Percent</source> <translation>Begrens Farts-Prosent</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_general.ui" line="72"/> + <location filename="../../src/yuzu/configuration/configure_general.ui" line="123"/> <source>%</source> <translation>%</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_general.ui" line="90"/> + <location filename="../../src/yuzu/configuration/configure_general.ui" line="141"/> <source>Multicore CPU Emulation</source> <translation type="unfinished"/> </message> <message> - <location filename="../../src/yuzu/configuration/configure_general.ui" line="97"/> + <location filename="../../src/yuzu/configuration/configure_general.ui" line="148"/> <source>Confirm exit while emulation is running</source> <translation>Bekreft lukking mens emuleringen kjører</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_general.ui" line="104"/> + <location filename="../../src/yuzu/configuration/configure_general.ui" line="155"/> <source>Prompt for user on game boot</source> <translation type="unfinished"/> </message> <message> - <location filename="../../src/yuzu/configuration/configure_general.ui" line="111"/> + <location filename="../../src/yuzu/configuration/configure_general.ui" line="162"/> <source>Pause emulation when in background</source> <translation>Pause emulasjon i bakgrunnen</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_general.ui" line="118"/> + <location filename="../../src/yuzu/configuration/configure_general.ui" line="169"/> <source>Hide mouse on inactivity</source> <translation>Gjem mus under inaktivitet</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_general.ui" line="160"/> + <location filename="../../src/yuzu/configuration/configure_general.ui" line="211"/> <source>Reset All Settings</source> <translation type="unfinished"/> </message> <message> - <location filename="../../src/yuzu/configuration/configure_general.cpp" line="70"/> + <location filename="../../src/yuzu/configuration/configure_general.cpp" line="78"/> <source>yuzu</source> <translation type="unfinished"/> </message> <message> - <location filename="../../src/yuzu/configuration/configure_general.cpp" line="71"/> + <location filename="../../src/yuzu/configuration/configure_general.cpp" line="79"/> <source>This reset all settings and remove all per-game configurations. This will not delete game directories, profiles, or input profiles. Proceed?</source> <translation type="unfinished"/> </message> @@ -1091,18 +1107,113 @@ p, li { white-space: pre-wrap; } <translation>Strekk til Vindu</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_graphics.ui" line="339"/> - <location filename="../../src/yuzu/configuration/configure_graphics.ui" line="349"/> + <location filename="../../src/yuzu/configuration/configure_graphics.ui" line="330"/> + <source>Resolution:</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_graphics.ui" line="338"/> + <source>0.5X (360p/540p) [EXPERIMENTAL]</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_graphics.ui" line="343"/> + <source>0.75X (540p/810p) [EXPERIMENTAL]</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_graphics.ui" line="348"/> + <source>1X (720p/1080p)</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_graphics.ui" line="353"/> + <source>2X (1440p/2160p)</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_graphics.ui" line="358"/> + <source>3X (2160p/3240p)</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_graphics.ui" line="363"/> + <source>4X (2880p/4320p)</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_graphics.ui" line="368"/> + <source>5X (3600p/5400p)</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_graphics.ui" line="373"/> + <source>6X (4320p/6480p)</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_graphics.ui" line="399"/> + <source>Window Adapting Filter:</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_graphics.ui" line="407"/> + <source>Nearest Neighbor</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_graphics.ui" line="412"/> + <source>Bilinear</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_graphics.ui" line="417"/> + <source>Bicubic</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_graphics.ui" line="422"/> + <source>Gaussian</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_graphics.ui" line="427"/> + <source>ScaleForce</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_graphics.ui" line="432"/> + <source>AMD FidelityFX™️ Super Resolution [Vulkan Only]</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_graphics.ui" line="458"/> + <source>Anti-Aliasing Method:</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_graphics.ui" line="466"/> + <source>None</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_graphics.ui" line="471"/> + <source>FXAA</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_graphics.ui" line="506"/> + <location filename="../../src/yuzu/configuration/configure_graphics.ui" line="516"/> <source>Use global background color</source> <translation type="unfinished"/> </message> <message> - <location filename="../../src/yuzu/configuration/configure_graphics.ui" line="354"/> + <location filename="../../src/yuzu/configuration/configure_graphics.ui" line="521"/> <source>Set background color:</source> <translation>Velg bakgrunnsfarge:</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_graphics.ui" line="362"/> + <location filename="../../src/yuzu/configuration/configure_graphics.ui" line="529"/> <source>Background Color:</source> <translation>Bakgrunnsfarge:</translation> </message> @@ -1171,27 +1282,32 @@ p, li { white-space: pre-wrap; } </message> <message> <location filename="../../src/yuzu/configuration/configure_graphics_advanced.ui" line="128"/> - <source>Default</source> - <translation>Standard</translation> + <source>Automatic</source> + <translation type="unfinished"/> </message> <message> <location filename="../../src/yuzu/configuration/configure_graphics_advanced.ui" line="133"/> - <source>2x (WILL BREAK THINGS)</source> - <translation type="unfinished"/> + <source>Default</source> + <translation>Standard</translation> </message> <message> <location filename="../../src/yuzu/configuration/configure_graphics_advanced.ui" line="138"/> - <source>4x (WILL BREAK THINGS)</source> + <source>2x</source> <translation type="unfinished"/> </message> <message> <location filename="../../src/yuzu/configuration/configure_graphics_advanced.ui" line="143"/> - <source>8x (WILL BREAK THINGS)</source> + <source>4x</source> <translation type="unfinished"/> </message> <message> <location filename="../../src/yuzu/configuration/configure_graphics_advanced.ui" line="148"/> - <source>16x (WILL BREAK THINGS)</source> + <source>8x</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_graphics_advanced.ui" line="153"/> + <source>16x</source> <translation type="unfinished"/> </message> </context> @@ -1519,8 +1635,8 @@ p, li { white-space: pre-wrap; } </message> <message> <location filename="../../src/yuzu/configuration/configure_input_advanced.ui" line="2533"/> - <source>Other</source> - <translation>Andre</translation> + <source>Emulated Devices</source> + <translation type="unfinished"/> </message> <message> <location filename="../../src/yuzu/configuration/configure_input_advanced.ui" line="2545"/> @@ -1529,66 +1645,75 @@ p, li { white-space: pre-wrap; } </message> <message> <location filename="../../src/yuzu/configuration/configure_input_advanced.ui" line="2558"/> - <source>Emulate Analog with Keyboard Input</source> - <translation type="unfinished"/> + <source>Mouse</source> + <translation>Mus</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_advanced.ui" line="2571"/> - <source>Enable mouse panning</source> - <translation type="unfinished"/> + <location filename="../../src/yuzu/configuration/configure_input_advanced.ui" line="2565"/> + <source>Touchscreen</source> + <translation>Touch-skjerm</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_advanced.ui" line="2578"/> - <source>Mouse sensitivity</source> - <translation type="unfinished"/> + <location filename="../../src/yuzu/configuration/configure_input_advanced.ui" line="2588"/> + <source>Advanced</source> + <translation>Avansert</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_advanced.ui" line="2584"/> - <source>%</source> - <translation type="unfinished"/> + <location filename="../../src/yuzu/configuration/configure_input_advanced.ui" line="2595"/> + <source>Debug Controller</source> + <translation>Feilsøkingskontroller</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_advanced.ui" line="2600"/> - <location filename="../../src/yuzu/configuration/configure_input_advanced.ui" line="2623"/> - <source>Advanced</source> - <translation>Avansert</translation> + <location filename="../../src/yuzu/configuration/configure_input_advanced.ui" line="2602"/> + <location filename="../../src/yuzu/configuration/configure_input_advanced.ui" line="2702"/> + <source>Configure</source> + <translation>Konfigurer</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_advanced.ui" line="2630"/> - <source>Touchscreen</source> - <translation>Touch-skjerm</translation> + <location filename="../../src/yuzu/configuration/configure_input_advanced.ui" line="2612"/> + <source>Other</source> + <translation>Andre</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_advanced.ui" line="2643"/> - <source>Mouse</source> - <translation>Mus</translation> + <location filename="../../src/yuzu/configuration/configure_input_advanced.ui" line="2624"/> + <source>Emulate Analog with Keyboard Input</source> + <translation type="unfinished"/> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_advanced.ui" line="2650"/> - <source>Motion / Touch</source> - <translation>Bevegelse / Touch</translation> + <location filename="../../src/yuzu/configuration/configure_input_advanced.ui" line="2631"/> + <source>Requires restarting yuzu</source> + <translation type="unfinished"/> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_advanced.ui" line="2657"/> - <location filename="../../src/yuzu/configuration/configure_input_advanced.ui" line="2671"/> - <source>Configure</source> - <translation>Konfigurer</translation> + <location filename="../../src/yuzu/configuration/configure_input_advanced.ui" line="2640"/> + <source>Enable XInput 8 player support (disables web applet)</source> + <translation type="unfinished"/> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_advanced.ui" line="2664"/> - <source>Debug Controller</source> - <translation>Feilsøkingskontroller</translation> + <location filename="../../src/yuzu/configuration/configure_input_advanced.ui" line="2653"/> + <source>Enable UDP controllers (not needed for motion)</source> + <translation type="unfinished"/> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_advanced.ui" line="2678"/> - <source>Requires restarting yuzu</source> + <location filename="../../src/yuzu/configuration/configure_input_advanced.ui" line="2666"/> + <source>Enable mouse panning</source> <translation type="unfinished"/> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_advanced.ui" line="2687"/> - <source>Enable XInput 8 player support (disables web applet)</source> + <location filename="../../src/yuzu/configuration/configure_input_advanced.ui" line="2673"/> + <source>Mouse sensitivity</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_input_advanced.ui" line="2679"/> + <source>%</source> <translation type="unfinished"/> </message> + <message> + <location filename="../../src/yuzu/configuration/configure_input_advanced.ui" line="2695"/> + <source>Motion / Touch</source> + <translation>Bevegelse / Touch</translation> + </message> </context> <context> <name>ConfigureInputPlayer</name> @@ -1603,424 +1728,440 @@ p, li { white-space: pre-wrap; } <translation>Tilkoble Kontroller</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="94"/> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="535"/> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="986"/> - <source>Pro Controller</source> - <translation>Pro-Kontroller</translation> - </message> - <message> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="99"/> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="992"/> - <source>Dual Joycons</source> - <translation>Doble Joycons</translation> - </message> - <message> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="104"/> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="998"/> - <source>Left Joycon</source> - <translation>Venstre Joycon</translation> - </message> - <message> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="109"/> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="1004"/> - <source>Right Joycon</source> - <translation>Høyre Joycon</translation> - </message> - <message> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="114"/> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="1010"/> - <source>Handheld</source> - <translation>Håndholdt</translation> - </message> - <message> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="125"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="100"/> <source>Input Device</source> <translation type="unfinished"/> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="153"/> - <source>Any</source> - <translation type="unfinished"/> - </message> - <message> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="158"/> - <source>Keyboard/Mouse</source> - <translation>Tastatur/Mus</translation> - </message> - <message> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="194"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="156"/> <source>Profile</source> <translation>Profil</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="234"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="196"/> <source>Save</source> <translation>Lagre</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="250"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="212"/> <source>New</source> <translation>Ny</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="266"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="228"/> <source>Delete</source> <translation>Slett</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="329"/> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="1267"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="291"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="1190"/> <source>Left Stick</source> <translation>Venstre Pinne</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="387"/> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="429"/> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="963"/> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="1002"/> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="2621"/> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="2660"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="349"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="391"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="925"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="964"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="2583"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="2622"/> <source>Up</source> <translation>Opp</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="460"/> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="499"/> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="1033"/> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="1072"/> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="2107"/> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="2691"/> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="2730"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="422"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="461"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="995"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="1034"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="2069"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="2653"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="2692"/> <source>Left</source> <translation>Venstre</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="509"/> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="548"/> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="1082"/> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="1121"/> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="2156"/> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="2740"/> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="2779"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="471"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="510"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="1044"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="1083"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="2118"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="2702"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="2741"/> <source>Right</source> <translation>Høyre</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="591"/> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="630"/> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="1164"/> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="1203"/> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="2822"/> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="2861"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="553"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="592"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="1126"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="1165"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="2784"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="2823"/> <source>Down</source> <translation>Ned</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="661"/> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="700"/> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="2892"/> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="2931"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="623"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="662"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="2854"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="2893"/> <source>Pressed</source> <translation>Trykket</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="710"/> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="749"/> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="2941"/> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="2980"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="672"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="711"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="2903"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="2942"/> <source>Modifier</source> <translation>Modifikator</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="759"/> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="2990"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="721"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="2952"/> <source>Range</source> <translation>Område</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="792"/> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="3023"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="754"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="2985"/> <source>%</source> <translation>%</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="835"/> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="3063"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="797"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="3025"/> <source>Deadzone: 0%</source> <translation>Dødsone: 0%</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="859"/> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="3087"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="821"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="3049"/> <source>Modifier Range: 0%</source> <translation>Modifikatorområde: 0%</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="905"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="867"/> <source>D-Pad</source> <translation>D-Pad</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="1289"/> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="1328"/> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="1272"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="1251"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="1290"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="1195"/> <source>L</source> <translation>L</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="1344"/> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="1383"/> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="1264"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="1306"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="1345"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="1187"/> <source>ZL</source> <translation>ZL</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="1464"/> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="1503"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="1426"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="1465"/> <source>Minus</source> <translation>Minus</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="1513"/> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="1552"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="1475"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="1514"/> <source>Capture</source> <translation type="unfinished"/> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="1583"/> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="1622"/> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="1263"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="1545"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="1584"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="1186"/> <source>Plus</source> <translation>Pluss</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="1632"/> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="1671"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="1594"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="1633"/> <source>Home</source> <translation>Hjem</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="1736"/> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="1775"/> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="1266"/> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="1273"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="1698"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="1737"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="1189"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="1196"/> <source>R</source> <translation>R</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="1791"/> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="1830"/> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="1265"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="1753"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="1792"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="1188"/> <source>ZR</source> <translation>ZR</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="1911"/> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="1950"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="1873"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="1912"/> <source>SL</source> <translation>SL</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="1960"/> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="1999"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="1922"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="1961"/> <source>SR</source> <translation>SR</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="2068"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="2030"/> <source>Motion 1</source> <translation type="unfinished"/> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="2117"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="2079"/> <source>Motion 2</source> <translation type="unfinished"/> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="2208"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="2170"/> <source>Face Buttons</source> <translation>Frontknapper</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="2266"/> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="2305"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="2228"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="2267"/> <source>X</source> <translation>X</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="2336"/> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="2375"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="2298"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="2337"/> <source>Y</source> <translation>Y</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="2385"/> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="2424"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="2347"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="2386"/> <source>A</source> <translation>A</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="2467"/> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="2506"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="2429"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="2468"/> <source>B</source> <translation>B</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="2554"/> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="1268"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="2516"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="1191"/> <source>Right Stick</source> <translation>Høyre Pinne</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="322"/> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="372"/> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="430"/> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="474"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="330"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="396"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="461"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="507"/> <source>Clear</source> <translation type="unfinished"/> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="324"/> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="374"/> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="432"/> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="476"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="332"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="398"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="463"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="509"/> <source>[not set]</source> <translation type="unfinished"/> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="327"/> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="478"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="335"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="512"/> <source>Toggle button</source> <translation type="unfinished"/> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="335"/> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="339"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="341"/> + <source>Invert button</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="349"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="465"/> + <source>Invert axis</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="355"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="359"/> <source>Set threshold</source> <translation type="unfinished"/> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="339"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="359"/> <source>Choose a value between 0% and 100%</source> <translation type="unfinished"/> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="406"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="436"/> <source>Map Analog Stick</source> <translation type="unfinished"/> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="407"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="437"/> <source>After pressing OK, first move your joystick horizontally, and then vertically. To invert the axes, first move your joystick vertically, and then horizontally.</source> <translation type="unfinished"/> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="434"/> - <source>Invert axis</source> - <translation type="unfinished"/> - </message> - <message> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="500"/> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="952"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="537"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="891"/> <source>Deadzone: %1%</source> <translation>Dødsone: %1%</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="508"/> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="963"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="546"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="896"/> <source>Modifier Range: %1%</source> <translation>Modifikatorområde: %1%</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="1016"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="572"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="918"/> + <source>Pro Controller</source> + <translation>Pro-Kontroller</translation> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="924"/> + <source>Dual Joycons</source> + <translation>Doble Joycons</translation> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="930"/> + <source>Left Joycon</source> + <translation>Venstre Joycon</translation> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="936"/> + <source>Right Joycon</source> + <translation>Høyre Joycon</translation> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="942"/> + <source>Handheld</source> + <translation>Håndholdt</translation> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="948"/> <source>GameCube Controller</source> <translation type="unfinished"/> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="1271"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="958"/> + <source>Poke Ball Plus</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="964"/> + <source>NES Controller</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="970"/> + <source>SNES Controller</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="976"/> + <source>N64 Controller</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="982"/> + <source>Sega Genesis</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="1194"/> <source>Start / Pause</source> <translation type="unfinished"/> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="1274"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="1197"/> <source>Z</source> <translation type="unfinished"/> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="1275"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="1198"/> <source>Control Stick</source> <translation type="unfinished"/> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="1276"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="1199"/> <source>C-Stick</source> <translation type="unfinished"/> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="1335"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="1297"/> <source>Shake!</source> <translation type="unfinished"/> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="1337"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="1299"/> <source>[waiting]</source> <translation>[venter]</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="1462"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="1381"/> <source>New Profile</source> <translation type="unfinished"/> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="1462"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="1381"/> <source>Enter a profile name:</source> <translation type="unfinished"/> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="1470"/> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="1478"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="1389"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="1397"/> <source>Create Input Profile</source> <translation type="unfinished"/> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="1471"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="1390"/> <source>The given profile name is not valid!</source> <translation type="unfinished"/> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="1479"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="1398"/> <source>Failed to create the input profile "%1"</source> <translation type="unfinished"/> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="1499"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="1418"/> <source>Delete Input Profile</source> <translation type="unfinished"/> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="1500"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="1419"/> <source>Failed to delete the input profile "%1"</source> <translation type="unfinished"/> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="1522"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="1441"/> <source>Load Input Profile</source> <translation type="unfinished"/> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="1523"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="1442"/> <source>Failed to load the input profile "%1"</source> <translation type="unfinished"/> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="1542"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="1461"/> <source>Save Input Profile</source> <translation type="unfinished"/> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="1543"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="1462"/> <source>Failed to save the input profile "%1"</source> <translation type="unfinished"/> </message> @@ -2046,85 +2187,75 @@ To invert the axes, first move your joystick vertically, and then horizontally.< <context> <name>ConfigureMotionTouch</name> <message> - <location filename="../../src/yuzu/configuration/configure_motion_touch.ui" line="14"/> + <location filename="../../src/yuzu/configuration/configure_motion_touch.ui" line="6"/> <source>Configure Motion / Touch</source> <translation>Konfigurer Bevegelse / Touch</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_motion_touch.ui" line="23"/> - <source>Mouse Motion</source> - <translation type="unfinished"/> - </message> - <message> - <location filename="../../src/yuzu/configuration/configure_motion_touch.ui" line="31"/> - <source>Sensitivity:</source> - <translation>Sensitivitet:</translation> - </message> - <message> - <location filename="../../src/yuzu/configuration/configure_motion_touch.ui" line="65"/> + <location filename="../../src/yuzu/configuration/configure_motion_touch.ui" line="15"/> <source>Touch</source> <translation>Touch</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_motion_touch.ui" line="73"/> + <location filename="../../src/yuzu/configuration/configure_motion_touch.ui" line="23"/> <source>UDP Calibration:</source> <translation type="unfinished"/> </message> <message> - <location filename="../../src/yuzu/configuration/configure_motion_touch.ui" line="80"/> + <location filename="../../src/yuzu/configuration/configure_motion_touch.ui" line="30"/> <source>(100, 50) - (1800, 850)</source> <translation>(100, 50) - (1800, 850)</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_motion_touch.ui" line="96"/> - <location filename="../../src/yuzu/configuration/configure_motion_touch.ui" line="129"/> - <location filename="../../src/yuzu/configuration/configure_motion_touch.cpp" line="250"/> + <location filename="../../src/yuzu/configuration/configure_motion_touch.ui" line="46"/> + <location filename="../../src/yuzu/configuration/configure_motion_touch.ui" line="73"/> + <location filename="../../src/yuzu/configuration/configure_motion_touch.cpp" line="245"/> <source>Configure</source> <translation>Konfigurer</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_motion_touch.ui" line="113"/> - <source>Use button mapping:</source> + <location filename="../../src/yuzu/configuration/configure_motion_touch.ui" line="57"/> + <source>Touch from button profile:</source> <translation type="unfinished"/> </message> <message> - <location filename="../../src/yuzu/configuration/configure_motion_touch.ui" line="141"/> + <location filename="../../src/yuzu/configuration/configure_motion_touch.ui" line="85"/> <source>CemuhookUDP Config</source> <translation>CemuhookUDP-Konfigurasjon</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_motion_touch.ui" line="147"/> + <location filename="../../src/yuzu/configuration/configure_motion_touch.ui" line="91"/> <source>You may use any Cemuhook compatible UDP input source to provide motion and touch input.</source> <translation>Du kan bruke hvilken som helst Cemuhook-kompatibel UDP inputkilde for å gi bevegelses- og touch-input.</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_motion_touch.ui" line="190"/> + <location filename="../../src/yuzu/configuration/configure_motion_touch.ui" line="134"/> <source>Server:</source> <translation>Server:</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_motion_touch.ui" line="217"/> + <location filename="../../src/yuzu/configuration/configure_motion_touch.ui" line="161"/> <source>Port:</source> <translation>Port:</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_motion_touch.ui" line="244"/> + <location filename="../../src/yuzu/configuration/configure_motion_touch.ui" line="188"/> <source>Learn More</source> <translation>Lær Mer</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_motion_touch.ui" line="257"/> - <location filename="../../src/yuzu/configuration/configure_motion_touch.cpp" line="273"/> + <location filename="../../src/yuzu/configuration/configure_motion_touch.ui" line="201"/> + <location filename="../../src/yuzu/configuration/configure_motion_touch.cpp" line="268"/> <source>Test</source> <translation>Test</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_motion_touch.ui" line="270"/> + <location filename="../../src/yuzu/configuration/configure_motion_touch.ui" line="214"/> <source>Add Server</source> <translation type="unfinished"/> </message> <message> - <location filename="../../src/yuzu/configuration/configure_motion_touch.ui" line="303"/> + <location filename="../../src/yuzu/configuration/configure_motion_touch.ui" line="247"/> <source>Remove Server</source> <translation type="unfinished"/> </message> @@ -2134,146 +2265,82 @@ To invert the axes, first move your joystick vertically, and then horizontally.< <translation><a href='https://yuzu-emu.org/wiki/using-a-controller-or-android-phone-for-motion-or-touch-input'><span style="text-decoration: underline; color:#039be5;">Lær Mer</span></a></translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_motion_touch.cpp" line="176"/> + <location filename="../../src/yuzu/configuration/configure_motion_touch.cpp" line="171"/> <source>%1:%2</source> <translation type="unfinished"/> </message> <message> - <location filename="../../src/yuzu/configuration/configure_motion_touch.cpp" line="181"/> - <location filename="../../src/yuzu/configuration/configure_motion_touch.cpp" line="185"/> - <location filename="../../src/yuzu/configuration/configure_motion_touch.cpp" line="189"/> - <location filename="../../src/yuzu/configuration/configure_motion_touch.cpp" line="195"/> - <location filename="../../src/yuzu/configuration/configure_motion_touch.cpp" line="201"/> - <location filename="../../src/yuzu/configuration/configure_motion_touch.cpp" line="295"/> + <location filename="../../src/yuzu/configuration/configure_motion_touch.cpp" line="176"/> + <location filename="../../src/yuzu/configuration/configure_motion_touch.cpp" line="180"/> + <location filename="../../src/yuzu/configuration/configure_motion_touch.cpp" line="184"/> + <location filename="../../src/yuzu/configuration/configure_motion_touch.cpp" line="190"/> + <location filename="../../src/yuzu/configuration/configure_motion_touch.cpp" line="196"/> + <location filename="../../src/yuzu/configuration/configure_motion_touch.cpp" line="290"/> <source>yuzu</source> <translation type="unfinished"/> </message> <message> - <location filename="../../src/yuzu/configuration/configure_motion_touch.cpp" line="181"/> + <location filename="../../src/yuzu/configuration/configure_motion_touch.cpp" line="176"/> <source>Port number has invalid characters</source> <translation type="unfinished"/> </message> <message> - <location filename="../../src/yuzu/configuration/configure_motion_touch.cpp" line="185"/> + <location filename="../../src/yuzu/configuration/configure_motion_touch.cpp" line="180"/> <source>Port has to be in range 0 and 65353</source> <translation type="unfinished"/> </message> <message> - <location filename="../../src/yuzu/configuration/configure_motion_touch.cpp" line="189"/> + <location filename="../../src/yuzu/configuration/configure_motion_touch.cpp" line="184"/> <source>IP address is not valid</source> <translation type="unfinished"/> </message> <message> - <location filename="../../src/yuzu/configuration/configure_motion_touch.cpp" line="195"/> + <location filename="../../src/yuzu/configuration/configure_motion_touch.cpp" line="190"/> <source>This UDP server already exists</source> <translation type="unfinished"/> </message> <message> - <location filename="../../src/yuzu/configuration/configure_motion_touch.cpp" line="201"/> + <location filename="../../src/yuzu/configuration/configure_motion_touch.cpp" line="196"/> <source>Unable to add more than 8 servers</source> <translation type="unfinished"/> </message> <message> - <location filename="../../src/yuzu/configuration/configure_motion_touch.cpp" line="217"/> + <location filename="../../src/yuzu/configuration/configure_motion_touch.cpp" line="212"/> <source>Testing</source> <translation>Testing</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_motion_touch.cpp" line="233"/> + <location filename="../../src/yuzu/configuration/configure_motion_touch.cpp" line="228"/> <source>Configuring</source> <translation>Konfigurering</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_motion_touch.cpp" line="264"/> + <location filename="../../src/yuzu/configuration/configure_motion_touch.cpp" line="259"/> <source>Test Successful</source> <translation>Test Vellykket</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_motion_touch.cpp" line="265"/> + <location filename="../../src/yuzu/configuration/configure_motion_touch.cpp" line="260"/> <source>Successfully received data from the server.</source> <translation>Mottatt data fra serveren vellykket.</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_motion_touch.cpp" line="267"/> + <location filename="../../src/yuzu/configuration/configure_motion_touch.cpp" line="262"/> <source>Test Failed</source> <translation>Test Feilet</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_motion_touch.cpp" line="268"/> + <location filename="../../src/yuzu/configuration/configure_motion_touch.cpp" line="263"/> <source>Could not receive valid data from the server.<br>Please verify that the server is set up correctly and the address and port are correct.</source> <translation>Kunne ikke motta gyldig data fra serveren.<br>Vennligst bekreft at serveren er satt opp riktig og at adressen og porten er riktige.</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_motion_touch.cpp" line="296"/> + <location filename="../../src/yuzu/configuration/configure_motion_touch.cpp" line="291"/> <source>UDP Test or calibration configuration is in progress.<br>Please wait for them to finish.</source> <translation>UDP-Test eller kalibrasjonskonfigurering er i fremgang.<br>Vennligst vent for dem til å bli ferdig.</translation> </message> </context> <context> - <name>ConfigureMouseAdvanced</name> - <message> - <location filename="../../src/yuzu/configuration/configure_mouse_advanced.ui" line="14"/> - <source>Configure Mouse</source> - <translation>Konfigurer Mus</translation> - </message> - <message> - <location filename="../../src/yuzu/configuration/configure_mouse_advanced.ui" line="25"/> - <source>Mouse Buttons</source> - <translation>Museknapper</translation> - </message> - <message> - <location filename="../../src/yuzu/configuration/configure_mouse_advanced.ui" line="35"/> - <source>Forward:</source> - <translation>Frem:</translation> - </message> - <message> - <location filename="../../src/yuzu/configuration/configure_mouse_advanced.ui" line="75"/> - <source>Back:</source> - <translation>Tilbake:</translation> - </message> - <message> - <location filename="../../src/yuzu/configuration/configure_mouse_advanced.ui" line="103"/> - <source>Left:</source> - <translation>Venstre:</translation> - </message> - <message> - <location filename="../../src/yuzu/configuration/configure_mouse_advanced.ui" line="131"/> - <source>Middle:</source> - <translation>Midten:</translation> - </message> - <message> - <location filename="../../src/yuzu/configuration/configure_mouse_advanced.ui" line="197"/> - <source>Right:</source> - <translation>Høyre:</translation> - </message> - <message> - <location filename="../../src/yuzu/configuration/configure_mouse_advanced.ui" line="270"/> - <location filename="../../src/yuzu/configuration/configure_mouse_advanced.cpp" line="109"/> - <source>Clear</source> - <translation>Fjern</translation> - </message> - <message> - <location filename="../../src/yuzu/configuration/configure_mouse_advanced.ui" line="289"/> - <source>Defaults</source> - <translation>Standardverdier</translation> - </message> - <message> - <location filename="../../src/yuzu/configuration/configure_mouse_advanced.cpp" line="111"/> - <source>[not set]</source> - <translation>[ikke satt]</translation> - </message> - <message> - <location filename="../../src/yuzu/configuration/configure_mouse_advanced.cpp" line="113"/> - <source>Restore Default</source> - <translation>Gjenopprett Standardverdi</translation> - </message> - <message> - <location filename="../../src/yuzu/configuration/configure_mouse_advanced.cpp" line="200"/> - <source>[press key]</source> - <translation>[trykk på en knapp]</translation> - </message> -</context> -<context> <name>ConfigureNetwork</name> <message> <location filename="../../src/yuzu/configuration/configure_network.ui" line="14"/> @@ -3056,31 +3123,26 @@ To invert the axes, first move your joystick vertically, and then horizontally.< </message> <message> <location filename="../../src/yuzu/configuration/configure_tas.ui" line="64"/> - <source>Automatic controller profile swapping</source> - <translation type="unfinished"/> - </message> - <message> - <location filename="../../src/yuzu/configuration/configure_tas.ui" line="71"/> <source>Loop script</source> <translation type="unfinished"/> </message> <message> - <location filename="../../src/yuzu/configuration/configure_tas.ui" line="81"/> + <location filename="../../src/yuzu/configuration/configure_tas.ui" line="74"/> <source>Pause execution during loads</source> <translation type="unfinished"/> </message> <message> - <location filename="../../src/yuzu/configuration/configure_tas.ui" line="95"/> + <location filename="../../src/yuzu/configuration/configure_tas.ui" line="88"/> <source>Script Directory</source> <translation type="unfinished"/> </message> <message> - <location filename="../../src/yuzu/configuration/configure_tas.ui" line="101"/> + <location filename="../../src/yuzu/configuration/configure_tas.ui" line="94"/> <source>Path</source> <translation type="unfinished"/> </message> <message> - <location filename="../../src/yuzu/configuration/configure_tas.ui" line="108"/> + <location filename="../../src/yuzu/configuration/configure_tas.ui" line="101"/> <source>...</source> <translation type="unfinished"/> </message> @@ -3093,7 +3155,7 @@ To invert the axes, first move your joystick vertically, and then horizontally.< <translation type="unfinished"/> </message> <message> - <location filename="../../src/yuzu/configuration/configure_tas.cpp" line="53"/> + <location filename="../../src/yuzu/configuration/configure_tas.cpp" line="51"/> <source>Select TAS Load Directory...</source> <translation type="unfinished"/> </message> @@ -3154,37 +3216,37 @@ Drag points to change position, or double-click table cells to edit values.</sou <translation>Y</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_touch_from_button.cpp" line="200"/> + <location filename="../../src/yuzu/configuration/configure_touch_from_button.cpp" line="197"/> <source>New Profile</source> <translation>Ny Profil</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_touch_from_button.cpp" line="200"/> + <location filename="../../src/yuzu/configuration/configure_touch_from_button.cpp" line="197"/> <source>Enter the name for the new profile.</source> <translation>Skriv inn navnet til den nye profilen.</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_touch_from_button.cpp" line="211"/> + <location filename="../../src/yuzu/configuration/configure_touch_from_button.cpp" line="208"/> <source>Delete Profile</source> <translation>Slett Profil</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_touch_from_button.cpp" line="211"/> + <location filename="../../src/yuzu/configuration/configure_touch_from_button.cpp" line="208"/> <source>Delete profile %1?</source> <translation>Slett profil %1?</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_touch_from_button.cpp" line="224"/> + <location filename="../../src/yuzu/configuration/configure_touch_from_button.cpp" line="221"/> <source>Rename Profile</source> <translation>Endre Navn på Profil</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_touch_from_button.cpp" line="224"/> + <location filename="../../src/yuzu/configuration/configure_touch_from_button.cpp" line="221"/> <source>New name:</source> <translation>Nytt navn:</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_touch_from_button.cpp" line="233"/> + <location filename="../../src/yuzu/configuration/configure_touch_from_button.cpp" line="230"/> <source>[press key]</source> <translation>[trykk knapp]</translation> </message> @@ -3604,12 +3666,12 @@ Drag points to change position, or double-click table cells to edit values.</sou <context> <name>ControllerDialog</name> <message> - <location filename="../../src/yuzu/debugger/controller.cpp" line="17"/> + <location filename="../../src/yuzu/debugger/controller.cpp" line="21"/> <source>Controller P1</source> <translation type="unfinished"/> </message> <message> - <location filename="../../src/yuzu/debugger/controller.cpp" line="52"/> + <location filename="../../src/yuzu/debugger/controller.cpp" line="60"/> <source>&Controller P1</source> <translation type="unfinished"/> </message> @@ -3617,89 +3679,94 @@ Drag points to change position, or double-click table cells to edit values.</sou <context> <name>GMainWindow</name> <message> - <location filename="../../src/yuzu/main.cpp" line="174"/> + <location filename="../../src/yuzu/main.cpp" line="176"/> <source><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?</source> <translation><a href='https://yuzu-emu.org/help/feature/telemetry/'>Anonym data blir samlet inn</a>for å hjelpe til med å forbedre yuzu.<br/><br/>Vil du dele din bruksdata med oss?</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="177"/> + <location filename="../../src/yuzu/main.cpp" line="179"/> <source>Telemetry</source> <translation>Telemetri</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="592"/> + <location filename="../../src/yuzu/main.cpp" line="600"/> <source>Loading Web Applet...</source> <translation type="unfinished"/> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="639"/> - <location filename="../../src/yuzu/main.cpp" line="642"/> + <location filename="../../src/yuzu/main.cpp" line="647"/> + <location filename="../../src/yuzu/main.cpp" line="650"/> <source>Disable Web Applet</source> <translation type="unfinished"/> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="643"/> + <location filename="../../src/yuzu/main.cpp" line="651"/> <source>Disabling the web applet will cause it to not be shown again for the rest of the emulated session. This 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?</source> <translation type="unfinished"/> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="746"/> + <location filename="../../src/yuzu/main.cpp" line="754"/> <source>The amount of shaders currently being built</source> <translation type="unfinished"/> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="749"/> + <location filename="../../src/yuzu/main.cpp" line="756"/> + <source>The current selected resolution scaling multiplier.</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/main.cpp" line="759"/> <source>Current emulation speed. Values higher or lower than 100% indicate emulation is running faster or slower than a Switch.</source> <translation>Nåværende emuleringshastighet. Verdier høyere eller lavere en 100% indikerer at emuleringen kjører raskere eller tregere enn en Switch.</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="752"/> + <location filename="../../src/yuzu/main.cpp" line="762"/> <source>How many frames per second the game is currently displaying. This will vary from game to game and scene to scene.</source> <translation>Hvor mange bilder per sekund spiller viser. Dette vil variere fra spill til spill og scene til scene.</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="756"/> + <location filename="../../src/yuzu/main.cpp" line="766"/> <source>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.</source> <translation>Tid det tar for å emulere et Switch bilde. Teller ikke med bildebegrensing eller v-sync. For full-hastighet emulering burde dette være 16.67 ms. på det høyeste.</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="781"/> + <location filename="../../src/yuzu/main.cpp" line="841"/> <source>Invalid config detected</source> <translation type="unfinished"/> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="782"/> + <location filename="../../src/yuzu/main.cpp" line="842"/> <source>Handheld controller can't be used on docked mode. Pro controller will be selected.</source> <translation type="unfinished"/> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="794"/> + <location filename="../../src/yuzu/main.cpp" line="854"/> <source>DOCK</source> <translation type="unfinished"/> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="828"/> + <location filename="../../src/yuzu/main.cpp" line="888"/> <source>VULKAN</source> <translation type="unfinished"/> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="828"/> + <location filename="../../src/yuzu/main.cpp" line="888"/> <source>OPENGL</source> <translation type="unfinished"/> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="886"/> + <location filename="../../src/yuzu/main.cpp" line="951"/> <source>&Clear Recent Files</source> <translation type="unfinished"/> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="1055"/> - <source>TAS Recording</source> + <location filename="../../src/yuzu/main.cpp" line="1210"/> + <source>&Continue</source> <translation type="unfinished"/> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="1056"/> - <source>Overwrite file of player 1?</source> + <location filename="../../src/yuzu/main.cpp" line="1212"/> + <source>&Pause</source> <translation type="unfinished"/> </message> <message> @@ -3751,656 +3818,723 @@ Drag points to change position, or double-click table cells to edit values.</sou <translation>En ukjent feil oppstod. Se loggen for flere detaljer.</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="1462"/> + <location filename="../../src/yuzu/main.cpp" line="1460"/> <source>(64-bit)</source> <translation type="unfinished"/> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="1462"/> + <location filename="../../src/yuzu/main.cpp" line="1460"/> <source>(32-bit)</source> <translation type="unfinished"/> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="1463"/> + <location filename="../../src/yuzu/main.cpp" line="1461"/> <source>%1 %2</source> <comment>%1 is the title name. %2 indicates if the title is 64-bit or 32-bit</comment> <translation type="unfinished"/> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="1507"/> - <source>Start</source> - <translation>Start</translation> - </message> - <message> - <location filename="../../src/yuzu/main.cpp" line="1612"/> + <location filename="../../src/yuzu/main.cpp" line="1605"/> <source>Save Data</source> <translation>Lagre Data</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="1660"/> + <location filename="../../src/yuzu/main.cpp" line="1653"/> <source>Mod Data</source> <translation>Mod Data</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="1672"/> + <location filename="../../src/yuzu/main.cpp" line="1665"/> <source>Error Opening %1 Folder</source> <translation>Feil Under Åpning av %1 Mappen</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="1673"/> - <location filename="../../src/yuzu/main.cpp" line="2079"/> + <location filename="../../src/yuzu/main.cpp" line="1666"/> + <location filename="../../src/yuzu/main.cpp" line="2072"/> <source>Folder does not exist!</source> <translation>Mappen eksisterer ikke!</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="1685"/> + <location filename="../../src/yuzu/main.cpp" line="1678"/> <source>Error Opening Transferable Shader Cache</source> <translation type="unfinished"/> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="1686"/> + <location filename="../../src/yuzu/main.cpp" line="1679"/> <source>Failed to create the shader cache directory for this title.</source> <translation type="unfinished"/> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="1738"/> + <location filename="../../src/yuzu/main.cpp" line="1731"/> <source>Contents</source> <translation>Innhold</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="1740"/> + <location filename="../../src/yuzu/main.cpp" line="1733"/> <source>Update</source> <translation>Oppdatering</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="1742"/> + <location filename="../../src/yuzu/main.cpp" line="1735"/> <source>DLC</source> <translation>DLC</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="1749"/> + <location filename="../../src/yuzu/main.cpp" line="1742"/> <source>Remove Entry</source> <translation type="unfinished"/> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="1749"/> + <location filename="../../src/yuzu/main.cpp" line="1742"/> <source>Remove Installed Game %1?</source> <translation>Fjern Installert Spill %1?</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="1779"/> - <location filename="../../src/yuzu/main.cpp" line="1795"/> - <location filename="../../src/yuzu/main.cpp" line="1826"/> - <location filename="../../src/yuzu/main.cpp" line="1887"/> - <location filename="../../src/yuzu/main.cpp" line="1905"/> - <location filename="../../src/yuzu/main.cpp" line="1928"/> + <location filename="../../src/yuzu/main.cpp" line="1772"/> + <location filename="../../src/yuzu/main.cpp" line="1788"/> + <location filename="../../src/yuzu/main.cpp" line="1819"/> + <location filename="../../src/yuzu/main.cpp" line="1880"/> + <location filename="../../src/yuzu/main.cpp" line="1898"/> + <location filename="../../src/yuzu/main.cpp" line="1921"/> <source>Successfully Removed</source> <translation type="unfinished"/> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="1780"/> + <location filename="../../src/yuzu/main.cpp" line="1773"/> <source>Successfully removed the installed base game.</source> <translation type="unfinished"/> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="1783"/> - <location filename="../../src/yuzu/main.cpp" line="1798"/> - <location filename="../../src/yuzu/main.cpp" line="1821"/> + <location filename="../../src/yuzu/main.cpp" line="1776"/> + <location filename="../../src/yuzu/main.cpp" line="1791"/> + <location filename="../../src/yuzu/main.cpp" line="1814"/> <source>Error Removing %1</source> <translation>Feil Under Fjerning av %1</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="1784"/> + <location filename="../../src/yuzu/main.cpp" line="1777"/> <source>The base game is not installed in the NAND and cannot be removed.</source> <translation>Grunnspillet er ikke installert i NAND og kan ikke bli fjernet.</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="1796"/> + <location filename="../../src/yuzu/main.cpp" line="1789"/> <source>Successfully removed the installed update.</source> <translation>Fjernet vellykket den installerte oppdateringen.</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="1799"/> + <location filename="../../src/yuzu/main.cpp" line="1792"/> <source>There is no update installed for this title.</source> <translation>Det er ingen oppdatering installert for denne tittelen.</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="1822"/> + <location filename="../../src/yuzu/main.cpp" line="1815"/> <source>There are no DLC installed for this title.</source> <translation>Det er ingen DLC installert for denne tittelen.</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="1827"/> + <location filename="../../src/yuzu/main.cpp" line="1820"/> <source>Successfully removed %1 installed DLC.</source> <translation>Fjernet vellykket %1 installerte DLC-er.</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="1835"/> + <location filename="../../src/yuzu/main.cpp" line="1828"/> <source>Delete OpenGL Transferable Shader Cache?</source> <translation type="unfinished"/> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="1837"/> + <location filename="../../src/yuzu/main.cpp" line="1830"/> <source>Delete Vulkan Transferable Shader Cache?</source> <translation type="unfinished"/> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="1839"/> + <location filename="../../src/yuzu/main.cpp" line="1832"/> <source>Delete All Transferable Shader Caches?</source> <translation type="unfinished"/> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="1841"/> + <location filename="../../src/yuzu/main.cpp" line="1834"/> <source>Remove Custom Game Configuration?</source> <translation>Fjern Tilpasset Spillkonfigurasjon?</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="1847"/> + <location filename="../../src/yuzu/main.cpp" line="1840"/> <source>Remove File</source> <translation>Fjern Fil</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="1882"/> - <location filename="../../src/yuzu/main.cpp" line="1890"/> + <location filename="../../src/yuzu/main.cpp" line="1875"/> + <location filename="../../src/yuzu/main.cpp" line="1883"/> <source>Error Removing Transferable Shader Cache</source> <translation>Feil Under Fjerning Av Overførbar Shader Cache</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="1883"/> - <location filename="../../src/yuzu/main.cpp" line="1901"/> + <location filename="../../src/yuzu/main.cpp" line="1876"/> + <location filename="../../src/yuzu/main.cpp" line="1894"/> <source>A shader cache for this title does not exist.</source> <translation type="unfinished"/> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="1888"/> + <location filename="../../src/yuzu/main.cpp" line="1881"/> <source>Successfully removed the transferable shader cache.</source> <translation>Fjernet vellykket den overførbare shader cachen.</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="1891"/> + <location filename="../../src/yuzu/main.cpp" line="1884"/> <source>Failed to remove the transferable shader cache.</source> <translation>Feil under fjerning av den overførbare shader cachen.</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="1900"/> - <location filename="../../src/yuzu/main.cpp" line="1908"/> + <location filename="../../src/yuzu/main.cpp" line="1893"/> + <location filename="../../src/yuzu/main.cpp" line="1901"/> <source>Error Removing Transferable Shader Caches</source> <translation type="unfinished"/> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="1906"/> + <location filename="../../src/yuzu/main.cpp" line="1899"/> <source>Successfully removed the transferable shader caches.</source> <translation type="unfinished"/> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="1909"/> + <location filename="../../src/yuzu/main.cpp" line="1902"/> <source>Failed to remove the transferable shader cache directory.</source> <translation type="unfinished"/> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="1922"/> - <location filename="../../src/yuzu/main.cpp" line="1931"/> + <location filename="../../src/yuzu/main.cpp" line="1915"/> + <location filename="../../src/yuzu/main.cpp" line="1924"/> <source>Error Removing Custom Configuration</source> <translation>Feil Under Fjerning Av Tilpasset Konfigurasjon</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="1923"/> + <location filename="../../src/yuzu/main.cpp" line="1916"/> <source>A custom configuration for this title does not exist.</source> <translation>En tilpasset konfigurasjon for denne tittelen finnes ikke.</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="1929"/> + <location filename="../../src/yuzu/main.cpp" line="1922"/> <source>Successfully removed the custom game configuration.</source> <translation>Fjernet vellykket den tilpassede spillkonfigurasjonen.</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="1932"/> + <location filename="../../src/yuzu/main.cpp" line="1925"/> <source>Failed to remove the custom game configuration.</source> <translation>Feil under fjerning av den tilpassede spillkonfigurasjonen.</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="1939"/> - <location filename="../../src/yuzu/main.cpp" line="2018"/> + <location filename="../../src/yuzu/main.cpp" line="1932"/> + <location filename="../../src/yuzu/main.cpp" line="2011"/> <source>RomFS Extraction Failed!</source> <translation>Utvinning av RomFS Feilet!</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="1940"/> + <location filename="../../src/yuzu/main.cpp" line="1933"/> <source>There was an error copying the RomFS files or the user cancelled the operation.</source> <translation>Det oppstod en feil under kopiering av RomFS filene eller så kansellerte brukeren operasjonen.</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="1998"/> + <location filename="../../src/yuzu/main.cpp" line="1991"/> <source>Full</source> <translation>Fullstendig</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="1998"/> + <location filename="../../src/yuzu/main.cpp" line="1991"/> <source>Skeleton</source> <translation>Skjelett</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="2000"/> + <location filename="../../src/yuzu/main.cpp" line="1993"/> <source>Select RomFS Dump Mode</source> <translation>Velg RomFS Dump Modus</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="2001"/> + <location filename="../../src/yuzu/main.cpp" line="1994"/> <source>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.</source> <translation>Velg hvordan du vil dumpe RomFS.<br>Fullstendig vil kopiere alle filene til en ny mappe mens <br>skjelett vil bare skape mappestrukturen.</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="2019"/> + <location filename="../../src/yuzu/main.cpp" line="2012"/> <source>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</source> <translation type="unfinished"/> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="2026"/> + <location filename="../../src/yuzu/main.cpp" line="2019"/> <source>Extracting RomFS...</source> <translation>Utvinner RomFS...</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="2026"/> - <location filename="../../src/yuzu/main.cpp" line="2206"/> + <location filename="../../src/yuzu/main.cpp" line="2019"/> + <location filename="../../src/yuzu/main.cpp" line="2199"/> <source>Cancel</source> <translation>Avbryt</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="2033"/> + <location filename="../../src/yuzu/main.cpp" line="2026"/> <source>RomFS Extraction Succeeded!</source> <translation>RomFS Utpakking lyktes!</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="2034"/> + <location filename="../../src/yuzu/main.cpp" line="2027"/> <source>The operation completed successfully.</source> <translation>Operasjonen fullført vellykket.</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="2078"/> + <location filename="../../src/yuzu/main.cpp" line="2071"/> <source>Error Opening %1</source> <translation>Feil ved åpning av %1</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="2087"/> + <location filename="../../src/yuzu/main.cpp" line="2080"/> <source>Select Directory</source> <translation>Velg Mappe</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="2114"/> + <location filename="../../src/yuzu/main.cpp" line="2107"/> <source>Properties</source> <translation>Egenskaper</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="2115"/> + <location filename="../../src/yuzu/main.cpp" line="2108"/> <source>The game properties could not be loaded.</source> <translation>Spillets egenskaper kunne ikke bli lastet inn.</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="2127"/> + <location filename="../../src/yuzu/main.cpp" line="2120"/> <source>Switch Executable (%1);;All Files (*.*)</source> <comment>%1 is an identifier for the Switch executable file extensions.</comment> <translation>Switch Kjørbar Fil (%1);;Alle Filer (*.*)</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="2131"/> + <location filename="../../src/yuzu/main.cpp" line="2124"/> <source>Load File</source> <translation>Last inn Fil</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="2143"/> + <location filename="../../src/yuzu/main.cpp" line="2136"/> <source>Open Extracted ROM Directory</source> <translation>Åpne Utpakket ROM Mappe</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="2154"/> + <location filename="../../src/yuzu/main.cpp" line="2147"/> <source>Invalid Directory Selected</source> <translation>Ugyldig Mappe Valgt</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="2155"/> + <location filename="../../src/yuzu/main.cpp" line="2148"/> <source>The directory you have selected does not contain a 'main' file.</source> <translation>Mappen du valgte inneholder ikke en 'main' fil.</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="2165"/> + <location filename="../../src/yuzu/main.cpp" line="2158"/> <source>Installable Switch File (*.nca *.nsp *.xci);;Nintendo Content Archive (*.nca);;Nintendo Submission Package (*.nsp);;NX Cartridge Image (*.xci)</source> <translation>Installerbar Switch-Fil (*.nca *.nsp *.xci);;Nintendo Content Archive (*.nca);;Nintendo Submission Package (*.nsp);;NX Cartridge Image (*.xcI)</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="2170"/> + <location filename="../../src/yuzu/main.cpp" line="2163"/> <source>Install Files</source> <translation>Installer Filer</translation> </message> <message numerus="yes"> - <location filename="../../src/yuzu/main.cpp" line="2214"/> + <location filename="../../src/yuzu/main.cpp" line="2207"/> <source>%n file(s) remaining</source> <translation type="unfinished"><numerusform></numerusform><numerusform></numerusform></translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="2216"/> + <location filename="../../src/yuzu/main.cpp" line="2209"/> <source>Installing file "%1"...</source> <translation>Installerer fil "%1"...</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="2262"/> - <location filename="../../src/yuzu/main.cpp" line="2276"/> + <location filename="../../src/yuzu/main.cpp" line="2255"/> + <location filename="../../src/yuzu/main.cpp" line="2269"/> <source>Install Results</source> <translation>Insallasjonsresultater</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="2263"/> + <location filename="../../src/yuzu/main.cpp" line="2256"/> <source>To avoid possible conflicts, we discourage users from installing base games to the NAND. Please, only use this feature to install updates and DLC.</source> <translation type="unfinished"/> </message> <message numerus="yes"> - <location filename="../../src/yuzu/main.cpp" line="2269"/> + <location filename="../../src/yuzu/main.cpp" line="2262"/> <source>%n file(s) were newly installed </source> <translation type="unfinished"><numerusform></numerusform><numerusform></numerusform></translation> </message> <message numerus="yes"> - <location filename="../../src/yuzu/main.cpp" line="2272"/> + <location filename="../../src/yuzu/main.cpp" line="2265"/> <source>%n file(s) were overwritten </source> <translation type="unfinished"><numerusform></numerusform><numerusform></numerusform></translation> </message> <message numerus="yes"> - <location filename="../../src/yuzu/main.cpp" line="2274"/> + <location filename="../../src/yuzu/main.cpp" line="2267"/> <source>%n file(s) failed to install </source> <translation type="unfinished"><numerusform></numerusform><numerusform></numerusform></translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="2375"/> + <location filename="../../src/yuzu/main.cpp" line="2368"/> <source>System Application</source> <translation>Systemapplikasjon</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="2376"/> + <location filename="../../src/yuzu/main.cpp" line="2369"/> <source>System Archive</source> <translation>Systemarkiv</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="2377"/> + <location filename="../../src/yuzu/main.cpp" line="2370"/> <source>System Application Update</source> <translation>Systemapplikasjonsoppdatering</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="2378"/> + <location filename="../../src/yuzu/main.cpp" line="2371"/> <source>Firmware Package (Type A)</source> <translation>Firmware Pakke (Type A)</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="2379"/> + <location filename="../../src/yuzu/main.cpp" line="2372"/> <source>Firmware Package (Type B)</source> <translation>Firmware-Pakke (Type B)</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="2380"/> + <location filename="../../src/yuzu/main.cpp" line="2373"/> <source>Game</source> <translation>Spill</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="2381"/> + <location filename="../../src/yuzu/main.cpp" line="2374"/> <source>Game Update</source> <translation>Spilloppdatering</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="2382"/> + <location filename="../../src/yuzu/main.cpp" line="2375"/> <source>Game DLC</source> <translation>Spill tilleggspakke</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="2383"/> + <location filename="../../src/yuzu/main.cpp" line="2376"/> <source>Delta Title</source> <translation>Delta Tittel</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="2386"/> + <location filename="../../src/yuzu/main.cpp" line="2379"/> <source>Select NCA Install Type...</source> <translation>Velg NCA Installasjonstype...</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="2387"/> + <location filename="../../src/yuzu/main.cpp" line="2380"/> <source>Please select the type of title you would like to install this NCA as: (In most instances, the default 'Game' is fine.)</source> <translation>Vennligst velg typen tittel du vil installere denne NCA-en som: (I de fleste tilfellene, standarden 'Spill' fungerer.)</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="2393"/> + <location filename="../../src/yuzu/main.cpp" line="2386"/> <source>Failed to Install</source> <translation>Feil under Installasjon</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="2394"/> + <location filename="../../src/yuzu/main.cpp" line="2387"/> <source>The title type you selected for the NCA is invalid.</source> <translation>Titteltypen du valgte for NCA-en er ugyldig.</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="2429"/> + <location filename="../../src/yuzu/main.cpp" line="2422"/> <source>File not found</source> <translation>Fil ikke funnet</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="2430"/> + <location filename="../../src/yuzu/main.cpp" line="2423"/> <source>File "%1" not found</source> <translation>Filen "%1" ikke funnet</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="2445"/> - <location filename="../../src/yuzu/main.cpp" line="3448"/> - <source>&Continue</source> - <translation type="unfinished"/> - </message> - <message> - <location filename="../../src/yuzu/main.cpp" line="2494"/> + <location filename="../../src/yuzu/main.cpp" line="2492"/> <source>OK</source> <translation type="unfinished"/> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="2508"/> + <location filename="../../src/yuzu/main.cpp" line="2506"/> <source>Missing yuzu Account</source> <translation>Mangler yuzu Bruker</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="2509"/> + <location filename="../../src/yuzu/main.cpp" line="2507"/> <source>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.</source> <translation>For å sende inn et testtilfelle for spillkompatibilitet, må du linke yuzu-brukeren din.<br><br/>For å linke yuzu-brukeren din, gå til Emulasjon &gt; Konfigurasjon &gt; Nett.</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="2519"/> + <location filename="../../src/yuzu/main.cpp" line="2517"/> <source>Error opening URL</source> <translation>Feil under åpning av URL</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="2520"/> + <location filename="../../src/yuzu/main.cpp" line="2518"/> <source>Unable to open the URL "%1".</source> <translation>Kunne ikke åpne URL "%1".</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="2802"/> + <location filename="../../src/yuzu/main.cpp" line="2777"/> + <source>TAS Recording</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/main.cpp" line="2777"/> + <source>Overwrite file of player 1?</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/main.cpp" line="2830"/> <source>Amiibo File (%1);; All Files (*.*)</source> <translation>Amiibo-Fil (%1);; Alle Filer (*.*)</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="2803"/> + <location filename="../../src/yuzu/main.cpp" line="2831"/> <source>Load Amiibo</source> <translation>Last inn Amiibo</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="2821"/> + <location filename="../../src/yuzu/main.cpp" line="2849"/> <source>Error opening Amiibo data file</source> <translation>Feil ved Åpning av Amiibo data fil</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="2822"/> + <location filename="../../src/yuzu/main.cpp" line="2850"/> <source>Unable to open Amiibo file "%1" for reading.</source> <translation>Kunne ikke åpne Amiibo-fil "%1" for lesing.</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="2830"/> + <location filename="../../src/yuzu/main.cpp" line="2858"/> <source>Error reading Amiibo data file</source> <translation>Feil under lesing av Amiibo datafil.</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="2831"/> + <location filename="../../src/yuzu/main.cpp" line="2859"/> <source>Unable to fully read Amiibo data. Expected to read %1 bytes, but was only able to read %2 bytes.</source> <translation>Kunne ikke lese all Amiibo-data. Forventet å lese minst %1 bytes, men kunne bare lese %2 bytes.</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="2839"/> + <location filename="../../src/yuzu/main.cpp" line="2867"/> <source>Error loading Amiibo data</source> <translation>Feil ved lasting av Amiibo data</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="2840"/> + <location filename="../../src/yuzu/main.cpp" line="2868"/> <source>Unable to load Amiibo data.</source> <translation>Kunne ikke laste Amiibo-data.</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="2881"/> + <location filename="../../src/yuzu/main.cpp" line="2913"/> <source>Capture Screenshot</source> <translation>Ta Skjermbilde</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="2882"/> + <location filename="../../src/yuzu/main.cpp" line="2914"/> <source>PNG Image (*.png)</source> <translation>PNG Bilde (*.png)</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="2948"/> + <location filename="../../src/yuzu/main.cpp" line="2979"/> <source>TAS state: Running %1/%2</source> <translation type="unfinished"/> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="2950"/> + <location filename="../../src/yuzu/main.cpp" line="2981"/> <source>TAS state: Recording %1</source> <translation type="unfinished"/> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="2952"/> + <location filename="../../src/yuzu/main.cpp" line="2983"/> <source>TAS state: Idle %1/%2</source> <translation type="unfinished"/> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="2954"/> + <location filename="../../src/yuzu/main.cpp" line="2985"/> <source>TAS State: Invalid</source> <translation type="unfinished"/> </message> + <message> + <location filename="../../src/yuzu/main.cpp" line="2999"/> + <source>&Stop Running</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/main.cpp" line="2999"/> + <source>&Start</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/main.cpp" line="3000"/> + <source>Stop R&ecording</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/main.cpp" line="3000"/> + <source>R&ecord</source> + <translation type="unfinished"/> + </message> <message numerus="yes"> - <location filename="../../src/yuzu/main.cpp" line="2975"/> + <location filename="../../src/yuzu/main.cpp" line="3024"/> <source>Building: %n shader(s)</source> <translation type="unfinished"><numerusform></numerusform><numerusform></numerusform></translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="2982"/> + <location filename="../../src/yuzu/main.cpp" line="3033"/> + <source>Scale: %1x</source> + <comment>%1 is the resolution scaling factor</comment> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/main.cpp" line="3036"/> <source>Speed: %1% / %2%</source> <translation>Hastighet: %1% / %2%</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="2986"/> + <location filename="../../src/yuzu/main.cpp" line="3040"/> <source>Speed: %1%</source> <translation>Hastighet: %1%</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="2990"/> + <location filename="../../src/yuzu/main.cpp" line="3044"/> <source>Game: %1 FPS (Unlocked)</source> <translation type="unfinished"/> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="2992"/> + <location filename="../../src/yuzu/main.cpp" line="3046"/> <source>Game: %1 FPS</source> <translation>Spill: %1 FPS</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="2994"/> + <location filename="../../src/yuzu/main.cpp" line="3048"/> <source>Frame: %1 ms</source> <translation>Ramme: %1 ms</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="3004"/> + <location filename="../../src/yuzu/main.cpp" line="3059"/> <source>GPU NORMAL</source> <translation type="unfinished"/> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="3009"/> + <location filename="../../src/yuzu/main.cpp" line="3064"/> <source>GPU HIGH</source> <translation type="unfinished"/> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="3014"/> + <location filename="../../src/yuzu/main.cpp" line="3069"/> <source>GPU EXTREME</source> <translation type="unfinished"/> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="3019"/> + <location filename="../../src/yuzu/main.cpp" line="3074"/> <source>GPU ERROR</source> <translation type="unfinished"/> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="3076"/> + <location filename="../../src/yuzu/main.cpp" line="3084"/> + <source>NEAREST</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/main.cpp" line="3087"/> + <location filename="../../src/yuzu/main.cpp" line="3102"/> + <source>BILINEAR</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/main.cpp" line="3090"/> + <source>BICUBIC</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/main.cpp" line="3093"/> + <source>GAUSSIAN</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/main.cpp" line="3096"/> + <source>SCALEFORCE</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/main.cpp" line="3099"/> + <source>FSR</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/main.cpp" line="3111"/> + <location filename="../../src/yuzu/main.cpp" line="3117"/> + <source>NO AA</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/main.cpp" line="3114"/> + <source>FXAA</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/main.cpp" line="3175"/> <source>The game you are trying to load requires additional files from your Switch to be dumped before playing.<br/><br/>For more information on dumping these files, please see the following wiki page: <a href='https://yuzu-emu.org/wiki/dumping-system-archives-and-the-shared-fonts-from-a-switch-console/'>Dumping System Archives and the Shared Fonts from a Switch Console</a>.<br/><br/>Would you like to quit back to the game list? Continuing emulation may result in crashes, corrupted save data, or other bugs.</source> <translation>Spillet du prøver å laste krever at ekstra filer fra din Switch blir dumpet før du spiller.<br/><br/>For mer informasjon om dumping av disse filene, vennligst se den følgende wiki-siden: <a href='https://yuzu-emu.org/wiki/dumping-system-archives-and-the-shared-fonts-from-a-switch-console/'>Dumping av System-Arkiv og Shared Fonts fra en Switch-Konsoll</a>.<br/><br/>Vil du gå tilbake til spillisten? Fortsetting av emulasjon kan føre til krasjing, ødelagt lagringsdata, eller andre feil.</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="3091"/> + <location filename="../../src/yuzu/main.cpp" line="3190"/> <source>yuzu was unable to locate a Switch system archive. %1</source> <translation>yuzu kunne ikke finne et Switch system-arkiv. %1</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="3093"/> + <location filename="../../src/yuzu/main.cpp" line="3192"/> <source>yuzu was unable to locate a Switch system archive: %1. %2</source> <translation>yuzu kunne ikke finne et Switch system-arkiv: %1. %2</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="3097"/> + <location filename="../../src/yuzu/main.cpp" line="3196"/> <source>System Archive Not Found</source> <translation>System Arkiv Ikke Funnet</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="3099"/> + <location filename="../../src/yuzu/main.cpp" line="3198"/> <source>System Archive Missing</source> <translation>System Arkiv Mangler</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="3105"/> + <location filename="../../src/yuzu/main.cpp" line="3204"/> <source>yuzu was unable to locate the Switch shared fonts. %1</source> <translation>yuzu kunne ikke finne Switch shared fonts. %1</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="3106"/> + <location filename="../../src/yuzu/main.cpp" line="3205"/> <source>Shared Fonts Not Found</source> <translation>Shared Fonts Ikke Funnet</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="3108"/> + <location filename="../../src/yuzu/main.cpp" line="3207"/> <source>Shared Font Missing</source> <translation>Shared Font Mangler</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="3114"/> + <location filename="../../src/yuzu/main.cpp" line="3213"/> <source>Fatal Error</source> <translation>Fatal Feil</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="3115"/> + <location filename="../../src/yuzu/main.cpp" line="3214"/> <source>yuzu has encountered a fatal error, please see the log for more details. For more information on accessing the log, please see the following page: <a href='https://community.citra-emu.org/t/how-to-upload-the-log-file/296'>How to Upload the Log File</a>.<br/><br/>Would you like to quit back to the game list? Continuing emulation may result in crashes, corrupted save data, or other bugs.</source> <translation>yuzu har oppdaget en fatal feil, vennligst se loggen for flere detaljer. For mer informasjon om å finne loggen, vennligst se den følgende siden: <a href='https://community.citra-emu.org/t/how-to-upload-the-log-file/296'>Hvordan å Laste Opp Log-Filen</a>.<br/><br/>Vil du gå tilbake til spillisten? Fortsetting av emulasjon kan føre til krasjing, ødelagt lagringsdata, eller andre feil.</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="3124"/> + <location filename="../../src/yuzu/main.cpp" line="3223"/> <source>Fatal Error encountered</source> <translation>Fatal Feil oppstått</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="3147"/> + <location filename="../../src/yuzu/main.cpp" line="3246"/> <source>Confirm Key Rederivation</source> <translation>Bekreft Nøkkel-Redirevasjon</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="3148"/> + <location filename="../../src/yuzu/main.cpp" line="3247"/> <source>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. @@ -4417,37 +4551,37 @@ og eventuelt lag backups. Dette vil slette dine autogenererte nøkkel-filer og kjøre nøkkel-derivasjonsmodulen på nytt.</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="3180"/> + <location filename="../../src/yuzu/main.cpp" line="3279"/> <source>Missing fuses</source> <translation>Mangler fuses</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="3183"/> + <location filename="../../src/yuzu/main.cpp" line="3282"/> <source> - Missing BOOT0</source> <translation>- Mangler BOOT0</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="3186"/> + <location filename="../../src/yuzu/main.cpp" line="3285"/> <source> - Missing BCPKG2-1-Normal-Main</source> <translation>- Mangler BCPKG2-1-Normal-Main</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="3189"/> + <location filename="../../src/yuzu/main.cpp" line="3288"/> <source> - Missing PRODINFO</source> <translation>- Mangler PRODINFO</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="3193"/> + <location filename="../../src/yuzu/main.cpp" line="3292"/> <source>Derivation Components Missing</source> <translation>Derivasjonskomponenter Mangler</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="3194"/> - <source>Components are missing that may hinder key derivation from completing. <br>Please follow <a href='https://yuzu-emu.org/help/quickstart/'>the yuzu quickstart guide</a> to get all your keys and games.<br><br><small>(%1)</small></source> - <translation>Komponenter som kan hindre nøkkel-derivasjon fra å fullføre mangler.<br>Vennligst følg <a href='https://yuzu-emu.org/help/quickstart/'>yuzu quickstart-guiden</a> for å få alle dine nøkler og spill.<br><br><small>(%1)</small></translation> + <location filename="../../src/yuzu/main.cpp" line="3293"/> + <source>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></source> + <translation type="unfinished"/> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="3203"/> + <location filename="../../src/yuzu/main.cpp" line="3302"/> <source>Deriving keys... This may take up to a minute depending on your system's performance.</source> @@ -4456,39 +4590,39 @@ Dette kan ta opp til et minutt avhengig av systemytelsen din.</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="3205"/> + <location filename="../../src/yuzu/main.cpp" line="3304"/> <source>Deriving Keys</source> <translation>Deriverer Nøkler</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="3250"/> + <location filename="../../src/yuzu/main.cpp" line="3349"/> <source>Select RomFS Dump Target</source> <translation>Velg RomFS Dump-Mål</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="3251"/> + <location filename="../../src/yuzu/main.cpp" line="3350"/> <source>Please select which RomFS you would like to dump.</source> <translation>Vennligst velg hvilken RomFS du vil dumpe.</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="3266"/> + <location filename="../../src/yuzu/main.cpp" line="3365"/> <source>Are you sure you want to close yuzu?</source> <translation>Er du sikker på at du vil lukke yuzu?</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="3267"/> - <location filename="../../src/yuzu/main.cpp" line="3342"/> - <location filename="../../src/yuzu/main.cpp" line="3355"/> + <location filename="../../src/yuzu/main.cpp" line="3366"/> + <location filename="../../src/yuzu/main.cpp" line="3443"/> + <location filename="../../src/yuzu/main.cpp" line="3456"/> <source>yuzu</source> <translation>yuzu</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="3343"/> + <location filename="../../src/yuzu/main.cpp" line="3444"/> <source>Are you sure you want to stop the emulation? Any unsaved progress will be lost.</source> <translation>Er du sikker på at du vil stoppe emulasjonen? All ulagret fremgang vil bli tapt.</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="3352"/> + <location filename="../../src/yuzu/main.cpp" line="3453"/> <source>The currently running application has requested yuzu to not exit. Would you like to bypass this and exit anyway?</source> @@ -4498,38 +4632,38 @@ Would you like to bypass this and exit anyway?</source> <context> <name>GRenderWindow</name> <message> - <location filename="../../src/yuzu/bootmanager.cpp" line="675"/> + <location filename="../../src/yuzu/bootmanager.cpp" line="976"/> <source>OpenGL not available!</source> <translation>OpenGL ikke tilgjengelig!</translation> </message> <message> - <location filename="../../src/yuzu/bootmanager.cpp" line="676"/> + <location filename="../../src/yuzu/bootmanager.cpp" line="977"/> <source>yuzu has not been compiled with OpenGL support.</source> <translation>yuzu har ikke blitt kompilert med OpenGL-støtte.</translation> </message> <message> - <location filename="../../src/yuzu/bootmanager.cpp" line="695"/> - <location filename="../../src/yuzu/bootmanager.cpp" line="715"/> + <location filename="../../src/yuzu/bootmanager.cpp" line="996"/> + <location filename="../../src/yuzu/bootmanager.cpp" line="1016"/> <source>Error while initializing OpenGL!</source> <translation>Feil under initialisering av OpenGL!</translation> </message> <message> - <location filename="../../src/yuzu/bootmanager.cpp" line="696"/> + <location filename="../../src/yuzu/bootmanager.cpp" line="997"/> <source>Your GPU may not support OpenGL, or you do not have the latest graphics driver.</source> <translation type="unfinished"/> </message> <message> - <location filename="../../src/yuzu/bootmanager.cpp" line="705"/> + <location filename="../../src/yuzu/bootmanager.cpp" line="1006"/> <source>Error while initializing OpenGL 4.6!</source> <translation type="unfinished"/> </message> <message> - <location filename="../../src/yuzu/bootmanager.cpp" line="706"/> + <location filename="../../src/yuzu/bootmanager.cpp" line="1007"/> <source>Your GPU may not support OpenGL 4.6, or you do not have the latest graphics driver.<br><br>GL Renderer:<br>%1</source> <translation type="unfinished"/> </message> <message> - <location filename="../../src/yuzu/bootmanager.cpp" line="716"/> + <location filename="../../src/yuzu/bootmanager.cpp" line="1017"/> <source>Your GPU may not support one or more required OpenGL extensions. Please ensure you have the latest graphics driver.<br><br>GL Renderer:<br>%1<br><br>Unsupported extensions:<br>%2</source> <translation type="unfinished"/> </message> @@ -4885,190 +5019,205 @@ Screen.</source> <translation>&Emulering</translation> </message> <message> - <location filename="../../src/yuzu/main.ui" line="79"/> + <location filename="../../src/yuzu/main.ui" line="78"/> <source>&View</source> <translation>&Vis</translation> </message> <message> - <location filename="../../src/yuzu/main.ui" line="83"/> + <location filename="../../src/yuzu/main.ui" line="82"/> <source>&Reset Window Size</source> <translation type="unfinished"/> </message> <message> - <location filename="../../src/yuzu/main.ui" line="88"/> + <location filename="../../src/yuzu/main.ui" line="87"/> + <source>&Debugging</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/main.ui" line="92"/> <source>Reset Window Size to &720p</source> <translation type="unfinished"/> </message> <message> - <location filename="../../src/yuzu/main.ui" line="91"/> + <location filename="../../src/yuzu/main.ui" line="95"/> <source>Reset Window Size to 720p</source> <translation type="unfinished"/> </message> <message> - <location filename="../../src/yuzu/main.ui" line="96"/> + <location filename="../../src/yuzu/main.ui" line="100"/> <source>Reset Window Size to &900p</source> <translation type="unfinished"/> </message> <message> - <location filename="../../src/yuzu/main.ui" line="99"/> + <location filename="../../src/yuzu/main.ui" line="103"/> <source>Reset Window Size to 900p</source> <translation type="unfinished"/> </message> <message> - <location filename="../../src/yuzu/main.ui" line="104"/> + <location filename="../../src/yuzu/main.ui" line="108"/> <source>Reset Window Size to &1080p</source> <translation type="unfinished"/> </message> <message> - <location filename="../../src/yuzu/main.ui" line="107"/> + <location filename="../../src/yuzu/main.ui" line="111"/> <source>Reset Window Size to 1080p</source> <translation type="unfinished"/> </message> <message> - <location filename="../../src/yuzu/main.ui" line="112"/> - <source>&Debugging</source> + <location filename="../../src/yuzu/main.ui" line="125"/> + <source>&Tools</source> <translation type="unfinished"/> </message> <message> - <location filename="../../src/yuzu/main.ui" line="126"/> - <source>&Tools</source> + <location filename="../../src/yuzu/main.ui" line="129"/> + <source>&TAS</source> <translation type="unfinished"/> </message> <message> - <location filename="../../src/yuzu/main.ui" line="135"/> + <location filename="../../src/yuzu/main.ui" line="144"/> <source>&Help</source> <translation>&Hjelp</translation> </message> <message> - <location filename="../../src/yuzu/main.ui" line="155"/> + <location filename="../../src/yuzu/main.ui" line="164"/> <source>&Install Files to NAND...</source> <translation type="unfinished"/> </message> <message> - <location filename="../../src/yuzu/main.ui" line="160"/> + <location filename="../../src/yuzu/main.ui" line="169"/> <source>L&oad File...</source> <translation type="unfinished"/> </message> <message> - <location filename="../../src/yuzu/main.ui" line="165"/> + <location filename="../../src/yuzu/main.ui" line="174"/> <source>Load &Folder...</source> <translation type="unfinished"/> </message> <message> - <location filename="../../src/yuzu/main.ui" line="170"/> + <location filename="../../src/yuzu/main.ui" line="179"/> <source>E&xit</source> <translation>&Avslutt</translation> </message> <message> - <location filename="../../src/yuzu/main.ui" line="178"/> - <source>&Start</source> - <translation>&Start</translation> - </message> - <message> - <location filename="../../src/yuzu/main.ui" line="186"/> + <location filename="../../src/yuzu/main.ui" line="187"/> <source>&Pause</source> <translation>&Pause</translation> </message> <message> - <location filename="../../src/yuzu/main.ui" line="194"/> + <location filename="../../src/yuzu/main.ui" line="195"/> <source>&Stop</source> <translation>&Stop</translation> </message> <message> - <location filename="../../src/yuzu/main.ui" line="199"/> + <location filename="../../src/yuzu/main.ui" line="200"/> <source>&Reinitialize keys...</source> <translation type="unfinished"/> </message> <message> - <location filename="../../src/yuzu/main.ui" line="204"/> + <location filename="../../src/yuzu/main.ui" line="205"/> <source>&About yuzu</source> <translation type="unfinished"/> </message> <message> - <location filename="../../src/yuzu/main.ui" line="212"/> + <location filename="../../src/yuzu/main.ui" line="213"/> <source>Single &Window Mode</source> <translation type="unfinished"/> </message> <message> - <location filename="../../src/yuzu/main.ui" line="217"/> + <location filename="../../src/yuzu/main.ui" line="218"/> <source>Con&figure...</source> <translation type="unfinished"/> </message> <message> - <location filename="../../src/yuzu/main.ui" line="225"/> + <location filename="../../src/yuzu/main.ui" line="226"/> <source>Display D&ock Widget Headers</source> <translation type="unfinished"/> </message> <message> - <location filename="../../src/yuzu/main.ui" line="233"/> + <location filename="../../src/yuzu/main.ui" line="234"/> <source>Show &Filter Bar</source> <translation type="unfinished"/> </message> <message> - <location filename="../../src/yuzu/main.ui" line="241"/> + <location filename="../../src/yuzu/main.ui" line="242"/> <source>Show &Status Bar</source> <translation type="unfinished"/> </message> <message> - <location filename="../../src/yuzu/main.ui" line="244"/> + <location filename="../../src/yuzu/main.ui" line="245"/> <source>Show Status Bar</source> <translation type="unfinished"/> </message> <message> - <location filename="../../src/yuzu/main.ui" line="252"/> + <location filename="../../src/yuzu/main.ui" line="253"/> <source>F&ullscreen</source> <translation type="unfinished"/> </message> <message> - <location filename="../../src/yuzu/main.ui" line="260"/> + <location filename="../../src/yuzu/main.ui" line="261"/> <source>&Restart</source> <translation type="unfinished"/> </message> <message> - <location filename="../../src/yuzu/main.ui" line="268"/> + <location filename="../../src/yuzu/main.ui" line="269"/> <source>Load &Amiibo...</source> <translation type="unfinished"/> </message> <message> - <location filename="../../src/yuzu/main.ui" line="276"/> + <location filename="../../src/yuzu/main.ui" line="277"/> <source>&Report Compatibility</source> <translation type="unfinished"/> </message> <message> - <location filename="../../src/yuzu/main.ui" line="284"/> + <location filename="../../src/yuzu/main.ui" line="285"/> <source>Open &Mods Page</source> <translation type="unfinished"/> </message> <message> - <location filename="../../src/yuzu/main.ui" line="289"/> + <location filename="../../src/yuzu/main.ui" line="290"/> <source>Open &Quickstart Guide</source> <translation type="unfinished"/> </message> <message> - <location filename="../../src/yuzu/main.ui" line="294"/> + <location filename="../../src/yuzu/main.ui" line="295"/> <source>&FAQ</source> <translation type="unfinished"/> </message> <message> - <location filename="../../src/yuzu/main.ui" line="299"/> + <location filename="../../src/yuzu/main.ui" line="300"/> <source>Open &yuzu Folder</source> <translation type="unfinished"/> </message> <message> - <location filename="../../src/yuzu/main.ui" line="307"/> + <location filename="../../src/yuzu/main.ui" line="308"/> <source>&Capture Screenshot</source> <translation type="unfinished"/> </message> <message> - <location filename="../../src/yuzu/main.ui" line="312"/> - <source>Configure &TAS...</source> + <location filename="../../src/yuzu/main.ui" line="313"/> + <source>&Configure TAS...</source> <translation type="unfinished"/> </message> <message> - <location filename="../../src/yuzu/main.ui" line="320"/> + <location filename="../../src/yuzu/main.ui" line="321"/> <source>Configure C&urrent Game...</source> <translation type="unfinished"/> </message> + <message> + <location filename="../../src/yuzu/main.ui" line="329"/> + <source>&Start</source> + <translation>&Start</translation> + </message> + <message> + <location filename="../../src/yuzu/main.ui" line="337"/> + <source>&Reset</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/main.ui" line="345"/> + <source>R&ecord</source> + <translation type="unfinished"/> + </message> </context> <context> <name>MicroProfileDialog</name> @@ -5110,10 +5259,15 @@ p, li { white-space: pre-wrap; } <context> <name>PlayerControlPreview</name> <message> - <location filename="../../src/yuzu/configuration/configure_input_player_widget.cpp" line="1566"/> + <location filename="../../src/yuzu/configuration/configure_input_player_widget.cpp" line="1572"/> <source>START/PAUSE</source> <translation type="unfinished"/> </message> + <message> + <location filename="../../src/yuzu/configuration/configure_input_player_widget.cpp" line="2685"/> + <source>Charging</source> + <translation type="unfinished"/> + </message> </context> <context> <name>QObject</name> @@ -5144,142 +5298,222 @@ p, li { white-space: pre-wrap; } </message> <message> <location filename="../../src/yuzu/configuration/configure_touch_from_button.cpp" line="23"/> - <location filename="../../src/yuzu/configuration/configure_mouse_advanced.cpp" line="32"/> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="72"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="43"/> <source>Shift</source> <translation>Shift</translation> </message> <message> <location filename="../../src/yuzu/configuration/configure_touch_from_button.cpp" line="25"/> - <location filename="../../src/yuzu/configuration/configure_mouse_advanced.cpp" line="34"/> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="74"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="45"/> <source>Ctrl</source> <translation>Ctrl</translation> </message> <message> <location filename="../../src/yuzu/configuration/configure_touch_from_button.cpp" line="27"/> - <location filename="../../src/yuzu/configuration/configure_mouse_advanced.cpp" line="36"/> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="76"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="47"/> <source>Alt</source> <translation>Alt</translation> </message> <message> <location filename="../../src/yuzu/configuration/configure_touch_from_button.cpp" line="37"/> - <location filename="../../src/yuzu/configuration/configure_mouse_advanced.cpp" line="46"/> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="103"/> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="190"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="130"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="196"/> <source>[not set]</source> <translation>[ikke satt]</translation> </message> <message> <location filename="../../src/yuzu/configuration/configure_touch_from_button.cpp" line="49"/> - <location filename="../../src/yuzu/configuration/configure_mouse_advanced.cpp" line="58"/> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="152"/> <source>Hat %1 %2</source> <translation>Hatt %1 %2</translation> </message> <message> <location filename="../../src/yuzu/configuration/configure_touch_from_button.cpp" line="56"/> - <location filename="../../src/yuzu/configuration/configure_mouse_advanced.cpp" line="65"/> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="159"/> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="210"/> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="214"/> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="218"/> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="222"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="219"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="223"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="227"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="231"/> <source>Axis %1%2</source> <translation>Akse %1%2</translation> </message> <message> <location filename="../../src/yuzu/configuration/configure_touch_from_button.cpp" line="62"/> - <location filename="../../src/yuzu/configuration/configure_mouse_advanced.cpp" line="71"/> <source>Button %1</source> <translation>Knapp %1</translation> </message> <message> <location filename="../../src/yuzu/configuration/configure_touch_from_button.cpp" line="68"/> - <location filename="../../src/yuzu/configuration/configure_mouse_advanced.cpp" line="76"/> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="185"/> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="227"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="190"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="204"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="234"/> <source>[unknown]</source> <translation>[ukjent]</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_mouse_advanced.cpp" line="22"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="58"/> + <source>Left</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="60"/> + <source>Right</source> + <translation type="unfinished"/> + </message> + <message> <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="62"/> - <source>Click 0</source> + <source>Down</source> <translation type="unfinished"/> </message> <message> - <location filename="../../src/yuzu/configuration/configure_mouse_advanced.cpp" line="24"/> <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="64"/> - <source>Click 1</source> + <source>Up</source> <translation type="unfinished"/> </message> <message> - <location filename="../../src/yuzu/configuration/configure_mouse_advanced.cpp" line="26"/> <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="66"/> - <source>Click 2</source> + <source>Z</source> <translation type="unfinished"/> </message> <message> - <location filename="../../src/yuzu/configuration/configure_mouse_advanced.cpp" line="28"/> <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="68"/> - <source>Click 3</source> + <source>R</source> <translation type="unfinished"/> </message> <message> - <location filename="../../src/yuzu/configuration/configure_mouse_advanced.cpp" line="30"/> <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="70"/> - <source>Click 4</source> + <source>L</source> <translation type="unfinished"/> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="109"/> - <source>%1%2</source> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="72"/> + <source>A</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="74"/> + <source>B</source> <translation type="unfinished"/> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="117"/> - <source>GC Axis %1%2</source> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="76"/> + <source>X</source> <translation type="unfinished"/> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="121"/> - <source>GC Button %1</source> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="78"/> + <source>Y</source> <translation type="unfinished"/> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="130"/> - <source>TAS Axis %1</source> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="80"/> + <source>Start</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="82"/> + <source>L1</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="84"/> + <source>L2</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="86"/> + <source>L3</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="88"/> + <source>R1</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="90"/> + <source>R2</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="92"/> + <source>R3</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="94"/> + <source>Circle</source> <translation type="unfinished"/> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="134"/> - <source>TAS Btn %1</source> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="96"/> + <source>Cross</source> <translation type="unfinished"/> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="142"/> - <source>Motion %1</source> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="98"/> + <source>Square</source> <translation type="unfinished"/> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="166"/> - <source>%1Button %2</source> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="100"/> + <source>Triangle</source> <translation type="unfinished"/> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="170"/> - <source>SDL Motion</source> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="102"/> + <source>Share</source> <translation type="unfinished"/> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="180"/> - <source>%1Click %2</source> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="104"/> + <source>Options</source> <translation type="unfinished"/> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="205"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="106"/> + <source>[undefined]</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="140"/> + <source>%1%2</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="144"/> + <source>[invalid]</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="154"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="178"/> + <source>%1%2Hat %3</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="158"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="181"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="184"/> + <source>%1%2Axis %3</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="164"/> + <source>%1%2Axis %3,%4,%5</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="168"/> + <source>%1%2Motion %3</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="172"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="187"/> + <source>%1%2Button %3</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="214"/> <source>[unused]</source> <translation>[ubrukt]</translation> </message> @@ -5320,7 +5554,7 @@ p, li { white-space: pre-wrap; } <location filename="../../src/yuzu/applets/qt_controller.ui" line="1656"/> <location filename="../../src/yuzu/applets/qt_controller.ui" line="1857"/> <location filename="../../src/yuzu/applets/qt_controller.ui" line="2054"/> - <location filename="../../src/yuzu/applets/qt_controller.cpp" line="419"/> + <location filename="../../src/yuzu/applets/qt_controller.cpp" line="411"/> <source>Pro Controller</source> <translation type="unfinished"/> </message> @@ -5333,7 +5567,7 @@ p, li { white-space: pre-wrap; } <location filename="../../src/yuzu/applets/qt_controller.ui" line="1661"/> <location filename="../../src/yuzu/applets/qt_controller.ui" line="1862"/> <location filename="../../src/yuzu/applets/qt_controller.ui" line="2059"/> - <location filename="../../src/yuzu/applets/qt_controller.cpp" line="423"/> + <location filename="../../src/yuzu/applets/qt_controller.cpp" line="415"/> <source>Dual Joycons</source> <translation type="unfinished"/> </message> @@ -5346,7 +5580,7 @@ p, li { white-space: pre-wrap; } <location filename="../../src/yuzu/applets/qt_controller.ui" line="1666"/> <location filename="../../src/yuzu/applets/qt_controller.ui" line="1867"/> <location filename="../../src/yuzu/applets/qt_controller.ui" line="2064"/> - <location filename="../../src/yuzu/applets/qt_controller.cpp" line="427"/> + <location filename="../../src/yuzu/applets/qt_controller.cpp" line="419"/> <source>Left Joycon</source> <translation type="unfinished"/> </message> @@ -5359,7 +5593,7 @@ p, li { white-space: pre-wrap; } <location filename="../../src/yuzu/applets/qt_controller.ui" line="1671"/> <location filename="../../src/yuzu/applets/qt_controller.ui" line="1872"/> <location filename="../../src/yuzu/applets/qt_controller.ui" line="2069"/> - <location filename="../../src/yuzu/applets/qt_controller.cpp" line="431"/> + <location filename="../../src/yuzu/applets/qt_controller.cpp" line="423"/> <source>Right Joycon</source> <translation type="unfinished"/> </message> @@ -5387,7 +5621,7 @@ p, li { white-space: pre-wrap; } </message> <message> <location filename="../../src/yuzu/applets/qt_controller.ui" line="932"/> - <location filename="../../src/yuzu/applets/qt_controller.cpp" line="436"/> + <location filename="../../src/yuzu/applets/qt_controller.cpp" line="428"/> <source>Handheld</source> <translation type="unfinished"/> </message> @@ -5508,7 +5742,7 @@ p, li { white-space: pre-wrap; } <translation type="unfinished"/> </message> <message> - <location filename="../../src/yuzu/applets/qt_controller.cpp" line="441"/> + <location filename="../../src/yuzu/applets/qt_controller.cpp" line="433"/> <source>GameCube Controller</source> <translation type="unfinished"/> </message> @@ -5592,13 +5826,13 @@ p, li { white-space: pre-wrap; } <translation type="unfinished"/> </message> <message> - <location filename="../../src/yuzu/applets/qt_software_keyboard.cpp" line="396"/> - <location filename="../../src/yuzu/applets/qt_software_keyboard.cpp" line="406"/> + <location filename="../../src/yuzu/applets/qt_software_keyboard.cpp" line="399"/> + <location filename="../../src/yuzu/applets/qt_software_keyboard.cpp" line="409"/> <source>OK</source> <translation type="unfinished"/> </message> <message> - <location filename="../../src/yuzu/applets/qt_software_keyboard.cpp" line="406"/> + <location filename="../../src/yuzu/applets/qt_software_keyboard.cpp" line="409"/> <source>Cancel</source> <translation type="unfinished"/> </message> diff --git a/dist/languages/nl.ts b/dist/languages/nl.ts index 85252334d..d2ea219f7 100644 --- a/dist/languages/nl.ts +++ b/dist/languages/nl.ts @@ -320,7 +320,9 @@ p, li { white-space: pre-wrap; } <source> <div>This option improves the speed of 32 bits ASIMD floating-point functions by running with incorrect rounding modes.</div> </source> - <translation type="unfinished"/> + <translation> +<div>Deze optie verbetert de snelheid of 32-bit ASIMD floating-point functies door incorrecte afronding modellen te gebruiken.</div> +</translation> </message> <message> <location filename="../../src/yuzu/configuration/configure_cpu.ui" line="125"/> @@ -368,7 +370,8 @@ p, li { white-space: pre-wrap; } <message> <location filename="../../src/yuzu/configuration/configure_cpu_debug.ui" line="17"/> <source>CPU</source> - <translation type="unfinished"/> + <translation>CPU +</translation> </message> <message> <location filename="../../src/yuzu/configuration/configure_cpu_debug.ui" line="25"/> @@ -498,7 +501,10 @@ p, li { white-space: pre-wrap; } <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> </source> - <translation type="unfinished"/> + <translation> +<div style="white-space: nowrap">Deze optimazie versneld geheugen toegang door het gastprogramma.</div> +<div style="white-space: nowrap">Door dit aan te leggen geeft toegang tot PageTable::pointers in uitgezonden code.</div> +<div style="white-space: nowrap">Door dit uit te leggen forceerd u alle geheugen toegang door Memory::Read/Memory::Write functies te gaan.</div></translation> </message> <message> <location filename="../../src/yuzu/configuration/configure_cpu_debug.ui" line="147"/> @@ -649,7 +655,12 @@ p, li { white-space: pre-wrap; } <translation type="unfinished"/> </message> <message> - <location filename="../../src/yuzu/configuration/configure_debug.ui" line="212"/> + <location filename="../../src/yuzu/configuration/configure_debug.ui" line="204"/> + <source>Enable all Controller Types</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_debug.ui" line="219"/> <source>**This will be reset automatically when yuzu closes.</source> <translation type="unfinished"/> </message> @@ -929,67 +940,78 @@ p, li { white-space: pre-wrap; } <translation>Algemeen</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_general.ui" line="35"/> - <source>Framerate Cap</source> + <location filename="../../src/yuzu/configuration/configure_general.ui" line="50"/> + <location filename="../../src/yuzu/configuration/configure_general.ui" line="57"/> + <source>Use global framerate cap</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_general.ui" line="62"/> + <source>Set framerate cap:</source> <translation type="unfinished"/> </message> <message> - <location filename="../../src/yuzu/configuration/configure_general.ui" line="38"/> + <location filename="../../src/yuzu/configuration/configure_general.ui" line="70"/> <source>Requires the use of the FPS Limiter Toggle hotkey to take effect.</source> <translation type="unfinished"/> </message> <message> - <location filename="../../src/yuzu/configuration/configure_general.ui" line="45"/> + <location filename="../../src/yuzu/configuration/configure_general.ui" line="73"/> + <source>Framerate Cap</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_general.ui" line="95"/> <source>x</source> <translation type="unfinished"/> </message> <message> - <location filename="../../src/yuzu/configuration/configure_general.ui" line="65"/> + <location filename="../../src/yuzu/configuration/configure_general.ui" line="116"/> <source>Limit Speed Percent</source> <translation>Limiteer Snelheid Percentage</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_general.ui" line="72"/> + <location filename="../../src/yuzu/configuration/configure_general.ui" line="123"/> <source>%</source> <translation>%</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_general.ui" line="90"/> + <location filename="../../src/yuzu/configuration/configure_general.ui" line="141"/> <source>Multicore CPU Emulation</source> <translation>Multicore CPU Emulatie</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_general.ui" line="97"/> + <location filename="../../src/yuzu/configuration/configure_general.ui" line="148"/> <source>Confirm exit while emulation is running</source> <translation>Bevestig sluiten terwijl emulatie nog bezig is</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_general.ui" line="104"/> + <location filename="../../src/yuzu/configuration/configure_general.ui" line="155"/> <source>Prompt for user on game boot</source> <translation>Vraag voor gebruiker bij het opstartten van het spel.</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_general.ui" line="111"/> + <location filename="../../src/yuzu/configuration/configure_general.ui" line="162"/> <source>Pause emulation when in background</source> <translation>Pauzeer Emulatie wanneer yuzu op de achtergrond openstaat</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_general.ui" line="118"/> + <location filename="../../src/yuzu/configuration/configure_general.ui" line="169"/> <source>Hide mouse on inactivity</source> <translation>Verstop muis wanneer inactief</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_general.ui" line="160"/> + <location filename="../../src/yuzu/configuration/configure_general.ui" line="211"/> <source>Reset All Settings</source> <translation>Reset alle instellingen</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_general.cpp" line="70"/> + <location filename="../../src/yuzu/configuration/configure_general.cpp" line="78"/> <source>yuzu</source> <translation>yuzu</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_general.cpp" line="71"/> + <location filename="../../src/yuzu/configuration/configure_general.cpp" line="79"/> <source>This reset all settings and remove all per-game configurations. This will not delete game directories, profiles, or input profiles. Proceed?</source> <translation>Hiermee worden alle instellingen gereset en alle configuraties per game verwijderd. Hiermee worden gamedirectory's, profielen of invoerprofielen niet verwijderd. Doorgaan?</translation> </message> @@ -1107,18 +1129,113 @@ p, li { white-space: pre-wrap; } <translation>Rek naar Venster</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_graphics.ui" line="339"/> - <location filename="../../src/yuzu/configuration/configure_graphics.ui" line="349"/> + <location filename="../../src/yuzu/configuration/configure_graphics.ui" line="330"/> + <source>Resolution:</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_graphics.ui" line="338"/> + <source>0.5X (360p/540p) [EXPERIMENTAL]</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_graphics.ui" line="343"/> + <source>0.75X (540p/810p) [EXPERIMENTAL]</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_graphics.ui" line="348"/> + <source>1X (720p/1080p)</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_graphics.ui" line="353"/> + <source>2X (1440p/2160p)</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_graphics.ui" line="358"/> + <source>3X (2160p/3240p)</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_graphics.ui" line="363"/> + <source>4X (2880p/4320p)</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_graphics.ui" line="368"/> + <source>5X (3600p/5400p)</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_graphics.ui" line="373"/> + <source>6X (4320p/6480p)</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_graphics.ui" line="399"/> + <source>Window Adapting Filter:</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_graphics.ui" line="407"/> + <source>Nearest Neighbor</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_graphics.ui" line="412"/> + <source>Bilinear</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_graphics.ui" line="417"/> + <source>Bicubic</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_graphics.ui" line="422"/> + <source>Gaussian</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_graphics.ui" line="427"/> + <source>ScaleForce</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_graphics.ui" line="432"/> + <source>AMD FidelityFX™️ Super Resolution [Vulkan Only]</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_graphics.ui" line="458"/> + <source>Anti-Aliasing Method:</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_graphics.ui" line="466"/> + <source>None</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_graphics.ui" line="471"/> + <source>FXAA</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_graphics.ui" line="506"/> + <location filename="../../src/yuzu/configuration/configure_graphics.ui" line="516"/> <source>Use global background color</source> <translation>Gebruik globale achtergrondkleur</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_graphics.ui" line="354"/> + <location filename="../../src/yuzu/configuration/configure_graphics.ui" line="521"/> <source>Set background color:</source> <translation>Gebruik achtergrondkleur:</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_graphics.ui" line="362"/> + <location filename="../../src/yuzu/configuration/configure_graphics.ui" line="529"/> <source>Background Color:</source> <translation>Achtergrondkleur:</translation> </message> @@ -1187,27 +1304,32 @@ p, li { white-space: pre-wrap; } </message> <message> <location filename="../../src/yuzu/configuration/configure_graphics_advanced.ui" line="128"/> - <source>Default</source> - <translation>Standaard</translation> + <source>Automatic</source> + <translation type="unfinished"/> </message> <message> <location filename="../../src/yuzu/configuration/configure_graphics_advanced.ui" line="133"/> - <source>2x (WILL BREAK THINGS)</source> - <translation type="unfinished"/> + <source>Default</source> + <translation>Standaard</translation> </message> <message> <location filename="../../src/yuzu/configuration/configure_graphics_advanced.ui" line="138"/> - <source>4x (WILL BREAK THINGS)</source> + <source>2x</source> <translation type="unfinished"/> </message> <message> <location filename="../../src/yuzu/configuration/configure_graphics_advanced.ui" line="143"/> - <source>8x (WILL BREAK THINGS)</source> + <source>4x</source> <translation type="unfinished"/> </message> <message> <location filename="../../src/yuzu/configuration/configure_graphics_advanced.ui" line="148"/> - <source>16x (WILL BREAK THINGS)</source> + <source>8x</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_graphics_advanced.ui" line="153"/> + <source>16x</source> <translation type="unfinished"/> </message> </context> @@ -1535,8 +1657,8 @@ p, li { white-space: pre-wrap; } </message> <message> <location filename="../../src/yuzu/configuration/configure_input_advanced.ui" line="2533"/> - <source>Other</source> - <translation>Ander</translation> + <source>Emulated Devices</source> + <translation type="unfinished"/> </message> <message> <location filename="../../src/yuzu/configuration/configure_input_advanced.ui" line="2545"/> @@ -1545,499 +1667,524 @@ p, li { white-space: pre-wrap; } </message> <message> <location filename="../../src/yuzu/configuration/configure_input_advanced.ui" line="2558"/> - <source>Emulate Analog with Keyboard Input</source> - <translation>Emuleer Anolooge invoer met toetsenbord</translation> - </message> - <message> - <location filename="../../src/yuzu/configuration/configure_input_advanced.ui" line="2571"/> - <source>Enable mouse panning</source> - <translation>Schakel muis panning in</translation> - </message> - <message> - <location filename="../../src/yuzu/configuration/configure_input_advanced.ui" line="2578"/> - <source>Mouse sensitivity</source> - <translation>Muis Gevoeligheid</translation> - </message> - <message> - <location filename="../../src/yuzu/configuration/configure_input_advanced.ui" line="2584"/> - <source>%</source> - <translation type="unfinished"/> - </message> - <message> - <location filename="../../src/yuzu/configuration/configure_input_advanced.ui" line="2600"/> - <location filename="../../src/yuzu/configuration/configure_input_advanced.ui" line="2623"/> - <source>Advanced</source> - <translation>Gedadvanceerd</translation> + <source>Mouse</source> + <translation>Muis</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_advanced.ui" line="2630"/> + <location filename="../../src/yuzu/configuration/configure_input_advanced.ui" line="2565"/> <source>Touchscreen</source> <translation>Touchscreen</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_advanced.ui" line="2643"/> - <source>Mouse</source> - <translation>Muis</translation> + <location filename="../../src/yuzu/configuration/configure_input_advanced.ui" line="2588"/> + <source>Advanced</source> + <translation>Gedadvanceerd</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_advanced.ui" line="2650"/> - <source>Motion / Touch</source> - <translation>Beweging / Touch</translation> + <location filename="../../src/yuzu/configuration/configure_input_advanced.ui" line="2595"/> + <source>Debug Controller</source> + <translation>Debug Controller</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_advanced.ui" line="2657"/> - <location filename="../../src/yuzu/configuration/configure_input_advanced.ui" line="2671"/> + <location filename="../../src/yuzu/configuration/configure_input_advanced.ui" line="2602"/> + <location filename="../../src/yuzu/configuration/configure_input_advanced.ui" line="2702"/> <source>Configure</source> <translation>Configureer</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_advanced.ui" line="2664"/> - <source>Debug Controller</source> - <translation>Debug Controller</translation> + <location filename="../../src/yuzu/configuration/configure_input_advanced.ui" line="2612"/> + <source>Other</source> + <translation>Ander</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_advanced.ui" line="2678"/> + <location filename="../../src/yuzu/configuration/configure_input_advanced.ui" line="2624"/> + <source>Emulate Analog with Keyboard Input</source> + <translation>Emuleer Anolooge invoer met toetsenbord</translation> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_input_advanced.ui" line="2631"/> <source>Requires restarting yuzu</source> <translation type="unfinished"/> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_advanced.ui" line="2687"/> + <location filename="../../src/yuzu/configuration/configure_input_advanced.ui" line="2640"/> <source>Enable XInput 8 player support (disables web applet)</source> <translation type="unfinished"/> </message> -</context> -<context> - <name>ConfigureInputPlayer</name> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="14"/> - <source>Configure Input</source> - <translation>Configureer Invoer</translation> + <location filename="../../src/yuzu/configuration/configure_input_advanced.ui" line="2653"/> + <source>Enable UDP controllers (not needed for motion)</source> + <translation type="unfinished"/> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="63"/> - <source>Connect Controller</source> - <translation>Verbindt Controller</translation> + <location filename="../../src/yuzu/configuration/configure_input_advanced.ui" line="2666"/> + <source>Enable mouse panning</source> + <translation>Schakel muis panning in</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="94"/> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="535"/> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="986"/> - <source>Pro Controller</source> - <translation>Pro Controller</translation> + <location filename="../../src/yuzu/configuration/configure_input_advanced.ui" line="2673"/> + <source>Mouse sensitivity</source> + <translation>Muis Gevoeligheid</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="99"/> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="992"/> - <source>Dual Joycons</source> - <translation>Twee Joycons</translation> + <location filename="../../src/yuzu/configuration/configure_input_advanced.ui" line="2679"/> + <source>%</source> + <translation type="unfinished"/> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="104"/> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="998"/> - <source>Left Joycon</source> - <translation>Linker Joycon</translation> + <location filename="../../src/yuzu/configuration/configure_input_advanced.ui" line="2695"/> + <source>Motion / Touch</source> + <translation>Beweging / Touch</translation> </message> +</context> +<context> + <name>ConfigureInputPlayer</name> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="109"/> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="1004"/> - <source>Right Joycon</source> - <translation>Rechter Joycon</translation> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="14"/> + <source>Configure Input</source> + <translation>Configureer Invoer</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="114"/> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="1010"/> - <source>Handheld</source> - <translation>Mobiel</translation> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="63"/> + <source>Connect Controller</source> + <translation>Verbindt Controller</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="125"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="100"/> <source>Input Device</source> <translation>Invoer Apparaat</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="153"/> - <source>Any</source> - <translation>Elke</translation> - </message> - <message> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="158"/> - <source>Keyboard/Mouse</source> - <translation>Toetsenbord/muis</translation> - </message> - <message> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="194"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="156"/> <source>Profile</source> <translation>Profiel</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="234"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="196"/> <source>Save</source> <translation>Opslaan</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="250"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="212"/> <source>New</source> <translation>Nieuw</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="266"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="228"/> <source>Delete</source> <translation>Verwijder</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="329"/> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="1267"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="291"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="1190"/> <source>Left Stick</source> <translation>Linker Stick</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="387"/> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="429"/> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="963"/> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="1002"/> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="2621"/> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="2660"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="349"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="391"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="925"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="964"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="2583"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="2622"/> <source>Up</source> <translation>Boven:</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="460"/> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="499"/> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="1033"/> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="1072"/> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="2107"/> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="2691"/> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="2730"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="422"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="461"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="995"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="1034"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="2069"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="2653"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="2692"/> <source>Left</source> <translation>Links:</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="509"/> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="548"/> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="1082"/> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="1121"/> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="2156"/> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="2740"/> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="2779"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="471"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="510"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="1044"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="1083"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="2118"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="2702"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="2741"/> <source>Right</source> <translation>Rechts:</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="591"/> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="630"/> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="1164"/> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="1203"/> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="2822"/> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="2861"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="553"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="592"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="1126"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="1165"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="2784"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="2823"/> <source>Down</source> <translation>Beneden:</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="661"/> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="700"/> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="2892"/> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="2931"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="623"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="662"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="2854"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="2893"/> <source>Pressed</source> <translation>Ingedrukt:</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="710"/> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="749"/> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="2941"/> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="2980"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="672"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="711"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="2903"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="2942"/> <source>Modifier</source> <translation>Modificatie:</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="759"/> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="2990"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="721"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="2952"/> <source>Range</source> <translation>Berijk</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="792"/> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="3023"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="754"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="2985"/> <source>%</source> <translation>%</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="835"/> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="3063"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="797"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="3025"/> <source>Deadzone: 0%</source> <translation>Deadzone: 0%</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="859"/> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="3087"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="821"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="3049"/> <source>Modifier Range: 0%</source> <translation>Bewerk Range: 0%</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="905"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="867"/> <source>D-Pad</source> <translation>D-Pad</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="1289"/> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="1328"/> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="1272"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="1251"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="1290"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="1195"/> <source>L</source> <translation>L</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="1344"/> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="1383"/> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="1264"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="1306"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="1345"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="1187"/> <source>ZL</source> <translation>ZL</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="1464"/> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="1503"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="1426"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="1465"/> <source>Minus</source> <translation>Min</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="1513"/> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="1552"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="1475"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="1514"/> <source>Capture</source> <translation>Vastleggen</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="1583"/> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="1622"/> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="1263"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="1545"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="1584"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="1186"/> <source>Plus</source> <translation>Plus:</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="1632"/> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="1671"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="1594"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="1633"/> <source>Home</source> <translation>Home:</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="1736"/> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="1775"/> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="1266"/> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="1273"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="1698"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="1737"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="1189"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="1196"/> <source>R</source> <translation>R:</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="1791"/> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="1830"/> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="1265"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="1753"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="1792"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="1188"/> <source>ZR</source> <translation>ZR</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="1911"/> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="1950"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="1873"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="1912"/> <source>SL</source> <translation>SL</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="1960"/> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="1999"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="1922"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="1961"/> <source>SR</source> <translation>SR</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="2068"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="2030"/> <source>Motion 1</source> <translation>Beweging 1</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="2117"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="2079"/> <source>Motion 2</source> <translation>Beweging 2</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="2208"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="2170"/> <source>Face Buttons</source> <translation>Gezicht Knoppen</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="2266"/> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="2305"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="2228"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="2267"/> <source>X</source> <translation>X</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="2336"/> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="2375"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="2298"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="2337"/> <source>Y</source> <translation>Y</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="2385"/> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="2424"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="2347"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="2386"/> <source>A</source> <translation>A</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="2467"/> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="2506"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="2429"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="2468"/> <source>B</source> <translation>B</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="2554"/> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="1268"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="2516"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="1191"/> <source>Right Stick</source> <translation>Rechter Stick</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="322"/> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="372"/> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="430"/> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="474"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="330"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="396"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="461"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="507"/> <source>Clear</source> <translation>Verwijder</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="324"/> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="374"/> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="432"/> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="476"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="332"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="398"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="463"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="509"/> <source>[not set]</source> <translation>[niet ingesteld]</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="327"/> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="478"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="335"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="512"/> <source>Toggle button</source> <translation>Shakel Knop</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="335"/> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="339"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="341"/> + <source>Invert button</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="349"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="465"/> + <source>Invert axis</source> + <translation>Spiegel As</translation> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="355"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="359"/> <source>Set threshold</source> <translation type="unfinished"/> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="339"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="359"/> <source>Choose a value between 0% and 100%</source> <translation type="unfinished"/> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="406"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="436"/> <source>Map Analog Stick</source> <translation>Zet Analoge Stick</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="407"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="437"/> <source>After pressing OK, first move your joystick horizontally, and then vertically. To invert the axes, first move your joystick vertically, and then horizontally.</source> <translation>Na OK in te drukken, beweeg je joystick eerst horizontaal en dan verticaal. Om de assen te spiegelen, beweek je joystick eerst verticaal en dan horizontaal.</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="434"/> - <source>Invert axis</source> - <translation>Spiegel As</translation> - </message> - <message> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="500"/> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="952"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="537"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="891"/> <source>Deadzone: %1%</source> <translation>Deadzone: %1%</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="508"/> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="963"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="546"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="896"/> <source>Modifier Range: %1%</source> <translation>Bewerk Range: %1%</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="1016"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="572"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="918"/> + <source>Pro Controller</source> + <translation>Pro Controller</translation> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="924"/> + <source>Dual Joycons</source> + <translation>Twee Joycons</translation> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="930"/> + <source>Left Joycon</source> + <translation>Linker Joycon</translation> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="936"/> + <source>Right Joycon</source> + <translation>Rechter Joycon</translation> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="942"/> + <source>Handheld</source> + <translation>Mobiel</translation> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="948"/> <source>GameCube Controller</source> <translation>GameCube Controller</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="1271"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="958"/> + <source>Poke Ball Plus</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="964"/> + <source>NES Controller</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="970"/> + <source>SNES Controller</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="976"/> + <source>N64 Controller</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="982"/> + <source>Sega Genesis</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="1194"/> <source>Start / Pause</source> <translation>Start / Pauze</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="1274"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="1197"/> <source>Z</source> <translation>Z</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="1275"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="1198"/> <source>Control Stick</source> <translation>Control Stick</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="1276"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="1199"/> <source>C-Stick</source> <translation>C-Stick</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="1335"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="1297"/> <source>Shake!</source> <translation>Shudden!</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="1337"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="1299"/> <source>[waiting]</source> <translation>[aan het wachten]</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="1462"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="1381"/> <source>New Profile</source> <translation>Nieuw Profiel</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="1462"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="1381"/> <source>Enter a profile name:</source> <translation>Voer nieuwe gebruikersnaam in:</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="1470"/> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="1478"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="1389"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="1397"/> <source>Create Input Profile</source> <translation>Creëer een nieuw Invoer Profiel</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="1471"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="1390"/> <source>The given profile name is not valid!</source> <translation>De ingevoerde Profiel naam is niet geldig</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="1479"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="1398"/> <source>Failed to create the input profile "%1"</source> <translation>Het is mislukt om Invoer Profiel "%1 te Creëer</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="1499"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="1418"/> <source>Delete Input Profile</source> <translation>Verwijder invoer profiel</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="1500"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="1419"/> <source>Failed to delete the input profile "%1"</source> <translation>Het is mislukt om Invoer Profiel "%1 te Verwijderen</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="1522"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="1441"/> <source>Load Input Profile</source> <translation>Laad invoer profiel</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="1523"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="1442"/> <source>Failed to load the input profile "%1"</source> <translation>Het is mislukt om Invoer Profiel "%1 te Laden</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="1542"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="1461"/> <source>Save Input Profile</source> <translation>Sla Invoer profiel op</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="1543"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="1462"/> <source>Failed to save the input profile "%1"</source> <translation>Het is mislukt om Invoer Profiel "%1 Op te slaan</translation> </message> @@ -2063,85 +2210,75 @@ Om de assen te spiegelen, beweek je joystick eerst verticaal en dan horizontaal. <context> <name>ConfigureMotionTouch</name> <message> - <location filename="../../src/yuzu/configuration/configure_motion_touch.ui" line="14"/> + <location filename="../../src/yuzu/configuration/configure_motion_touch.ui" line="6"/> <source>Configure Motion / Touch</source> <translation>Configureer Beweging / Touch</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_motion_touch.ui" line="23"/> - <source>Mouse Motion</source> - <translation>Muis Beweging</translation> - </message> - <message> - <location filename="../../src/yuzu/configuration/configure_motion_touch.ui" line="31"/> - <source>Sensitivity:</source> - <translation>Gevoeligheid:</translation> - </message> - <message> - <location filename="../../src/yuzu/configuration/configure_motion_touch.ui" line="65"/> + <location filename="../../src/yuzu/configuration/configure_motion_touch.ui" line="15"/> <source>Touch</source> <translation>Touch</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_motion_touch.ui" line="73"/> + <location filename="../../src/yuzu/configuration/configure_motion_touch.ui" line="23"/> <source>UDP Calibration:</source> <translation>UDP Calibratie:</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_motion_touch.ui" line="80"/> + <location filename="../../src/yuzu/configuration/configure_motion_touch.ui" line="30"/> <source>(100, 50) - (1800, 850)</source> <translation>(100, 50) - (1800, 850)</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_motion_touch.ui" line="96"/> - <location filename="../../src/yuzu/configuration/configure_motion_touch.ui" line="129"/> - <location filename="../../src/yuzu/configuration/configure_motion_touch.cpp" line="250"/> + <location filename="../../src/yuzu/configuration/configure_motion_touch.ui" line="46"/> + <location filename="../../src/yuzu/configuration/configure_motion_touch.ui" line="73"/> + <location filename="../../src/yuzu/configuration/configure_motion_touch.cpp" line="245"/> <source>Configure</source> <translation>Configureer</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_motion_touch.ui" line="113"/> - <source>Use button mapping:</source> - <translation>Gebruik knoptoewijzing:</translation> + <location filename="../../src/yuzu/configuration/configure_motion_touch.ui" line="57"/> + <source>Touch from button profile:</source> + <translation type="unfinished"/> </message> <message> - <location filename="../../src/yuzu/configuration/configure_motion_touch.ui" line="141"/> + <location filename="../../src/yuzu/configuration/configure_motion_touch.ui" line="85"/> <source>CemuhookUDP Config</source> <translation>CemuhookUDP Configuratie</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_motion_touch.ui" line="147"/> + <location filename="../../src/yuzu/configuration/configure_motion_touch.ui" line="91"/> <source>You may use any Cemuhook compatible UDP input source to provide motion and touch input.</source> <translation>U kunt elke Cemuhook-compatibele UDP-invoerbron gebruiken voor bewegings- en aanraakinvoer.</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_motion_touch.ui" line="190"/> + <location filename="../../src/yuzu/configuration/configure_motion_touch.ui" line="134"/> <source>Server:</source> <translation>Server:</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_motion_touch.ui" line="217"/> + <location filename="../../src/yuzu/configuration/configure_motion_touch.ui" line="161"/> <source>Port:</source> <translation>Poort:</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_motion_touch.ui" line="244"/> + <location filename="../../src/yuzu/configuration/configure_motion_touch.ui" line="188"/> <source>Learn More</source> <translation>Leer Meer</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_motion_touch.ui" line="257"/> - <location filename="../../src/yuzu/configuration/configure_motion_touch.cpp" line="273"/> + <location filename="../../src/yuzu/configuration/configure_motion_touch.ui" line="201"/> + <location filename="../../src/yuzu/configuration/configure_motion_touch.cpp" line="268"/> <source>Test</source> <translation>Test</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_motion_touch.ui" line="270"/> + <location filename="../../src/yuzu/configuration/configure_motion_touch.ui" line="214"/> <source>Add Server</source> <translation>Voeg Server toe</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_motion_touch.ui" line="303"/> + <location filename="../../src/yuzu/configuration/configure_motion_touch.ui" line="247"/> <source>Remove Server</source> <translation>Externe Server</translation> </message> @@ -2151,146 +2288,82 @@ Om de assen te spiegelen, beweek je joystick eerst verticaal en dan horizontaal. <translation><a href='https://yuzu-emu.org/wiki/using-a-controller-or-android-phone-for-motion-or-touch-input'><span style="text-decoration: underline; color:#039be5;">Leer Meer</span></a></translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_motion_touch.cpp" line="176"/> + <location filename="../../src/yuzu/configuration/configure_motion_touch.cpp" line="171"/> <source>%1:%2</source> <translation>%1:%2</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_motion_touch.cpp" line="181"/> - <location filename="../../src/yuzu/configuration/configure_motion_touch.cpp" line="185"/> - <location filename="../../src/yuzu/configuration/configure_motion_touch.cpp" line="189"/> - <location filename="../../src/yuzu/configuration/configure_motion_touch.cpp" line="195"/> - <location filename="../../src/yuzu/configuration/configure_motion_touch.cpp" line="201"/> - <location filename="../../src/yuzu/configuration/configure_motion_touch.cpp" line="295"/> + <location filename="../../src/yuzu/configuration/configure_motion_touch.cpp" line="176"/> + <location filename="../../src/yuzu/configuration/configure_motion_touch.cpp" line="180"/> + <location filename="../../src/yuzu/configuration/configure_motion_touch.cpp" line="184"/> + <location filename="../../src/yuzu/configuration/configure_motion_touch.cpp" line="190"/> + <location filename="../../src/yuzu/configuration/configure_motion_touch.cpp" line="196"/> + <location filename="../../src/yuzu/configuration/configure_motion_touch.cpp" line="290"/> <source>yuzu</source> <translation>Yuzu</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_motion_touch.cpp" line="181"/> + <location filename="../../src/yuzu/configuration/configure_motion_touch.cpp" line="176"/> <source>Port number has invalid characters</source> <translation>Poortnummer bevat ongeldige tekens</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_motion_touch.cpp" line="185"/> + <location filename="../../src/yuzu/configuration/configure_motion_touch.cpp" line="180"/> <source>Port has to be in range 0 and 65353</source> <translation>Poort moet in bereik 0 en 65353 zijn</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_motion_touch.cpp" line="189"/> + <location filename="../../src/yuzu/configuration/configure_motion_touch.cpp" line="184"/> <source>IP address is not valid</source> <translation>IP adress is niet geldig</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_motion_touch.cpp" line="195"/> + <location filename="../../src/yuzu/configuration/configure_motion_touch.cpp" line="190"/> <source>This UDP server already exists</source> <translation>Deze UDP server bestaat al</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_motion_touch.cpp" line="201"/> + <location filename="../../src/yuzu/configuration/configure_motion_touch.cpp" line="196"/> <source>Unable to add more than 8 servers</source> <translation>Kan niet meer dan 8 servers toevoegen</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_motion_touch.cpp" line="217"/> + <location filename="../../src/yuzu/configuration/configure_motion_touch.cpp" line="212"/> <source>Testing</source> <translation>Testen</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_motion_touch.cpp" line="233"/> + <location filename="../../src/yuzu/configuration/configure_motion_touch.cpp" line="228"/> <source>Configuring</source> <translation>Configureren</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_motion_touch.cpp" line="264"/> + <location filename="../../src/yuzu/configuration/configure_motion_touch.cpp" line="259"/> <source>Test Successful</source> <translation>Test Succesvol</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_motion_touch.cpp" line="265"/> + <location filename="../../src/yuzu/configuration/configure_motion_touch.cpp" line="260"/> <source>Successfully received data from the server.</source> <translation>De data van de server is succesvol ontvangen.</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_motion_touch.cpp" line="267"/> + <location filename="../../src/yuzu/configuration/configure_motion_touch.cpp" line="262"/> <source>Test Failed</source> <translation>Test Gefaald</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_motion_touch.cpp" line="268"/> + <location filename="../../src/yuzu/configuration/configure_motion_touch.cpp" line="263"/> <source>Could not receive valid data from the server.<br>Please verify that the server is set up correctly and the address and port are correct.</source> <translation>Kan niet de juiste data van de server ontvangen.<br>Verifieer dat de server is goed opgezet en dat het adres en poort correct zijn.</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_motion_touch.cpp" line="296"/> + <location filename="../../src/yuzu/configuration/configure_motion_touch.cpp" line="291"/> <source>UDP Test or calibration configuration is in progress.<br>Please wait for them to finish.</source> <translation>UDP Test of calibratie configuratie is bezig.<br>Wacht alstublieft totdat het voltooid is.</translation> </message> </context> <context> - <name>ConfigureMouseAdvanced</name> - <message> - <location filename="../../src/yuzu/configuration/configure_mouse_advanced.ui" line="14"/> - <source>Configure Mouse</source> - <translation>Configureer Muis</translation> - </message> - <message> - <location filename="../../src/yuzu/configuration/configure_mouse_advanced.ui" line="25"/> - <source>Mouse Buttons</source> - <translation>Muisknoppen</translation> - </message> - <message> - <location filename="../../src/yuzu/configuration/configure_mouse_advanced.ui" line="35"/> - <source>Forward:</source> - <translation>Voorwaarts:</translation> - </message> - <message> - <location filename="../../src/yuzu/configuration/configure_mouse_advanced.ui" line="75"/> - <source>Back:</source> - <translation>Terug:</translation> - </message> - <message> - <location filename="../../src/yuzu/configuration/configure_mouse_advanced.ui" line="103"/> - <source>Left:</source> - <translation>Links:</translation> - </message> - <message> - <location filename="../../src/yuzu/configuration/configure_mouse_advanced.ui" line="131"/> - <source>Middle:</source> - <translation>Middel:</translation> - </message> - <message> - <location filename="../../src/yuzu/configuration/configure_mouse_advanced.ui" line="197"/> - <source>Right:</source> - <translation>Rechts:</translation> - </message> - <message> - <location filename="../../src/yuzu/configuration/configure_mouse_advanced.ui" line="270"/> - <location filename="../../src/yuzu/configuration/configure_mouse_advanced.cpp" line="109"/> - <source>Clear</source> - <translation>Herstellen</translation> - </message> - <message> - <location filename="../../src/yuzu/configuration/configure_mouse_advanced.ui" line="289"/> - <source>Defaults</source> - <translation>Standaarden</translation> - </message> - <message> - <location filename="../../src/yuzu/configuration/configure_mouse_advanced.cpp" line="111"/> - <source>[not set]</source> - <translation>[niet ingesteld]</translation> - </message> - <message> - <location filename="../../src/yuzu/configuration/configure_mouse_advanced.cpp" line="113"/> - <source>Restore Default</source> - <translation>Herstel Standaardwaarde</translation> - </message> - <message> - <location filename="../../src/yuzu/configuration/configure_mouse_advanced.cpp" line="200"/> - <source>[press key]</source> - <translation>[druk op knop]</translation> - </message> -</context> -<context> <name>ConfigureNetwork</name> <message> <location filename="../../src/yuzu/configuration/configure_network.ui" line="14"/> @@ -3073,31 +3146,26 @@ Om de assen te spiegelen, beweek je joystick eerst verticaal en dan horizontaal. </message> <message> <location filename="../../src/yuzu/configuration/configure_tas.ui" line="64"/> - <source>Automatic controller profile swapping</source> - <translation type="unfinished"/> - </message> - <message> - <location filename="../../src/yuzu/configuration/configure_tas.ui" line="71"/> <source>Loop script</source> <translation type="unfinished"/> </message> <message> - <location filename="../../src/yuzu/configuration/configure_tas.ui" line="81"/> + <location filename="../../src/yuzu/configuration/configure_tas.ui" line="74"/> <source>Pause execution during loads</source> <translation type="unfinished"/> </message> <message> - <location filename="../../src/yuzu/configuration/configure_tas.ui" line="95"/> + <location filename="../../src/yuzu/configuration/configure_tas.ui" line="88"/> <source>Script Directory</source> <translation type="unfinished"/> </message> <message> - <location filename="../../src/yuzu/configuration/configure_tas.ui" line="101"/> + <location filename="../../src/yuzu/configuration/configure_tas.ui" line="94"/> <source>Path</source> <translation type="unfinished"/> </message> <message> - <location filename="../../src/yuzu/configuration/configure_tas.ui" line="108"/> + <location filename="../../src/yuzu/configuration/configure_tas.ui" line="101"/> <source>...</source> <translation type="unfinished"/> </message> @@ -3110,7 +3178,7 @@ Om de assen te spiegelen, beweek je joystick eerst verticaal en dan horizontaal. <translation type="unfinished"/> </message> <message> - <location filename="../../src/yuzu/configuration/configure_tas.cpp" line="53"/> + <location filename="../../src/yuzu/configuration/configure_tas.cpp" line="51"/> <source>Select TAS Load Directory...</source> <translation type="unfinished"/> </message> @@ -3172,37 +3240,37 @@ Sleep punten om positie te veranderen, of dubbel klik één van de tabel cellen <translation>Y</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_touch_from_button.cpp" line="200"/> + <location filename="../../src/yuzu/configuration/configure_touch_from_button.cpp" line="197"/> <source>New Profile</source> <translation>Nieuw Profiel</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_touch_from_button.cpp" line="200"/> + <location filename="../../src/yuzu/configuration/configure_touch_from_button.cpp" line="197"/> <source>Enter the name for the new profile.</source> <translation>Voer een naam in voor het nieuwe profiel.</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_touch_from_button.cpp" line="211"/> + <location filename="../../src/yuzu/configuration/configure_touch_from_button.cpp" line="208"/> <source>Delete Profile</source> <translation>Verwijder Profiel</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_touch_from_button.cpp" line="211"/> + <location filename="../../src/yuzu/configuration/configure_touch_from_button.cpp" line="208"/> <source>Delete profile %1?</source> <translation>Verwijder Profiel %1?</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_touch_from_button.cpp" line="224"/> + <location filename="../../src/yuzu/configuration/configure_touch_from_button.cpp" line="221"/> <source>Rename Profile</source> <translation>Hernoem Profiel</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_touch_from_button.cpp" line="224"/> + <location filename="../../src/yuzu/configuration/configure_touch_from_button.cpp" line="221"/> <source>New name:</source> <translation>Nieuwe naam:</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_touch_from_button.cpp" line="233"/> + <location filename="../../src/yuzu/configuration/configure_touch_from_button.cpp" line="230"/> <source>[press key]</source> <translation>[druk op toets]</translation> </message> @@ -3622,12 +3690,12 @@ Sleep punten om positie te veranderen, of dubbel klik één van de tabel cellen <context> <name>ControllerDialog</name> <message> - <location filename="../../src/yuzu/debugger/controller.cpp" line="17"/> + <location filename="../../src/yuzu/debugger/controller.cpp" line="21"/> <source>Controller P1</source> <translation type="unfinished"/> </message> <message> - <location filename="../../src/yuzu/debugger/controller.cpp" line="52"/> + <location filename="../../src/yuzu/debugger/controller.cpp" line="60"/> <source>&Controller P1</source> <translation type="unfinished"/> </message> @@ -3635,89 +3703,94 @@ Sleep punten om positie te veranderen, of dubbel klik één van de tabel cellen <context> <name>GMainWindow</name> <message> - <location filename="../../src/yuzu/main.cpp" line="174"/> + <location filename="../../src/yuzu/main.cpp" line="176"/> <source><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?</source> <translation><a href='https://yuzu-emu.org/help/feature/telemetry/'>Annonieme gegevens worden verzameld</a> om yuzu te helpen verbeteren. <br/><br/> Zou je jouw gebruiksgegevens met ons willen delen?</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="177"/> + <location filename="../../src/yuzu/main.cpp" line="179"/> <source>Telemetry</source> <translation>Telemetrie</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="592"/> + <location filename="../../src/yuzu/main.cpp" line="600"/> <source>Loading Web Applet...</source> <translation>Web Applet Laden...</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="639"/> - <location filename="../../src/yuzu/main.cpp" line="642"/> + <location filename="../../src/yuzu/main.cpp" line="647"/> + <location filename="../../src/yuzu/main.cpp" line="650"/> <source>Disable Web Applet</source> <translation type="unfinished"/> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="643"/> + <location filename="../../src/yuzu/main.cpp" line="651"/> <source>Disabling the web applet will cause it to not be shown again for the rest of the emulated session. This 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?</source> <translation type="unfinished"/> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="746"/> + <location filename="../../src/yuzu/main.cpp" line="754"/> <source>The amount of shaders currently being built</source> <translation type="unfinished"/> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="749"/> + <location filename="../../src/yuzu/main.cpp" line="756"/> + <source>The current selected resolution scaling multiplier.</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/main.cpp" line="759"/> <source>Current emulation speed. Values higher or lower than 100% indicate emulation is running faster or slower than a Switch.</source> <translation>Huidige emulatie snelheid. Waardes hoger of lager dan 100% betekent dat de emulatie sneller of langzamer loopt dan de Switch.</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="752"/> + <location filename="../../src/yuzu/main.cpp" line="762"/> <source>How many frames per second the game is currently displaying. This will vary from game to game and scene to scene.</source> <translation>Hoeveel frames per seconde de game op dit moment weergeeft. Dit zal veranderen van game naar game en van scène naar scène.</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="756"/> + <location filename="../../src/yuzu/main.cpp" line="766"/> <source>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.</source> <translation>Tijd gebruikt om een frame van de Switch te emuleren, waarbij framelimiteren of v-sync niet wordt meegerekend. Voor emulatie op volledige snelheid zou dit maximaal 16.67 ms zijn.</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="781"/> + <location filename="../../src/yuzu/main.cpp" line="841"/> <source>Invalid config detected</source> <translation type="unfinished"/> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="782"/> + <location filename="../../src/yuzu/main.cpp" line="842"/> <source>Handheld controller can't be used on docked mode. Pro controller will be selected.</source> <translation type="unfinished"/> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="794"/> + <location filename="../../src/yuzu/main.cpp" line="854"/> <source>DOCK</source> <translation type="unfinished"/> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="828"/> + <location filename="../../src/yuzu/main.cpp" line="888"/> <source>VULKAN</source> <translation type="unfinished"/> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="828"/> + <location filename="../../src/yuzu/main.cpp" line="888"/> <source>OPENGL</source> <translation type="unfinished"/> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="886"/> + <location filename="../../src/yuzu/main.cpp" line="951"/> <source>&Clear Recent Files</source> <translation type="unfinished"/> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="1055"/> - <source>TAS Recording</source> + <location filename="../../src/yuzu/main.cpp" line="1210"/> + <source>&Continue</source> <translation type="unfinished"/> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="1056"/> - <source>Overwrite file of player 1?</source> + <location filename="../../src/yuzu/main.cpp" line="1212"/> + <source>&Pause</source> <translation type="unfinished"/> </message> <message> @@ -3769,656 +3842,723 @@ Sleep punten om positie te veranderen, of dubbel klik één van de tabel cellen <translation>Een onbekende fout heeft plaatsgevonden. Kijk in de log voor meer details.</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="1462"/> + <location filename="../../src/yuzu/main.cpp" line="1460"/> <source>(64-bit)</source> <translation type="unfinished"/> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="1462"/> + <location filename="../../src/yuzu/main.cpp" line="1460"/> <source>(32-bit)</source> <translation type="unfinished"/> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="1463"/> + <location filename="../../src/yuzu/main.cpp" line="1461"/> <source>%1 %2</source> <comment>%1 is the title name. %2 indicates if the title is 64-bit or 32-bit</comment> <translation type="unfinished"/> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="1507"/> - <source>Start</source> - <translation>Start</translation> - </message> - <message> - <location filename="../../src/yuzu/main.cpp" line="1612"/> + <location filename="../../src/yuzu/main.cpp" line="1605"/> <source>Save Data</source> <translation>Save Data</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="1660"/> + <location filename="../../src/yuzu/main.cpp" line="1653"/> <source>Mod Data</source> <translation>Mod Data</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="1672"/> + <location filename="../../src/yuzu/main.cpp" line="1665"/> <source>Error Opening %1 Folder</source> <translation>Fout tijdens het openen van %1 folder</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="1673"/> - <location filename="../../src/yuzu/main.cpp" line="2079"/> + <location filename="../../src/yuzu/main.cpp" line="1666"/> + <location filename="../../src/yuzu/main.cpp" line="2072"/> <source>Folder does not exist!</source> <translation>Folder bestaat niet!</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="1685"/> + <location filename="../../src/yuzu/main.cpp" line="1678"/> <source>Error Opening Transferable Shader Cache</source> <translation>Fout Bij Het Openen Van Overdraagbare Shader Cache</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="1686"/> + <location filename="../../src/yuzu/main.cpp" line="1679"/> <source>Failed to create the shader cache directory for this title.</source> <translation type="unfinished"/> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="1738"/> + <location filename="../../src/yuzu/main.cpp" line="1731"/> <source>Contents</source> <translation type="unfinished"/> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="1740"/> + <location filename="../../src/yuzu/main.cpp" line="1733"/> <source>Update</source> <translation type="unfinished"/> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="1742"/> + <location filename="../../src/yuzu/main.cpp" line="1735"/> <source>DLC</source> <translation type="unfinished"/> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="1749"/> + <location filename="../../src/yuzu/main.cpp" line="1742"/> <source>Remove Entry</source> <translation type="unfinished"/> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="1749"/> + <location filename="../../src/yuzu/main.cpp" line="1742"/> <source>Remove Installed Game %1?</source> <translation type="unfinished"/> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="1779"/> - <location filename="../../src/yuzu/main.cpp" line="1795"/> - <location filename="../../src/yuzu/main.cpp" line="1826"/> - <location filename="../../src/yuzu/main.cpp" line="1887"/> - <location filename="../../src/yuzu/main.cpp" line="1905"/> - <location filename="../../src/yuzu/main.cpp" line="1928"/> + <location filename="../../src/yuzu/main.cpp" line="1772"/> + <location filename="../../src/yuzu/main.cpp" line="1788"/> + <location filename="../../src/yuzu/main.cpp" line="1819"/> + <location filename="../../src/yuzu/main.cpp" line="1880"/> + <location filename="../../src/yuzu/main.cpp" line="1898"/> + <location filename="../../src/yuzu/main.cpp" line="1921"/> <source>Successfully Removed</source> <translation type="unfinished"/> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="1780"/> + <location filename="../../src/yuzu/main.cpp" line="1773"/> <source>Successfully removed the installed base game.</source> <translation type="unfinished"/> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="1783"/> - <location filename="../../src/yuzu/main.cpp" line="1798"/> - <location filename="../../src/yuzu/main.cpp" line="1821"/> + <location filename="../../src/yuzu/main.cpp" line="1776"/> + <location filename="../../src/yuzu/main.cpp" line="1791"/> + <location filename="../../src/yuzu/main.cpp" line="1814"/> <source>Error Removing %1</source> <translation type="unfinished"/> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="1784"/> + <location filename="../../src/yuzu/main.cpp" line="1777"/> <source>The base game is not installed in the NAND and cannot be removed.</source> <translation type="unfinished"/> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="1796"/> + <location filename="../../src/yuzu/main.cpp" line="1789"/> <source>Successfully removed the installed update.</source> <translation type="unfinished"/> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="1799"/> + <location filename="../../src/yuzu/main.cpp" line="1792"/> <source>There is no update installed for this title.</source> <translation type="unfinished"/> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="1822"/> + <location filename="../../src/yuzu/main.cpp" line="1815"/> <source>There are no DLC installed for this title.</source> <translation type="unfinished"/> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="1827"/> + <location filename="../../src/yuzu/main.cpp" line="1820"/> <source>Successfully removed %1 installed DLC.</source> <translation type="unfinished"/> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="1835"/> + <location filename="../../src/yuzu/main.cpp" line="1828"/> <source>Delete OpenGL Transferable Shader Cache?</source> <translation type="unfinished"/> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="1837"/> + <location filename="../../src/yuzu/main.cpp" line="1830"/> <source>Delete Vulkan Transferable Shader Cache?</source> <translation type="unfinished"/> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="1839"/> + <location filename="../../src/yuzu/main.cpp" line="1832"/> <source>Delete All Transferable Shader Caches?</source> <translation type="unfinished"/> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="1841"/> + <location filename="../../src/yuzu/main.cpp" line="1834"/> <source>Remove Custom Game Configuration?</source> <translation type="unfinished"/> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="1847"/> + <location filename="../../src/yuzu/main.cpp" line="1840"/> <source>Remove File</source> <translation type="unfinished"/> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="1882"/> - <location filename="../../src/yuzu/main.cpp" line="1890"/> + <location filename="../../src/yuzu/main.cpp" line="1875"/> + <location filename="../../src/yuzu/main.cpp" line="1883"/> <source>Error Removing Transferable Shader Cache</source> <translation type="unfinished"/> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="1883"/> - <location filename="../../src/yuzu/main.cpp" line="1901"/> + <location filename="../../src/yuzu/main.cpp" line="1876"/> + <location filename="../../src/yuzu/main.cpp" line="1894"/> <source>A shader cache for this title does not exist.</source> <translation>Er bestaat geen shader cache voor deze game</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="1888"/> + <location filename="../../src/yuzu/main.cpp" line="1881"/> <source>Successfully removed the transferable shader cache.</source> <translation type="unfinished"/> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="1891"/> + <location filename="../../src/yuzu/main.cpp" line="1884"/> <source>Failed to remove the transferable shader cache.</source> <translation type="unfinished"/> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="1900"/> - <location filename="../../src/yuzu/main.cpp" line="1908"/> + <location filename="../../src/yuzu/main.cpp" line="1893"/> + <location filename="../../src/yuzu/main.cpp" line="1901"/> <source>Error Removing Transferable Shader Caches</source> <translation type="unfinished"/> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="1906"/> + <location filename="../../src/yuzu/main.cpp" line="1899"/> <source>Successfully removed the transferable shader caches.</source> <translation type="unfinished"/> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="1909"/> + <location filename="../../src/yuzu/main.cpp" line="1902"/> <source>Failed to remove the transferable shader cache directory.</source> <translation type="unfinished"/> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="1922"/> - <location filename="../../src/yuzu/main.cpp" line="1931"/> + <location filename="../../src/yuzu/main.cpp" line="1915"/> + <location filename="../../src/yuzu/main.cpp" line="1924"/> <source>Error Removing Custom Configuration</source> <translation type="unfinished"/> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="1923"/> + <location filename="../../src/yuzu/main.cpp" line="1916"/> <source>A custom configuration for this title does not exist.</source> <translation type="unfinished"/> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="1929"/> + <location filename="../../src/yuzu/main.cpp" line="1922"/> <source>Successfully removed the custom game configuration.</source> <translation type="unfinished"/> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="1932"/> + <location filename="../../src/yuzu/main.cpp" line="1925"/> <source>Failed to remove the custom game configuration.</source> <translation type="unfinished"/> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="1939"/> - <location filename="../../src/yuzu/main.cpp" line="2018"/> + <location filename="../../src/yuzu/main.cpp" line="1932"/> + <location filename="../../src/yuzu/main.cpp" line="2011"/> <source>RomFS Extraction Failed!</source> <translation>RomFS Extractie Mislukt!</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="1940"/> + <location filename="../../src/yuzu/main.cpp" line="1933"/> <source>There was an error copying the RomFS files or the user cancelled the operation.</source> <translation>Er was een fout tijdens het kopiëren van de RomFS bestanden of de gebruiker heeft de operatie geannuleerd.</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="1998"/> + <location filename="../../src/yuzu/main.cpp" line="1991"/> <source>Full</source> <translation>Vol</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="1998"/> + <location filename="../../src/yuzu/main.cpp" line="1991"/> <source>Skeleton</source> <translation>Skelet</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="2000"/> + <location filename="../../src/yuzu/main.cpp" line="1993"/> <source>Select RomFS Dump Mode</source> <translation>Selecteer RomFS Dump Mode</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="2001"/> + <location filename="../../src/yuzu/main.cpp" line="1994"/> <source>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.</source> <translation>Selecteer alstublieft hoe je de RomFS wilt dumpen.<br>Volledig kopieërd alle bestanden in een map terwijl <br> skelet maakt alleen het map structuur.</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="2019"/> + <location filename="../../src/yuzu/main.cpp" line="2012"/> <source>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</source> <translation type="unfinished"/> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="2026"/> + <location filename="../../src/yuzu/main.cpp" line="2019"/> <source>Extracting RomFS...</source> <translation>RomFS uitpakken...</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="2026"/> - <location filename="../../src/yuzu/main.cpp" line="2206"/> + <location filename="../../src/yuzu/main.cpp" line="2019"/> + <location filename="../../src/yuzu/main.cpp" line="2199"/> <source>Cancel</source> <translation>Annuleren</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="2033"/> + <location filename="../../src/yuzu/main.cpp" line="2026"/> <source>RomFS Extraction Succeeded!</source> <translation>RomFS Extractie Geslaagd!</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="2034"/> + <location filename="../../src/yuzu/main.cpp" line="2027"/> <source>The operation completed successfully.</source> <translation>De operatie is succesvol voltooid.</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="2078"/> + <location filename="../../src/yuzu/main.cpp" line="2071"/> <source>Error Opening %1</source> <translation>Fout bij openen %1</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="2087"/> + <location filename="../../src/yuzu/main.cpp" line="2080"/> <source>Select Directory</source> <translation>Selecteer Map</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="2114"/> + <location filename="../../src/yuzu/main.cpp" line="2107"/> <source>Properties</source> <translation>Eigenschappen</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="2115"/> + <location filename="../../src/yuzu/main.cpp" line="2108"/> <source>The game properties could not be loaded.</source> <translation>De eigenschappen van de game kunnen niet geladen worden.</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="2127"/> + <location filename="../../src/yuzu/main.cpp" line="2120"/> <source>Switch Executable (%1);;All Files (*.*)</source> <comment>%1 is an identifier for the Switch executable file extensions.</comment> <translation>Switch Executable (%1);;Alle bestanden (*.*)</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="2131"/> + <location filename="../../src/yuzu/main.cpp" line="2124"/> <source>Load File</source> <translation>Laad Bestand</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="2143"/> + <location filename="../../src/yuzu/main.cpp" line="2136"/> <source>Open Extracted ROM Directory</source> <translation>Open Gedecomprimeerd ROM Map</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="2154"/> + <location filename="../../src/yuzu/main.cpp" line="2147"/> <source>Invalid Directory Selected</source> <translation>Ongeldige Map Geselecteerd</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="2155"/> + <location filename="../../src/yuzu/main.cpp" line="2148"/> <source>The directory you have selected does not contain a 'main' file.</source> <translation>De map die je hebt geselecteerd bevat geen 'main' bestand.</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="2165"/> + <location filename="../../src/yuzu/main.cpp" line="2158"/> <source>Installable Switch File (*.nca *.nsp *.xci);;Nintendo Content Archive (*.nca);;Nintendo Submission Package (*.nsp);;NX Cartridge Image (*.xci)</source> <translation type="unfinished"/> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="2170"/> + <location filename="../../src/yuzu/main.cpp" line="2163"/> <source>Install Files</source> <translation type="unfinished"/> </message> <message numerus="yes"> - <location filename="../../src/yuzu/main.cpp" line="2214"/> + <location filename="../../src/yuzu/main.cpp" line="2207"/> <source>%n file(s) remaining</source> <translation type="unfinished"><numerusform></numerusform><numerusform></numerusform></translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="2216"/> + <location filename="../../src/yuzu/main.cpp" line="2209"/> <source>Installing file "%1"...</source> <translation>Bestand "%1" Installeren...</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="2262"/> - <location filename="../../src/yuzu/main.cpp" line="2276"/> + <location filename="../../src/yuzu/main.cpp" line="2255"/> + <location filename="../../src/yuzu/main.cpp" line="2269"/> <source>Install Results</source> <translation type="unfinished"/> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="2263"/> + <location filename="../../src/yuzu/main.cpp" line="2256"/> <source>To avoid possible conflicts, we discourage users from installing base games to the NAND. Please, only use this feature to install updates and DLC.</source> <translation type="unfinished"/> </message> <message numerus="yes"> - <location filename="../../src/yuzu/main.cpp" line="2269"/> + <location filename="../../src/yuzu/main.cpp" line="2262"/> <source>%n file(s) were newly installed </source> <translation type="unfinished"><numerusform></numerusform><numerusform></numerusform></translation> </message> <message numerus="yes"> - <location filename="../../src/yuzu/main.cpp" line="2272"/> + <location filename="../../src/yuzu/main.cpp" line="2265"/> <source>%n file(s) were overwritten </source> <translation type="unfinished"><numerusform></numerusform><numerusform></numerusform></translation> </message> <message numerus="yes"> - <location filename="../../src/yuzu/main.cpp" line="2274"/> + <location filename="../../src/yuzu/main.cpp" line="2267"/> <source>%n file(s) failed to install </source> <translation type="unfinished"><numerusform></numerusform><numerusform></numerusform></translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="2375"/> + <location filename="../../src/yuzu/main.cpp" line="2368"/> <source>System Application</source> <translation>Systeem Applicatie</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="2376"/> + <location filename="../../src/yuzu/main.cpp" line="2369"/> <source>System Archive</source> <translation>Systeem Archief</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="2377"/> + <location filename="../../src/yuzu/main.cpp" line="2370"/> <source>System Application Update</source> <translation>Systeem Applicatie Update</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="2378"/> + <location filename="../../src/yuzu/main.cpp" line="2371"/> <source>Firmware Package (Type A)</source> <translation>Filmware Pakket (Type A)</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="2379"/> + <location filename="../../src/yuzu/main.cpp" line="2372"/> <source>Firmware Package (Type B)</source> <translation>Filmware Pakket (Type B)</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="2380"/> + <location filename="../../src/yuzu/main.cpp" line="2373"/> <source>Game</source> <translation>Game</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="2381"/> + <location filename="../../src/yuzu/main.cpp" line="2374"/> <source>Game Update</source> <translation>Game Update</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="2382"/> + <location filename="../../src/yuzu/main.cpp" line="2375"/> <source>Game DLC</source> <translation>Game DLC</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="2383"/> + <location filename="../../src/yuzu/main.cpp" line="2376"/> <source>Delta Title</source> <translation>Delta Titel</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="2386"/> + <location filename="../../src/yuzu/main.cpp" line="2379"/> <source>Select NCA Install Type...</source> <translation>Selecteer NCA Installatie Type...</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="2387"/> + <location filename="../../src/yuzu/main.cpp" line="2380"/> <source>Please select the type of title you would like to install this NCA as: (In most instances, the default 'Game' is fine.)</source> <translation>Selecteer het type titel hoe je wilt dat deze NCA installeerd: (In de meeste gevallen is de standaard 'Game' juist.)</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="2393"/> + <location filename="../../src/yuzu/main.cpp" line="2386"/> <source>Failed to Install</source> <translation>Installatie Mislukt</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="2394"/> + <location filename="../../src/yuzu/main.cpp" line="2387"/> <source>The title type you selected for the NCA is invalid.</source> <translation>Het type title dat je hebt geselecteerd voor de NCA is ongeldig.</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="2429"/> + <location filename="../../src/yuzu/main.cpp" line="2422"/> <source>File not found</source> <translation>Bestand niet gevonden</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="2430"/> + <location filename="../../src/yuzu/main.cpp" line="2423"/> <source>File "%1" not found</source> <translation>Bestand "%1" niet gevonden</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="2445"/> - <location filename="../../src/yuzu/main.cpp" line="3448"/> - <source>&Continue</source> - <translation type="unfinished"/> - </message> - <message> - <location filename="../../src/yuzu/main.cpp" line="2494"/> + <location filename="../../src/yuzu/main.cpp" line="2492"/> <source>OK</source> <translation type="unfinished"/> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="2508"/> + <location filename="../../src/yuzu/main.cpp" line="2506"/> <source>Missing yuzu Account</source> <translation>Je yuzu account mist</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="2509"/> + <location filename="../../src/yuzu/main.cpp" line="2507"/> <source>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.</source> <translation>Om game campatibiliteit te raporteren, moet je je yuzu account koppelen.<br><br/> Om je yuzu account te koppelen, ga naar Emulatie &gt; Configuratie &gt; Web.</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="2519"/> + <location filename="../../src/yuzu/main.cpp" line="2517"/> <source>Error opening URL</source> <translation type="unfinished"/> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="2520"/> + <location filename="../../src/yuzu/main.cpp" line="2518"/> <source>Unable to open the URL "%1".</source> <translation type="unfinished"/> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="2802"/> + <location filename="../../src/yuzu/main.cpp" line="2777"/> + <source>TAS Recording</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/main.cpp" line="2777"/> + <source>Overwrite file of player 1?</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/main.cpp" line="2830"/> <source>Amiibo File (%1);; All Files (*.*)</source> <translation>Amiibo Bestand (%1);; Alle Bestanden (*.*)</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="2803"/> + <location filename="../../src/yuzu/main.cpp" line="2831"/> <source>Load Amiibo</source> <translation>Laad Amiibo</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="2821"/> + <location filename="../../src/yuzu/main.cpp" line="2849"/> <source>Error opening Amiibo data file</source> <translation>Fout tijdens het openen van het Amiibo gegevens bestand</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="2822"/> + <location filename="../../src/yuzu/main.cpp" line="2850"/> <source>Unable to open Amiibo file "%1" for reading.</source> <translation>Kan Amiibo bestand "%1" niet lezen.</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="2830"/> + <location filename="../../src/yuzu/main.cpp" line="2858"/> <source>Error reading Amiibo data file</source> <translation>Fout tijdens het lezen van het Amiibo gegevens bestand</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="2831"/> + <location filename="../../src/yuzu/main.cpp" line="2859"/> <source>Unable to fully read Amiibo data. Expected to read %1 bytes, but was only able to read %2 bytes.</source> <translation>Kan de volledige Amiibo gegevens niet lezen. Verwacht om %1 bytes te lezen, maar het is alleen mogelijk om %2 bytes te lezen.</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="2839"/> + <location filename="../../src/yuzu/main.cpp" line="2867"/> <source>Error loading Amiibo data</source> <translation>Fout tijdens het laden van de Amiibo data</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="2840"/> + <location filename="../../src/yuzu/main.cpp" line="2868"/> <source>Unable to load Amiibo data.</source> <translation>Kan de Amiibo gegevens niet laden.</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="2881"/> + <location filename="../../src/yuzu/main.cpp" line="2913"/> <source>Capture Screenshot</source> <translation>Screenshot Vastleggen</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="2882"/> + <location filename="../../src/yuzu/main.cpp" line="2914"/> <source>PNG Image (*.png)</source> <translation>PNG afbeelding (*.png)</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="2948"/> + <location filename="../../src/yuzu/main.cpp" line="2979"/> <source>TAS state: Running %1/%2</source> <translation type="unfinished"/> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="2950"/> + <location filename="../../src/yuzu/main.cpp" line="2981"/> <source>TAS state: Recording %1</source> <translation type="unfinished"/> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="2952"/> + <location filename="../../src/yuzu/main.cpp" line="2983"/> <source>TAS state: Idle %1/%2</source> <translation type="unfinished"/> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="2954"/> + <location filename="../../src/yuzu/main.cpp" line="2985"/> <source>TAS State: Invalid</source> <translation type="unfinished"/> </message> + <message> + <location filename="../../src/yuzu/main.cpp" line="2999"/> + <source>&Stop Running</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/main.cpp" line="2999"/> + <source>&Start</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/main.cpp" line="3000"/> + <source>Stop R&ecording</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/main.cpp" line="3000"/> + <source>R&ecord</source> + <translation type="unfinished"/> + </message> <message numerus="yes"> - <location filename="../../src/yuzu/main.cpp" line="2975"/> + <location filename="../../src/yuzu/main.cpp" line="3024"/> <source>Building: %n shader(s)</source> <translation type="unfinished"><numerusform></numerusform><numerusform></numerusform></translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="2982"/> + <location filename="../../src/yuzu/main.cpp" line="3033"/> + <source>Scale: %1x</source> + <comment>%1 is the resolution scaling factor</comment> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/main.cpp" line="3036"/> <source>Speed: %1% / %2%</source> <translation>Snelheid: %1% / %2%</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="2986"/> + <location filename="../../src/yuzu/main.cpp" line="3040"/> <source>Speed: %1%</source> <translation>Snelheid: %1%</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="2990"/> + <location filename="../../src/yuzu/main.cpp" line="3044"/> <source>Game: %1 FPS (Unlocked)</source> <translation type="unfinished"/> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="2992"/> + <location filename="../../src/yuzu/main.cpp" line="3046"/> <source>Game: %1 FPS</source> <translation>Game: %1 FPS</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="2994"/> + <location filename="../../src/yuzu/main.cpp" line="3048"/> <source>Frame: %1 ms</source> <translation>Frame: %1 ms</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="3004"/> + <location filename="../../src/yuzu/main.cpp" line="3059"/> <source>GPU NORMAL</source> <translation type="unfinished"/> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="3009"/> + <location filename="../../src/yuzu/main.cpp" line="3064"/> <source>GPU HIGH</source> <translation type="unfinished"/> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="3014"/> + <location filename="../../src/yuzu/main.cpp" line="3069"/> <source>GPU EXTREME</source> <translation type="unfinished"/> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="3019"/> + <location filename="../../src/yuzu/main.cpp" line="3074"/> <source>GPU ERROR</source> <translation type="unfinished"/> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="3076"/> + <location filename="../../src/yuzu/main.cpp" line="3084"/> + <source>NEAREST</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/main.cpp" line="3087"/> + <location filename="../../src/yuzu/main.cpp" line="3102"/> + <source>BILINEAR</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/main.cpp" line="3090"/> + <source>BICUBIC</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/main.cpp" line="3093"/> + <source>GAUSSIAN</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/main.cpp" line="3096"/> + <source>SCALEFORCE</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/main.cpp" line="3099"/> + <source>FSR</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/main.cpp" line="3111"/> + <location filename="../../src/yuzu/main.cpp" line="3117"/> + <source>NO AA</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/main.cpp" line="3114"/> + <source>FXAA</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/main.cpp" line="3175"/> <source>The game you are trying to load requires additional files from your Switch to be dumped before playing.<br/><br/>For more information on dumping these files, please see the following wiki page: <a href='https://yuzu-emu.org/wiki/dumping-system-archives-and-the-shared-fonts-from-a-switch-console/'>Dumping System Archives and the Shared Fonts from a Switch Console</a>.<br/><br/>Would you like to quit back to the game list? Continuing emulation may result in crashes, corrupted save data, or other bugs.</source> <translation>De game die je probeert te laden heeft extra bestanden nodig van je Switch voordat je het kan spelen. <br/><br/>Voor meer informatie over het dumpen van deze bestanden, volg alsjeblieft onze wiki pagina: <a href='https://yuzu-emu.org/wiki/dumping-system-archives-and-the-shared-fonts-from-a-switch-console/'>Het dumpen van Systeem Archieven en de Gedeelde Lettertypen van een Switch console </a>. <br/><br/>Wil je terug gaan naar de game lijst? Verdergaan met de emulatie zal misschien gevolgen hebben als vastlopen, beschadigde opslag data, of andere problemen.</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="3091"/> + <location filename="../../src/yuzu/main.cpp" line="3190"/> <source>yuzu was unable to locate a Switch system archive. %1</source> <translation>yuzu was niet in staat om de Switch systeem archieven te vinden. %1</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="3093"/> + <location filename="../../src/yuzu/main.cpp" line="3192"/> <source>yuzu was unable to locate a Switch system archive: %1. %2</source> <translation>yuzu was niet in staat om de Switch systeem archieven te vinden. %1. %2</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="3097"/> + <location filename="../../src/yuzu/main.cpp" line="3196"/> <source>System Archive Not Found</source> <translation>Systeem Archief Niet Gevonden</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="3099"/> + <location filename="../../src/yuzu/main.cpp" line="3198"/> <source>System Archive Missing</source> <translation>Systeem Archief Mist</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="3105"/> + <location filename="../../src/yuzu/main.cpp" line="3204"/> <source>yuzu was unable to locate the Switch shared fonts. %1</source> <translation>yuzu was niet in staat om de Switch shared fonts te vinden. %1</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="3106"/> + <location filename="../../src/yuzu/main.cpp" line="3205"/> <source>Shared Fonts Not Found</source> <translation>Shared Fonts Niet Gevonden</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="3108"/> + <location filename="../../src/yuzu/main.cpp" line="3207"/> <source>Shared Font Missing</source> <translation>Gedeelde Lettertypes Niet Gevonden</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="3114"/> + <location filename="../../src/yuzu/main.cpp" line="3213"/> <source>Fatal Error</source> <translation>Fatale Fout</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="3115"/> + <location filename="../../src/yuzu/main.cpp" line="3214"/> <source>yuzu has encountered a fatal error, please see the log for more details. For more information on accessing the log, please see the following page: <a href='https://community.citra-emu.org/t/how-to-upload-the-log-file/296'>How to Upload the Log File</a>.<br/><br/>Would you like to quit back to the game list? Continuing emulation may result in crashes, corrupted save data, or other bugs.</source> <translation>yuzu is een fatale fout tegengekomen, zie de log voor meer details. Voor meer informatie over toegang krijgen tot de log, zie de volgende pagina: <a href='https://community.citra-emu.org/t/how-to-upload-the-log-file/296'>Hoe upload je een log bestand</a>.<br/><br/>Zou je terug willen naar de game lijst? Doorgaan met emulatie kan resulteren in vastlapen, corrupte save gegevens, of andere problemen.</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="3124"/> + <location filename="../../src/yuzu/main.cpp" line="3223"/> <source>Fatal Error encountered</source> <translation>Fatale Fout opgetreden</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="3147"/> + <location filename="../../src/yuzu/main.cpp" line="3246"/> <source>Confirm Key Rederivation</source> <translation>Bevestig Sleutel Herafleiding</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="3148"/> + <location filename="../../src/yuzu/main.cpp" line="3247"/> <source>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. @@ -4435,37 +4575,37 @@ en optioneel maak backups. Dit zal je automatisch gegenereerde sleutel bestanden verwijderen en de sleutel verkrijger module opnieuw starten</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="3180"/> + <location filename="../../src/yuzu/main.cpp" line="3279"/> <source>Missing fuses</source> <translation type="unfinished"/> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="3183"/> + <location filename="../../src/yuzu/main.cpp" line="3282"/> <source> - Missing BOOT0</source> <translation type="unfinished"/> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="3186"/> + <location filename="../../src/yuzu/main.cpp" line="3285"/> <source> - Missing BCPKG2-1-Normal-Main</source> <translation type="unfinished"/> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="3189"/> + <location filename="../../src/yuzu/main.cpp" line="3288"/> <source> - Missing PRODINFO</source> <translation type="unfinished"/> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="3193"/> + <location filename="../../src/yuzu/main.cpp" line="3292"/> <source>Derivation Components Missing</source> <translation type="unfinished"/> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="3194"/> - <source>Components are missing that may hinder key derivation from completing. <br>Please follow <a href='https://yuzu-emu.org/help/quickstart/'>the yuzu quickstart guide</a> to get all your keys and games.<br><br><small>(%1)</small></source> + <location filename="../../src/yuzu/main.cpp" line="3293"/> + <source>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></source> <translation type="unfinished"/> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="3203"/> + <location filename="../../src/yuzu/main.cpp" line="3302"/> <source>Deriving keys... This may take up to a minute depending on your system's performance.</source> @@ -4473,39 +4613,39 @@ on your system's performance.</source> op je systeem's performatie.</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="3205"/> + <location filename="../../src/yuzu/main.cpp" line="3304"/> <source>Deriving Keys</source> <translation>Sleutels afleiden</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="3250"/> + <location filename="../../src/yuzu/main.cpp" line="3349"/> <source>Select RomFS Dump Target</source> <translation>Selecteer RomFS Dump Doel</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="3251"/> + <location filename="../../src/yuzu/main.cpp" line="3350"/> <source>Please select which RomFS you would like to dump.</source> <translation>Selecteer welke RomFS je zou willen dumpen.</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="3266"/> + <location filename="../../src/yuzu/main.cpp" line="3365"/> <source>Are you sure you want to close yuzu?</source> <translation>Weet je zeker dat je yuzu wilt sluiten?</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="3267"/> - <location filename="../../src/yuzu/main.cpp" line="3342"/> - <location filename="../../src/yuzu/main.cpp" line="3355"/> + <location filename="../../src/yuzu/main.cpp" line="3366"/> + <location filename="../../src/yuzu/main.cpp" line="3443"/> + <location filename="../../src/yuzu/main.cpp" line="3456"/> <source>yuzu</source> <translation>yuzu</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="3343"/> + <location filename="../../src/yuzu/main.cpp" line="3444"/> <source>Are you sure you want to stop the emulation? Any unsaved progress will be lost.</source> <translation>Weet je zeker dat je de emulatie wilt stoppen? Alle onopgeslagen voortgang will verloren gaan.</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="3352"/> + <location filename="../../src/yuzu/main.cpp" line="3453"/> <source>The currently running application has requested yuzu to not exit. Would you like to bypass this and exit anyway?</source> @@ -4517,38 +4657,38 @@ Wilt u dit omzeilen en toch afsluiten?</translation> <context> <name>GRenderWindow</name> <message> - <location filename="../../src/yuzu/bootmanager.cpp" line="675"/> + <location filename="../../src/yuzu/bootmanager.cpp" line="976"/> <source>OpenGL not available!</source> <translation type="unfinished"/> </message> <message> - <location filename="../../src/yuzu/bootmanager.cpp" line="676"/> + <location filename="../../src/yuzu/bootmanager.cpp" line="977"/> <source>yuzu has not been compiled with OpenGL support.</source> <translation type="unfinished"/> </message> <message> - <location filename="../../src/yuzu/bootmanager.cpp" line="695"/> - <location filename="../../src/yuzu/bootmanager.cpp" line="715"/> + <location filename="../../src/yuzu/bootmanager.cpp" line="996"/> + <location filename="../../src/yuzu/bootmanager.cpp" line="1016"/> <source>Error while initializing OpenGL!</source> <translation type="unfinished"/> </message> <message> - <location filename="../../src/yuzu/bootmanager.cpp" line="696"/> + <location filename="../../src/yuzu/bootmanager.cpp" line="997"/> <source>Your GPU may not support OpenGL, or you do not have the latest graphics driver.</source> <translation type="unfinished"/> </message> <message> - <location filename="../../src/yuzu/bootmanager.cpp" line="705"/> + <location filename="../../src/yuzu/bootmanager.cpp" line="1006"/> <source>Error while initializing OpenGL 4.6!</source> <translation type="unfinished"/> </message> <message> - <location filename="../../src/yuzu/bootmanager.cpp" line="706"/> + <location filename="../../src/yuzu/bootmanager.cpp" line="1007"/> <source>Your GPU may not support OpenGL 4.6, or you do not have the latest graphics driver.<br><br>GL Renderer:<br>%1</source> <translation type="unfinished"/> </message> <message> - <location filename="../../src/yuzu/bootmanager.cpp" line="716"/> + <location filename="../../src/yuzu/bootmanager.cpp" line="1017"/> <source>Your GPU may not support one or more required OpenGL extensions. Please ensure you have the latest graphics driver.<br><br>GL Renderer:<br>%1<br><br>Unsupported extensions:<br>%2</source> <translation type="unfinished"/> </message> @@ -4904,190 +5044,205 @@ Screen.</source> <translation>&Emulatie</translation> </message> <message> - <location filename="../../src/yuzu/main.ui" line="79"/> + <location filename="../../src/yuzu/main.ui" line="78"/> <source>&View</source> <translation>&Weergeven</translation> </message> <message> - <location filename="../../src/yuzu/main.ui" line="83"/> + <location filename="../../src/yuzu/main.ui" line="82"/> <source>&Reset Window Size</source> <translation type="unfinished"/> </message> <message> - <location filename="../../src/yuzu/main.ui" line="88"/> + <location filename="../../src/yuzu/main.ui" line="87"/> + <source>&Debugging</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/main.ui" line="92"/> <source>Reset Window Size to &720p</source> <translation type="unfinished"/> </message> <message> - <location filename="../../src/yuzu/main.ui" line="91"/> + <location filename="../../src/yuzu/main.ui" line="95"/> <source>Reset Window Size to 720p</source> <translation type="unfinished"/> </message> <message> - <location filename="../../src/yuzu/main.ui" line="96"/> + <location filename="../../src/yuzu/main.ui" line="100"/> <source>Reset Window Size to &900p</source> <translation type="unfinished"/> </message> <message> - <location filename="../../src/yuzu/main.ui" line="99"/> + <location filename="../../src/yuzu/main.ui" line="103"/> <source>Reset Window Size to 900p</source> <translation type="unfinished"/> </message> <message> - <location filename="../../src/yuzu/main.ui" line="104"/> + <location filename="../../src/yuzu/main.ui" line="108"/> <source>Reset Window Size to &1080p</source> <translation type="unfinished"/> </message> <message> - <location filename="../../src/yuzu/main.ui" line="107"/> + <location filename="../../src/yuzu/main.ui" line="111"/> <source>Reset Window Size to 1080p</source> <translation type="unfinished"/> </message> <message> - <location filename="../../src/yuzu/main.ui" line="112"/> - <source>&Debugging</source> + <location filename="../../src/yuzu/main.ui" line="125"/> + <source>&Tools</source> <translation type="unfinished"/> </message> <message> - <location filename="../../src/yuzu/main.ui" line="126"/> - <source>&Tools</source> + <location filename="../../src/yuzu/main.ui" line="129"/> + <source>&TAS</source> <translation type="unfinished"/> </message> <message> - <location filename="../../src/yuzu/main.ui" line="135"/> + <location filename="../../src/yuzu/main.ui" line="144"/> <source>&Help</source> <translation>&Help</translation> </message> <message> - <location filename="../../src/yuzu/main.ui" line="155"/> + <location filename="../../src/yuzu/main.ui" line="164"/> <source>&Install Files to NAND...</source> <translation type="unfinished"/> </message> <message> - <location filename="../../src/yuzu/main.ui" line="160"/> + <location filename="../../src/yuzu/main.ui" line="169"/> <source>L&oad File...</source> <translation type="unfinished"/> </message> <message> - <location filename="../../src/yuzu/main.ui" line="165"/> + <location filename="../../src/yuzu/main.ui" line="174"/> <source>Load &Folder...</source> <translation type="unfinished"/> </message> <message> - <location filename="../../src/yuzu/main.ui" line="170"/> + <location filename="../../src/yuzu/main.ui" line="179"/> <source>E&xit</source> <translation>A&fsluiten</translation> </message> <message> - <location filename="../../src/yuzu/main.ui" line="178"/> - <source>&Start</source> - <translation>&Start</translation> - </message> - <message> - <location filename="../../src/yuzu/main.ui" line="186"/> + <location filename="../../src/yuzu/main.ui" line="187"/> <source>&Pause</source> <translation>&Pauzeren</translation> </message> <message> - <location filename="../../src/yuzu/main.ui" line="194"/> + <location filename="../../src/yuzu/main.ui" line="195"/> <source>&Stop</source> <translation>&Stop</translation> </message> <message> - <location filename="../../src/yuzu/main.ui" line="199"/> + <location filename="../../src/yuzu/main.ui" line="200"/> <source>&Reinitialize keys...</source> <translation type="unfinished"/> </message> <message> - <location filename="../../src/yuzu/main.ui" line="204"/> + <location filename="../../src/yuzu/main.ui" line="205"/> <source>&About yuzu</source> <translation type="unfinished"/> </message> <message> - <location filename="../../src/yuzu/main.ui" line="212"/> + <location filename="../../src/yuzu/main.ui" line="213"/> <source>Single &Window Mode</source> <translation type="unfinished"/> </message> <message> - <location filename="../../src/yuzu/main.ui" line="217"/> + <location filename="../../src/yuzu/main.ui" line="218"/> <source>Con&figure...</source> <translation type="unfinished"/> </message> <message> - <location filename="../../src/yuzu/main.ui" line="225"/> + <location filename="../../src/yuzu/main.ui" line="226"/> <source>Display D&ock Widget Headers</source> <translation type="unfinished"/> </message> <message> - <location filename="../../src/yuzu/main.ui" line="233"/> + <location filename="../../src/yuzu/main.ui" line="234"/> <source>Show &Filter Bar</source> <translation type="unfinished"/> </message> <message> - <location filename="../../src/yuzu/main.ui" line="241"/> + <location filename="../../src/yuzu/main.ui" line="242"/> <source>Show &Status Bar</source> <translation type="unfinished"/> </message> <message> - <location filename="../../src/yuzu/main.ui" line="244"/> + <location filename="../../src/yuzu/main.ui" line="245"/> <source>Show Status Bar</source> <translation>Laat status balk zien</translation> </message> <message> - <location filename="../../src/yuzu/main.ui" line="252"/> + <location filename="../../src/yuzu/main.ui" line="253"/> <source>F&ullscreen</source> <translation type="unfinished"/> </message> <message> - <location filename="../../src/yuzu/main.ui" line="260"/> + <location filename="../../src/yuzu/main.ui" line="261"/> <source>&Restart</source> <translation type="unfinished"/> </message> <message> - <location filename="../../src/yuzu/main.ui" line="268"/> + <location filename="../../src/yuzu/main.ui" line="269"/> <source>Load &Amiibo...</source> <translation type="unfinished"/> </message> <message> - <location filename="../../src/yuzu/main.ui" line="276"/> + <location filename="../../src/yuzu/main.ui" line="277"/> <source>&Report Compatibility</source> <translation type="unfinished"/> </message> <message> - <location filename="../../src/yuzu/main.ui" line="284"/> + <location filename="../../src/yuzu/main.ui" line="285"/> <source>Open &Mods Page</source> <translation type="unfinished"/> </message> <message> - <location filename="../../src/yuzu/main.ui" line="289"/> + <location filename="../../src/yuzu/main.ui" line="290"/> <source>Open &Quickstart Guide</source> <translation type="unfinished"/> </message> <message> - <location filename="../../src/yuzu/main.ui" line="294"/> + <location filename="../../src/yuzu/main.ui" line="295"/> <source>&FAQ</source> <translation type="unfinished"/> </message> <message> - <location filename="../../src/yuzu/main.ui" line="299"/> + <location filename="../../src/yuzu/main.ui" line="300"/> <source>Open &yuzu Folder</source> <translation type="unfinished"/> </message> <message> - <location filename="../../src/yuzu/main.ui" line="307"/> + <location filename="../../src/yuzu/main.ui" line="308"/> <source>&Capture Screenshot</source> <translation type="unfinished"/> </message> <message> - <location filename="../../src/yuzu/main.ui" line="312"/> - <source>Configure &TAS...</source> + <location filename="../../src/yuzu/main.ui" line="313"/> + <source>&Configure TAS...</source> <translation type="unfinished"/> </message> <message> - <location filename="../../src/yuzu/main.ui" line="320"/> + <location filename="../../src/yuzu/main.ui" line="321"/> <source>Configure C&urrent Game...</source> <translation type="unfinished"/> </message> + <message> + <location filename="../../src/yuzu/main.ui" line="329"/> + <source>&Start</source> + <translation>&Start</translation> + </message> + <message> + <location filename="../../src/yuzu/main.ui" line="337"/> + <source>&Reset</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/main.ui" line="345"/> + <source>R&ecord</source> + <translation type="unfinished"/> + </message> </context> <context> <name>MicroProfileDialog</name> @@ -5129,10 +5284,15 @@ p, li { white-space: pre-wrap; } <context> <name>PlayerControlPreview</name> <message> - <location filename="../../src/yuzu/configuration/configure_input_player_widget.cpp" line="1566"/> + <location filename="../../src/yuzu/configuration/configure_input_player_widget.cpp" line="1572"/> <source>START/PAUSE</source> <translation type="unfinished"/> </message> + <message> + <location filename="../../src/yuzu/configuration/configure_input_player_widget.cpp" line="2685"/> + <source>Charging</source> + <translation type="unfinished"/> + </message> </context> <context> <name>QObject</name> @@ -5163,142 +5323,222 @@ p, li { white-space: pre-wrap; } </message> <message> <location filename="../../src/yuzu/configuration/configure_touch_from_button.cpp" line="23"/> - <location filename="../../src/yuzu/configuration/configure_mouse_advanced.cpp" line="32"/> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="72"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="43"/> <source>Shift</source> <translation>Shift</translation> </message> <message> <location filename="../../src/yuzu/configuration/configure_touch_from_button.cpp" line="25"/> - <location filename="../../src/yuzu/configuration/configure_mouse_advanced.cpp" line="34"/> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="74"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="45"/> <source>Ctrl</source> <translation>Ctrl</translation> </message> <message> <location filename="../../src/yuzu/configuration/configure_touch_from_button.cpp" line="27"/> - <location filename="../../src/yuzu/configuration/configure_mouse_advanced.cpp" line="36"/> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="76"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="47"/> <source>Alt</source> <translation>Alt</translation> </message> <message> <location filename="../../src/yuzu/configuration/configure_touch_from_button.cpp" line="37"/> - <location filename="../../src/yuzu/configuration/configure_mouse_advanced.cpp" line="46"/> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="103"/> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="190"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="130"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="196"/> <source>[not set]</source> <translation>[niet aangegeven]</translation> </message> <message> <location filename="../../src/yuzu/configuration/configure_touch_from_button.cpp" line="49"/> - <location filename="../../src/yuzu/configuration/configure_mouse_advanced.cpp" line="58"/> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="152"/> <source>Hat %1 %2</source> <translation>Hat %1 %2</translation> </message> <message> <location filename="../../src/yuzu/configuration/configure_touch_from_button.cpp" line="56"/> - <location filename="../../src/yuzu/configuration/configure_mouse_advanced.cpp" line="65"/> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="159"/> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="210"/> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="214"/> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="218"/> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="222"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="219"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="223"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="227"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="231"/> <source>Axis %1%2</source> <translation>Axis %1%2</translation> </message> <message> <location filename="../../src/yuzu/configuration/configure_touch_from_button.cpp" line="62"/> - <location filename="../../src/yuzu/configuration/configure_mouse_advanced.cpp" line="71"/> <source>Button %1</source> <translation>Knop %1</translation> </message> <message> <location filename="../../src/yuzu/configuration/configure_touch_from_button.cpp" line="68"/> - <location filename="../../src/yuzu/configuration/configure_mouse_advanced.cpp" line="76"/> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="185"/> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="227"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="190"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="204"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="234"/> <source>[unknown]</source> <translation>[onbekend]</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_mouse_advanced.cpp" line="22"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="58"/> + <source>Left</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="60"/> + <source>Right</source> + <translation type="unfinished"/> + </message> + <message> <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="62"/> - <source>Click 0</source> + <source>Down</source> <translation type="unfinished"/> </message> <message> - <location filename="../../src/yuzu/configuration/configure_mouse_advanced.cpp" line="24"/> <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="64"/> - <source>Click 1</source> + <source>Up</source> <translation type="unfinished"/> </message> <message> - <location filename="../../src/yuzu/configuration/configure_mouse_advanced.cpp" line="26"/> <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="66"/> - <source>Click 2</source> + <source>Z</source> <translation type="unfinished"/> </message> <message> - <location filename="../../src/yuzu/configuration/configure_mouse_advanced.cpp" line="28"/> <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="68"/> - <source>Click 3</source> + <source>R</source> <translation type="unfinished"/> </message> <message> - <location filename="../../src/yuzu/configuration/configure_mouse_advanced.cpp" line="30"/> <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="70"/> - <source>Click 4</source> - <translation>Klik 4</translation> + <source>L</source> + <translation type="unfinished"/> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="109"/> - <source>%1%2</source> - <translation>%1%2</translation> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="72"/> + <source>A</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="74"/> + <source>B</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="76"/> + <source>X</source> + <translation type="unfinished"/> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="117"/> - <source>GC Axis %1%2</source> - <translation>GC Axis %1%2</translation> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="78"/> + <source>Y</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="80"/> + <source>Start</source> + <translation type="unfinished"/> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="121"/> - <source>GC Button %1</source> - <translation>GC knop %1</translation> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="82"/> + <source>L1</source> + <translation type="unfinished"/> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="130"/> - <source>TAS Axis %1</source> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="84"/> + <source>L2</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="86"/> + <source>L3</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="88"/> + <source>R1</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="90"/> + <source>R2</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="92"/> + <source>R3</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="94"/> + <source>Circle</source> <translation type="unfinished"/> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="134"/> - <source>TAS Btn %1</source> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="96"/> + <source>Cross</source> <translation type="unfinished"/> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="142"/> - <source>Motion %1</source> - <translation>Beweging %1</translation> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="98"/> + <source>Square</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="100"/> + <source>Triangle</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="102"/> + <source>Share</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="104"/> + <source>Options</source> + <translation type="unfinished"/> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="166"/> - <source>%1Button %2</source> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="106"/> + <source>[undefined]</source> <translation type="unfinished"/> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="170"/> - <source>SDL Motion</source> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="140"/> + <source>%1%2</source> + <translation>%1%2</translation> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="144"/> + <source>[invalid]</source> <translation type="unfinished"/> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="180"/> - <source>%1Click %2</source> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="154"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="178"/> + <source>%1%2Hat %3</source> <translation type="unfinished"/> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="205"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="158"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="181"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="184"/> + <source>%1%2Axis %3</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="164"/> + <source>%1%2Axis %3,%4,%5</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="168"/> + <source>%1%2Motion %3</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="172"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="187"/> + <source>%1%2Button %3</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="214"/> <source>[unused]</source> <translation>[ongebruikt]</translation> </message> @@ -5339,7 +5579,7 @@ p, li { white-space: pre-wrap; } <location filename="../../src/yuzu/applets/qt_controller.ui" line="1656"/> <location filename="../../src/yuzu/applets/qt_controller.ui" line="1857"/> <location filename="../../src/yuzu/applets/qt_controller.ui" line="2054"/> - <location filename="../../src/yuzu/applets/qt_controller.cpp" line="419"/> + <location filename="../../src/yuzu/applets/qt_controller.cpp" line="411"/> <source>Pro Controller</source> <translation type="unfinished"/> </message> @@ -5352,7 +5592,7 @@ p, li { white-space: pre-wrap; } <location filename="../../src/yuzu/applets/qt_controller.ui" line="1661"/> <location filename="../../src/yuzu/applets/qt_controller.ui" line="1862"/> <location filename="../../src/yuzu/applets/qt_controller.ui" line="2059"/> - <location filename="../../src/yuzu/applets/qt_controller.cpp" line="423"/> + <location filename="../../src/yuzu/applets/qt_controller.cpp" line="415"/> <source>Dual Joycons</source> <translation type="unfinished"/> </message> @@ -5365,7 +5605,7 @@ p, li { white-space: pre-wrap; } <location filename="../../src/yuzu/applets/qt_controller.ui" line="1666"/> <location filename="../../src/yuzu/applets/qt_controller.ui" line="1867"/> <location filename="../../src/yuzu/applets/qt_controller.ui" line="2064"/> - <location filename="../../src/yuzu/applets/qt_controller.cpp" line="427"/> + <location filename="../../src/yuzu/applets/qt_controller.cpp" line="419"/> <source>Left Joycon</source> <translation type="unfinished"/> </message> @@ -5378,7 +5618,7 @@ p, li { white-space: pre-wrap; } <location filename="../../src/yuzu/applets/qt_controller.ui" line="1671"/> <location filename="../../src/yuzu/applets/qt_controller.ui" line="1872"/> <location filename="../../src/yuzu/applets/qt_controller.ui" line="2069"/> - <location filename="../../src/yuzu/applets/qt_controller.cpp" line="431"/> + <location filename="../../src/yuzu/applets/qt_controller.cpp" line="423"/> <source>Right Joycon</source> <translation type="unfinished"/> </message> @@ -5406,7 +5646,7 @@ p, li { white-space: pre-wrap; } </message> <message> <location filename="../../src/yuzu/applets/qt_controller.ui" line="932"/> - <location filename="../../src/yuzu/applets/qt_controller.cpp" line="436"/> + <location filename="../../src/yuzu/applets/qt_controller.cpp" line="428"/> <source>Handheld</source> <translation type="unfinished"/> </message> @@ -5527,7 +5767,7 @@ p, li { white-space: pre-wrap; } <translation type="unfinished"/> </message> <message> - <location filename="../../src/yuzu/applets/qt_controller.cpp" line="441"/> + <location filename="../../src/yuzu/applets/qt_controller.cpp" line="433"/> <source>GameCube Controller</source> <translation type="unfinished"/> </message> @@ -5611,13 +5851,13 @@ p, li { white-space: pre-wrap; } <translation type="unfinished"/> </message> <message> - <location filename="../../src/yuzu/applets/qt_software_keyboard.cpp" line="396"/> - <location filename="../../src/yuzu/applets/qt_software_keyboard.cpp" line="406"/> + <location filename="../../src/yuzu/applets/qt_software_keyboard.cpp" line="399"/> + <location filename="../../src/yuzu/applets/qt_software_keyboard.cpp" line="409"/> <source>OK</source> <translation type="unfinished"/> </message> <message> - <location filename="../../src/yuzu/applets/qt_software_keyboard.cpp" line="406"/> + <location filename="../../src/yuzu/applets/qt_software_keyboard.cpp" line="409"/> <source>Cancel</source> <translation type="unfinished"/> </message> diff --git a/dist/languages/pl.ts b/dist/languages/pl.ts index 7fcece92c..6800b751c 100644 --- a/dist/languages/pl.ts +++ b/dist/languages/pl.ts @@ -651,7 +651,12 @@ p, li { white-space: pre-wrap; } <translation type="unfinished"/> </message> <message> - <location filename="../../src/yuzu/configuration/configure_debug.ui" line="212"/> + <location filename="../../src/yuzu/configuration/configure_debug.ui" line="204"/> + <source>Enable all Controller Types</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_debug.ui" line="219"/> <source>**This will be reset automatically when yuzu closes.</source> <translation type="unfinished"/> </message> @@ -931,67 +936,78 @@ p, li { white-space: pre-wrap; } <translation>Ogólne</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_general.ui" line="35"/> - <source>Framerate Cap</source> - <translation>Limit klatek na sekundę</translation> + <location filename="../../src/yuzu/configuration/configure_general.ui" line="50"/> + <location filename="../../src/yuzu/configuration/configure_general.ui" line="57"/> + <source>Use global framerate cap</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_general.ui" line="62"/> + <source>Set framerate cap:</source> + <translation type="unfinished"/> </message> <message> - <location filename="../../src/yuzu/configuration/configure_general.ui" line="38"/> + <location filename="../../src/yuzu/configuration/configure_general.ui" line="70"/> <source>Requires the use of the FPS Limiter Toggle hotkey to take effect.</source> <translation type="unfinished"/> </message> <message> - <location filename="../../src/yuzu/configuration/configure_general.ui" line="45"/> + <location filename="../../src/yuzu/configuration/configure_general.ui" line="73"/> + <source>Framerate Cap</source> + <translation>Limit klatek na sekundę</translation> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_general.ui" line="95"/> <source>x</source> <translation>x</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_general.ui" line="65"/> + <location filename="../../src/yuzu/configuration/configure_general.ui" line="116"/> <source>Limit Speed Percent</source> <translation>Procent limitu prędkości</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_general.ui" line="72"/> + <location filename="../../src/yuzu/configuration/configure_general.ui" line="123"/> <source>%</source> <translation>%</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_general.ui" line="90"/> + <location filename="../../src/yuzu/configuration/configure_general.ui" line="141"/> <source>Multicore CPU Emulation</source> <translation>Emulacja CPU Wielordzeniowa</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_general.ui" line="97"/> + <location filename="../../src/yuzu/configuration/configure_general.ui" line="148"/> <source>Confirm exit while emulation is running</source> <translation>Potwierdź wyjście podczas emulacji</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_general.ui" line="104"/> + <location filename="../../src/yuzu/configuration/configure_general.ui" line="155"/> <source>Prompt for user on game boot</source> <translation>Pytaj o użytkownika podczas uruchamiania gry</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_general.ui" line="111"/> + <location filename="../../src/yuzu/configuration/configure_general.ui" line="162"/> <source>Pause emulation when in background</source> <translation>Wstrzymaj emulację w tle</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_general.ui" line="118"/> + <location filename="../../src/yuzu/configuration/configure_general.ui" line="169"/> <source>Hide mouse on inactivity</source> <translation>Ukryj mysz przy braku aktywności</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_general.ui" line="160"/> + <location filename="../../src/yuzu/configuration/configure_general.ui" line="211"/> <source>Reset All Settings</source> <translation>Resetuj wszystkie ustawienia</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_general.cpp" line="70"/> + <location filename="../../src/yuzu/configuration/configure_general.cpp" line="78"/> <source>yuzu</source> <translation>yuzu</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_general.cpp" line="71"/> + <location filename="../../src/yuzu/configuration/configure_general.cpp" line="79"/> <source>This reset all settings and remove all per-game configurations. This will not delete game directories, profiles, or input profiles. Proceed?</source> <translation>Spowoduje to zresetowanie wszystkich ustawień i usunięcie wszystkich konfiguracji gier. Nie spowoduje to usunięcia katalogów gier, profili ani profili wejściowych. Kontynuować?</translation> </message> @@ -1109,18 +1125,113 @@ p, li { white-space: pre-wrap; } <translation>Rozciągnij do Okna</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_graphics.ui" line="339"/> - <location filename="../../src/yuzu/configuration/configure_graphics.ui" line="349"/> + <location filename="../../src/yuzu/configuration/configure_graphics.ui" line="330"/> + <source>Resolution:</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_graphics.ui" line="338"/> + <source>0.5X (360p/540p) [EXPERIMENTAL]</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_graphics.ui" line="343"/> + <source>0.75X (540p/810p) [EXPERIMENTAL]</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_graphics.ui" line="348"/> + <source>1X (720p/1080p)</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_graphics.ui" line="353"/> + <source>2X (1440p/2160p)</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_graphics.ui" line="358"/> + <source>3X (2160p/3240p)</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_graphics.ui" line="363"/> + <source>4X (2880p/4320p)</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_graphics.ui" line="368"/> + <source>5X (3600p/5400p)</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_graphics.ui" line="373"/> + <source>6X (4320p/6480p)</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_graphics.ui" line="399"/> + <source>Window Adapting Filter:</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_graphics.ui" line="407"/> + <source>Nearest Neighbor</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_graphics.ui" line="412"/> + <source>Bilinear</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_graphics.ui" line="417"/> + <source>Bicubic</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_graphics.ui" line="422"/> + <source>Gaussian</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_graphics.ui" line="427"/> + <source>ScaleForce</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_graphics.ui" line="432"/> + <source>AMD FidelityFX™️ Super Resolution [Vulkan Only]</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_graphics.ui" line="458"/> + <source>Anti-Aliasing Method:</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_graphics.ui" line="466"/> + <source>None</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_graphics.ui" line="471"/> + <source>FXAA</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_graphics.ui" line="506"/> + <location filename="../../src/yuzu/configuration/configure_graphics.ui" line="516"/> <source>Use global background color</source> <translation>Ustaw globalny kolor tła</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_graphics.ui" line="354"/> + <location filename="../../src/yuzu/configuration/configure_graphics.ui" line="521"/> <source>Set background color:</source> <translation>Ustaw kolor tła:</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_graphics.ui" line="362"/> + <location filename="../../src/yuzu/configuration/configure_graphics.ui" line="529"/> <source>Background Color:</source> <translation>Kolor tła</translation> </message> @@ -1189,27 +1300,32 @@ p, li { white-space: pre-wrap; } </message> <message> <location filename="../../src/yuzu/configuration/configure_graphics_advanced.ui" line="128"/> - <source>Default</source> - <translation>Domyślne</translation> + <source>Automatic</source> + <translation type="unfinished"/> </message> <message> <location filename="../../src/yuzu/configuration/configure_graphics_advanced.ui" line="133"/> - <source>2x (WILL BREAK THINGS)</source> - <translation type="unfinished"/> + <source>Default</source> + <translation>Domyślne</translation> </message> <message> <location filename="../../src/yuzu/configuration/configure_graphics_advanced.ui" line="138"/> - <source>4x (WILL BREAK THINGS)</source> + <source>2x</source> <translation type="unfinished"/> </message> <message> <location filename="../../src/yuzu/configuration/configure_graphics_advanced.ui" line="143"/> - <source>8x (WILL BREAK THINGS)</source> + <source>4x</source> <translation type="unfinished"/> </message> <message> <location filename="../../src/yuzu/configuration/configure_graphics_advanced.ui" line="148"/> - <source>16x (WILL BREAK THINGS)</source> + <source>8x</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_graphics_advanced.ui" line="153"/> + <source>16x</source> <translation type="unfinished"/> </message> </context> @@ -1537,8 +1653,8 @@ p, li { white-space: pre-wrap; } </message> <message> <location filename="../../src/yuzu/configuration/configure_input_advanced.ui" line="2533"/> - <source>Other</source> - <translation>Inne</translation> + <source>Emulated Devices</source> + <translation type="unfinished"/> </message> <message> <location filename="../../src/yuzu/configuration/configure_input_advanced.ui" line="2545"/> @@ -1547,499 +1663,524 @@ p, li { white-space: pre-wrap; } </message> <message> <location filename="../../src/yuzu/configuration/configure_input_advanced.ui" line="2558"/> - <source>Emulate Analog with Keyboard Input</source> - <translation>Emuluj sygnał analogowy z wejściem z klawiatury</translation> - </message> - <message> - <location filename="../../src/yuzu/configuration/configure_input_advanced.ui" line="2571"/> - <source>Enable mouse panning</source> - <translation>Włącz panoramowanie myszą</translation> - </message> - <message> - <location filename="../../src/yuzu/configuration/configure_input_advanced.ui" line="2578"/> - <source>Mouse sensitivity</source> - <translation>Czułość myszy</translation> - </message> - <message> - <location filename="../../src/yuzu/configuration/configure_input_advanced.ui" line="2584"/> - <source>%</source> - <translation type="unfinished"/> - </message> - <message> - <location filename="../../src/yuzu/configuration/configure_input_advanced.ui" line="2600"/> - <location filename="../../src/yuzu/configuration/configure_input_advanced.ui" line="2623"/> - <source>Advanced</source> - <translation>Zaawansowane</translation> + <source>Mouse</source> + <translation>Mysz</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_advanced.ui" line="2630"/> + <location filename="../../src/yuzu/configuration/configure_input_advanced.ui" line="2565"/> <source>Touchscreen</source> <translation>Ekran dotykowy</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_advanced.ui" line="2643"/> - <source>Mouse</source> - <translation>Mysz</translation> + <location filename="../../src/yuzu/configuration/configure_input_advanced.ui" line="2588"/> + <source>Advanced</source> + <translation>Zaawansowane</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_advanced.ui" line="2650"/> - <source>Motion / Touch</source> - <translation>Ruch / Dotyk</translation> + <location filename="../../src/yuzu/configuration/configure_input_advanced.ui" line="2595"/> + <source>Debug Controller</source> + <translation>Debuguj kontroler</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_advanced.ui" line="2657"/> - <location filename="../../src/yuzu/configuration/configure_input_advanced.ui" line="2671"/> + <location filename="../../src/yuzu/configuration/configure_input_advanced.ui" line="2602"/> + <location filename="../../src/yuzu/configuration/configure_input_advanced.ui" line="2702"/> <source>Configure</source> <translation>Konfiguruj</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_advanced.ui" line="2664"/> - <source>Debug Controller</source> - <translation>Debuguj kontroler</translation> + <location filename="../../src/yuzu/configuration/configure_input_advanced.ui" line="2612"/> + <source>Other</source> + <translation>Inne</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_advanced.ui" line="2678"/> + <location filename="../../src/yuzu/configuration/configure_input_advanced.ui" line="2624"/> + <source>Emulate Analog with Keyboard Input</source> + <translation>Emuluj sygnał analogowy z wejściem z klawiatury</translation> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_input_advanced.ui" line="2631"/> <source>Requires restarting yuzu</source> <translation type="unfinished"/> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_advanced.ui" line="2687"/> + <location filename="../../src/yuzu/configuration/configure_input_advanced.ui" line="2640"/> <source>Enable XInput 8 player support (disables web applet)</source> <translation type="unfinished"/> </message> -</context> -<context> - <name>ConfigureInputPlayer</name> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="14"/> - <source>Configure Input</source> - <translation>Ustawienie wejścia</translation> + <location filename="../../src/yuzu/configuration/configure_input_advanced.ui" line="2653"/> + <source>Enable UDP controllers (not needed for motion)</source> + <translation type="unfinished"/> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="63"/> - <source>Connect Controller</source> - <translation>Połacz Kontroler</translation> + <location filename="../../src/yuzu/configuration/configure_input_advanced.ui" line="2666"/> + <source>Enable mouse panning</source> + <translation>Włącz panoramowanie myszą</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="94"/> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="535"/> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="986"/> - <source>Pro Controller</source> - <translation>Pro Controller</translation> + <location filename="../../src/yuzu/configuration/configure_input_advanced.ui" line="2673"/> + <source>Mouse sensitivity</source> + <translation>Czułość myszy</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="99"/> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="992"/> - <source>Dual Joycons</source> - <translation>Para Joyconów</translation> + <location filename="../../src/yuzu/configuration/configure_input_advanced.ui" line="2679"/> + <source>%</source> + <translation type="unfinished"/> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="104"/> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="998"/> - <source>Left Joycon</source> - <translation>Lewy Joycon</translation> + <location filename="../../src/yuzu/configuration/configure_input_advanced.ui" line="2695"/> + <source>Motion / Touch</source> + <translation>Ruch / Dotyk</translation> </message> +</context> +<context> + <name>ConfigureInputPlayer</name> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="109"/> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="1004"/> - <source>Right Joycon</source> - <translation>Prawy Joycon</translation> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="14"/> + <source>Configure Input</source> + <translation>Ustawienie wejścia</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="114"/> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="1010"/> - <source>Handheld</source> - <translation>Handheld</translation> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="63"/> + <source>Connect Controller</source> + <translation>Połacz Kontroler</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="125"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="100"/> <source>Input Device</source> <translation>Urządzenie Wejściowe</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="153"/> - <source>Any</source> - <translation>Dowolny</translation> - </message> - <message> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="158"/> - <source>Keyboard/Mouse</source> - <translation>Klawiatura/Mysz</translation> - </message> - <message> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="194"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="156"/> <source>Profile</source> <translation>Profil</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="234"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="196"/> <source>Save</source> <translation>Zapisz</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="250"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="212"/> <source>New</source> <translation>Nowy</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="266"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="228"/> <source>Delete</source> <translation>Usuń</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="329"/> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="1267"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="291"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="1190"/> <source>Left Stick</source> <translation>Lewa gałka</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="387"/> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="429"/> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="963"/> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="1002"/> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="2621"/> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="2660"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="349"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="391"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="925"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="964"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="2583"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="2622"/> <source>Up</source> <translation>Góra</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="460"/> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="499"/> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="1033"/> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="1072"/> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="2107"/> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="2691"/> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="2730"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="422"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="461"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="995"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="1034"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="2069"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="2653"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="2692"/> <source>Left</source> <translation>Lewo</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="509"/> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="548"/> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="1082"/> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="1121"/> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="2156"/> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="2740"/> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="2779"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="471"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="510"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="1044"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="1083"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="2118"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="2702"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="2741"/> <source>Right</source> <translation>Prawo</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="591"/> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="630"/> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="1164"/> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="1203"/> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="2822"/> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="2861"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="553"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="592"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="1126"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="1165"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="2784"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="2823"/> <source>Down</source> <translation>Dół</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="661"/> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="700"/> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="2892"/> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="2931"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="623"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="662"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="2854"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="2893"/> <source>Pressed</source> <translation>Naciśnięty</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="710"/> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="749"/> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="2941"/> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="2980"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="672"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="711"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="2903"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="2942"/> <source>Modifier</source> <translation>Modyfikator</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="759"/> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="2990"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="721"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="2952"/> <source>Range</source> <translation>Zasięg</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="792"/> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="3023"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="754"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="2985"/> <source>%</source> <translation>%</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="835"/> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="3063"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="797"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="3025"/> <source>Deadzone: 0%</source> <translation>Martwa strefa: 0%</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="859"/> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="3087"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="821"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="3049"/> <source>Modifier Range: 0%</source> <translation>Zasięg Modyfikatora: 0%</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="905"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="867"/> <source>D-Pad</source> <translation>D-Pad</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="1289"/> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="1328"/> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="1272"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="1251"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="1290"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="1195"/> <source>L</source> <translation>L</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="1344"/> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="1383"/> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="1264"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="1306"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="1345"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="1187"/> <source>ZL</source> <translation>ZL</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="1464"/> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="1503"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="1426"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="1465"/> <source>Minus</source> <translation>Minus</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="1513"/> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="1552"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="1475"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="1514"/> <source>Capture</source> <translation>Zrzut ekranu</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="1583"/> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="1622"/> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="1263"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="1545"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="1584"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="1186"/> <source>Plus</source> <translation>Plus</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="1632"/> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="1671"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="1594"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="1633"/> <source>Home</source> <translation>Home</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="1736"/> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="1775"/> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="1266"/> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="1273"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="1698"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="1737"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="1189"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="1196"/> <source>R</source> <translation>R</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="1791"/> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="1830"/> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="1265"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="1753"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="1792"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="1188"/> <source>ZR</source> <translation>ZR</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="1911"/> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="1950"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="1873"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="1912"/> <source>SL</source> <translation>SL</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="1960"/> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="1999"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="1922"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="1961"/> <source>SR</source> <translation>SR</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="2068"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="2030"/> <source>Motion 1</source> <translation>Ruch 1</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="2117"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="2079"/> <source>Motion 2</source> <translation>Ruch 2</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="2208"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="2170"/> <source>Face Buttons</source> <translation>Przednie klawisze</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="2266"/> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="2305"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="2228"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="2267"/> <source>X</source> <translation>X</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="2336"/> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="2375"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="2298"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="2337"/> <source>Y</source> <translation>Y</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="2385"/> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="2424"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="2347"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="2386"/> <source>A</source> <translation>A</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="2467"/> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="2506"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="2429"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="2468"/> <source>B</source> <translation>B</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="2554"/> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="1268"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="2516"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="1191"/> <source>Right Stick</source> <translation>Prawa gałka</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="322"/> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="372"/> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="430"/> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="474"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="330"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="396"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="461"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="507"/> <source>Clear</source> <translation>Wyczyść</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="324"/> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="374"/> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="432"/> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="476"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="332"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="398"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="463"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="509"/> <source>[not set]</source> <translation>[nie ustawione]</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="327"/> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="478"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="335"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="512"/> <source>Toggle button</source> <translation>Przycisk Toggle</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="335"/> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="339"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="341"/> + <source>Invert button</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="349"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="465"/> + <source>Invert axis</source> + <translation>Odwróć oś</translation> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="355"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="359"/> <source>Set threshold</source> <translation type="unfinished"/> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="339"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="359"/> <source>Choose a value between 0% and 100%</source> <translation type="unfinished"/> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="406"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="436"/> <source>Map Analog Stick</source> <translation type="unfinished"/> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="407"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="437"/> <source>After pressing OK, first move your joystick horizontally, and then vertically. To invert the axes, first move your joystick vertically, and then horizontally.</source> <translation>Po naciśnięciu OK, najpierw przesuń joystick w poziomie, a następnie w pionie. Aby odwrócić osie, najpierw przesuń joystick pionowo, a następnie poziomo.</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="434"/> - <source>Invert axis</source> - <translation>Odwróć oś</translation> - </message> - <message> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="500"/> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="952"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="537"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="891"/> <source>Deadzone: %1%</source> <translation>Martwa strefa: %1%</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="508"/> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="963"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="546"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="896"/> <source>Modifier Range: %1%</source> <translation>Zasięg Modyfikatora: %1%</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="1016"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="572"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="918"/> + <source>Pro Controller</source> + <translation>Pro Controller</translation> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="924"/> + <source>Dual Joycons</source> + <translation>Para Joyconów</translation> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="930"/> + <source>Left Joycon</source> + <translation>Lewy Joycon</translation> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="936"/> + <source>Right Joycon</source> + <translation>Prawy Joycon</translation> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="942"/> + <source>Handheld</source> + <translation>Handheld</translation> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="948"/> <source>GameCube Controller</source> <translation>Kontroler GameCube</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="1271"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="958"/> + <source>Poke Ball Plus</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="964"/> + <source>NES Controller</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="970"/> + <source>SNES Controller</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="976"/> + <source>N64 Controller</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="982"/> + <source>Sega Genesis</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="1194"/> <source>Start / Pause</source> <translation>Start / Pauza</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="1274"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="1197"/> <source>Z</source> <translation>Z</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="1275"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="1198"/> <source>Control Stick</source> <translation>Lewa gałka</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="1276"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="1199"/> <source>C-Stick</source> <translation>C-gałka</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="1335"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="1297"/> <source>Shake!</source> <translation>Potrząśnij!</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="1337"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="1299"/> <source>[waiting]</source> <translation>[oczekiwanie]</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="1462"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="1381"/> <source>New Profile</source> <translation>Nowy profil</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="1462"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="1381"/> <source>Enter a profile name:</source> <translation>Wpisz nazwę profilu:</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="1470"/> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="1478"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="1389"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="1397"/> <source>Create Input Profile</source> <translation>Utwórz profil wejściowy</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="1471"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="1390"/> <source>The given profile name is not valid!</source> <translation>Podana nazwa profilu jest nieprawidłowa!</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="1479"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="1398"/> <source>Failed to create the input profile "%1"</source> <translation>Nie udało się utworzyć profilu wejściowego "%1"</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="1499"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="1418"/> <source>Delete Input Profile</source> <translation>Usuń profil wejściowy</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="1500"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="1419"/> <source>Failed to delete the input profile "%1"</source> <translation>Nie udało się usunąć profilu wejściowego "%1"</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="1522"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="1441"/> <source>Load Input Profile</source> <translation>Załaduj profil wejściowy</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="1523"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="1442"/> <source>Failed to load the input profile "%1"</source> <translation>Nie udało się wczytać profilu wejściowego "%1"</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="1542"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="1461"/> <source>Save Input Profile</source> <translation>Zapisz profil wejściowy</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="1543"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="1462"/> <source>Failed to save the input profile "%1"</source> <translation>Nie udało się zapisać profilu wejściowego "%1"</translation> </message> @@ -2065,85 +2206,75 @@ Aby odwrócić osie, najpierw przesuń joystick pionowo, a następnie poziomo.</ <context> <name>ConfigureMotionTouch</name> <message> - <location filename="../../src/yuzu/configuration/configure_motion_touch.ui" line="14"/> + <location filename="../../src/yuzu/configuration/configure_motion_touch.ui" line="6"/> <source>Configure Motion / Touch</source> <translation>Konfiguruj Ruch / Dotyk</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_motion_touch.ui" line="23"/> - <source>Mouse Motion</source> - <translation>Ruch myszy</translation> - </message> - <message> - <location filename="../../src/yuzu/configuration/configure_motion_touch.ui" line="31"/> - <source>Sensitivity:</source> - <translation>Czułość:</translation> - </message> - <message> - <location filename="../../src/yuzu/configuration/configure_motion_touch.ui" line="65"/> + <location filename="../../src/yuzu/configuration/configure_motion_touch.ui" line="15"/> <source>Touch</source> <translation>Dotyk</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_motion_touch.ui" line="73"/> + <location filename="../../src/yuzu/configuration/configure_motion_touch.ui" line="23"/> <source>UDP Calibration:</source> <translation>Kalibracja UDP:</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_motion_touch.ui" line="80"/> + <location filename="../../src/yuzu/configuration/configure_motion_touch.ui" line="30"/> <source>(100, 50) - (1800, 850)</source> <translation>(100, 50) - (1800, 850)</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_motion_touch.ui" line="96"/> - <location filename="../../src/yuzu/configuration/configure_motion_touch.ui" line="129"/> - <location filename="../../src/yuzu/configuration/configure_motion_touch.cpp" line="250"/> + <location filename="../../src/yuzu/configuration/configure_motion_touch.ui" line="46"/> + <location filename="../../src/yuzu/configuration/configure_motion_touch.ui" line="73"/> + <location filename="../../src/yuzu/configuration/configure_motion_touch.cpp" line="245"/> <source>Configure</source> <translation>Konfiguruj</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_motion_touch.ui" line="113"/> - <source>Use button mapping:</source> - <translation>Użyj mapowania przycisków:</translation> + <location filename="../../src/yuzu/configuration/configure_motion_touch.ui" line="57"/> + <source>Touch from button profile:</source> + <translation type="unfinished"/> </message> <message> - <location filename="../../src/yuzu/configuration/configure_motion_touch.ui" line="141"/> + <location filename="../../src/yuzu/configuration/configure_motion_touch.ui" line="85"/> <source>CemuhookUDP Config</source> <translation>Konfiguracja CemuhookUDP</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_motion_touch.ui" line="147"/> + <location filename="../../src/yuzu/configuration/configure_motion_touch.ui" line="91"/> <source>You may use any Cemuhook compatible UDP input source to provide motion and touch input.</source> <translation>Możesz użyć dowolnego źródła wejściowego UDP zgodnego z Cemuhook, aby zapewnić ruch i dotyk.</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_motion_touch.ui" line="190"/> + <location filename="../../src/yuzu/configuration/configure_motion_touch.ui" line="134"/> <source>Server:</source> <translation>Serwer:</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_motion_touch.ui" line="217"/> + <location filename="../../src/yuzu/configuration/configure_motion_touch.ui" line="161"/> <source>Port:</source> <translation>Port:</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_motion_touch.ui" line="244"/> + <location filename="../../src/yuzu/configuration/configure_motion_touch.ui" line="188"/> <source>Learn More</source> <translation>Dowiedz się więcej</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_motion_touch.ui" line="257"/> - <location filename="../../src/yuzu/configuration/configure_motion_touch.cpp" line="273"/> + <location filename="../../src/yuzu/configuration/configure_motion_touch.ui" line="201"/> + <location filename="../../src/yuzu/configuration/configure_motion_touch.cpp" line="268"/> <source>Test</source> <translation>Test</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_motion_touch.ui" line="270"/> + <location filename="../../src/yuzu/configuration/configure_motion_touch.ui" line="214"/> <source>Add Server</source> <translation>Dodaj serwer</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_motion_touch.ui" line="303"/> + <location filename="../../src/yuzu/configuration/configure_motion_touch.ui" line="247"/> <source>Remove Server</source> <translation>Usuń serwer</translation> </message> @@ -2153,146 +2284,82 @@ Aby odwrócić osie, najpierw przesuń joystick pionowo, a następnie poziomo.</ <translation><a href='https://yuzu-emu.org/wiki/using-a-controller-or-android-phone-for-motion-or-touch-input'><span style="text-decoration: underline; color:#039be5;">Dowiedz się więcej</span></a></translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_motion_touch.cpp" line="176"/> + <location filename="../../src/yuzu/configuration/configure_motion_touch.cpp" line="171"/> <source>%1:%2</source> <translation>%1:%2</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_motion_touch.cpp" line="181"/> - <location filename="../../src/yuzu/configuration/configure_motion_touch.cpp" line="185"/> - <location filename="../../src/yuzu/configuration/configure_motion_touch.cpp" line="189"/> - <location filename="../../src/yuzu/configuration/configure_motion_touch.cpp" line="195"/> - <location filename="../../src/yuzu/configuration/configure_motion_touch.cpp" line="201"/> - <location filename="../../src/yuzu/configuration/configure_motion_touch.cpp" line="295"/> + <location filename="../../src/yuzu/configuration/configure_motion_touch.cpp" line="176"/> + <location filename="../../src/yuzu/configuration/configure_motion_touch.cpp" line="180"/> + <location filename="../../src/yuzu/configuration/configure_motion_touch.cpp" line="184"/> + <location filename="../../src/yuzu/configuration/configure_motion_touch.cpp" line="190"/> + <location filename="../../src/yuzu/configuration/configure_motion_touch.cpp" line="196"/> + <location filename="../../src/yuzu/configuration/configure_motion_touch.cpp" line="290"/> <source>yuzu</source> <translation>yuzu</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_motion_touch.cpp" line="181"/> + <location filename="../../src/yuzu/configuration/configure_motion_touch.cpp" line="176"/> <source>Port number has invalid characters</source> <translation>Port zawiera nieprawidłowe znaki</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_motion_touch.cpp" line="185"/> + <location filename="../../src/yuzu/configuration/configure_motion_touch.cpp" line="180"/> <source>Port has to be in range 0 and 65353</source> <translation>Port musi być w zakresie 0-65353</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_motion_touch.cpp" line="189"/> + <location filename="../../src/yuzu/configuration/configure_motion_touch.cpp" line="184"/> <source>IP address is not valid</source> <translation>Adres IP nie jest prawidłowy</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_motion_touch.cpp" line="195"/> + <location filename="../../src/yuzu/configuration/configure_motion_touch.cpp" line="190"/> <source>This UDP server already exists</source> <translation>Ten serwer UDP już istnieje</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_motion_touch.cpp" line="201"/> + <location filename="../../src/yuzu/configuration/configure_motion_touch.cpp" line="196"/> <source>Unable to add more than 8 servers</source> <translation>Nie można dodać więcej niż 8 serwerów</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_motion_touch.cpp" line="217"/> + <location filename="../../src/yuzu/configuration/configure_motion_touch.cpp" line="212"/> <source>Testing</source> <translation>Testowanie</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_motion_touch.cpp" line="233"/> + <location filename="../../src/yuzu/configuration/configure_motion_touch.cpp" line="228"/> <source>Configuring</source> <translation>Konfigurowanie</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_motion_touch.cpp" line="264"/> + <location filename="../../src/yuzu/configuration/configure_motion_touch.cpp" line="259"/> <source>Test Successful</source> <translation>Test Udany</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_motion_touch.cpp" line="265"/> + <location filename="../../src/yuzu/configuration/configure_motion_touch.cpp" line="260"/> <source>Successfully received data from the server.</source> <translation>Pomyślnie odebrano dane z serwera.</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_motion_touch.cpp" line="267"/> + <location filename="../../src/yuzu/configuration/configure_motion_touch.cpp" line="262"/> <source>Test Failed</source> <translation>Test nieudany</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_motion_touch.cpp" line="268"/> + <location filename="../../src/yuzu/configuration/configure_motion_touch.cpp" line="263"/> <source>Could not receive valid data from the server.<br>Please verify that the server is set up correctly and the address and port are correct.</source> <translation>Nie można odebrać poprawnych danych z serwera.<br>Sprawdź, czy serwer jest poprawnie skonfigurowany, a adres i port są prawidłowe.</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_motion_touch.cpp" line="296"/> + <location filename="../../src/yuzu/configuration/configure_motion_touch.cpp" line="291"/> <source>UDP Test or calibration configuration is in progress.<br>Please wait for them to finish.</source> <translation>Trwa konfiguracja testu UDP lub kalibracji.<br>Poczekaj na zakończenie.</translation> </message> </context> <context> - <name>ConfigureMouseAdvanced</name> - <message> - <location filename="../../src/yuzu/configuration/configure_mouse_advanced.ui" line="14"/> - <source>Configure Mouse</source> - <translation>Ustaw mysz</translation> - </message> - <message> - <location filename="../../src/yuzu/configuration/configure_mouse_advanced.ui" line="25"/> - <source>Mouse Buttons</source> - <translation>Przyciski myszy</translation> - </message> - <message> - <location filename="../../src/yuzu/configuration/configure_mouse_advanced.ui" line="35"/> - <source>Forward:</source> - <translation>Do przodu</translation> - </message> - <message> - <location filename="../../src/yuzu/configuration/configure_mouse_advanced.ui" line="75"/> - <source>Back:</source> - <translation>Do tyłu</translation> - </message> - <message> - <location filename="../../src/yuzu/configuration/configure_mouse_advanced.ui" line="103"/> - <source>Left:</source> - <translation>Lewy</translation> - </message> - <message> - <location filename="../../src/yuzu/configuration/configure_mouse_advanced.ui" line="131"/> - <source>Middle:</source> - <translation>Środkowy</translation> - </message> - <message> - <location filename="../../src/yuzu/configuration/configure_mouse_advanced.ui" line="197"/> - <source>Right:</source> - <translation>Prawy</translation> - </message> - <message> - <location filename="../../src/yuzu/configuration/configure_mouse_advanced.ui" line="270"/> - <location filename="../../src/yuzu/configuration/configure_mouse_advanced.cpp" line="109"/> - <source>Clear</source> - <translation>Wyczyść</translation> - </message> - <message> - <location filename="../../src/yuzu/configuration/configure_mouse_advanced.ui" line="289"/> - <source>Defaults</source> - <translation>Domyślne</translation> - </message> - <message> - <location filename="../../src/yuzu/configuration/configure_mouse_advanced.cpp" line="111"/> - <source>[not set]</source> - <translation>[nie ustawione]</translation> - </message> - <message> - <location filename="../../src/yuzu/configuration/configure_mouse_advanced.cpp" line="113"/> - <source>Restore Default</source> - <translation>Przywróć ustawienie domyślne</translation> - </message> - <message> - <location filename="../../src/yuzu/configuration/configure_mouse_advanced.cpp" line="200"/> - <source>[press key]</source> - <translation>[naciśnij przycisk]</translation> - </message> -</context> -<context> <name>ConfigureNetwork</name> <message> <location filename="../../src/yuzu/configuration/configure_network.ui" line="14"/> @@ -3075,31 +3142,26 @@ Aby odwrócić osie, najpierw przesuń joystick pionowo, a następnie poziomo.</ </message> <message> <location filename="../../src/yuzu/configuration/configure_tas.ui" line="64"/> - <source>Automatic controller profile swapping</source> - <translation type="unfinished"/> - </message> - <message> - <location filename="../../src/yuzu/configuration/configure_tas.ui" line="71"/> <source>Loop script</source> <translation type="unfinished"/> </message> <message> - <location filename="../../src/yuzu/configuration/configure_tas.ui" line="81"/> + <location filename="../../src/yuzu/configuration/configure_tas.ui" line="74"/> <source>Pause execution during loads</source> <translation type="unfinished"/> </message> <message> - <location filename="../../src/yuzu/configuration/configure_tas.ui" line="95"/> + <location filename="../../src/yuzu/configuration/configure_tas.ui" line="88"/> <source>Script Directory</source> <translation type="unfinished"/> </message> <message> - <location filename="../../src/yuzu/configuration/configure_tas.ui" line="101"/> + <location filename="../../src/yuzu/configuration/configure_tas.ui" line="94"/> <source>Path</source> <translation type="unfinished"/> </message> <message> - <location filename="../../src/yuzu/configuration/configure_tas.ui" line="108"/> + <location filename="../../src/yuzu/configuration/configure_tas.ui" line="101"/> <source>...</source> <translation type="unfinished"/> </message> @@ -3112,7 +3174,7 @@ Aby odwrócić osie, najpierw przesuń joystick pionowo, a następnie poziomo.</ <translation type="unfinished"/> </message> <message> - <location filename="../../src/yuzu/configuration/configure_tas.cpp" line="53"/> + <location filename="../../src/yuzu/configuration/configure_tas.cpp" line="51"/> <source>Select TAS Load Directory...</source> <translation type="unfinished"/> </message> @@ -3174,37 +3236,37 @@ Przeciągnij punkty, aby zmienić pozycję, lub kliknij dwukrotnie komórki tabe <translation>Y</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_touch_from_button.cpp" line="200"/> + <location filename="../../src/yuzu/configuration/configure_touch_from_button.cpp" line="197"/> <source>New Profile</source> <translation>Nowy profil</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_touch_from_button.cpp" line="200"/> + <location filename="../../src/yuzu/configuration/configure_touch_from_button.cpp" line="197"/> <source>Enter the name for the new profile.</source> <translation>Wprowadź nazwę dla nowego profilu:</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_touch_from_button.cpp" line="211"/> + <location filename="../../src/yuzu/configuration/configure_touch_from_button.cpp" line="208"/> <source>Delete Profile</source> <translation>Usuń profil</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_touch_from_button.cpp" line="211"/> + <location filename="../../src/yuzu/configuration/configure_touch_from_button.cpp" line="208"/> <source>Delete profile %1?</source> <translation>Usunąć profil %1?</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_touch_from_button.cpp" line="224"/> + <location filename="../../src/yuzu/configuration/configure_touch_from_button.cpp" line="221"/> <source>Rename Profile</source> <translation>Zmień nazwę profilu</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_touch_from_button.cpp" line="224"/> + <location filename="../../src/yuzu/configuration/configure_touch_from_button.cpp" line="221"/> <source>New name:</source> <translation>Nowa nazwa:</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_touch_from_button.cpp" line="233"/> + <location filename="../../src/yuzu/configuration/configure_touch_from_button.cpp" line="230"/> <source>[press key]</source> <translation>[naciśnij przycisk]</translation> </message> @@ -3624,12 +3686,12 @@ Przeciągnij punkty, aby zmienić pozycję, lub kliknij dwukrotnie komórki tabe <context> <name>ControllerDialog</name> <message> - <location filename="../../src/yuzu/debugger/controller.cpp" line="17"/> + <location filename="../../src/yuzu/debugger/controller.cpp" line="21"/> <source>Controller P1</source> <translation>Kontroler P1</translation> </message> <message> - <location filename="../../src/yuzu/debugger/controller.cpp" line="52"/> + <location filename="../../src/yuzu/debugger/controller.cpp" line="60"/> <source>&Controller P1</source> <translation>&Kontroler P1</translation> </message> @@ -3637,89 +3699,94 @@ Przeciągnij punkty, aby zmienić pozycję, lub kliknij dwukrotnie komórki tabe <context> <name>GMainWindow</name> <message> - <location filename="../../src/yuzu/main.cpp" line="174"/> + <location filename="../../src/yuzu/main.cpp" line="176"/> <source><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?</source> <translation><a href='https://yuzu-emu.org/help/feature/telemetry/'>Dane anonimowe są gromadzone</a> aby ulepszyć yuzu. <br/><br/>Czy chcesz udostępnić nam swoje dane o użytkowaniu?</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="177"/> + <location filename="../../src/yuzu/main.cpp" line="179"/> <source>Telemetry</source> <translation>Telemetria</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="592"/> + <location filename="../../src/yuzu/main.cpp" line="600"/> <source>Loading Web Applet...</source> <translation>Ładowanie apletu internetowego...</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="639"/> - <location filename="../../src/yuzu/main.cpp" line="642"/> + <location filename="../../src/yuzu/main.cpp" line="647"/> + <location filename="../../src/yuzu/main.cpp" line="650"/> <source>Disable Web Applet</source> <translation>Wyłącz Aplet internetowy</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="643"/> + <location filename="../../src/yuzu/main.cpp" line="651"/> <source>Disabling the web applet will cause it to not be shown again for the rest of the emulated session. This 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?</source> <translation>Wyłączenie apletu sieciowego spowoduje, że nie będzie on wyświetlany przez resztę emulowanej sesji. Może to prowadzić do niezdefiniowanych zachowań i powinno być używane tylko z Super Mario 3D All-Stars. Czy na pewno chcesz wyłączyć aplet sieciowy?</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="746"/> + <location filename="../../src/yuzu/main.cpp" line="754"/> <source>The amount of shaders currently being built</source> <translation>Ilość budowanych shaderów</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="749"/> + <location filename="../../src/yuzu/main.cpp" line="756"/> + <source>The current selected resolution scaling multiplier.</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/main.cpp" line="759"/> <source>Current emulation speed. Values higher or lower than 100% indicate emulation is running faster or slower than a Switch.</source> <translation>Aktualna prędkość emulacji. Wartości większe lub niższe niż 100% wskazują, że emulacja działa szybciej lub wolniej niż Switch.</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="752"/> + <location filename="../../src/yuzu/main.cpp" line="762"/> <source>How many frames per second the game is currently displaying. This will vary from game to game and scene to scene.</source> <translation>Ile klatek na sekundę gra aktualnie wyświetla. To będzie się różnić w zależności od gry, od sceny do sceny.</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="756"/> + <location filename="../../src/yuzu/main.cpp" line="766"/> <source>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.</source> <translation>Czas potrzebny do emulacji klatki na sekundę Switcha, nie licząc ograniczania klatek ani v-sync. Dla emulacji pełnej szybkości powinno to wynosić co najwyżej 16,67 ms.</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="781"/> + <location filename="../../src/yuzu/main.cpp" line="841"/> <source>Invalid config detected</source> <translation>Wykryto nieprawidłową konfigurację</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="782"/> + <location filename="../../src/yuzu/main.cpp" line="842"/> <source>Handheld controller can't be used on docked mode. Pro controller will be selected.</source> <translation>Nie można używać kontrolera handheld w trybie zadokowanym. Zostanie wybrany kontroler Pro.</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="794"/> + <location filename="../../src/yuzu/main.cpp" line="854"/> <source>DOCK</source> <translation>DOCK</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="828"/> + <location filename="../../src/yuzu/main.cpp" line="888"/> <source>VULKAN</source> <translation>VULKAN</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="828"/> + <location filename="../../src/yuzu/main.cpp" line="888"/> <source>OPENGL</source> <translation>OPENGL</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="886"/> + <location filename="../../src/yuzu/main.cpp" line="951"/> <source>&Clear Recent Files</source> <translation>&Usuń Ostatnie pliki</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="1055"/> - <source>TAS Recording</source> - <translation type="unfinished"/> + <location filename="../../src/yuzu/main.cpp" line="1210"/> + <source>&Continue</source> + <translation>&Kontynuuj</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="1056"/> - <source>Overwrite file of player 1?</source> + <location filename="../../src/yuzu/main.cpp" line="1212"/> + <source>&Pause</source> <translation type="unfinished"/> </message> <message> @@ -3771,658 +3838,725 @@ Przeciągnij punkty, aby zmienić pozycję, lub kliknij dwukrotnie komórki tabe <translation>Wystąpił nieznany błąd. Więcej informacji można znaleźć w pliku log.</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="1462"/> + <location filename="../../src/yuzu/main.cpp" line="1460"/> <source>(64-bit)</source> <translation type="unfinished"/> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="1462"/> + <location filename="../../src/yuzu/main.cpp" line="1460"/> <source>(32-bit)</source> <translation type="unfinished"/> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="1463"/> + <location filename="../../src/yuzu/main.cpp" line="1461"/> <source>%1 %2</source> <comment>%1 is the title name. %2 indicates if the title is 64-bit or 32-bit</comment> <translation type="unfinished"/> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="1507"/> - <source>Start</source> - <translation>Start</translation> - </message> - <message> - <location filename="../../src/yuzu/main.cpp" line="1612"/> + <location filename="../../src/yuzu/main.cpp" line="1605"/> <source>Save Data</source> <translation>Zapis danych</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="1660"/> + <location filename="../../src/yuzu/main.cpp" line="1653"/> <source>Mod Data</source> <translation>Dane modów</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="1672"/> + <location filename="../../src/yuzu/main.cpp" line="1665"/> <source>Error Opening %1 Folder</source> <translation>Błąd podczas otwarcia folderu %1</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="1673"/> - <location filename="../../src/yuzu/main.cpp" line="2079"/> + <location filename="../../src/yuzu/main.cpp" line="1666"/> + <location filename="../../src/yuzu/main.cpp" line="2072"/> <source>Folder does not exist!</source> <translation>Folder nie istnieje!</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="1685"/> + <location filename="../../src/yuzu/main.cpp" line="1678"/> <source>Error Opening Transferable Shader Cache</source> <translation>Błąd podczas otwierania przenośnej pamięci podręcznej Shaderów.</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="1686"/> + <location filename="../../src/yuzu/main.cpp" line="1679"/> <source>Failed to create the shader cache directory for this title.</source> <translation type="unfinished"/> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="1738"/> + <location filename="../../src/yuzu/main.cpp" line="1731"/> <source>Contents</source> <translation>Zawartość</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="1740"/> + <location filename="../../src/yuzu/main.cpp" line="1733"/> <source>Update</source> <translation>Łatka</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="1742"/> + <location filename="../../src/yuzu/main.cpp" line="1735"/> <source>DLC</source> <translation>DLC</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="1749"/> + <location filename="../../src/yuzu/main.cpp" line="1742"/> <source>Remove Entry</source> <translation>Usuń wpis</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="1749"/> + <location filename="../../src/yuzu/main.cpp" line="1742"/> <source>Remove Installed Game %1?</source> <translation>Usunąć zainstalowaną grę %1?</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="1779"/> - <location filename="../../src/yuzu/main.cpp" line="1795"/> - <location filename="../../src/yuzu/main.cpp" line="1826"/> - <location filename="../../src/yuzu/main.cpp" line="1887"/> - <location filename="../../src/yuzu/main.cpp" line="1905"/> - <location filename="../../src/yuzu/main.cpp" line="1928"/> + <location filename="../../src/yuzu/main.cpp" line="1772"/> + <location filename="../../src/yuzu/main.cpp" line="1788"/> + <location filename="../../src/yuzu/main.cpp" line="1819"/> + <location filename="../../src/yuzu/main.cpp" line="1880"/> + <location filename="../../src/yuzu/main.cpp" line="1898"/> + <location filename="../../src/yuzu/main.cpp" line="1921"/> <source>Successfully Removed</source> <translation>Pomyślnie usunięto</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="1780"/> + <location filename="../../src/yuzu/main.cpp" line="1773"/> <source>Successfully removed the installed base game.</source> <translation>Pomyślnie usunięto zainstalowaną grę.</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="1783"/> - <location filename="../../src/yuzu/main.cpp" line="1798"/> - <location filename="../../src/yuzu/main.cpp" line="1821"/> + <location filename="../../src/yuzu/main.cpp" line="1776"/> + <location filename="../../src/yuzu/main.cpp" line="1791"/> + <location filename="../../src/yuzu/main.cpp" line="1814"/> <source>Error Removing %1</source> <translation>Błąd podczas usuwania %1</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="1784"/> + <location filename="../../src/yuzu/main.cpp" line="1777"/> <source>The base game is not installed in the NAND and cannot be removed.</source> <translation>Gra nie jest zainstalowana w NAND i nie może zostać usunięta.</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="1796"/> + <location filename="../../src/yuzu/main.cpp" line="1789"/> <source>Successfully removed the installed update.</source> <translation>Pomyślnie usunięto zainstalowaną łatkę.</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="1799"/> + <location filename="../../src/yuzu/main.cpp" line="1792"/> <source>There is no update installed for this title.</source> <translation>Brak zainstalowanych łatek dla tego tytułu.</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="1822"/> + <location filename="../../src/yuzu/main.cpp" line="1815"/> <source>There are no DLC installed for this title.</source> <translation>Brak zainstalowanych DLC dla tego tytułu.</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="1827"/> + <location filename="../../src/yuzu/main.cpp" line="1820"/> <source>Successfully removed %1 installed DLC.</source> <translation>Pomyślnie usunięto %1 zainstalowane DLC.</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="1835"/> + <location filename="../../src/yuzu/main.cpp" line="1828"/> <source>Delete OpenGL Transferable Shader Cache?</source> <translation type="unfinished"/> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="1837"/> + <location filename="../../src/yuzu/main.cpp" line="1830"/> <source>Delete Vulkan Transferable Shader Cache?</source> <translation type="unfinished"/> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="1839"/> + <location filename="../../src/yuzu/main.cpp" line="1832"/> <source>Delete All Transferable Shader Caches?</source> <translation type="unfinished"/> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="1841"/> + <location filename="../../src/yuzu/main.cpp" line="1834"/> <source>Remove Custom Game Configuration?</source> <translation>Usunąć niestandardową konfigurację gry?</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="1847"/> + <location filename="../../src/yuzu/main.cpp" line="1840"/> <source>Remove File</source> <translation>Usuń plik</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="1882"/> - <location filename="../../src/yuzu/main.cpp" line="1890"/> + <location filename="../../src/yuzu/main.cpp" line="1875"/> + <location filename="../../src/yuzu/main.cpp" line="1883"/> <source>Error Removing Transferable Shader Cache</source> <translation>Błąd podczas usuwania przenośnej pamięci podręcznej Shaderów.</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="1883"/> - <location filename="../../src/yuzu/main.cpp" line="1901"/> + <location filename="../../src/yuzu/main.cpp" line="1876"/> + <location filename="../../src/yuzu/main.cpp" line="1894"/> <source>A shader cache for this title does not exist.</source> <translation>Pamięć podręczna Shaderów dla tego tytułu nie istnieje.</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="1888"/> + <location filename="../../src/yuzu/main.cpp" line="1881"/> <source>Successfully removed the transferable shader cache.</source> <translation>Pomyślnie usunięto przenośną pamięć podręczną Shaderów.</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="1891"/> + <location filename="../../src/yuzu/main.cpp" line="1884"/> <source>Failed to remove the transferable shader cache.</source> <translation>Nie udało się usunąć przenośnej pamięci Shaderów.</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="1900"/> - <location filename="../../src/yuzu/main.cpp" line="1908"/> + <location filename="../../src/yuzu/main.cpp" line="1893"/> + <location filename="../../src/yuzu/main.cpp" line="1901"/> <source>Error Removing Transferable Shader Caches</source> <translation type="unfinished"/> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="1906"/> + <location filename="../../src/yuzu/main.cpp" line="1899"/> <source>Successfully removed the transferable shader caches.</source> <translation type="unfinished"/> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="1909"/> + <location filename="../../src/yuzu/main.cpp" line="1902"/> <source>Failed to remove the transferable shader cache directory.</source> <translation type="unfinished"/> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="1922"/> - <location filename="../../src/yuzu/main.cpp" line="1931"/> + <location filename="../../src/yuzu/main.cpp" line="1915"/> + <location filename="../../src/yuzu/main.cpp" line="1924"/> <source>Error Removing Custom Configuration</source> <translation>Błąd podczas usuwania niestandardowej konfiguracji</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="1923"/> + <location filename="../../src/yuzu/main.cpp" line="1916"/> <source>A custom configuration for this title does not exist.</source> <translation>Niestandardowa konfiguracja nie istnieje dla tego tytułu.</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="1929"/> + <location filename="../../src/yuzu/main.cpp" line="1922"/> <source>Successfully removed the custom game configuration.</source> <translation>Pomyślnie usunięto niestandardową konfiguracje gry.</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="1932"/> + <location filename="../../src/yuzu/main.cpp" line="1925"/> <source>Failed to remove the custom game configuration.</source> <translation>Nie udało się usunąć niestandardowej konfiguracji gry.</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="1939"/> - <location filename="../../src/yuzu/main.cpp" line="2018"/> + <location filename="../../src/yuzu/main.cpp" line="1932"/> + <location filename="../../src/yuzu/main.cpp" line="2011"/> <source>RomFS Extraction Failed!</source> <translation>Wypakowanie RomFS nieudane!</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="1940"/> + <location filename="../../src/yuzu/main.cpp" line="1933"/> <source>There was an error copying the RomFS files or the user cancelled the operation.</source> <translation>Wystąpił błąd podczas kopiowania plików RomFS lub użytkownik anulował operację.</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="1998"/> + <location filename="../../src/yuzu/main.cpp" line="1991"/> <source>Full</source> <translation>Pełny</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="1998"/> + <location filename="../../src/yuzu/main.cpp" line="1991"/> <source>Skeleton</source> <translation>Szkielet</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="2000"/> + <location filename="../../src/yuzu/main.cpp" line="1993"/> <source>Select RomFS Dump Mode</source> <translation>Wybierz tryb zrzutu RomFS</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="2001"/> + <location filename="../../src/yuzu/main.cpp" line="1994"/> <source>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.</source> <translation>Proszę wybrać w jaki sposób chcesz, aby zrzut pliku RomFS został wykonany. <br>Pełna kopia ze wszystkimi plikami do nowego folderu, gdy <br>skielet utworzy tylko strukturę folderu.</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="2019"/> + <location filename="../../src/yuzu/main.cpp" line="2012"/> <source>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</source> <translation type="unfinished"/> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="2026"/> + <location filename="../../src/yuzu/main.cpp" line="2019"/> <source>Extracting RomFS...</source> <translation>Wypakowywanie RomFS...</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="2026"/> - <location filename="../../src/yuzu/main.cpp" line="2206"/> + <location filename="../../src/yuzu/main.cpp" line="2019"/> + <location filename="../../src/yuzu/main.cpp" line="2199"/> <source>Cancel</source> <translation>Anuluj</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="2033"/> + <location filename="../../src/yuzu/main.cpp" line="2026"/> <source>RomFS Extraction Succeeded!</source> <translation>Wypakowanie RomFS zakończone pomyślnie!</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="2034"/> + <location filename="../../src/yuzu/main.cpp" line="2027"/> <source>The operation completed successfully.</source> <translation>Operacja zakończona sukcesem.</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="2078"/> + <location filename="../../src/yuzu/main.cpp" line="2071"/> <source>Error Opening %1</source> <translation>Błąd podczas otwierania %1</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="2087"/> + <location filename="../../src/yuzu/main.cpp" line="2080"/> <source>Select Directory</source> <translation>Wybierz folder...</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="2114"/> + <location filename="../../src/yuzu/main.cpp" line="2107"/> <source>Properties</source> <translation>Właściwości</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="2115"/> + <location filename="../../src/yuzu/main.cpp" line="2108"/> <source>The game properties could not be loaded.</source> <translation>Właściwości tej gry nie mogły zostać załadowane.</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="2127"/> + <location filename="../../src/yuzu/main.cpp" line="2120"/> <source>Switch Executable (%1);;All Files (*.*)</source> <comment>%1 is an identifier for the Switch executable file extensions.</comment> <translation>Plik wykonywalny Switcha (%1);;Wszystkie pliki (*.*)</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="2131"/> + <location filename="../../src/yuzu/main.cpp" line="2124"/> <source>Load File</source> <translation>Załaduj plik...</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="2143"/> + <location filename="../../src/yuzu/main.cpp" line="2136"/> <source>Open Extracted ROM Directory</source> <translation>Otwórz folder wypakowanego ROMu</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="2154"/> + <location filename="../../src/yuzu/main.cpp" line="2147"/> <source>Invalid Directory Selected</source> <translation>Wybrano niewłaściwy folder</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="2155"/> + <location filename="../../src/yuzu/main.cpp" line="2148"/> <source>The directory you have selected does not contain a 'main' file.</source> <translation>Folder wybrany przez ciebie nie zawiera 'głownego' pliku.</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="2165"/> + <location filename="../../src/yuzu/main.cpp" line="2158"/> <source>Installable Switch File (*.nca *.nsp *.xci);;Nintendo Content Archive (*.nca);;Nintendo Submission Package (*.nsp);;NX Cartridge Image (*.xci)</source> <translation>Instalacyjne pliki Switch'a (*.nca *.nsp *.xci);;Archiwum zawartości Nintendo (*.nca);;Pakiet poddany Nintendo (*.nsp);;Obraz z kartridża NX (*.xci)</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="2170"/> + <location filename="../../src/yuzu/main.cpp" line="2163"/> <source>Install Files</source> <translation>Zainstaluj pliki</translation> </message> <message numerus="yes"> - <location filename="../../src/yuzu/main.cpp" line="2214"/> + <location filename="../../src/yuzu/main.cpp" line="2207"/> <source>%n file(s) remaining</source> <translation type="unfinished"><numerusform></numerusform><numerusform></numerusform><numerusform></numerusform><numerusform></numerusform></translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="2216"/> + <location filename="../../src/yuzu/main.cpp" line="2209"/> <source>Installing file "%1"...</source> <translation>Instalowanie pliku "%1"...</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="2262"/> - <location filename="../../src/yuzu/main.cpp" line="2276"/> + <location filename="../../src/yuzu/main.cpp" line="2255"/> + <location filename="../../src/yuzu/main.cpp" line="2269"/> <source>Install Results</source> <translation>Wynik instalacji</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="2263"/> + <location filename="../../src/yuzu/main.cpp" line="2256"/> <source>To avoid possible conflicts, we discourage users from installing base games to the NAND. Please, only use this feature to install updates and DLC.</source> <translation>Aby uniknąć ewentualnych konfliktów, odradzamy użytkownikom instalowanie gier na NAND. Proszę, używaj tej funkcji tylko do instalowania łatek i DLC.</translation> </message> <message numerus="yes"> - <location filename="../../src/yuzu/main.cpp" line="2269"/> + <location filename="../../src/yuzu/main.cpp" line="2262"/> <source>%n file(s) were newly installed </source> <translation type="unfinished"><numerusform></numerusform><numerusform></numerusform><numerusform></numerusform><numerusform></numerusform></translation> </message> <message numerus="yes"> - <location filename="../../src/yuzu/main.cpp" line="2272"/> + <location filename="../../src/yuzu/main.cpp" line="2265"/> <source>%n file(s) were overwritten </source> <translation type="unfinished"><numerusform></numerusform><numerusform></numerusform><numerusform></numerusform><numerusform></numerusform></translation> </message> <message numerus="yes"> - <location filename="../../src/yuzu/main.cpp" line="2274"/> + <location filename="../../src/yuzu/main.cpp" line="2267"/> <source>%n file(s) failed to install </source> <translation type="unfinished"><numerusform></numerusform><numerusform></numerusform><numerusform></numerusform><numerusform></numerusform></translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="2375"/> + <location filename="../../src/yuzu/main.cpp" line="2368"/> <source>System Application</source> <translation>Aplikacja systemowa</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="2376"/> + <location filename="../../src/yuzu/main.cpp" line="2369"/> <source>System Archive</source> <translation>Archiwum systemu</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="2377"/> + <location filename="../../src/yuzu/main.cpp" line="2370"/> <source>System Application Update</source> <translation>Aktualizacja aplikacji systemowej</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="2378"/> + <location filename="../../src/yuzu/main.cpp" line="2371"/> <source>Firmware Package (Type A)</source> <translation>Paczka systemowa (Typ A)</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="2379"/> + <location filename="../../src/yuzu/main.cpp" line="2372"/> <source>Firmware Package (Type B)</source> <translation>Paczka systemowa (Typ B)</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="2380"/> + <location filename="../../src/yuzu/main.cpp" line="2373"/> <source>Game</source> <translation>Gra</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="2381"/> + <location filename="../../src/yuzu/main.cpp" line="2374"/> <source>Game Update</source> <translation>Aktualizacja gry</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="2382"/> + <location filename="../../src/yuzu/main.cpp" line="2375"/> <source>Game DLC</source> <translation>Dodatek do gry</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="2383"/> + <location filename="../../src/yuzu/main.cpp" line="2376"/> <source>Delta Title</source> <translation>Tytuł Delta</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="2386"/> + <location filename="../../src/yuzu/main.cpp" line="2379"/> <source>Select NCA Install Type...</source> <translation>Wybierz typ instalacji NCA...</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="2387"/> + <location filename="../../src/yuzu/main.cpp" line="2380"/> <source>Please select the type of title you would like to install this NCA as: (In most instances, the default 'Game' is fine.)</source> <translation>Wybierz typ tytułu, do którego chcesz zainstalować ten NCA, jako: (W większości przypadków domyślna "gra" jest w porządku.)</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="2393"/> + <location filename="../../src/yuzu/main.cpp" line="2386"/> <source>Failed to Install</source> <translation>Instalacja nieudana</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="2394"/> + <location filename="../../src/yuzu/main.cpp" line="2387"/> <source>The title type you selected for the NCA is invalid.</source> <translation>Typ tytułu wybrany dla NCA jest nieprawidłowy.</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="2429"/> + <location filename="../../src/yuzu/main.cpp" line="2422"/> <source>File not found</source> <translation>Nie znaleziono pliku</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="2430"/> + <location filename="../../src/yuzu/main.cpp" line="2423"/> <source>File "%1" not found</source> <translation>Nie znaleziono pliku "%1"</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="2445"/> - <location filename="../../src/yuzu/main.cpp" line="3448"/> - <source>&Continue</source> - <translation>&Kontynuuj</translation> - </message> - <message> - <location filename="../../src/yuzu/main.cpp" line="2494"/> + <location filename="../../src/yuzu/main.cpp" line="2492"/> <source>OK</source> <translation>OK</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="2508"/> + <location filename="../../src/yuzu/main.cpp" line="2506"/> <source>Missing yuzu Account</source> <translation>Brakuje konta Yuzu</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="2509"/> + <location filename="../../src/yuzu/main.cpp" line="2507"/> <source>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.</source> <translation>Aby przesłać test zgodności gry, musisz połączyć swoje konto yuzu.<br><br/> Aby połączyć swoje konto yuzu, przejdź do opcji Emulacja &gt; Konfiguracja &gt; Sieć.</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="2519"/> + <location filename="../../src/yuzu/main.cpp" line="2517"/> <source>Error opening URL</source> <translation>Błąd otwierania adresu URL</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="2520"/> + <location filename="../../src/yuzu/main.cpp" line="2518"/> <source>Unable to open the URL "%1".</source> <translation>Nie można otworzyć adresu URL "%1".</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="2802"/> + <location filename="../../src/yuzu/main.cpp" line="2777"/> + <source>TAS Recording</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/main.cpp" line="2777"/> + <source>Overwrite file of player 1?</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/main.cpp" line="2830"/> <source>Amiibo File (%1);; All Files (*.*)</source> <translation>Plik Amiibo (%1);;Wszyskie pliki (*.*)</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="2803"/> + <location filename="../../src/yuzu/main.cpp" line="2831"/> <source>Load Amiibo</source> <translation>Załaduj Amiibo</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="2821"/> + <location filename="../../src/yuzu/main.cpp" line="2849"/> <source>Error opening Amiibo data file</source> <translation>Błąd otwarcia pliku danych Amiibo</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="2822"/> + <location filename="../../src/yuzu/main.cpp" line="2850"/> <source>Unable to open Amiibo file "%1" for reading.</source> <translation>Nie można otworzyć pliku Amiibo "%1" do odczytu.</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="2830"/> + <location filename="../../src/yuzu/main.cpp" line="2858"/> <source>Error reading Amiibo data file</source> <translation>Błąd podczas odczytu pliku danych Amiibo</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="2831"/> + <location filename="../../src/yuzu/main.cpp" line="2859"/> <source>Unable to fully read Amiibo data. Expected to read %1 bytes, but was only able to read %2 bytes.</source> <translation>Nie można w pełni odczytać danych Amiibo. Oczekiwano odczytu %1 bajtów, ale był on w stanie odczytać tylko %2 bajty.</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="2839"/> + <location filename="../../src/yuzu/main.cpp" line="2867"/> <source>Error loading Amiibo data</source> <translation>Błąd podczas ładowania pliku danych Amiibo</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="2840"/> + <location filename="../../src/yuzu/main.cpp" line="2868"/> <source>Unable to load Amiibo data.</source> <translation>Nie można załadować danych Amiibo.</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="2881"/> + <location filename="../../src/yuzu/main.cpp" line="2913"/> <source>Capture Screenshot</source> <translation>Zrób zrzut ekranu</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="2882"/> + <location filename="../../src/yuzu/main.cpp" line="2914"/> <source>PNG Image (*.png)</source> <translation>Obrazek PNG (*.png)</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="2948"/> + <location filename="../../src/yuzu/main.cpp" line="2979"/> <source>TAS state: Running %1/%2</source> <translation type="unfinished"/> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="2950"/> + <location filename="../../src/yuzu/main.cpp" line="2981"/> <source>TAS state: Recording %1</source> <translation type="unfinished"/> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="2952"/> + <location filename="../../src/yuzu/main.cpp" line="2983"/> <source>TAS state: Idle %1/%2</source> <translation type="unfinished"/> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="2954"/> + <location filename="../../src/yuzu/main.cpp" line="2985"/> <source>TAS State: Invalid</source> <translation type="unfinished"/> </message> + <message> + <location filename="../../src/yuzu/main.cpp" line="2999"/> + <source>&Stop Running</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/main.cpp" line="2999"/> + <source>&Start</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/main.cpp" line="3000"/> + <source>Stop R&ecording</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/main.cpp" line="3000"/> + <source>R&ecord</source> + <translation type="unfinished"/> + </message> <message numerus="yes"> - <location filename="../../src/yuzu/main.cpp" line="2975"/> + <location filename="../../src/yuzu/main.cpp" line="3024"/> <source>Building: %n shader(s)</source> <translation type="unfinished"><numerusform></numerusform><numerusform></numerusform><numerusform></numerusform><numerusform></numerusform></translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="2982"/> + <location filename="../../src/yuzu/main.cpp" line="3033"/> + <source>Scale: %1x</source> + <comment>%1 is the resolution scaling factor</comment> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/main.cpp" line="3036"/> <source>Speed: %1% / %2%</source> <translation>Prędkość: %1% / %2%</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="2986"/> + <location filename="../../src/yuzu/main.cpp" line="3040"/> <source>Speed: %1%</source> <translation>Prędkość: %1%</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="2990"/> + <location filename="../../src/yuzu/main.cpp" line="3044"/> <source>Game: %1 FPS (Unlocked)</source> <translation type="unfinished"/> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="2992"/> + <location filename="../../src/yuzu/main.cpp" line="3046"/> <source>Game: %1 FPS</source> <translation>Gra: %1 FPS</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="2994"/> + <location filename="../../src/yuzu/main.cpp" line="3048"/> <source>Frame: %1 ms</source> <translation>Klatka: %1 ms</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="3004"/> + <location filename="../../src/yuzu/main.cpp" line="3059"/> <source>GPU NORMAL</source> <translation type="unfinished"/> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="3009"/> + <location filename="../../src/yuzu/main.cpp" line="3064"/> <source>GPU HIGH</source> <translation type="unfinished"/> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="3014"/> + <location filename="../../src/yuzu/main.cpp" line="3069"/> <source>GPU EXTREME</source> <translation type="unfinished"/> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="3019"/> + <location filename="../../src/yuzu/main.cpp" line="3074"/> <source>GPU ERROR</source> <translation type="unfinished"/> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="3076"/> + <location filename="../../src/yuzu/main.cpp" line="3084"/> + <source>NEAREST</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/main.cpp" line="3087"/> + <location filename="../../src/yuzu/main.cpp" line="3102"/> + <source>BILINEAR</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/main.cpp" line="3090"/> + <source>BICUBIC</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/main.cpp" line="3093"/> + <source>GAUSSIAN</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/main.cpp" line="3096"/> + <source>SCALEFORCE</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/main.cpp" line="3099"/> + <source>FSR</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/main.cpp" line="3111"/> + <location filename="../../src/yuzu/main.cpp" line="3117"/> + <source>NO AA</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/main.cpp" line="3114"/> + <source>FXAA</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/main.cpp" line="3175"/> <source>The game you are trying to load requires additional files from your Switch to be dumped before playing.<br/><br/>For more information on dumping these files, please see the following wiki page: <a href='https://yuzu-emu.org/wiki/dumping-system-archives-and-the-shared-fonts-from-a-switch-console/'>Dumping System Archives and the Shared Fonts from a Switch Console</a>.<br/><br/>Would you like to quit back to the game list? Continuing emulation may result in crashes, corrupted save data, or other bugs.</source> <translation>Gra, którą próbujesz wczytać, wymaga dodatkowych plików z Switch'a, które zostaną zrzucone przed graniem.<br/><br/> Aby uzyskać więcej informacji na temat wyrzucania tych plików, odwiedź następującą stronę wiki:<a href='https://yuzu-emu.org/wiki/dumping-system-archives-and-the-shared-fonts-from-a-switch-console/'> Zrzut archiw systemu i udostępnionych czcionek z konsoli Nintendo Switch</a>. <br/><br/>Czy chcesz wrócić do listy gier? Kontynuacja emulacji może spowodować awarie, uszkodzone dane zapisu lub inne błędy. </translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="3091"/> + <location filename="../../src/yuzu/main.cpp" line="3190"/> <source>yuzu was unable to locate a Switch system archive. %1</source> <translation>yuzu nie był w stanie znaleźć archiwum systemu Switch. %1</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="3093"/> + <location filename="../../src/yuzu/main.cpp" line="3192"/> <source>yuzu was unable to locate a Switch system archive: %1. %2</source> <translation>yuzu nie był w stanie znaleźć archiwum systemu Switch. %1. %2</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="3097"/> + <location filename="../../src/yuzu/main.cpp" line="3196"/> <source>System Archive Not Found</source> <translation>Archiwum systemu nie znalezione.</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="3099"/> + <location filename="../../src/yuzu/main.cpp" line="3198"/> <source>System Archive Missing</source> <translation>Brak archiwum systemowego</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="3105"/> + <location filename="../../src/yuzu/main.cpp" line="3204"/> <source>yuzu was unable to locate the Switch shared fonts. %1</source> <translation>yuzu nie był w stanie zlokalizować czcionek Switch'a. %1</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="3106"/> + <location filename="../../src/yuzu/main.cpp" line="3205"/> <source>Shared Fonts Not Found</source> <translation>Czcionki nie zostały znalezione</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="3108"/> + <location filename="../../src/yuzu/main.cpp" line="3207"/> <source>Shared Font Missing</source> <translation>Brak wspólnej czcionki</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="3114"/> + <location filename="../../src/yuzu/main.cpp" line="3213"/> <source>Fatal Error</source> <translation>Fatalny błąd</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="3115"/> + <location filename="../../src/yuzu/main.cpp" line="3214"/> <source>yuzu has encountered a fatal error, please see the log for more details. For more information on accessing the log, please see the following page: <a href='https://community.citra-emu.org/t/how-to-upload-the-log-file/296'>How to Upload the Log File</a>.<br/><br/>Would you like to quit back to the game list? Continuing emulation may result in crashes, corrupted save data, or other bugs.</source> <translation>yuzu napotkał błąd, proszę zobaczyć log po więcej szczegółów. Aby uzyskać więcej informacji na temat uzyskiwania dostępu do pliku log, zobacz następującą stronę: <a href='https://community.citra-emu.org/t/how-to-upload-the-log-file/296'>Jak przesłać plik log</a>?<br/><br/> Czy chcesz wrócić do listy gier? Kontynuacja emulacji może spowodować awarie, uszkodzone dane zapisu lub inne błędy.</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="3124"/> + <location filename="../../src/yuzu/main.cpp" line="3223"/> <source>Fatal Error encountered</source> <translation>Wystąpił błąd krytyczny</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="3147"/> + <location filename="../../src/yuzu/main.cpp" line="3246"/> <source>Confirm Key Rederivation</source> <translation>Potwierdź ponowną aktywacje klucza</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="3148"/> + <location filename="../../src/yuzu/main.cpp" line="3247"/> <source>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. @@ -4439,37 +4573,37 @@ i opcjonalnie tworzyć kopie zapasowe. Spowoduje to usunięcie wygenerowanych automatycznie plików kluczy i ponowne uruchomienie modułu pochodnego klucza.</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="3180"/> + <location filename="../../src/yuzu/main.cpp" line="3279"/> <source>Missing fuses</source> <translation type="unfinished"/> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="3183"/> + <location filename="../../src/yuzu/main.cpp" line="3282"/> <source> - Missing BOOT0</source> <translation> - Brak BOOT0</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="3186"/> + <location filename="../../src/yuzu/main.cpp" line="3285"/> <source> - Missing BCPKG2-1-Normal-Main</source> <translation> - Brak BCPKG2-1-Normal-Main</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="3189"/> + <location filename="../../src/yuzu/main.cpp" line="3288"/> <source> - Missing PRODINFO</source> <translation> - Brak PRODINFO</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="3193"/> + <location filename="../../src/yuzu/main.cpp" line="3292"/> <source>Derivation Components Missing</source> <translation>Brak komponentów wyprowadzania</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="3194"/> - <source>Components are missing that may hinder key derivation from completing. <br>Please follow <a href='https://yuzu-emu.org/help/quickstart/'>the yuzu quickstart guide</a> to get all your keys and games.<br><br><small>(%1)</small></source> - <translation>Brakuje elementów, które mogą uniemożliwić zakończenie wyprowadzania kluczy. <br>Postępuj zgodnie z <a href='https://yuzu-emu.org/help/quickstart/'>yuzu quickstart guide</a> aby zdobyć wszystkie swoje klucze i gry.<br><br><small>(%1)</small></translation> + <location filename="../../src/yuzu/main.cpp" line="3293"/> + <source>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></source> + <translation type="unfinished"/> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="3203"/> + <location filename="../../src/yuzu/main.cpp" line="3302"/> <source>Deriving keys... This may take up to a minute depending on your system's performance.</source> @@ -4478,39 +4612,39 @@ Zależnie od tego może potrwać do minuty na wydajność twojego systemu.</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="3205"/> + <location filename="../../src/yuzu/main.cpp" line="3304"/> <source>Deriving Keys</source> <translation>Wyprowadzanie kluczy...</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="3250"/> + <location filename="../../src/yuzu/main.cpp" line="3349"/> <source>Select RomFS Dump Target</source> <translation>Wybierz cel zrzutu RomFS</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="3251"/> + <location filename="../../src/yuzu/main.cpp" line="3350"/> <source>Please select which RomFS you would like to dump.</source> <translation>Proszę wybrać RomFS, jakie chcesz zrzucić.</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="3266"/> + <location filename="../../src/yuzu/main.cpp" line="3365"/> <source>Are you sure you want to close yuzu?</source> <translation>Czy na pewno chcesz zamknąć yuzu?</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="3267"/> - <location filename="../../src/yuzu/main.cpp" line="3342"/> - <location filename="../../src/yuzu/main.cpp" line="3355"/> + <location filename="../../src/yuzu/main.cpp" line="3366"/> + <location filename="../../src/yuzu/main.cpp" line="3443"/> + <location filename="../../src/yuzu/main.cpp" line="3456"/> <source>yuzu</source> <translation>yuzu</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="3343"/> + <location filename="../../src/yuzu/main.cpp" line="3444"/> <source>Are you sure you want to stop the emulation? Any unsaved progress will be lost.</source> <translation>Czy na pewno chcesz zatrzymać emulację? Wszystkie niezapisane postępy zostaną utracone.</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="3352"/> + <location filename="../../src/yuzu/main.cpp" line="3453"/> <source>The currently running application has requested yuzu to not exit. Would you like to bypass this and exit anyway?</source> @@ -4522,38 +4656,38 @@ Czy chcesz to ominąć i mimo to wyjść?</translation> <context> <name>GRenderWindow</name> <message> - <location filename="../../src/yuzu/bootmanager.cpp" line="675"/> + <location filename="../../src/yuzu/bootmanager.cpp" line="976"/> <source>OpenGL not available!</source> <translation>OpenGL niedostępny!</translation> </message> <message> - <location filename="../../src/yuzu/bootmanager.cpp" line="676"/> + <location filename="../../src/yuzu/bootmanager.cpp" line="977"/> <source>yuzu has not been compiled with OpenGL support.</source> <translation>yuzu nie zostało skompilowane z obsługą OpenGL.</translation> </message> <message> - <location filename="../../src/yuzu/bootmanager.cpp" line="695"/> - <location filename="../../src/yuzu/bootmanager.cpp" line="715"/> + <location filename="../../src/yuzu/bootmanager.cpp" line="996"/> + <location filename="../../src/yuzu/bootmanager.cpp" line="1016"/> <source>Error while initializing OpenGL!</source> <translation>Błąd podczas inicjowania OpenGL!</translation> </message> <message> - <location filename="../../src/yuzu/bootmanager.cpp" line="696"/> + <location filename="../../src/yuzu/bootmanager.cpp" line="997"/> <source>Your GPU may not support OpenGL, or you do not have the latest graphics driver.</source> <translation>Twoja karta graficzna może nie obsługiwać OpenGL lub nie masz najnowszych sterowników karty graficznej.</translation> </message> <message> - <location filename="../../src/yuzu/bootmanager.cpp" line="705"/> + <location filename="../../src/yuzu/bootmanager.cpp" line="1006"/> <source>Error while initializing OpenGL 4.6!</source> <translation>Błąd podczas inicjowania OpenGL 4.6!</translation> </message> <message> - <location filename="../../src/yuzu/bootmanager.cpp" line="706"/> + <location filename="../../src/yuzu/bootmanager.cpp" line="1007"/> <source>Your GPU may not support OpenGL 4.6, or you do not have the latest graphics driver.<br><br>GL Renderer:<br>%1</source> <translation>Twoja karta graficzna może nie obsługiwać OpenGL 4.6 lub nie masz najnowszych sterowników karty graficznej.<br><br>GL Renderer:<br>%1</translation> </message> <message> - <location filename="../../src/yuzu/bootmanager.cpp" line="716"/> + <location filename="../../src/yuzu/bootmanager.cpp" line="1017"/> <source>Your GPU may not support one or more required OpenGL extensions. Please ensure you have the latest graphics driver.<br><br>GL Renderer:<br>%1<br><br>Unsupported extensions:<br>%2</source> <translation>Twoja karta graficzna może nie obsługiwać co najmniej jednego wymaganego rozszerzenia OpenGL. Upewnij się, że masz najnowsze sterowniki karty graficznej<br><br>GL Renderer:<br>%1<br><br>Nieobsługiwane rozszerzenia:<br>%2</translation> </message> @@ -4914,190 +5048,205 @@ startowy.</translation> <translation>&Emulacja</translation> </message> <message> - <location filename="../../src/yuzu/main.ui" line="79"/> + <location filename="../../src/yuzu/main.ui" line="78"/> <source>&View</source> <translation>&Widok</translation> </message> <message> - <location filename="../../src/yuzu/main.ui" line="83"/> + <location filename="../../src/yuzu/main.ui" line="82"/> <source>&Reset Window Size</source> <translation type="unfinished"/> </message> <message> - <location filename="../../src/yuzu/main.ui" line="88"/> + <location filename="../../src/yuzu/main.ui" line="87"/> + <source>&Debugging</source> + <translation>&Debugowanie</translation> + </message> + <message> + <location filename="../../src/yuzu/main.ui" line="92"/> <source>Reset Window Size to &720p</source> <translation>Zresetuj rozmiar okna do &720p</translation> </message> <message> - <location filename="../../src/yuzu/main.ui" line="91"/> + <location filename="../../src/yuzu/main.ui" line="95"/> <source>Reset Window Size to 720p</source> <translation>Zresetuj rozmiar okna do 720p</translation> </message> <message> - <location filename="../../src/yuzu/main.ui" line="96"/> + <location filename="../../src/yuzu/main.ui" line="100"/> <source>Reset Window Size to &900p</source> <translation type="unfinished"/> </message> <message> - <location filename="../../src/yuzu/main.ui" line="99"/> + <location filename="../../src/yuzu/main.ui" line="103"/> <source>Reset Window Size to 900p</source> <translation type="unfinished"/> </message> <message> - <location filename="../../src/yuzu/main.ui" line="104"/> + <location filename="../../src/yuzu/main.ui" line="108"/> <source>Reset Window Size to &1080p</source> <translation>Zresetuj rozmiar okna do &1080p</translation> </message> <message> - <location filename="../../src/yuzu/main.ui" line="107"/> + <location filename="../../src/yuzu/main.ui" line="111"/> <source>Reset Window Size to 1080p</source> <translation>Zresetuj rozmiar okna do 1080p</translation> </message> <message> - <location filename="../../src/yuzu/main.ui" line="112"/> - <source>&Debugging</source> - <translation>&Debugowanie</translation> - </message> - <message> - <location filename="../../src/yuzu/main.ui" line="126"/> + <location filename="../../src/yuzu/main.ui" line="125"/> <source>&Tools</source> <translation>&Narzędzia</translation> </message> <message> - <location filename="../../src/yuzu/main.ui" line="135"/> + <location filename="../../src/yuzu/main.ui" line="129"/> + <source>&TAS</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/main.ui" line="144"/> <source>&Help</source> <translation>&Pomoc</translation> </message> <message> - <location filename="../../src/yuzu/main.ui" line="155"/> + <location filename="../../src/yuzu/main.ui" line="164"/> <source>&Install Files to NAND...</source> <translation>&Zainstaluj pliki na NAND...</translation> </message> <message> - <location filename="../../src/yuzu/main.ui" line="160"/> + <location filename="../../src/yuzu/main.ui" line="169"/> <source>L&oad File...</source> <translation type="unfinished"/> </message> <message> - <location filename="../../src/yuzu/main.ui" line="165"/> + <location filename="../../src/yuzu/main.ui" line="174"/> <source>Load &Folder...</source> <translation type="unfinished"/> </message> <message> - <location filename="../../src/yuzu/main.ui" line="170"/> + <location filename="../../src/yuzu/main.ui" line="179"/> <source>E&xit</source> <translation>&Wyjście</translation> </message> <message> - <location filename="../../src/yuzu/main.ui" line="178"/> - <source>&Start</source> - <translation>&Start</translation> - </message> - <message> - <location filename="../../src/yuzu/main.ui" line="186"/> + <location filename="../../src/yuzu/main.ui" line="187"/> <source>&Pause</source> <translation>&Pauza</translation> </message> <message> - <location filename="../../src/yuzu/main.ui" line="194"/> + <location filename="../../src/yuzu/main.ui" line="195"/> <source>&Stop</source> <translation>&Stop</translation> </message> <message> - <location filename="../../src/yuzu/main.ui" line="199"/> + <location filename="../../src/yuzu/main.ui" line="200"/> <source>&Reinitialize keys...</source> <translation type="unfinished"/> </message> <message> - <location filename="../../src/yuzu/main.ui" line="204"/> + <location filename="../../src/yuzu/main.ui" line="205"/> <source>&About yuzu</source> <translation type="unfinished"/> </message> <message> - <location filename="../../src/yuzu/main.ui" line="212"/> + <location filename="../../src/yuzu/main.ui" line="213"/> <source>Single &Window Mode</source> <translation type="unfinished"/> </message> <message> - <location filename="../../src/yuzu/main.ui" line="217"/> + <location filename="../../src/yuzu/main.ui" line="218"/> <source>Con&figure...</source> <translation type="unfinished"/> </message> <message> - <location filename="../../src/yuzu/main.ui" line="225"/> + <location filename="../../src/yuzu/main.ui" line="226"/> <source>Display D&ock Widget Headers</source> <translation type="unfinished"/> </message> <message> - <location filename="../../src/yuzu/main.ui" line="233"/> + <location filename="../../src/yuzu/main.ui" line="234"/> <source>Show &Filter Bar</source> <translation type="unfinished"/> </message> <message> - <location filename="../../src/yuzu/main.ui" line="241"/> + <location filename="../../src/yuzu/main.ui" line="242"/> <source>Show &Status Bar</source> <translation type="unfinished"/> </message> <message> - <location filename="../../src/yuzu/main.ui" line="244"/> + <location filename="../../src/yuzu/main.ui" line="245"/> <source>Show Status Bar</source> <translation>Pokaż pasek statusu</translation> </message> <message> - <location filename="../../src/yuzu/main.ui" line="252"/> + <location filename="../../src/yuzu/main.ui" line="253"/> <source>F&ullscreen</source> <translation type="unfinished"/> </message> <message> - <location filename="../../src/yuzu/main.ui" line="260"/> + <location filename="../../src/yuzu/main.ui" line="261"/> <source>&Restart</source> <translation>&Restart</translation> </message> <message> - <location filename="../../src/yuzu/main.ui" line="268"/> + <location filename="../../src/yuzu/main.ui" line="269"/> <source>Load &Amiibo...</source> <translation type="unfinished"/> </message> <message> - <location filename="../../src/yuzu/main.ui" line="276"/> + <location filename="../../src/yuzu/main.ui" line="277"/> <source>&Report Compatibility</source> <translation type="unfinished"/> </message> <message> - <location filename="../../src/yuzu/main.ui" line="284"/> + <location filename="../../src/yuzu/main.ui" line="285"/> <source>Open &Mods Page</source> <translation type="unfinished"/> </message> <message> - <location filename="../../src/yuzu/main.ui" line="289"/> + <location filename="../../src/yuzu/main.ui" line="290"/> <source>Open &Quickstart Guide</source> <translation type="unfinished"/> </message> <message> - <location filename="../../src/yuzu/main.ui" line="294"/> + <location filename="../../src/yuzu/main.ui" line="295"/> <source>&FAQ</source> <translation>&FAQ</translation> </message> <message> - <location filename="../../src/yuzu/main.ui" line="299"/> + <location filename="../../src/yuzu/main.ui" line="300"/> <source>Open &yuzu Folder</source> <translation type="unfinished"/> </message> <message> - <location filename="../../src/yuzu/main.ui" line="307"/> + <location filename="../../src/yuzu/main.ui" line="308"/> <source>&Capture Screenshot</source> <translation type="unfinished"/> </message> <message> - <location filename="../../src/yuzu/main.ui" line="312"/> - <source>Configure &TAS...</source> + <location filename="../../src/yuzu/main.ui" line="313"/> + <source>&Configure TAS...</source> <translation type="unfinished"/> </message> <message> - <location filename="../../src/yuzu/main.ui" line="320"/> + <location filename="../../src/yuzu/main.ui" line="321"/> <source>Configure C&urrent Game...</source> <translation type="unfinished"/> </message> + <message> + <location filename="../../src/yuzu/main.ui" line="329"/> + <source>&Start</source> + <translation>&Start</translation> + </message> + <message> + <location filename="../../src/yuzu/main.ui" line="337"/> + <source>&Reset</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/main.ui" line="345"/> + <source>R&ecord</source> + <translation type="unfinished"/> + </message> </context> <context> <name>MicroProfileDialog</name> @@ -5143,10 +5292,15 @@ p, li { white-space: pre-wrap; } <context> <name>PlayerControlPreview</name> <message> - <location filename="../../src/yuzu/configuration/configure_input_player_widget.cpp" line="1566"/> + <location filename="../../src/yuzu/configuration/configure_input_player_widget.cpp" line="1572"/> <source>START/PAUSE</source> <translation>START/PAUZA</translation> </message> + <message> + <location filename="../../src/yuzu/configuration/configure_input_player_widget.cpp" line="2685"/> + <source>Charging</source> + <translation type="unfinished"/> + </message> </context> <context> <name>QObject</name> @@ -5177,142 +5331,222 @@ p, li { white-space: pre-wrap; } </message> <message> <location filename="../../src/yuzu/configuration/configure_touch_from_button.cpp" line="23"/> - <location filename="../../src/yuzu/configuration/configure_mouse_advanced.cpp" line="32"/> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="72"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="43"/> <source>Shift</source> <translation>Shift</translation> </message> <message> <location filename="../../src/yuzu/configuration/configure_touch_from_button.cpp" line="25"/> - <location filename="../../src/yuzu/configuration/configure_mouse_advanced.cpp" line="34"/> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="74"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="45"/> <source>Ctrl</source> <translation>Ctrl</translation> </message> <message> <location filename="../../src/yuzu/configuration/configure_touch_from_button.cpp" line="27"/> - <location filename="../../src/yuzu/configuration/configure_mouse_advanced.cpp" line="36"/> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="76"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="47"/> <source>Alt</source> <translation>Alt</translation> </message> <message> <location filename="../../src/yuzu/configuration/configure_touch_from_button.cpp" line="37"/> - <location filename="../../src/yuzu/configuration/configure_mouse_advanced.cpp" line="46"/> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="103"/> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="190"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="130"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="196"/> <source>[not set]</source> <translation>[nie ustawione]</translation> </message> <message> <location filename="../../src/yuzu/configuration/configure_touch_from_button.cpp" line="49"/> - <location filename="../../src/yuzu/configuration/configure_mouse_advanced.cpp" line="58"/> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="152"/> <source>Hat %1 %2</source> <translation>Krzyżak %1 %2</translation> </message> <message> <location filename="../../src/yuzu/configuration/configure_touch_from_button.cpp" line="56"/> - <location filename="../../src/yuzu/configuration/configure_mouse_advanced.cpp" line="65"/> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="159"/> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="210"/> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="214"/> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="218"/> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="222"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="219"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="223"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="227"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="231"/> <source>Axis %1%2</source> <translation>Oś %1%2</translation> </message> <message> <location filename="../../src/yuzu/configuration/configure_touch_from_button.cpp" line="62"/> - <location filename="../../src/yuzu/configuration/configure_mouse_advanced.cpp" line="71"/> <source>Button %1</source> <translation>Przycisk %1</translation> </message> <message> <location filename="../../src/yuzu/configuration/configure_touch_from_button.cpp" line="68"/> - <location filename="../../src/yuzu/configuration/configure_mouse_advanced.cpp" line="76"/> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="185"/> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="227"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="190"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="204"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="234"/> <source>[unknown]</source> <translation>[nieznane]</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_mouse_advanced.cpp" line="22"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="58"/> + <source>Left</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="60"/> + <source>Right</source> + <translation type="unfinished"/> + </message> + <message> <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="62"/> - <source>Click 0</source> + <source>Down</source> <translation type="unfinished"/> </message> <message> - <location filename="../../src/yuzu/configuration/configure_mouse_advanced.cpp" line="24"/> <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="64"/> - <source>Click 1</source> + <source>Up</source> <translation type="unfinished"/> </message> <message> - <location filename="../../src/yuzu/configuration/configure_mouse_advanced.cpp" line="26"/> <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="66"/> - <source>Click 2</source> + <source>Z</source> <translation type="unfinished"/> </message> <message> - <location filename="../../src/yuzu/configuration/configure_mouse_advanced.cpp" line="28"/> <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="68"/> - <source>Click 3</source> + <source>R</source> <translation type="unfinished"/> </message> <message> - <location filename="../../src/yuzu/configuration/configure_mouse_advanced.cpp" line="30"/> <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="70"/> - <source>Click 4</source> + <source>L</source> <translation type="unfinished"/> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="109"/> - <source>%1%2</source> - <translation>%1%2</translation> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="72"/> + <source>A</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="74"/> + <source>B</source> + <translation type="unfinished"/> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="117"/> - <source>GC Axis %1%2</source> - <translation>Oś GC %1%2</translation> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="76"/> + <source>X</source> + <translation type="unfinished"/> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="121"/> - <source>GC Button %1</source> - <translation>Przycisk GC %1</translation> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="78"/> + <source>Y</source> + <translation type="unfinished"/> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="130"/> - <source>TAS Axis %1</source> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="80"/> + <source>Start</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="82"/> + <source>L1</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="84"/> + <source>L2</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="86"/> + <source>L3</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="88"/> + <source>R1</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="90"/> + <source>R2</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="92"/> + <source>R3</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="94"/> + <source>Circle</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="96"/> + <source>Cross</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="98"/> + <source>Square</source> <translation type="unfinished"/> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="134"/> - <source>TAS Btn %1</source> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="100"/> + <source>Triangle</source> <translation type="unfinished"/> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="142"/> - <source>Motion %1</source> - <translation>Ruch %1</translation> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="102"/> + <source>Share</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="104"/> + <source>Options</source> + <translation type="unfinished"/> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="166"/> - <source>%1Button %2</source> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="106"/> + <source>[undefined]</source> <translation type="unfinished"/> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="170"/> - <source>SDL Motion</source> - <translation>Ruch SDL</translation> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="140"/> + <source>%1%2</source> + <translation>%1%2</translation> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="144"/> + <source>[invalid]</source> + <translation type="unfinished"/> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="180"/> - <source>%1Click %2</source> - <translation>%1Kliknij %2</translation> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="154"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="178"/> + <source>%1%2Hat %3</source> + <translation type="unfinished"/> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="205"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="158"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="181"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="184"/> + <source>%1%2Axis %3</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="164"/> + <source>%1%2Axis %3,%4,%5</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="168"/> + <source>%1%2Motion %3</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="172"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="187"/> + <source>%1%2Button %3</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="214"/> <source>[unused]</source> <translation>[nieużywane]</translation> </message> @@ -5353,7 +5587,7 @@ p, li { white-space: pre-wrap; } <location filename="../../src/yuzu/applets/qt_controller.ui" line="1656"/> <location filename="../../src/yuzu/applets/qt_controller.ui" line="1857"/> <location filename="../../src/yuzu/applets/qt_controller.ui" line="2054"/> - <location filename="../../src/yuzu/applets/qt_controller.cpp" line="419"/> + <location filename="../../src/yuzu/applets/qt_controller.cpp" line="411"/> <source>Pro Controller</source> <translation>Pro kontroler</translation> </message> @@ -5366,7 +5600,7 @@ p, li { white-space: pre-wrap; } <location filename="../../src/yuzu/applets/qt_controller.ui" line="1661"/> <location filename="../../src/yuzu/applets/qt_controller.ui" line="1862"/> <location filename="../../src/yuzu/applets/qt_controller.ui" line="2059"/> - <location filename="../../src/yuzu/applets/qt_controller.cpp" line="423"/> + <location filename="../../src/yuzu/applets/qt_controller.cpp" line="415"/> <source>Dual Joycons</source> <translation>Para Joyconów</translation> </message> @@ -5379,7 +5613,7 @@ p, li { white-space: pre-wrap; } <location filename="../../src/yuzu/applets/qt_controller.ui" line="1666"/> <location filename="../../src/yuzu/applets/qt_controller.ui" line="1867"/> <location filename="../../src/yuzu/applets/qt_controller.ui" line="2064"/> - <location filename="../../src/yuzu/applets/qt_controller.cpp" line="427"/> + <location filename="../../src/yuzu/applets/qt_controller.cpp" line="419"/> <source>Left Joycon</source> <translation>Lewy Joycon</translation> </message> @@ -5392,7 +5626,7 @@ p, li { white-space: pre-wrap; } <location filename="../../src/yuzu/applets/qt_controller.ui" line="1671"/> <location filename="../../src/yuzu/applets/qt_controller.ui" line="1872"/> <location filename="../../src/yuzu/applets/qt_controller.ui" line="2069"/> - <location filename="../../src/yuzu/applets/qt_controller.cpp" line="431"/> + <location filename="../../src/yuzu/applets/qt_controller.cpp" line="423"/> <source>Right Joycon</source> <translation>Prawy Joycon</translation> </message> @@ -5420,7 +5654,7 @@ p, li { white-space: pre-wrap; } </message> <message> <location filename="../../src/yuzu/applets/qt_controller.ui" line="932"/> - <location filename="../../src/yuzu/applets/qt_controller.cpp" line="436"/> + <location filename="../../src/yuzu/applets/qt_controller.cpp" line="428"/> <source>Handheld</source> <translation>Handheld</translation> </message> @@ -5541,7 +5775,7 @@ p, li { white-space: pre-wrap; } <translation>8</translation> </message> <message> - <location filename="../../src/yuzu/applets/qt_controller.cpp" line="441"/> + <location filename="../../src/yuzu/applets/qt_controller.cpp" line="433"/> <source>GameCube Controller</source> <translation>Kontroler GameCube</translation> </message> @@ -5635,13 +5869,13 @@ p, li { white-space: pre-wrap; } <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></translation> </message> <message> - <location filename="../../src/yuzu/applets/qt_software_keyboard.cpp" line="396"/> - <location filename="../../src/yuzu/applets/qt_software_keyboard.cpp" line="406"/> + <location filename="../../src/yuzu/applets/qt_software_keyboard.cpp" line="399"/> + <location filename="../../src/yuzu/applets/qt_software_keyboard.cpp" line="409"/> <source>OK</source> <translation>OK</translation> </message> <message> - <location filename="../../src/yuzu/applets/qt_software_keyboard.cpp" line="406"/> + <location filename="../../src/yuzu/applets/qt_software_keyboard.cpp" line="409"/> <source>Cancel</source> <translation>Anuluj</translation> </message> diff --git a/dist/languages/pt_BR.ts b/dist/languages/pt_BR.ts index 0c859297e..b2fc3113b 100644 --- a/dist/languages/pt_BR.ts +++ b/dist/languages/pt_BR.ts @@ -666,7 +666,12 @@ p, li { white-space: pre-wrap; } <translation>Ativar auto-esboço**</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_debug.ui" line="212"/> + <location filename="../../src/yuzu/configuration/configure_debug.ui" line="204"/> + <source>Enable all Controller Types</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_debug.ui" line="219"/> <source>**This will be reset automatically when yuzu closes.</source> <translation>**Isto será restaurado automaticamente assim que o yuzu for fechado.</translation> </message> @@ -946,67 +951,78 @@ p, li { white-space: pre-wrap; } <translation>Geral</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_general.ui" line="35"/> - <source>Framerate Cap</source> + <location filename="../../src/yuzu/configuration/configure_general.ui" line="50"/> + <location filename="../../src/yuzu/configuration/configure_general.ui" line="57"/> + <source>Use global framerate cap</source> <translation type="unfinished"/> </message> <message> - <location filename="../../src/yuzu/configuration/configure_general.ui" line="38"/> + <location filename="../../src/yuzu/configuration/configure_general.ui" line="62"/> + <source>Set framerate cap:</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_general.ui" line="70"/> <source>Requires the use of the FPS Limiter Toggle hotkey to take effect.</source> <translation type="unfinished"/> </message> <message> - <location filename="../../src/yuzu/configuration/configure_general.ui" line="45"/> - <source>x</source> + <location filename="../../src/yuzu/configuration/configure_general.ui" line="73"/> + <source>Framerate Cap</source> <translation type="unfinished"/> </message> <message> - <location filename="../../src/yuzu/configuration/configure_general.ui" line="65"/> + <location filename="../../src/yuzu/configuration/configure_general.ui" line="95"/> + <source>x</source> + <translation>x</translation> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_general.ui" line="116"/> <source>Limit Speed Percent</source> <translation>Limitar percentual de velocidade</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_general.ui" line="72"/> + <location filename="../../src/yuzu/configuration/configure_general.ui" line="123"/> <source>%</source> <translation>%</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_general.ui" line="90"/> + <location filename="../../src/yuzu/configuration/configure_general.ui" line="141"/> <source>Multicore CPU Emulation</source> <translation>Emulação de CPU multinúcleo</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_general.ui" line="97"/> + <location filename="../../src/yuzu/configuration/configure_general.ui" line="148"/> <source>Confirm exit while emulation is running</source> <translation>Confirmar saída quando a emulação estiver em execução</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_general.ui" line="104"/> + <location filename="../../src/yuzu/configuration/configure_general.ui" line="155"/> <source>Prompt for user on game boot</source> <translation>Escolher um usuário ao iniciar um jogo</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_general.ui" line="111"/> + <location filename="../../src/yuzu/configuration/configure_general.ui" line="162"/> <source>Pause emulation when in background</source> <translation>Pausar emulação quando a janela ficar em segundo plano</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_general.ui" line="118"/> + <location filename="../../src/yuzu/configuration/configure_general.ui" line="169"/> <source>Hide mouse on inactivity</source> <translation>Esconder cursor do mouse quando em inatividade</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_general.ui" line="160"/> + <location filename="../../src/yuzu/configuration/configure_general.ui" line="211"/> <source>Reset All Settings</source> <translation>Redefinir todas as configurações</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_general.cpp" line="70"/> + <location filename="../../src/yuzu/configuration/configure_general.cpp" line="78"/> <source>yuzu</source> <translation>yuzu</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_general.cpp" line="71"/> + <location filename="../../src/yuzu/configuration/configure_general.cpp" line="79"/> <source>This reset all settings and remove all per-game configurations. This will not delete game directories, profiles, or input profiles. Proceed?</source> <translation>Isto restaura todas as configurações e exclui as configurações individuais de todos os jogos. As pastas de jogos, perfis de jogos e perfis de controles não serão excluídos. Deseja prosseguir?</translation> </message> @@ -1124,18 +1140,113 @@ p, li { white-space: pre-wrap; } <translation>Esticar para a janela</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_graphics.ui" line="339"/> - <location filename="../../src/yuzu/configuration/configure_graphics.ui" line="349"/> + <location filename="../../src/yuzu/configuration/configure_graphics.ui" line="330"/> + <source>Resolution:</source> + <translation>Resolução:</translation> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_graphics.ui" line="338"/> + <source>0.5X (360p/540p) [EXPERIMENTAL]</source> + <translation>0.5X (360p/540p) [EXPERIMENTAL]</translation> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_graphics.ui" line="343"/> + <source>0.75X (540p/810p) [EXPERIMENTAL]</source> + <translation>0.75X (540p/810p) [EXPERIMENTAL]</translation> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_graphics.ui" line="348"/> + <source>1X (720p/1080p)</source> + <translation>1X (720p/1080p)</translation> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_graphics.ui" line="353"/> + <source>2X (1440p/2160p)</source> + <translation>2X (1440p/2160p)</translation> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_graphics.ui" line="358"/> + <source>3X (2160p/3240p)</source> + <translation>3X (2160p/3240p)</translation> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_graphics.ui" line="363"/> + <source>4X (2880p/4320p)</source> + <translation>4X (2880p/4320p)</translation> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_graphics.ui" line="368"/> + <source>5X (3600p/5400p)</source> + <translation>5X (3600p/5400p)</translation> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_graphics.ui" line="373"/> + <source>6X (4320p/6480p)</source> + <translation>6X (4320p/6480p)</translation> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_graphics.ui" line="399"/> + <source>Window Adapting Filter:</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_graphics.ui" line="407"/> + <source>Nearest Neighbor</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_graphics.ui" line="412"/> + <source>Bilinear</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_graphics.ui" line="417"/> + <source>Bicubic</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_graphics.ui" line="422"/> + <source>Gaussian</source> + <translation>Gaussiana</translation> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_graphics.ui" line="427"/> + <source>ScaleForce</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_graphics.ui" line="432"/> + <source>AMD FidelityFX™️ Super Resolution [Vulkan Only]</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_graphics.ui" line="458"/> + <source>Anti-Aliasing Method:</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_graphics.ui" line="466"/> + <source>None</source> + <translation>Nenhum</translation> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_graphics.ui" line="471"/> + <source>FXAA</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_graphics.ui" line="506"/> + <location filename="../../src/yuzu/configuration/configure_graphics.ui" line="516"/> <source>Use global background color</source> <translation>Usar cor de fundo global</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_graphics.ui" line="354"/> + <location filename="../../src/yuzu/configuration/configure_graphics.ui" line="521"/> <source>Set background color:</source> <translation>Configurar cor de fundo:</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_graphics.ui" line="362"/> + <location filename="../../src/yuzu/configuration/configure_graphics.ui" line="529"/> <source>Background Color:</source> <translation>Cor de fundo:</translation> </message> @@ -1204,27 +1315,32 @@ p, li { white-space: pre-wrap; } </message> <message> <location filename="../../src/yuzu/configuration/configure_graphics_advanced.ui" line="128"/> - <source>Default</source> - <translation>Padrão</translation> + <source>Automatic</source> + <translation>Automático</translation> </message> <message> <location filename="../../src/yuzu/configuration/configure_graphics_advanced.ui" line="133"/> - <source>2x (WILL BREAK THINGS)</source> - <translation type="unfinished"/> + <source>Default</source> + <translation>Padrão</translation> </message> <message> <location filename="../../src/yuzu/configuration/configure_graphics_advanced.ui" line="138"/> - <source>4x (WILL BREAK THINGS)</source> - <translation type="unfinished"/> + <source>2x</source> + <translation>2x</translation> </message> <message> <location filename="../../src/yuzu/configuration/configure_graphics_advanced.ui" line="143"/> - <source>8x (WILL BREAK THINGS)</source> + <source>4x</source> <translation type="unfinished"/> </message> <message> <location filename="../../src/yuzu/configuration/configure_graphics_advanced.ui" line="148"/> - <source>16x (WILL BREAK THINGS)</source> + <source>8x</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_graphics_advanced.ui" line="153"/> + <source>16x</source> <translation type="unfinished"/> </message> </context> @@ -1552,8 +1668,8 @@ p, li { white-space: pre-wrap; } </message> <message> <location filename="../../src/yuzu/configuration/configure_input_advanced.ui" line="2533"/> - <source>Other</source> - <translation>Outro</translation> + <source>Emulated Devices</source> + <translation type="unfinished"/> </message> <message> <location filename="../../src/yuzu/configuration/configure_input_advanced.ui" line="2545"/> @@ -1562,499 +1678,524 @@ p, li { white-space: pre-wrap; } </message> <message> <location filename="../../src/yuzu/configuration/configure_input_advanced.ui" line="2558"/> - <source>Emulate Analog with Keyboard Input</source> - <translation>Emular analógico através do teclado</translation> - </message> - <message> - <location filename="../../src/yuzu/configuration/configure_input_advanced.ui" line="2571"/> - <source>Enable mouse panning</source> - <translation>Ativar o giro do mouse</translation> - </message> - <message> - <location filename="../../src/yuzu/configuration/configure_input_advanced.ui" line="2578"/> - <source>Mouse sensitivity</source> - <translation>Sensibilidade do mouse</translation> - </message> - <message> - <location filename="../../src/yuzu/configuration/configure_input_advanced.ui" line="2584"/> - <source>%</source> - <translation>%</translation> - </message> - <message> - <location filename="../../src/yuzu/configuration/configure_input_advanced.ui" line="2600"/> - <location filename="../../src/yuzu/configuration/configure_input_advanced.ui" line="2623"/> - <source>Advanced</source> - <translation>Avançado</translation> + <source>Mouse</source> + <translation>Mouse</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_advanced.ui" line="2630"/> + <location filename="../../src/yuzu/configuration/configure_input_advanced.ui" line="2565"/> <source>Touchscreen</source> <translation>Touchscreen</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_advanced.ui" line="2643"/> - <source>Mouse</source> - <translation>Mouse</translation> + <location filename="../../src/yuzu/configuration/configure_input_advanced.ui" line="2588"/> + <source>Advanced</source> + <translation>Avançado</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_advanced.ui" line="2650"/> - <source>Motion / Touch</source> - <translation>Movimento/toque</translation> + <location filename="../../src/yuzu/configuration/configure_input_advanced.ui" line="2595"/> + <source>Debug Controller</source> + <translation>Controle de depuração</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_advanced.ui" line="2657"/> - <location filename="../../src/yuzu/configuration/configure_input_advanced.ui" line="2671"/> + <location filename="../../src/yuzu/configuration/configure_input_advanced.ui" line="2602"/> + <location filename="../../src/yuzu/configuration/configure_input_advanced.ui" line="2702"/> <source>Configure</source> <translation>Configurar</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_advanced.ui" line="2664"/> - <source>Debug Controller</source> - <translation>Controle de depuração</translation> + <location filename="../../src/yuzu/configuration/configure_input_advanced.ui" line="2612"/> + <source>Other</source> + <translation>Outro</translation> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_input_advanced.ui" line="2624"/> + <source>Emulate Analog with Keyboard Input</source> + <translation>Emular analógico através do teclado</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_advanced.ui" line="2678"/> + <location filename="../../src/yuzu/configuration/configure_input_advanced.ui" line="2631"/> <source>Requires restarting yuzu</source> <translation>Requer reiniciar o yuzu</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_advanced.ui" line="2687"/> + <location filename="../../src/yuzu/configuration/configure_input_advanced.ui" line="2640"/> <source>Enable XInput 8 player support (disables web applet)</source> <translation>Habilitar o suporte para 8 jogadores ao XInput (desabilita o applet da web)</translation> </message> -</context> -<context> - <name>ConfigureInputPlayer</name> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="14"/> - <source>Configure Input</source> - <translation>Configurar controles</translation> + <location filename="../../src/yuzu/configuration/configure_input_advanced.ui" line="2653"/> + <source>Enable UDP controllers (not needed for motion)</source> + <translation type="unfinished"/> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="63"/> - <source>Connect Controller</source> - <translation>Conectar controle</translation> + <location filename="../../src/yuzu/configuration/configure_input_advanced.ui" line="2666"/> + <source>Enable mouse panning</source> + <translation>Ativar o giro do mouse</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="94"/> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="535"/> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="986"/> - <source>Pro Controller</source> - <translation>Pro Controller</translation> + <location filename="../../src/yuzu/configuration/configure_input_advanced.ui" line="2673"/> + <source>Mouse sensitivity</source> + <translation>Sensibilidade do mouse</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="99"/> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="992"/> - <source>Dual Joycons</source> - <translation>Par de Joycons</translation> + <location filename="../../src/yuzu/configuration/configure_input_advanced.ui" line="2679"/> + <source>%</source> + <translation>%</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="104"/> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="998"/> - <source>Left Joycon</source> - <translation>Joycon Esquerdo</translation> + <location filename="../../src/yuzu/configuration/configure_input_advanced.ui" line="2695"/> + <source>Motion / Touch</source> + <translation>Movimento/toque</translation> </message> +</context> +<context> + <name>ConfigureInputPlayer</name> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="109"/> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="1004"/> - <source>Right Joycon</source> - <translation>Joycon Direito</translation> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="14"/> + <source>Configure Input</source> + <translation>Configurar controles</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="114"/> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="1010"/> - <source>Handheld</source> - <translation>Portátil</translation> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="63"/> + <source>Connect Controller</source> + <translation>Conectar controle</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="125"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="100"/> <source>Input Device</source> <translation>Dispositivo de entrada</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="153"/> - <source>Any</source> - <translation>Qualquer</translation> - </message> - <message> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="158"/> - <source>Keyboard/Mouse</source> - <translation>Teclado/mouse</translation> - </message> - <message> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="194"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="156"/> <source>Profile</source> <translation>Perfil</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="234"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="196"/> <source>Save</source> <translation>Salvar</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="250"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="212"/> <source>New</source> <translation>Novo</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="266"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="228"/> <source>Delete</source> <translation>Excluir</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="329"/> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="1267"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="291"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="1190"/> <source>Left Stick</source> <translation>Analógico esquerdo</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="387"/> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="429"/> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="963"/> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="1002"/> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="2621"/> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="2660"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="349"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="391"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="925"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="964"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="2583"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="2622"/> <source>Up</source> <translation>Cima</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="460"/> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="499"/> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="1033"/> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="1072"/> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="2107"/> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="2691"/> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="2730"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="422"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="461"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="995"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="1034"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="2069"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="2653"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="2692"/> <source>Left</source> <translation>Esquerda</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="509"/> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="548"/> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="1082"/> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="1121"/> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="2156"/> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="2740"/> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="2779"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="471"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="510"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="1044"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="1083"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="2118"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="2702"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="2741"/> <source>Right</source> <translation>Direita</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="591"/> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="630"/> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="1164"/> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="1203"/> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="2822"/> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="2861"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="553"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="592"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="1126"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="1165"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="2784"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="2823"/> <source>Down</source> <translation>Baixo</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="661"/> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="700"/> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="2892"/> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="2931"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="623"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="662"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="2854"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="2893"/> <source>Pressed</source> <translation>Pressionado</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="710"/> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="749"/> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="2941"/> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="2980"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="672"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="711"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="2903"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="2942"/> <source>Modifier</source> <translation>Modificador</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="759"/> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="2990"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="721"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="2952"/> <source>Range</source> <translation>Alcance</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="792"/> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="3023"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="754"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="2985"/> <source>%</source> <translation>%</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="835"/> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="3063"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="797"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="3025"/> <source>Deadzone: 0%</source> <translation>Zona morta: 0%</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="859"/> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="3087"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="821"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="3049"/> <source>Modifier Range: 0%</source> <translation>Alcance de modificador: 0%</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="905"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="867"/> <source>D-Pad</source> <translation>D-pad</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="1289"/> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="1328"/> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="1272"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="1251"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="1290"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="1195"/> <source>L</source> <translation>L</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="1344"/> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="1383"/> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="1264"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="1306"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="1345"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="1187"/> <source>ZL</source> <translation>ZL</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="1464"/> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="1503"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="1426"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="1465"/> <source>Minus</source> <translation>Menos</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="1513"/> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="1552"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="1475"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="1514"/> <source>Capture</source> <translation>Capturar</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="1583"/> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="1622"/> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="1263"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="1545"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="1584"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="1186"/> <source>Plus</source> <translation>Mais</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="1632"/> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="1671"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="1594"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="1633"/> <source>Home</source> <translation>Botão Home</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="1736"/> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="1775"/> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="1266"/> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="1273"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="1698"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="1737"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="1189"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="1196"/> <source>R</source> <translation>R</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="1791"/> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="1830"/> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="1265"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="1753"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="1792"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="1188"/> <source>ZR</source> <translation>ZR</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="1911"/> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="1950"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="1873"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="1912"/> <source>SL</source> <translation>SL</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="1960"/> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="1999"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="1922"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="1961"/> <source>SR</source> <translation>SR</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="2068"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="2030"/> <source>Motion 1</source> <translation>Movimentação 1</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="2117"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="2079"/> <source>Motion 2</source> <translation>Movimentação 2</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="2208"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="2170"/> <source>Face Buttons</source> <translation>Botões de rosto</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="2266"/> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="2305"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="2228"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="2267"/> <source>X</source> <translation>X</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="2336"/> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="2375"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="2298"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="2337"/> <source>Y</source> <translation>Y</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="2385"/> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="2424"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="2347"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="2386"/> <source>A</source> <translation>A</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="2467"/> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="2506"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="2429"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="2468"/> <source>B</source> <translation>B</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="2554"/> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="1268"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="2516"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="1191"/> <source>Right Stick</source> <translation>Analógico direito</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="322"/> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="372"/> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="430"/> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="474"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="330"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="396"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="461"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="507"/> <source>Clear</source> <translation>Limpar</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="324"/> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="374"/> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="432"/> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="476"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="332"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="398"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="463"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="509"/> <source>[not set]</source> <translation>[não definido]</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="327"/> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="478"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="335"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="512"/> <source>Toggle button</source> <translation>Alternar pressionamento do botão</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="335"/> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="339"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="341"/> + <source>Invert button</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="349"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="465"/> + <source>Invert axis</source> + <translation>Inverter eixo</translation> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="355"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="359"/> <source>Set threshold</source> <translation>Estabelecer limite</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="339"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="359"/> <source>Choose a value between 0% and 100%</source> <translation>Escolha um valor entre 0% e 100%</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="406"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="436"/> <source>Map Analog Stick</source> <translation>Mapear analógico</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="407"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="437"/> <source>After pressing OK, first move your joystick horizontally, and then vertically. To invert the axes, first move your joystick vertically, and then horizontally.</source> <translation>Após pressionar OK, mova o seu direcional analógico primeiro horizontalmente e depois verticalmente. Para inverter os eixos, mova seu analógico primeiro verticalmente e depois horizontalmente.</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="434"/> - <source>Invert axis</source> - <translation>Inverter eixo</translation> - </message> - <message> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="500"/> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="952"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="537"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="891"/> <source>Deadzone: %1%</source> <translation>Zona morta: %1%</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="508"/> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="963"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="546"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="896"/> <source>Modifier Range: %1%</source> <translation>Alcance de modificador: %1%</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="1016"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="572"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="918"/> + <source>Pro Controller</source> + <translation>Pro Controller</translation> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="924"/> + <source>Dual Joycons</source> + <translation>Par de Joycons</translation> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="930"/> + <source>Left Joycon</source> + <translation>Joycon Esquerdo</translation> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="936"/> + <source>Right Joycon</source> + <translation>Joycon Direito</translation> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="942"/> + <source>Handheld</source> + <translation>Portátil</translation> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="948"/> <source>GameCube Controller</source> <translation>Controle de GameCube</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="1271"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="958"/> + <source>Poke Ball Plus</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="964"/> + <source>NES Controller</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="970"/> + <source>SNES Controller</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="976"/> + <source>N64 Controller</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="982"/> + <source>Sega Genesis</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="1194"/> <source>Start / Pause</source> <translation>Start / Pause</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="1274"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="1197"/> <source>Z</source> <translation>Z</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="1275"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="1198"/> <source>Control Stick</source> <translation>Direcional de controle</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="1276"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="1199"/> <source>C-Stick</source> <translation>C-Stick</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="1335"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="1297"/> <source>Shake!</source> <translation>Balance!</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="1337"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="1299"/> <source>[waiting]</source> <translation>[esperando]</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="1462"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="1381"/> <source>New Profile</source> <translation>Novo perfil</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="1462"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="1381"/> <source>Enter a profile name:</source> <translation>Insira um nome para do perfil:</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="1470"/> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="1478"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="1389"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="1397"/> <source>Create Input Profile</source> <translation>Criar perfil de controle</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="1471"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="1390"/> <source>The given profile name is not valid!</source> <translation>O nome de perfil inserido não é válido!</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="1479"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="1398"/> <source>Failed to create the input profile "%1"</source> <translation>Falha ao criar o perfil de controle "%1"</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="1499"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="1418"/> <source>Delete Input Profile</source> <translation>Excluir perfil de controle</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="1500"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="1419"/> <source>Failed to delete the input profile "%1"</source> <translation>Falha ao excluir o perfil de controle "%1"</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="1522"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="1441"/> <source>Load Input Profile</source> <translation>Carregar perfil de controle</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="1523"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="1442"/> <source>Failed to load the input profile "%1"</source> <translation>Falha ao carregar o perfil de controle "%1"</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="1542"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="1461"/> <source>Save Input Profile</source> <translation>Salvar perfil de controle</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="1543"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="1462"/> <source>Failed to save the input profile "%1"</source> <translation>Falha ao salvar o perfil de controle "%1"</translation> </message> @@ -2080,85 +2221,75 @@ Para inverter os eixos, mova seu analógico primeiro verticalmente e depois hori <context> <name>ConfigureMotionTouch</name> <message> - <location filename="../../src/yuzu/configuration/configure_motion_touch.ui" line="14"/> + <location filename="../../src/yuzu/configuration/configure_motion_touch.ui" line="6"/> <source>Configure Motion / Touch</source> <translation>Configurar movimento/toque</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_motion_touch.ui" line="23"/> - <source>Mouse Motion</source> - <translation>Movimentação com mouse</translation> - </message> - <message> - <location filename="../../src/yuzu/configuration/configure_motion_touch.ui" line="31"/> - <source>Sensitivity:</source> - <translation>Sensibilidade:</translation> - </message> - <message> - <location filename="../../src/yuzu/configuration/configure_motion_touch.ui" line="65"/> + <location filename="../../src/yuzu/configuration/configure_motion_touch.ui" line="15"/> <source>Touch</source> <translation>Toque</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_motion_touch.ui" line="73"/> + <location filename="../../src/yuzu/configuration/configure_motion_touch.ui" line="23"/> <source>UDP Calibration:</source> <translation>Calibração UDP</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_motion_touch.ui" line="80"/> + <location filename="../../src/yuzu/configuration/configure_motion_touch.ui" line="30"/> <source>(100, 50) - (1800, 850)</source> <translation>(100, 50) - (1800, 850)</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_motion_touch.ui" line="96"/> - <location filename="../../src/yuzu/configuration/configure_motion_touch.ui" line="129"/> - <location filename="../../src/yuzu/configuration/configure_motion_touch.cpp" line="250"/> + <location filename="../../src/yuzu/configuration/configure_motion_touch.ui" line="46"/> + <location filename="../../src/yuzu/configuration/configure_motion_touch.ui" line="73"/> + <location filename="../../src/yuzu/configuration/configure_motion_touch.cpp" line="245"/> <source>Configure</source> <translation>Configurar</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_motion_touch.ui" line="113"/> - <source>Use button mapping:</source> - <translation>Usar mapeamento de botões:</translation> + <location filename="../../src/yuzu/configuration/configure_motion_touch.ui" line="57"/> + <source>Touch from button profile:</source> + <translation type="unfinished"/> </message> <message> - <location filename="../../src/yuzu/configuration/configure_motion_touch.ui" line="141"/> + <location filename="../../src/yuzu/configuration/configure_motion_touch.ui" line="85"/> <source>CemuhookUDP Config</source> <translation>Configuração CemuhookUDP</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_motion_touch.ui" line="147"/> + <location filename="../../src/yuzu/configuration/configure_motion_touch.ui" line="91"/> <source>You may use any Cemuhook compatible UDP input source to provide motion and touch input.</source> <translation>Você pode utilizar qualquer dispositivo de entrada compatível com o Cemuhook UDP para prover dados de movimento e toque.</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_motion_touch.ui" line="190"/> + <location filename="../../src/yuzu/configuration/configure_motion_touch.ui" line="134"/> <source>Server:</source> <translation>Servidor:</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_motion_touch.ui" line="217"/> + <location filename="../../src/yuzu/configuration/configure_motion_touch.ui" line="161"/> <source>Port:</source> <translation>Porta:</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_motion_touch.ui" line="244"/> + <location filename="../../src/yuzu/configuration/configure_motion_touch.ui" line="188"/> <source>Learn More</source> <translation>Saiba mais</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_motion_touch.ui" line="257"/> - <location filename="../../src/yuzu/configuration/configure_motion_touch.cpp" line="273"/> + <location filename="../../src/yuzu/configuration/configure_motion_touch.ui" line="201"/> + <location filename="../../src/yuzu/configuration/configure_motion_touch.cpp" line="268"/> <source>Test</source> <translation>Teste</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_motion_touch.ui" line="270"/> + <location filename="../../src/yuzu/configuration/configure_motion_touch.ui" line="214"/> <source>Add Server</source> <translation>Adicionar servidor</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_motion_touch.ui" line="303"/> + <location filename="../../src/yuzu/configuration/configure_motion_touch.ui" line="247"/> <source>Remove Server</source> <translation>Excluir servidor</translation> </message> @@ -2168,146 +2299,82 @@ Para inverter os eixos, mova seu analógico primeiro verticalmente e depois hori <translation><a href='https://yuzu-emu.org/wiki/using-a-controller-or-android-phone-for-motion-or-touch-input'><span style="text-decoration: underline; color:#039be5;">Saiba mais</span></a></translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_motion_touch.cpp" line="176"/> + <location filename="../../src/yuzu/configuration/configure_motion_touch.cpp" line="171"/> <source>%1:%2</source> <translation>%1:%2</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_motion_touch.cpp" line="181"/> - <location filename="../../src/yuzu/configuration/configure_motion_touch.cpp" line="185"/> - <location filename="../../src/yuzu/configuration/configure_motion_touch.cpp" line="189"/> - <location filename="../../src/yuzu/configuration/configure_motion_touch.cpp" line="195"/> - <location filename="../../src/yuzu/configuration/configure_motion_touch.cpp" line="201"/> - <location filename="../../src/yuzu/configuration/configure_motion_touch.cpp" line="295"/> + <location filename="../../src/yuzu/configuration/configure_motion_touch.cpp" line="176"/> + <location filename="../../src/yuzu/configuration/configure_motion_touch.cpp" line="180"/> + <location filename="../../src/yuzu/configuration/configure_motion_touch.cpp" line="184"/> + <location filename="../../src/yuzu/configuration/configure_motion_touch.cpp" line="190"/> + <location filename="../../src/yuzu/configuration/configure_motion_touch.cpp" line="196"/> + <location filename="../../src/yuzu/configuration/configure_motion_touch.cpp" line="290"/> <source>yuzu</source> <translation>yuzu</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_motion_touch.cpp" line="181"/> + <location filename="../../src/yuzu/configuration/configure_motion_touch.cpp" line="176"/> <source>Port number has invalid characters</source> <translation>O número da porta tem caracteres inválidos</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_motion_touch.cpp" line="185"/> + <location filename="../../src/yuzu/configuration/configure_motion_touch.cpp" line="180"/> <source>Port has to be in range 0 and 65353</source> <translation>A porta tem que estar entre 0 e 65353</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_motion_touch.cpp" line="189"/> + <location filename="../../src/yuzu/configuration/configure_motion_touch.cpp" line="184"/> <source>IP address is not valid</source> <translation>O endereço IP não é válido</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_motion_touch.cpp" line="195"/> + <location filename="../../src/yuzu/configuration/configure_motion_touch.cpp" line="190"/> <source>This UDP server already exists</source> <translation>Este servidor UDP já existe</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_motion_touch.cpp" line="201"/> + <location filename="../../src/yuzu/configuration/configure_motion_touch.cpp" line="196"/> <source>Unable to add more than 8 servers</source> <translation>Não é possível adicionar mais de 8 servidores</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_motion_touch.cpp" line="217"/> + <location filename="../../src/yuzu/configuration/configure_motion_touch.cpp" line="212"/> <source>Testing</source> <translation>Testando</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_motion_touch.cpp" line="233"/> + <location filename="../../src/yuzu/configuration/configure_motion_touch.cpp" line="228"/> <source>Configuring</source> <translation>Configurando</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_motion_touch.cpp" line="264"/> + <location filename="../../src/yuzu/configuration/configure_motion_touch.cpp" line="259"/> <source>Test Successful</source> <translation>Teste bem-sucedido</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_motion_touch.cpp" line="265"/> + <location filename="../../src/yuzu/configuration/configure_motion_touch.cpp" line="260"/> <source>Successfully received data from the server.</source> <translation> Dados foram recebidos do servidor com sucesso.</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_motion_touch.cpp" line="267"/> + <location filename="../../src/yuzu/configuration/configure_motion_touch.cpp" line="262"/> <source>Test Failed</source> <translation>O teste falhou</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_motion_touch.cpp" line="268"/> + <location filename="../../src/yuzu/configuration/configure_motion_touch.cpp" line="263"/> <source>Could not receive valid data from the server.<br>Please verify that the server is set up correctly and the address and port are correct.</source> <translation>Não foi possível receber dados válidos do servidor.<br>Verifique se o servidor foi configurado corretamente e o endereço e porta estão corretos.</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_motion_touch.cpp" line="296"/> + <location filename="../../src/yuzu/configuration/configure_motion_touch.cpp" line="291"/> <source>UDP Test or calibration configuration is in progress.<br>Please wait for them to finish.</source> <translation>Um teste UDP ou configuração de calibração está em curso no momento.<br>Aguarde até a sua conclusão.</translation> </message> </context> <context> - <name>ConfigureMouseAdvanced</name> - <message> - <location filename="../../src/yuzu/configuration/configure_mouse_advanced.ui" line="14"/> - <source>Configure Mouse</source> - <translation>Configurar mouse</translation> - </message> - <message> - <location filename="../../src/yuzu/configuration/configure_mouse_advanced.ui" line="25"/> - <source>Mouse Buttons</source> - <translation>Botões do mouse</translation> - </message> - <message> - <location filename="../../src/yuzu/configuration/configure_mouse_advanced.ui" line="35"/> - <source>Forward:</source> - <translation>Dianteiro:</translation> - </message> - <message> - <location filename="../../src/yuzu/configuration/configure_mouse_advanced.ui" line="75"/> - <source>Back:</source> - <translation>Traseiro:</translation> - </message> - <message> - <location filename="../../src/yuzu/configuration/configure_mouse_advanced.ui" line="103"/> - <source>Left:</source> - <translation>Esquerdo:</translation> - </message> - <message> - <location filename="../../src/yuzu/configuration/configure_mouse_advanced.ui" line="131"/> - <source>Middle:</source> - <translation>Meio:</translation> - </message> - <message> - <location filename="../../src/yuzu/configuration/configure_mouse_advanced.ui" line="197"/> - <source>Right:</source> - <translation>Direito:</translation> - </message> - <message> - <location filename="../../src/yuzu/configuration/configure_mouse_advanced.ui" line="270"/> - <location filename="../../src/yuzu/configuration/configure_mouse_advanced.cpp" line="109"/> - <source>Clear</source> - <translation>Limpar</translation> - </message> - <message> - <location filename="../../src/yuzu/configuration/configure_mouse_advanced.ui" line="289"/> - <source>Defaults</source> - <translation>Padrões</translation> - </message> - <message> - <location filename="../../src/yuzu/configuration/configure_mouse_advanced.cpp" line="111"/> - <source>[not set]</source> - <translation>[não definido]</translation> - </message> - <message> - <location filename="../../src/yuzu/configuration/configure_mouse_advanced.cpp" line="113"/> - <source>Restore Default</source> - <translation>Restaurar padrão</translation> - </message> - <message> - <location filename="../../src/yuzu/configuration/configure_mouse_advanced.cpp" line="200"/> - <source>[press key]</source> - <translation>[pressione uma tecla]</translation> - </message> -</context> -<context> <name>ConfigureNetwork</name> <message> <location filename="../../src/yuzu/configuration/configure_network.ui" line="14"/> @@ -2594,12 +2661,12 @@ Para inverter os eixos, mova seu analógico primeiro verticalmente e depois hori <message> <location filename="../../src/yuzu/configuration/configure_profile_manager.cpp" line="314"/> <source>Error resizing user image</source> - <translation type="unfinished"/> + <translation>Erro no redimensionamento da imagem do usuário</translation> </message> <message> <location filename="../../src/yuzu/configuration/configure_profile_manager.cpp" line="315"/> <source>Unable to resize image</source> - <translation type="unfinished"/> + <translation>Não foi possível redimensionar a imagem</translation> </message> </context> <context> @@ -3090,31 +3157,26 @@ Para inverter os eixos, mova seu analógico primeiro verticalmente e depois hori </message> <message> <location filename="../../src/yuzu/configuration/configure_tas.ui" line="64"/> - <source>Automatic controller profile swapping</source> - <translation>Troca automática do perfil do controle</translation> - </message> - <message> - <location filename="../../src/yuzu/configuration/configure_tas.ui" line="71"/> <source>Loop script</source> <translation type="unfinished"/> </message> <message> - <location filename="../../src/yuzu/configuration/configure_tas.ui" line="81"/> + <location filename="../../src/yuzu/configuration/configure_tas.ui" line="74"/> <source>Pause execution during loads</source> <translation type="unfinished"/> </message> <message> - <location filename="../../src/yuzu/configuration/configure_tas.ui" line="95"/> + <location filename="../../src/yuzu/configuration/configure_tas.ui" line="88"/> <source>Script Directory</source> - <translation type="unfinished"/> + <translation>Diretório do script</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_tas.ui" line="101"/> + <location filename="../../src/yuzu/configuration/configure_tas.ui" line="94"/> <source>Path</source> <translation>Caminho</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_tas.ui" line="108"/> + <location filename="../../src/yuzu/configuration/configure_tas.ui" line="101"/> <source>...</source> <translation>...</translation> </message> @@ -3127,7 +3189,7 @@ Para inverter os eixos, mova seu analógico primeiro verticalmente e depois hori <translation>Configurar TAS</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_tas.cpp" line="53"/> + <location filename="../../src/yuzu/configuration/configure_tas.cpp" line="51"/> <source>Select TAS Load Directory...</source> <translation type="unfinished"/> </message> @@ -3189,37 +3251,37 @@ Mova os pontos para mudar a posição, ou clique duas vezes nas células da tabe <translation>Y</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_touch_from_button.cpp" line="200"/> + <location filename="../../src/yuzu/configuration/configure_touch_from_button.cpp" line="197"/> <source>New Profile</source> <translation>Novo perfil</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_touch_from_button.cpp" line="200"/> + <location filename="../../src/yuzu/configuration/configure_touch_from_button.cpp" line="197"/> <source>Enter the name for the new profile.</source> <translation>Insira o nome do novo perfil.</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_touch_from_button.cpp" line="211"/> + <location filename="../../src/yuzu/configuration/configure_touch_from_button.cpp" line="208"/> <source>Delete Profile</source> <translation>Excluir perfil</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_touch_from_button.cpp" line="211"/> + <location filename="../../src/yuzu/configuration/configure_touch_from_button.cpp" line="208"/> <source>Delete profile %1?</source> <translation>Excluir perfil %1?</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_touch_from_button.cpp" line="224"/> + <location filename="../../src/yuzu/configuration/configure_touch_from_button.cpp" line="221"/> <source>Rename Profile</source> <translation>Renomear perfil</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_touch_from_button.cpp" line="224"/> + <location filename="../../src/yuzu/configuration/configure_touch_from_button.cpp" line="221"/> <source>New name:</source> <translation>Novo nome:</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_touch_from_button.cpp" line="233"/> + <location filename="../../src/yuzu/configuration/configure_touch_from_button.cpp" line="230"/> <source>[press key]</source> <translation>[pressione a tecla]</translation> </message> @@ -3639,12 +3701,12 @@ Mova os pontos para mudar a posição, ou clique duas vezes nas células da tabe <context> <name>ControllerDialog</name> <message> - <location filename="../../src/yuzu/debugger/controller.cpp" line="17"/> + <location filename="../../src/yuzu/debugger/controller.cpp" line="21"/> <source>Controller P1</source> <translation>Controle J1</translation> </message> <message> - <location filename="../../src/yuzu/debugger/controller.cpp" line="52"/> + <location filename="../../src/yuzu/debugger/controller.cpp" line="60"/> <source>&Controller P1</source> <translation>&Controle J1</translation> </message> @@ -3652,90 +3714,95 @@ Mova os pontos para mudar a posição, ou clique duas vezes nas células da tabe <context> <name>GMainWindow</name> <message> - <location filename="../../src/yuzu/main.cpp" line="174"/> + <location filename="../../src/yuzu/main.cpp" line="176"/> <source><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?</source> <translation><a href='https://yuzu-emu.org/help/feature/telemetry/'>Dados anônimos são recolhidos</a> para ajudar a melhorar o yuzu. <br/><br/>Gostaria de compartilhar os seus dados de uso conosco?</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="177"/> + <location filename="../../src/yuzu/main.cpp" line="179"/> <source>Telemetry</source> <translation>Telemetria</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="592"/> + <location filename="../../src/yuzu/main.cpp" line="600"/> <source>Loading Web Applet...</source> <translation>Carregando applet web...</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="639"/> - <location filename="../../src/yuzu/main.cpp" line="642"/> + <location filename="../../src/yuzu/main.cpp" line="647"/> + <location filename="../../src/yuzu/main.cpp" line="650"/> <source>Disable Web Applet</source> <translation>Desativar o applet da web</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="643"/> + <location filename="../../src/yuzu/main.cpp" line="651"/> <source>Disabling the web applet will cause it to not be shown again for the rest of the emulated session. This 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?</source> <translation>Desativar o applet web fará com que ele não apareça novamente até o final da sessão emulada. Isto pode causar comportamento inesperado e só deve ser usado com Super Mario 3D All-Stars. Você deseja mesmo desativar o applet web?</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="746"/> + <location filename="../../src/yuzu/main.cpp" line="754"/> <source>The amount of shaders currently being built</source> <translation>A quantidade de shaders sendo construídos</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="749"/> + <location filename="../../src/yuzu/main.cpp" line="756"/> + <source>The current selected resolution scaling multiplier.</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/main.cpp" line="759"/> <source>Current emulation speed. Values higher or lower than 100% indicate emulation is running faster or slower than a Switch.</source> <translation>Velocidade atual de emulação. Valores maiores ou menores que 100% indicam que a emulação está rodando mais rápida ou lentamente que em um Switch.</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="752"/> + <location filename="../../src/yuzu/main.cpp" line="762"/> <source>How many frames per second the game is currently displaying. This will vary from game to game and scene to scene.</source> <translation>Quantos quadros por segundo o jogo está exibindo atualmente. Isto irá variar de jogo para jogo e cena para cena.</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="756"/> + <location filename="../../src/yuzu/main.cpp" line="766"/> <source>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.</source> <translation>Tempo que leva para emular um quadro do Switch, sem considerar o limitador de taxa de quadros ou a sincronização vertical. Um valor menor ou igual a 16.67 ms indica que a emulação está em velocidade plena.</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="781"/> + <location filename="../../src/yuzu/main.cpp" line="841"/> <source>Invalid config detected</source> <translation>Configuração inválida detectada</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="782"/> + <location filename="../../src/yuzu/main.cpp" line="842"/> <source>Handheld controller can't be used on docked mode. Pro controller will be selected.</source> <translation>O controle portátil não pode ser usado no modo encaixado na base. O Pro Controller será selecionado.</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="794"/> + <location filename="../../src/yuzu/main.cpp" line="854"/> <source>DOCK</source> <translation>NA BASE</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="828"/> + <location filename="../../src/yuzu/main.cpp" line="888"/> <source>VULKAN</source> <translation>VULKAN</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="828"/> + <location filename="../../src/yuzu/main.cpp" line="888"/> <source>OPENGL</source> <translation>OPENGL</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="886"/> + <location filename="../../src/yuzu/main.cpp" line="951"/> <source>&Clear Recent Files</source> <translation>&Limpar arquivos recentes</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="1055"/> - <source>TAS Recording</source> - <translation type="unfinished"/> + <location filename="../../src/yuzu/main.cpp" line="1210"/> + <source>&Continue</source> + <translation>&Continuar</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="1056"/> - <source>Overwrite file of player 1?</source> - <translation>Sobrescrever arquivo do jogador 1?</translation> + <location filename="../../src/yuzu/main.cpp" line="1212"/> + <source>&Pause</source> + <translation type="unfinished"/> </message> <message> <location filename="../../src/yuzu/main.cpp" line="1285"/> @@ -3786,657 +3853,724 @@ Mova os pontos para mudar a posição, ou clique duas vezes nas células da tabe <translation>Ocorreu um erro desconhecido. Consulte o registro para mais detalhes.</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="1462"/> + <location filename="../../src/yuzu/main.cpp" line="1460"/> <source>(64-bit)</source> <translation>(64-bit)</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="1462"/> + <location filename="../../src/yuzu/main.cpp" line="1460"/> <source>(32-bit)</source> <translation>(32-bit)</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="1463"/> + <location filename="../../src/yuzu/main.cpp" line="1461"/> <source>%1 %2</source> <comment>%1 is the title name. %2 indicates if the title is 64-bit or 32-bit</comment> <translation>%1 %2</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="1507"/> - <source>Start</source> - <translation>Iniciar</translation> - </message> - <message> - <location filename="../../src/yuzu/main.cpp" line="1612"/> + <location filename="../../src/yuzu/main.cpp" line="1605"/> <source>Save Data</source> <translation>Dados de jogos salvos</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="1660"/> + <location filename="../../src/yuzu/main.cpp" line="1653"/> <source>Mod Data</source> <translation>Dados de mods</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="1672"/> + <location filename="../../src/yuzu/main.cpp" line="1665"/> <source>Error Opening %1 Folder</source> <translation>Erro ao abrir a pasta %1</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="1673"/> - <location filename="../../src/yuzu/main.cpp" line="2079"/> + <location filename="../../src/yuzu/main.cpp" line="1666"/> + <location filename="../../src/yuzu/main.cpp" line="2072"/> <source>Folder does not exist!</source> <translation>A pasta não existe!</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="1685"/> + <location filename="../../src/yuzu/main.cpp" line="1678"/> <source>Error Opening Transferable Shader Cache</source> <translation>Erro ao abrir o cache de shaders transferível</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="1686"/> + <location filename="../../src/yuzu/main.cpp" line="1679"/> <source>Failed to create the shader cache directory for this title.</source> <translation>Falha ao criar o diretório de cache de shader para este título.</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="1738"/> + <location filename="../../src/yuzu/main.cpp" line="1731"/> <source>Contents</source> <translation>Conteúdo</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="1740"/> + <location filename="../../src/yuzu/main.cpp" line="1733"/> <source>Update</source> <translation>Atualização</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="1742"/> + <location filename="../../src/yuzu/main.cpp" line="1735"/> <source>DLC</source> <translation>DLC</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="1749"/> + <location filename="../../src/yuzu/main.cpp" line="1742"/> <source>Remove Entry</source> <translation>Remover item</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="1749"/> + <location filename="../../src/yuzu/main.cpp" line="1742"/> <source>Remove Installed Game %1?</source> <translation>Remover o jogo instalado %1?</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="1779"/> - <location filename="../../src/yuzu/main.cpp" line="1795"/> - <location filename="../../src/yuzu/main.cpp" line="1826"/> - <location filename="../../src/yuzu/main.cpp" line="1887"/> - <location filename="../../src/yuzu/main.cpp" line="1905"/> - <location filename="../../src/yuzu/main.cpp" line="1928"/> + <location filename="../../src/yuzu/main.cpp" line="1772"/> + <location filename="../../src/yuzu/main.cpp" line="1788"/> + <location filename="../../src/yuzu/main.cpp" line="1819"/> + <location filename="../../src/yuzu/main.cpp" line="1880"/> + <location filename="../../src/yuzu/main.cpp" line="1898"/> + <location filename="../../src/yuzu/main.cpp" line="1921"/> <source>Successfully Removed</source> <translation>Removido com sucesso</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="1780"/> + <location filename="../../src/yuzu/main.cpp" line="1773"/> <source>Successfully removed the installed base game.</source> <translation>O jogo base foi removido com sucesso.</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="1783"/> - <location filename="../../src/yuzu/main.cpp" line="1798"/> - <location filename="../../src/yuzu/main.cpp" line="1821"/> + <location filename="../../src/yuzu/main.cpp" line="1776"/> + <location filename="../../src/yuzu/main.cpp" line="1791"/> + <location filename="../../src/yuzu/main.cpp" line="1814"/> <source>Error Removing %1</source> <translation>Erro ao remover %1</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="1784"/> + <location filename="../../src/yuzu/main.cpp" line="1777"/> <source>The base game is not installed in the NAND and cannot be removed.</source> <translation>O jogo base não está instalado na NAND e não pode ser removido.</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="1796"/> + <location filename="../../src/yuzu/main.cpp" line="1789"/> <source>Successfully removed the installed update.</source> <translation>A atualização instalada foi removida com sucesso.</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="1799"/> + <location filename="../../src/yuzu/main.cpp" line="1792"/> <source>There is no update installed for this title.</source> <translation>Não há nenhuma atualização instalada para este título.</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="1822"/> + <location filename="../../src/yuzu/main.cpp" line="1815"/> <source>There are no DLC installed for this title.</source> <translation>Não há nenhum DLC instalado para este título.</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="1827"/> + <location filename="../../src/yuzu/main.cpp" line="1820"/> <source>Successfully removed %1 installed DLC.</source> <translation>%1 DLC(s) instalados foram removidos com sucesso.</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="1835"/> + <location filename="../../src/yuzu/main.cpp" line="1828"/> <source>Delete OpenGL Transferable Shader Cache?</source> <translation>Apagar o cache de shader transferível do OpenGL?</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="1837"/> + <location filename="../../src/yuzu/main.cpp" line="1830"/> <source>Delete Vulkan Transferable Shader Cache?</source> <translation>Apagar o cache de shader transferível do Vulkan?</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="1839"/> + <location filename="../../src/yuzu/main.cpp" line="1832"/> <source>Delete All Transferable Shader Caches?</source> <translation>Apagar todos os caches de shader transferíveis?</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="1841"/> + <location filename="../../src/yuzu/main.cpp" line="1834"/> <source>Remove Custom Game Configuration?</source> <translation>Remover configurações customizadas do jogo?</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="1847"/> + <location filename="../../src/yuzu/main.cpp" line="1840"/> <source>Remove File</source> <translation>Remover arquivo</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="1882"/> - <location filename="../../src/yuzu/main.cpp" line="1890"/> + <location filename="../../src/yuzu/main.cpp" line="1875"/> + <location filename="../../src/yuzu/main.cpp" line="1883"/> <source>Error Removing Transferable Shader Cache</source> <translation>Erro ao remover cache de shaders transferível</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="1883"/> - <location filename="../../src/yuzu/main.cpp" line="1901"/> + <location filename="../../src/yuzu/main.cpp" line="1876"/> + <location filename="../../src/yuzu/main.cpp" line="1894"/> <source>A shader cache for this title does not exist.</source> <translation>Não existe um cache de shaders para este título.</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="1888"/> + <location filename="../../src/yuzu/main.cpp" line="1881"/> <source>Successfully removed the transferable shader cache.</source> <translation>O cache de shaders transferível foi removido com sucesso.</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="1891"/> + <location filename="../../src/yuzu/main.cpp" line="1884"/> <source>Failed to remove the transferable shader cache.</source> <translation>Falha ao remover o cache de shaders transferível.</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="1900"/> - <location filename="../../src/yuzu/main.cpp" line="1908"/> + <location filename="../../src/yuzu/main.cpp" line="1893"/> + <location filename="../../src/yuzu/main.cpp" line="1901"/> <source>Error Removing Transferable Shader Caches</source> <translation>Erro ao remover os caches de shader transferíveis</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="1906"/> + <location filename="../../src/yuzu/main.cpp" line="1899"/> <source>Successfully removed the transferable shader caches.</source> <translation>Os caches de shader transferíveis foram removidos com sucesso.</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="1909"/> + <location filename="../../src/yuzu/main.cpp" line="1902"/> <source>Failed to remove the transferable shader cache directory.</source> <translation>Falha ao remover o diretório do cache de shader transferível.</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="1922"/> - <location filename="../../src/yuzu/main.cpp" line="1931"/> + <location filename="../../src/yuzu/main.cpp" line="1915"/> + <location filename="../../src/yuzu/main.cpp" line="1924"/> <source>Error Removing Custom Configuration</source> <translation>Erro ao remover as configurações customizadas do jogo.</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="1923"/> + <location filename="../../src/yuzu/main.cpp" line="1916"/> <source>A custom configuration for this title does not exist.</source> <translation>Não há uma configuração customizada para este título.</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="1929"/> + <location filename="../../src/yuzu/main.cpp" line="1922"/> <source>Successfully removed the custom game configuration.</source> <translation>As configurações customizadas do jogo foram removidas com sucesso.</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="1932"/> + <location filename="../../src/yuzu/main.cpp" line="1925"/> <source>Failed to remove the custom game configuration.</source> <translation>Falha ao remover as configurações customizadas do jogo.</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="1939"/> - <location filename="../../src/yuzu/main.cpp" line="2018"/> + <location filename="../../src/yuzu/main.cpp" line="1932"/> + <location filename="../../src/yuzu/main.cpp" line="2011"/> <source>RomFS Extraction Failed!</source> <translation>Falha ao extrair RomFS!</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="1940"/> + <location filename="../../src/yuzu/main.cpp" line="1933"/> <source>There was an error copying the RomFS files or the user cancelled the operation.</source> <translation>Houve um erro ao copiar os arquivos RomFS ou o usuário cancelou a operação.</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="1998"/> + <location filename="../../src/yuzu/main.cpp" line="1991"/> <source>Full</source> <translation>Extração completa</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="1998"/> + <location filename="../../src/yuzu/main.cpp" line="1991"/> <source>Skeleton</source> <translation>Apenas estrutura</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="2000"/> + <location filename="../../src/yuzu/main.cpp" line="1993"/> <source>Select RomFS Dump Mode</source> <translation>Selecione o modo de extração do RomFS</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="2001"/> + <location filename="../../src/yuzu/main.cpp" line="1994"/> <source>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.</source> <translation>Selecione a forma como você gostaria que o RomFS seja extraído.<br>"Extração completa" copiará todos os arquivos para a nova pasta, enquanto que <br>"Apenas estrutura" criará apenas a estrutura de pastas.</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="2019"/> + <location filename="../../src/yuzu/main.cpp" line="2012"/> <source>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</source> <translation type="unfinished"/> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="2026"/> + <location filename="../../src/yuzu/main.cpp" line="2019"/> <source>Extracting RomFS...</source> <translation>Extraindo RomFS...</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="2026"/> - <location filename="../../src/yuzu/main.cpp" line="2206"/> + <location filename="../../src/yuzu/main.cpp" line="2019"/> + <location filename="../../src/yuzu/main.cpp" line="2199"/> <source>Cancel</source> <translation>Cancelar</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="2033"/> + <location filename="../../src/yuzu/main.cpp" line="2026"/> <source>RomFS Extraction Succeeded!</source> <translation>Extração do RomFS concluida!</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="2034"/> + <location filename="../../src/yuzu/main.cpp" line="2027"/> <source>The operation completed successfully.</source> <translation>A operação foi concluída com sucesso.</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="2078"/> + <location filename="../../src/yuzu/main.cpp" line="2071"/> <source>Error Opening %1</source> <translation>Erro ao abrir %1</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="2087"/> + <location filename="../../src/yuzu/main.cpp" line="2080"/> <source>Select Directory</source> <translation>Selecionar pasta</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="2114"/> + <location filename="../../src/yuzu/main.cpp" line="2107"/> <source>Properties</source> <translation>Propriedades</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="2115"/> + <location filename="../../src/yuzu/main.cpp" line="2108"/> <source>The game properties could not be loaded.</source> <translation>As propriedades do jogo não puderam ser carregadas.</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="2127"/> + <location filename="../../src/yuzu/main.cpp" line="2120"/> <source>Switch Executable (%1);;All Files (*.*)</source> <comment>%1 is an identifier for the Switch executable file extensions.</comment> <translation>Executável do Switch (%1);;Todos os arquivos (*.*)</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="2131"/> + <location filename="../../src/yuzu/main.cpp" line="2124"/> <source>Load File</source> <translation>Carregar arquivo</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="2143"/> + <location filename="../../src/yuzu/main.cpp" line="2136"/> <source>Open Extracted ROM Directory</source> <translation>Abrir pasta da ROM extraída</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="2154"/> + <location filename="../../src/yuzu/main.cpp" line="2147"/> <source>Invalid Directory Selected</source> <translation>Pasta inválida selecionada</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="2155"/> + <location filename="../../src/yuzu/main.cpp" line="2148"/> <source>The directory you have selected does not contain a 'main' file.</source> <translation>A pasta que você selecionou não contém um arquivo 'main'.</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="2165"/> + <location filename="../../src/yuzu/main.cpp" line="2158"/> <source>Installable Switch File (*.nca *.nsp *.xci);;Nintendo Content Archive (*.nca);;Nintendo Submission Package (*.nsp);;NX Cartridge Image (*.xci)</source> <translation>Arquivo de Switch instalável (*.nca *.nsp *.xci);; Nintendo Content Archive (*.nca);;Nintendo Submission Package (*.nsp);;NX Cartridge Image (*.xci)</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="2170"/> + <location filename="../../src/yuzu/main.cpp" line="2163"/> <source>Install Files</source> <translation>Instalar arquivos</translation> </message> <message numerus="yes"> - <location filename="../../src/yuzu/main.cpp" line="2214"/> + <location filename="../../src/yuzu/main.cpp" line="2207"/> <source>%n file(s) remaining</source> <translation><numerusform>%n arquivo restante</numerusform><numerusform>%n arquivos restantes</numerusform></translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="2216"/> + <location filename="../../src/yuzu/main.cpp" line="2209"/> <source>Installing file "%1"...</source> <translation>Instalando arquivo "%1"...</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="2262"/> - <location filename="../../src/yuzu/main.cpp" line="2276"/> + <location filename="../../src/yuzu/main.cpp" line="2255"/> + <location filename="../../src/yuzu/main.cpp" line="2269"/> <source>Install Results</source> <translation>Resultados da instalação</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="2263"/> + <location filename="../../src/yuzu/main.cpp" line="2256"/> <source>To avoid possible conflicts, we discourage users from installing base games to the NAND. Please, only use this feature to install updates and DLC.</source> <translation>Para evitar possíveis conflitos, desencorajamos que os usuários instalem os jogos base na NAND. Por favor, use esse recurso apenas para instalar atualizações e DLC.</translation> </message> <message numerus="yes"> - <location filename="../../src/yuzu/main.cpp" line="2269"/> + <location filename="../../src/yuzu/main.cpp" line="2262"/> <source>%n file(s) were newly installed </source> <translation type="unfinished"><numerusform></numerusform><numerusform></numerusform></translation> </message> <message numerus="yes"> - <location filename="../../src/yuzu/main.cpp" line="2272"/> + <location filename="../../src/yuzu/main.cpp" line="2265"/> <source>%n file(s) were overwritten </source> <translation type="unfinished"><numerusform></numerusform><numerusform></numerusform></translation> </message> <message numerus="yes"> - <location filename="../../src/yuzu/main.cpp" line="2274"/> + <location filename="../../src/yuzu/main.cpp" line="2267"/> <source>%n file(s) failed to install </source> <translation type="unfinished"><numerusform></numerusform><numerusform></numerusform></translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="2375"/> + <location filename="../../src/yuzu/main.cpp" line="2368"/> <source>System Application</source> <translation>Aplicativo do sistema</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="2376"/> + <location filename="../../src/yuzu/main.cpp" line="2369"/> <source>System Archive</source> <translation>Arquivo do sistema</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="2377"/> + <location filename="../../src/yuzu/main.cpp" line="2370"/> <source>System Application Update</source> <translation>Atualização de aplicativo do sistema</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="2378"/> + <location filename="../../src/yuzu/main.cpp" line="2371"/> <source>Firmware Package (Type A)</source> <translation>Pacote de firmware (tipo A)</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="2379"/> + <location filename="../../src/yuzu/main.cpp" line="2372"/> <source>Firmware Package (Type B)</source> <translation>Pacote de firmware (tipo B)</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="2380"/> + <location filename="../../src/yuzu/main.cpp" line="2373"/> <source>Game</source> <translation>Jogo</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="2381"/> + <location filename="../../src/yuzu/main.cpp" line="2374"/> <source>Game Update</source> <translation>Atualização de jogo</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="2382"/> + <location filename="../../src/yuzu/main.cpp" line="2375"/> <source>Game DLC</source> <translation>DLC de jogo</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="2383"/> + <location filename="../../src/yuzu/main.cpp" line="2376"/> <source>Delta Title</source> <translation>Título delta</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="2386"/> + <location filename="../../src/yuzu/main.cpp" line="2379"/> <source>Select NCA Install Type...</source> <translation>Selecione o tipo de instalação do NCA...</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="2387"/> + <location filename="../../src/yuzu/main.cpp" line="2380"/> <source>Please select the type of title you would like to install this NCA as: (In most instances, the default 'Game' is fine.)</source> <translation>Selecione o tipo de título como o qual você gostaria de instalar este NCA: (Na maioria dos casos, o padrão 'Jogo' serve bem.)</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="2393"/> + <location filename="../../src/yuzu/main.cpp" line="2386"/> <source>Failed to Install</source> <translation>Falha ao instalar</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="2394"/> + <location filename="../../src/yuzu/main.cpp" line="2387"/> <source>The title type you selected for the NCA is invalid.</source> <translation>O tipo de título que você selecionou para o NCA é inválido.</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="2429"/> + <location filename="../../src/yuzu/main.cpp" line="2422"/> <source>File not found</source> <translation>Arquivo não encontrado</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="2430"/> + <location filename="../../src/yuzu/main.cpp" line="2423"/> <source>File "%1" not found</source> <translation>Arquivo "%1" não encontrado</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="2445"/> - <location filename="../../src/yuzu/main.cpp" line="3448"/> - <source>&Continue</source> - <translation>&Continuar</translation> - </message> - <message> - <location filename="../../src/yuzu/main.cpp" line="2494"/> + <location filename="../../src/yuzu/main.cpp" line="2492"/> <source>OK</source> <translation>OK</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="2508"/> + <location filename="../../src/yuzu/main.cpp" line="2506"/> <source>Missing yuzu Account</source> <translation>Conta do yuzu faltando</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="2509"/> + <location filename="../../src/yuzu/main.cpp" line="2507"/> <source>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.</source> <translation>Para enviar um caso de teste de compatibilidade de jogo, você precisa entrar com a sua conta do yuzu.<br><br/>Para isso, vá para Emulação &gt; Configurar... &gt; Rede.</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="2519"/> + <location filename="../../src/yuzu/main.cpp" line="2517"/> <source>Error opening URL</source> <translation>Erro ao abrir URL</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="2520"/> + <location filename="../../src/yuzu/main.cpp" line="2518"/> <source>Unable to open the URL "%1".</source> <translation>Não foi possível abrir o URL "%1".</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="2802"/> + <location filename="../../src/yuzu/main.cpp" line="2777"/> + <source>TAS Recording</source> + <translation>Gravando TAS</translation> + </message> + <message> + <location filename="../../src/yuzu/main.cpp" line="2777"/> + <source>Overwrite file of player 1?</source> + <translation>Sobrescrever arquivo do jogador 1?</translation> + </message> + <message> + <location filename="../../src/yuzu/main.cpp" line="2830"/> <source>Amiibo File (%1);; All Files (*.*)</source> <translation>Arquivo Amiibo (%1);; Todos os arquivos (*.*)</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="2803"/> + <location filename="../../src/yuzu/main.cpp" line="2831"/> <source>Load Amiibo</source> <translation>Carregar Amiibo</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="2821"/> + <location filename="../../src/yuzu/main.cpp" line="2849"/> <source>Error opening Amiibo data file</source> <translation>Erro ao abrir arquivo de dados do Amiibo</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="2822"/> + <location filename="../../src/yuzu/main.cpp" line="2850"/> <source>Unable to open Amiibo file "%1" for reading.</source> <translation>Não foi possível abrir o arquivo de Amiibo "%1" para leitura.</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="2830"/> + <location filename="../../src/yuzu/main.cpp" line="2858"/> <source>Error reading Amiibo data file</source> <translation>Erro ao ler arquivo de dados de Amiibo</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="2831"/> + <location filename="../../src/yuzu/main.cpp" line="2859"/> <source>Unable to fully read Amiibo data. Expected to read %1 bytes, but was only able to read %2 bytes.</source> <translation>Não foi possível ler completamente os dados do Amiibo. O yuzu esperava ler %1 bytes, mas foi capaz de ler apenas %2 bytes.</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="2839"/> + <location filename="../../src/yuzu/main.cpp" line="2867"/> <source>Error loading Amiibo data</source> <translation>Erro ao carregar dados do Amiibo</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="2840"/> + <location filename="../../src/yuzu/main.cpp" line="2868"/> <source>Unable to load Amiibo data.</source> <translation>Não foi possível carregar os dados do Amiibo.</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="2881"/> + <location filename="../../src/yuzu/main.cpp" line="2913"/> <source>Capture Screenshot</source> <translation>Capturar tela</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="2882"/> + <location filename="../../src/yuzu/main.cpp" line="2914"/> <source>PNG Image (*.png)</source> <translation>Imagem PNG (*.png)</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="2948"/> + <location filename="../../src/yuzu/main.cpp" line="2979"/> <source>TAS state: Running %1/%2</source> <translation type="unfinished"/> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="2950"/> + <location filename="../../src/yuzu/main.cpp" line="2981"/> <source>TAS state: Recording %1</source> <translation type="unfinished"/> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="2952"/> + <location filename="../../src/yuzu/main.cpp" line="2983"/> <source>TAS state: Idle %1/%2</source> <translation type="unfinished"/> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="2954"/> + <location filename="../../src/yuzu/main.cpp" line="2985"/> <source>TAS State: Invalid</source> <translation type="unfinished"/> </message> + <message> + <location filename="../../src/yuzu/main.cpp" line="2999"/> + <source>&Stop Running</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/main.cpp" line="2999"/> + <source>&Start</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/main.cpp" line="3000"/> + <source>Stop R&ecording</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/main.cpp" line="3000"/> + <source>R&ecord</source> + <translation type="unfinished"/> + </message> <message numerus="yes"> - <location filename="../../src/yuzu/main.cpp" line="2975"/> + <location filename="../../src/yuzu/main.cpp" line="3024"/> <source>Building: %n shader(s)</source> <translation><numerusform>Compilando: %n shader(s)</numerusform><numerusform>Compilando: %n shader(s)</numerusform></translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="2982"/> + <location filename="../../src/yuzu/main.cpp" line="3033"/> + <source>Scale: %1x</source> + <comment>%1 is the resolution scaling factor</comment> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/main.cpp" line="3036"/> <source>Speed: %1% / %2%</source> <translation>Velocidade: %1% / %2%</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="2986"/> + <location filename="../../src/yuzu/main.cpp" line="3040"/> <source>Speed: %1%</source> <translation>Velocidade: %1%</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="2990"/> + <location filename="../../src/yuzu/main.cpp" line="3044"/> <source>Game: %1 FPS (Unlocked)</source> <translation>Jogo: %1 FPS (Desbloqueado)</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="2992"/> + <location filename="../../src/yuzu/main.cpp" line="3046"/> <source>Game: %1 FPS</source> <translation>Jogo: %1 FPS</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="2994"/> + <location filename="../../src/yuzu/main.cpp" line="3048"/> <source>Frame: %1 ms</source> <translation>Quadro: %1 ms</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="3004"/> + <location filename="../../src/yuzu/main.cpp" line="3059"/> <source>GPU NORMAL</source> <translation>GPU NORMAL</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="3009"/> + <location filename="../../src/yuzu/main.cpp" line="3064"/> <source>GPU HIGH</source> <translation>GPU ALTA</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="3014"/> + <location filename="../../src/yuzu/main.cpp" line="3069"/> <source>GPU EXTREME</source> <translation>GPU EXTREMA</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="3019"/> + <location filename="../../src/yuzu/main.cpp" line="3074"/> <source>GPU ERROR</source> <translation>ERRO DE GPU</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="3076"/> + <location filename="../../src/yuzu/main.cpp" line="3084"/> + <source>NEAREST</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/main.cpp" line="3087"/> + <location filename="../../src/yuzu/main.cpp" line="3102"/> + <source>BILINEAR</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/main.cpp" line="3090"/> + <source>BICUBIC</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/main.cpp" line="3093"/> + <source>GAUSSIAN</source> + <translation>GAUSSIANA</translation> + </message> + <message> + <location filename="../../src/yuzu/main.cpp" line="3096"/> + <source>SCALEFORCE</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/main.cpp" line="3099"/> + <source>FSR</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/main.cpp" line="3111"/> + <location filename="../../src/yuzu/main.cpp" line="3117"/> + <source>NO AA</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/main.cpp" line="3114"/> + <source>FXAA</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/main.cpp" line="3175"/> <source>The game you are trying to load requires additional files from your Switch to be dumped before playing.<br/><br/>For more information on dumping these files, please see the following wiki page: <a href='https://yuzu-emu.org/wiki/dumping-system-archives-and-the-shared-fonts-from-a-switch-console/'>Dumping System Archives and the Shared Fonts from a Switch Console</a>.<br/><br/>Would you like to quit back to the game list? Continuing emulation may result in crashes, corrupted save data, or other bugs.</source> <translation>O jogo que você está tentando carregar precisa que arquivos adicionais do seu Switch sejam extraídos antes de jogá-lo.<br/><br/>Para saber mais sobre como extrair esses arquivos, visite a seguinte página da wiki: <a href='https://yuzu-emu.org/wiki/dumping-system-archives-and-the-shared-fonts-from-a-switch-console/'>Extraindo arquivos de sistema e fontes compartilhadas de um Switch</a>.<br/><br/> Gostaria de voltar para a lista de jogos? Continuar com a emulação pode resultar em travamentos, dados salvos corrompidos ou outros problemas.</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="3091"/> + <location filename="../../src/yuzu/main.cpp" line="3190"/> <source>yuzu was unable to locate a Switch system archive. %1</source> <translation>O yuzu não foi capaz de encontrar um arquivo de sistema do Switch. %1</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="3093"/> + <location filename="../../src/yuzu/main.cpp" line="3192"/> <source>yuzu was unable to locate a Switch system archive: %1. %2</source> <translation>O yuzu não foi capaz de encontrar um arquivo de sistema do Switch. %1. %2</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="3097"/> + <location filename="../../src/yuzu/main.cpp" line="3196"/> <source>System Archive Not Found</source> <translation>Arquivo do sistema não encontrado</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="3099"/> + <location filename="../../src/yuzu/main.cpp" line="3198"/> <source>System Archive Missing</source> <translation>Arquivo de sistema faltando</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="3105"/> + <location filename="../../src/yuzu/main.cpp" line="3204"/> <source>yuzu was unable to locate the Switch shared fonts. %1</source> <translation>O yuzu não foi capaz de encontrar as fontes compartilhadas do Switch. %1</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="3106"/> + <location filename="../../src/yuzu/main.cpp" line="3205"/> <source>Shared Fonts Not Found</source> <translation>Fontes compartilhadas não encontradas</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="3108"/> + <location filename="../../src/yuzu/main.cpp" line="3207"/> <source>Shared Font Missing</source> <translation>Fonte compartilhada faltando</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="3114"/> + <location filename="../../src/yuzu/main.cpp" line="3213"/> <source>Fatal Error</source> <translation>Erro fatal</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="3115"/> + <location filename="../../src/yuzu/main.cpp" line="3214"/> <source>yuzu has encountered a fatal error, please see the log for more details. For more information on accessing the log, please see the following page: <a href='https://community.citra-emu.org/t/how-to-upload-the-log-file/296'>How to Upload the Log File</a>.<br/><br/>Would you like to quit back to the game list? Continuing emulation may result in crashes, corrupted save data, or other bugs.</source> <translation>O yuzu encontrou um erro fatal. Consulte o registro para mais detalhes. Para mais informações sobre como acessar o registro, consulte a seguinte página: <a href='https://community.citra-emu.org/t/how-to-upload-the-log-file/296'>Como enviar o arquivo de registro</a>.<br/><br/>Gostaria de voltar para a lista de jogos? Continuar com a emulação pode resultar em travamentos, dados salvos corrompidos ou outros problemas.</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="3124"/> + <location filename="../../src/yuzu/main.cpp" line="3223"/> <source>Fatal Error encountered</source> <translation>Erro fatal encontrado</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="3147"/> + <location filename="../../src/yuzu/main.cpp" line="3246"/> <source>Confirm Key Rederivation</source> <translation>Confirmar rederivação de chave</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="3148"/> + <location filename="../../src/yuzu/main.cpp" line="3247"/> <source>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. @@ -4453,37 +4587,37 @@ e opcionalmente faça cópias de segurança. Isto excluirá o seus arquivos de chaves geradas automaticamente, e reexecutar o módulo de derivação de chaves.</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="3180"/> + <location filename="../../src/yuzu/main.cpp" line="3279"/> <source>Missing fuses</source> <translation>Faltando fusíveis</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="3183"/> + <location filename="../../src/yuzu/main.cpp" line="3282"/> <source> - Missing BOOT0</source> <translation> - Faltando BOOT0</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="3186"/> + <location filename="../../src/yuzu/main.cpp" line="3285"/> <source> - Missing BCPKG2-1-Normal-Main</source> <translation> - Faltando BCPKG2-1-Normal-Main</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="3189"/> + <location filename="../../src/yuzu/main.cpp" line="3288"/> <source> - Missing PRODINFO</source> <translation> - Faltando PRODINFO</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="3193"/> + <location filename="../../src/yuzu/main.cpp" line="3292"/> <source>Derivation Components Missing</source> <translation>Faltando componentes de derivação</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="3194"/> - <source>Components are missing that may hinder key derivation from completing. <br>Please follow <a href='https://yuzu-emu.org/help/quickstart/'>the yuzu quickstart guide</a> to get all your keys and games.<br><br><small>(%1)</small></source> - <translation>Há componentes faltando que podem impedir a conclusão do processo de derivação de chaves. <br>Por favor, siga <a href='https://yuzu-emu.org/help/quickstart/'>o guia de iniciação rápida</a> para obter todas as suas chaves e jogos. <br><br><small>(%1)</small></translation> + <location filename="../../src/yuzu/main.cpp" line="3293"/> + <source>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></source> + <translation type="unfinished"/> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="3203"/> + <location filename="../../src/yuzu/main.cpp" line="3302"/> <source>Deriving keys... This may take up to a minute depending on your system's performance.</source> @@ -4492,39 +4626,39 @@ Isto pode demorar até um minuto, dependendo do desempenho do seu sistema.</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="3205"/> + <location filename="../../src/yuzu/main.cpp" line="3304"/> <source>Deriving Keys</source> <translation>Derivando chaves</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="3250"/> + <location filename="../../src/yuzu/main.cpp" line="3349"/> <source>Select RomFS Dump Target</source> <translation>Selecionar alvo de extração do RomFS</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="3251"/> + <location filename="../../src/yuzu/main.cpp" line="3350"/> <source>Please select which RomFS you would like to dump.</source> <translation>Selecione qual RomFS você quer extrair.</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="3266"/> + <location filename="../../src/yuzu/main.cpp" line="3365"/> <source>Are you sure you want to close yuzu?</source> <translation>Você deseja mesmo fechar o yuzu?</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="3267"/> - <location filename="../../src/yuzu/main.cpp" line="3342"/> - <location filename="../../src/yuzu/main.cpp" line="3355"/> + <location filename="../../src/yuzu/main.cpp" line="3366"/> + <location filename="../../src/yuzu/main.cpp" line="3443"/> + <location filename="../../src/yuzu/main.cpp" line="3456"/> <source>yuzu</source> <translation>yuzu</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="3343"/> + <location filename="../../src/yuzu/main.cpp" line="3444"/> <source>Are you sure you want to stop the emulation? Any unsaved progress will be lost.</source> <translation>Deseja mesmo parar a emulação? Qualquer progresso não salvo será perdido.</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="3352"/> + <location filename="../../src/yuzu/main.cpp" line="3453"/> <source>The currently running application has requested yuzu to not exit. Would you like to bypass this and exit anyway?</source> @@ -4536,38 +4670,38 @@ Deseja ignorar isso e sair mesmo assim?</translation> <context> <name>GRenderWindow</name> <message> - <location filename="../../src/yuzu/bootmanager.cpp" line="675"/> + <location filename="../../src/yuzu/bootmanager.cpp" line="976"/> <source>OpenGL not available!</source> <translation>OpenGL não disponível!</translation> </message> <message> - <location filename="../../src/yuzu/bootmanager.cpp" line="676"/> + <location filename="../../src/yuzu/bootmanager.cpp" line="977"/> <source>yuzu has not been compiled with OpenGL support.</source> <translation>O yuzu não foi compilado com suporte para OpenGL.</translation> </message> <message> - <location filename="../../src/yuzu/bootmanager.cpp" line="695"/> - <location filename="../../src/yuzu/bootmanager.cpp" line="715"/> + <location filename="../../src/yuzu/bootmanager.cpp" line="996"/> + <location filename="../../src/yuzu/bootmanager.cpp" line="1016"/> <source>Error while initializing OpenGL!</source> <translation>Erro ao inicializar o OpenGL!</translation> </message> <message> - <location filename="../../src/yuzu/bootmanager.cpp" line="696"/> + <location filename="../../src/yuzu/bootmanager.cpp" line="997"/> <source>Your GPU may not support OpenGL, or you do not have the latest graphics driver.</source> <translation>Sua GPU pode não suportar OpenGL, ou você não possui o driver gráfico mais recente.</translation> </message> <message> - <location filename="../../src/yuzu/bootmanager.cpp" line="705"/> + <location filename="../../src/yuzu/bootmanager.cpp" line="1006"/> <source>Error while initializing OpenGL 4.6!</source> <translation>Erro ao inicializar o OpenGL 4.6!</translation> </message> <message> - <location filename="../../src/yuzu/bootmanager.cpp" line="706"/> + <location filename="../../src/yuzu/bootmanager.cpp" line="1007"/> <source>Your GPU may not support OpenGL 4.6, or you do not have the latest graphics driver.<br><br>GL Renderer:<br>%1</source> <translation>Sua GPU pode não suportar o OpenGL 4.6, ou você não possui os drivers gráficos mais recentes.<br><br>Renderizador GL:<br>%1</translation> </message> <message> - <location filename="../../src/yuzu/bootmanager.cpp" line="716"/> + <location filename="../../src/yuzu/bootmanager.cpp" line="1017"/> <source>Your GPU may not support one or more required OpenGL extensions. Please ensure you have the latest graphics driver.<br><br>GL Renderer:<br>%1<br><br>Unsupported extensions:<br>%2</source> <translation>Sua GPU pode não suportar uma ou mais extensões necessárias do OpenGL. Verifique se você possui a última versão dos drivers gráficos.<br><br>Renderizador GL:<br>%1<br><br>Extensões não suportadas:<br>%2</translation> </message> @@ -4929,190 +5063,205 @@ tela inicial do jogo.</translation> <translation>&Emulação</translation> </message> <message> - <location filename="../../src/yuzu/main.ui" line="79"/> + <location filename="../../src/yuzu/main.ui" line="78"/> <source>&View</source> <translation>&Exibir</translation> </message> <message> - <location filename="../../src/yuzu/main.ui" line="83"/> + <location filename="../../src/yuzu/main.ui" line="82"/> <source>&Reset Window Size</source> <translation>&Restaurar tamanho da janela</translation> </message> <message> - <location filename="../../src/yuzu/main.ui" line="88"/> + <location filename="../../src/yuzu/main.ui" line="87"/> + <source>&Debugging</source> + <translation>&Depurar</translation> + </message> + <message> + <location filename="../../src/yuzu/main.ui" line="92"/> <source>Reset Window Size to &720p</source> <translation>Restaurar tamanho da janela para &720p</translation> </message> <message> - <location filename="../../src/yuzu/main.ui" line="91"/> + <location filename="../../src/yuzu/main.ui" line="95"/> <source>Reset Window Size to 720p</source> <translation>Restaurar tamanho da janela para 720p</translation> </message> <message> - <location filename="../../src/yuzu/main.ui" line="96"/> + <location filename="../../src/yuzu/main.ui" line="100"/> <source>Reset Window Size to &900p</source> <translation>Restaurar tamanho da janela para &900p</translation> </message> <message> - <location filename="../../src/yuzu/main.ui" line="99"/> + <location filename="../../src/yuzu/main.ui" line="103"/> <source>Reset Window Size to 900p</source> <translation>Restaurar tamanho da janela para 900p</translation> </message> <message> - <location filename="../../src/yuzu/main.ui" line="104"/> + <location filename="../../src/yuzu/main.ui" line="108"/> <source>Reset Window Size to &1080p</source> <translation>Restaurar tamanho da janela para &1080p</translation> </message> <message> - <location filename="../../src/yuzu/main.ui" line="107"/> + <location filename="../../src/yuzu/main.ui" line="111"/> <source>Reset Window Size to 1080p</source> <translation>Restaurar tamanho da janela para 1080p</translation> </message> <message> - <location filename="../../src/yuzu/main.ui" line="112"/> - <source>&Debugging</source> - <translation>&Depurar</translation> - </message> - <message> - <location filename="../../src/yuzu/main.ui" line="126"/> + <location filename="../../src/yuzu/main.ui" line="125"/> <source>&Tools</source> <translation>&Ferramentas</translation> </message> <message> - <location filename="../../src/yuzu/main.ui" line="135"/> + <location filename="../../src/yuzu/main.ui" line="129"/> + <source>&TAS</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/main.ui" line="144"/> <source>&Help</source> <translation>&Ajuda</translation> </message> <message> - <location filename="../../src/yuzu/main.ui" line="155"/> + <location filename="../../src/yuzu/main.ui" line="164"/> <source>&Install Files to NAND...</source> <translation>&Instalar arquivos na NAND...</translation> </message> <message> - <location filename="../../src/yuzu/main.ui" line="160"/> + <location filename="../../src/yuzu/main.ui" line="169"/> <source>L&oad File...</source> <translation>&Carregar arquivo...</translation> </message> <message> - <location filename="../../src/yuzu/main.ui" line="165"/> + <location filename="../../src/yuzu/main.ui" line="174"/> <source>Load &Folder...</source> <translation>Carregar &pasta...</translation> </message> <message> - <location filename="../../src/yuzu/main.ui" line="170"/> + <location filename="../../src/yuzu/main.ui" line="179"/> <source>E&xit</source> <translation>S&air</translation> </message> <message> - <location filename="../../src/yuzu/main.ui" line="178"/> - <source>&Start</source> - <translation>&Iniciar</translation> - </message> - <message> - <location filename="../../src/yuzu/main.ui" line="186"/> + <location filename="../../src/yuzu/main.ui" line="187"/> <source>&Pause</source> <translation>&Pausar</translation> </message> <message> - <location filename="../../src/yuzu/main.ui" line="194"/> + <location filename="../../src/yuzu/main.ui" line="195"/> <source>&Stop</source> <translation>&Parar</translation> </message> <message> - <location filename="../../src/yuzu/main.ui" line="199"/> + <location filename="../../src/yuzu/main.ui" line="200"/> <source>&Reinitialize keys...</source> <translation>&Reinicializar chaves...</translation> </message> <message> - <location filename="../../src/yuzu/main.ui" line="204"/> + <location filename="../../src/yuzu/main.ui" line="205"/> <source>&About yuzu</source> <translation>&Sobre o yuzu</translation> </message> <message> - <location filename="../../src/yuzu/main.ui" line="212"/> + <location filename="../../src/yuzu/main.ui" line="213"/> <source>Single &Window Mode</source> <translation>Modo de &janela única</translation> </message> <message> - <location filename="../../src/yuzu/main.ui" line="217"/> + <location filename="../../src/yuzu/main.ui" line="218"/> <source>Con&figure...</source> <translation>Con&figurar...</translation> </message> <message> - <location filename="../../src/yuzu/main.ui" line="225"/> + <location filename="../../src/yuzu/main.ui" line="226"/> <source>Display D&ock Widget Headers</source> <translation>Exibir barra de títul&os de widgets afixados</translation> </message> <message> - <location filename="../../src/yuzu/main.ui" line="233"/> + <location filename="../../src/yuzu/main.ui" line="234"/> <source>Show &Filter Bar</source> <translation>Exibir barra de &filtro</translation> </message> <message> - <location filename="../../src/yuzu/main.ui" line="241"/> + <location filename="../../src/yuzu/main.ui" line="242"/> <source>Show &Status Bar</source> <translation>Exibir barra de &status</translation> </message> <message> - <location filename="../../src/yuzu/main.ui" line="244"/> + <location filename="../../src/yuzu/main.ui" line="245"/> <source>Show Status Bar</source> <translation>Exibir barra de status</translation> </message> <message> - <location filename="../../src/yuzu/main.ui" line="252"/> + <location filename="../../src/yuzu/main.ui" line="253"/> <source>F&ullscreen</source> <translation>&Tela cheia</translation> </message> <message> - <location filename="../../src/yuzu/main.ui" line="260"/> + <location filename="../../src/yuzu/main.ui" line="261"/> <source>&Restart</source> <translation>&Reiniciar</translation> </message> <message> - <location filename="../../src/yuzu/main.ui" line="268"/> + <location filename="../../src/yuzu/main.ui" line="269"/> <source>Load &Amiibo...</source> <translation>Carregar &amiibo...</translation> </message> <message> - <location filename="../../src/yuzu/main.ui" line="276"/> + <location filename="../../src/yuzu/main.ui" line="277"/> <source>&Report Compatibility</source> <translation>&Reportar compatibilidade</translation> </message> <message> - <location filename="../../src/yuzu/main.ui" line="284"/> + <location filename="../../src/yuzu/main.ui" line="285"/> <source>Open &Mods Page</source> <translation>Abrir página de &mods</translation> </message> <message> - <location filename="../../src/yuzu/main.ui" line="289"/> + <location filename="../../src/yuzu/main.ui" line="290"/> <source>Open &Quickstart Guide</source> <translation>Abrir &guia de início rápido</translation> </message> <message> - <location filename="../../src/yuzu/main.ui" line="294"/> + <location filename="../../src/yuzu/main.ui" line="295"/> <source>&FAQ</source> <translation>&Perguntas frequentes</translation> </message> <message> - <location filename="../../src/yuzu/main.ui" line="299"/> + <location filename="../../src/yuzu/main.ui" line="300"/> <source>Open &yuzu Folder</source> <translation>Abrir pasta do &yuzu</translation> </message> <message> - <location filename="../../src/yuzu/main.ui" line="307"/> + <location filename="../../src/yuzu/main.ui" line="308"/> <source>&Capture Screenshot</source> <translation>&Captura de tela</translation> </message> <message> - <location filename="../../src/yuzu/main.ui" line="312"/> - <source>Configure &TAS...</source> - <translation>Configurar &TAS...</translation> + <location filename="../../src/yuzu/main.ui" line="313"/> + <source>&Configure TAS...</source> + <translation type="unfinished"/> </message> <message> - <location filename="../../src/yuzu/main.ui" line="320"/> + <location filename="../../src/yuzu/main.ui" line="321"/> <source>Configure C&urrent Game...</source> <translation>Configurar jogo &atual..</translation> </message> + <message> + <location filename="../../src/yuzu/main.ui" line="329"/> + <source>&Start</source> + <translation>&Iniciar</translation> + </message> + <message> + <location filename="../../src/yuzu/main.ui" line="337"/> + <source>&Reset</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/main.ui" line="345"/> + <source>R&ecord</source> + <translation type="unfinished"/> + </message> </context> <context> <name>MicroProfileDialog</name> @@ -5158,10 +5307,15 @@ p, li { white-space: pre-wrap; } <context> <name>PlayerControlPreview</name> <message> - <location filename="../../src/yuzu/configuration/configure_input_player_widget.cpp" line="1566"/> + <location filename="../../src/yuzu/configuration/configure_input_player_widget.cpp" line="1572"/> <source>START/PAUSE</source> <translation>START/PAUSE</translation> </message> + <message> + <location filename="../../src/yuzu/configuration/configure_input_player_widget.cpp" line="2685"/> + <source>Charging</source> + <translation type="unfinished"/> + </message> </context> <context> <name>QObject</name> @@ -5192,142 +5346,222 @@ p, li { white-space: pre-wrap; } </message> <message> <location filename="../../src/yuzu/configuration/configure_touch_from_button.cpp" line="23"/> - <location filename="../../src/yuzu/configuration/configure_mouse_advanced.cpp" line="32"/> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="72"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="43"/> <source>Shift</source> <translation>Shift</translation> </message> <message> <location filename="../../src/yuzu/configuration/configure_touch_from_button.cpp" line="25"/> - <location filename="../../src/yuzu/configuration/configure_mouse_advanced.cpp" line="34"/> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="74"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="45"/> <source>Ctrl</source> <translation>Ctrl</translation> </message> <message> <location filename="../../src/yuzu/configuration/configure_touch_from_button.cpp" line="27"/> - <location filename="../../src/yuzu/configuration/configure_mouse_advanced.cpp" line="36"/> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="76"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="47"/> <source>Alt</source> <translation>Alt</translation> </message> <message> <location filename="../../src/yuzu/configuration/configure_touch_from_button.cpp" line="37"/> - <location filename="../../src/yuzu/configuration/configure_mouse_advanced.cpp" line="46"/> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="103"/> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="190"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="130"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="196"/> <source>[not set]</source> <translation>[não definido]</translation> </message> <message> <location filename="../../src/yuzu/configuration/configure_touch_from_button.cpp" line="49"/> - <location filename="../../src/yuzu/configuration/configure_mouse_advanced.cpp" line="58"/> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="152"/> <source>Hat %1 %2</source> <translation>Direcional %1 %2</translation> </message> <message> <location filename="../../src/yuzu/configuration/configure_touch_from_button.cpp" line="56"/> - <location filename="../../src/yuzu/configuration/configure_mouse_advanced.cpp" line="65"/> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="159"/> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="210"/> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="214"/> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="218"/> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="222"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="219"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="223"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="227"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="231"/> <source>Axis %1%2</source> <translation>Eixo %1%2</translation> </message> <message> <location filename="../../src/yuzu/configuration/configure_touch_from_button.cpp" line="62"/> - <location filename="../../src/yuzu/configuration/configure_mouse_advanced.cpp" line="71"/> <source>Button %1</source> <translation>Botão %1</translation> </message> <message> <location filename="../../src/yuzu/configuration/configure_touch_from_button.cpp" line="68"/> - <location filename="../../src/yuzu/configuration/configure_mouse_advanced.cpp" line="76"/> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="185"/> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="227"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="190"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="204"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="234"/> <source>[unknown]</source> <translation>[desconhecido]</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_mouse_advanced.cpp" line="22"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="58"/> + <source>Left</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="60"/> + <source>Right</source> + <translation type="unfinished"/> + </message> + <message> <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="62"/> - <source>Click 0</source> - <translation>Clique 0</translation> + <source>Down</source> + <translation type="unfinished"/> </message> <message> - <location filename="../../src/yuzu/configuration/configure_mouse_advanced.cpp" line="24"/> <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="64"/> - <source>Click 1</source> - <translation>Clique 1</translation> + <source>Up</source> + <translation type="unfinished"/> </message> <message> - <location filename="../../src/yuzu/configuration/configure_mouse_advanced.cpp" line="26"/> <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="66"/> - <source>Click 2</source> - <translation>Clique 2</translation> + <source>Z</source> + <translation type="unfinished"/> </message> <message> - <location filename="../../src/yuzu/configuration/configure_mouse_advanced.cpp" line="28"/> <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="68"/> - <source>Click 3</source> - <translation>Clique 3</translation> + <source>R</source> + <translation type="unfinished"/> </message> <message> - <location filename="../../src/yuzu/configuration/configure_mouse_advanced.cpp" line="30"/> <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="70"/> - <source>Click 4</source> - <translation>Clique 4</translation> + <source>L</source> + <translation type="unfinished"/> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="109"/> - <source>%1%2</source> - <translation>%1%2</translation> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="72"/> + <source>A</source> + <translation type="unfinished"/> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="117"/> - <source>GC Axis %1%2</source> - <translation>Eixo GC %1%2</translation> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="74"/> + <source>B</source> + <translation type="unfinished"/> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="121"/> - <source>GC Button %1</source> - <translation>Botão GC %1</translation> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="76"/> + <source>X</source> + <translation type="unfinished"/> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="130"/> - <source>TAS Axis %1</source> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="78"/> + <source>Y</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="80"/> + <source>Start</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="82"/> + <source>L1</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="84"/> + <source>L2</source> <translation type="unfinished"/> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="134"/> - <source>TAS Btn %1</source> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="86"/> + <source>L3</source> <translation type="unfinished"/> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="142"/> - <source>Motion %1</source> - <translation>Movimento %1</translation> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="88"/> + <source>R1</source> + <translation type="unfinished"/> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="166"/> - <source>%1Button %2</source> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="90"/> + <source>R2</source> <translation type="unfinished"/> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="170"/> - <source>SDL Motion</source> - <translation>Movimento do SDL</translation> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="92"/> + <source>R3</source> + <translation type="unfinished"/> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="180"/> - <source>%1Click %2</source> - <translation>%1Clique %2</translation> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="94"/> + <source>Circle</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="96"/> + <source>Cross</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="98"/> + <source>Square</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="100"/> + <source>Triangle</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="102"/> + <source>Share</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="104"/> + <source>Options</source> + <translation type="unfinished"/> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="205"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="106"/> + <source>[undefined]</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="140"/> + <source>%1%2</source> + <translation>%1%2</translation> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="144"/> + <source>[invalid]</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="154"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="178"/> + <source>%1%2Hat %3</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="158"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="181"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="184"/> + <source>%1%2Axis %3</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="164"/> + <source>%1%2Axis %3,%4,%5</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="168"/> + <source>%1%2Motion %3</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="172"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="187"/> + <source>%1%2Button %3</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="214"/> <source>[unused]</source> <translation>[não utilizado]</translation> </message> @@ -5368,7 +5602,7 @@ p, li { white-space: pre-wrap; } <location filename="../../src/yuzu/applets/qt_controller.ui" line="1656"/> <location filename="../../src/yuzu/applets/qt_controller.ui" line="1857"/> <location filename="../../src/yuzu/applets/qt_controller.ui" line="2054"/> - <location filename="../../src/yuzu/applets/qt_controller.cpp" line="419"/> + <location filename="../../src/yuzu/applets/qt_controller.cpp" line="411"/> <source>Pro Controller</source> <translation>Pro Controller</translation> </message> @@ -5381,7 +5615,7 @@ p, li { white-space: pre-wrap; } <location filename="../../src/yuzu/applets/qt_controller.ui" line="1661"/> <location filename="../../src/yuzu/applets/qt_controller.ui" line="1862"/> <location filename="../../src/yuzu/applets/qt_controller.ui" line="2059"/> - <location filename="../../src/yuzu/applets/qt_controller.cpp" line="423"/> + <location filename="../../src/yuzu/applets/qt_controller.cpp" line="415"/> <source>Dual Joycons</source> <translation>Par de Joycons</translation> </message> @@ -5394,7 +5628,7 @@ p, li { white-space: pre-wrap; } <location filename="../../src/yuzu/applets/qt_controller.ui" line="1666"/> <location filename="../../src/yuzu/applets/qt_controller.ui" line="1867"/> <location filename="../../src/yuzu/applets/qt_controller.ui" line="2064"/> - <location filename="../../src/yuzu/applets/qt_controller.cpp" line="427"/> + <location filename="../../src/yuzu/applets/qt_controller.cpp" line="419"/> <source>Left Joycon</source> <translation>Joycon esquerdo</translation> </message> @@ -5407,7 +5641,7 @@ p, li { white-space: pre-wrap; } <location filename="../../src/yuzu/applets/qt_controller.ui" line="1671"/> <location filename="../../src/yuzu/applets/qt_controller.ui" line="1872"/> <location filename="../../src/yuzu/applets/qt_controller.ui" line="2069"/> - <location filename="../../src/yuzu/applets/qt_controller.cpp" line="431"/> + <location filename="../../src/yuzu/applets/qt_controller.cpp" line="423"/> <source>Right Joycon</source> <translation>Joycon direito</translation> </message> @@ -5435,7 +5669,7 @@ p, li { white-space: pre-wrap; } </message> <message> <location filename="../../src/yuzu/applets/qt_controller.ui" line="932"/> - <location filename="../../src/yuzu/applets/qt_controller.cpp" line="436"/> + <location filename="../../src/yuzu/applets/qt_controller.cpp" line="428"/> <source>Handheld</source> <translation>Portátil</translation> </message> @@ -5556,7 +5790,7 @@ p, li { white-space: pre-wrap; } <translation>8</translation> </message> <message> - <location filename="../../src/yuzu/applets/qt_controller.cpp" line="441"/> + <location filename="../../src/yuzu/applets/qt_controller.cpp" line="433"/> <source>GameCube Controller</source> <translation>Controle de GameCube</translation> </message> @@ -5650,13 +5884,13 @@ p, li { white-space: pre-wrap; } <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></translation> </message> <message> - <location filename="../../src/yuzu/applets/qt_software_keyboard.cpp" line="396"/> - <location filename="../../src/yuzu/applets/qt_software_keyboard.cpp" line="406"/> + <location filename="../../src/yuzu/applets/qt_software_keyboard.cpp" line="399"/> + <location filename="../../src/yuzu/applets/qt_software_keyboard.cpp" line="409"/> <source>OK</source> <translation>OK</translation> </message> <message> - <location filename="../../src/yuzu/applets/qt_software_keyboard.cpp" line="406"/> + <location filename="../../src/yuzu/applets/qt_software_keyboard.cpp" line="409"/> <source>Cancel</source> <translation>Cancelar</translation> </message> diff --git a/dist/languages/pt_PT.ts b/dist/languages/pt_PT.ts index a55f82bbe..eb58f2718 100644 --- a/dist/languages/pt_PT.ts +++ b/dist/languages/pt_PT.ts @@ -646,7 +646,12 @@ p, li { white-space: pre-wrap; } <translation type="unfinished"/> </message> <message> - <location filename="../../src/yuzu/configuration/configure_debug.ui" line="212"/> + <location filename="../../src/yuzu/configuration/configure_debug.ui" line="204"/> + <source>Enable all Controller Types</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_debug.ui" line="219"/> <source>**This will be reset automatically when yuzu closes.</source> <translation type="unfinished"/> </message> @@ -926,67 +931,78 @@ p, li { white-space: pre-wrap; } <translation>Geral</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_general.ui" line="35"/> - <source>Framerate Cap</source> + <location filename="../../src/yuzu/configuration/configure_general.ui" line="50"/> + <location filename="../../src/yuzu/configuration/configure_general.ui" line="57"/> + <source>Use global framerate cap</source> <translation type="unfinished"/> </message> <message> - <location filename="../../src/yuzu/configuration/configure_general.ui" line="38"/> + <location filename="../../src/yuzu/configuration/configure_general.ui" line="62"/> + <source>Set framerate cap:</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_general.ui" line="70"/> <source>Requires the use of the FPS Limiter Toggle hotkey to take effect.</source> <translation type="unfinished"/> </message> <message> - <location filename="../../src/yuzu/configuration/configure_general.ui" line="45"/> + <location filename="../../src/yuzu/configuration/configure_general.ui" line="73"/> + <source>Framerate Cap</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_general.ui" line="95"/> <source>x</source> <translation type="unfinished"/> </message> <message> - <location filename="../../src/yuzu/configuration/configure_general.ui" line="65"/> + <location filename="../../src/yuzu/configuration/configure_general.ui" line="116"/> <source>Limit Speed Percent</source> <translation>Percentagem do limitador de velocidade</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_general.ui" line="72"/> + <location filename="../../src/yuzu/configuration/configure_general.ui" line="123"/> <source>%</source> <translation>%</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_general.ui" line="90"/> + <location filename="../../src/yuzu/configuration/configure_general.ui" line="141"/> <source>Multicore CPU Emulation</source> <translation>Emulação de CPU Multicore</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_general.ui" line="97"/> + <location filename="../../src/yuzu/configuration/configure_general.ui" line="148"/> <source>Confirm exit while emulation is running</source> <translation>Confirme a saída enquanto a emulação está em execução</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_general.ui" line="104"/> + <location filename="../../src/yuzu/configuration/configure_general.ui" line="155"/> <source>Prompt for user on game boot</source> <translation>Solicitar para o utilizador na inicialização do jogo</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_general.ui" line="111"/> + <location filename="../../src/yuzu/configuration/configure_general.ui" line="162"/> <source>Pause emulation when in background</source> <translation>Pausar o emulador quando estiver em segundo plano</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_general.ui" line="118"/> + <location filename="../../src/yuzu/configuration/configure_general.ui" line="169"/> <source>Hide mouse on inactivity</source> <translation>Esconder rato quando inactivo.</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_general.ui" line="160"/> + <location filename="../../src/yuzu/configuration/configure_general.ui" line="211"/> <source>Reset All Settings</source> <translation>Restaurar todas as configurações</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_general.cpp" line="70"/> + <location filename="../../src/yuzu/configuration/configure_general.cpp" line="78"/> <source>yuzu</source> <translation>yuzu</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_general.cpp" line="71"/> + <location filename="../../src/yuzu/configuration/configure_general.cpp" line="79"/> <source>This reset all settings and remove all per-game configurations. This will not delete game directories, profiles, or input profiles. Proceed?</source> <translation>Isto restaura todas as configurações e remove as configurações específicas de cada jogo. As pastas de jogos, perfis de jogos e perfis de controlo não serão removidos. Continuar?</translation> </message> @@ -1104,18 +1120,113 @@ p, li { white-space: pre-wrap; } <translation>Esticar à Janela</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_graphics.ui" line="339"/> - <location filename="../../src/yuzu/configuration/configure_graphics.ui" line="349"/> + <location filename="../../src/yuzu/configuration/configure_graphics.ui" line="330"/> + <source>Resolution:</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_graphics.ui" line="338"/> + <source>0.5X (360p/540p) [EXPERIMENTAL]</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_graphics.ui" line="343"/> + <source>0.75X (540p/810p) [EXPERIMENTAL]</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_graphics.ui" line="348"/> + <source>1X (720p/1080p)</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_graphics.ui" line="353"/> + <source>2X (1440p/2160p)</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_graphics.ui" line="358"/> + <source>3X (2160p/3240p)</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_graphics.ui" line="363"/> + <source>4X (2880p/4320p)</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_graphics.ui" line="368"/> + <source>5X (3600p/5400p)</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_graphics.ui" line="373"/> + <source>6X (4320p/6480p)</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_graphics.ui" line="399"/> + <source>Window Adapting Filter:</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_graphics.ui" line="407"/> + <source>Nearest Neighbor</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_graphics.ui" line="412"/> + <source>Bilinear</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_graphics.ui" line="417"/> + <source>Bicubic</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_graphics.ui" line="422"/> + <source>Gaussian</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_graphics.ui" line="427"/> + <source>ScaleForce</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_graphics.ui" line="432"/> + <source>AMD FidelityFX™️ Super Resolution [Vulkan Only]</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_graphics.ui" line="458"/> + <source>Anti-Aliasing Method:</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_graphics.ui" line="466"/> + <source>None</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_graphics.ui" line="471"/> + <source>FXAA</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_graphics.ui" line="506"/> + <location filename="../../src/yuzu/configuration/configure_graphics.ui" line="516"/> <source>Use global background color</source> <translation>Usar cor de fundo global</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_graphics.ui" line="354"/> + <location filename="../../src/yuzu/configuration/configure_graphics.ui" line="521"/> <source>Set background color:</source> <translation>Definir cor de fundo:</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_graphics.ui" line="362"/> + <location filename="../../src/yuzu/configuration/configure_graphics.ui" line="529"/> <source>Background Color:</source> <translation>Cor de fundo:</translation> </message> @@ -1184,27 +1295,32 @@ p, li { white-space: pre-wrap; } </message> <message> <location filename="../../src/yuzu/configuration/configure_graphics_advanced.ui" line="128"/> - <source>Default</source> - <translation>Padrão</translation> + <source>Automatic</source> + <translation type="unfinished"/> </message> <message> <location filename="../../src/yuzu/configuration/configure_graphics_advanced.ui" line="133"/> - <source>2x (WILL BREAK THINGS)</source> - <translation type="unfinished"/> + <source>Default</source> + <translation>Padrão</translation> </message> <message> <location filename="../../src/yuzu/configuration/configure_graphics_advanced.ui" line="138"/> - <source>4x (WILL BREAK THINGS)</source> + <source>2x</source> <translation type="unfinished"/> </message> <message> <location filename="../../src/yuzu/configuration/configure_graphics_advanced.ui" line="143"/> - <source>8x (WILL BREAK THINGS)</source> + <source>4x</source> <translation type="unfinished"/> </message> <message> <location filename="../../src/yuzu/configuration/configure_graphics_advanced.ui" line="148"/> - <source>16x (WILL BREAK THINGS)</source> + <source>8x</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_graphics_advanced.ui" line="153"/> + <source>16x</source> <translation type="unfinished"/> </message> </context> @@ -1532,8 +1648,8 @@ p, li { white-space: pre-wrap; } </message> <message> <location filename="../../src/yuzu/configuration/configure_input_advanced.ui" line="2533"/> - <source>Other</source> - <translation>Outro</translation> + <source>Emulated Devices</source> + <translation type="unfinished"/> </message> <message> <location filename="../../src/yuzu/configuration/configure_input_advanced.ui" line="2545"/> @@ -1542,66 +1658,75 @@ p, li { white-space: pre-wrap; } </message> <message> <location filename="../../src/yuzu/configuration/configure_input_advanced.ui" line="2558"/> - <source>Emulate Analog with Keyboard Input</source> - <translation>Emular entradas analógicas através de entradas do teclado</translation> + <source>Mouse</source> + <translation>Rato</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_advanced.ui" line="2571"/> - <source>Enable mouse panning</source> - <translation type="unfinished"/> + <location filename="../../src/yuzu/configuration/configure_input_advanced.ui" line="2565"/> + <source>Touchscreen</source> + <translation>Ecrã Táctil</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_advanced.ui" line="2578"/> - <source>Mouse sensitivity</source> - <translation>Sensibilidade do rato</translation> + <location filename="../../src/yuzu/configuration/configure_input_advanced.ui" line="2588"/> + <source>Advanced</source> + <translation>Avançado</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_advanced.ui" line="2584"/> - <source>%</source> - <translation type="unfinished"/> + <location filename="../../src/yuzu/configuration/configure_input_advanced.ui" line="2595"/> + <source>Debug Controller</source> + <translation>Controlador de Depuração</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_advanced.ui" line="2600"/> - <location filename="../../src/yuzu/configuration/configure_input_advanced.ui" line="2623"/> - <source>Advanced</source> - <translation>Avançado</translation> + <location filename="../../src/yuzu/configuration/configure_input_advanced.ui" line="2602"/> + <location filename="../../src/yuzu/configuration/configure_input_advanced.ui" line="2702"/> + <source>Configure</source> + <translation>Configurar</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_advanced.ui" line="2630"/> - <source>Touchscreen</source> - <translation>Ecrã Táctil</translation> + <location filename="../../src/yuzu/configuration/configure_input_advanced.ui" line="2612"/> + <source>Other</source> + <translation>Outro</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_advanced.ui" line="2643"/> - <source>Mouse</source> - <translation>Rato</translation> + <location filename="../../src/yuzu/configuration/configure_input_advanced.ui" line="2624"/> + <source>Emulate Analog with Keyboard Input</source> + <translation>Emular entradas analógicas através de entradas do teclado</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_advanced.ui" line="2650"/> - <source>Motion / Touch</source> - <translation>Movimento / Toque</translation> + <location filename="../../src/yuzu/configuration/configure_input_advanced.ui" line="2631"/> + <source>Requires restarting yuzu</source> + <translation type="unfinished"/> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_advanced.ui" line="2657"/> - <location filename="../../src/yuzu/configuration/configure_input_advanced.ui" line="2671"/> - <source>Configure</source> - <translation>Configurar</translation> + <location filename="../../src/yuzu/configuration/configure_input_advanced.ui" line="2640"/> + <source>Enable XInput 8 player support (disables web applet)</source> + <translation type="unfinished"/> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_advanced.ui" line="2664"/> - <source>Debug Controller</source> - <translation>Controlador de Depuração</translation> + <location filename="../../src/yuzu/configuration/configure_input_advanced.ui" line="2653"/> + <source>Enable UDP controllers (not needed for motion)</source> + <translation type="unfinished"/> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_advanced.ui" line="2678"/> - <source>Requires restarting yuzu</source> + <location filename="../../src/yuzu/configuration/configure_input_advanced.ui" line="2666"/> + <source>Enable mouse panning</source> <translation type="unfinished"/> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_advanced.ui" line="2687"/> - <source>Enable XInput 8 player support (disables web applet)</source> + <location filename="../../src/yuzu/configuration/configure_input_advanced.ui" line="2673"/> + <source>Mouse sensitivity</source> + <translation>Sensibilidade do rato</translation> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_input_advanced.ui" line="2679"/> + <source>%</source> <translation type="unfinished"/> </message> + <message> + <location filename="../../src/yuzu/configuration/configure_input_advanced.ui" line="2695"/> + <source>Motion / Touch</source> + <translation>Movimento / Toque</translation> + </message> </context> <context> <name>ConfigureInputPlayer</name> @@ -1616,425 +1741,441 @@ p, li { white-space: pre-wrap; } <translation>Conectar Comando</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="94"/> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="535"/> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="986"/> - <source>Pro Controller</source> - <translation>Comando Pro</translation> - </message> - <message> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="99"/> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="992"/> - <source>Dual Joycons</source> - <translation>Joycons Duplos</translation> - </message> - <message> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="104"/> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="998"/> - <source>Left Joycon</source> - <translation>Joycon Esquerdo</translation> - </message> - <message> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="109"/> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="1004"/> - <source>Right Joycon</source> - <translation>Joycon Direito</translation> - </message> - <message> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="114"/> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="1010"/> - <source>Handheld</source> - <translation>Portátil</translation> - </message> - <message> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="125"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="100"/> <source>Input Device</source> <translation>Dispositivo de Entrada</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="153"/> - <source>Any</source> - <translation>Qualquer</translation> - </message> - <message> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="158"/> - <source>Keyboard/Mouse</source> - <translation>Teclado/Rato</translation> - </message> - <message> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="194"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="156"/> <source>Profile</source> <translation>Perfil</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="234"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="196"/> <source>Save</source> <translation>Guardar</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="250"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="212"/> <source>New</source> <translation>Novo</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="266"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="228"/> <source>Delete</source> <translation>Apagar</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="329"/> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="1267"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="291"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="1190"/> <source>Left Stick</source> <translation>Analógico Esquerdo</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="387"/> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="429"/> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="963"/> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="1002"/> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="2621"/> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="2660"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="349"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="391"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="925"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="964"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="2583"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="2622"/> <source>Up</source> <translation>Cima</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="460"/> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="499"/> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="1033"/> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="1072"/> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="2107"/> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="2691"/> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="2730"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="422"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="461"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="995"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="1034"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="2069"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="2653"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="2692"/> <source>Left</source> <translation>Esquerda</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="509"/> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="548"/> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="1082"/> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="1121"/> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="2156"/> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="2740"/> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="2779"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="471"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="510"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="1044"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="1083"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="2118"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="2702"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="2741"/> <source>Right</source> <translation>Direita</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="591"/> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="630"/> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="1164"/> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="1203"/> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="2822"/> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="2861"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="553"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="592"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="1126"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="1165"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="2784"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="2823"/> <source>Down</source> <translation>Baixo</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="661"/> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="700"/> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="2892"/> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="2931"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="623"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="662"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="2854"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="2893"/> <source>Pressed</source> <translation>Premido</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="710"/> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="749"/> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="2941"/> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="2980"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="672"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="711"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="2903"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="2942"/> <source>Modifier</source> <translation>Modificador</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="759"/> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="2990"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="721"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="2952"/> <source>Range</source> <translation>Alcance</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="792"/> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="3023"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="754"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="2985"/> <source>%</source> <translation>%</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="835"/> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="3063"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="797"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="3025"/> <source>Deadzone: 0%</source> <translation>Ponto Morto: 0%</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="859"/> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="3087"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="821"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="3049"/> <source>Modifier Range: 0%</source> <translation>Modificador de Alcance: 0%</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="905"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="867"/> <source>D-Pad</source> <translation>D-Pad</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="1289"/> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="1328"/> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="1272"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="1251"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="1290"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="1195"/> <source>L</source> <translation>L</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="1344"/> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="1383"/> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="1264"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="1306"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="1345"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="1187"/> <source>ZL</source> <translation>ZL</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="1464"/> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="1503"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="1426"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="1465"/> <source>Minus</source> <translation>Menos</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="1513"/> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="1552"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="1475"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="1514"/> <source>Capture</source> <translation>Capturar</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="1583"/> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="1622"/> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="1263"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="1545"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="1584"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="1186"/> <source>Plus</source> <translation>Mais</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="1632"/> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="1671"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="1594"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="1633"/> <source>Home</source> <translation>Home</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="1736"/> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="1775"/> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="1266"/> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="1273"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="1698"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="1737"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="1189"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="1196"/> <source>R</source> <translation>R</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="1791"/> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="1830"/> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="1265"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="1753"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="1792"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="1188"/> <source>ZR</source> <translation>ZR</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="1911"/> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="1950"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="1873"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="1912"/> <source>SL</source> <translation>SL</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="1960"/> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="1999"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="1922"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="1961"/> <source>SR</source> <translation>SR</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="2068"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="2030"/> <source>Motion 1</source> <translation>Movimento 1</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="2117"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="2079"/> <source>Motion 2</source> <translation>Movimento 2</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="2208"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="2170"/> <source>Face Buttons</source> <translation>Botôes de Rosto</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="2266"/> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="2305"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="2228"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="2267"/> <source>X</source> <translation>X</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="2336"/> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="2375"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="2298"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="2337"/> <source>Y</source> <translation>Y</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="2385"/> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="2424"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="2347"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="2386"/> <source>A</source> <translation>A</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="2467"/> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="2506"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="2429"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="2468"/> <source>B</source> <translation>B</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="2554"/> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="1268"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="2516"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="1191"/> <source>Right Stick</source> <translation>Analógico Direito</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="322"/> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="372"/> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="430"/> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="474"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="330"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="396"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="461"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="507"/> <source>Clear</source> <translation>Limpar</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="324"/> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="374"/> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="432"/> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="476"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="332"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="398"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="463"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="509"/> <source>[not set]</source> <translation>[não definido]</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="327"/> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="478"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="335"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="512"/> <source>Toggle button</source> <translation type="unfinished"/> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="335"/> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="339"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="341"/> + <source>Invert button</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="349"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="465"/> + <source>Invert axis</source> + <translation>Inverter eixo</translation> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="355"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="359"/> <source>Set threshold</source> <translation type="unfinished"/> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="339"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="359"/> <source>Choose a value between 0% and 100%</source> <translation type="unfinished"/> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="406"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="436"/> <source>Map Analog Stick</source> <translation>Mapear analógicos</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="407"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="437"/> <source>After pressing OK, first move your joystick horizontally, and then vertically. To invert the axes, first move your joystick vertically, and then horizontally.</source> <translation>Após pressionar OK, mova o seu analógico primeiro horizontalmente e depois verticalmente. Para inverter os eixos, mova o seu analógico primeiro verticalmente e depois horizontalmente.</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="434"/> - <source>Invert axis</source> - <translation>Inverter eixo</translation> - </message> - <message> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="500"/> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="952"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="537"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="891"/> <source>Deadzone: %1%</source> <translation>Ponto Morto: %1%</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="508"/> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="963"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="546"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="896"/> <source>Modifier Range: %1%</source> <translation>Modificador de Alcance: %1%</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="1016"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="572"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="918"/> + <source>Pro Controller</source> + <translation>Comando Pro</translation> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="924"/> + <source>Dual Joycons</source> + <translation>Joycons Duplos</translation> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="930"/> + <source>Left Joycon</source> + <translation>Joycon Esquerdo</translation> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="936"/> + <source>Right Joycon</source> + <translation>Joycon Direito</translation> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="942"/> + <source>Handheld</source> + <translation>Portátil</translation> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="948"/> <source>GameCube Controller</source> <translation>Controlador de depuração</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="1271"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="958"/> + <source>Poke Ball Plus</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="964"/> + <source>NES Controller</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="970"/> + <source>SNES Controller</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="976"/> + <source>N64 Controller</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="982"/> + <source>Sega Genesis</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="1194"/> <source>Start / Pause</source> <translation>Iniciar / Pausar</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="1274"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="1197"/> <source>Z</source> <translation>Z</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="1275"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="1198"/> <source>Control Stick</source> <translation type="unfinished"/> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="1276"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="1199"/> <source>C-Stick</source> <translation>C-Stick</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="1335"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="1297"/> <source>Shake!</source> <translation>Abane!</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="1337"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="1299"/> <source>[waiting]</source> <translation>[em espera]</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="1462"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="1381"/> <source>New Profile</source> <translation>Novo Perfil</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="1462"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="1381"/> <source>Enter a profile name:</source> <translation>Introduza um novo nome de perfil:</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="1470"/> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="1478"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="1389"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="1397"/> <source>Create Input Profile</source> <translation>Criar perfil de controlo</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="1471"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="1390"/> <source>The given profile name is not valid!</source> <translation>O nome de perfil dado não é válido!</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="1479"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="1398"/> <source>Failed to create the input profile "%1"</source> <translation>Falha ao criar o perfil de controlo "%1"</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="1499"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="1418"/> <source>Delete Input Profile</source> <translation>Apagar Perfil de Controlo</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="1500"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="1419"/> <source>Failed to delete the input profile "%1"</source> <translation>Falha ao apagar o perfil de controlo "%1"</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="1522"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="1441"/> <source>Load Input Profile</source> <translation>Carregar perfil de controlo</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="1523"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="1442"/> <source>Failed to load the input profile "%1"</source> <translation>Falha ao carregar o perfil de controlo "%1"</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="1542"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="1461"/> <source>Save Input Profile</source> <translation>Guardar perfil de controlo</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="1543"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="1462"/> <source>Failed to save the input profile "%1"</source> <translation>Falha ao guardar o perfil de controlo "%1"</translation> </message> @@ -2060,85 +2201,75 @@ Para inverter os eixos, mova o seu analógico primeiro verticalmente e depois ho <context> <name>ConfigureMotionTouch</name> <message> - <location filename="../../src/yuzu/configuration/configure_motion_touch.ui" line="14"/> + <location filename="../../src/yuzu/configuration/configure_motion_touch.ui" line="6"/> <source>Configure Motion / Touch</source> <translation>Configurar Movimento / Toque</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_motion_touch.ui" line="23"/> - <source>Mouse Motion</source> - <translation>Movimentação com o rato</translation> - </message> - <message> - <location filename="../../src/yuzu/configuration/configure_motion_touch.ui" line="31"/> - <source>Sensitivity:</source> - <translation>Sensibilidade:</translation> - </message> - <message> - <location filename="../../src/yuzu/configuration/configure_motion_touch.ui" line="65"/> + <location filename="../../src/yuzu/configuration/configure_motion_touch.ui" line="15"/> <source>Touch</source> <translation>Toque</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_motion_touch.ui" line="73"/> + <location filename="../../src/yuzu/configuration/configure_motion_touch.ui" line="23"/> <source>UDP Calibration:</source> <translation>Calibração UDP:</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_motion_touch.ui" line="80"/> + <location filename="../../src/yuzu/configuration/configure_motion_touch.ui" line="30"/> <source>(100, 50) - (1800, 850)</source> <translation>(100, 50) - (1800, 850)</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_motion_touch.ui" line="96"/> - <location filename="../../src/yuzu/configuration/configure_motion_touch.ui" line="129"/> - <location filename="../../src/yuzu/configuration/configure_motion_touch.cpp" line="250"/> + <location filename="../../src/yuzu/configuration/configure_motion_touch.ui" line="46"/> + <location filename="../../src/yuzu/configuration/configure_motion_touch.ui" line="73"/> + <location filename="../../src/yuzu/configuration/configure_motion_touch.cpp" line="245"/> <source>Configure</source> <translation>Configurar</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_motion_touch.ui" line="113"/> - <source>Use button mapping:</source> - <translation>Usar mapeamento de butões:</translation> + <location filename="../../src/yuzu/configuration/configure_motion_touch.ui" line="57"/> + <source>Touch from button profile:</source> + <translation type="unfinished"/> </message> <message> - <location filename="../../src/yuzu/configuration/configure_motion_touch.ui" line="141"/> + <location filename="../../src/yuzu/configuration/configure_motion_touch.ui" line="85"/> <source>CemuhookUDP Config</source> <translation>Configurar CemuhookUDP</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_motion_touch.ui" line="147"/> + <location filename="../../src/yuzu/configuration/configure_motion_touch.ui" line="91"/> <source>You may use any Cemuhook compatible UDP input source to provide motion and touch input.</source> <translation>Podes usar qualquer fonte de entrada UDP compatível com Cemuhook para fornecer entradas de toque e movimento.</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_motion_touch.ui" line="190"/> + <location filename="../../src/yuzu/configuration/configure_motion_touch.ui" line="134"/> <source>Server:</source> <translation>Servidor:</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_motion_touch.ui" line="217"/> + <location filename="../../src/yuzu/configuration/configure_motion_touch.ui" line="161"/> <source>Port:</source> <translation>Porta:</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_motion_touch.ui" line="244"/> + <location filename="../../src/yuzu/configuration/configure_motion_touch.ui" line="188"/> <source>Learn More</source> <translation>Saber Mais</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_motion_touch.ui" line="257"/> - <location filename="../../src/yuzu/configuration/configure_motion_touch.cpp" line="273"/> + <location filename="../../src/yuzu/configuration/configure_motion_touch.ui" line="201"/> + <location filename="../../src/yuzu/configuration/configure_motion_touch.cpp" line="268"/> <source>Test</source> <translation>Testar</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_motion_touch.ui" line="270"/> + <location filename="../../src/yuzu/configuration/configure_motion_touch.ui" line="214"/> <source>Add Server</source> <translation>Adicionar Servidor</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_motion_touch.ui" line="303"/> + <location filename="../../src/yuzu/configuration/configure_motion_touch.ui" line="247"/> <source>Remove Server</source> <translation>Remover Servidor</translation> </message> @@ -2148,146 +2279,82 @@ Para inverter os eixos, mova o seu analógico primeiro verticalmente e depois ho <translation><a href='https://yuzu-emu.org/wiki/using-a-controller-or-android-phone-for-motion-or-touch-input'><span style="text-decoration: underline; color:#039be5;">Saber Mais</span></a></translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_motion_touch.cpp" line="176"/> + <location filename="../../src/yuzu/configuration/configure_motion_touch.cpp" line="171"/> <source>%1:%2</source> <translation>%1:%2</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_motion_touch.cpp" line="181"/> - <location filename="../../src/yuzu/configuration/configure_motion_touch.cpp" line="185"/> - <location filename="../../src/yuzu/configuration/configure_motion_touch.cpp" line="189"/> - <location filename="../../src/yuzu/configuration/configure_motion_touch.cpp" line="195"/> - <location filename="../../src/yuzu/configuration/configure_motion_touch.cpp" line="201"/> - <location filename="../../src/yuzu/configuration/configure_motion_touch.cpp" line="295"/> + <location filename="../../src/yuzu/configuration/configure_motion_touch.cpp" line="176"/> + <location filename="../../src/yuzu/configuration/configure_motion_touch.cpp" line="180"/> + <location filename="../../src/yuzu/configuration/configure_motion_touch.cpp" line="184"/> + <location filename="../../src/yuzu/configuration/configure_motion_touch.cpp" line="190"/> + <location filename="../../src/yuzu/configuration/configure_motion_touch.cpp" line="196"/> + <location filename="../../src/yuzu/configuration/configure_motion_touch.cpp" line="290"/> <source>yuzu</source> <translation>yuzu</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_motion_touch.cpp" line="181"/> + <location filename="../../src/yuzu/configuration/configure_motion_touch.cpp" line="176"/> <source>Port number has invalid characters</source> <translation>O número da porta tem caracteres inválidos</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_motion_touch.cpp" line="185"/> + <location filename="../../src/yuzu/configuration/configure_motion_touch.cpp" line="180"/> <source>Port has to be in range 0 and 65353</source> <translation>A porta tem que estar entre 0 e 65353</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_motion_touch.cpp" line="189"/> + <location filename="../../src/yuzu/configuration/configure_motion_touch.cpp" line="184"/> <source>IP address is not valid</source> <translation>O endereço IP não é válido</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_motion_touch.cpp" line="195"/> + <location filename="../../src/yuzu/configuration/configure_motion_touch.cpp" line="190"/> <source>This UDP server already exists</source> <translation type="unfinished"/> </message> <message> - <location filename="../../src/yuzu/configuration/configure_motion_touch.cpp" line="201"/> + <location filename="../../src/yuzu/configuration/configure_motion_touch.cpp" line="196"/> <source>Unable to add more than 8 servers</source> <translation>Não é possível adicionar mais de 8 servidores</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_motion_touch.cpp" line="217"/> + <location filename="../../src/yuzu/configuration/configure_motion_touch.cpp" line="212"/> <source>Testing</source> <translation>Testando</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_motion_touch.cpp" line="233"/> + <location filename="../../src/yuzu/configuration/configure_motion_touch.cpp" line="228"/> <source>Configuring</source> <translation>Configurando</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_motion_touch.cpp" line="264"/> + <location filename="../../src/yuzu/configuration/configure_motion_touch.cpp" line="259"/> <source>Test Successful</source> <translation>Teste Bem-Sucedido</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_motion_touch.cpp" line="265"/> + <location filename="../../src/yuzu/configuration/configure_motion_touch.cpp" line="260"/> <source>Successfully received data from the server.</source> <translation>Dados recebidos do servidor com êxito.</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_motion_touch.cpp" line="267"/> + <location filename="../../src/yuzu/configuration/configure_motion_touch.cpp" line="262"/> <source>Test Failed</source> <translation>Teste Falhou</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_motion_touch.cpp" line="268"/> + <location filename="../../src/yuzu/configuration/configure_motion_touch.cpp" line="263"/> <source>Could not receive valid data from the server.<br>Please verify that the server is set up correctly and the address and port are correct.</source> <translation>Não foi possível receber dados válidos do servidor.<br>Por favor verifica que o servidor está configurado correctamente e o endereço e porta estão correctos.</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_motion_touch.cpp" line="296"/> + <location filename="../../src/yuzu/configuration/configure_motion_touch.cpp" line="291"/> <source>UDP Test or calibration configuration is in progress.<br>Please wait for them to finish.</source> <translation>Teste UDP ou configuração de calibragem em progresso.<br> Por favor espera que termine.</translation> </message> </context> <context> - <name>ConfigureMouseAdvanced</name> - <message> - <location filename="../../src/yuzu/configuration/configure_mouse_advanced.ui" line="14"/> - <source>Configure Mouse</source> - <translation>Configurar Rato</translation> - </message> - <message> - <location filename="../../src/yuzu/configuration/configure_mouse_advanced.ui" line="25"/> - <source>Mouse Buttons</source> - <translation>Botões do Rato</translation> - </message> - <message> - <location filename="../../src/yuzu/configuration/configure_mouse_advanced.ui" line="35"/> - <source>Forward:</source> - <translation>Frente:</translation> - </message> - <message> - <location filename="../../src/yuzu/configuration/configure_mouse_advanced.ui" line="75"/> - <source>Back:</source> - <translation>Atrás:</translation> - </message> - <message> - <location filename="../../src/yuzu/configuration/configure_mouse_advanced.ui" line="103"/> - <source>Left:</source> - <translation>Esquerda:</translation> - </message> - <message> - <location filename="../../src/yuzu/configuration/configure_mouse_advanced.ui" line="131"/> - <source>Middle:</source> - <translation>Meio:</translation> - </message> - <message> - <location filename="../../src/yuzu/configuration/configure_mouse_advanced.ui" line="197"/> - <source>Right:</source> - <translation>Direita:</translation> - </message> - <message> - <location filename="../../src/yuzu/configuration/configure_mouse_advanced.ui" line="270"/> - <location filename="../../src/yuzu/configuration/configure_mouse_advanced.cpp" line="109"/> - <source>Clear</source> - <translation>Limpar</translation> - </message> - <message> - <location filename="../../src/yuzu/configuration/configure_mouse_advanced.ui" line="289"/> - <source>Defaults</source> - <translation>Padrões</translation> - </message> - <message> - <location filename="../../src/yuzu/configuration/configure_mouse_advanced.cpp" line="111"/> - <source>[not set]</source> - <translation>[não configurado]</translation> - </message> - <message> - <location filename="../../src/yuzu/configuration/configure_mouse_advanced.cpp" line="113"/> - <source>Restore Default</source> - <translation>Restaurar Padrões</translation> - </message> - <message> - <location filename="../../src/yuzu/configuration/configure_mouse_advanced.cpp" line="200"/> - <source>[press key]</source> - <translation>[pressiona a tecla]</translation> - </message> -</context> -<context> <name>ConfigureNetwork</name> <message> <location filename="../../src/yuzu/configuration/configure_network.ui" line="14"/> @@ -3070,31 +3137,26 @@ Para inverter os eixos, mova o seu analógico primeiro verticalmente e depois ho </message> <message> <location filename="../../src/yuzu/configuration/configure_tas.ui" line="64"/> - <source>Automatic controller profile swapping</source> - <translation type="unfinished"/> - </message> - <message> - <location filename="../../src/yuzu/configuration/configure_tas.ui" line="71"/> <source>Loop script</source> <translation type="unfinished"/> </message> <message> - <location filename="../../src/yuzu/configuration/configure_tas.ui" line="81"/> + <location filename="../../src/yuzu/configuration/configure_tas.ui" line="74"/> <source>Pause execution during loads</source> <translation type="unfinished"/> </message> <message> - <location filename="../../src/yuzu/configuration/configure_tas.ui" line="95"/> + <location filename="../../src/yuzu/configuration/configure_tas.ui" line="88"/> <source>Script Directory</source> <translation type="unfinished"/> </message> <message> - <location filename="../../src/yuzu/configuration/configure_tas.ui" line="101"/> + <location filename="../../src/yuzu/configuration/configure_tas.ui" line="94"/> <source>Path</source> <translation type="unfinished"/> </message> <message> - <location filename="../../src/yuzu/configuration/configure_tas.ui" line="108"/> + <location filename="../../src/yuzu/configuration/configure_tas.ui" line="101"/> <source>...</source> <translation type="unfinished"/> </message> @@ -3107,7 +3169,7 @@ Para inverter os eixos, mova o seu analógico primeiro verticalmente e depois ho <translation type="unfinished"/> </message> <message> - <location filename="../../src/yuzu/configuration/configure_tas.cpp" line="53"/> + <location filename="../../src/yuzu/configuration/configure_tas.cpp" line="51"/> <source>Select TAS Load Directory...</source> <translation type="unfinished"/> </message> @@ -3169,37 +3231,37 @@ Arrasta os pontos para mudar a posição, ou dá duplo-clique nas células da ta <translation>Y</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_touch_from_button.cpp" line="200"/> + <location filename="../../src/yuzu/configuration/configure_touch_from_button.cpp" line="197"/> <source>New Profile</source> <translation>Novo Perfil</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_touch_from_button.cpp" line="200"/> + <location filename="../../src/yuzu/configuration/configure_touch_from_button.cpp" line="197"/> <source>Enter the name for the new profile.</source> <translation>Escreve o nome para o novo perfil.</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_touch_from_button.cpp" line="211"/> + <location filename="../../src/yuzu/configuration/configure_touch_from_button.cpp" line="208"/> <source>Delete Profile</source> <translation>Apagar Perfil</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_touch_from_button.cpp" line="211"/> + <location filename="../../src/yuzu/configuration/configure_touch_from_button.cpp" line="208"/> <source>Delete profile %1?</source> <translation>Apagar perfil %1?</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_touch_from_button.cpp" line="224"/> + <location filename="../../src/yuzu/configuration/configure_touch_from_button.cpp" line="221"/> <source>Rename Profile</source> <translation>Renomear Perfil</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_touch_from_button.cpp" line="224"/> + <location filename="../../src/yuzu/configuration/configure_touch_from_button.cpp" line="221"/> <source>New name:</source> <translation>Novo nome:</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_touch_from_button.cpp" line="233"/> + <location filename="../../src/yuzu/configuration/configure_touch_from_button.cpp" line="230"/> <source>[press key]</source> <translation>[premir tecla]</translation> </message> @@ -3619,12 +3681,12 @@ Arrasta os pontos para mudar a posição, ou dá duplo-clique nas células da ta <context> <name>ControllerDialog</name> <message> - <location filename="../../src/yuzu/debugger/controller.cpp" line="17"/> + <location filename="../../src/yuzu/debugger/controller.cpp" line="21"/> <source>Controller P1</source> <translation>Comando J1</translation> </message> <message> - <location filename="../../src/yuzu/debugger/controller.cpp" line="52"/> + <location filename="../../src/yuzu/debugger/controller.cpp" line="60"/> <source>&Controller P1</source> <translation>&Comando J1</translation> </message> @@ -3632,89 +3694,94 @@ Arrasta os pontos para mudar a posição, ou dá duplo-clique nas células da ta <context> <name>GMainWindow</name> <message> - <location filename="../../src/yuzu/main.cpp" line="174"/> + <location filename="../../src/yuzu/main.cpp" line="176"/> <source><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?</source> <translation><a href='https://yuzu-emu.org/help/feature/telemetry/'>Dados anônimos são coletados</a>para ajudar a melhorar o yuzu.<br/><br/>Gostaria de compartilhar seus dados de uso conosco?</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="177"/> + <location filename="../../src/yuzu/main.cpp" line="179"/> <source>Telemetry</source> <translation>Telemetria</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="592"/> + <location filename="../../src/yuzu/main.cpp" line="600"/> <source>Loading Web Applet...</source> <translation>A Carregar o Web Applet ...</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="639"/> - <location filename="../../src/yuzu/main.cpp" line="642"/> + <location filename="../../src/yuzu/main.cpp" line="647"/> + <location filename="../../src/yuzu/main.cpp" line="650"/> <source>Disable Web Applet</source> <translation>Desativar Web Applet</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="643"/> + <location filename="../../src/yuzu/main.cpp" line="651"/> <source>Disabling the web applet will cause it to not be shown again for the rest of the emulated session. This 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?</source> <translation>Desativar o Web Applet fará com que ele não apareça novamente até o final da sessão emulada. Isto pode causar comportamento inesperado e só deve ser usado com Super Mario 3D All-Stars. Tem a certeza que quer desativar o Web Applet?</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="746"/> + <location filename="../../src/yuzu/main.cpp" line="754"/> <source>The amount of shaders currently being built</source> <translation>Quantidade de shaders a serem construídos</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="749"/> + <location filename="../../src/yuzu/main.cpp" line="756"/> + <source>The current selected resolution scaling multiplier.</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/main.cpp" line="759"/> <source>Current emulation speed. Values higher or lower than 100% indicate emulation is running faster or slower than a Switch.</source> <translation>Velocidade da emulação actual. Valores acima ou abaixo de 100% indicam que a emulação está sendo executada mais depressa ou mais devagar do que a Switch</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="752"/> + <location filename="../../src/yuzu/main.cpp" line="762"/> <source>How many frames per second the game is currently displaying. This will vary from game to game and scene to scene.</source> <translation>Quantos quadros por segundo o jogo está exibindo de momento. Isto irá variar de jogo para jogo e de cena para cena.</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="756"/> + <location filename="../../src/yuzu/main.cpp" line="766"/> <source>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.</source> <translation>Tempo gasto para emular um frame da Switch, sem contar o a limitação de quadros ou o v-sync. Para emulação de velocidade máxima, esta deve ser no máximo 16.67 ms.</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="781"/> + <location filename="../../src/yuzu/main.cpp" line="841"/> <source>Invalid config detected</source> <translation>Configação inválida detectada</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="782"/> + <location filename="../../src/yuzu/main.cpp" line="842"/> <source>Handheld controller can't be used on docked mode. Pro controller will be selected.</source> <translation>O comando portátil não pode ser usado no modo encaixado na base. O Pro controller será selecionado.</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="794"/> + <location filename="../../src/yuzu/main.cpp" line="854"/> <source>DOCK</source> <translation>DOCK</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="828"/> + <location filename="../../src/yuzu/main.cpp" line="888"/> <source>VULKAN</source> <translation>VULKAN</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="828"/> + <location filename="../../src/yuzu/main.cpp" line="888"/> <source>OPENGL</source> <translation>OPENGL</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="886"/> + <location filename="../../src/yuzu/main.cpp" line="951"/> <source>&Clear Recent Files</source> <translation>&Limpar arquivos recentes</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="1055"/> - <source>TAS Recording</source> - <translation type="unfinished"/> + <location filename="../../src/yuzu/main.cpp" line="1210"/> + <source>&Continue</source> + <translation>&Continuar</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="1056"/> - <source>Overwrite file of player 1?</source> + <location filename="../../src/yuzu/main.cpp" line="1212"/> + <source>&Pause</source> <translation type="unfinished"/> </message> <message> @@ -3766,657 +3833,724 @@ Arrasta os pontos para mudar a posição, ou dá duplo-clique nas células da ta <translation>Ocorreu um erro desconhecido. Por favor, veja o log para mais detalhes.</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="1462"/> + <location filename="../../src/yuzu/main.cpp" line="1460"/> <source>(64-bit)</source> <translation type="unfinished"/> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="1462"/> + <location filename="../../src/yuzu/main.cpp" line="1460"/> <source>(32-bit)</source> <translation type="unfinished"/> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="1463"/> + <location filename="../../src/yuzu/main.cpp" line="1461"/> <source>%1 %2</source> <comment>%1 is the title name. %2 indicates if the title is 64-bit or 32-bit</comment> <translation type="unfinished"/> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="1507"/> - <source>Start</source> - <translation>Começar</translation> - </message> - <message> - <location filename="../../src/yuzu/main.cpp" line="1612"/> + <location filename="../../src/yuzu/main.cpp" line="1605"/> <source>Save Data</source> <translation>Save Data</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="1660"/> + <location filename="../../src/yuzu/main.cpp" line="1653"/> <source>Mod Data</source> <translation>Mod Data</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="1672"/> + <location filename="../../src/yuzu/main.cpp" line="1665"/> <source>Error Opening %1 Folder</source> <translation>Erro ao abrir a pasta %1</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="1673"/> - <location filename="../../src/yuzu/main.cpp" line="2079"/> + <location filename="../../src/yuzu/main.cpp" line="1666"/> + <location filename="../../src/yuzu/main.cpp" line="2072"/> <source>Folder does not exist!</source> <translation>A Pasta não existe!</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="1685"/> + <location filename="../../src/yuzu/main.cpp" line="1678"/> <source>Error Opening Transferable Shader Cache</source> <translation>Erro ao abrir os Shader Cache transferíveis</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="1686"/> + <location filename="../../src/yuzu/main.cpp" line="1679"/> <source>Failed to create the shader cache directory for this title.</source> <translation type="unfinished"/> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="1738"/> + <location filename="../../src/yuzu/main.cpp" line="1731"/> <source>Contents</source> <translation>Conteúdos</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="1740"/> + <location filename="../../src/yuzu/main.cpp" line="1733"/> <source>Update</source> <translation>Actualização</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="1742"/> + <location filename="../../src/yuzu/main.cpp" line="1735"/> <source>DLC</source> <translation>DLC</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="1749"/> + <location filename="../../src/yuzu/main.cpp" line="1742"/> <source>Remove Entry</source> <translation>Remover Entrada</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="1749"/> + <location filename="../../src/yuzu/main.cpp" line="1742"/> <source>Remove Installed Game %1?</source> <translation>Remover Jogo Instalado %1?</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="1779"/> - <location filename="../../src/yuzu/main.cpp" line="1795"/> - <location filename="../../src/yuzu/main.cpp" line="1826"/> - <location filename="../../src/yuzu/main.cpp" line="1887"/> - <location filename="../../src/yuzu/main.cpp" line="1905"/> - <location filename="../../src/yuzu/main.cpp" line="1928"/> + <location filename="../../src/yuzu/main.cpp" line="1772"/> + <location filename="../../src/yuzu/main.cpp" line="1788"/> + <location filename="../../src/yuzu/main.cpp" line="1819"/> + <location filename="../../src/yuzu/main.cpp" line="1880"/> + <location filename="../../src/yuzu/main.cpp" line="1898"/> + <location filename="../../src/yuzu/main.cpp" line="1921"/> <source>Successfully Removed</source> <translation>Removido com Sucesso</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="1780"/> + <location filename="../../src/yuzu/main.cpp" line="1773"/> <source>Successfully removed the installed base game.</source> <translation>Removida a instalação do jogo base com sucesso.</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="1783"/> - <location filename="../../src/yuzu/main.cpp" line="1798"/> - <location filename="../../src/yuzu/main.cpp" line="1821"/> + <location filename="../../src/yuzu/main.cpp" line="1776"/> + <location filename="../../src/yuzu/main.cpp" line="1791"/> + <location filename="../../src/yuzu/main.cpp" line="1814"/> <source>Error Removing %1</source> <translation>Erro ao Remover %1</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="1784"/> + <location filename="../../src/yuzu/main.cpp" line="1777"/> <source>The base game is not installed in the NAND and cannot be removed.</source> <translation>O jogo base não está instalado no NAND e não pode ser removido.</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="1796"/> + <location filename="../../src/yuzu/main.cpp" line="1789"/> <source>Successfully removed the installed update.</source> <translation>Removida a actualização instalada com sucesso.</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="1799"/> + <location filename="../../src/yuzu/main.cpp" line="1792"/> <source>There is no update installed for this title.</source> <translation>Não há actualização instalada neste título.</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="1822"/> + <location filename="../../src/yuzu/main.cpp" line="1815"/> <source>There are no DLC installed for this title.</source> <translation>Não há DLC instalado neste título.</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="1827"/> + <location filename="../../src/yuzu/main.cpp" line="1820"/> <source>Successfully removed %1 installed DLC.</source> <translation>Removido DLC instalado %1 com sucesso.</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="1835"/> + <location filename="../../src/yuzu/main.cpp" line="1828"/> <source>Delete OpenGL Transferable Shader Cache?</source> <translation type="unfinished"/> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="1837"/> + <location filename="../../src/yuzu/main.cpp" line="1830"/> <source>Delete Vulkan Transferable Shader Cache?</source> <translation type="unfinished"/> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="1839"/> + <location filename="../../src/yuzu/main.cpp" line="1832"/> <source>Delete All Transferable Shader Caches?</source> <translation type="unfinished"/> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="1841"/> + <location filename="../../src/yuzu/main.cpp" line="1834"/> <source>Remove Custom Game Configuration?</source> <translation>Remover Configuração Personalizada do Jogo?</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="1847"/> + <location filename="../../src/yuzu/main.cpp" line="1840"/> <source>Remove File</source> <translation>Remover Ficheiro</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="1882"/> - <location filename="../../src/yuzu/main.cpp" line="1890"/> + <location filename="../../src/yuzu/main.cpp" line="1875"/> + <location filename="../../src/yuzu/main.cpp" line="1883"/> <source>Error Removing Transferable Shader Cache</source> <translation>Error ao Remover Cache de Shader Transferível</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="1883"/> - <location filename="../../src/yuzu/main.cpp" line="1901"/> + <location filename="../../src/yuzu/main.cpp" line="1876"/> + <location filename="../../src/yuzu/main.cpp" line="1894"/> <source>A shader cache for this title does not exist.</source> <translation>O Shader Cache para este titulo não existe.</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="1888"/> + <location filename="../../src/yuzu/main.cpp" line="1881"/> <source>Successfully removed the transferable shader cache.</source> <translation>Removido a Cache de Shader Transferível com Sucesso.</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="1891"/> + <location filename="../../src/yuzu/main.cpp" line="1884"/> <source>Failed to remove the transferable shader cache.</source> <translation>Falha ao remover a cache de shader transferível.</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="1900"/> - <location filename="../../src/yuzu/main.cpp" line="1908"/> + <location filename="../../src/yuzu/main.cpp" line="1893"/> + <location filename="../../src/yuzu/main.cpp" line="1901"/> <source>Error Removing Transferable Shader Caches</source> <translation type="unfinished"/> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="1906"/> + <location filename="../../src/yuzu/main.cpp" line="1899"/> <source>Successfully removed the transferable shader caches.</source> <translation type="unfinished"/> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="1909"/> + <location filename="../../src/yuzu/main.cpp" line="1902"/> <source>Failed to remove the transferable shader cache directory.</source> <translation type="unfinished"/> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="1922"/> - <location filename="../../src/yuzu/main.cpp" line="1931"/> + <location filename="../../src/yuzu/main.cpp" line="1915"/> + <location filename="../../src/yuzu/main.cpp" line="1924"/> <source>Error Removing Custom Configuration</source> <translation>Erro ao Remover Configuração Personalizada</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="1923"/> + <location filename="../../src/yuzu/main.cpp" line="1916"/> <source>A custom configuration for this title does not exist.</source> <translation>Não existe uma configuração personalizada para este titúlo.</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="1929"/> + <location filename="../../src/yuzu/main.cpp" line="1922"/> <source>Successfully removed the custom game configuration.</source> <translation>Removida a configuração personalizada do jogo com sucesso.</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="1932"/> + <location filename="../../src/yuzu/main.cpp" line="1925"/> <source>Failed to remove the custom game configuration.</source> <translation>Falha ao remover a configuração personalizada do jogo.</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="1939"/> - <location filename="../../src/yuzu/main.cpp" line="2018"/> + <location filename="../../src/yuzu/main.cpp" line="1932"/> + <location filename="../../src/yuzu/main.cpp" line="2011"/> <source>RomFS Extraction Failed!</source> <translation>A Extração de RomFS falhou!</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="1940"/> + <location filename="../../src/yuzu/main.cpp" line="1933"/> <source>There was an error copying the RomFS files or the user cancelled the operation.</source> <translation>Houve um erro ao copiar os arquivos RomFS ou o usuário cancelou a operação.</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="1998"/> + <location filename="../../src/yuzu/main.cpp" line="1991"/> <source>Full</source> <translation>Cheio</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="1998"/> + <location filename="../../src/yuzu/main.cpp" line="1991"/> <source>Skeleton</source> <translation>Esqueleto</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="2000"/> + <location filename="../../src/yuzu/main.cpp" line="1993"/> <source>Select RomFS Dump Mode</source> <translation>Selecione o modo de despejo do RomFS</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="2001"/> + <location filename="../../src/yuzu/main.cpp" line="1994"/> <source>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.</source> <translation>Por favor, selecione a forma como você gostaria que o RomFS fosse despejado<br>Full irá copiar todos os arquivos para o novo diretório enquanto<br>skeleton criará apenas a estrutura de diretórios.</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="2019"/> + <location filename="../../src/yuzu/main.cpp" line="2012"/> <source>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</source> <translation type="unfinished"/> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="2026"/> + <location filename="../../src/yuzu/main.cpp" line="2019"/> <source>Extracting RomFS...</source> <translation>Extraindo o RomFS ...</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="2026"/> - <location filename="../../src/yuzu/main.cpp" line="2206"/> + <location filename="../../src/yuzu/main.cpp" line="2019"/> + <location filename="../../src/yuzu/main.cpp" line="2199"/> <source>Cancel</source> <translation>Cancelar</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="2033"/> + <location filename="../../src/yuzu/main.cpp" line="2026"/> <source>RomFS Extraction Succeeded!</source> <translation>Extração de RomFS Bem-Sucedida!</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="2034"/> + <location filename="../../src/yuzu/main.cpp" line="2027"/> <source>The operation completed successfully.</source> <translation>A operação foi completa com sucesso.</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="2078"/> + <location filename="../../src/yuzu/main.cpp" line="2071"/> <source>Error Opening %1</source> <translation>Erro ao abrir %1</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="2087"/> + <location filename="../../src/yuzu/main.cpp" line="2080"/> <source>Select Directory</source> <translation>Selecione o Diretório</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="2114"/> + <location filename="../../src/yuzu/main.cpp" line="2107"/> <source>Properties</source> <translation>Propriedades</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="2115"/> + <location filename="../../src/yuzu/main.cpp" line="2108"/> <source>The game properties could not be loaded.</source> <translation>As propriedades do jogo não puderam ser carregadas.</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="2127"/> + <location filename="../../src/yuzu/main.cpp" line="2120"/> <source>Switch Executable (%1);;All Files (*.*)</source> <comment>%1 is an identifier for the Switch executable file extensions.</comment> <translation>Executáveis Switch (%1);;Todos os Ficheiros (*.*)</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="2131"/> + <location filename="../../src/yuzu/main.cpp" line="2124"/> <source>Load File</source> <translation>Carregar Ficheiro</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="2143"/> + <location filename="../../src/yuzu/main.cpp" line="2136"/> <source>Open Extracted ROM Directory</source> <translation>Abrir o directório ROM extraído</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="2154"/> + <location filename="../../src/yuzu/main.cpp" line="2147"/> <source>Invalid Directory Selected</source> <translation>Diretório inválido selecionado</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="2155"/> + <location filename="../../src/yuzu/main.cpp" line="2148"/> <source>The directory you have selected does not contain a 'main' file.</source> <translation>O diretório que você selecionou não contém um arquivo 'Main'.</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="2165"/> + <location filename="../../src/yuzu/main.cpp" line="2158"/> <source>Installable Switch File (*.nca *.nsp *.xci);;Nintendo Content Archive (*.nca);;Nintendo Submission Package (*.nsp);;NX Cartridge Image (*.xci)</source> <translation>Ficheiro Switch Instalável (*.nca *.nsp *.xci);;Arquivo de Conteúdo Nintendo (*.nca);;Pacote de Envio Nintendo (*.nsp);;Imagem de Cartucho NX (*.xci)</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="2170"/> + <location filename="../../src/yuzu/main.cpp" line="2163"/> <source>Install Files</source> <translation>Instalar Ficheiros</translation> </message> <message numerus="yes"> - <location filename="../../src/yuzu/main.cpp" line="2214"/> + <location filename="../../src/yuzu/main.cpp" line="2207"/> <source>%n file(s) remaining</source> <translation type="unfinished"><numerusform></numerusform><numerusform></numerusform></translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="2216"/> + <location filename="../../src/yuzu/main.cpp" line="2209"/> <source>Installing file "%1"...</source> <translation>Instalando arquivo "%1"...</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="2262"/> - <location filename="../../src/yuzu/main.cpp" line="2276"/> + <location filename="../../src/yuzu/main.cpp" line="2255"/> + <location filename="../../src/yuzu/main.cpp" line="2269"/> <source>Install Results</source> <translation>Instalar Resultados</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="2263"/> + <location filename="../../src/yuzu/main.cpp" line="2256"/> <source>To avoid possible conflicts, we discourage users from installing base games to the NAND. Please, only use this feature to install updates and DLC.</source> <translation>Para evitar possíveis conflitos, desencorajamos que os utilizadores instalem os jogos base na NAND. Por favor, use esse recurso apenas para instalar atualizações e DLC.</translation> </message> <message numerus="yes"> - <location filename="../../src/yuzu/main.cpp" line="2269"/> + <location filename="../../src/yuzu/main.cpp" line="2262"/> <source>%n file(s) were newly installed </source> <translation type="unfinished"><numerusform></numerusform><numerusform></numerusform></translation> </message> <message numerus="yes"> - <location filename="../../src/yuzu/main.cpp" line="2272"/> + <location filename="../../src/yuzu/main.cpp" line="2265"/> <source>%n file(s) were overwritten </source> <translation type="unfinished"><numerusform></numerusform><numerusform></numerusform></translation> </message> <message numerus="yes"> - <location filename="../../src/yuzu/main.cpp" line="2274"/> + <location filename="../../src/yuzu/main.cpp" line="2267"/> <source>%n file(s) failed to install </source> <translation type="unfinished"><numerusform></numerusform><numerusform></numerusform></translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="2375"/> + <location filename="../../src/yuzu/main.cpp" line="2368"/> <source>System Application</source> <translation>Aplicação do sistema</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="2376"/> + <location filename="../../src/yuzu/main.cpp" line="2369"/> <source>System Archive</source> <translation>Arquivo do sistema</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="2377"/> + <location filename="../../src/yuzu/main.cpp" line="2370"/> <source>System Application Update</source> <translation>Atualização do aplicativo do sistema</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="2378"/> + <location filename="../../src/yuzu/main.cpp" line="2371"/> <source>Firmware Package (Type A)</source> <translation>Pacote de Firmware (Tipo A)</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="2379"/> + <location filename="../../src/yuzu/main.cpp" line="2372"/> <source>Firmware Package (Type B)</source> <translation>Pacote de Firmware (Tipo B)</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="2380"/> + <location filename="../../src/yuzu/main.cpp" line="2373"/> <source>Game</source> <translation>Jogo</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="2381"/> + <location filename="../../src/yuzu/main.cpp" line="2374"/> <source>Game Update</source> <translation>Actualização do Jogo</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="2382"/> + <location filename="../../src/yuzu/main.cpp" line="2375"/> <source>Game DLC</source> <translation>DLC do Jogo</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="2383"/> + <location filename="../../src/yuzu/main.cpp" line="2376"/> <source>Delta Title</source> <translation>Título Delta</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="2386"/> + <location filename="../../src/yuzu/main.cpp" line="2379"/> <source>Select NCA Install Type...</source> <translation>Selecione o tipo de instalação do NCA ...</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="2387"/> + <location filename="../../src/yuzu/main.cpp" line="2380"/> <source>Please select the type of title you would like to install this NCA as: (In most instances, the default 'Game' is fine.)</source> <translation>Por favor, selecione o tipo de título que você gostaria de instalar este NCA como: (Na maioria dos casos, o padrão 'Jogo' é suficiente).</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="2393"/> + <location filename="../../src/yuzu/main.cpp" line="2386"/> <source>Failed to Install</source> <translation>Falha na instalação</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="2394"/> + <location filename="../../src/yuzu/main.cpp" line="2387"/> <source>The title type you selected for the NCA is invalid.</source> <translation>O tipo de título que você selecionou para o NCA é inválido.</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="2429"/> + <location filename="../../src/yuzu/main.cpp" line="2422"/> <source>File not found</source> <translation>Arquivo não encontrado</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="2430"/> + <location filename="../../src/yuzu/main.cpp" line="2423"/> <source>File "%1" not found</source> <translation>Arquivo "%1" não encontrado</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="2445"/> - <location filename="../../src/yuzu/main.cpp" line="3448"/> - <source>&Continue</source> - <translation>&Continuar</translation> - </message> - <message> - <location filename="../../src/yuzu/main.cpp" line="2494"/> + <location filename="../../src/yuzu/main.cpp" line="2492"/> <source>OK</source> <translation>OK</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="2508"/> + <location filename="../../src/yuzu/main.cpp" line="2506"/> <source>Missing yuzu Account</source> <translation>Conta Yuzu Ausente</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="2509"/> + <location filename="../../src/yuzu/main.cpp" line="2507"/> <source>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.</source> <translation>Para enviar um caso de teste de compatibilidade de jogos, você deve vincular sua conta yuzu.<br><br/>Para vincular sua conta yuzu, vá para Emulação &gt; Configuração &gt; Rede.</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="2519"/> + <location filename="../../src/yuzu/main.cpp" line="2517"/> <source>Error opening URL</source> <translation>Erro ao abrir URL</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="2520"/> + <location filename="../../src/yuzu/main.cpp" line="2518"/> <source>Unable to open the URL "%1".</source> <translation>Não foi possível abrir o URL "%1".</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="2802"/> + <location filename="../../src/yuzu/main.cpp" line="2777"/> + <source>TAS Recording</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/main.cpp" line="2777"/> + <source>Overwrite file of player 1?</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/main.cpp" line="2830"/> <source>Amiibo File (%1);; All Files (*.*)</source> <translation>Arquivo Amiibo (%1);; Todos os Arquivos (*.*)</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="2803"/> + <location filename="../../src/yuzu/main.cpp" line="2831"/> <source>Load Amiibo</source> <translation>Carregar Amiibo</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="2821"/> + <location filename="../../src/yuzu/main.cpp" line="2849"/> <source>Error opening Amiibo data file</source> <translation>Erro ao abrir o arquivo de dados do Amiibo</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="2822"/> + <location filename="../../src/yuzu/main.cpp" line="2850"/> <source>Unable to open Amiibo file "%1" for reading.</source> <translation>Não é possível abrir o arquivo Amiibo "%1" para leitura.</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="2830"/> + <location filename="../../src/yuzu/main.cpp" line="2858"/> <source>Error reading Amiibo data file</source> <translation>Erro ao ler o arquivo de dados do Amiibo</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="2831"/> + <location filename="../../src/yuzu/main.cpp" line="2859"/> <source>Unable to fully read Amiibo data. Expected to read %1 bytes, but was only able to read %2 bytes.</source> <translation>Não é possível ler completamente os dados do Amiibo. Espera-se que leia %1 bytes, mas só conseguiu ler %2 bytes.</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="2839"/> + <location filename="../../src/yuzu/main.cpp" line="2867"/> <source>Error loading Amiibo data</source> <translation>Erro ao carregar dados do Amiibo</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="2840"/> + <location filename="../../src/yuzu/main.cpp" line="2868"/> <source>Unable to load Amiibo data.</source> <translation>Não foi possível carregar os dados do Amiibo.</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="2881"/> + <location filename="../../src/yuzu/main.cpp" line="2913"/> <source>Capture Screenshot</source> <translation>Captura de Tela</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="2882"/> + <location filename="../../src/yuzu/main.cpp" line="2914"/> <source>PNG Image (*.png)</source> <translation>Imagem PNG (*.png)</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="2948"/> + <location filename="../../src/yuzu/main.cpp" line="2979"/> <source>TAS state: Running %1/%2</source> <translation type="unfinished"/> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="2950"/> + <location filename="../../src/yuzu/main.cpp" line="2981"/> <source>TAS state: Recording %1</source> <translation type="unfinished"/> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="2952"/> + <location filename="../../src/yuzu/main.cpp" line="2983"/> <source>TAS state: Idle %1/%2</source> <translation type="unfinished"/> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="2954"/> + <location filename="../../src/yuzu/main.cpp" line="2985"/> <source>TAS State: Invalid</source> <translation type="unfinished"/> </message> + <message> + <location filename="../../src/yuzu/main.cpp" line="2999"/> + <source>&Stop Running</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/main.cpp" line="2999"/> + <source>&Start</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/main.cpp" line="3000"/> + <source>Stop R&ecording</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/main.cpp" line="3000"/> + <source>R&ecord</source> + <translation type="unfinished"/> + </message> <message numerus="yes"> - <location filename="../../src/yuzu/main.cpp" line="2975"/> + <location filename="../../src/yuzu/main.cpp" line="3024"/> <source>Building: %n shader(s)</source> <translation type="unfinished"><numerusform></numerusform><numerusform></numerusform></translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="2982"/> + <location filename="../../src/yuzu/main.cpp" line="3033"/> + <source>Scale: %1x</source> + <comment>%1 is the resolution scaling factor</comment> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/main.cpp" line="3036"/> <source>Speed: %1% / %2%</source> <translation>Velocidade: %1% / %2%</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="2986"/> + <location filename="../../src/yuzu/main.cpp" line="3040"/> <source>Speed: %1%</source> <translation>Velocidade: %1%</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="2990"/> + <location filename="../../src/yuzu/main.cpp" line="3044"/> <source>Game: %1 FPS (Unlocked)</source> <translation type="unfinished"/> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="2992"/> + <location filename="../../src/yuzu/main.cpp" line="3046"/> <source>Game: %1 FPS</source> <translation>Jogo: %1 FPS</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="2994"/> + <location filename="../../src/yuzu/main.cpp" line="3048"/> <source>Frame: %1 ms</source> <translation>Quadro: %1 ms</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="3004"/> + <location filename="../../src/yuzu/main.cpp" line="3059"/> <source>GPU NORMAL</source> <translation type="unfinished"/> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="3009"/> + <location filename="../../src/yuzu/main.cpp" line="3064"/> <source>GPU HIGH</source> <translation type="unfinished"/> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="3014"/> + <location filename="../../src/yuzu/main.cpp" line="3069"/> <source>GPU EXTREME</source> <translation type="unfinished"/> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="3019"/> + <location filename="../../src/yuzu/main.cpp" line="3074"/> <source>GPU ERROR</source> <translation type="unfinished"/> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="3076"/> + <location filename="../../src/yuzu/main.cpp" line="3084"/> + <source>NEAREST</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/main.cpp" line="3087"/> + <location filename="../../src/yuzu/main.cpp" line="3102"/> + <source>BILINEAR</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/main.cpp" line="3090"/> + <source>BICUBIC</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/main.cpp" line="3093"/> + <source>GAUSSIAN</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/main.cpp" line="3096"/> + <source>SCALEFORCE</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/main.cpp" line="3099"/> + <source>FSR</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/main.cpp" line="3111"/> + <location filename="../../src/yuzu/main.cpp" line="3117"/> + <source>NO AA</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/main.cpp" line="3114"/> + <source>FXAA</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/main.cpp" line="3175"/> <source>The game you are trying to load requires additional files from your Switch to be dumped before playing.<br/><br/>For more information on dumping these files, please see the following wiki page: <a href='https://yuzu-emu.org/wiki/dumping-system-archives-and-the-shared-fonts-from-a-switch-console/'>Dumping System Archives and the Shared Fonts from a Switch Console</a>.<br/><br/>Would you like to quit back to the game list? Continuing emulation may result in crashes, corrupted save data, or other bugs.</source> <translation>O jogo que você está tentando carregar requer arquivos adicionais do seu Switch para serem despejados antes de jogar.<br/><br/>Para obter mais informações sobre como despejar esses arquivos, consulte a seguinte página da wiki:<a href='https://yuzu-emu.org/wiki/dumping-system-archives-and-the-shared-fonts-from-a-switch-console/'>Despejando arquivos do sistema e as fontes compartilhadas de uma consola Switch</a>.<br/><br/>Você gostaria de regressar para a lista de jogos? Continuar a emulação pode resultar em falhas, dados de salvamento corrompidos ou outros erros.</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="3091"/> + <location filename="../../src/yuzu/main.cpp" line="3190"/> <source>yuzu was unable to locate a Switch system archive. %1</source> <translation>O yuzu não conseguiu localizar um arquivo de sistema do Switch. % 1</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="3093"/> + <location filename="../../src/yuzu/main.cpp" line="3192"/> <source>yuzu was unable to locate a Switch system archive: %1. %2</source> <translation>O yuzu não conseguiu localizar um arquivo de sistema do Switch: %1. %2</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="3097"/> + <location filename="../../src/yuzu/main.cpp" line="3196"/> <source>System Archive Not Found</source> <translation>Arquivo do Sistema Não Encontrado</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="3099"/> + <location filename="../../src/yuzu/main.cpp" line="3198"/> <source>System Archive Missing</source> <translation>Arquivo de Sistema em falta</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="3105"/> + <location filename="../../src/yuzu/main.cpp" line="3204"/> <source>yuzu was unable to locate the Switch shared fonts. %1</source> <translation>yuzu não conseguiu localizar as fontes compartilhadas do Switch. %1</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="3106"/> + <location filename="../../src/yuzu/main.cpp" line="3205"/> <source>Shared Fonts Not Found</source> <translation>Fontes compartilhadas não encontradas</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="3108"/> + <location filename="../../src/yuzu/main.cpp" line="3207"/> <source>Shared Font Missing</source> <translation>Fontes compartilhadas em falta</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="3114"/> + <location filename="../../src/yuzu/main.cpp" line="3213"/> <source>Fatal Error</source> <translation>Erro fatal</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="3115"/> + <location filename="../../src/yuzu/main.cpp" line="3214"/> <source>yuzu has encountered a fatal error, please see the log for more details. For more information on accessing the log, please see the following page: <a href='https://community.citra-emu.org/t/how-to-upload-the-log-file/296'>How to Upload the Log File</a>.<br/><br/>Would you like to quit back to the game list? Continuing emulation may result in crashes, corrupted save data, or other bugs.</source> <translation>yuzu encontrou um erro fatal, por favor veja o registro para mais detalhes. Para mais informações sobre como acessar o registro, por favor, veja a seguinte página:<a href='https://community.citra-emu.org/t/how-to-upload-the-log-file/296'>Como carregar o arquivo de registro</a>.<br/><br/>Você gostaria de regressar para a lista de jogos? Continuar a emulação pode resultar em falhas, dados de salvamento corrompidos ou outros erros.</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="3124"/> + <location filename="../../src/yuzu/main.cpp" line="3223"/> <source>Fatal Error encountered</source> <translation>Ocorreu um Erro fatal</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="3147"/> + <location filename="../../src/yuzu/main.cpp" line="3246"/> <source>Confirm Key Rederivation</source> <translation>Confirme a rederivação da chave</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="3148"/> + <location filename="../../src/yuzu/main.cpp" line="3247"/> <source>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. @@ -4433,37 +4567,37 @@ e opcionalmente faça backups. Isso irá excluir os seus arquivos de chave gerados automaticamente e executará novamente o módulo de derivação de chave.</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="3180"/> + <location filename="../../src/yuzu/main.cpp" line="3279"/> <source>Missing fuses</source> <translation>Fusíveis em Falta</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="3183"/> + <location filename="../../src/yuzu/main.cpp" line="3282"/> <source> - Missing BOOT0</source> <translation>- BOOT0 em Falta</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="3186"/> + <location filename="../../src/yuzu/main.cpp" line="3285"/> <source> - Missing BCPKG2-1-Normal-Main</source> <translation>- BCPKG2-1-Normal-Main em Falta</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="3189"/> + <location filename="../../src/yuzu/main.cpp" line="3288"/> <source> - Missing PRODINFO</source> <translation>- PRODINFO em Falta</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="3193"/> + <location filename="../../src/yuzu/main.cpp" line="3292"/> <source>Derivation Components Missing</source> <translation>Componentes de Derivação em Falta</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="3194"/> - <source>Components are missing that may hinder key derivation from completing. <br>Please follow <a href='https://yuzu-emu.org/help/quickstart/'>the yuzu quickstart guide</a> to get all your keys and games.<br><br><small>(%1)</small></source> - <translation>Estão componentes em falta que podem dificultar a conclusão da derivação das chaves. <br>Por favor segue<a href='https://yuzu-emu.org/help/quickstart/'>o guia de início rápido do yuzu</a>para obteres todos os teus jogos e chaves.<br><br><small>(%1)</small></translation> + <location filename="../../src/yuzu/main.cpp" line="3293"/> + <source>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></source> + <translation type="unfinished"/> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="3203"/> + <location filename="../../src/yuzu/main.cpp" line="3302"/> <source>Deriving keys... This may take up to a minute depending on your system's performance.</source> @@ -4472,39 +4606,39 @@ Isto pode demorar até um minuto, dependendo do desempenho do seu sistema.</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="3205"/> + <location filename="../../src/yuzu/main.cpp" line="3304"/> <source>Deriving Keys</source> <translation>Derivando Chaves</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="3250"/> + <location filename="../../src/yuzu/main.cpp" line="3349"/> <source>Select RomFS Dump Target</source> <translation>Selecione o destino de despejo do RomFS</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="3251"/> + <location filename="../../src/yuzu/main.cpp" line="3350"/> <source>Please select which RomFS you would like to dump.</source> <translation>Por favor, selecione qual o RomFS que você gostaria de despejar.</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="3266"/> + <location filename="../../src/yuzu/main.cpp" line="3365"/> <source>Are you sure you want to close yuzu?</source> <translation>Tem a certeza que quer fechar o yuzu?</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="3267"/> - <location filename="../../src/yuzu/main.cpp" line="3342"/> - <location filename="../../src/yuzu/main.cpp" line="3355"/> + <location filename="../../src/yuzu/main.cpp" line="3366"/> + <location filename="../../src/yuzu/main.cpp" line="3443"/> + <location filename="../../src/yuzu/main.cpp" line="3456"/> <source>yuzu</source> <translation>yuzu</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="3343"/> + <location filename="../../src/yuzu/main.cpp" line="3444"/> <source>Are you sure you want to stop the emulation? Any unsaved progress will be lost.</source> <translation>Tem a certeza de que quer parar a emulação? Qualquer progresso não salvo será perdido.</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="3352"/> + <location filename="../../src/yuzu/main.cpp" line="3453"/> <source>The currently running application has requested yuzu to not exit. Would you like to bypass this and exit anyway?</source> @@ -4516,38 +4650,38 @@ Deseja ignorar isso e sair mesmo assim?</translation> <context> <name>GRenderWindow</name> <message> - <location filename="../../src/yuzu/bootmanager.cpp" line="675"/> + <location filename="../../src/yuzu/bootmanager.cpp" line="976"/> <source>OpenGL not available!</source> <translation>OpenGL não está disponível!</translation> </message> <message> - <location filename="../../src/yuzu/bootmanager.cpp" line="676"/> + <location filename="../../src/yuzu/bootmanager.cpp" line="977"/> <source>yuzu has not been compiled with OpenGL support.</source> <translation>yuzu não foi compilado com suporte OpenGL.</translation> </message> <message> - <location filename="../../src/yuzu/bootmanager.cpp" line="695"/> - <location filename="../../src/yuzu/bootmanager.cpp" line="715"/> + <location filename="../../src/yuzu/bootmanager.cpp" line="996"/> + <location filename="../../src/yuzu/bootmanager.cpp" line="1016"/> <source>Error while initializing OpenGL!</source> <translation>Erro ao inicializar OpenGL!</translation> </message> <message> - <location filename="../../src/yuzu/bootmanager.cpp" line="696"/> + <location filename="../../src/yuzu/bootmanager.cpp" line="997"/> <source>Your GPU may not support OpenGL, or you do not have the latest graphics driver.</source> <translation>O seu GPU pode não suportar OpenGL, ou não tem os drivers gráficos mais recentes.</translation> </message> <message> - <location filename="../../src/yuzu/bootmanager.cpp" line="705"/> + <location filename="../../src/yuzu/bootmanager.cpp" line="1006"/> <source>Error while initializing OpenGL 4.6!</source> <translation>Erro ao inicializar o OpenGL 4.6!</translation> </message> <message> - <location filename="../../src/yuzu/bootmanager.cpp" line="706"/> + <location filename="../../src/yuzu/bootmanager.cpp" line="1007"/> <source>Your GPU may not support OpenGL 4.6, or you do not have the latest graphics driver.<br><br>GL Renderer:<br>%1</source> <translation>O teu GPU pode não suportar OpenGL 4.6, ou não tem os drivers gráficos mais recentes.</translation> </message> <message> - <location filename="../../src/yuzu/bootmanager.cpp" line="716"/> + <location filename="../../src/yuzu/bootmanager.cpp" line="1017"/> <source>Your GPU may not support one or more required OpenGL extensions. Please ensure you have the latest graphics driver.<br><br>GL Renderer:<br>%1<br><br>Unsupported extensions:<br>%2</source> <translation type="unfinished"/> </message> @@ -4908,190 +5042,205 @@ Inicial</translation> <translation>&Emulação</translation> </message> <message> - <location filename="../../src/yuzu/main.ui" line="79"/> + <location filename="../../src/yuzu/main.ui" line="78"/> <source>&View</source> <translation>&Vista</translation> </message> <message> - <location filename="../../src/yuzu/main.ui" line="83"/> + <location filename="../../src/yuzu/main.ui" line="82"/> <source>&Reset Window Size</source> <translation type="unfinished"/> </message> <message> - <location filename="../../src/yuzu/main.ui" line="88"/> + <location filename="../../src/yuzu/main.ui" line="87"/> + <source>&Debugging</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/main.ui" line="92"/> <source>Reset Window Size to &720p</source> <translation>Restaurar tamanho da janela para &720p</translation> </message> <message> - <location filename="../../src/yuzu/main.ui" line="91"/> + <location filename="../../src/yuzu/main.ui" line="95"/> <source>Reset Window Size to 720p</source> <translation>Restaurar tamanho da janela para 720p</translation> </message> <message> - <location filename="../../src/yuzu/main.ui" line="96"/> + <location filename="../../src/yuzu/main.ui" line="100"/> <source>Reset Window Size to &900p</source> <translation type="unfinished"/> </message> <message> - <location filename="../../src/yuzu/main.ui" line="99"/> + <location filename="../../src/yuzu/main.ui" line="103"/> <source>Reset Window Size to 900p</source> <translation type="unfinished"/> </message> <message> - <location filename="../../src/yuzu/main.ui" line="104"/> + <location filename="../../src/yuzu/main.ui" line="108"/> <source>Reset Window Size to &1080p</source> <translation>Restaurar tamanho da janela para &1080p</translation> </message> <message> - <location filename="../../src/yuzu/main.ui" line="107"/> + <location filename="../../src/yuzu/main.ui" line="111"/> <source>Reset Window Size to 1080p</source> <translation>Restaurar tamanho da janela para 1080p</translation> </message> <message> - <location filename="../../src/yuzu/main.ui" line="112"/> - <source>&Debugging</source> - <translation type="unfinished"/> - </message> - <message> - <location filename="../../src/yuzu/main.ui" line="126"/> + <location filename="../../src/yuzu/main.ui" line="125"/> <source>&Tools</source> <translation>&Ferramentas</translation> </message> <message> - <location filename="../../src/yuzu/main.ui" line="135"/> + <location filename="../../src/yuzu/main.ui" line="129"/> + <source>&TAS</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/main.ui" line="144"/> <source>&Help</source> <translation>&Ajuda</translation> </message> <message> - <location filename="../../src/yuzu/main.ui" line="155"/> + <location filename="../../src/yuzu/main.ui" line="164"/> <source>&Install Files to NAND...</source> <translation>&Instalar arquivos na NAND...</translation> </message> <message> - <location filename="../../src/yuzu/main.ui" line="160"/> + <location filename="../../src/yuzu/main.ui" line="169"/> <source>L&oad File...</source> <translation>C&arregar arquivo...</translation> </message> <message> - <location filename="../../src/yuzu/main.ui" line="165"/> + <location filename="../../src/yuzu/main.ui" line="174"/> <source>Load &Folder...</source> <translation>Carregar &pasta...</translation> </message> <message> - <location filename="../../src/yuzu/main.ui" line="170"/> + <location filename="../../src/yuzu/main.ui" line="179"/> <source>E&xit</source> <translation>&Sair</translation> </message> <message> - <location filename="../../src/yuzu/main.ui" line="178"/> - <source>&Start</source> - <translation>&Começar</translation> - </message> - <message> - <location filename="../../src/yuzu/main.ui" line="186"/> + <location filename="../../src/yuzu/main.ui" line="187"/> <source>&Pause</source> <translation>&Pausa</translation> </message> <message> - <location filename="../../src/yuzu/main.ui" line="194"/> + <location filename="../../src/yuzu/main.ui" line="195"/> <source>&Stop</source> <translation>&Parar</translation> </message> <message> - <location filename="../../src/yuzu/main.ui" line="199"/> + <location filename="../../src/yuzu/main.ui" line="200"/> <source>&Reinitialize keys...</source> <translation>&Reinicializar chaves...</translation> </message> <message> - <location filename="../../src/yuzu/main.ui" line="204"/> + <location filename="../../src/yuzu/main.ui" line="205"/> <source>&About yuzu</source> <translation>&Sobre o yuzu</translation> </message> <message> - <location filename="../../src/yuzu/main.ui" line="212"/> + <location filename="../../src/yuzu/main.ui" line="213"/> <source>Single &Window Mode</source> <translation>Modo de &janela única</translation> </message> <message> - <location filename="../../src/yuzu/main.ui" line="217"/> + <location filename="../../src/yuzu/main.ui" line="218"/> <source>Con&figure...</source> <translation>Con&figurar...</translation> </message> <message> - <location filename="../../src/yuzu/main.ui" line="225"/> + <location filename="../../src/yuzu/main.ui" line="226"/> <source>Display D&ock Widget Headers</source> <translation type="unfinished"/> </message> <message> - <location filename="../../src/yuzu/main.ui" line="233"/> + <location filename="../../src/yuzu/main.ui" line="234"/> <source>Show &Filter Bar</source> <translation>Mostrar Barra de &Filtros</translation> </message> <message> - <location filename="../../src/yuzu/main.ui" line="241"/> + <location filename="../../src/yuzu/main.ui" line="242"/> <source>Show &Status Bar</source> <translation>Mostrar Barra de &Estado</translation> </message> <message> - <location filename="../../src/yuzu/main.ui" line="244"/> + <location filename="../../src/yuzu/main.ui" line="245"/> <source>Show Status Bar</source> <translation>Mostrar Barra de Estado</translation> </message> <message> - <location filename="../../src/yuzu/main.ui" line="252"/> + <location filename="../../src/yuzu/main.ui" line="253"/> <source>F&ullscreen</source> <translation>T&ela cheia</translation> </message> <message> - <location filename="../../src/yuzu/main.ui" line="260"/> + <location filename="../../src/yuzu/main.ui" line="261"/> <source>&Restart</source> <translation>&Reiniciar</translation> </message> <message> - <location filename="../../src/yuzu/main.ui" line="268"/> + <location filename="../../src/yuzu/main.ui" line="269"/> <source>Load &Amiibo...</source> <translation>Carregar &Amiibo...</translation> </message> <message> - <location filename="../../src/yuzu/main.ui" line="276"/> + <location filename="../../src/yuzu/main.ui" line="277"/> <source>&Report Compatibility</source> <translation type="unfinished"/> </message> <message> - <location filename="../../src/yuzu/main.ui" line="284"/> + <location filename="../../src/yuzu/main.ui" line="285"/> <source>Open &Mods Page</source> <translation>Abrir Página de &Mods</translation> </message> <message> - <location filename="../../src/yuzu/main.ui" line="289"/> + <location filename="../../src/yuzu/main.ui" line="290"/> <source>Open &Quickstart Guide</source> <translation type="unfinished"/> </message> <message> - <location filename="../../src/yuzu/main.ui" line="294"/> + <location filename="../../src/yuzu/main.ui" line="295"/> <source>&FAQ</source> <translation type="unfinished"/> </message> <message> - <location filename="../../src/yuzu/main.ui" line="299"/> + <location filename="../../src/yuzu/main.ui" line="300"/> <source>Open &yuzu Folder</source> <translation>Abrir pasta &yuzu</translation> </message> <message> - <location filename="../../src/yuzu/main.ui" line="307"/> + <location filename="../../src/yuzu/main.ui" line="308"/> <source>&Capture Screenshot</source> <translation>&Captura de Tela</translation> </message> <message> - <location filename="../../src/yuzu/main.ui" line="312"/> - <source>Configure &TAS...</source> + <location filename="../../src/yuzu/main.ui" line="313"/> + <source>&Configure TAS...</source> <translation type="unfinished"/> </message> <message> - <location filename="../../src/yuzu/main.ui" line="320"/> + <location filename="../../src/yuzu/main.ui" line="321"/> <source>Configure C&urrent Game...</source> <translation>Configurar jogo atual...</translation> </message> + <message> + <location filename="../../src/yuzu/main.ui" line="329"/> + <source>&Start</source> + <translation>&Começar</translation> + </message> + <message> + <location filename="../../src/yuzu/main.ui" line="337"/> + <source>&Reset</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/main.ui" line="345"/> + <source>R&ecord</source> + <translation type="unfinished"/> + </message> </context> <context> <name>MicroProfileDialog</name> @@ -5133,10 +5282,15 @@ p, li { white-space: pre-wrap; } <context> <name>PlayerControlPreview</name> <message> - <location filename="../../src/yuzu/configuration/configure_input_player_widget.cpp" line="1566"/> + <location filename="../../src/yuzu/configuration/configure_input_player_widget.cpp" line="1572"/> <source>START/PAUSE</source> <translation type="unfinished"/> </message> + <message> + <location filename="../../src/yuzu/configuration/configure_input_player_widget.cpp" line="2685"/> + <source>Charging</source> + <translation type="unfinished"/> + </message> </context> <context> <name>QObject</name> @@ -5167,142 +5321,222 @@ p, li { white-space: pre-wrap; } </message> <message> <location filename="../../src/yuzu/configuration/configure_touch_from_button.cpp" line="23"/> - <location filename="../../src/yuzu/configuration/configure_mouse_advanced.cpp" line="32"/> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="72"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="43"/> <source>Shift</source> <translation>Shift</translation> </message> <message> <location filename="../../src/yuzu/configuration/configure_touch_from_button.cpp" line="25"/> - <location filename="../../src/yuzu/configuration/configure_mouse_advanced.cpp" line="34"/> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="74"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="45"/> <source>Ctrl</source> <translation>Ctrl</translation> </message> <message> <location filename="../../src/yuzu/configuration/configure_touch_from_button.cpp" line="27"/> - <location filename="../../src/yuzu/configuration/configure_mouse_advanced.cpp" line="36"/> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="76"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="47"/> <source>Alt</source> <translation>Alt</translation> </message> <message> <location filename="../../src/yuzu/configuration/configure_touch_from_button.cpp" line="37"/> - <location filename="../../src/yuzu/configuration/configure_mouse_advanced.cpp" line="46"/> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="103"/> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="190"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="130"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="196"/> <source>[not set]</source> <translation>[não configurado]</translation> </message> <message> <location filename="../../src/yuzu/configuration/configure_touch_from_button.cpp" line="49"/> - <location filename="../../src/yuzu/configuration/configure_mouse_advanced.cpp" line="58"/> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="152"/> <source>Hat %1 %2</source> <translation>Hat %1 %2</translation> </message> <message> <location filename="../../src/yuzu/configuration/configure_touch_from_button.cpp" line="56"/> - <location filename="../../src/yuzu/configuration/configure_mouse_advanced.cpp" line="65"/> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="159"/> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="210"/> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="214"/> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="218"/> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="222"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="219"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="223"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="227"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="231"/> <source>Axis %1%2</source> <translation>Eixo %1%2</translation> </message> <message> <location filename="../../src/yuzu/configuration/configure_touch_from_button.cpp" line="62"/> - <location filename="../../src/yuzu/configuration/configure_mouse_advanced.cpp" line="71"/> <source>Button %1</source> <translation>Botão %1</translation> </message> <message> <location filename="../../src/yuzu/configuration/configure_touch_from_button.cpp" line="68"/> - <location filename="../../src/yuzu/configuration/configure_mouse_advanced.cpp" line="76"/> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="185"/> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="227"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="190"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="204"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="234"/> <source>[unknown]</source> <translation>[Desconhecido]</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_mouse_advanced.cpp" line="22"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="58"/> + <source>Left</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="60"/> + <source>Right</source> + <translation type="unfinished"/> + </message> + <message> <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="62"/> - <source>Click 0</source> - <translation>Clique 0</translation> + <source>Down</source> + <translation type="unfinished"/> </message> <message> - <location filename="../../src/yuzu/configuration/configure_mouse_advanced.cpp" line="24"/> <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="64"/> - <source>Click 1</source> - <translation>Clique 1</translation> + <source>Up</source> + <translation type="unfinished"/> </message> <message> - <location filename="../../src/yuzu/configuration/configure_mouse_advanced.cpp" line="26"/> <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="66"/> - <source>Click 2</source> - <translation>Clique 2</translation> + <source>Z</source> + <translation type="unfinished"/> </message> <message> - <location filename="../../src/yuzu/configuration/configure_mouse_advanced.cpp" line="28"/> <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="68"/> - <source>Click 3</source> - <translation>Clique 3</translation> + <source>R</source> + <translation type="unfinished"/> </message> <message> - <location filename="../../src/yuzu/configuration/configure_mouse_advanced.cpp" line="30"/> <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="70"/> - <source>Click 4</source> - <translation>Clique 4</translation> + <source>L</source> + <translation type="unfinished"/> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="109"/> - <source>%1%2</source> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="72"/> + <source>A</source> <translation type="unfinished"/> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="117"/> - <source>GC Axis %1%2</source> - <translation>GC Eixo %1%2</translation> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="74"/> + <source>B</source> + <translation type="unfinished"/> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="121"/> - <source>GC Button %1</source> - <translation>GC Butão %1</translation> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="76"/> + <source>X</source> + <translation type="unfinished"/> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="130"/> - <source>TAS Axis %1</source> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="78"/> + <source>Y</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="80"/> + <source>Start</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="82"/> + <source>L1</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="84"/> + <source>L2</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="86"/> + <source>L3</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="88"/> + <source>R1</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="90"/> + <source>R2</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="92"/> + <source>R3</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="94"/> + <source>Circle</source> <translation type="unfinished"/> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="134"/> - <source>TAS Btn %1</source> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="96"/> + <source>Cross</source> <translation type="unfinished"/> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="142"/> - <source>Motion %1</source> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="98"/> + <source>Square</source> <translation type="unfinished"/> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="166"/> - <source>%1Button %2</source> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="100"/> + <source>Triangle</source> <translation type="unfinished"/> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="170"/> - <source>SDL Motion</source> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="102"/> + <source>Share</source> <translation type="unfinished"/> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="180"/> - <source>%1Click %2</source> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="104"/> + <source>Options</source> <translation type="unfinished"/> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="205"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="106"/> + <source>[undefined]</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="140"/> + <source>%1%2</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="144"/> + <source>[invalid]</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="154"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="178"/> + <source>%1%2Hat %3</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="158"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="181"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="184"/> + <source>%1%2Axis %3</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="164"/> + <source>%1%2Axis %3,%4,%5</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="168"/> + <source>%1%2Motion %3</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="172"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="187"/> + <source>%1%2Button %3</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="214"/> <source>[unused]</source> <translation>[sem uso]</translation> </message> @@ -5343,7 +5577,7 @@ p, li { white-space: pre-wrap; } <location filename="../../src/yuzu/applets/qt_controller.ui" line="1656"/> <location filename="../../src/yuzu/applets/qt_controller.ui" line="1857"/> <location filename="../../src/yuzu/applets/qt_controller.ui" line="2054"/> - <location filename="../../src/yuzu/applets/qt_controller.cpp" line="419"/> + <location filename="../../src/yuzu/applets/qt_controller.cpp" line="411"/> <source>Pro Controller</source> <translation type="unfinished"/> </message> @@ -5356,7 +5590,7 @@ p, li { white-space: pre-wrap; } <location filename="../../src/yuzu/applets/qt_controller.ui" line="1661"/> <location filename="../../src/yuzu/applets/qt_controller.ui" line="1862"/> <location filename="../../src/yuzu/applets/qt_controller.ui" line="2059"/> - <location filename="../../src/yuzu/applets/qt_controller.cpp" line="423"/> + <location filename="../../src/yuzu/applets/qt_controller.cpp" line="415"/> <source>Dual Joycons</source> <translation>Par de Joycons</translation> </message> @@ -5369,7 +5603,7 @@ p, li { white-space: pre-wrap; } <location filename="../../src/yuzu/applets/qt_controller.ui" line="1666"/> <location filename="../../src/yuzu/applets/qt_controller.ui" line="1867"/> <location filename="../../src/yuzu/applets/qt_controller.ui" line="2064"/> - <location filename="../../src/yuzu/applets/qt_controller.cpp" line="427"/> + <location filename="../../src/yuzu/applets/qt_controller.cpp" line="419"/> <source>Left Joycon</source> <translation>Joycon Esquerdo</translation> </message> @@ -5382,7 +5616,7 @@ p, li { white-space: pre-wrap; } <location filename="../../src/yuzu/applets/qt_controller.ui" line="1671"/> <location filename="../../src/yuzu/applets/qt_controller.ui" line="1872"/> <location filename="../../src/yuzu/applets/qt_controller.ui" line="2069"/> - <location filename="../../src/yuzu/applets/qt_controller.cpp" line="431"/> + <location filename="../../src/yuzu/applets/qt_controller.cpp" line="423"/> <source>Right Joycon</source> <translation>Joycon Direito</translation> </message> @@ -5410,7 +5644,7 @@ p, li { white-space: pre-wrap; } </message> <message> <location filename="../../src/yuzu/applets/qt_controller.ui" line="932"/> - <location filename="../../src/yuzu/applets/qt_controller.cpp" line="436"/> + <location filename="../../src/yuzu/applets/qt_controller.cpp" line="428"/> <source>Handheld</source> <translation>Portátil</translation> </message> @@ -5531,7 +5765,7 @@ p, li { white-space: pre-wrap; } <translation type="unfinished"/> </message> <message> - <location filename="../../src/yuzu/applets/qt_controller.cpp" line="441"/> + <location filename="../../src/yuzu/applets/qt_controller.cpp" line="433"/> <source>GameCube Controller</source> <translation type="unfinished"/> </message> @@ -5615,13 +5849,13 @@ p, li { white-space: pre-wrap; } <translation type="unfinished"/> </message> <message> - <location filename="../../src/yuzu/applets/qt_software_keyboard.cpp" line="396"/> - <location filename="../../src/yuzu/applets/qt_software_keyboard.cpp" line="406"/> + <location filename="../../src/yuzu/applets/qt_software_keyboard.cpp" line="399"/> + <location filename="../../src/yuzu/applets/qt_software_keyboard.cpp" line="409"/> <source>OK</source> <translation type="unfinished"/> </message> <message> - <location filename="../../src/yuzu/applets/qt_software_keyboard.cpp" line="406"/> + <location filename="../../src/yuzu/applets/qt_software_keyboard.cpp" line="409"/> <source>Cancel</source> <translation type="unfinished"/> </message> diff --git a/dist/languages/ru_RU.ts b/dist/languages/ru_RU.ts index ef9c958a2..d1e9c313a 100644 --- a/dist/languages/ru_RU.ts +++ b/dist/languages/ru_RU.ts @@ -87,18 +87,18 @@ p, li { white-space: pre-wrap; } <message> <location filename="../../src/yuzu/compatdb.ui" line="20"/> <source>Report Compatibility</source> - <translation>Сообщить о Совместимости</translation> + <translation>Сообщить о совместимости</translation> </message> <message> <location filename="../../src/yuzu/compatdb.ui" line="27"/> <location filename="../../src/yuzu/compatdb.ui" line="63"/> <source>Report Game Compatibility</source> - <translation>Сообщить о Совместимости Игры</translation> + <translation>Сообщить о совместимости игры</translation> </message> <message> <location filename="../../src/yuzu/compatdb.ui" line="36"/> <source><html><head/><body><p><span style=" font-size:10pt;">Should you choose to submit a test case to the </span><a href="https://yuzu-emu.org/game/"><span style=" font-size:10pt; text-decoration: underline; color:#0000ff;">yuzu Compatibility List</span></a><span style=" font-size:10pt;">, The following information will be collected and displayed on the site:</span></p><ul style="margin-top: 0px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; -qt-list-indent: 1;"><li style=" margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">Hardware Information (CPU / GPU / Operating System)</li><li style=" margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">Which version of yuzu you are running</li><li style=" margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">The connected yuzu account</li></ul></body></html></source> - <translation><html><head/><body><p><span style=" font-size:10pt;">Если вы захотите отправить отчёт в </span><a href="https://yuzu-emu.org/game/"><span style=" font-size:10pt; text-decoration: underline; color:#0000ff;">Список Совместимости yuzu</a><span style=" font-size:10pt;">, следующая информация будет собрана и отображена на сайте:</span></p><ul style="margin-top: 0px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; -qt-list-indent: 1;"><li style=" margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"> Информация о железе (ЦП / ГП / Операционная Система)</li><li style=" margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">Версия yuzu</li><li style=" margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">Подключённый аккаунт yuzu</li></ul></body></html></translation> + <translation><html><head/><body><p><span style=" font-size:10pt;">Если вы захотите отправить отчёт в </span><a href="https://yuzu-emu.org/game/"><span style=" font-size:10pt; text-decoration: underline; color:#0000ff;">список совместимости yuzu</a><span style=" font-size:10pt;">, следующая информация будет собрана и отображена на сайте:</span></p><ul style="margin-top: 0px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; -qt-list-indent: 1;"><li style=" margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"> Информация о железе (ЦП / ГП / Операционная система)</li><li style=" margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">Версия yuzu</li><li style=" margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">Подключённый аккаунт yuzu</li></ul></body></html></translation> </message> <message> <location filename="../../src/yuzu/compatdb.ui" line="72"/> @@ -108,7 +108,7 @@ p, li { white-space: pre-wrap; } <message> <location filename="../../src/yuzu/compatdb.ui" line="79"/> <source><html><head/><body><p>Game functions flawlessly with no audio or graphical glitches.</p></body></html></source> - <translation><html><head/><body><p>Игра функционирует отлично, без звуковых или графических артефактов.</p></body></html></translation> + <translation><html><head/><body><p>Игра работает отлично, без звуковых или графических артефактов.</p></body></html></translation> </message> <message> <location filename="../../src/yuzu/compatdb.ui" line="89"/> @@ -138,7 +138,7 @@ p, li { white-space: pre-wrap; } <message> <location filename="../../src/yuzu/compatdb.ui" line="130"/> <source><html><head/><body><p>Game functions, but with major graphical or audio glitches. Unable to progress in specific areas due to glitches even with workarounds.</p></body></html></source> - <translation><html><head/><body><p>Игра работает, но с существенными графическими или звуковыми артефактами. В некоторых зонах нельзя продвинуться даже с обходными путями.</p></body></html></translation> + <translation><html><head/><body><p>Игра работает, но с существенными графическими или звуковыми артефактами. В некоторых местах невозможно пройти даже с обходными путями.</p></body></html></translation> </message> <message> <location filename="../../src/yuzu/compatdb.ui" line="140"/> @@ -148,7 +148,7 @@ p, li { white-space: pre-wrap; } <message> <location filename="../../src/yuzu/compatdb.ui" line="147"/> <source><html><head/><body><p>Game is completely unplayable due to major graphical or audio glitches. Unable to progress past the Start Screen.</p></body></html></source> - <translation><html><head/><body><p>В игру невозможно играть из-за графических или звуковых артефактов. Невозможно продвинуться дальше Стартового Экрана.</p></body></html></translation> + <translation><html><head/><body><p>В игру невозможно играть из-за графических или звуковых артефактов. Невозможно продвинуться дальше стартового меню.</p></body></html></translation> </message> <message> <location filename="../../src/yuzu/compatdb.ui" line="157"/> @@ -276,12 +276,12 @@ p, li { white-space: pre-wrap; } <message> <location filename="../../src/yuzu/configuration/configure_cpu.ui" line="63"/> <source>We recommend setting accuracy to "Auto".</source> - <translation>Мы рекомендуем установить точность на "Точно".</translation> + <translation>Мы рекомендуем установить точность на "Авто".</translation> </message> <message> <location filename="../../src/yuzu/configuration/configure_cpu.ui" line="80"/> <source>Unsafe CPU Optimization Settings</source> - <translation>Небезопасные Настройки Оптимизации ЦП</translation> + <translation>Небезопасные настройки оптимизации ЦП</translation> </message> <message> <location filename="../../src/yuzu/configuration/configure_cpu.ui" line="86"/> @@ -294,7 +294,7 @@ p, li { white-space: pre-wrap; } <div>This option improves speed by reducing accuracy of fused-multiply-add instructions on CPUs without native FMA support.</div> </source> <translation> - <div>Эта опция позволяет улучшить скорость уменьшая точность сложенных умноженных инструкций на ЦП без родной поддержки FMA.</div> + <div>Эта опция повышает скорость, уменьшая точность сложенных умноженных инструкций на ЦП без родной поддержки FMA.</div> </translation> </message> <message> @@ -308,7 +308,7 @@ p, li { white-space: pre-wrap; } <div>This option improves the speed of some approximate floating-point functions by using less accurate native approximations.</div> </source> <translation> - <div>Эта опция улучшает скорость работы некоторых функций с плавающей запятой за счет использования менее точных нативных приближений.</div> + <div>Эта опция повышает скорость работы некоторых функций с плавающей запятой за счет использования менее точных родных приближений.</div> </translation> </message> <message> @@ -322,7 +322,7 @@ p, li { white-space: pre-wrap; } <div>This option improves the speed of 32 bits ASIMD floating-point functions by running with incorrect rounding modes.</div> </source> <translation> - <div>Эта опция улучшает скорость работы 32-битных ASIMD-функций с плавающей запятой, за счёт неправильных режимамов округления.</div> + <div>Эта опция повышает скорость работы 32-битных ASIMD-функций с плавающей запятой, работая с неправильными режимами округления.</div> </translation> </message> <message> @@ -336,13 +336,13 @@ p, li { white-space: pre-wrap; } <div>This option improves speed by removing NaN checking. Please note this also reduces accuracy of certain floating-point instructions.</div> </source> <translation> - <div>Эта опция улучшает скорость убрав проверку NaN. Учтите, что это также снижает точность некоторых инструкций с плавающей точкой. </div> + <div>Эта опция повышает скорость, убирая проверку NaN. Обратите внимание, что это также снижает точность некоторых инструкций с плавающей точкой. </div> </translation> </message> <message> <location filename="../../src/yuzu/configuration/configure_cpu.ui" line="137"/> <source>Inaccurate NaN handling</source> - <translation>Неточная обработка NaN</translation> + <translation>Неправильная обработка NaN</translation> </message> <message> <location filename="../../src/yuzu/configuration/configure_cpu.ui" line="144"/> @@ -350,7 +350,7 @@ p, li { white-space: pre-wrap; } <div>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.</div> </source> <translation> - <div>Эта опция повышает скорость работы за счет устранения проверки безопасности перед каждым чтением/записью памяти в гостя. Отключение этой опции может позволить игре читать/записывать память эмулятора.</div> + <div>Эта опция повышает скорость работы за счет устранения проверки безопасности перед каждым чтением/записью памяти у гостя. Отключение этой опции может позволить игре читать/записывать память эмулятора.</div> </translation> </message> <message> @@ -379,12 +379,12 @@ p, li { white-space: pre-wrap; } <message> <location filename="../../src/yuzu/configuration/configure_cpu_debug.ui" line="25"/> <source>Toggle CPU Optimizations</source> - <translation>Переключить оптимизацию ЦП</translation> + <translation>Включить оптимизации ЦП</translation> </message> <message> <location filename="../../src/yuzu/configuration/configure_cpu_debug.ui" line="31"/> <source><html><head/><body><p><span style=" font-weight:600;">For debugging only.</span><br/>If you're not sure what these do, keep all of these enabled. <br/>These settings, when disabled, only take effect when CPU Debugging is enabled. </p></body></html></source> - <translation><html><head/><body><p><span style=" font-weight:600;">Только для отладки.</span><br/>Если вы не уверены в том, что они делают, оставьте все эти параметры включенными. <br/>Эти параметры, когда отключены, вступают в силу только при включенной отладке процессора. </p></body></html></translation> + <translation><html><head/><body><p><span style=" font-weight:600;">Только для отладки.</span><br/>Если вы не уверены в том, что они делают, оставьте все эти параметры включенными. <br/>Когда отключены, эти параметры вступают в силу только при включенной отладке ЦП. </p></body></html></translation> </message> <message> <location filename="../../src/yuzu/configuration/configure_cpu_debug.ui" line="41"/> @@ -520,7 +520,7 @@ p, li { white-space: pre-wrap; } <message> <location filename="../../src/yuzu/configuration/configure_cpu_debug.ui" line="147"/> <source>Enable Host MMU Emulation</source> - <translation>Включить Эмуляцию MMU Хоста</translation> + <translation>Включить эмуляцию MMU хоста</translation> </message> <message> <location filename="../../src/yuzu/configuration/configure_cpu_debug.ui" line="172"/> @@ -538,17 +538,17 @@ p, li { white-space: pre-wrap; } <message> <location filename="../../src/yuzu/configuration/configure_debug.ui" line="17"/> <source>Global Log Filter</source> - <translation>Глобальный Фильтр Журнала</translation> + <translation>Глобальный фильтр журналов</translation> </message> <message> <location filename="../../src/yuzu/configuration/configure_debug.ui" line="29"/> <source>Show Log in Console</source> - <translation>Показывать Журнал в Консоли</translation> + <translation>Показывать журнал в консоли</translation> </message> <message> <location filename="../../src/yuzu/configuration/configure_debug.ui" line="36"/> <source>Open Log Location</source> - <translation>Открыть Расположение Журнала</translation> + <translation>Открыть папку для журналов</translation> </message> <message> <location filename="../../src/yuzu/configuration/configure_debug.ui" line="46"/> @@ -558,7 +558,7 @@ p, li { white-space: pre-wrap; } <message> <location filename="../../src/yuzu/configuration/configure_debug.ui" line="49"/> <source>Enable Extended Logging**</source> - <translation>Включить расширенное ведение Журнала**</translation> + <translation>Включить расширенное ведение журнала**</translation> </message> <message> <location filename="../../src/yuzu/configuration/configure_debug.ui" line="59"/> @@ -568,7 +568,7 @@ p, li { white-space: pre-wrap; } <message> <location filename="../../src/yuzu/configuration/configure_debug.ui" line="67"/> <source>Arguments String</source> - <translation>Строка Аргументов</translation> + <translation>Строка аргументов</translation> </message> <message> <location filename="../../src/yuzu/configuration/configure_debug.ui" line="82"/> @@ -578,17 +578,17 @@ p, li { white-space: pre-wrap; } <message> <location filename="../../src/yuzu/configuration/configure_debug.ui" line="91"/> <source>When checked, the graphics API enters a slower debugging mode</source> - <translation>Когда выбрано, графический API переходит в более медленный режим отладки</translation> + <translation>Когда включено, графический API переходит в более медленный режим отладки</translation> </message> <message> <location filename="../../src/yuzu/configuration/configure_debug.ui" line="94"/> <source>Enable Graphics Debugging</source> - <translation>Включить Отладку Графики</translation> + <translation>Включить отладку графики</translation> </message> <message> <location filename="../../src/yuzu/configuration/configure_debug.ui" line="101"/> <source>When checked, it enables Nsight Aftermath crash dumps</source> - <translation>Если флажок установлен, он включает дампы крашей Nsight Aftermath</translation> + <translation>Если флажок установлен, включает дампы крашей Nsight Aftermath</translation> </message> <message> <location filename="../../src/yuzu/configuration/configure_debug.ui" line="104"/> @@ -613,7 +613,7 @@ p, li { white-space: pre-wrap; } <message> <location filename="../../src/yuzu/configuration/configure_debug.ui" line="127"/> <source>Enable Shader Feedback</source> - <translation>Включить Обратную Связь о Шейдерах</translation> + <translation>Включить обратную связь о шейдерах</translation> </message> <message> <location filename="../../src/yuzu/configuration/configure_debug.ui" line="134"/> @@ -623,7 +623,7 @@ p, li { white-space: pre-wrap; } <message> <location filename="../../src/yuzu/configuration/configure_debug.ui" line="137"/> <source>Disable Loop safety checks</source> - <translation>Отключить проверку безопасности Цикла</translation> + <translation>Отключить проверку безопасности цикла</translation> </message> <message> <location filename="../../src/yuzu/configuration/configure_debug.ui" line="147"/> @@ -633,12 +633,12 @@ p, li { white-space: pre-wrap; } <message> <location filename="../../src/yuzu/configuration/configure_debug.ui" line="153"/> <source>Enable FS Access Log</source> - <translation>Включить Журнал Доступа к FS</translation> + <translation>Включить журнал доступа к FS</translation> </message> <message> <location filename="../../src/yuzu/configuration/configure_debug.ui" line="160"/> <source>Enable Verbose Reporting Services**</source> - <translation>Включить Службу Отчетов в развернутом виде**</translation> + <translation>Включить службу отчётов в развернутом виде**</translation> </message> <message> <location filename="../../src/yuzu/configuration/configure_debug.ui" line="170"/> @@ -648,17 +648,17 @@ p, li { white-space: pre-wrap; } <message> <location filename="../../src/yuzu/configuration/configure_debug.ui" line="176"/> <source>Kiosk (Quest) Mode</source> - <translation>Режим Киоска (Квест)</translation> + <translation>Режим киоска (Квест)</translation> </message> <message> <location filename="../../src/yuzu/configuration/configure_debug.ui" line="183"/> <source>Enable CPU Debugging</source> - <translation>Включить Отладку ЦП</translation> + <translation>Включить отладку ЦП</translation> </message> <message> <location filename="../../src/yuzu/configuration/configure_debug.ui" line="190"/> <source>Enable Debug Asserts</source> - <translation>Включить Отладочные Сигналы</translation> + <translation>Включить отладочные сигналы</translation> </message> <message> <location filename="../../src/yuzu/configuration/configure_debug.ui" line="197"/> @@ -666,7 +666,12 @@ p, li { white-space: pre-wrap; } <translation>Включить Автоподставку**</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_debug.ui" line="212"/> + <location filename="../../src/yuzu/configuration/configure_debug.ui" line="204"/> + <source>Enable all Controller Types</source> + <translation>Включить все типы контроллеров</translation> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_debug.ui" line="219"/> <source>**This will be reset automatically when yuzu closes.</source> <translation>**Это будет автоматически сброшено после закрытия yuzu.</translation> </message> @@ -676,7 +681,7 @@ p, li { white-space: pre-wrap; } <message> <location filename="../../src/yuzu/configuration/configure_debug_controller.ui" line="14"/> <source>Configure Debug Controller</source> - <translation>Настройка Отладочного Контроллера</translation> + <translation>Настройка отладочного контроллера</translation> </message> <message> <location filename="../../src/yuzu/configuration/configure_debug_controller.ui" line="40"/> @@ -784,7 +789,7 @@ p, li { white-space: pre-wrap; } <message> <location filename="../../src/yuzu/configuration/configure_dialog.cpp" line="71"/> <source>Game List</source> - <translation>Список Игр</translation> + <translation>Список игр</translation> </message> <message> <location filename="../../src/yuzu/configuration/configure_dialog.cpp" line="72"/> @@ -807,7 +812,7 @@ p, li { white-space: pre-wrap; } <message> <location filename="../../src/yuzu/configuration/configure_filesystem.ui" line="25"/> <source>Storage Directories</source> - <translation>Пути Хранилища</translation> + <translation>Пути хранилища</translation> </message> <message> <location filename="../../src/yuzu/configuration/configure_filesystem.ui" line="31"/> @@ -846,17 +851,17 @@ p, li { white-space: pre-wrap; } <message> <location filename="../../src/yuzu/configuration/configure_filesystem.ui" line="107"/> <source>Current Game</source> - <translation>Текущая Игра</translation> + <translation>Текущая игра</translation> </message> <message> <location filename="../../src/yuzu/configuration/configure_filesystem.ui" line="124"/> <source>Patch Manager</source> - <translation>Управление Патчами</translation> + <translation>Управление патчами</translation> </message> <message> <location filename="../../src/yuzu/configuration/configure_filesystem.ui" line="152"/> <source>Dump Decompressed NSOs</source> - <translation>Дамп Распакованных NCO</translation> + <translation>Дамп распакованных NSO</translation> </message> <message> <location filename="../../src/yuzu/configuration/configure_filesystem.ui" line="159"/> @@ -871,7 +876,7 @@ p, li { white-space: pre-wrap; } <message> <location filename="../../src/yuzu/configuration/configure_filesystem.ui" line="175"/> <source>Dump Root</source> - <translation>Корень Дампа</translation> + <translation>Корень дампа</translation> </message> <message> <location filename="../../src/yuzu/configuration/configure_filesystem.ui" line="201"/> @@ -881,7 +886,7 @@ p, li { white-space: pre-wrap; } <message> <location filename="../../src/yuzu/configuration/configure_filesystem.ui" line="209"/> <source>Cache Game List Metadata</source> - <translation>Кэшировать Метаданные Списка Игр</translation> + <translation>Кэшировать метаданные списка игр</translation> </message> <message> <location filename="../../src/yuzu/configuration/configure_filesystem.ui" line="216"/> @@ -889,7 +894,7 @@ p, li { white-space: pre-wrap; } <location filename="../../src/yuzu/configuration/configure_filesystem.cpp" line="128"/> <location filename="../../src/yuzu/configuration/configure_filesystem.cpp" line="133"/> <source>Reset Metadata Cache</source> - <translation>Сбросить Кэш Метаданных</translation> + <translation>Сбросить кэш метаданных</translation> </message> <message> <location filename="../../src/yuzu/configuration/configure_filesystem.cpp" line="86"/> @@ -946,69 +951,80 @@ p, li { white-space: pre-wrap; } <translation>Общие</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_general.ui" line="35"/> - <source>Framerate Cap</source> - <translation>Ограничение частоты кадров</translation> + <location filename="../../src/yuzu/configuration/configure_general.ui" line="50"/> + <location filename="../../src/yuzu/configuration/configure_general.ui" line="57"/> + <source>Use global framerate cap</source> + <translation>Использовать глобальное ограничение частоты кадров</translation> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_general.ui" line="62"/> + <source>Set framerate cap:</source> + <translation>Установить ограничение частоты кадров:</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_general.ui" line="38"/> + <location filename="../../src/yuzu/configuration/configure_general.ui" line="70"/> <source>Requires the use of the FPS Limiter Toggle hotkey to take effect.</source> <translation>Для вступления в силу требуется использование горячей клавиши FPS Limiter Toggle.</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_general.ui" line="45"/> + <location filename="../../src/yuzu/configuration/configure_general.ui" line="73"/> + <source>Framerate Cap</source> + <translation>Ограничение частоты кадров</translation> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_general.ui" line="95"/> <source>x</source> <translation>x</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_general.ui" line="65"/> + <location filename="../../src/yuzu/configuration/configure_general.ui" line="116"/> <source>Limit Speed Percent</source> - <translation>Ограничить Скорость в Процентах</translation> + <translation>Ограничение cкорости в процентах</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_general.ui" line="72"/> + <location filename="../../src/yuzu/configuration/configure_general.ui" line="123"/> <source>%</source> <translation>%</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_general.ui" line="90"/> + <location filename="../../src/yuzu/configuration/configure_general.ui" line="141"/> <source>Multicore CPU Emulation</source> - <translation>Многоядерная Эмуляция ЦП</translation> + <translation>Многоядерная эмуляция ЦП</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_general.ui" line="97"/> + <location filename="../../src/yuzu/configuration/configure_general.ui" line="148"/> <source>Confirm exit while emulation is running</source> <translation>Подтверждать выход во время эмуляции</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_general.ui" line="104"/> + <location filename="../../src/yuzu/configuration/configure_general.ui" line="155"/> <source>Prompt for user on game boot</source> <translation>Спрашивать пользователя при запуске игры</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_general.ui" line="111"/> + <location filename="../../src/yuzu/configuration/configure_general.ui" line="162"/> <source>Pause emulation when in background</source> <translation>Приостанавливать эмуляцию в фоновом режиме</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_general.ui" line="118"/> + <location filename="../../src/yuzu/configuration/configure_general.ui" line="169"/> <source>Hide mouse on inactivity</source> <translation>Спрятать мышь при неактивности</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_general.ui" line="160"/> + <location filename="../../src/yuzu/configuration/configure_general.ui" line="211"/> <source>Reset All Settings</source> - <translation>Сбросить Все Настройки</translation> + <translation>Сбросить все настройки</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_general.cpp" line="70"/> + <location filename="../../src/yuzu/configuration/configure_general.cpp" line="78"/> <source>yuzu</source> <translation>yuzu</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_general.cpp" line="71"/> + <location filename="../../src/yuzu/configuration/configure_general.cpp" line="79"/> <source>This reset all settings and remove all per-game configurations. This will not delete game directories, profiles, or input profiles. Proceed?</source> - <translation>Это сбросит все настройки и удалит все конфигурации под отдельные игры. При этом не будут удалены каталоги игр, профили или профили ввода. Продолжить?</translation> + <translation>Это сбросит все настройки и удалит все конфигурации под отдельные игры. При этом не будут удалены пути для игр, профили или профили ввода. Продолжить?</translation> </message> </context> <context> @@ -1031,7 +1047,7 @@ p, li { white-space: pre-wrap; } <message> <location filename="../../src/yuzu/configuration/configure_graphics.ui" line="64"/> <source>Shader Backend:</source> - <translation>Бэкенд Шейдеров:</translation> + <translation>Бэкенд шейдеров:</translation> </message> <message> <location filename="../../src/yuzu/configuration/configure_graphics.ui" line="92"/> @@ -1046,7 +1062,7 @@ p, li { white-space: pre-wrap; } <message> <location filename="../../src/yuzu/configuration/configure_graphics.ui" line="156"/> <source>Graphics Settings</source> - <translation>Настройки Графики</translation> + <translation>Настройки графики</translation> </message> <message> <location filename="../../src/yuzu/configuration/configure_graphics.ui" line="162"/> @@ -1086,7 +1102,7 @@ p, li { white-space: pre-wrap; } <message> <location filename="../../src/yuzu/configuration/configure_graphics.ui" line="242"/> <source>Fullscreen Mode:</source> - <translation>Полноэкранный Режим:</translation> + <translation>Полноэкранный режим:</translation> </message> <message> <location filename="../../src/yuzu/configuration/configure_graphics.ui" line="250"/> @@ -1101,7 +1117,7 @@ p, li { white-space: pre-wrap; } <message> <location filename="../../src/yuzu/configuration/configure_graphics.ui" line="281"/> <source>Aspect Ratio:</source> - <translation>Соотношение Сторон:</translation> + <translation>Соотношение сторон:</translation> </message> <message> <location filename="../../src/yuzu/configuration/configure_graphics.ui" line="289"/> @@ -1121,23 +1137,118 @@ p, li { white-space: pre-wrap; } <message> <location filename="../../src/yuzu/configuration/configure_graphics.ui" line="304"/> <source>Stretch to Window</source> - <translation>Расстянуть до Окна</translation> + <translation>Растянуть до окна</translation> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_graphics.ui" line="330"/> + <source>Resolution:</source> + <translation>Разрешение:</translation> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_graphics.ui" line="338"/> + <source>0.5X (360p/540p) [EXPERIMENTAL]</source> + <translation>0.5X (360p/540p) [ЭКСПЕРИМЕНТАЛЬНО]</translation> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_graphics.ui" line="343"/> + <source>0.75X (540p/810p) [EXPERIMENTAL]</source> + <translation>0.75X (540p/810p) [ЭКСПЕРИМЕНТАЛЬНО]</translation> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_graphics.ui" line="348"/> + <source>1X (720p/1080p)</source> + <translation>1X (720p/1080p)</translation> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_graphics.ui" line="353"/> + <source>2X (1440p/2160p)</source> + <translation>2X (1440p/2160p)</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_graphics.ui" line="339"/> - <location filename="../../src/yuzu/configuration/configure_graphics.ui" line="349"/> + <location filename="../../src/yuzu/configuration/configure_graphics.ui" line="358"/> + <source>3X (2160p/3240p)</source> + <translation>3X (2160p/3240p)</translation> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_graphics.ui" line="363"/> + <source>4X (2880p/4320p)</source> + <translation>4X (2880p/4320p)</translation> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_graphics.ui" line="368"/> + <source>5X (3600p/5400p)</source> + <translation>5X (3600p/5400p)</translation> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_graphics.ui" line="373"/> + <source>6X (4320p/6480p)</source> + <translation>6X (4320p/6480p)</translation> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_graphics.ui" line="399"/> + <source>Window Adapting Filter:</source> + <translation>Фильтр адаптации окна</translation> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_graphics.ui" line="407"/> + <source>Nearest Neighbor</source> + <translation>Ближайший сосед</translation> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_graphics.ui" line="412"/> + <source>Bilinear</source> + <translation>Билинейный</translation> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_graphics.ui" line="417"/> + <source>Bicubic</source> + <translation>Бикубический</translation> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_graphics.ui" line="422"/> + <source>Gaussian</source> + <translation>Гаусс</translation> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_graphics.ui" line="427"/> + <source>ScaleForce</source> + <translation>ScaleForce</translation> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_graphics.ui" line="432"/> + <source>AMD FidelityFX™️ Super Resolution [Vulkan Only]</source> + <translation>AMD FidelityFX™️ Super Resolution [Только Vulkan]</translation> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_graphics.ui" line="458"/> + <source>Anti-Aliasing Method:</source> + <translation>Метод сглаживания:</translation> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_graphics.ui" line="466"/> + <source>None</source> + <translation>Выкл.</translation> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_graphics.ui" line="471"/> + <source>FXAA</source> + <translation>FXAA</translation> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_graphics.ui" line="506"/> + <location filename="../../src/yuzu/configuration/configure_graphics.ui" line="516"/> <source>Use global background color</source> <translation>Использовать общий фоновый цвет</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_graphics.ui" line="354"/> + <location filename="../../src/yuzu/configuration/configure_graphics.ui" line="521"/> <source>Set background color:</source> <translation>Установить фоновый цвет:</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_graphics.ui" line="362"/> + <location filename="../../src/yuzu/configuration/configure_graphics.ui" line="529"/> <source>Background Color:</source> - <translation>Фоновый Цвет:</translation> + <translation>Фоновый цвет:</translation> </message> <message> <location filename="../../src/yuzu/configuration/configure_graphics.cpp" line="34"/> @@ -1160,12 +1271,12 @@ p, li { white-space: pre-wrap; } <message> <location filename="../../src/yuzu/configuration/configure_graphics_advanced.ui" line="25"/> <source>Advanced Graphics Settings</source> - <translation>Расширенные Настройки Графики</translation> + <translation>Расширенные настройки графики</translation> </message> <message> <location filename="../../src/yuzu/configuration/configure_graphics_advanced.ui" line="46"/> <source>Accuracy Level:</source> - <translation>Уровень Точности:</translation> + <translation>Уровень точности:</translation> </message> <message> <location filename="../../src/yuzu/configuration/configure_graphics_advanced.ui" line="75"/> @@ -1204,28 +1315,33 @@ p, li { white-space: pre-wrap; } </message> <message> <location filename="../../src/yuzu/configuration/configure_graphics_advanced.ui" line="128"/> - <source>Default</source> - <translation>Стандартная</translation> + <source>Automatic</source> + <translation>Автоматически</translation> </message> <message> <location filename="../../src/yuzu/configuration/configure_graphics_advanced.ui" line="133"/> - <source>2x (WILL BREAK THINGS)</source> - <translation>2x (НЕСТАБИЛЬНО)</translation> + <source>Default</source> + <translation>Стандартная</translation> </message> <message> <location filename="../../src/yuzu/configuration/configure_graphics_advanced.ui" line="138"/> - <source>4x (WILL BREAK THINGS)</source> - <translation>4x (НЕСТАБИЛЬНО)</translation> + <source>2x</source> + <translation>2x</translation> </message> <message> <location filename="../../src/yuzu/configuration/configure_graphics_advanced.ui" line="143"/> - <source>8x (WILL BREAK THINGS)</source> - <translation>8x (НЕСТАБИЛЬНО)</translation> + <source>4x</source> + <translation>4x</translation> </message> <message> <location filename="../../src/yuzu/configuration/configure_graphics_advanced.ui" line="148"/> - <source>16x (WILL BREAK THINGS)</source> - <translation>16x (НЕСТАБИЛЬНО)</translation> + <source>8x</source> + <translation>8x</translation> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_graphics_advanced.ui" line="153"/> + <source>16x</source> + <translation>16x</translation> </message> </context> <context> @@ -1552,8 +1668,8 @@ p, li { white-space: pre-wrap; } </message> <message> <location filename="../../src/yuzu/configuration/configure_input_advanced.ui" line="2533"/> - <source>Other</source> - <translation>Другое</translation> + <source>Emulated Devices</source> + <translation>Эмулируемые устройства</translation> </message> <message> <location filename="../../src/yuzu/configuration/configure_input_advanced.ui" line="2545"/> @@ -1562,499 +1678,524 @@ p, li { white-space: pre-wrap; } </message> <message> <location filename="../../src/yuzu/configuration/configure_input_advanced.ui" line="2558"/> - <source>Emulate Analog with Keyboard Input</source> - <translation>Эмуляция аналогового ввода с клавиатуры</translation> - </message> - <message> - <location filename="../../src/yuzu/configuration/configure_input_advanced.ui" line="2571"/> - <source>Enable mouse panning</source> - <translation>Включить панорамирование мыши</translation> - </message> - <message> - <location filename="../../src/yuzu/configuration/configure_input_advanced.ui" line="2578"/> - <source>Mouse sensitivity</source> - <translation>Чувствительность мыши</translation> - </message> - <message> - <location filename="../../src/yuzu/configuration/configure_input_advanced.ui" line="2584"/> - <source>%</source> - <translation>%</translation> - </message> - <message> - <location filename="../../src/yuzu/configuration/configure_input_advanced.ui" line="2600"/> - <location filename="../../src/yuzu/configuration/configure_input_advanced.ui" line="2623"/> - <source>Advanced</source> - <translation>Дополнительно</translation> + <source>Mouse</source> + <translation>Мышь</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_advanced.ui" line="2630"/> + <location filename="../../src/yuzu/configuration/configure_input_advanced.ui" line="2565"/> <source>Touchscreen</source> <translation>Сенсорный Экран</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_advanced.ui" line="2643"/> - <source>Mouse</source> - <translation>Мышь</translation> + <location filename="../../src/yuzu/configuration/configure_input_advanced.ui" line="2588"/> + <source>Advanced</source> + <translation>Дополнительно</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_advanced.ui" line="2650"/> - <source>Motion / Touch</source> - <translation>Движение / Нажатие</translation> + <location filename="../../src/yuzu/configuration/configure_input_advanced.ui" line="2595"/> + <source>Debug Controller</source> + <translation>Отладочный Контроллер</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_advanced.ui" line="2657"/> - <location filename="../../src/yuzu/configuration/configure_input_advanced.ui" line="2671"/> + <location filename="../../src/yuzu/configuration/configure_input_advanced.ui" line="2602"/> + <location filename="../../src/yuzu/configuration/configure_input_advanced.ui" line="2702"/> <source>Configure</source> <translation>Настроить</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_advanced.ui" line="2664"/> - <source>Debug Controller</source> - <translation>Отладочный Контроллер</translation> + <location filename="../../src/yuzu/configuration/configure_input_advanced.ui" line="2612"/> + <source>Other</source> + <translation>Другое</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_advanced.ui" line="2678"/> + <location filename="../../src/yuzu/configuration/configure_input_advanced.ui" line="2624"/> + <source>Emulate Analog with Keyboard Input</source> + <translation>Эмуляция аналогового ввода с клавиатуры</translation> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_input_advanced.ui" line="2631"/> <source>Requires restarting yuzu</source> <translation>Требует перезапуск yuzu</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_advanced.ui" line="2687"/> + <location filename="../../src/yuzu/configuration/configure_input_advanced.ui" line="2640"/> <source>Enable XInput 8 player support (disables web applet)</source> <translation>Включить поддержку 8-и игроков на XInput (отключает веб-апплет)</translation> </message> -</context> -<context> - <name>ConfigureInputPlayer</name> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="14"/> - <source>Configure Input</source> - <translation>Настроить Ввод</translation> + <location filename="../../src/yuzu/configuration/configure_input_advanced.ui" line="2653"/> + <source>Enable UDP controllers (not needed for motion)</source> + <translation>Включить UDP контроллеры (не обязательно для движения)</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="63"/> - <source>Connect Controller</source> - <translation>Подключить Контроллер</translation> + <location filename="../../src/yuzu/configuration/configure_input_advanced.ui" line="2666"/> + <source>Enable mouse panning</source> + <translation>Включить панорамирование мыши</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="94"/> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="535"/> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="986"/> - <source>Pro Controller</source> - <translation>Контроллер Pro</translation> + <location filename="../../src/yuzu/configuration/configure_input_advanced.ui" line="2673"/> + <source>Mouse sensitivity</source> + <translation>Чувствительность мыши</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="99"/> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="992"/> - <source>Dual Joycons</source> - <translation>Двойные Joycon'ы</translation> + <location filename="../../src/yuzu/configuration/configure_input_advanced.ui" line="2679"/> + <source>%</source> + <translation>%</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="104"/> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="998"/> - <source>Left Joycon</source> - <translation>Левый Joycon</translation> + <location filename="../../src/yuzu/configuration/configure_input_advanced.ui" line="2695"/> + <source>Motion / Touch</source> + <translation>Движение / Нажатие</translation> </message> +</context> +<context> + <name>ConfigureInputPlayer</name> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="109"/> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="1004"/> - <source>Right Joycon</source> - <translation>Правый Joycon</translation> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="14"/> + <source>Configure Input</source> + <translation>Настроить Ввод</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="114"/> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="1010"/> - <source>Handheld</source> - <translation>Портативный</translation> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="63"/> + <source>Connect Controller</source> + <translation>Подключить Контроллер</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="125"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="100"/> <source>Input Device</source> <translation>Устройство Ввода</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="153"/> - <source>Any</source> - <translation>Любой</translation> - </message> - <message> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="158"/> - <source>Keyboard/Mouse</source> - <translation>Клавиатура/Мышь</translation> - </message> - <message> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="194"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="156"/> <source>Profile</source> <translation>Профиль</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="234"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="196"/> <source>Save</source> <translation>Сохранить</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="250"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="212"/> <source>New</source> <translation>Новый</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="266"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="228"/> <source>Delete</source> <translation>Удалить</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="329"/> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="1267"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="291"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="1190"/> <source>Left Stick</source> <translation>Левый Стик</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="387"/> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="429"/> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="963"/> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="1002"/> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="2621"/> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="2660"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="349"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="391"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="925"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="964"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="2583"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="2622"/> <source>Up</source> <translation>Вверх</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="460"/> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="499"/> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="1033"/> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="1072"/> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="2107"/> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="2691"/> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="2730"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="422"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="461"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="995"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="1034"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="2069"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="2653"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="2692"/> <source>Left</source> <translation>Влево</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="509"/> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="548"/> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="1082"/> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="1121"/> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="2156"/> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="2740"/> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="2779"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="471"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="510"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="1044"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="1083"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="2118"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="2702"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="2741"/> <source>Right</source> <translation>Вправо</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="591"/> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="630"/> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="1164"/> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="1203"/> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="2822"/> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="2861"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="553"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="592"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="1126"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="1165"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="2784"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="2823"/> <source>Down</source> <translation>Вниз</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="661"/> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="700"/> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="2892"/> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="2931"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="623"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="662"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="2854"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="2893"/> <source>Pressed</source> <translation>Нажато</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="710"/> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="749"/> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="2941"/> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="2980"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="672"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="711"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="2903"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="2942"/> <source>Modifier</source> <translation>Модификатор</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="759"/> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="2990"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="721"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="2952"/> <source>Range</source> <translation>Диапазон</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="792"/> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="3023"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="754"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="2985"/> <source>%</source> <translation>%</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="835"/> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="3063"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="797"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="3025"/> <source>Deadzone: 0%</source> <translation>Мёртвая зона: 0%</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="859"/> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="3087"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="821"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="3049"/> <source>Modifier Range: 0%</source> <translation>Диапазон Модификатора: 0%</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="905"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="867"/> <source>D-Pad</source> <translation>D-Pad</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="1289"/> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="1328"/> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="1272"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="1251"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="1290"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="1195"/> <source>L</source> <translation>L</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="1344"/> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="1383"/> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="1264"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="1306"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="1345"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="1187"/> <source>ZL</source> <translation>ZL</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="1464"/> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="1503"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="1426"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="1465"/> <source>Minus</source> <translation>Минус</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="1513"/> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="1552"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="1475"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="1514"/> <source>Capture</source> <translation>Захват</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="1583"/> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="1622"/> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="1263"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="1545"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="1584"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="1186"/> <source>Plus</source> <translation>Плюс</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="1632"/> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="1671"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="1594"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="1633"/> <source>Home</source> <translation>Домой</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="1736"/> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="1775"/> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="1266"/> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="1273"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="1698"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="1737"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="1189"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="1196"/> <source>R</source> <translation>R</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="1791"/> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="1830"/> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="1265"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="1753"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="1792"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="1188"/> <source>ZR</source> <translation>ZR</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="1911"/> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="1950"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="1873"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="1912"/> <source>SL</source> <translation>SL</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="1960"/> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="1999"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="1922"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="1961"/> <source>SR</source> <translation>SR</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="2068"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="2030"/> <source>Motion 1</source> <translation>Движение 1</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="2117"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="2079"/> <source>Motion 2</source> <translation>Движение 2</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="2208"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="2170"/> <source>Face Buttons</source> <translation>Основные Кнопки</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="2266"/> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="2305"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="2228"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="2267"/> <source>X</source> <translation>X</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="2336"/> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="2375"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="2298"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="2337"/> <source>Y</source> <translation>Y</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="2385"/> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="2424"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="2347"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="2386"/> <source>A</source> <translation>A</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="2467"/> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="2506"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="2429"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="2468"/> <source>B</source> <translation>B</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="2554"/> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="1268"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="2516"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="1191"/> <source>Right Stick</source> <translation>Правый Стик</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="322"/> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="372"/> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="430"/> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="474"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="330"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="396"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="461"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="507"/> <source>Clear</source> <translation>Очистить</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="324"/> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="374"/> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="432"/> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="476"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="332"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="398"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="463"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="509"/> <source>[not set]</source> <translation>[не задано]</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="327"/> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="478"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="335"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="512"/> <source>Toggle button</source> <translation>Переключить кнопку</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="335"/> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="339"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="341"/> + <source>Invert button</source> + <translation>Инвертировать кнопку</translation> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="349"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="465"/> + <source>Invert axis</source> + <translation>Инвертировать оси</translation> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="355"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="359"/> <source>Set threshold</source> <translation>Установить порог</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="339"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="359"/> <source>Choose a value between 0% and 100%</source> <translation>Выберите значение между 0% и 100%</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="406"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="436"/> <source>Map Analog Stick</source> <translation>Задать Аналоговый Стик</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="407"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="437"/> <source>After pressing OK, first move your joystick horizontally, and then vertically. To invert the axes, first move your joystick vertically, and then horizontally.</source> <translation>После нажатия на ОК, двигайте ваш джойстик горизонтально, а затем вертикально. Чтобы инвертировать оси, сначала двигайте ваш джойстик вертикально, а затем горизонтально.</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="434"/> - <source>Invert axis</source> - <translation>Инвертировать оси</translation> - </message> - <message> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="500"/> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="952"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="537"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="891"/> <source>Deadzone: %1%</source> <translation>Мёртвая зона: %1%</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="508"/> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="963"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="546"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="896"/> <source>Modifier Range: %1%</source> <translation>Диапазон Модификатора: %1%</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="1016"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="572"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="918"/> + <source>Pro Controller</source> + <translation>Контроллер Pro</translation> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="924"/> + <source>Dual Joycons</source> + <translation>Двойные Joycon'ы</translation> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="930"/> + <source>Left Joycon</source> + <translation>Левый Joycon</translation> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="936"/> + <source>Right Joycon</source> + <translation>Правый Joycon</translation> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="942"/> + <source>Handheld</source> + <translation>Портативный</translation> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="948"/> <source>GameCube Controller</source> <translation>Контроллер GameCube</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="1271"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="958"/> + <source>Poke Ball Plus</source> + <translation>Poke Ball Plus</translation> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="964"/> + <source>NES Controller</source> + <translation>Контроллер NES</translation> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="970"/> + <source>SNES Controller</source> + <translation>Контроллер SNES</translation> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="976"/> + <source>N64 Controller</source> + <translation>Контроллер N64</translation> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="982"/> + <source>Sega Genesis</source> + <translation>Sega Genesis</translation> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="1194"/> <source>Start / Pause</source> <translation>Старт / Пауза</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="1274"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="1197"/> <source>Z</source> <translation>Z</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="1275"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="1198"/> <source>Control Stick</source> <translation>Управляющий Стик</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="1276"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="1199"/> <source>C-Stick</source> <translation>C-Стик</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="1335"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="1297"/> <source>Shake!</source> <translation>Встряхните!</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="1337"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="1299"/> <source>[waiting]</source> <translation>[ожидание]</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="1462"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="1381"/> <source>New Profile</source> <translation>Новый Профиль</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="1462"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="1381"/> <source>Enter a profile name:</source> <translation>Введите имя профиля:</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="1470"/> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="1478"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="1389"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="1397"/> <source>Create Input Profile</source> <translation>Создать Профиль Управления</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="1471"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="1390"/> <source>The given profile name is not valid!</source> <translation>Заданное имя профиля недействительно!</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="1479"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="1398"/> <source>Failed to create the input profile "%1"</source> <translation>Не удалось создать профиль управления "%1"</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="1499"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="1418"/> <source>Delete Input Profile</source> <translation>Удалить Профиль Управления</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="1500"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="1419"/> <source>Failed to delete the input profile "%1"</source> <translation>Не удалось удалить профиль управления "%1"</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="1522"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="1441"/> <source>Load Input Profile</source> <translation>Загрузить профиль управления</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="1523"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="1442"/> <source>Failed to load the input profile "%1"</source> <translation>Не удалось загрузить профиль управления "%1"</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="1542"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="1461"/> <source>Save Input Profile</source> <translation>Сохранить Профиль Управления</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="1543"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="1462"/> <source>Failed to save the input profile "%1"</source> <translation>Не удалось сохранить профиль управления "%1"</translation> </message> @@ -2080,85 +2221,75 @@ To invert the axes, first move your joystick vertically, and then horizontally.< <context> <name>ConfigureMotionTouch</name> <message> - <location filename="../../src/yuzu/configuration/configure_motion_touch.ui" line="14"/> + <location filename="../../src/yuzu/configuration/configure_motion_touch.ui" line="6"/> <source>Configure Motion / Touch</source> <translation>Настроить Движение / Нажатие</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_motion_touch.ui" line="23"/> - <source>Mouse Motion</source> - <translation>Движение Мыши</translation> - </message> - <message> - <location filename="../../src/yuzu/configuration/configure_motion_touch.ui" line="31"/> - <source>Sensitivity:</source> - <translation>Чувствительность:</translation> - </message> - <message> - <location filename="../../src/yuzu/configuration/configure_motion_touch.ui" line="65"/> + <location filename="../../src/yuzu/configuration/configure_motion_touch.ui" line="15"/> <source>Touch</source> <translation>Нажатие</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_motion_touch.ui" line="73"/> + <location filename="../../src/yuzu/configuration/configure_motion_touch.ui" line="23"/> <source>UDP Calibration:</source> <translation>Калибрация UDP:</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_motion_touch.ui" line="80"/> + <location filename="../../src/yuzu/configuration/configure_motion_touch.ui" line="30"/> <source>(100, 50) - (1800, 850)</source> <translation>(100, 50) - (1800, 850)</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_motion_touch.ui" line="96"/> - <location filename="../../src/yuzu/configuration/configure_motion_touch.ui" line="129"/> - <location filename="../../src/yuzu/configuration/configure_motion_touch.cpp" line="250"/> + <location filename="../../src/yuzu/configuration/configure_motion_touch.ui" line="46"/> + <location filename="../../src/yuzu/configuration/configure_motion_touch.ui" line="73"/> + <location filename="../../src/yuzu/configuration/configure_motion_touch.cpp" line="245"/> <source>Configure</source> <translation>Настроить</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_motion_touch.ui" line="113"/> - <source>Use button mapping:</source> - <translation>Использовать привязки кнопок:</translation> + <location filename="../../src/yuzu/configuration/configure_motion_touch.ui" line="57"/> + <source>Touch from button profile:</source> + <translation>Коснитесь из профиля кнопки:</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_motion_touch.ui" line="141"/> + <location filename="../../src/yuzu/configuration/configure_motion_touch.ui" line="85"/> <source>CemuhookUDP Config</source> <translation>Настройка CemuhookUDP</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_motion_touch.ui" line="147"/> + <location filename="../../src/yuzu/configuration/configure_motion_touch.ui" line="91"/> <source>You may use any Cemuhook compatible UDP input source to provide motion and touch input.</source> <translation>Вы можете использовать любой совместимый с Cemuhook ввод UDP для движения и нажатий</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_motion_touch.ui" line="190"/> + <location filename="../../src/yuzu/configuration/configure_motion_touch.ui" line="134"/> <source>Server:</source> <translation>Сервер:</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_motion_touch.ui" line="217"/> + <location filename="../../src/yuzu/configuration/configure_motion_touch.ui" line="161"/> <source>Port:</source> <translation>Порт:</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_motion_touch.ui" line="244"/> + <location filename="../../src/yuzu/configuration/configure_motion_touch.ui" line="188"/> <source>Learn More</source> <translation>Узнать Больше</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_motion_touch.ui" line="257"/> - <location filename="../../src/yuzu/configuration/configure_motion_touch.cpp" line="273"/> + <location filename="../../src/yuzu/configuration/configure_motion_touch.ui" line="201"/> + <location filename="../../src/yuzu/configuration/configure_motion_touch.cpp" line="268"/> <source>Test</source> <translation>Тест</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_motion_touch.ui" line="270"/> + <location filename="../../src/yuzu/configuration/configure_motion_touch.ui" line="214"/> <source>Add Server</source> <translation>Добавить Сервер</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_motion_touch.ui" line="303"/> + <location filename="../../src/yuzu/configuration/configure_motion_touch.ui" line="247"/> <source>Remove Server</source> <translation>Удалить Сервер</translation> </message> @@ -2168,146 +2299,82 @@ To invert the axes, first move your joystick vertically, and then horizontally.< <translation><a href='https://yuzu-emu.org/wiki/using-a-controller-or-android-phone-for-motion-or-touch-input'><span style="text-decoration: underline; color:#039be5;">Узнать Больше</span></a></translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_motion_touch.cpp" line="176"/> + <location filename="../../src/yuzu/configuration/configure_motion_touch.cpp" line="171"/> <source>%1:%2</source> <translation>%1:%2</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_motion_touch.cpp" line="181"/> - <location filename="../../src/yuzu/configuration/configure_motion_touch.cpp" line="185"/> - <location filename="../../src/yuzu/configuration/configure_motion_touch.cpp" line="189"/> - <location filename="../../src/yuzu/configuration/configure_motion_touch.cpp" line="195"/> - <location filename="../../src/yuzu/configuration/configure_motion_touch.cpp" line="201"/> - <location filename="../../src/yuzu/configuration/configure_motion_touch.cpp" line="295"/> + <location filename="../../src/yuzu/configuration/configure_motion_touch.cpp" line="176"/> + <location filename="../../src/yuzu/configuration/configure_motion_touch.cpp" line="180"/> + <location filename="../../src/yuzu/configuration/configure_motion_touch.cpp" line="184"/> + <location filename="../../src/yuzu/configuration/configure_motion_touch.cpp" line="190"/> + <location filename="../../src/yuzu/configuration/configure_motion_touch.cpp" line="196"/> + <location filename="../../src/yuzu/configuration/configure_motion_touch.cpp" line="290"/> <source>yuzu</source> <translation>yuzu</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_motion_touch.cpp" line="181"/> + <location filename="../../src/yuzu/configuration/configure_motion_touch.cpp" line="176"/> <source>Port number has invalid characters</source> <translation>Номер порта содержит недопустимые символы</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_motion_touch.cpp" line="185"/> + <location filename="../../src/yuzu/configuration/configure_motion_touch.cpp" line="180"/> <source>Port has to be in range 0 and 65353</source> <translation>Порт должен быть в районе от 0 до 65353</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_motion_touch.cpp" line="189"/> + <location filename="../../src/yuzu/configuration/configure_motion_touch.cpp" line="184"/> <source>IP address is not valid</source> <translation>IP-адрес недействителен</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_motion_touch.cpp" line="195"/> + <location filename="../../src/yuzu/configuration/configure_motion_touch.cpp" line="190"/> <source>This UDP server already exists</source> <translation>Этот UDP сервер уже существует</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_motion_touch.cpp" line="201"/> + <location filename="../../src/yuzu/configuration/configure_motion_touch.cpp" line="196"/> <source>Unable to add more than 8 servers</source> <translation>Невозможно добавить более 8 серверов</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_motion_touch.cpp" line="217"/> + <location filename="../../src/yuzu/configuration/configure_motion_touch.cpp" line="212"/> <source>Testing</source> <translation>Тестирование</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_motion_touch.cpp" line="233"/> + <location filename="../../src/yuzu/configuration/configure_motion_touch.cpp" line="228"/> <source>Configuring</source> <translation>Настройка</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_motion_touch.cpp" line="264"/> + <location filename="../../src/yuzu/configuration/configure_motion_touch.cpp" line="259"/> <source>Test Successful</source> <translation>Тест Успешен</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_motion_touch.cpp" line="265"/> + <location filename="../../src/yuzu/configuration/configure_motion_touch.cpp" line="260"/> <source>Successfully received data from the server.</source> <translation>Успешно получена информация с сервера</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_motion_touch.cpp" line="267"/> + <location filename="../../src/yuzu/configuration/configure_motion_touch.cpp" line="262"/> <source>Test Failed</source> <translation>Тест Провален</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_motion_touch.cpp" line="268"/> + <location filename="../../src/yuzu/configuration/configure_motion_touch.cpp" line="263"/> <source>Could not receive valid data from the server.<br>Please verify that the server is set up correctly and the address and port are correct.</source> <translation>Не удалось получить действительные данные с сервера.<br>Убедитесь, что сервер правильно настроен, а также проверьте адрес и порт.</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_motion_touch.cpp" line="296"/> + <location filename="../../src/yuzu/configuration/configure_motion_touch.cpp" line="291"/> <source>UDP Test or calibration configuration is in progress.<br>Please wait for them to finish.</source> <translation>Тест UDP или калибрация в процессе.<br>Пожалуйста, подождите завершения.</translation> </message> </context> <context> - <name>ConfigureMouseAdvanced</name> - <message> - <location filename="../../src/yuzu/configuration/configure_mouse_advanced.ui" line="14"/> - <source>Configure Mouse</source> - <translation>Настроить Мышь</translation> - </message> - <message> - <location filename="../../src/yuzu/configuration/configure_mouse_advanced.ui" line="25"/> - <source>Mouse Buttons</source> - <translation>Кнопки на Мыши</translation> - </message> - <message> - <location filename="../../src/yuzu/configuration/configure_mouse_advanced.ui" line="35"/> - <source>Forward:</source> - <translation>Передняя:</translation> - </message> - <message> - <location filename="../../src/yuzu/configuration/configure_mouse_advanced.ui" line="75"/> - <source>Back:</source> - <translation>Задняя:</translation> - </message> - <message> - <location filename="../../src/yuzu/configuration/configure_mouse_advanced.ui" line="103"/> - <source>Left:</source> - <translation>Левая:</translation> - </message> - <message> - <location filename="../../src/yuzu/configuration/configure_mouse_advanced.ui" line="131"/> - <source>Middle:</source> - <translation>Средняя:</translation> - </message> - <message> - <location filename="../../src/yuzu/configuration/configure_mouse_advanced.ui" line="197"/> - <source>Right:</source> - <translation>Правая:</translation> - </message> - <message> - <location filename="../../src/yuzu/configuration/configure_mouse_advanced.ui" line="270"/> - <location filename="../../src/yuzu/configuration/configure_mouse_advanced.cpp" line="109"/> - <source>Clear</source> - <translation>Очистить</translation> - </message> - <message> - <location filename="../../src/yuzu/configuration/configure_mouse_advanced.ui" line="289"/> - <source>Defaults</source> - <translation>По умолчанию</translation> - </message> - <message> - <location filename="../../src/yuzu/configuration/configure_mouse_advanced.cpp" line="111"/> - <source>[not set]</source> - <translation>[не задано]</translation> - </message> - <message> - <location filename="../../src/yuzu/configuration/configure_mouse_advanced.cpp" line="113"/> - <source>Restore Default</source> - <translation>Вернуть настройки по умолчанию</translation> - </message> - <message> - <location filename="../../src/yuzu/configuration/configure_mouse_advanced.cpp" line="200"/> - <source>[press key]</source> - <translation>[нажмите кнопку]</translation> - </message> -</context> -<context> <name>ConfigureNetwork</name> <message> <location filename="../../src/yuzu/configuration/configure_network.ui" line="14"/> @@ -2410,7 +2477,7 @@ To invert the axes, first move your joystick vertically, and then horizontally.< <message> <location filename="../../src/yuzu/configuration/configure_per_game.cpp" line="69"/> <source>Adv. Graphics</source> - <translation type="unfinished"/> + <translation>Расш. Графика</translation> </message> <message> <location filename="../../src/yuzu/configuration/configure_per_game.cpp" line="70"/> @@ -2594,12 +2661,12 @@ To invert the axes, first move your joystick vertically, and then horizontally.< <message> <location filename="../../src/yuzu/configuration/configure_profile_manager.cpp" line="314"/> <source>Error resizing user image</source> - <translation type="unfinished"/> + <translation>Ошибка при изменении размера изображения пользователя</translation> </message> <message> <location filename="../../src/yuzu/configuration/configure_profile_manager.cpp" line="315"/> <source>Unable to resize image</source> - <translation type="unfinished"/> + <translation>Невозможно изменить размер изображения</translation> </message> </context> <context> @@ -3028,7 +3095,7 @@ To invert the axes, first move your joystick vertically, and then horizontally.< <message> <location filename="../../src/yuzu/configuration/configure_system.ui" line="478"/> <source>d MMM yyyy h:mm:ss AP</source> - <translation>д МММ гггг ч:мм:сс AP</translation> + <translation>d MMM yyyy h:mm:ss AP</translation> </message> <message> <location filename="../../src/yuzu/configuration/configure_system.ui" line="515"/> @@ -3090,31 +3157,26 @@ To invert the axes, first move your joystick vertically, and then horizontally.< </message> <message> <location filename="../../src/yuzu/configuration/configure_tas.ui" line="64"/> - <source>Automatic controller profile swapping</source> - <translation>Автоматическая замена профиля контроллера</translation> - </message> - <message> - <location filename="../../src/yuzu/configuration/configure_tas.ui" line="71"/> <source>Loop script</source> <translation>Зациклить скрипт</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_tas.ui" line="81"/> + <location filename="../../src/yuzu/configuration/configure_tas.ui" line="74"/> <source>Pause execution during loads</source> <translation>Приостановить выполнение во время загрузки</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_tas.ui" line="95"/> + <location filename="../../src/yuzu/configuration/configure_tas.ui" line="88"/> <source>Script Directory</source> <translation>Папка для скриптов</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_tas.ui" line="101"/> + <location filename="../../src/yuzu/configuration/configure_tas.ui" line="94"/> <source>Path</source> <translation>Путь</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_tas.ui" line="108"/> + <location filename="../../src/yuzu/configuration/configure_tas.ui" line="101"/> <source>...</source> <translation>...</translation> </message> @@ -3127,7 +3189,7 @@ To invert the axes, first move your joystick vertically, and then horizontally.< <translation>Настройка TAS</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_tas.cpp" line="53"/> + <location filename="../../src/yuzu/configuration/configure_tas.cpp" line="51"/> <source>Select TAS Load Directory...</source> <translation>Выбрать папку загрузки TAS...</translation> </message> @@ -3189,37 +3251,37 @@ Drag points to change position, or double-click table cells to edit values.</sou <translation>Y</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_touch_from_button.cpp" line="200"/> + <location filename="../../src/yuzu/configuration/configure_touch_from_button.cpp" line="197"/> <source>New Profile</source> <translation>Новый Профиль</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_touch_from_button.cpp" line="200"/> + <location filename="../../src/yuzu/configuration/configure_touch_from_button.cpp" line="197"/> <source>Enter the name for the new profile.</source> <translation>Введите имя вашего нового профиля.</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_touch_from_button.cpp" line="211"/> + <location filename="../../src/yuzu/configuration/configure_touch_from_button.cpp" line="208"/> <source>Delete Profile</source> <translation>Удалить Профиль</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_touch_from_button.cpp" line="211"/> + <location filename="../../src/yuzu/configuration/configure_touch_from_button.cpp" line="208"/> <source>Delete profile %1?</source> <translation>Удалить профиль %1?</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_touch_from_button.cpp" line="224"/> + <location filename="../../src/yuzu/configuration/configure_touch_from_button.cpp" line="221"/> <source>Rename Profile</source> <translation>Переименовать Профиль</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_touch_from_button.cpp" line="224"/> + <location filename="../../src/yuzu/configuration/configure_touch_from_button.cpp" line="221"/> <source>New name:</source> <translation>Новое название:</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_touch_from_button.cpp" line="233"/> + <location filename="../../src/yuzu/configuration/configure_touch_from_button.cpp" line="230"/> <source>[press key]</source> <translation>[нажмите кнопку]</translation> </message> @@ -3639,12 +3701,12 @@ Drag points to change position, or double-click table cells to edit values.</sou <context> <name>ControllerDialog</name> <message> - <location filename="../../src/yuzu/debugger/controller.cpp" line="17"/> + <location filename="../../src/yuzu/debugger/controller.cpp" line="21"/> <source>Controller P1</source> <translation>Контроллер P1</translation> </message> <message> - <location filename="../../src/yuzu/debugger/controller.cpp" line="52"/> + <location filename="../../src/yuzu/debugger/controller.cpp" line="60"/> <source>&Controller P1</source> <translation>&Контроллер P1</translation> </message> @@ -3652,90 +3714,95 @@ Drag points to change position, or double-click table cells to edit values.</sou <context> <name>GMainWindow</name> <message> - <location filename="../../src/yuzu/main.cpp" line="174"/> + <location filename="../../src/yuzu/main.cpp" line="176"/> <source><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?</source> <translation><a href='https://yuzu-emu.org/help/feature/telemetry/'>Анонимные данные собираются</a> для улучшения yuzu. <br/><br/>Хотели бы вы делиться данными об использовании с нами?</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="177"/> + <location filename="../../src/yuzu/main.cpp" line="179"/> <source>Telemetry</source> <translation>Телеметрия</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="592"/> + <location filename="../../src/yuzu/main.cpp" line="600"/> <source>Loading Web Applet...</source> <translation>Загрузка Веб-Апплета...</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="639"/> - <location filename="../../src/yuzu/main.cpp" line="642"/> + <location filename="../../src/yuzu/main.cpp" line="647"/> + <location filename="../../src/yuzu/main.cpp" line="650"/> <source>Disable Web Applet</source> <translation>Отключить Веб-Апплет</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="643"/> + <location filename="../../src/yuzu/main.cpp" line="651"/> <source>Disabling the web applet will cause it to not be shown again for the rest of the emulated session. This 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?</source> <translation>Отключение веб-апплета приведет к тому, что он больше не будет появляться до конца текущей сессии эмуляции. Это может привести к неожиданному поведению и должно использоваться только в Super Mario 3D All-Stars. Вы уверены, что хотите отключить веб-апплет?</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="746"/> + <location filename="../../src/yuzu/main.cpp" line="754"/> <source>The amount of shaders currently being built</source> <translation>Количество создаваемых шейдеров на данный момент</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="749"/> + <location filename="../../src/yuzu/main.cpp" line="756"/> + <source>The current selected resolution scaling multiplier.</source> + <translation>Текущий выбранный множитель масштабирования разрешения.</translation> + </message> + <message> + <location filename="../../src/yuzu/main.cpp" line="759"/> <source>Current emulation speed. Values higher or lower than 100% indicate emulation is running faster or slower than a Switch.</source> <translation>Текущая скорость эмуляции. Значения выше или ниже 100% указывают на то, что эмуляция идет быстрее или медленнее, чем на Switch.</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="752"/> + <location filename="../../src/yuzu/main.cpp" line="762"/> <source>How many frames per second the game is currently displaying. This will vary from game to game and scene to scene.</source> <translation>Количество кадров в секунду в данный момент. Значение будет меняться от игры к игре и от сцене к сцене.</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="756"/> + <location filename="../../src/yuzu/main.cpp" line="766"/> <source>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.</source> <translation>Время, которое нужно для эмуляции 1 кадра Switch, не принимая во внимание ограничение FPS или v-sync. Для полноскоростной эмуляции значение должно быть не больше 16,67 мс.</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="781"/> + <location filename="../../src/yuzu/main.cpp" line="841"/> <source>Invalid config detected</source> <translation>Обнаружена недопустимая конфигурация</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="782"/> + <location filename="../../src/yuzu/main.cpp" line="842"/> <source>Handheld controller can't be used on docked mode. Pro controller will be selected.</source> <translation>Портативный контроллер не может быть использован в режиме док-станции. Будет выбран контроллер Pro.</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="794"/> + <location filename="../../src/yuzu/main.cpp" line="854"/> <source>DOCK</source> <translation>ДОК</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="828"/> + <location filename="../../src/yuzu/main.cpp" line="888"/> <source>VULKAN</source> <translation>VULKAN</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="828"/> + <location filename="../../src/yuzu/main.cpp" line="888"/> <source>OPENGL</source> <translation>OPENGL</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="886"/> + <location filename="../../src/yuzu/main.cpp" line="951"/> <source>&Clear Recent Files</source> <translation>&Очистить Недавние Файлы</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="1055"/> - <source>TAS Recording</source> - <translation>Запись TAS</translation> + <location filename="../../src/yuzu/main.cpp" line="1210"/> + <source>&Continue</source> + <translation>&Продолжить</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="1056"/> - <source>Overwrite file of player 1?</source> - <translation>Перезаписать файл игрока 1?</translation> + <location filename="../../src/yuzu/main.cpp" line="1212"/> + <source>&Pause</source> + <translation>&Пауза</translation> </message> <message> <location filename="../../src/yuzu/main.cpp" line="1285"/> @@ -3786,351 +3853,346 @@ Drag points to change position, or double-click table cells to edit values.</sou <translation>Произошла неизвестная ошибка. Пожалуйста, проверьте лог для подробностей.</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="1462"/> + <location filename="../../src/yuzu/main.cpp" line="1460"/> <source>(64-bit)</source> <translation>(64-х битный)</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="1462"/> + <location filename="../../src/yuzu/main.cpp" line="1460"/> <source>(32-bit)</source> <translation>(32-х битный)</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="1463"/> + <location filename="../../src/yuzu/main.cpp" line="1461"/> <source>%1 %2</source> <comment>%1 is the title name. %2 indicates if the title is 64-bit or 32-bit</comment> <translation>%1 %2</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="1507"/> - <source>Start</source> - <translation>Запустить</translation> - </message> - <message> - <location filename="../../src/yuzu/main.cpp" line="1612"/> + <location filename="../../src/yuzu/main.cpp" line="1605"/> <source>Save Data</source> <translation>Данные Сохранений</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="1660"/> + <location filename="../../src/yuzu/main.cpp" line="1653"/> <source>Mod Data</source> <translation>Данные Модов</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="1672"/> + <location filename="../../src/yuzu/main.cpp" line="1665"/> <source>Error Opening %1 Folder</source> <translation>Ошибка при Открытии Папки %1</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="1673"/> - <location filename="../../src/yuzu/main.cpp" line="2079"/> + <location filename="../../src/yuzu/main.cpp" line="1666"/> + <location filename="../../src/yuzu/main.cpp" line="2072"/> <source>Folder does not exist!</source> <translation>Папка не существует!</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="1685"/> + <location filename="../../src/yuzu/main.cpp" line="1678"/> <source>Error Opening Transferable Shader Cache</source> <translation>Ошибка при открытии переносного кэша шейдеров</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="1686"/> + <location filename="../../src/yuzu/main.cpp" line="1679"/> <source>Failed to create the shader cache directory for this title.</source> <translation>Не удалось создать папку кэша шейдеров для этой игры.</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="1738"/> + <location filename="../../src/yuzu/main.cpp" line="1731"/> <source>Contents</source> <translation>Содержание</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="1740"/> + <location filename="../../src/yuzu/main.cpp" line="1733"/> <source>Update</source> <translation>Обновление</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="1742"/> + <location filename="../../src/yuzu/main.cpp" line="1735"/> <source>DLC</source> <translation>Загружаемый Контент</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="1749"/> + <location filename="../../src/yuzu/main.cpp" line="1742"/> <source>Remove Entry</source> <translation>Удалить Запись</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="1749"/> + <location filename="../../src/yuzu/main.cpp" line="1742"/> <source>Remove Installed Game %1?</source> <translation>Удалить Установленную Игру %1?</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="1779"/> - <location filename="../../src/yuzu/main.cpp" line="1795"/> - <location filename="../../src/yuzu/main.cpp" line="1826"/> - <location filename="../../src/yuzu/main.cpp" line="1887"/> - <location filename="../../src/yuzu/main.cpp" line="1905"/> - <location filename="../../src/yuzu/main.cpp" line="1928"/> + <location filename="../../src/yuzu/main.cpp" line="1772"/> + <location filename="../../src/yuzu/main.cpp" line="1788"/> + <location filename="../../src/yuzu/main.cpp" line="1819"/> + <location filename="../../src/yuzu/main.cpp" line="1880"/> + <location filename="../../src/yuzu/main.cpp" line="1898"/> + <location filename="../../src/yuzu/main.cpp" line="1921"/> <source>Successfully Removed</source> <translation>Успешно Удалено</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="1780"/> + <location filename="../../src/yuzu/main.cpp" line="1773"/> <source>Successfully removed the installed base game.</source> <translation>Установленная базовая игра успешно удалена.</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="1783"/> - <location filename="../../src/yuzu/main.cpp" line="1798"/> - <location filename="../../src/yuzu/main.cpp" line="1821"/> + <location filename="../../src/yuzu/main.cpp" line="1776"/> + <location filename="../../src/yuzu/main.cpp" line="1791"/> + <location filename="../../src/yuzu/main.cpp" line="1814"/> <source>Error Removing %1</source> <translation>Ошибка при Удалении %1</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="1784"/> + <location filename="../../src/yuzu/main.cpp" line="1777"/> <source>The base game is not installed in the NAND and cannot be removed.</source> <translation>Базовая игра не установлена в NAND и не может быть удалена.</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="1796"/> + <location filename="../../src/yuzu/main.cpp" line="1789"/> <source>Successfully removed the installed update.</source> <translation>Установленное обновление успешно удалено.</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="1799"/> + <location filename="../../src/yuzu/main.cpp" line="1792"/> <source>There is no update installed for this title.</source> <translation>Для этой игры нету обновлений.</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="1822"/> + <location filename="../../src/yuzu/main.cpp" line="1815"/> <source>There are no DLC installed for this title.</source> <translation>Для этой игры нет установленного загружаемого контента.</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="1827"/> + <location filename="../../src/yuzu/main.cpp" line="1820"/> <source>Successfully removed %1 installed DLC.</source> <translation>Успешно удалено %1 загружаемого контента.</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="1835"/> + <location filename="../../src/yuzu/main.cpp" line="1828"/> <source>Delete OpenGL Transferable Shader Cache?</source> <translation>Удалить переносной кэш шейдеров OpenGL?</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="1837"/> + <location filename="../../src/yuzu/main.cpp" line="1830"/> <source>Delete Vulkan Transferable Shader Cache?</source> <translation>Удалить переносной кэш шейдеров Vulkan?</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="1839"/> + <location filename="../../src/yuzu/main.cpp" line="1832"/> <source>Delete All Transferable Shader Caches?</source> <translation>Удалить весь переносной кэш шейдеров?</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="1841"/> + <location filename="../../src/yuzu/main.cpp" line="1834"/> <source>Remove Custom Game Configuration?</source> <translation>Удалить Пользовательскую Настройку Игры?</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="1847"/> + <location filename="../../src/yuzu/main.cpp" line="1840"/> <source>Remove File</source> <translation>Удалить Файл</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="1882"/> - <location filename="../../src/yuzu/main.cpp" line="1890"/> + <location filename="../../src/yuzu/main.cpp" line="1875"/> + <location filename="../../src/yuzu/main.cpp" line="1883"/> <source>Error Removing Transferable Shader Cache</source> <translation>Ошибка при удалении переносного кэша шейдеров</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="1883"/> - <location filename="../../src/yuzu/main.cpp" line="1901"/> + <location filename="../../src/yuzu/main.cpp" line="1876"/> + <location filename="../../src/yuzu/main.cpp" line="1894"/> <source>A shader cache for this title does not exist.</source> <translation>Кэш шейдеров для этой игры не существует.</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="1888"/> + <location filename="../../src/yuzu/main.cpp" line="1881"/> <source>Successfully removed the transferable shader cache.</source> <translation>Переносной кэш шейдеров успешно удалён.</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="1891"/> + <location filename="../../src/yuzu/main.cpp" line="1884"/> <source>Failed to remove the transferable shader cache.</source> <translation>Не удалось удалить переносной кэш шейдеров.</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="1900"/> - <location filename="../../src/yuzu/main.cpp" line="1908"/> + <location filename="../../src/yuzu/main.cpp" line="1893"/> + <location filename="../../src/yuzu/main.cpp" line="1901"/> <source>Error Removing Transferable Shader Caches</source> <translation>Ошибка при удалении переносного кэша шейдеров</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="1906"/> + <location filename="../../src/yuzu/main.cpp" line="1899"/> <source>Successfully removed the transferable shader caches.</source> <translation>Переносной кэш шейдеров успешно удален.</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="1909"/> + <location filename="../../src/yuzu/main.cpp" line="1902"/> <source>Failed to remove the transferable shader cache directory.</source> <translation>Ошибка при удалении папки переносного кэша шейдеров.</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="1922"/> - <location filename="../../src/yuzu/main.cpp" line="1931"/> + <location filename="../../src/yuzu/main.cpp" line="1915"/> + <location filename="../../src/yuzu/main.cpp" line="1924"/> <source>Error Removing Custom Configuration</source> <translation>Ошибка при Удалении Пользовательской Настройки</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="1923"/> + <location filename="../../src/yuzu/main.cpp" line="1916"/> <source>A custom configuration for this title does not exist.</source> <translation>Пользовательская настройка для этой игры не существует.</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="1929"/> + <location filename="../../src/yuzu/main.cpp" line="1922"/> <source>Successfully removed the custom game configuration.</source> <translation>Пользовательская настройка игры успешно удалена.</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="1932"/> + <location filename="../../src/yuzu/main.cpp" line="1925"/> <source>Failed to remove the custom game configuration.</source> <translation>Не удалось удалить пользовательскую настройку игры.</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="1939"/> - <location filename="../../src/yuzu/main.cpp" line="2018"/> + <location filename="../../src/yuzu/main.cpp" line="1932"/> + <location filename="../../src/yuzu/main.cpp" line="2011"/> <source>RomFS Extraction Failed!</source> <translation>Не Удалось Извлечь RomFS!</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="1940"/> + <location filename="../../src/yuzu/main.cpp" line="1933"/> <source>There was an error copying the RomFS files or the user cancelled the operation.</source> <translation>Произошла ошибка при копировании файлов RomFS или пользователь отменил операцию.</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="1998"/> + <location filename="../../src/yuzu/main.cpp" line="1991"/> <source>Full</source> <translation>Полный</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="1998"/> + <location filename="../../src/yuzu/main.cpp" line="1991"/> <source>Skeleton</source> <translation>Структура</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="2000"/> + <location filename="../../src/yuzu/main.cpp" line="1993"/> <source>Select RomFS Dump Mode</source> <translation>Выберите Режим Дампа RomFS</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="2001"/> + <location filename="../../src/yuzu/main.cpp" line="1994"/> <source>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.</source> <translation>Пожалуйста, выберите, как вы хотите выполнить дамп RomFS. <br>Полный скопирует все файлы в новую папку, в то время как <br>структура создаст только структуру папок.</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="2019"/> + <location filename="../../src/yuzu/main.cpp" line="2012"/> <source>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</source> <translation>В %1 недостаточно свободного места для извлечения RomFS. Пожалуйста, освободите место или выберите другую папку для дампа в Эмуляция > Настройка > Система > Файловая система > Корень Дампа</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="2026"/> + <location filename="../../src/yuzu/main.cpp" line="2019"/> <source>Extracting RomFS...</source> <translation>Извлечение RomFS...</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="2026"/> - <location filename="../../src/yuzu/main.cpp" line="2206"/> + <location filename="../../src/yuzu/main.cpp" line="2019"/> + <location filename="../../src/yuzu/main.cpp" line="2199"/> <source>Cancel</source> <translation>Отмена</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="2033"/> + <location filename="../../src/yuzu/main.cpp" line="2026"/> <source>RomFS Extraction Succeeded!</source> <translation>Извлечение RomFS Прошло Успешно!</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="2034"/> + <location filename="../../src/yuzu/main.cpp" line="2027"/> <source>The operation completed successfully.</source> <translation>Операция выполнена.</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="2078"/> + <location filename="../../src/yuzu/main.cpp" line="2071"/> <source>Error Opening %1</source> <translation>Ошибка Открытия %1</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="2087"/> + <location filename="../../src/yuzu/main.cpp" line="2080"/> <source>Select Directory</source> <translation>Выбрать папку</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="2114"/> + <location filename="../../src/yuzu/main.cpp" line="2107"/> <source>Properties</source> <translation>Свойства</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="2115"/> + <location filename="../../src/yuzu/main.cpp" line="2108"/> <source>The game properties could not be loaded.</source> <translation>Не удалось загрузить свойства игры.</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="2127"/> + <location filename="../../src/yuzu/main.cpp" line="2120"/> <source>Switch Executable (%1);;All Files (*.*)</source> <comment>%1 is an identifier for the Switch executable file extensions.</comment> <translation>Исполняемый файл Switch (%1);;Все файлы (*.*)</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="2131"/> + <location filename="../../src/yuzu/main.cpp" line="2124"/> <source>Load File</source> <translation>Загрузить файл</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="2143"/> + <location filename="../../src/yuzu/main.cpp" line="2136"/> <source>Open Extracted ROM Directory</source> <translation>Открыть папку извлечённого ROM'а</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="2154"/> + <location filename="../../src/yuzu/main.cpp" line="2147"/> <source>Invalid Directory Selected</source> <translation>Выбрана недопустимая папка</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="2155"/> + <location filename="../../src/yuzu/main.cpp" line="2148"/> <source>The directory you have selected does not contain a 'main' file.</source> <translation>Папка, которую вы выбрали, не содержит «основного» файла.</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="2165"/> + <location filename="../../src/yuzu/main.cpp" line="2158"/> <source>Installable Switch File (*.nca *.nsp *.xci);;Nintendo Content Archive (*.nca);;Nintendo Submission Package (*.nsp);;NX Cartridge Image (*.xci)</source> <translation>Устанавливаемый Файл Switch (*.nca, *.nsp, *.xci);;Архив Контента Nintendo (*.nca);;Пакет Подачи Nintendo (*.nsp);;Образ Картриджа NX (*.xci)</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="2170"/> + <location filename="../../src/yuzu/main.cpp" line="2163"/> <source>Install Files</source> <translation>Установить Файлы</translation> </message> <message numerus="yes"> - <location filename="../../src/yuzu/main.cpp" line="2214"/> + <location filename="../../src/yuzu/main.cpp" line="2207"/> <source>%n file(s) remaining</source> <translation><numerusform>Остался %n файл</numerusform><numerusform>Осталось %n файл(ов)</numerusform><numerusform>Осталось %n файл(ов)</numerusform><numerusform>Осталось %n файл(ов)</numerusform></translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="2216"/> + <location filename="../../src/yuzu/main.cpp" line="2209"/> <source>Installing file "%1"...</source> <translation>Установка файла "%1"...</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="2262"/> - <location filename="../../src/yuzu/main.cpp" line="2276"/> + <location filename="../../src/yuzu/main.cpp" line="2255"/> + <location filename="../../src/yuzu/main.cpp" line="2269"/> <source>Install Results</source> <translation>Установить Результаты</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="2263"/> + <location filename="../../src/yuzu/main.cpp" line="2256"/> <source>To avoid possible conflicts, we discourage users from installing base games to the NAND. Please, only use this feature to install updates and DLC.</source> <translation>Чтобы избежать возможных конфликтов, мы не рекомендуем пользователям устанавливать базовые игры на NAND. Пожалуйста, используйте эту функцию только для установки обновлений и DLC.</translation> </message> <message numerus="yes"> - <location filename="../../src/yuzu/main.cpp" line="2269"/> + <location filename="../../src/yuzu/main.cpp" line="2262"/> <source>%n file(s) were newly installed </source> <translation><numerusform>%n файл был недавно установлен @@ -4140,7 +4202,7 @@ Please, only use this feature to install updates and DLC.</source> </numerusform></translation> </message> <message numerus="yes"> - <location filename="../../src/yuzu/main.cpp" line="2272"/> + <location filename="../../src/yuzu/main.cpp" line="2265"/> <source>%n file(s) were overwritten </source> <translation><numerusform>%n файл был перезаписан @@ -4150,7 +4212,7 @@ Please, only use this feature to install updates and DLC.</source> </numerusform></translation> </message> <message numerus="yes"> - <location filename="../../src/yuzu/main.cpp" line="2274"/> + <location filename="../../src/yuzu/main.cpp" line="2267"/> <source>%n file(s) failed to install </source> <translation><numerusform>%n файл(ов) не удалось установить @@ -4160,295 +4222,367 @@ Please, only use this feature to install updates and DLC.</source> </numerusform></translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="2375"/> + <location filename="../../src/yuzu/main.cpp" line="2368"/> <source>System Application</source> <translation>Системное Приложение</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="2376"/> + <location filename="../../src/yuzu/main.cpp" line="2369"/> <source>System Archive</source> <translation>Системный Архив</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="2377"/> + <location filename="../../src/yuzu/main.cpp" line="2370"/> <source>System Application Update</source> <translation>Обновление Системного Приложения</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="2378"/> + <location filename="../../src/yuzu/main.cpp" line="2371"/> <source>Firmware Package (Type A)</source> <translation>Пакет Прошивки (Тип А)</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="2379"/> + <location filename="../../src/yuzu/main.cpp" line="2372"/> <source>Firmware Package (Type B)</source> <translation>Пакет Прошивки (Тип Б)</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="2380"/> + <location filename="../../src/yuzu/main.cpp" line="2373"/> <source>Game</source> <translation>Игра</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="2381"/> + <location filename="../../src/yuzu/main.cpp" line="2374"/> <source>Game Update</source> <translation>Обновление Игры</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="2382"/> + <location filename="../../src/yuzu/main.cpp" line="2375"/> <source>Game DLC</source> <translation>Загружаемый Контент Игры</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="2383"/> + <location filename="../../src/yuzu/main.cpp" line="2376"/> <source>Delta Title</source> <translation>Дельта-Титул</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="2386"/> + <location filename="../../src/yuzu/main.cpp" line="2379"/> <source>Select NCA Install Type...</source> <translation>Выберите Тип Установки NCA...</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="2387"/> + <location filename="../../src/yuzu/main.cpp" line="2380"/> <source>Please select the type of title you would like to install this NCA as: (In most instances, the default 'Game' is fine.)</source> <translation>Пожалуйста, выберите тип приложения, который вы хотите установить для этого NCA: (В большинстве случаев, подходит стандартный выбор «Игра».)</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="2393"/> + <location filename="../../src/yuzu/main.cpp" line="2386"/> <source>Failed to Install</source> <translation>Ошибка Установки</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="2394"/> + <location filename="../../src/yuzu/main.cpp" line="2387"/> <source>The title type you selected for the NCA is invalid.</source> <translation>Тип приложения, который вы выбрали для NCA, недействителен.</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="2429"/> + <location filename="../../src/yuzu/main.cpp" line="2422"/> <source>File not found</source> <translation>Файл не найден</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="2430"/> + <location filename="../../src/yuzu/main.cpp" line="2423"/> <source>File "%1" not found</source> <translation>Файл "%1" не найден</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="2445"/> - <location filename="../../src/yuzu/main.cpp" line="3448"/> - <source>&Continue</source> - <translation>&Продолжить</translation> - </message> - <message> - <location filename="../../src/yuzu/main.cpp" line="2494"/> + <location filename="../../src/yuzu/main.cpp" line="2492"/> <source>OK</source> <translation>ОК</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="2508"/> + <location filename="../../src/yuzu/main.cpp" line="2506"/> <source>Missing yuzu Account</source> <translation>Отсутствует Аккаунт yuzu</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="2509"/> + <location filename="../../src/yuzu/main.cpp" line="2507"/> <source>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.</source> <translation>Чтобы отправить отчет о совместимости игры, необходимо привязать свою учетную запись yuzu.<br><br/>Чтобы привязать свою учетную запись yuzu, перейдите в раздел Эмуляция &gt; Настройка &gt; Веб.</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="2519"/> + <location filename="../../src/yuzu/main.cpp" line="2517"/> <source>Error opening URL</source> <translation>Ошибка при открытии URL</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="2520"/> + <location filename="../../src/yuzu/main.cpp" line="2518"/> <source>Unable to open the URL "%1".</source> <translation>Не удалось открыть URL: "%1".</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="2802"/> + <location filename="../../src/yuzu/main.cpp" line="2777"/> + <source>TAS Recording</source> + <translation>Запись TAS</translation> + </message> + <message> + <location filename="../../src/yuzu/main.cpp" line="2777"/> + <source>Overwrite file of player 1?</source> + <translation>Перезаписать файл игрока 1?</translation> + </message> + <message> + <location filename="../../src/yuzu/main.cpp" line="2830"/> <source>Amiibo File (%1);; All Files (*.*)</source> <translation>Файл Amiibo (%1);; Все Файлы (*.*)</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="2803"/> + <location filename="../../src/yuzu/main.cpp" line="2831"/> <source>Load Amiibo</source> <translation>Загрузить Amiibo</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="2821"/> + <location filename="../../src/yuzu/main.cpp" line="2849"/> <source>Error opening Amiibo data file</source> <translation>Ошибка открытия файла данных Amiibo</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="2822"/> + <location filename="../../src/yuzu/main.cpp" line="2850"/> <source>Unable to open Amiibo file "%1" for reading.</source> <translation>Невозможно открыть файл Amiibo "%1" для чтения.</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="2830"/> + <location filename="../../src/yuzu/main.cpp" line="2858"/> <source>Error reading Amiibo data file</source> <translation>Ошибка чтения файла данных Amiibo</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="2831"/> + <location filename="../../src/yuzu/main.cpp" line="2859"/> <source>Unable to fully read Amiibo data. Expected to read %1 bytes, but was only able to read %2 bytes.</source> <translation>Невозможно полностью прочитать данные Amiibo. Ожидалось прочитать %1 байт, но удалось прочитать только %2 байт.</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="2839"/> + <location filename="../../src/yuzu/main.cpp" line="2867"/> <source>Error loading Amiibo data</source> <translation>Ошибка загрузки данных Amiibo</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="2840"/> + <location filename="../../src/yuzu/main.cpp" line="2868"/> <source>Unable to load Amiibo data.</source> <translation>Невозможно загрузить данные Amiibo.</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="2881"/> + <location filename="../../src/yuzu/main.cpp" line="2913"/> <source>Capture Screenshot</source> <translation>Сделать Скриншот</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="2882"/> + <location filename="../../src/yuzu/main.cpp" line="2914"/> <source>PNG Image (*.png)</source> <translation>Изображение PNG (*.png)</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="2948"/> + <location filename="../../src/yuzu/main.cpp" line="2979"/> <source>TAS state: Running %1/%2</source> <translation>Состояние TAS: Выполняется %1/%2</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="2950"/> + <location filename="../../src/yuzu/main.cpp" line="2981"/> <source>TAS state: Recording %1</source> <translation>Состояние TAS: Записывается %1</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="2952"/> + <location filename="../../src/yuzu/main.cpp" line="2983"/> <source>TAS state: Idle %1/%2</source> <translation>Состояние TAS: Простой %1/%2</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="2954"/> + <location filename="../../src/yuzu/main.cpp" line="2985"/> <source>TAS State: Invalid</source> <translation>Состояние TAS: Неверный</translation> </message> + <message> + <location filename="../../src/yuzu/main.cpp" line="2999"/> + <source>&Stop Running</source> + <translation>&Остановка</translation> + </message> + <message> + <location filename="../../src/yuzu/main.cpp" line="2999"/> + <source>&Start</source> + <translation>&Начать</translation> + </message> + <message> + <location filename="../../src/yuzu/main.cpp" line="3000"/> + <source>Stop R&ecording</source> + <translation>Закончить з&апись</translation> + </message> + <message> + <location filename="../../src/yuzu/main.cpp" line="3000"/> + <source>R&ecord</source> + <translation>З&апись</translation> + </message> <message numerus="yes"> - <location filename="../../src/yuzu/main.cpp" line="2975"/> + <location filename="../../src/yuzu/main.cpp" line="3024"/> <source>Building: %n shader(s)</source> <translation><numerusform>Постройка: %n шейдер(ов)</numerusform><numerusform>Постройка: %n шейдер(ов)</numerusform><numerusform>Постройка: %n шейдер(ов)</numerusform><numerusform>Постройка: %n шейдер(ов)</numerusform></translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="2982"/> + <location filename="../../src/yuzu/main.cpp" line="3033"/> + <source>Scale: %1x</source> + <comment>%1 is the resolution scaling factor</comment> + <translation>Масштаб: %1x</translation> + </message> + <message> + <location filename="../../src/yuzu/main.cpp" line="3036"/> <source>Speed: %1% / %2%</source> <translation>Скорость: %1% / %2%</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="2986"/> + <location filename="../../src/yuzu/main.cpp" line="3040"/> <source>Speed: %1%</source> <translation>Скорость: %1%</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="2990"/> + <location filename="../../src/yuzu/main.cpp" line="3044"/> <source>Game: %1 FPS (Unlocked)</source> <translation>Игра: %1 FPS (Неограниченно)</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="2992"/> + <location filename="../../src/yuzu/main.cpp" line="3046"/> <source>Game: %1 FPS</source> <translation>Игра: %1 FPS</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="2994"/> + <location filename="../../src/yuzu/main.cpp" line="3048"/> <source>Frame: %1 ms</source> <translation>Кадр: %1 мс</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="3004"/> + <location filename="../../src/yuzu/main.cpp" line="3059"/> <source>GPU NORMAL</source> <translation>ГП НОРМАЛЬНО</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="3009"/> + <location filename="../../src/yuzu/main.cpp" line="3064"/> <source>GPU HIGH</source> <translation>ГП ВЫСОКО</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="3014"/> + <location filename="../../src/yuzu/main.cpp" line="3069"/> <source>GPU EXTREME</source> <translation>ГП ЭКСТРИМ</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="3019"/> + <location filename="../../src/yuzu/main.cpp" line="3074"/> <source>GPU ERROR</source> <translation>ГП ОШИБКА</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="3076"/> + <location filename="../../src/yuzu/main.cpp" line="3084"/> + <source>NEAREST</source> + <translation>БЛИЖАЙШИЙ</translation> + </message> + <message> + <location filename="../../src/yuzu/main.cpp" line="3087"/> + <location filename="../../src/yuzu/main.cpp" line="3102"/> + <source>BILINEAR</source> + <translation>БИЛИНЕЙНЫЙ</translation> + </message> + <message> + <location filename="../../src/yuzu/main.cpp" line="3090"/> + <source>BICUBIC</source> + <translation>БИКУБИЧЕСКИЙ</translation> + </message> + <message> + <location filename="../../src/yuzu/main.cpp" line="3093"/> + <source>GAUSSIAN</source> + <translation>ГАУСС</translation> + </message> + <message> + <location filename="../../src/yuzu/main.cpp" line="3096"/> + <source>SCALEFORCE</source> + <translation>SCALEFORCE</translation> + </message> + <message> + <location filename="../../src/yuzu/main.cpp" line="3099"/> + <source>FSR</source> + <translation>FSR</translation> + </message> + <message> + <location filename="../../src/yuzu/main.cpp" line="3111"/> + <location filename="../../src/yuzu/main.cpp" line="3117"/> + <source>NO AA</source> + <translation>БЕЗ СГЛАЖИВАНИЯ</translation> + </message> + <message> + <location filename="../../src/yuzu/main.cpp" line="3114"/> + <source>FXAA</source> + <translation>FXAA</translation> + </message> + <message> + <location filename="../../src/yuzu/main.cpp" line="3175"/> <source>The game you are trying to load requires additional files from your Switch to be dumped before playing.<br/><br/>For more information on dumping these files, please see the following wiki page: <a href='https://yuzu-emu.org/wiki/dumping-system-archives-and-the-shared-fonts-from-a-switch-console/'>Dumping System Archives and the Shared Fonts from a Switch Console</a>.<br/><br/>Would you like to quit back to the game list? Continuing emulation may result in crashes, corrupted save data, or other bugs.</source> <translation>Игра, которую вы пытаетесь загрузить, требует, чтобы дополнительные файлы были сдамплены с вашего Switch перед началом игры. <br/><br/>Для получения дополнительной информации о дампе этих файлов см. следующую вики: <a href='https://yuzu-emu.org/wiki/dumping-system-archives-and-the-shared-fonts-from-a-switch-console/'>Дамп Системных Архивов и Общих Шрифтов с консоли</a>. <br/><br/>Хотите вернуться к списку игр? Продолжение эмуляции может привести к сбоям, повреждению сохраненных данных или другим ошибкам.</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="3091"/> + <location filename="../../src/yuzu/main.cpp" line="3190"/> <source>yuzu was unable to locate a Switch system archive. %1</source> <translation>yuzu не удалось найти системный архив Switch. %1</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="3093"/> + <location filename="../../src/yuzu/main.cpp" line="3192"/> <source>yuzu was unable to locate a Switch system archive: %1. %2</source> <translation>yuzu не удалось найти системный архив Switch: %1. %2</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="3097"/> + <location filename="../../src/yuzu/main.cpp" line="3196"/> <source>System Archive Not Found</source> <translation>Системный Архив Не Найден</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="3099"/> + <location filename="../../src/yuzu/main.cpp" line="3198"/> <source>System Archive Missing</source> <translation>Отсутствует Системный Архив</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="3105"/> + <location filename="../../src/yuzu/main.cpp" line="3204"/> <source>yuzu was unable to locate the Switch shared fonts. %1</source> <translation>yuzu не удалось найти общие шрифты Switch. %1</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="3106"/> + <location filename="../../src/yuzu/main.cpp" line="3205"/> <source>Shared Fonts Not Found</source> <translation>Общие Шрифты Не Найдены</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="3108"/> + <location filename="../../src/yuzu/main.cpp" line="3207"/> <source>Shared Font Missing</source> <translation>Общие Шрифты Отсутствуют</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="3114"/> + <location filename="../../src/yuzu/main.cpp" line="3213"/> <source>Fatal Error</source> <translation>Фатальная Ошибка</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="3115"/> + <location filename="../../src/yuzu/main.cpp" line="3214"/> <source>yuzu has encountered a fatal error, please see the log for more details. For more information on accessing the log, please see the following page: <a href='https://community.citra-emu.org/t/how-to-upload-the-log-file/296'>How to Upload the Log File</a>.<br/><br/>Would you like to quit back to the game list? Continuing emulation may result in crashes, corrupted save data, or other bugs.</source> <translation>yuzu столкнулся с фатальной ошибкой, смотрите подробности в журнале. Информацию о доступе к журналу можно найти на этой странице: <a href='https://community.citra-emu.org/t/how-to-upload-the-log-file/296'>Как Отправить Файл Журнала</a>.<br/><br/>Желаете вернуться к списку игр? Продолжение эмуляции может привести к сбоям, повреждению сохраненных данных или другим ошибкам.</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="3124"/> + <location filename="../../src/yuzu/main.cpp" line="3223"/> <source>Fatal Error encountered</source> <translation>Произошла Фатальная Ошибка</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="3147"/> + <location filename="../../src/yuzu/main.cpp" line="3246"/> <source>Confirm Key Rederivation</source> <translation>Подтвердите Перерасчет Ключа</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="3148"/> + <location filename="../../src/yuzu/main.cpp" line="3247"/> <source>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. @@ -4465,37 +4599,37 @@ This will delete your autogenerated key files and re-run the key derivation modu Это удалит ваши автоматически сгенерированные файлы ключей и повторно запустит модуль расчета ключей.</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="3180"/> + <location filename="../../src/yuzu/main.cpp" line="3279"/> <source>Missing fuses</source> <translation>Отсутствуют предохранители</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="3183"/> + <location filename="../../src/yuzu/main.cpp" line="3282"/> <source> - Missing BOOT0</source> <translation>- Отсутствует BOOT0</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="3186"/> + <location filename="../../src/yuzu/main.cpp" line="3285"/> <source> - Missing BCPKG2-1-Normal-Main</source> <translation>- Отсутствует BCPKG2-1-Normal-Main</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="3189"/> + <location filename="../../src/yuzu/main.cpp" line="3288"/> <source> - Missing PRODINFO</source> <translation>- Отсутствует PRODINFO</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="3193"/> + <location filename="../../src/yuzu/main.cpp" line="3292"/> <source>Derivation Components Missing</source> <translation>Компоненты Расчета Отсутствуют</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="3194"/> - <source>Components are missing that may hinder key derivation from completing. <br>Please follow <a href='https://yuzu-emu.org/help/quickstart/'>the yuzu quickstart guide</a> to get all your keys and games.<br><br><small>(%1)</small></source> - <translation>Отсутствуют компоненты, что может помешать завершению процесса получения ключей. <br>Пожалуйста, следуйте <a href='https://yuzu-emu.org/help/quickstart/'>краткому руководство пользователя yuzu</a>, чтобы получить все ваши ключи и игры.<br><br><small>(%1)</small></translation> + <location filename="../../src/yuzu/main.cpp" line="3293"/> + <source>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></source> + <translation>Ключи шифрования отсутствуют. <br>Пожалуйста, следуйте <a href='https://yuzu-emu.org/help/quickstart/'>краткому руководству пользователя yuzu</a>, чтобы получить ключи, прошивку и игры.<br><br><small>(%1)</small></translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="3203"/> + <location filename="../../src/yuzu/main.cpp" line="3302"/> <source>Deriving keys... This may take up to a minute depending on your system's performance.</source> @@ -4504,39 +4638,39 @@ on your system's performance.</source> от производительности вашей системы.</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="3205"/> + <location filename="../../src/yuzu/main.cpp" line="3304"/> <source>Deriving Keys</source> <translation>Получение Ключей</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="3250"/> + <location filename="../../src/yuzu/main.cpp" line="3349"/> <source>Select RomFS Dump Target</source> <translation>Выберите Цель для Дампа RomFS</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="3251"/> + <location filename="../../src/yuzu/main.cpp" line="3350"/> <source>Please select which RomFS you would like to dump.</source> <translation>Пожалуйста, выберите, какой RomFS вы хотите сдампить.</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="3266"/> + <location filename="../../src/yuzu/main.cpp" line="3365"/> <source>Are you sure you want to close yuzu?</source> <translation>Вы уверены, что хотите закрыть yuzu?</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="3267"/> - <location filename="../../src/yuzu/main.cpp" line="3342"/> - <location filename="../../src/yuzu/main.cpp" line="3355"/> + <location filename="../../src/yuzu/main.cpp" line="3366"/> + <location filename="../../src/yuzu/main.cpp" line="3443"/> + <location filename="../../src/yuzu/main.cpp" line="3456"/> <source>yuzu</source> <translation>yuzu</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="3343"/> + <location filename="../../src/yuzu/main.cpp" line="3444"/> <source>Are you sure you want to stop the emulation? Any unsaved progress will be lost.</source> <translation>Вы уверены, что хотите остановить эмуляцию? Любой несохраненный прогресс будет потерян.</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="3352"/> + <location filename="../../src/yuzu/main.cpp" line="3453"/> <source>The currently running application has requested yuzu to not exit. Would you like to bypass this and exit anyway?</source> @@ -4548,38 +4682,38 @@ Would you like to bypass this and exit anyway?</source> <context> <name>GRenderWindow</name> <message> - <location filename="../../src/yuzu/bootmanager.cpp" line="675"/> + <location filename="../../src/yuzu/bootmanager.cpp" line="976"/> <source>OpenGL not available!</source> <translation>OpenGL не доступен!</translation> </message> <message> - <location filename="../../src/yuzu/bootmanager.cpp" line="676"/> + <location filename="../../src/yuzu/bootmanager.cpp" line="977"/> <source>yuzu has not been compiled with OpenGL support.</source> <translation>yuzu не был скомпилирован с поддержкой OpenGL.</translation> </message> <message> - <location filename="../../src/yuzu/bootmanager.cpp" line="695"/> - <location filename="../../src/yuzu/bootmanager.cpp" line="715"/> + <location filename="../../src/yuzu/bootmanager.cpp" line="996"/> + <location filename="../../src/yuzu/bootmanager.cpp" line="1016"/> <source>Error while initializing OpenGL!</source> <translation>Ошибка при инициализации OpenGL!</translation> </message> <message> - <location filename="../../src/yuzu/bootmanager.cpp" line="696"/> + <location filename="../../src/yuzu/bootmanager.cpp" line="997"/> <source>Your GPU may not support OpenGL, or you do not have the latest graphics driver.</source> <translation>Ваш ГП может не поддерживать OpenGL, или у вас установлен устаревший графический драйвер.</translation> </message> <message> - <location filename="../../src/yuzu/bootmanager.cpp" line="705"/> + <location filename="../../src/yuzu/bootmanager.cpp" line="1006"/> <source>Error while initializing OpenGL 4.6!</source> <translation>Ошибка при инициализации OpenGL 4.6!</translation> </message> <message> - <location filename="../../src/yuzu/bootmanager.cpp" line="706"/> + <location filename="../../src/yuzu/bootmanager.cpp" line="1007"/> <source>Your GPU may not support OpenGL 4.6, or you do not have the latest graphics driver.<br><br>GL Renderer:<br>%1</source> <translation>Ваш ГП может не поддерживать OpenGL 4.6, или у вас установлен устаревший графический драйвер.<br><br>Рендерер GL:<br>%1</translation> </message> <message> - <location filename="../../src/yuzu/bootmanager.cpp" line="716"/> + <location filename="../../src/yuzu/bootmanager.cpp" line="1017"/> <source>Your GPU may not support one or more required OpenGL extensions. Please ensure you have the latest graphics driver.<br><br>GL Renderer:<br>%1<br><br>Unsupported extensions:<br>%2</source> <translation>Ваш ГП может не поддерживать одно или несколько требуемых расширений OpenGL. Пожалуйста, убедитесь в том, что у вас установлен последний графический драйвер.<br><br>Рендерер GL:<br>%1<br><br>Неподдерживаемые расширения:<br>%2</translation> </message> @@ -4629,12 +4763,12 @@ Would you like to bypass this and exit anyway?</source> <message> <location filename="../../src/yuzu/game_list.cpp" line="514"/> <source>Open Save Data Location</source> - <translation>Открыть Папку для Сохранений</translation> + <translation>Открыть папку для сохранений</translation> </message> <message> <location filename="../../src/yuzu/game_list.cpp" line="515"/> <source>Open Mod Data Location</source> - <translation>Открыть Папку с Модами</translation> + <translation>Открыть папку для модов</translation> </message> <message> <location filename="../../src/yuzu/game_list.cpp" line="517"/> @@ -4941,190 +5075,205 @@ Screen.</source> <translation>&Эмуляция</translation> </message> <message> - <location filename="../../src/yuzu/main.ui" line="79"/> + <location filename="../../src/yuzu/main.ui" line="78"/> <source>&View</source> <translation>&Вид</translation> </message> <message> - <location filename="../../src/yuzu/main.ui" line="83"/> + <location filename="../../src/yuzu/main.ui" line="82"/> <source>&Reset Window Size</source> <translation>&Сбросить Размер Окна</translation> </message> <message> - <location filename="../../src/yuzu/main.ui" line="88"/> + <location filename="../../src/yuzu/main.ui" line="87"/> + <source>&Debugging</source> + <translation>&Отладка</translation> + </message> + <message> + <location filename="../../src/yuzu/main.ui" line="92"/> <source>Reset Window Size to &720p</source> <translation>Сбросить Размер Окна до &720p</translation> </message> <message> - <location filename="../../src/yuzu/main.ui" line="91"/> + <location filename="../../src/yuzu/main.ui" line="95"/> <source>Reset Window Size to 720p</source> <translation>Сбросить Размер Окна до 720p</translation> </message> <message> - <location filename="../../src/yuzu/main.ui" line="96"/> + <location filename="../../src/yuzu/main.ui" line="100"/> <source>Reset Window Size to &900p</source> <translation>Сбросить Размер Окна до &900p</translation> </message> <message> - <location filename="../../src/yuzu/main.ui" line="99"/> + <location filename="../../src/yuzu/main.ui" line="103"/> <source>Reset Window Size to 900p</source> <translation>Сбросить Размер Окна до 900p</translation> </message> <message> - <location filename="../../src/yuzu/main.ui" line="104"/> + <location filename="../../src/yuzu/main.ui" line="108"/> <source>Reset Window Size to &1080p</source> <translation>Сбросить Размер Окна до &1080p</translation> </message> <message> - <location filename="../../src/yuzu/main.ui" line="107"/> + <location filename="../../src/yuzu/main.ui" line="111"/> <source>Reset Window Size to 1080p</source> <translation>Сбросить Размер Окна до 1080p</translation> </message> <message> - <location filename="../../src/yuzu/main.ui" line="112"/> - <source>&Debugging</source> - <translation>&Отладка</translation> - </message> - <message> - <location filename="../../src/yuzu/main.ui" line="126"/> + <location filename="../../src/yuzu/main.ui" line="125"/> <source>&Tools</source> <translation>&Инструменты</translation> </message> <message> - <location filename="../../src/yuzu/main.ui" line="135"/> + <location filename="../../src/yuzu/main.ui" line="129"/> + <source>&TAS</source> + <translation>&TAS</translation> + </message> + <message> + <location filename="../../src/yuzu/main.ui" line="144"/> <source>&Help</source> <translation>&Помощь</translation> </message> <message> - <location filename="../../src/yuzu/main.ui" line="155"/> + <location filename="../../src/yuzu/main.ui" line="164"/> <source>&Install Files to NAND...</source> <translation>&Установить Файлы в NAND...</translation> </message> <message> - <location filename="../../src/yuzu/main.ui" line="160"/> + <location filename="../../src/yuzu/main.ui" line="169"/> <source>L&oad File...</source> <translation>З&агрузить Файл...</translation> </message> <message> - <location filename="../../src/yuzu/main.ui" line="165"/> + <location filename="../../src/yuzu/main.ui" line="174"/> <source>Load &Folder...</source> <translation>Загрузить &Папку...</translation> </message> <message> - <location filename="../../src/yuzu/main.ui" line="170"/> + <location filename="../../src/yuzu/main.ui" line="179"/> <source>E&xit</source> <translation>В&ыход</translation> </message> <message> - <location filename="../../src/yuzu/main.ui" line="178"/> - <source>&Start</source> - <translation>&Начать</translation> - </message> - <message> - <location filename="../../src/yuzu/main.ui" line="186"/> + <location filename="../../src/yuzu/main.ui" line="187"/> <source>&Pause</source> <translation>&Пауза</translation> </message> <message> - <location filename="../../src/yuzu/main.ui" line="194"/> + <location filename="../../src/yuzu/main.ui" line="195"/> <source>&Stop</source> <translation>&Стоп</translation> </message> <message> - <location filename="../../src/yuzu/main.ui" line="199"/> + <location filename="../../src/yuzu/main.ui" line="200"/> <source>&Reinitialize keys...</source> <translation>&Переинициализировать ключи...</translation> </message> <message> - <location filename="../../src/yuzu/main.ui" line="204"/> + <location filename="../../src/yuzu/main.ui" line="205"/> <source>&About yuzu</source> <translation>&О yuzu</translation> </message> <message> - <location filename="../../src/yuzu/main.ui" line="212"/> + <location filename="../../src/yuzu/main.ui" line="213"/> <source>Single &Window Mode</source> <translation>Режим &Одного Окна</translation> </message> <message> - <location filename="../../src/yuzu/main.ui" line="217"/> + <location filename="../../src/yuzu/main.ui" line="218"/> <source>Con&figure...</source> <translation>Нас&троить...</translation> </message> <message> - <location filename="../../src/yuzu/main.ui" line="225"/> + <location filename="../../src/yuzu/main.ui" line="226"/> <source>Display D&ock Widget Headers</source> <translation>Отображать З&аголовки Виджетов Дока</translation> </message> <message> - <location filename="../../src/yuzu/main.ui" line="233"/> + <location filename="../../src/yuzu/main.ui" line="234"/> <source>Show &Filter Bar</source> <translation>Показать &Панель Поиска</translation> </message> <message> - <location filename="../../src/yuzu/main.ui" line="241"/> + <location filename="../../src/yuzu/main.ui" line="242"/> <source>Show &Status Bar</source> <translation>Показать &Панель Статуса</translation> </message> <message> - <location filename="../../src/yuzu/main.ui" line="244"/> + <location filename="../../src/yuzu/main.ui" line="245"/> <source>Show Status Bar</source> <translation>Показать Панель Статуса</translation> </message> <message> - <location filename="../../src/yuzu/main.ui" line="252"/> + <location filename="../../src/yuzu/main.ui" line="253"/> <source>F&ullscreen</source> <translation>П&олнокэранный</translation> </message> <message> - <location filename="../../src/yuzu/main.ui" line="260"/> + <location filename="../../src/yuzu/main.ui" line="261"/> <source>&Restart</source> <translation>&Перезапустить</translation> </message> <message> - <location filename="../../src/yuzu/main.ui" line="268"/> + <location filename="../../src/yuzu/main.ui" line="269"/> <source>Load &Amiibo...</source> <translation>Загрузить &Amiibo...</translation> </message> <message> - <location filename="../../src/yuzu/main.ui" line="276"/> + <location filename="../../src/yuzu/main.ui" line="277"/> <source>&Report Compatibility</source> <translation>&Сообщить о Совместимости</translation> </message> <message> - <location filename="../../src/yuzu/main.ui" line="284"/> + <location filename="../../src/yuzu/main.ui" line="285"/> <source>Open &Mods Page</source> <translation>Открыть &Страницу Модов</translation> </message> <message> - <location filename="../../src/yuzu/main.ui" line="289"/> + <location filename="../../src/yuzu/main.ui" line="290"/> <source>Open &Quickstart Guide</source> <translation>Открыть &Краткое Руководство Пользователя</translation> </message> <message> - <location filename="../../src/yuzu/main.ui" line="294"/> + <location filename="../../src/yuzu/main.ui" line="295"/> <source>&FAQ</source> <translation>&ЧАВО</translation> </message> <message> - <location filename="../../src/yuzu/main.ui" line="299"/> + <location filename="../../src/yuzu/main.ui" line="300"/> <source>Open &yuzu Folder</source> <translation>Открыть &Папку yuzu</translation> </message> <message> - <location filename="../../src/yuzu/main.ui" line="307"/> + <location filename="../../src/yuzu/main.ui" line="308"/> <source>&Capture Screenshot</source> <translation>&Сделать Скриншот</translation> </message> <message> - <location filename="../../src/yuzu/main.ui" line="312"/> - <source>Configure &TAS...</source> - <translation>Настройка &TAS...</translation> + <location filename="../../src/yuzu/main.ui" line="313"/> + <source>&Configure TAS...</source> + <translation>&Настройка TAS...</translation> </message> <message> - <location filename="../../src/yuzu/main.ui" line="320"/> + <location filename="../../src/yuzu/main.ui" line="321"/> <source>Configure C&urrent Game...</source> <translation>Настроить Т&екущую Игру...</translation> </message> + <message> + <location filename="../../src/yuzu/main.ui" line="329"/> + <source>&Start</source> + <translation>&Начать</translation> + </message> + <message> + <location filename="../../src/yuzu/main.ui" line="337"/> + <source>&Reset</source> + <translation>&Сброс</translation> + </message> + <message> + <location filename="../../src/yuzu/main.ui" line="345"/> + <source>R&ecord</source> + <translation>З&апись</translation> + </message> </context> <context> <name>MicroProfileDialog</name> @@ -5170,10 +5319,15 @@ p, li { white-space: pre-wrap; } <context> <name>PlayerControlPreview</name> <message> - <location filename="../../src/yuzu/configuration/configure_input_player_widget.cpp" line="1566"/> + <location filename="../../src/yuzu/configuration/configure_input_player_widget.cpp" line="1572"/> <source>START/PAUSE</source> <translation>СТАРТ/ПАУЗА</translation> </message> + <message> + <location filename="../../src/yuzu/configuration/configure_input_player_widget.cpp" line="2685"/> + <source>Charging</source> + <translation>Зарядка</translation> + </message> </context> <context> <name>QObject</name> @@ -5204,142 +5358,222 @@ p, li { white-space: pre-wrap; } </message> <message> <location filename="../../src/yuzu/configuration/configure_touch_from_button.cpp" line="23"/> - <location filename="../../src/yuzu/configuration/configure_mouse_advanced.cpp" line="32"/> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="72"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="43"/> <source>Shift</source> <translation>Shift</translation> </message> <message> <location filename="../../src/yuzu/configuration/configure_touch_from_button.cpp" line="25"/> - <location filename="../../src/yuzu/configuration/configure_mouse_advanced.cpp" line="34"/> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="74"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="45"/> <source>Ctrl</source> <translation>Ctrl</translation> </message> <message> <location filename="../../src/yuzu/configuration/configure_touch_from_button.cpp" line="27"/> - <location filename="../../src/yuzu/configuration/configure_mouse_advanced.cpp" line="36"/> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="76"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="47"/> <source>Alt</source> <translation>Alt</translation> </message> <message> <location filename="../../src/yuzu/configuration/configure_touch_from_button.cpp" line="37"/> - <location filename="../../src/yuzu/configuration/configure_mouse_advanced.cpp" line="46"/> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="103"/> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="190"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="130"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="196"/> <source>[not set]</source> <translation>[не задано]</translation> </message> <message> <location filename="../../src/yuzu/configuration/configure_touch_from_button.cpp" line="49"/> - <location filename="../../src/yuzu/configuration/configure_mouse_advanced.cpp" line="58"/> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="152"/> <source>Hat %1 %2</source> <translation>Крестовина %1 %2</translation> </message> <message> <location filename="../../src/yuzu/configuration/configure_touch_from_button.cpp" line="56"/> - <location filename="../../src/yuzu/configuration/configure_mouse_advanced.cpp" line="65"/> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="159"/> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="210"/> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="214"/> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="218"/> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="222"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="219"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="223"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="227"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="231"/> <source>Axis %1%2</source> <translation>Ось %1%2</translation> </message> <message> <location filename="../../src/yuzu/configuration/configure_touch_from_button.cpp" line="62"/> - <location filename="../../src/yuzu/configuration/configure_mouse_advanced.cpp" line="71"/> <source>Button %1</source> <translation>Кнопка %1</translation> </message> <message> <location filename="../../src/yuzu/configuration/configure_touch_from_button.cpp" line="68"/> - <location filename="../../src/yuzu/configuration/configure_mouse_advanced.cpp" line="76"/> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="185"/> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="227"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="190"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="204"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="234"/> <source>[unknown]</source> <translation>[неизвестно]</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_mouse_advanced.cpp" line="22"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="58"/> + <source>Left</source> + <translation>Влево</translation> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="60"/> + <source>Right</source> + <translation>Вправо</translation> + </message> + <message> <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="62"/> - <source>Click 0</source> - <translation>Клик 0</translation> + <source>Down</source> + <translation>Вниз</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_mouse_advanced.cpp" line="24"/> <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="64"/> - <source>Click 1</source> - <translation>Клик 1</translation> + <source>Up</source> + <translation>Вверх</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_mouse_advanced.cpp" line="26"/> <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="66"/> - <source>Click 2</source> - <translation>Клик 2</translation> + <source>Z</source> + <translation>Z</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_mouse_advanced.cpp" line="28"/> <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="68"/> - <source>Click 3</source> - <translation>Клик 3</translation> + <source>R</source> + <translation>R</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_mouse_advanced.cpp" line="30"/> <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="70"/> - <source>Click 4</source> - <translation>Клик 4</translation> + <source>L</source> + <translation>L</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="109"/> - <source>%1%2</source> - <translation>%1%2</translation> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="72"/> + <source>A</source> + <translation>A</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="117"/> - <source>GC Axis %1%2</source> - <translation>Ось GC %1%2</translation> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="74"/> + <source>B</source> + <translation>B</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="121"/> - <source>GC Button %1</source> - <translation>Кнопка GC %1</translation> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="76"/> + <source>X</source> + <translation>X</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="130"/> - <source>TAS Axis %1</source> - <translation>Ось TAS %1</translation> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="78"/> + <source>Y</source> + <translation>Y</translation> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="80"/> + <source>Start</source> + <translation>Start</translation> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="82"/> + <source>L1</source> + <translation>L1</translation> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="84"/> + <source>L2</source> + <translation>L2</translation> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="86"/> + <source>L3</source> + <translation>L3</translation> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="88"/> + <source>R1</source> + <translation>R1</translation> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="90"/> + <source>R2</source> + <translation>R2</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="134"/> - <source>TAS Btn %1</source> - <translation>TAS Кнопка %1</translation> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="92"/> + <source>R3</source> + <translation>R3</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="142"/> - <source>Motion %1</source> - <translation>Движение %1</translation> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="94"/> + <source>Circle</source> + <translation>Круг</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="166"/> - <source>%1Button %2</source> - <translation>%1Кнопка %2</translation> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="96"/> + <source>Cross</source> + <translation>Крестик</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="170"/> - <source>SDL Motion</source> - <translation>Движение SDL</translation> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="98"/> + <source>Square</source> + <translation>Квадрат</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="180"/> - <source>%1Click %2</source> - <translation>%1Клик %2</translation> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="100"/> + <source>Triangle</source> + <translation>Треугольник</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="205"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="102"/> + <source>Share</source> + <translation>Share</translation> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="104"/> + <source>Options</source> + <translation>Options</translation> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="106"/> + <source>[undefined]</source> + <translation>[не определено]</translation> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="140"/> + <source>%1%2</source> + <translation>%1%2</translation> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="144"/> + <source>[invalid]</source> + <translation>[недопустимо]</translation> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="154"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="178"/> + <source>%1%2Hat %3</source> + <translation>%1%2Шляпа %3</translation> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="158"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="181"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="184"/> + <source>%1%2Axis %3</source> + <translation>%1%2Ось %3</translation> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="164"/> + <source>%1%2Axis %3,%4,%5</source> + <translation>%1%2Ось %3,%4,%5</translation> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="168"/> + <source>%1%2Motion %3</source> + <translation>%1%2Движение %3</translation> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="172"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="187"/> + <source>%1%2Button %3</source> + <translation>%1%2Кнопка %3</translation> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="214"/> <source>[unused]</source> <translation>[не используется]</translation> </message> @@ -5380,7 +5614,7 @@ p, li { white-space: pre-wrap; } <location filename="../../src/yuzu/applets/qt_controller.ui" line="1656"/> <location filename="../../src/yuzu/applets/qt_controller.ui" line="1857"/> <location filename="../../src/yuzu/applets/qt_controller.ui" line="2054"/> - <location filename="../../src/yuzu/applets/qt_controller.cpp" line="419"/> + <location filename="../../src/yuzu/applets/qt_controller.cpp" line="411"/> <source>Pro Controller</source> <translation>Контроллер Pro</translation> </message> @@ -5393,7 +5627,7 @@ p, li { white-space: pre-wrap; } <location filename="../../src/yuzu/applets/qt_controller.ui" line="1661"/> <location filename="../../src/yuzu/applets/qt_controller.ui" line="1862"/> <location filename="../../src/yuzu/applets/qt_controller.ui" line="2059"/> - <location filename="../../src/yuzu/applets/qt_controller.cpp" line="423"/> + <location filename="../../src/yuzu/applets/qt_controller.cpp" line="415"/> <source>Dual Joycons</source> <translation>Двойные Joycon'ы</translation> </message> @@ -5406,7 +5640,7 @@ p, li { white-space: pre-wrap; } <location filename="../../src/yuzu/applets/qt_controller.ui" line="1666"/> <location filename="../../src/yuzu/applets/qt_controller.ui" line="1867"/> <location filename="../../src/yuzu/applets/qt_controller.ui" line="2064"/> - <location filename="../../src/yuzu/applets/qt_controller.cpp" line="427"/> + <location filename="../../src/yuzu/applets/qt_controller.cpp" line="419"/> <source>Left Joycon</source> <translation>Левый Joycon</translation> </message> @@ -5419,7 +5653,7 @@ p, li { white-space: pre-wrap; } <location filename="../../src/yuzu/applets/qt_controller.ui" line="1671"/> <location filename="../../src/yuzu/applets/qt_controller.ui" line="1872"/> <location filename="../../src/yuzu/applets/qt_controller.ui" line="2069"/> - <location filename="../../src/yuzu/applets/qt_controller.cpp" line="431"/> + <location filename="../../src/yuzu/applets/qt_controller.cpp" line="423"/> <source>Right Joycon</source> <translation>Правый Joycon</translation> </message> @@ -5447,7 +5681,7 @@ p, li { white-space: pre-wrap; } </message> <message> <location filename="../../src/yuzu/applets/qt_controller.ui" line="932"/> - <location filename="../../src/yuzu/applets/qt_controller.cpp" line="436"/> + <location filename="../../src/yuzu/applets/qt_controller.cpp" line="428"/> <source>Handheld</source> <translation>Портативный</translation> </message> @@ -5568,7 +5802,7 @@ p, li { white-space: pre-wrap; } <translation>8</translation> </message> <message> - <location filename="../../src/yuzu/applets/qt_controller.cpp" line="441"/> + <location filename="../../src/yuzu/applets/qt_controller.cpp" line="433"/> <source>GameCube Controller</source> <translation>Контроллер GameCube</translation> </message> @@ -5662,13 +5896,13 @@ p, li { white-space: pre-wrap; } <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></translation> </message> <message> - <location filename="../../src/yuzu/applets/qt_software_keyboard.cpp" line="396"/> - <location filename="../../src/yuzu/applets/qt_software_keyboard.cpp" line="406"/> + <location filename="../../src/yuzu/applets/qt_software_keyboard.cpp" line="399"/> + <location filename="../../src/yuzu/applets/qt_software_keyboard.cpp" line="409"/> <source>OK</source> <translation>ОК</translation> </message> <message> - <location filename="../../src/yuzu/applets/qt_software_keyboard.cpp" line="406"/> + <location filename="../../src/yuzu/applets/qt_software_keyboard.cpp" line="409"/> <source>Cancel</source> <translation>Отмена</translation> </message> diff --git a/dist/languages/sv.ts b/dist/languages/sv.ts index 242a39fa5..9331f18ed 100644 --- a/dist/languages/sv.ts +++ b/dist/languages/sv.ts @@ -652,7 +652,12 @@ avgjord kod.</div> <translation type="unfinished"/> </message> <message> - <location filename="../../src/yuzu/configuration/configure_debug.ui" line="212"/> + <location filename="../../src/yuzu/configuration/configure_debug.ui" line="204"/> + <source>Enable all Controller Types</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_debug.ui" line="219"/> <source>**This will be reset automatically when yuzu closes.</source> <translation type="unfinished"/> </message> @@ -932,67 +937,78 @@ avgjord kod.</div> <translation>Allmänt</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_general.ui" line="35"/> - <source>Framerate Cap</source> + <location filename="../../src/yuzu/configuration/configure_general.ui" line="50"/> + <location filename="../../src/yuzu/configuration/configure_general.ui" line="57"/> + <source>Use global framerate cap</source> <translation type="unfinished"/> </message> <message> - <location filename="../../src/yuzu/configuration/configure_general.ui" line="38"/> + <location filename="../../src/yuzu/configuration/configure_general.ui" line="62"/> + <source>Set framerate cap:</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_general.ui" line="70"/> <source>Requires the use of the FPS Limiter Toggle hotkey to take effect.</source> <translation type="unfinished"/> </message> <message> - <location filename="../../src/yuzu/configuration/configure_general.ui" line="45"/> + <location filename="../../src/yuzu/configuration/configure_general.ui" line="73"/> + <source>Framerate Cap</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_general.ui" line="95"/> <source>x</source> <translation type="unfinished"/> </message> <message> - <location filename="../../src/yuzu/configuration/configure_general.ui" line="65"/> + <location filename="../../src/yuzu/configuration/configure_general.ui" line="116"/> <source>Limit Speed Percent</source> <translation>Begränsa hastighetsprocent</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_general.ui" line="72"/> + <location filename="../../src/yuzu/configuration/configure_general.ui" line="123"/> <source>%</source> <translation>%</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_general.ui" line="90"/> + <location filename="../../src/yuzu/configuration/configure_general.ui" line="141"/> <source>Multicore CPU Emulation</source> <translation>Flerkärnig CPU-emulering</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_general.ui" line="97"/> + <location filename="../../src/yuzu/configuration/configure_general.ui" line="148"/> <source>Confirm exit while emulation is running</source> <translation>Godkänn avslut medans emulering pågår</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_general.ui" line="104"/> + <location filename="../../src/yuzu/configuration/configure_general.ui" line="155"/> <source>Prompt for user on game boot</source> <translation>Fråga efter användare vid spelstart</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_general.ui" line="111"/> + <location filename="../../src/yuzu/configuration/configure_general.ui" line="162"/> <source>Pause emulation when in background</source> <translation>Pausa emulationen när fönstret är i bakgrunden</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_general.ui" line="118"/> + <location filename="../../src/yuzu/configuration/configure_general.ui" line="169"/> <source>Hide mouse on inactivity</source> <translation>Göm mus när inaktiv</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_general.ui" line="160"/> + <location filename="../../src/yuzu/configuration/configure_general.ui" line="211"/> <source>Reset All Settings</source> <translation type="unfinished"/> </message> <message> - <location filename="../../src/yuzu/configuration/configure_general.cpp" line="70"/> + <location filename="../../src/yuzu/configuration/configure_general.cpp" line="78"/> <source>yuzu</source> <translation type="unfinished"/> </message> <message> - <location filename="../../src/yuzu/configuration/configure_general.cpp" line="71"/> + <location filename="../../src/yuzu/configuration/configure_general.cpp" line="79"/> <source>This reset all settings and remove all per-game configurations. This will not delete game directories, profiles, or input profiles. Proceed?</source> <translation type="unfinished"/> </message> @@ -1110,18 +1126,113 @@ avgjord kod.</div> <translation>Tänj över fönster</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_graphics.ui" line="339"/> - <location filename="../../src/yuzu/configuration/configure_graphics.ui" line="349"/> + <location filename="../../src/yuzu/configuration/configure_graphics.ui" line="330"/> + <source>Resolution:</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_graphics.ui" line="338"/> + <source>0.5X (360p/540p) [EXPERIMENTAL]</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_graphics.ui" line="343"/> + <source>0.75X (540p/810p) [EXPERIMENTAL]</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_graphics.ui" line="348"/> + <source>1X (720p/1080p)</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_graphics.ui" line="353"/> + <source>2X (1440p/2160p)</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_graphics.ui" line="358"/> + <source>3X (2160p/3240p)</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_graphics.ui" line="363"/> + <source>4X (2880p/4320p)</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_graphics.ui" line="368"/> + <source>5X (3600p/5400p)</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_graphics.ui" line="373"/> + <source>6X (4320p/6480p)</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_graphics.ui" line="399"/> + <source>Window Adapting Filter:</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_graphics.ui" line="407"/> + <source>Nearest Neighbor</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_graphics.ui" line="412"/> + <source>Bilinear</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_graphics.ui" line="417"/> + <source>Bicubic</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_graphics.ui" line="422"/> + <source>Gaussian</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_graphics.ui" line="427"/> + <source>ScaleForce</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_graphics.ui" line="432"/> + <source>AMD FidelityFX™️ Super Resolution [Vulkan Only]</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_graphics.ui" line="458"/> + <source>Anti-Aliasing Method:</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_graphics.ui" line="466"/> + <source>None</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_graphics.ui" line="471"/> + <source>FXAA</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_graphics.ui" line="506"/> + <location filename="../../src/yuzu/configuration/configure_graphics.ui" line="516"/> <source>Use global background color</source> <translation>Använd global bakgrundsfärg</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_graphics.ui" line="354"/> + <location filename="../../src/yuzu/configuration/configure_graphics.ui" line="521"/> <source>Set background color:</source> <translation>Sätt backgrundsfärg:</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_graphics.ui" line="362"/> + <location filename="../../src/yuzu/configuration/configure_graphics.ui" line="529"/> <source>Background Color:</source> <translation>Bakgrundsfärg:</translation> </message> @@ -1190,27 +1301,32 @@ avgjord kod.</div> </message> <message> <location filename="../../src/yuzu/configuration/configure_graphics_advanced.ui" line="128"/> - <source>Default</source> - <translation>Standard</translation> + <source>Automatic</source> + <translation type="unfinished"/> </message> <message> <location filename="../../src/yuzu/configuration/configure_graphics_advanced.ui" line="133"/> - <source>2x (WILL BREAK THINGS)</source> - <translation type="unfinished"/> + <source>Default</source> + <translation>Standard</translation> </message> <message> <location filename="../../src/yuzu/configuration/configure_graphics_advanced.ui" line="138"/> - <source>4x (WILL BREAK THINGS)</source> + <source>2x</source> <translation type="unfinished"/> </message> <message> <location filename="../../src/yuzu/configuration/configure_graphics_advanced.ui" line="143"/> - <source>8x (WILL BREAK THINGS)</source> + <source>4x</source> <translation type="unfinished"/> </message> <message> <location filename="../../src/yuzu/configuration/configure_graphics_advanced.ui" line="148"/> - <source>16x (WILL BREAK THINGS)</source> + <source>8x</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_graphics_advanced.ui" line="153"/> + <source>16x</source> <translation type="unfinished"/> </message> </context> @@ -1538,8 +1654,8 @@ avgjord kod.</div> </message> <message> <location filename="../../src/yuzu/configuration/configure_input_advanced.ui" line="2533"/> - <source>Other</source> - <translation>Annat</translation> + <source>Emulated Devices</source> + <translation type="unfinished"/> </message> <message> <location filename="../../src/yuzu/configuration/configure_input_advanced.ui" line="2545"/> @@ -1548,66 +1664,75 @@ avgjord kod.</div> </message> <message> <location filename="../../src/yuzu/configuration/configure_input_advanced.ui" line="2558"/> - <source>Emulate Analog with Keyboard Input</source> - <translation type="unfinished"/> + <source>Mouse</source> + <translation>Mus</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_advanced.ui" line="2571"/> - <source>Enable mouse panning</source> - <translation type="unfinished"/> + <location filename="../../src/yuzu/configuration/configure_input_advanced.ui" line="2565"/> + <source>Touchscreen</source> + <translation>Touchscreen</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_advanced.ui" line="2578"/> - <source>Mouse sensitivity</source> - <translation type="unfinished"/> + <location filename="../../src/yuzu/configuration/configure_input_advanced.ui" line="2588"/> + <source>Advanced</source> + <translation>Avancerat</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_advanced.ui" line="2584"/> - <source>%</source> - <translation type="unfinished"/> + <location filename="../../src/yuzu/configuration/configure_input_advanced.ui" line="2595"/> + <source>Debug Controller</source> + <translation>Debugkontroller</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_advanced.ui" line="2600"/> - <location filename="../../src/yuzu/configuration/configure_input_advanced.ui" line="2623"/> - <source>Advanced</source> - <translation>Avancerat</translation> + <location filename="../../src/yuzu/configuration/configure_input_advanced.ui" line="2602"/> + <location filename="../../src/yuzu/configuration/configure_input_advanced.ui" line="2702"/> + <source>Configure</source> + <translation>Konfigurera</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_advanced.ui" line="2630"/> - <source>Touchscreen</source> - <translation>Touchscreen</translation> + <location filename="../../src/yuzu/configuration/configure_input_advanced.ui" line="2612"/> + <source>Other</source> + <translation>Annat</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_advanced.ui" line="2643"/> - <source>Mouse</source> - <translation>Mus</translation> + <location filename="../../src/yuzu/configuration/configure_input_advanced.ui" line="2624"/> + <source>Emulate Analog with Keyboard Input</source> + <translation type="unfinished"/> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_advanced.ui" line="2650"/> - <source>Motion / Touch</source> - <translation>Rörelse / Touch</translation> + <location filename="../../src/yuzu/configuration/configure_input_advanced.ui" line="2631"/> + <source>Requires restarting yuzu</source> + <translation type="unfinished"/> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_advanced.ui" line="2657"/> - <location filename="../../src/yuzu/configuration/configure_input_advanced.ui" line="2671"/> - <source>Configure</source> - <translation>Konfigurera</translation> + <location filename="../../src/yuzu/configuration/configure_input_advanced.ui" line="2640"/> + <source>Enable XInput 8 player support (disables web applet)</source> + <translation type="unfinished"/> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_advanced.ui" line="2664"/> - <source>Debug Controller</source> - <translation>Debugkontroller</translation> + <location filename="../../src/yuzu/configuration/configure_input_advanced.ui" line="2653"/> + <source>Enable UDP controllers (not needed for motion)</source> + <translation type="unfinished"/> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_advanced.ui" line="2678"/> - <source>Requires restarting yuzu</source> + <location filename="../../src/yuzu/configuration/configure_input_advanced.ui" line="2666"/> + <source>Enable mouse panning</source> <translation type="unfinished"/> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_advanced.ui" line="2687"/> - <source>Enable XInput 8 player support (disables web applet)</source> + <location filename="../../src/yuzu/configuration/configure_input_advanced.ui" line="2673"/> + <source>Mouse sensitivity</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_input_advanced.ui" line="2679"/> + <source>%</source> <translation type="unfinished"/> </message> + <message> + <location filename="../../src/yuzu/configuration/configure_input_advanced.ui" line="2695"/> + <source>Motion / Touch</source> + <translation>Rörelse / Touch</translation> + </message> </context> <context> <name>ConfigureInputPlayer</name> @@ -1622,424 +1747,440 @@ avgjord kod.</div> <translation>Koppla kontroller</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="94"/> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="535"/> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="986"/> - <source>Pro Controller</source> - <translation>Prokontroller</translation> - </message> - <message> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="99"/> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="992"/> - <source>Dual Joycons</source> - <translation>Dubbla Joycons</translation> - </message> - <message> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="104"/> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="998"/> - <source>Left Joycon</source> - <translation>Vänster Joycon</translation> - </message> - <message> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="109"/> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="1004"/> - <source>Right Joycon</source> - <translation>Höger Joycon</translation> - </message> - <message> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="114"/> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="1010"/> - <source>Handheld</source> - <translation>Handhållen</translation> - </message> - <message> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="125"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="100"/> <source>Input Device</source> <translation>Inmatningsenhet</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="153"/> - <source>Any</source> - <translation>Vilken som helst</translation> - </message> - <message> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="158"/> - <source>Keyboard/Mouse</source> - <translation>Tangentbord/Mus</translation> - </message> - <message> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="194"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="156"/> <source>Profile</source> <translation>Profil</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="234"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="196"/> <source>Save</source> <translation>Spara</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="250"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="212"/> <source>New</source> <translation>Ny</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="266"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="228"/> <source>Delete</source> <translation>Radera</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="329"/> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="1267"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="291"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="1190"/> <source>Left Stick</source> <translation>Vänster Spak</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="387"/> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="429"/> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="963"/> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="1002"/> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="2621"/> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="2660"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="349"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="391"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="925"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="964"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="2583"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="2622"/> <source>Up</source> <translation>Upp</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="460"/> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="499"/> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="1033"/> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="1072"/> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="2107"/> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="2691"/> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="2730"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="422"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="461"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="995"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="1034"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="2069"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="2653"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="2692"/> <source>Left</source> <translation>Vänster</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="509"/> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="548"/> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="1082"/> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="1121"/> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="2156"/> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="2740"/> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="2779"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="471"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="510"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="1044"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="1083"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="2118"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="2702"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="2741"/> <source>Right</source> <translation>Höger</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="591"/> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="630"/> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="1164"/> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="1203"/> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="2822"/> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="2861"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="553"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="592"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="1126"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="1165"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="2784"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="2823"/> <source>Down</source> <translation>Ner</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="661"/> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="700"/> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="2892"/> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="2931"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="623"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="662"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="2854"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="2893"/> <source>Pressed</source> <translation>Tryckt</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="710"/> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="749"/> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="2941"/> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="2980"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="672"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="711"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="2903"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="2942"/> <source>Modifier</source> <translation>Modifierare</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="759"/> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="2990"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="721"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="2952"/> <source>Range</source> <translation>Räckvidd</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="792"/> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="3023"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="754"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="2985"/> <source>%</source> <translation>%</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="835"/> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="3063"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="797"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="3025"/> <source>Deadzone: 0%</source> <translation>Dödzon: 0%</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="859"/> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="3087"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="821"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="3049"/> <source>Modifier Range: 0%</source> <translation>Modifieringsräckvidd: 0%</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="905"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="867"/> <source>D-Pad</source> <translation>D-Pad</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="1289"/> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="1328"/> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="1272"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="1251"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="1290"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="1195"/> <source>L</source> <translation>L</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="1344"/> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="1383"/> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="1264"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="1306"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="1345"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="1187"/> <source>ZL</source> <translation>ZL</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="1464"/> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="1503"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="1426"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="1465"/> <source>Minus</source> <translation>Minus</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="1513"/> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="1552"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="1475"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="1514"/> <source>Capture</source> <translation>Fånga</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="1583"/> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="1622"/> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="1263"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="1545"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="1584"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="1186"/> <source>Plus</source> <translation>Pluss</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="1632"/> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="1671"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="1594"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="1633"/> <source>Home</source> <translation>Hem</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="1736"/> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="1775"/> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="1266"/> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="1273"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="1698"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="1737"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="1189"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="1196"/> <source>R</source> <translation>R</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="1791"/> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="1830"/> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="1265"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="1753"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="1792"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="1188"/> <source>ZR</source> <translation>ZR</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="1911"/> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="1950"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="1873"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="1912"/> <source>SL</source> <translation>SL</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="1960"/> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="1999"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="1922"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="1961"/> <source>SR</source> <translation>SR</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="2068"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="2030"/> <source>Motion 1</source> <translation type="unfinished"/> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="2117"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="2079"/> <source>Motion 2</source> <translation type="unfinished"/> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="2208"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="2170"/> <source>Face Buttons</source> <translation>Knappar</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="2266"/> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="2305"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="2228"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="2267"/> <source>X</source> <translation>X</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="2336"/> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="2375"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="2298"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="2337"/> <source>Y</source> <translation>Y</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="2385"/> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="2424"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="2347"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="2386"/> <source>A</source> <translation>A</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="2467"/> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="2506"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="2429"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="2468"/> <source>B</source> <translation>B</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="2554"/> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="1268"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="2516"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="1191"/> <source>Right Stick</source> <translation>Höger Spak</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="322"/> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="372"/> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="430"/> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="474"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="330"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="396"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="461"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="507"/> <source>Clear</source> <translation type="unfinished"/> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="324"/> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="374"/> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="432"/> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="476"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="332"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="398"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="463"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="509"/> <source>[not set]</source> <translation type="unfinished"/> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="327"/> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="478"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="335"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="512"/> <source>Toggle button</source> <translation type="unfinished"/> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="335"/> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="339"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="341"/> + <source>Invert button</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="349"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="465"/> + <source>Invert axis</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="355"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="359"/> <source>Set threshold</source> <translation type="unfinished"/> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="339"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="359"/> <source>Choose a value between 0% and 100%</source> <translation type="unfinished"/> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="406"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="436"/> <source>Map Analog Stick</source> <translation type="unfinished"/> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="407"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="437"/> <source>After pressing OK, first move your joystick horizontally, and then vertically. To invert the axes, first move your joystick vertically, and then horizontally.</source> <translation type="unfinished"/> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="434"/> - <source>Invert axis</source> - <translation type="unfinished"/> - </message> - <message> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="500"/> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="952"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="537"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="891"/> <source>Deadzone: %1%</source> <translation>Dödzon: %1%</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="508"/> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="963"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="546"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="896"/> <source>Modifier Range: %1%</source> <translation>Modifieringsräckvidd: %1%</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="1016"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="572"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="918"/> + <source>Pro Controller</source> + <translation>Prokontroller</translation> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="924"/> + <source>Dual Joycons</source> + <translation>Dubbla Joycons</translation> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="930"/> + <source>Left Joycon</source> + <translation>Vänster Joycon</translation> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="936"/> + <source>Right Joycon</source> + <translation>Höger Joycon</translation> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="942"/> + <source>Handheld</source> + <translation>Handhållen</translation> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="948"/> <source>GameCube Controller</source> <translation type="unfinished"/> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="1271"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="958"/> + <source>Poke Ball Plus</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="964"/> + <source>NES Controller</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="970"/> + <source>SNES Controller</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="976"/> + <source>N64 Controller</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="982"/> + <source>Sega Genesis</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="1194"/> <source>Start / Pause</source> <translation type="unfinished"/> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="1274"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="1197"/> <source>Z</source> <translation type="unfinished"/> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="1275"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="1198"/> <source>Control Stick</source> <translation type="unfinished"/> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="1276"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="1199"/> <source>C-Stick</source> <translation type="unfinished"/> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="1335"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="1297"/> <source>Shake!</source> <translation type="unfinished"/> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="1337"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="1299"/> <source>[waiting]</source> <translation>[väntar]</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="1462"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="1381"/> <source>New Profile</source> <translation type="unfinished"/> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="1462"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="1381"/> <source>Enter a profile name:</source> <translation type="unfinished"/> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="1470"/> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="1478"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="1389"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="1397"/> <source>Create Input Profile</source> <translation type="unfinished"/> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="1471"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="1390"/> <source>The given profile name is not valid!</source> <translation type="unfinished"/> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="1479"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="1398"/> <source>Failed to create the input profile "%1"</source> <translation type="unfinished"/> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="1499"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="1418"/> <source>Delete Input Profile</source> <translation type="unfinished"/> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="1500"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="1419"/> <source>Failed to delete the input profile "%1"</source> <translation type="unfinished"/> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="1522"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="1441"/> <source>Load Input Profile</source> <translation type="unfinished"/> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="1523"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="1442"/> <source>Failed to load the input profile "%1"</source> <translation type="unfinished"/> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="1542"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="1461"/> <source>Save Input Profile</source> <translation type="unfinished"/> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="1543"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="1462"/> <source>Failed to save the input profile "%1"</source> <translation type="unfinished"/> </message> @@ -2065,85 +2206,75 @@ To invert the axes, first move your joystick vertically, and then horizontally.< <context> <name>ConfigureMotionTouch</name> <message> - <location filename="../../src/yuzu/configuration/configure_motion_touch.ui" line="14"/> + <location filename="../../src/yuzu/configuration/configure_motion_touch.ui" line="6"/> <source>Configure Motion / Touch</source> <translation>Konfigurera Rörelse / Touch</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_motion_touch.ui" line="23"/> - <source>Mouse Motion</source> - <translation type="unfinished"/> - </message> - <message> - <location filename="../../src/yuzu/configuration/configure_motion_touch.ui" line="31"/> - <source>Sensitivity:</source> - <translation>Känslighet:</translation> - </message> - <message> - <location filename="../../src/yuzu/configuration/configure_motion_touch.ui" line="65"/> + <location filename="../../src/yuzu/configuration/configure_motion_touch.ui" line="15"/> <source>Touch</source> <translation>Touch</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_motion_touch.ui" line="73"/> + <location filename="../../src/yuzu/configuration/configure_motion_touch.ui" line="23"/> <source>UDP Calibration:</source> <translation type="unfinished"/> </message> <message> - <location filename="../../src/yuzu/configuration/configure_motion_touch.ui" line="80"/> + <location filename="../../src/yuzu/configuration/configure_motion_touch.ui" line="30"/> <source>(100, 50) - (1800, 850)</source> <translation>(100, 50) - (1800, 850)</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_motion_touch.ui" line="96"/> - <location filename="../../src/yuzu/configuration/configure_motion_touch.ui" line="129"/> - <location filename="../../src/yuzu/configuration/configure_motion_touch.cpp" line="250"/> + <location filename="../../src/yuzu/configuration/configure_motion_touch.ui" line="46"/> + <location filename="../../src/yuzu/configuration/configure_motion_touch.ui" line="73"/> + <location filename="../../src/yuzu/configuration/configure_motion_touch.cpp" line="245"/> <source>Configure</source> <translation>Konfigurera</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_motion_touch.ui" line="113"/> - <source>Use button mapping:</source> - <translation>Använd knappkartläggning:</translation> + <location filename="../../src/yuzu/configuration/configure_motion_touch.ui" line="57"/> + <source>Touch from button profile:</source> + <translation type="unfinished"/> </message> <message> - <location filename="../../src/yuzu/configuration/configure_motion_touch.ui" line="141"/> + <location filename="../../src/yuzu/configuration/configure_motion_touch.ui" line="85"/> <source>CemuhookUDP Config</source> <translation>CemuhookUDP-konfigurering</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_motion_touch.ui" line="147"/> + <location filename="../../src/yuzu/configuration/configure_motion_touch.ui" line="91"/> <source>You may use any Cemuhook compatible UDP input source to provide motion and touch input.</source> <translation>Du kan använda Cemuhook-kompatibla UDP-inmatningskällor för att förse rörelse- och touchinmatning.</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_motion_touch.ui" line="190"/> + <location filename="../../src/yuzu/configuration/configure_motion_touch.ui" line="134"/> <source>Server:</source> <translation>Server:</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_motion_touch.ui" line="217"/> + <location filename="../../src/yuzu/configuration/configure_motion_touch.ui" line="161"/> <source>Port:</source> <translation>Port:</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_motion_touch.ui" line="244"/> + <location filename="../../src/yuzu/configuration/configure_motion_touch.ui" line="188"/> <source>Learn More</source> <translation>Lär dig mer</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_motion_touch.ui" line="257"/> - <location filename="../../src/yuzu/configuration/configure_motion_touch.cpp" line="273"/> + <location filename="../../src/yuzu/configuration/configure_motion_touch.ui" line="201"/> + <location filename="../../src/yuzu/configuration/configure_motion_touch.cpp" line="268"/> <source>Test</source> <translation>Test</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_motion_touch.ui" line="270"/> + <location filename="../../src/yuzu/configuration/configure_motion_touch.ui" line="214"/> <source>Add Server</source> <translation type="unfinished"/> </message> <message> - <location filename="../../src/yuzu/configuration/configure_motion_touch.ui" line="303"/> + <location filename="../../src/yuzu/configuration/configure_motion_touch.ui" line="247"/> <source>Remove Server</source> <translation type="unfinished"/> </message> @@ -2153,146 +2284,82 @@ To invert the axes, first move your joystick vertically, and then horizontally.< <translation><a href='https://yuzu-emu.org/wiki/using-a-controller-or-android-phone-for-motion-or-touch-input'><span style="text-decoration: underline; color:#039be5;">Lär dig mer</span></a></translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_motion_touch.cpp" line="176"/> + <location filename="../../src/yuzu/configuration/configure_motion_touch.cpp" line="171"/> <source>%1:%2</source> <translation type="unfinished"/> </message> <message> - <location filename="../../src/yuzu/configuration/configure_motion_touch.cpp" line="181"/> - <location filename="../../src/yuzu/configuration/configure_motion_touch.cpp" line="185"/> - <location filename="../../src/yuzu/configuration/configure_motion_touch.cpp" line="189"/> - <location filename="../../src/yuzu/configuration/configure_motion_touch.cpp" line="195"/> - <location filename="../../src/yuzu/configuration/configure_motion_touch.cpp" line="201"/> - <location filename="../../src/yuzu/configuration/configure_motion_touch.cpp" line="295"/> + <location filename="../../src/yuzu/configuration/configure_motion_touch.cpp" line="176"/> + <location filename="../../src/yuzu/configuration/configure_motion_touch.cpp" line="180"/> + <location filename="../../src/yuzu/configuration/configure_motion_touch.cpp" line="184"/> + <location filename="../../src/yuzu/configuration/configure_motion_touch.cpp" line="190"/> + <location filename="../../src/yuzu/configuration/configure_motion_touch.cpp" line="196"/> + <location filename="../../src/yuzu/configuration/configure_motion_touch.cpp" line="290"/> <source>yuzu</source> <translation type="unfinished"/> </message> <message> - <location filename="../../src/yuzu/configuration/configure_motion_touch.cpp" line="181"/> + <location filename="../../src/yuzu/configuration/configure_motion_touch.cpp" line="176"/> <source>Port number has invalid characters</source> <translation type="unfinished"/> </message> <message> - <location filename="../../src/yuzu/configuration/configure_motion_touch.cpp" line="185"/> + <location filename="../../src/yuzu/configuration/configure_motion_touch.cpp" line="180"/> <source>Port has to be in range 0 and 65353</source> <translation type="unfinished"/> </message> <message> - <location filename="../../src/yuzu/configuration/configure_motion_touch.cpp" line="189"/> + <location filename="../../src/yuzu/configuration/configure_motion_touch.cpp" line="184"/> <source>IP address is not valid</source> <translation type="unfinished"/> </message> <message> - <location filename="../../src/yuzu/configuration/configure_motion_touch.cpp" line="195"/> + <location filename="../../src/yuzu/configuration/configure_motion_touch.cpp" line="190"/> <source>This UDP server already exists</source> <translation type="unfinished"/> </message> <message> - <location filename="../../src/yuzu/configuration/configure_motion_touch.cpp" line="201"/> + <location filename="../../src/yuzu/configuration/configure_motion_touch.cpp" line="196"/> <source>Unable to add more than 8 servers</source> <translation type="unfinished"/> </message> <message> - <location filename="../../src/yuzu/configuration/configure_motion_touch.cpp" line="217"/> + <location filename="../../src/yuzu/configuration/configure_motion_touch.cpp" line="212"/> <source>Testing</source> <translation>Testar</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_motion_touch.cpp" line="233"/> + <location filename="../../src/yuzu/configuration/configure_motion_touch.cpp" line="228"/> <source>Configuring</source> <translation>Konfigurerar</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_motion_touch.cpp" line="264"/> + <location filename="../../src/yuzu/configuration/configure_motion_touch.cpp" line="259"/> <source>Test Successful</source> <translation>Test framgångsrikt</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_motion_touch.cpp" line="265"/> + <location filename="../../src/yuzu/configuration/configure_motion_touch.cpp" line="260"/> <source>Successfully received data from the server.</source> <translation>Tog emot data från servern framgångsrikt</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_motion_touch.cpp" line="267"/> + <location filename="../../src/yuzu/configuration/configure_motion_touch.cpp" line="262"/> <source>Test Failed</source> <translation>Test misslyckades</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_motion_touch.cpp" line="268"/> + <location filename="../../src/yuzu/configuration/configure_motion_touch.cpp" line="263"/> <source>Could not receive valid data from the server.<br>Please verify that the server is set up correctly and the address and port are correct.</source> <translation>Kunde inte ta emot giltig data från servern.<br>Var vänlig verifiera att servern är korrekt uppsatt och att adressen och porten är korrekta.</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_motion_touch.cpp" line="296"/> + <location filename="../../src/yuzu/configuration/configure_motion_touch.cpp" line="291"/> <source>UDP Test or calibration configuration is in progress.<br>Please wait for them to finish.</source> <translation>UDP Test eller kalibreringskonfiguration är igång.<br>Var vänlig vänta för dem att slutföras.</translation> </message> </context> <context> - <name>ConfigureMouseAdvanced</name> - <message> - <location filename="../../src/yuzu/configuration/configure_mouse_advanced.ui" line="14"/> - <source>Configure Mouse</source> - <translation>Konfigurera Mus</translation> - </message> - <message> - <location filename="../../src/yuzu/configuration/configure_mouse_advanced.ui" line="25"/> - <source>Mouse Buttons</source> - <translation>Musknappar</translation> - </message> - <message> - <location filename="../../src/yuzu/configuration/configure_mouse_advanced.ui" line="35"/> - <source>Forward:</source> - <translation>Fram:</translation> - </message> - <message> - <location filename="../../src/yuzu/configuration/configure_mouse_advanced.ui" line="75"/> - <source>Back:</source> - <translation>Bak:</translation> - </message> - <message> - <location filename="../../src/yuzu/configuration/configure_mouse_advanced.ui" line="103"/> - <source>Left:</source> - <translation>Vänster:</translation> - </message> - <message> - <location filename="../../src/yuzu/configuration/configure_mouse_advanced.ui" line="131"/> - <source>Middle:</source> - <translation>Mitten:</translation> - </message> - <message> - <location filename="../../src/yuzu/configuration/configure_mouse_advanced.ui" line="197"/> - <source>Right:</source> - <translation>Höger:</translation> - </message> - <message> - <location filename="../../src/yuzu/configuration/configure_mouse_advanced.ui" line="270"/> - <location filename="../../src/yuzu/configuration/configure_mouse_advanced.cpp" line="109"/> - <source>Clear</source> - <translation>Rensa</translation> - </message> - <message> - <location filename="../../src/yuzu/configuration/configure_mouse_advanced.ui" line="289"/> - <source>Defaults</source> - <translation>Standard</translation> - </message> - <message> - <location filename="../../src/yuzu/configuration/configure_mouse_advanced.cpp" line="111"/> - <source>[not set]</source> - <translation>[ej angett]</translation> - </message> - <message> - <location filename="../../src/yuzu/configuration/configure_mouse_advanced.cpp" line="113"/> - <source>Restore Default</source> - <translation>Återställ Standardvärden</translation> - </message> - <message> - <location filename="../../src/yuzu/configuration/configure_mouse_advanced.cpp" line="200"/> - <source>[press key]</source> - <translation>[tryck knapp]</translation> - </message> -</context> -<context> <name>ConfigureNetwork</name> <message> <location filename="../../src/yuzu/configuration/configure_network.ui" line="14"/> @@ -3075,31 +3142,26 @@ To invert the axes, first move your joystick vertically, and then horizontally.< </message> <message> <location filename="../../src/yuzu/configuration/configure_tas.ui" line="64"/> - <source>Automatic controller profile swapping</source> - <translation type="unfinished"/> - </message> - <message> - <location filename="../../src/yuzu/configuration/configure_tas.ui" line="71"/> <source>Loop script</source> <translation type="unfinished"/> </message> <message> - <location filename="../../src/yuzu/configuration/configure_tas.ui" line="81"/> + <location filename="../../src/yuzu/configuration/configure_tas.ui" line="74"/> <source>Pause execution during loads</source> <translation type="unfinished"/> </message> <message> - <location filename="../../src/yuzu/configuration/configure_tas.ui" line="95"/> + <location filename="../../src/yuzu/configuration/configure_tas.ui" line="88"/> <source>Script Directory</source> <translation type="unfinished"/> </message> <message> - <location filename="../../src/yuzu/configuration/configure_tas.ui" line="101"/> + <location filename="../../src/yuzu/configuration/configure_tas.ui" line="94"/> <source>Path</source> <translation type="unfinished"/> </message> <message> - <location filename="../../src/yuzu/configuration/configure_tas.ui" line="108"/> + <location filename="../../src/yuzu/configuration/configure_tas.ui" line="101"/> <source>...</source> <translation type="unfinished"/> </message> @@ -3112,7 +3174,7 @@ To invert the axes, first move your joystick vertically, and then horizontally.< <translation type="unfinished"/> </message> <message> - <location filename="../../src/yuzu/configuration/configure_tas.cpp" line="53"/> + <location filename="../../src/yuzu/configuration/configure_tas.cpp" line="51"/> <source>Select TAS Load Directory...</source> <translation type="unfinished"/> </message> @@ -3174,37 +3236,37 @@ Dra punkter för att ändra position, eller dubbelklicka tabellceller för att r <translation>Y</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_touch_from_button.cpp" line="200"/> + <location filename="../../src/yuzu/configuration/configure_touch_from_button.cpp" line="197"/> <source>New Profile</source> <translation>Ny profil</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_touch_from_button.cpp" line="200"/> + <location filename="../../src/yuzu/configuration/configure_touch_from_button.cpp" line="197"/> <source>Enter the name for the new profile.</source> <translation>Skriv in namn för den nya profilen.</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_touch_from_button.cpp" line="211"/> + <location filename="../../src/yuzu/configuration/configure_touch_from_button.cpp" line="208"/> <source>Delete Profile</source> <translation>Radera profil</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_touch_from_button.cpp" line="211"/> + <location filename="../../src/yuzu/configuration/configure_touch_from_button.cpp" line="208"/> <source>Delete profile %1?</source> <translation>Radera profil %1?</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_touch_from_button.cpp" line="224"/> + <location filename="../../src/yuzu/configuration/configure_touch_from_button.cpp" line="221"/> <source>Rename Profile</source> <translation>Döp om profil</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_touch_from_button.cpp" line="224"/> + <location filename="../../src/yuzu/configuration/configure_touch_from_button.cpp" line="221"/> <source>New name:</source> <translation>Nytt namn:</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_touch_from_button.cpp" line="233"/> + <location filename="../../src/yuzu/configuration/configure_touch_from_button.cpp" line="230"/> <source>[press key]</source> <translation>[tryck på tangent]</translation> </message> @@ -3624,12 +3686,12 @@ Dra punkter för att ändra position, eller dubbelklicka tabellceller för att r <context> <name>ControllerDialog</name> <message> - <location filename="../../src/yuzu/debugger/controller.cpp" line="17"/> + <location filename="../../src/yuzu/debugger/controller.cpp" line="21"/> <source>Controller P1</source> <translation type="unfinished"/> </message> <message> - <location filename="../../src/yuzu/debugger/controller.cpp" line="52"/> + <location filename="../../src/yuzu/debugger/controller.cpp" line="60"/> <source>&Controller P1</source> <translation type="unfinished"/> </message> @@ -3637,89 +3699,94 @@ Dra punkter för att ändra position, eller dubbelklicka tabellceller för att r <context> <name>GMainWindow</name> <message> - <location filename="../../src/yuzu/main.cpp" line="174"/> + <location filename="../../src/yuzu/main.cpp" line="176"/> <source><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?</source> <translation><a href='https://yuzu-emu.org/help/feature/telemetry/'>Anonym data skickas </a>För att förbättra yuzu. <br/><br/>Vill du dela med dig av din användarstatistik med oss?</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="177"/> + <location filename="../../src/yuzu/main.cpp" line="179"/> <source>Telemetry</source> <translation>Telemetri</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="592"/> + <location filename="../../src/yuzu/main.cpp" line="600"/> <source>Loading Web Applet...</source> <translation>Laddar WebApplet...</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="639"/> - <location filename="../../src/yuzu/main.cpp" line="642"/> + <location filename="../../src/yuzu/main.cpp" line="647"/> + <location filename="../../src/yuzu/main.cpp" line="650"/> <source>Disable Web Applet</source> <translation type="unfinished"/> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="643"/> + <location filename="../../src/yuzu/main.cpp" line="651"/> <source>Disabling the web applet will cause it to not be shown again for the rest of the emulated session. This 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?</source> <translation type="unfinished"/> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="746"/> + <location filename="../../src/yuzu/main.cpp" line="754"/> <source>The amount of shaders currently being built</source> <translation>Mängden shaders som just nu byggs</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="749"/> + <location filename="../../src/yuzu/main.cpp" line="756"/> + <source>The current selected resolution scaling multiplier.</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/main.cpp" line="759"/> <source>Current emulation speed. Values higher or lower than 100% indicate emulation is running faster or slower than a Switch.</source> <translation>Nuvarande emuleringshastighet. Värden över eller under 100% indikerar på att emulationen körs snabbare eller långsammare än en Switch.</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="752"/> + <location filename="../../src/yuzu/main.cpp" line="762"/> <source>How many frames per second the game is currently displaying. This will vary from game to game and scene to scene.</source> <translation>Hur många bilder per sekund som spelet just nu visar. Detta varierar från spel till spel och scen till scen.</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="756"/> + <location filename="../../src/yuzu/main.cpp" line="766"/> <source>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.</source> <translation>Tid det tar att emulera en Switch bild, utan att räkna med framelimiting eller v-sync. För emulering på full hastighet så ska det vara som mest 16.67 ms. </translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="781"/> + <location filename="../../src/yuzu/main.cpp" line="841"/> <source>Invalid config detected</source> <translation type="unfinished"/> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="782"/> + <location filename="../../src/yuzu/main.cpp" line="842"/> <source>Handheld controller can't be used on docked mode. Pro controller will be selected.</source> <translation type="unfinished"/> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="794"/> + <location filename="../../src/yuzu/main.cpp" line="854"/> <source>DOCK</source> <translation>DOCKAD</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="828"/> + <location filename="../../src/yuzu/main.cpp" line="888"/> <source>VULKAN</source> <translation>VULKAN</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="828"/> + <location filename="../../src/yuzu/main.cpp" line="888"/> <source>OPENGL</source> <translation>OPENGL</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="886"/> + <location filename="../../src/yuzu/main.cpp" line="951"/> <source>&Clear Recent Files</source> <translation type="unfinished"/> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="1055"/> - <source>TAS Recording</source> + <location filename="../../src/yuzu/main.cpp" line="1210"/> + <source>&Continue</source> <translation type="unfinished"/> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="1056"/> - <source>Overwrite file of player 1?</source> + <location filename="../../src/yuzu/main.cpp" line="1212"/> + <source>&Pause</source> <translation type="unfinished"/> </message> <message> @@ -3771,656 +3838,723 @@ Dra punkter för att ändra position, eller dubbelklicka tabellceller för att r <translation>Ett okänt fel har uppstått. Se loggen för mer information.</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="1462"/> + <location filename="../../src/yuzu/main.cpp" line="1460"/> <source>(64-bit)</source> <translation type="unfinished"/> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="1462"/> + <location filename="../../src/yuzu/main.cpp" line="1460"/> <source>(32-bit)</source> <translation type="unfinished"/> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="1463"/> + <location filename="../../src/yuzu/main.cpp" line="1461"/> <source>%1 %2</source> <comment>%1 is the title name. %2 indicates if the title is 64-bit or 32-bit</comment> <translation type="unfinished"/> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="1507"/> - <source>Start</source> - <translation>Start</translation> - </message> - <message> - <location filename="../../src/yuzu/main.cpp" line="1612"/> + <location filename="../../src/yuzu/main.cpp" line="1605"/> <source>Save Data</source> <translation>Spardata</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="1660"/> + <location filename="../../src/yuzu/main.cpp" line="1653"/> <source>Mod Data</source> <translation>Mod-data</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="1672"/> + <location filename="../../src/yuzu/main.cpp" line="1665"/> <source>Error Opening %1 Folder</source> <translation>Fel Öppnar %1 Mappen</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="1673"/> - <location filename="../../src/yuzu/main.cpp" line="2079"/> + <location filename="../../src/yuzu/main.cpp" line="1666"/> + <location filename="../../src/yuzu/main.cpp" line="2072"/> <source>Folder does not exist!</source> <translation>Mappen finns inte!</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="1685"/> + <location filename="../../src/yuzu/main.cpp" line="1678"/> <source>Error Opening Transferable Shader Cache</source> <translation>Fel Under Öppning Av Överförbar Shadercache</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="1686"/> + <location filename="../../src/yuzu/main.cpp" line="1679"/> <source>Failed to create the shader cache directory for this title.</source> <translation type="unfinished"/> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="1738"/> + <location filename="../../src/yuzu/main.cpp" line="1731"/> <source>Contents</source> <translation>Innehåll</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="1740"/> + <location filename="../../src/yuzu/main.cpp" line="1733"/> <source>Update</source> <translation>Uppdatera</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="1742"/> + <location filename="../../src/yuzu/main.cpp" line="1735"/> <source>DLC</source> <translation>DLC</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="1749"/> + <location filename="../../src/yuzu/main.cpp" line="1742"/> <source>Remove Entry</source> <translation>Ta bort katalog</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="1749"/> + <location filename="../../src/yuzu/main.cpp" line="1742"/> <source>Remove Installed Game %1?</source> <translation>Ta Bort Installerat Spel %1?</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="1779"/> - <location filename="../../src/yuzu/main.cpp" line="1795"/> - <location filename="../../src/yuzu/main.cpp" line="1826"/> - <location filename="../../src/yuzu/main.cpp" line="1887"/> - <location filename="../../src/yuzu/main.cpp" line="1905"/> - <location filename="../../src/yuzu/main.cpp" line="1928"/> + <location filename="../../src/yuzu/main.cpp" line="1772"/> + <location filename="../../src/yuzu/main.cpp" line="1788"/> + <location filename="../../src/yuzu/main.cpp" line="1819"/> + <location filename="../../src/yuzu/main.cpp" line="1880"/> + <location filename="../../src/yuzu/main.cpp" line="1898"/> + <location filename="../../src/yuzu/main.cpp" line="1921"/> <source>Successfully Removed</source> <translation>Framgångsrikt borttagen</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="1780"/> + <location filename="../../src/yuzu/main.cpp" line="1773"/> <source>Successfully removed the installed base game.</source> <translation>Tog bort det installerade basspelet framgångsrikt.</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="1783"/> - <location filename="../../src/yuzu/main.cpp" line="1798"/> - <location filename="../../src/yuzu/main.cpp" line="1821"/> + <location filename="../../src/yuzu/main.cpp" line="1776"/> + <location filename="../../src/yuzu/main.cpp" line="1791"/> + <location filename="../../src/yuzu/main.cpp" line="1814"/> <source>Error Removing %1</source> <translation>Fel Under Borttagning Av %1</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="1784"/> + <location filename="../../src/yuzu/main.cpp" line="1777"/> <source>The base game is not installed in the NAND and cannot be removed.</source> <translation>Basspelet är inte installerat i NAND och kan inte tas bort.</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="1796"/> + <location filename="../../src/yuzu/main.cpp" line="1789"/> <source>Successfully removed the installed update.</source> <translation>Tog bort den installerade uppdateringen framgångsrikt.</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="1799"/> + <location filename="../../src/yuzu/main.cpp" line="1792"/> <source>There is no update installed for this title.</source> <translation>Det finns ingen uppdatering installerad för denna titel.</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="1822"/> + <location filename="../../src/yuzu/main.cpp" line="1815"/> <source>There are no DLC installed for this title.</source> <translation>Det finns inga DLC installerade för denna titel.</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="1827"/> + <location filename="../../src/yuzu/main.cpp" line="1820"/> <source>Successfully removed %1 installed DLC.</source> <translation>Tog framgångsrikt bort den %1 installerade DLCn.</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="1835"/> + <location filename="../../src/yuzu/main.cpp" line="1828"/> <source>Delete OpenGL Transferable Shader Cache?</source> <translation type="unfinished"/> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="1837"/> + <location filename="../../src/yuzu/main.cpp" line="1830"/> <source>Delete Vulkan Transferable Shader Cache?</source> <translation type="unfinished"/> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="1839"/> + <location filename="../../src/yuzu/main.cpp" line="1832"/> <source>Delete All Transferable Shader Caches?</source> <translation type="unfinished"/> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="1841"/> + <location filename="../../src/yuzu/main.cpp" line="1834"/> <source>Remove Custom Game Configuration?</source> <translation>Ta Bort Anpassad Spelkonfiguration?</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="1847"/> + <location filename="../../src/yuzu/main.cpp" line="1840"/> <source>Remove File</source> <translation>Radera fil</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="1882"/> - <location filename="../../src/yuzu/main.cpp" line="1890"/> + <location filename="../../src/yuzu/main.cpp" line="1875"/> + <location filename="../../src/yuzu/main.cpp" line="1883"/> <source>Error Removing Transferable Shader Cache</source> <translation>Fel När Överförbar Shader Cache Raderades</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="1883"/> - <location filename="../../src/yuzu/main.cpp" line="1901"/> + <location filename="../../src/yuzu/main.cpp" line="1876"/> + <location filename="../../src/yuzu/main.cpp" line="1894"/> <source>A shader cache for this title does not exist.</source> <translation>En shader cache för denna titel existerar inte.</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="1888"/> + <location filename="../../src/yuzu/main.cpp" line="1881"/> <source>Successfully removed the transferable shader cache.</source> <translation>Raderade den överförbara shadercachen framgångsrikt.</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="1891"/> + <location filename="../../src/yuzu/main.cpp" line="1884"/> <source>Failed to remove the transferable shader cache.</source> <translation>Misslyckades att ta bort den överförbara shadercache</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="1900"/> - <location filename="../../src/yuzu/main.cpp" line="1908"/> + <location filename="../../src/yuzu/main.cpp" line="1893"/> + <location filename="../../src/yuzu/main.cpp" line="1901"/> <source>Error Removing Transferable Shader Caches</source> <translation type="unfinished"/> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="1906"/> + <location filename="../../src/yuzu/main.cpp" line="1899"/> <source>Successfully removed the transferable shader caches.</source> <translation type="unfinished"/> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="1909"/> + <location filename="../../src/yuzu/main.cpp" line="1902"/> <source>Failed to remove the transferable shader cache directory.</source> <translation type="unfinished"/> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="1922"/> - <location filename="../../src/yuzu/main.cpp" line="1931"/> + <location filename="../../src/yuzu/main.cpp" line="1915"/> + <location filename="../../src/yuzu/main.cpp" line="1924"/> <source>Error Removing Custom Configuration</source> <translation>Fel När Anpassad Konfiguration Raderades</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="1923"/> + <location filename="../../src/yuzu/main.cpp" line="1916"/> <source>A custom configuration for this title does not exist.</source> <translation>En anpassad konfiguration för denna titel existerar inte.</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="1929"/> + <location filename="../../src/yuzu/main.cpp" line="1922"/> <source>Successfully removed the custom game configuration.</source> <translation>Tog bort den anpassade spelkonfigurationen framgångsrikt.</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="1932"/> + <location filename="../../src/yuzu/main.cpp" line="1925"/> <source>Failed to remove the custom game configuration.</source> <translation>Misslyckades att ta bort den anpassade spelkonfigurationen.</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="1939"/> - <location filename="../../src/yuzu/main.cpp" line="2018"/> + <location filename="../../src/yuzu/main.cpp" line="1932"/> + <location filename="../../src/yuzu/main.cpp" line="2011"/> <source>RomFS Extraction Failed!</source> <translation>RomFS Extraktion Misslyckades!</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="1940"/> + <location filename="../../src/yuzu/main.cpp" line="1933"/> <source>There was an error copying the RomFS files or the user cancelled the operation.</source> <translation>Det uppstod ett fel vid kopiering av RomFS filer eller användaren avbröt operationen.</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="1998"/> + <location filename="../../src/yuzu/main.cpp" line="1991"/> <source>Full</source> <translation>Full</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="1998"/> + <location filename="../../src/yuzu/main.cpp" line="1991"/> <source>Skeleton</source> <translation>Skelett</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="2000"/> + <location filename="../../src/yuzu/main.cpp" line="1993"/> <source>Select RomFS Dump Mode</source> <translation>Välj RomFS Dump-Läge</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="2001"/> + <location filename="../../src/yuzu/main.cpp" line="1994"/> <source>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.</source> <translation>Välj hur du vill att RomFS ska dumpas. <br>Full kommer att kopiera alla filer i den nya katalogen medan <br>skelett bara skapar katalogstrukturen.</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="2019"/> + <location filename="../../src/yuzu/main.cpp" line="2012"/> <source>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</source> <translation type="unfinished"/> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="2026"/> + <location filename="../../src/yuzu/main.cpp" line="2019"/> <source>Extracting RomFS...</source> <translation>Extraherar RomFS...</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="2026"/> - <location filename="../../src/yuzu/main.cpp" line="2206"/> + <location filename="../../src/yuzu/main.cpp" line="2019"/> + <location filename="../../src/yuzu/main.cpp" line="2199"/> <source>Cancel</source> <translation>Avbryt</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="2033"/> + <location filename="../../src/yuzu/main.cpp" line="2026"/> <source>RomFS Extraction Succeeded!</source> <translation>RomFS Extraktion Lyckades!</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="2034"/> + <location filename="../../src/yuzu/main.cpp" line="2027"/> <source>The operation completed successfully.</source> <translation>Operationen var lyckad.</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="2078"/> + <location filename="../../src/yuzu/main.cpp" line="2071"/> <source>Error Opening %1</source> <translation>Fel under öppning av %1</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="2087"/> + <location filename="../../src/yuzu/main.cpp" line="2080"/> <source>Select Directory</source> <translation>Välj Katalog</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="2114"/> + <location filename="../../src/yuzu/main.cpp" line="2107"/> <source>Properties</source> <translation>Egenskaper</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="2115"/> + <location filename="../../src/yuzu/main.cpp" line="2108"/> <source>The game properties could not be loaded.</source> <translation>Spelegenskaperna kunde inte laddas.</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="2127"/> + <location filename="../../src/yuzu/main.cpp" line="2120"/> <source>Switch Executable (%1);;All Files (*.*)</source> <comment>%1 is an identifier for the Switch executable file extensions.</comment> <translation>Switch Körbar (%1);;Alla Filer (*.*)</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="2131"/> + <location filename="../../src/yuzu/main.cpp" line="2124"/> <source>Load File</source> <translation>Ladda Fil</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="2143"/> + <location filename="../../src/yuzu/main.cpp" line="2136"/> <source>Open Extracted ROM Directory</source> <translation>Öppna Extraherad ROM-Katalog</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="2154"/> + <location filename="../../src/yuzu/main.cpp" line="2147"/> <source>Invalid Directory Selected</source> <translation>Ogiltig Katalog Vald</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="2155"/> + <location filename="../../src/yuzu/main.cpp" line="2148"/> <source>The directory you have selected does not contain a 'main' file.</source> <translation>Katalogen du har valt innehåller inte en 'main'-fil.</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="2165"/> + <location filename="../../src/yuzu/main.cpp" line="2158"/> <source>Installable Switch File (*.nca *.nsp *.xci);;Nintendo Content Archive (*.nca);;Nintendo Submission Package (*.nsp);;NX Cartridge Image (*.xci)</source> <translation>Installerbar Switch-fil (*.nca *.nsp *.xci);;Nintendo Content Archive (*.nca);;Nintendo Submission Package (*.nsp);;NX Cartridge Image (*.xci)</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="2170"/> + <location filename="../../src/yuzu/main.cpp" line="2163"/> <source>Install Files</source> <translation>Installera filer</translation> </message> <message numerus="yes"> - <location filename="../../src/yuzu/main.cpp" line="2214"/> + <location filename="../../src/yuzu/main.cpp" line="2207"/> <source>%n file(s) remaining</source> <translation type="unfinished"><numerusform></numerusform><numerusform></numerusform></translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="2216"/> + <location filename="../../src/yuzu/main.cpp" line="2209"/> <source>Installing file "%1"...</source> <translation>Installerar Fil "%1"...</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="2262"/> - <location filename="../../src/yuzu/main.cpp" line="2276"/> + <location filename="../../src/yuzu/main.cpp" line="2255"/> + <location filename="../../src/yuzu/main.cpp" line="2269"/> <source>Install Results</source> <translation>Installera resultat</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="2263"/> + <location filename="../../src/yuzu/main.cpp" line="2256"/> <source>To avoid possible conflicts, we discourage users from installing base games to the NAND. Please, only use this feature to install updates and DLC.</source> <translation type="unfinished"/> </message> <message numerus="yes"> - <location filename="../../src/yuzu/main.cpp" line="2269"/> + <location filename="../../src/yuzu/main.cpp" line="2262"/> <source>%n file(s) were newly installed </source> <translation type="unfinished"><numerusform></numerusform><numerusform></numerusform></translation> </message> <message numerus="yes"> - <location filename="../../src/yuzu/main.cpp" line="2272"/> + <location filename="../../src/yuzu/main.cpp" line="2265"/> <source>%n file(s) were overwritten </source> <translation type="unfinished"><numerusform></numerusform><numerusform></numerusform></translation> </message> <message numerus="yes"> - <location filename="../../src/yuzu/main.cpp" line="2274"/> + <location filename="../../src/yuzu/main.cpp" line="2267"/> <source>%n file(s) failed to install </source> <translation type="unfinished"><numerusform></numerusform><numerusform></numerusform></translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="2375"/> + <location filename="../../src/yuzu/main.cpp" line="2368"/> <source>System Application</source> <translation>Systemapplikation</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="2376"/> + <location filename="../../src/yuzu/main.cpp" line="2369"/> <source>System Archive</source> <translation>Systemarkiv</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="2377"/> + <location filename="../../src/yuzu/main.cpp" line="2370"/> <source>System Application Update</source> <translation>Systemapplikationsuppdatering</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="2378"/> + <location filename="../../src/yuzu/main.cpp" line="2371"/> <source>Firmware Package (Type A)</source> <translation>Firmwarepaket (Typ A)</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="2379"/> + <location filename="../../src/yuzu/main.cpp" line="2372"/> <source>Firmware Package (Type B)</source> <translation>Firmwarepaket (Typ B)</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="2380"/> + <location filename="../../src/yuzu/main.cpp" line="2373"/> <source>Game</source> <translation>Spel</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="2381"/> + <location filename="../../src/yuzu/main.cpp" line="2374"/> <source>Game Update</source> <translation>Speluppdatering</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="2382"/> + <location filename="../../src/yuzu/main.cpp" line="2375"/> <source>Game DLC</source> <translation>Spel DLC</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="2383"/> + <location filename="../../src/yuzu/main.cpp" line="2376"/> <source>Delta Title</source> <translation>Delta Titel</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="2386"/> + <location filename="../../src/yuzu/main.cpp" line="2379"/> <source>Select NCA Install Type...</source> <translation>Välj NCA-Installationsläge...</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="2387"/> + <location filename="../../src/yuzu/main.cpp" line="2380"/> <source>Please select the type of title you would like to install this NCA as: (In most instances, the default 'Game' is fine.)</source> <translation>Välj vilken typ av titel du vill installera som: (I de flesta fallen, standard 'Spel' är bra.)</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="2393"/> + <location filename="../../src/yuzu/main.cpp" line="2386"/> <source>Failed to Install</source> <translation>Misslyckades med Installationen</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="2394"/> + <location filename="../../src/yuzu/main.cpp" line="2387"/> <source>The title type you selected for the NCA is invalid.</source> <translation>Den titeltyp du valt för NCA är ogiltig.</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="2429"/> + <location filename="../../src/yuzu/main.cpp" line="2422"/> <source>File not found</source> <translation>Filen hittades inte</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="2430"/> + <location filename="../../src/yuzu/main.cpp" line="2423"/> <source>File "%1" not found</source> <translation>Filen "%1" hittades inte</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="2445"/> - <location filename="../../src/yuzu/main.cpp" line="3448"/> - <source>&Continue</source> - <translation type="unfinished"/> - </message> - <message> - <location filename="../../src/yuzu/main.cpp" line="2494"/> + <location filename="../../src/yuzu/main.cpp" line="2492"/> <source>OK</source> <translation type="unfinished"/> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="2508"/> + <location filename="../../src/yuzu/main.cpp" line="2506"/> <source>Missing yuzu Account</source> <translation>yuzu Konto hittades inte</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="2509"/> + <location filename="../../src/yuzu/main.cpp" line="2507"/> <source>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.</source> <translation>För att skicka ett spelkompatibilitetstest, du måste länka ditt yuzu-konto.<br><br/>För att länka ditt yuzu-konto, gå till Emulering &gt, Konfigurering &gt, Web.</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="2519"/> + <location filename="../../src/yuzu/main.cpp" line="2517"/> <source>Error opening URL</source> <translation>Fel när URL öppnades</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="2520"/> + <location filename="../../src/yuzu/main.cpp" line="2518"/> <source>Unable to open the URL "%1".</source> <translation>Oförmögen att öppna URL:en "%1".</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="2802"/> + <location filename="../../src/yuzu/main.cpp" line="2777"/> + <source>TAS Recording</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/main.cpp" line="2777"/> + <source>Overwrite file of player 1?</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/main.cpp" line="2830"/> <source>Amiibo File (%1);; All Files (*.*)</source> <translation>Amiibo Fil (%1);; Alla Filer (*.*)</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="2803"/> + <location filename="../../src/yuzu/main.cpp" line="2831"/> <source>Load Amiibo</source> <translation>Ladda Amiibo</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="2821"/> + <location filename="../../src/yuzu/main.cpp" line="2849"/> <source>Error opening Amiibo data file</source> <translation>Fel öppnar Amiibo-datafilen</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="2822"/> + <location filename="../../src/yuzu/main.cpp" line="2850"/> <source>Unable to open Amiibo file "%1" for reading.</source> <translation>Kunde inte öppna Amiibo filen "%1" för läsning.</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="2830"/> + <location filename="../../src/yuzu/main.cpp" line="2858"/> <source>Error reading Amiibo data file</source> <translation>Fel vid läsning av Amiibo-datafil</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="2831"/> + <location filename="../../src/yuzu/main.cpp" line="2859"/> <source>Unable to fully read Amiibo data. Expected to read %1 bytes, but was only able to read %2 bytes.</source> <translation>Kan inte läsa Amiibo-data helt. Förväntas läsa %1 byte, men kunde bara läsa %2 byte.</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="2839"/> + <location filename="../../src/yuzu/main.cpp" line="2867"/> <source>Error loading Amiibo data</source> <translation>Fel vid laddning av Amiibodata</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="2840"/> + <location filename="../../src/yuzu/main.cpp" line="2868"/> <source>Unable to load Amiibo data.</source> <translation>Kan inte ladda Amiibodata.</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="2881"/> + <location filename="../../src/yuzu/main.cpp" line="2913"/> <source>Capture Screenshot</source> <translation>Skärmdump</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="2882"/> + <location filename="../../src/yuzu/main.cpp" line="2914"/> <source>PNG Image (*.png)</source> <translation>PNG Bild (*.png)</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="2948"/> + <location filename="../../src/yuzu/main.cpp" line="2979"/> <source>TAS state: Running %1/%2</source> <translation type="unfinished"/> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="2950"/> + <location filename="../../src/yuzu/main.cpp" line="2981"/> <source>TAS state: Recording %1</source> <translation type="unfinished"/> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="2952"/> + <location filename="../../src/yuzu/main.cpp" line="2983"/> <source>TAS state: Idle %1/%2</source> <translation type="unfinished"/> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="2954"/> + <location filename="../../src/yuzu/main.cpp" line="2985"/> <source>TAS State: Invalid</source> <translation type="unfinished"/> </message> + <message> + <location filename="../../src/yuzu/main.cpp" line="2999"/> + <source>&Stop Running</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/main.cpp" line="2999"/> + <source>&Start</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/main.cpp" line="3000"/> + <source>Stop R&ecording</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/main.cpp" line="3000"/> + <source>R&ecord</source> + <translation type="unfinished"/> + </message> <message numerus="yes"> - <location filename="../../src/yuzu/main.cpp" line="2975"/> + <location filename="../../src/yuzu/main.cpp" line="3024"/> <source>Building: %n shader(s)</source> <translation type="unfinished"><numerusform></numerusform><numerusform></numerusform></translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="2982"/> + <location filename="../../src/yuzu/main.cpp" line="3033"/> + <source>Scale: %1x</source> + <comment>%1 is the resolution scaling factor</comment> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/main.cpp" line="3036"/> <source>Speed: %1% / %2%</source> <translation>Hastighet: %1% / %2%</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="2986"/> + <location filename="../../src/yuzu/main.cpp" line="3040"/> <source>Speed: %1%</source> <translation>Hastighet: %1%</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="2990"/> + <location filename="../../src/yuzu/main.cpp" line="3044"/> <source>Game: %1 FPS (Unlocked)</source> <translation type="unfinished"/> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="2992"/> + <location filename="../../src/yuzu/main.cpp" line="3046"/> <source>Game: %1 FPS</source> <translation>Spel: %1 FPS</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="2994"/> + <location filename="../../src/yuzu/main.cpp" line="3048"/> <source>Frame: %1 ms</source> <translation>Ruta: %1 ms</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="3004"/> + <location filename="../../src/yuzu/main.cpp" line="3059"/> <source>GPU NORMAL</source> <translation type="unfinished"/> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="3009"/> + <location filename="../../src/yuzu/main.cpp" line="3064"/> <source>GPU HIGH</source> <translation type="unfinished"/> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="3014"/> + <location filename="../../src/yuzu/main.cpp" line="3069"/> <source>GPU EXTREME</source> <translation type="unfinished"/> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="3019"/> + <location filename="../../src/yuzu/main.cpp" line="3074"/> <source>GPU ERROR</source> <translation type="unfinished"/> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="3076"/> + <location filename="../../src/yuzu/main.cpp" line="3084"/> + <source>NEAREST</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/main.cpp" line="3087"/> + <location filename="../../src/yuzu/main.cpp" line="3102"/> + <source>BILINEAR</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/main.cpp" line="3090"/> + <source>BICUBIC</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/main.cpp" line="3093"/> + <source>GAUSSIAN</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/main.cpp" line="3096"/> + <source>SCALEFORCE</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/main.cpp" line="3099"/> + <source>FSR</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/main.cpp" line="3111"/> + <location filename="../../src/yuzu/main.cpp" line="3117"/> + <source>NO AA</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/main.cpp" line="3114"/> + <source>FXAA</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/main.cpp" line="3175"/> <source>The game you are trying to load requires additional files from your Switch to be dumped before playing.<br/><br/>For more information on dumping these files, please see the following wiki page: <a href='https://yuzu-emu.org/wiki/dumping-system-archives-and-the-shared-fonts-from-a-switch-console/'>Dumping System Archives and the Shared Fonts from a Switch Console</a>.<br/><br/>Would you like to quit back to the game list? Continuing emulation may result in crashes, corrupted save data, or other bugs.</source> <translation>Spelet du försöker ladda kräver att ytterligare filer dumpas från din Switch innan du spelar.<br/><br/>För mer information om dumpning av dessa filer, se följande wiki sida: <a href='https://yuzu-emu.org/wiki/dumping-system-archives-and-the-shared-fonts-from-a-switch-console/'>Dumpning System Arkiv och Delade Teckensnitt från en Switchkonsol</a>.<br/><br/>Vill du avsluta till spellistan? Fortsatt emulering kan leda till kraschar, skadad spara data och andra buggar.</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="3091"/> + <location filename="../../src/yuzu/main.cpp" line="3190"/> <source>yuzu was unable to locate a Switch system archive. %1</source> <translation>yuzu kunde inte lokalisera ett Switchsystemarkiv. %1</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="3093"/> + <location filename="../../src/yuzu/main.cpp" line="3192"/> <source>yuzu was unable to locate a Switch system archive: %1. %2</source> <translation>yuzu kunde inte lokalisera ett Switchsystemarkiv: %1. %2</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="3097"/> + <location filename="../../src/yuzu/main.cpp" line="3196"/> <source>System Archive Not Found</source> <translation>Systemarkivet Hittades Inte</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="3099"/> + <location filename="../../src/yuzu/main.cpp" line="3198"/> <source>System Archive Missing</source> <translation>Systemarkiv Saknas</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="3105"/> + <location filename="../../src/yuzu/main.cpp" line="3204"/> <source>yuzu was unable to locate the Switch shared fonts. %1</source> <translation>yuzu kunde inte lokalisera Switchens delade fonter. %1</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="3106"/> + <location filename="../../src/yuzu/main.cpp" line="3205"/> <source>Shared Fonts Not Found</source> <translation>Delade Teckensnitt Hittades Inte</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="3108"/> + <location filename="../../src/yuzu/main.cpp" line="3207"/> <source>Shared Font Missing</source> <translation>Delad Font Saknas</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="3114"/> + <location filename="../../src/yuzu/main.cpp" line="3213"/> <source>Fatal Error</source> <translation>Dödligt Fel</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="3115"/> + <location filename="../../src/yuzu/main.cpp" line="3214"/> <source>yuzu has encountered a fatal error, please see the log for more details. For more information on accessing the log, please see the following page: <a href='https://community.citra-emu.org/t/how-to-upload-the-log-file/296'>How to Upload the Log File</a>.<br/><br/>Would you like to quit back to the game list? Continuing emulation may result in crashes, corrupted save data, or other bugs.</source> <translation>yuzu stötte på ett dödligt fel, se loggen för mer information. För mer information om åtkomst till loggen, se följande sida: <a href='https://community.citra-emu.org/t/how-to-upload-the-log-file/296'>Hur man Laddar upp Loggfilen</a>.<br/><br/>Vill du avsluta till spellistan? Fortsatt emulering kan leda till kraschar, skadad spara data och andra buggar.</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="3124"/> + <location filename="../../src/yuzu/main.cpp" line="3223"/> <source>Fatal Error encountered</source> <translation>Allvarligt fel påträffat</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="3147"/> + <location filename="../../src/yuzu/main.cpp" line="3246"/> <source>Confirm Key Rederivation</source> <translation>Bekräfta Nyckel Rederivering</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="3148"/> + <location filename="../../src/yuzu/main.cpp" line="3247"/> <source>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. @@ -4437,37 +4571,37 @@ och eventuellt göra säkerhetskopior. Detta raderar dina autogenererade nyckelfiler och kör nyckelderivationsmodulen.</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="3180"/> + <location filename="../../src/yuzu/main.cpp" line="3279"/> <source>Missing fuses</source> <translation>Saknade säkringar</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="3183"/> + <location filename="../../src/yuzu/main.cpp" line="3282"/> <source> - Missing BOOT0</source> <translation>- Saknar BOOT0</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="3186"/> + <location filename="../../src/yuzu/main.cpp" line="3285"/> <source> - Missing BCPKG2-1-Normal-Main</source> <translation>- Saknar BCPKG2-1-Normal-Main</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="3189"/> + <location filename="../../src/yuzu/main.cpp" line="3288"/> <source> - Missing PRODINFO</source> <translation>- Saknar PRODINFO</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="3193"/> + <location filename="../../src/yuzu/main.cpp" line="3292"/> <source>Derivation Components Missing</source> <translation>Deriveringsdelar saknas</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="3194"/> - <source>Components are missing that may hinder key derivation from completing. <br>Please follow <a href='https://yuzu-emu.org/help/quickstart/'>the yuzu quickstart guide</a> to get all your keys and games.<br><br><small>(%1)</small></source> - <translation>Delar saknas som kan hindra nyckelderivering från att slutföras. <br>Var vänlig följ <a href='https://yuzu-emu.org/help/quickstart/'>the yuzu quickstart guide</a> för att få alla dina nycklar och spel.<br><br><small>(%1)</small></translation> + <location filename="../../src/yuzu/main.cpp" line="3293"/> + <source>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></source> + <translation type="unfinished"/> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="3203"/> + <location filename="../../src/yuzu/main.cpp" line="3302"/> <source>Deriving keys... This may take up to a minute depending on your system's performance.</source> @@ -4476,39 +4610,39 @@ Detta kan ta upp till en minut beroende på systemets prestanda.</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="3205"/> + <location filename="../../src/yuzu/main.cpp" line="3304"/> <source>Deriving Keys</source> <translation>Härleda Nycklar</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="3250"/> + <location filename="../../src/yuzu/main.cpp" line="3349"/> <source>Select RomFS Dump Target</source> <translation>Välj RomFS Dumpa Mål</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="3251"/> + <location filename="../../src/yuzu/main.cpp" line="3350"/> <source>Please select which RomFS you would like to dump.</source> <translation>Välj vilken RomFS du vill dumpa.</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="3266"/> + <location filename="../../src/yuzu/main.cpp" line="3365"/> <source>Are you sure you want to close yuzu?</source> <translation>Är du säker på att du vill stänga yuzu?</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="3267"/> - <location filename="../../src/yuzu/main.cpp" line="3342"/> - <location filename="../../src/yuzu/main.cpp" line="3355"/> + <location filename="../../src/yuzu/main.cpp" line="3366"/> + <location filename="../../src/yuzu/main.cpp" line="3443"/> + <location filename="../../src/yuzu/main.cpp" line="3456"/> <source>yuzu</source> <translation>yuzu</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="3343"/> + <location filename="../../src/yuzu/main.cpp" line="3444"/> <source>Are you sure you want to stop the emulation? Any unsaved progress will be lost.</source> <translation>Är du säker på att du vill stoppa emuleringen? Du kommer att förlora osparade framsteg.</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="3352"/> + <location filename="../../src/yuzu/main.cpp" line="3453"/> <source>The currently running application has requested yuzu to not exit. Would you like to bypass this and exit anyway?</source> @@ -4520,38 +4654,38 @@ Vill du strunta i detta och avsluta ändå?</translation> <context> <name>GRenderWindow</name> <message> - <location filename="../../src/yuzu/bootmanager.cpp" line="675"/> + <location filename="../../src/yuzu/bootmanager.cpp" line="976"/> <source>OpenGL not available!</source> <translation>OpenGL inte tillgängligt!</translation> </message> <message> - <location filename="../../src/yuzu/bootmanager.cpp" line="676"/> + <location filename="../../src/yuzu/bootmanager.cpp" line="977"/> <source>yuzu has not been compiled with OpenGL support.</source> <translation>yuzu har inte komilerats med OpenGL support.</translation> </message> <message> - <location filename="../../src/yuzu/bootmanager.cpp" line="695"/> - <location filename="../../src/yuzu/bootmanager.cpp" line="715"/> + <location filename="../../src/yuzu/bootmanager.cpp" line="996"/> + <location filename="../../src/yuzu/bootmanager.cpp" line="1016"/> <source>Error while initializing OpenGL!</source> <translation>Fel under initialisering av OpenGL!</translation> </message> <message> - <location filename="../../src/yuzu/bootmanager.cpp" line="696"/> + <location filename="../../src/yuzu/bootmanager.cpp" line="997"/> <source>Your GPU may not support OpenGL, or you do not have the latest graphics driver.</source> <translation type="unfinished"/> </message> <message> - <location filename="../../src/yuzu/bootmanager.cpp" line="705"/> + <location filename="../../src/yuzu/bootmanager.cpp" line="1006"/> <source>Error while initializing OpenGL 4.6!</source> <translation type="unfinished"/> </message> <message> - <location filename="../../src/yuzu/bootmanager.cpp" line="706"/> + <location filename="../../src/yuzu/bootmanager.cpp" line="1007"/> <source>Your GPU may not support OpenGL 4.6, or you do not have the latest graphics driver.<br><br>GL Renderer:<br>%1</source> <translation type="unfinished"/> </message> <message> - <location filename="../../src/yuzu/bootmanager.cpp" line="716"/> + <location filename="../../src/yuzu/bootmanager.cpp" line="1017"/> <source>Your GPU may not support one or more required OpenGL extensions. Please ensure you have the latest graphics driver.<br><br>GL Renderer:<br>%1<br><br>Unsupported extensions:<br>%2</source> <translation type="unfinished"/> </message> @@ -4912,190 +5046,205 @@ startskärmen.</translation> <translation>&Emulering</translation> </message> <message> - <location filename="../../src/yuzu/main.ui" line="79"/> + <location filename="../../src/yuzu/main.ui" line="78"/> <source>&View</source> <translation>&Vyn</translation> </message> <message> - <location filename="../../src/yuzu/main.ui" line="83"/> + <location filename="../../src/yuzu/main.ui" line="82"/> <source>&Reset Window Size</source> <translation type="unfinished"/> </message> <message> - <location filename="../../src/yuzu/main.ui" line="88"/> + <location filename="../../src/yuzu/main.ui" line="87"/> + <source>&Debugging</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/main.ui" line="92"/> <source>Reset Window Size to &720p</source> <translation type="unfinished"/> </message> <message> - <location filename="../../src/yuzu/main.ui" line="91"/> + <location filename="../../src/yuzu/main.ui" line="95"/> <source>Reset Window Size to 720p</source> <translation type="unfinished"/> </message> <message> - <location filename="../../src/yuzu/main.ui" line="96"/> + <location filename="../../src/yuzu/main.ui" line="100"/> <source>Reset Window Size to &900p</source> <translation type="unfinished"/> </message> <message> - <location filename="../../src/yuzu/main.ui" line="99"/> + <location filename="../../src/yuzu/main.ui" line="103"/> <source>Reset Window Size to 900p</source> <translation type="unfinished"/> </message> <message> - <location filename="../../src/yuzu/main.ui" line="104"/> + <location filename="../../src/yuzu/main.ui" line="108"/> <source>Reset Window Size to &1080p</source> <translation type="unfinished"/> </message> <message> - <location filename="../../src/yuzu/main.ui" line="107"/> + <location filename="../../src/yuzu/main.ui" line="111"/> <source>Reset Window Size to 1080p</source> <translation type="unfinished"/> </message> <message> - <location filename="../../src/yuzu/main.ui" line="112"/> - <source>&Debugging</source> + <location filename="../../src/yuzu/main.ui" line="125"/> + <source>&Tools</source> <translation type="unfinished"/> </message> <message> - <location filename="../../src/yuzu/main.ui" line="126"/> - <source>&Tools</source> + <location filename="../../src/yuzu/main.ui" line="129"/> + <source>&TAS</source> <translation type="unfinished"/> </message> <message> - <location filename="../../src/yuzu/main.ui" line="135"/> + <location filename="../../src/yuzu/main.ui" line="144"/> <source>&Help</source> <translation>&Hjälp</translation> </message> <message> - <location filename="../../src/yuzu/main.ui" line="155"/> + <location filename="../../src/yuzu/main.ui" line="164"/> <source>&Install Files to NAND...</source> <translation type="unfinished"/> </message> <message> - <location filename="../../src/yuzu/main.ui" line="160"/> + <location filename="../../src/yuzu/main.ui" line="169"/> <source>L&oad File...</source> <translation type="unfinished"/> </message> <message> - <location filename="../../src/yuzu/main.ui" line="165"/> + <location filename="../../src/yuzu/main.ui" line="174"/> <source>Load &Folder...</source> <translation type="unfinished"/> </message> <message> - <location filename="../../src/yuzu/main.ui" line="170"/> + <location filename="../../src/yuzu/main.ui" line="179"/> <source>E&xit</source> <translation>A&vsluta</translation> </message> <message> - <location filename="../../src/yuzu/main.ui" line="178"/> - <source>&Start</source> - <translation>&Start</translation> - </message> - <message> - <location filename="../../src/yuzu/main.ui" line="186"/> + <location filename="../../src/yuzu/main.ui" line="187"/> <source>&Pause</source> <translation>&Paus</translation> </message> <message> - <location filename="../../src/yuzu/main.ui" line="194"/> + <location filename="../../src/yuzu/main.ui" line="195"/> <source>&Stop</source> <translation>&Sluta</translation> </message> <message> - <location filename="../../src/yuzu/main.ui" line="199"/> + <location filename="../../src/yuzu/main.ui" line="200"/> <source>&Reinitialize keys...</source> <translation type="unfinished"/> </message> <message> - <location filename="../../src/yuzu/main.ui" line="204"/> + <location filename="../../src/yuzu/main.ui" line="205"/> <source>&About yuzu</source> <translation type="unfinished"/> </message> <message> - <location filename="../../src/yuzu/main.ui" line="212"/> + <location filename="../../src/yuzu/main.ui" line="213"/> <source>Single &Window Mode</source> <translation type="unfinished"/> </message> <message> - <location filename="../../src/yuzu/main.ui" line="217"/> + <location filename="../../src/yuzu/main.ui" line="218"/> <source>Con&figure...</source> <translation type="unfinished"/> </message> <message> - <location filename="../../src/yuzu/main.ui" line="225"/> + <location filename="../../src/yuzu/main.ui" line="226"/> <source>Display D&ock Widget Headers</source> <translation type="unfinished"/> </message> <message> - <location filename="../../src/yuzu/main.ui" line="233"/> + <location filename="../../src/yuzu/main.ui" line="234"/> <source>Show &Filter Bar</source> <translation type="unfinished"/> </message> <message> - <location filename="../../src/yuzu/main.ui" line="241"/> + <location filename="../../src/yuzu/main.ui" line="242"/> <source>Show &Status Bar</source> <translation type="unfinished"/> </message> <message> - <location filename="../../src/yuzu/main.ui" line="244"/> + <location filename="../../src/yuzu/main.ui" line="245"/> <source>Show Status Bar</source> <translation>Visa Statusfält</translation> </message> <message> - <location filename="../../src/yuzu/main.ui" line="252"/> + <location filename="../../src/yuzu/main.ui" line="253"/> <source>F&ullscreen</source> <translation type="unfinished"/> </message> <message> - <location filename="../../src/yuzu/main.ui" line="260"/> + <location filename="../../src/yuzu/main.ui" line="261"/> <source>&Restart</source> <translation type="unfinished"/> </message> <message> - <location filename="../../src/yuzu/main.ui" line="268"/> + <location filename="../../src/yuzu/main.ui" line="269"/> <source>Load &Amiibo...</source> <translation type="unfinished"/> </message> <message> - <location filename="../../src/yuzu/main.ui" line="276"/> + <location filename="../../src/yuzu/main.ui" line="277"/> <source>&Report Compatibility</source> <translation type="unfinished"/> </message> <message> - <location filename="../../src/yuzu/main.ui" line="284"/> + <location filename="../../src/yuzu/main.ui" line="285"/> <source>Open &Mods Page</source> <translation type="unfinished"/> </message> <message> - <location filename="../../src/yuzu/main.ui" line="289"/> + <location filename="../../src/yuzu/main.ui" line="290"/> <source>Open &Quickstart Guide</source> <translation type="unfinished"/> </message> <message> - <location filename="../../src/yuzu/main.ui" line="294"/> + <location filename="../../src/yuzu/main.ui" line="295"/> <source>&FAQ</source> <translation type="unfinished"/> </message> <message> - <location filename="../../src/yuzu/main.ui" line="299"/> + <location filename="../../src/yuzu/main.ui" line="300"/> <source>Open &yuzu Folder</source> <translation type="unfinished"/> </message> <message> - <location filename="../../src/yuzu/main.ui" line="307"/> + <location filename="../../src/yuzu/main.ui" line="308"/> <source>&Capture Screenshot</source> <translation type="unfinished"/> </message> <message> - <location filename="../../src/yuzu/main.ui" line="312"/> - <source>Configure &TAS...</source> + <location filename="../../src/yuzu/main.ui" line="313"/> + <source>&Configure TAS...</source> <translation type="unfinished"/> </message> <message> - <location filename="../../src/yuzu/main.ui" line="320"/> + <location filename="../../src/yuzu/main.ui" line="321"/> <source>Configure C&urrent Game...</source> <translation type="unfinished"/> </message> + <message> + <location filename="../../src/yuzu/main.ui" line="329"/> + <source>&Start</source> + <translation>&Start</translation> + </message> + <message> + <location filename="../../src/yuzu/main.ui" line="337"/> + <source>&Reset</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/main.ui" line="345"/> + <source>R&ecord</source> + <translation type="unfinished"/> + </message> </context> <context> <name>MicroProfileDialog</name> @@ -5137,10 +5286,15 @@ p, li { white-space: pre-wrap; } <context> <name>PlayerControlPreview</name> <message> - <location filename="../../src/yuzu/configuration/configure_input_player_widget.cpp" line="1566"/> + <location filename="../../src/yuzu/configuration/configure_input_player_widget.cpp" line="1572"/> <source>START/PAUSE</source> <translation type="unfinished"/> </message> + <message> + <location filename="../../src/yuzu/configuration/configure_input_player_widget.cpp" line="2685"/> + <source>Charging</source> + <translation type="unfinished"/> + </message> </context> <context> <name>QObject</name> @@ -5171,142 +5325,222 @@ p, li { white-space: pre-wrap; } </message> <message> <location filename="../../src/yuzu/configuration/configure_touch_from_button.cpp" line="23"/> - <location filename="../../src/yuzu/configuration/configure_mouse_advanced.cpp" line="32"/> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="72"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="43"/> <source>Shift</source> <translation>Shift</translation> </message> <message> <location filename="../../src/yuzu/configuration/configure_touch_from_button.cpp" line="25"/> - <location filename="../../src/yuzu/configuration/configure_mouse_advanced.cpp" line="34"/> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="74"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="45"/> <source>Ctrl</source> <translation>Ctrl</translation> </message> <message> <location filename="../../src/yuzu/configuration/configure_touch_from_button.cpp" line="27"/> - <location filename="../../src/yuzu/configuration/configure_mouse_advanced.cpp" line="36"/> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="76"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="47"/> <source>Alt</source> <translation>Alt</translation> </message> <message> <location filename="../../src/yuzu/configuration/configure_touch_from_button.cpp" line="37"/> - <location filename="../../src/yuzu/configuration/configure_mouse_advanced.cpp" line="46"/> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="103"/> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="190"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="130"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="196"/> <source>[not set]</source> <translation>[inte inställd]</translation> </message> <message> <location filename="../../src/yuzu/configuration/configure_touch_from_button.cpp" line="49"/> - <location filename="../../src/yuzu/configuration/configure_mouse_advanced.cpp" line="58"/> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="152"/> <source>Hat %1 %2</source> <translation>Hatt %1 %2</translation> </message> <message> <location filename="../../src/yuzu/configuration/configure_touch_from_button.cpp" line="56"/> - <location filename="../../src/yuzu/configuration/configure_mouse_advanced.cpp" line="65"/> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="159"/> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="210"/> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="214"/> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="218"/> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="222"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="219"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="223"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="227"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="231"/> <source>Axis %1%2</source> <translation>Axel %1%2</translation> </message> <message> <location filename="../../src/yuzu/configuration/configure_touch_from_button.cpp" line="62"/> - <location filename="../../src/yuzu/configuration/configure_mouse_advanced.cpp" line="71"/> <source>Button %1</source> <translation>Knapp %1</translation> </message> <message> <location filename="../../src/yuzu/configuration/configure_touch_from_button.cpp" line="68"/> - <location filename="../../src/yuzu/configuration/configure_mouse_advanced.cpp" line="76"/> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="185"/> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="227"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="190"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="204"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="234"/> <source>[unknown]</source> <translation>[okänd]</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_mouse_advanced.cpp" line="22"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="58"/> + <source>Left</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="60"/> + <source>Right</source> + <translation type="unfinished"/> + </message> + <message> <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="62"/> - <source>Click 0</source> - <translation>Klick 0</translation> + <source>Down</source> + <translation type="unfinished"/> </message> <message> - <location filename="../../src/yuzu/configuration/configure_mouse_advanced.cpp" line="24"/> <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="64"/> - <source>Click 1</source> - <translation>Klick 1</translation> + <source>Up</source> + <translation type="unfinished"/> </message> <message> - <location filename="../../src/yuzu/configuration/configure_mouse_advanced.cpp" line="26"/> <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="66"/> - <source>Click 2</source> - <translation>Klick 2</translation> + <source>Z</source> + <translation type="unfinished"/> </message> <message> - <location filename="../../src/yuzu/configuration/configure_mouse_advanced.cpp" line="28"/> <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="68"/> - <source>Click 3</source> - <translation>Klick 3</translation> + <source>R</source> + <translation type="unfinished"/> </message> <message> - <location filename="../../src/yuzu/configuration/configure_mouse_advanced.cpp" line="30"/> <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="70"/> - <source>Click 4</source> - <translation>Klick 4</translation> + <source>L</source> + <translation type="unfinished"/> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="109"/> - <source>%1%2</source> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="72"/> + <source>A</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="74"/> + <source>B</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="76"/> + <source>X</source> <translation type="unfinished"/> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="117"/> - <source>GC Axis %1%2</source> - <translation>GC Axel %1%2</translation> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="78"/> + <source>Y</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="80"/> + <source>Start</source> + <translation type="unfinished"/> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="121"/> - <source>GC Button %1</source> - <translation>GC Knapp %1</translation> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="82"/> + <source>L1</source> + <translation type="unfinished"/> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="130"/> - <source>TAS Axis %1</source> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="84"/> + <source>L2</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="86"/> + <source>L3</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="88"/> + <source>R1</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="90"/> + <source>R2</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="92"/> + <source>R3</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="94"/> + <source>Circle</source> <translation type="unfinished"/> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="134"/> - <source>TAS Btn %1</source> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="96"/> + <source>Cross</source> <translation type="unfinished"/> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="142"/> - <source>Motion %1</source> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="98"/> + <source>Square</source> <translation type="unfinished"/> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="166"/> - <source>%1Button %2</source> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="100"/> + <source>Triangle</source> <translation type="unfinished"/> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="170"/> - <source>SDL Motion</source> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="102"/> + <source>Share</source> <translation type="unfinished"/> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="180"/> - <source>%1Click %2</source> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="104"/> + <source>Options</source> <translation type="unfinished"/> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="205"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="106"/> + <source>[undefined]</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="140"/> + <source>%1%2</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="144"/> + <source>[invalid]</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="154"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="178"/> + <source>%1%2Hat %3</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="158"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="181"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="184"/> + <source>%1%2Axis %3</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="164"/> + <source>%1%2Axis %3,%4,%5</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="168"/> + <source>%1%2Motion %3</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="172"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="187"/> + <source>%1%2Button %3</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="214"/> <source>[unused]</source> <translation>[oanvänd]</translation> </message> @@ -5347,7 +5581,7 @@ p, li { white-space: pre-wrap; } <location filename="../../src/yuzu/applets/qt_controller.ui" line="1656"/> <location filename="../../src/yuzu/applets/qt_controller.ui" line="1857"/> <location filename="../../src/yuzu/applets/qt_controller.ui" line="2054"/> - <location filename="../../src/yuzu/applets/qt_controller.cpp" line="419"/> + <location filename="../../src/yuzu/applets/qt_controller.cpp" line="411"/> <source>Pro Controller</source> <translation type="unfinished"/> </message> @@ -5360,7 +5594,7 @@ p, li { white-space: pre-wrap; } <location filename="../../src/yuzu/applets/qt_controller.ui" line="1661"/> <location filename="../../src/yuzu/applets/qt_controller.ui" line="1862"/> <location filename="../../src/yuzu/applets/qt_controller.ui" line="2059"/> - <location filename="../../src/yuzu/applets/qt_controller.cpp" line="423"/> + <location filename="../../src/yuzu/applets/qt_controller.cpp" line="415"/> <source>Dual Joycons</source> <translation type="unfinished"/> </message> @@ -5373,7 +5607,7 @@ p, li { white-space: pre-wrap; } <location filename="../../src/yuzu/applets/qt_controller.ui" line="1666"/> <location filename="../../src/yuzu/applets/qt_controller.ui" line="1867"/> <location filename="../../src/yuzu/applets/qt_controller.ui" line="2064"/> - <location filename="../../src/yuzu/applets/qt_controller.cpp" line="427"/> + <location filename="../../src/yuzu/applets/qt_controller.cpp" line="419"/> <source>Left Joycon</source> <translation type="unfinished"/> </message> @@ -5386,7 +5620,7 @@ p, li { white-space: pre-wrap; } <location filename="../../src/yuzu/applets/qt_controller.ui" line="1671"/> <location filename="../../src/yuzu/applets/qt_controller.ui" line="1872"/> <location filename="../../src/yuzu/applets/qt_controller.ui" line="2069"/> - <location filename="../../src/yuzu/applets/qt_controller.cpp" line="431"/> + <location filename="../../src/yuzu/applets/qt_controller.cpp" line="423"/> <source>Right Joycon</source> <translation type="unfinished"/> </message> @@ -5414,7 +5648,7 @@ p, li { white-space: pre-wrap; } </message> <message> <location filename="../../src/yuzu/applets/qt_controller.ui" line="932"/> - <location filename="../../src/yuzu/applets/qt_controller.cpp" line="436"/> + <location filename="../../src/yuzu/applets/qt_controller.cpp" line="428"/> <source>Handheld</source> <translation type="unfinished"/> </message> @@ -5535,7 +5769,7 @@ p, li { white-space: pre-wrap; } <translation type="unfinished"/> </message> <message> - <location filename="../../src/yuzu/applets/qt_controller.cpp" line="441"/> + <location filename="../../src/yuzu/applets/qt_controller.cpp" line="433"/> <source>GameCube Controller</source> <translation type="unfinished"/> </message> @@ -5619,13 +5853,13 @@ p, li { white-space: pre-wrap; } <translation type="unfinished"/> </message> <message> - <location filename="../../src/yuzu/applets/qt_software_keyboard.cpp" line="396"/> - <location filename="../../src/yuzu/applets/qt_software_keyboard.cpp" line="406"/> + <location filename="../../src/yuzu/applets/qt_software_keyboard.cpp" line="399"/> + <location filename="../../src/yuzu/applets/qt_software_keyboard.cpp" line="409"/> <source>OK</source> <translation type="unfinished"/> </message> <message> - <location filename="../../src/yuzu/applets/qt_software_keyboard.cpp" line="406"/> + <location filename="../../src/yuzu/applets/qt_software_keyboard.cpp" line="409"/> <source>Cancel</source> <translation type="unfinished"/> </message> diff --git a/dist/languages/tr_TR.ts b/dist/languages/tr_TR.ts index 76ed1f336..34e20064b 100644 --- a/dist/languages/tr_TR.ts +++ b/dist/languages/tr_TR.ts @@ -256,7 +256,7 @@ p, li { white-space: pre-wrap; } <message> <location filename="../../src/yuzu/configuration/configure_cpu.ui" line="34"/> <source>Accuracy:</source> - <translation>Kesinlik:</translation> + <translation>Doğruluk:</translation> </message> <message> <location filename="../../src/yuzu/configuration/configure_cpu.ui" line="42"/> @@ -266,7 +266,7 @@ p, li { white-space: pre-wrap; } <message> <location filename="../../src/yuzu/configuration/configure_cpu.ui" line="47"/> <source>Accurate</source> - <translation>Kesin</translation> + <translation>Doğru</translation> </message> <message> <location filename="../../src/yuzu/configuration/configure_cpu.ui" line="52"/> @@ -276,7 +276,7 @@ p, li { white-space: pre-wrap; } <message> <location filename="../../src/yuzu/configuration/configure_cpu.ui" line="63"/> <source>We recommend setting accuracy to "Auto".</source> - <translation>Kesinlik ayarının "Otomatik" olmasını öneririz.</translation> + <translation>Doğruluk ayarının "Otomatik" olmasını öneririz.</translation> </message> <message> <location filename="../../src/yuzu/configuration/configure_cpu.ui" line="80"/> @@ -286,7 +286,7 @@ p, li { white-space: pre-wrap; } <message> <location filename="../../src/yuzu/configuration/configure_cpu.ui" line="86"/> <source>These settings reduce accuracy for speed.</source> - <translation>Bu ayarlar daha hızlı bir deneyim için kesinliği azaltır.</translation> + <translation>Bu ayarlar daha hızlı bir deneyim için doğruluk oranını azaltır.</translation> </message> <message> <location filename="../../src/yuzu/configuration/configure_cpu.ui" line="96"/> @@ -294,8 +294,7 @@ p, li { white-space: pre-wrap; } <div>This option improves speed by reducing accuracy of fused-multiply-add instructions on CPUs without native FMA support.</div> </source> <translation> - <div>Bu seçenek FMA işlemlerinin kesinliğini azaltarak FMA desteklemeyen CPU'larda hızı artırır.</div> -</translation> + <div>Bu seçenek FMA işlemlerinin doğruluğunu azaltarak FMA desteklemeyen CPU'larda hızı artırır.</div></translation> </message> <message> <location filename="../../src/yuzu/configuration/configure_cpu.ui" line="101"/> @@ -308,8 +307,7 @@ p, li { white-space: pre-wrap; } <div>This option improves the speed of some approximate floating-point functions by using less accurate native approximations.</div> </source> <translation> - <div>Bu seçenek bazı tahmini FP fonksiyonlarını daha az kesin tahminlerle hızlandırır</div> -</translation> + <div>Bu seçenek bazı tahmini FP fonksiyonlarını daha az doğru tahminlerle hızlandırır.</translation> </message> <message> <location filename="../../src/yuzu/configuration/configure_cpu.ui" line="113"/> @@ -321,36 +319,39 @@ p, li { white-space: pre-wrap; } <source> <div>This option improves the speed of 32 bits ASIMD floating-point functions by running with incorrect rounding modes.</div> </source> - <translation type="unfinished"/> + <translation> +Bu seçenek doğru olmayan yuvarlama fonksiyonları kullanarak 32 bit ASIMD FP fonksiyonlarını hızlandırır.</translation> </message> <message> <location filename="../../src/yuzu/configuration/configure_cpu.ui" line="125"/> <source>Faster ASIMD instructions (32 bits only)</source> - <translation type="unfinished"/> + <translation>Daha hızlı ASIMD komutları (yalnızca 32 bit)</translation> </message> <message> <location filename="../../src/yuzu/configuration/configure_cpu.ui" line="132"/> <source> <div>This option improves speed by removing NaN checking. Please note this also reduces accuracy of certain floating-point instructions.</div> </source> - <translation type="unfinished"/> + <translation> +Bu seçenek NaN kontrolünü kaldırarak hızı arttırır. Aynı zamanda bazı FP komutlarının doğruluğunu azaltacağını da göz önünde bulundurun.</translation> </message> <message> <location filename="../../src/yuzu/configuration/configure_cpu.ui" line="137"/> <source>Inaccurate NaN handling</source> - <translation type="unfinished"/> + <translation>Uygunsuz NaN kullanımı</translation> </message> <message> <location filename="../../src/yuzu/configuration/configure_cpu.ui" line="144"/> <source> <div>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.</div> </source> - <translation type="unfinished"/> + <translation> +Bu seçenek belleğe yazma/okuma işlemlerindeki güvenlik kontrolünü kaldırarak hızı arttırır. Devre dışı bırakmak, oyunun emulatör belleğinde yazma/okuma yapmasına izin verir.</translation> </message> <message> <location filename="../../src/yuzu/configuration/configure_cpu.ui" line="149"/> <source>Disable address space checks</source> - <translation type="unfinished"/> + <translation>Adres boşluğu kontrolünü kapatır.</translation> </message> <message> <location filename="../../src/yuzu/configuration/configure_cpu.ui" line="174"/> @@ -390,8 +391,7 @@ p, li { white-space: pre-wrap; } <translation> <div style="white-space: nowrap">Bu seçenek guest programın hafıza erişimini hızlandırır.</div> <div style="white-space: nowrap">Etkinleştirmek PageTable::pointer'larının yayılmış koda erişimlerini sıralar.</div> - <div style="white-space: nowrap">Devre dışı bırakmak bütün hafıza erişimlerini Memory::Read/Memory::Write fonksiyonlarından geçmeye zorlar.</div> -</translation> + <div style="white-space: nowrap">Devre dışı bırakmak bütün hafıza erişimlerini Memory::Read/Memory::Write fonksiyonlarından geçmeye zorlar.</div></translation> </message> <message> <location filename="../../src/yuzu/configuration/configure_cpu_debug.ui" line="48"/> @@ -505,12 +505,15 @@ p, li { white-space: pre-wrap; } <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> </source> - <translation type="unfinished"/> + <translation> +<div style="white-space: nowrap">Bu seçenek guest programın hafıza erişimini hızlandırır.</div> +<div style="white-space: nowrap">Bunu etkinleştirmek guest bellek okuma/yazma işlemlerinin doğrudan belleğe işlenmesini sağlayıp, Host'un MMU'sundan yararlanır.</div> +<div style="white-space: nowrap">Devre dışı bırakmak tüm bellek erişimlerinin Yazılım MMU Emülasyonu kullanmasını zorlar</div></translation> </message> <message> <location filename="../../src/yuzu/configuration/configure_cpu_debug.ui" line="147"/> <source>Enable Host MMU Emulation</source> - <translation type="unfinished"/> + <translation>Host MMU Emülasyonunu Etkinleştir</translation> </message> <message> <location filename="../../src/yuzu/configuration/configure_cpu_debug.ui" line="172"/> @@ -548,7 +551,7 @@ p, li { white-space: pre-wrap; } <message> <location filename="../../src/yuzu/configuration/configure_debug.ui" line="49"/> <source>Enable Extended Logging**</source> - <translation type="unfinished"/> + <translation>Uzatılmış Hata Kaydını Etkinleştir.</translation> </message> <message> <location filename="../../src/yuzu/configuration/configure_debug.ui" line="59"/> @@ -578,17 +581,17 @@ p, li { white-space: pre-wrap; } <message> <location filename="../../src/yuzu/configuration/configure_debug.ui" line="101"/> <source>When checked, it enables Nsight Aftermath crash dumps</source> - <translation type="unfinished"/> + <translation>İşaretlendiğinde Nsight Aftermath çökme dökümlerini etkinleştirir.</translation> </message> <message> <location filename="../../src/yuzu/configuration/configure_debug.ui" line="104"/> <source>Enable Nsight Aftermath</source> - <translation type="unfinished"/> + <translation>Nsight Aftermath'ı Etkinleştir</translation> </message> <message> <location filename="../../src/yuzu/configuration/configure_debug.ui" line="114"/> <source>When checked, it disables the macro Just In Time compiler. Enabling this makes games run slower</source> - <translation type="unfinished"/> + <translation>İşaretlendiğinde Makro JIT derleyicisini devre dışı bırakır. Bu seçeneği etkinleştirmek oyunların yavaş çalışmasına neden olur.</translation> </message> <message> <location filename="../../src/yuzu/configuration/configure_debug.ui" line="117"/> @@ -603,17 +606,17 @@ p, li { white-space: pre-wrap; } <message> <location filename="../../src/yuzu/configuration/configure_debug.ui" line="127"/> <source>Enable Shader Feedback</source> - <translation type="unfinished"/> + <translation>Shader Geribildirimini Etkinleştir</translation> </message> <message> <location filename="../../src/yuzu/configuration/configure_debug.ui" line="134"/> <source>When checked, it executes shaders without loop logic changes</source> - <translation type="unfinished"/> + <translation>İşaretlendiğinde shaderları döngü mantık değişimleri olmaksızın uygular</translation> </message> <message> <location filename="../../src/yuzu/configuration/configure_debug.ui" line="137"/> <source>Disable Loop safety checks</source> - <translation type="unfinished"/> + <translation>Döngü güvenliği kontrolünü devre dışı bırak</translation> </message> <message> <location filename="../../src/yuzu/configuration/configure_debug.ui" line="147"/> @@ -623,12 +626,12 @@ p, li { white-space: pre-wrap; } <message> <location filename="../../src/yuzu/configuration/configure_debug.ui" line="153"/> <source>Enable FS Access Log</source> - <translation type="unfinished"/> + <translation>FS Erişim Kaydını Etkinleştir</translation> </message> <message> <location filename="../../src/yuzu/configuration/configure_debug.ui" line="160"/> <source>Enable Verbose Reporting Services**</source> - <translation type="unfinished"/> + <translation>Detaylı Raporlama Hizmetini Etkinleştir</translation> </message> <message> <location filename="../../src/yuzu/configuration/configure_debug.ui" line="170"/> @@ -653,10 +656,15 @@ p, li { white-space: pre-wrap; } <message> <location filename="../../src/yuzu/configuration/configure_debug.ui" line="197"/> <source>Enable Auto-Stub**</source> + <translation>Auto-Stub'ı Etkinleştir</translation> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_debug.ui" line="204"/> + <source>Enable all Controller Types</source> <translation type="unfinished"/> </message> <message> - <location filename="../../src/yuzu/configuration/configure_debug.ui" line="212"/> + <location filename="../../src/yuzu/configuration/configure_debug.ui" line="219"/> <source>**This will be reset automatically when yuzu closes.</source> <translation>**Bu yuzu kapandığında otomatik olarak eski haline dönecektir.</translation> </message> @@ -936,69 +944,80 @@ p, li { white-space: pre-wrap; } <translation>Genel</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_general.ui" line="35"/> - <source>Framerate Cap</source> - <translation>FPS Sınırı</translation> + <location filename="../../src/yuzu/configuration/configure_general.ui" line="50"/> + <location filename="../../src/yuzu/configuration/configure_general.ui" line="57"/> + <source>Use global framerate cap</source> + <translation type="unfinished"/> </message> <message> - <location filename="../../src/yuzu/configuration/configure_general.ui" line="38"/> - <source>Requires the use of the FPS Limiter Toggle hotkey to take effect.</source> + <location filename="../../src/yuzu/configuration/configure_general.ui" line="62"/> + <source>Set framerate cap:</source> <translation type="unfinished"/> </message> <message> - <location filename="../../src/yuzu/configuration/configure_general.ui" line="45"/> + <location filename="../../src/yuzu/configuration/configure_general.ui" line="70"/> + <source>Requires the use of the FPS Limiter Toggle hotkey to take effect.</source> + <translation>Etkili olması için FPS Kısıtlayıcı Geçiş Kısayolu kullanmanız gerekir.</translation> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_general.ui" line="73"/> + <source>Framerate Cap</source> + <translation>FPS Sınırı</translation> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_general.ui" line="95"/> <source>x</source> <translation>x</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_general.ui" line="65"/> + <location filename="../../src/yuzu/configuration/configure_general.ui" line="116"/> <source>Limit Speed Percent</source> <translation>Hız Yüzdesini Sınırlandır</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_general.ui" line="72"/> + <location filename="../../src/yuzu/configuration/configure_general.ui" line="123"/> <source>%</source> <translation>%</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_general.ui" line="90"/> + <location filename="../../src/yuzu/configuration/configure_general.ui" line="141"/> <source>Multicore CPU Emulation</source> <translation>Çok Çekirdekli CPU Emülasyonu</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_general.ui" line="97"/> + <location filename="../../src/yuzu/configuration/configure_general.ui" line="148"/> <source>Confirm exit while emulation is running</source> <translation>Emülasyon devam ederken çıkışı onaylayın</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_general.ui" line="104"/> + <location filename="../../src/yuzu/configuration/configure_general.ui" line="155"/> <source>Prompt for user on game boot</source> <translation>Oyun başlatılırken kullanıcı verisi iste</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_general.ui" line="111"/> + <location filename="../../src/yuzu/configuration/configure_general.ui" line="162"/> <source>Pause emulation when in background</source> <translation>Arka plana alındığında emülasyonu durdur</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_general.ui" line="118"/> + <location filename="../../src/yuzu/configuration/configure_general.ui" line="169"/> <source>Hide mouse on inactivity</source> <translation>Hareketsizlik durumunda imleci gizle</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_general.ui" line="160"/> + <location filename="../../src/yuzu/configuration/configure_general.ui" line="211"/> <source>Reset All Settings</source> <translation>Tüm Ayarları Sıfırla</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_general.cpp" line="70"/> + <location filename="../../src/yuzu/configuration/configure_general.cpp" line="78"/> <source>yuzu</source> <translation>yuzu</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_general.cpp" line="71"/> + <location filename="../../src/yuzu/configuration/configure_general.cpp" line="79"/> <source>This reset all settings and remove all per-game configurations. This will not delete game directories, profiles, or input profiles. Proceed?</source> - <translation type="unfinished"/> + <translation>Bu seçenek tüm genel ve oyuna özgü ayarları silecektir. Oyun dizinleri, profiller ve giriş profilleri silinmeyecektir. Devam etmek istiyor musunuz?</translation> </message> </context> <context> @@ -1021,7 +1040,7 @@ p, li { white-space: pre-wrap; } <message> <location filename="../../src/yuzu/configuration/configure_graphics.ui" line="64"/> <source>Shader Backend:</source> - <translation type="unfinished"/> + <translation>Shader Backend:</translation> </message> <message> <location filename="../../src/yuzu/configuration/configure_graphics.ui" line="92"/> @@ -1051,7 +1070,7 @@ p, li { white-space: pre-wrap; } <message> <location filename="../../src/yuzu/configuration/configure_graphics.ui" line="176"/> <source>Accelerate ASTC texture decoding</source> - <translation type="unfinished"/> + <translation>ASTC kaplama çözümünü hızlandır</translation> </message> <message> <location filename="../../src/yuzu/configuration/configure_graphics.ui" line="198"/> @@ -1086,7 +1105,7 @@ p, li { white-space: pre-wrap; } <message> <location filename="../../src/yuzu/configuration/configure_graphics.ui" line="255"/> <source>Exclusive Fullscreen</source> - <translation type="unfinished"/> + <translation>Ayrılmış Tam Ekran</translation> </message> <message> <location filename="../../src/yuzu/configuration/configure_graphics.ui" line="281"/> @@ -1114,25 +1133,120 @@ p, li { white-space: pre-wrap; } <translation>Ekrana Sığdır</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_graphics.ui" line="339"/> - <location filename="../../src/yuzu/configuration/configure_graphics.ui" line="349"/> + <location filename="../../src/yuzu/configuration/configure_graphics.ui" line="330"/> + <source>Resolution:</source> + <translation>Çözünürlük:</translation> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_graphics.ui" line="338"/> + <source>0.5X (360p/540p) [EXPERIMENTAL]</source> + <translation>0.5X (360p/540p) [DENEYSEL]</translation> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_graphics.ui" line="343"/> + <source>0.75X (540p/810p) [EXPERIMENTAL]</source> + <translation>0.75X (540p/810p) [DENEYSEL]</translation> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_graphics.ui" line="348"/> + <source>1X (720p/1080p)</source> + <translation>1X (720p/1080p)</translation> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_graphics.ui" line="353"/> + <source>2X (1440p/2160p)</source> + <translation>2X (1440p/2160p)</translation> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_graphics.ui" line="358"/> + <source>3X (2160p/3240p)</source> + <translation>3X (2160p/3240p)</translation> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_graphics.ui" line="363"/> + <source>4X (2880p/4320p)</source> + <translation>4X (2880p/4320p)</translation> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_graphics.ui" line="368"/> + <source>5X (3600p/5400p)</source> + <translation>5X (3600p/5400p)</translation> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_graphics.ui" line="373"/> + <source>6X (4320p/6480p)</source> + <translation>6X (4320p/6480p)</translation> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_graphics.ui" line="399"/> + <source>Window Adapting Filter:</source> + <translation>Pencereye Uyarlı Filtre:</translation> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_graphics.ui" line="407"/> + <source>Nearest Neighbor</source> + <translation>En Yakın Komşu Algoritması</translation> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_graphics.ui" line="412"/> + <source>Bilinear</source> + <translation>Bilinear</translation> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_graphics.ui" line="417"/> + <source>Bicubic</source> + <translation>Bicubic</translation> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_graphics.ui" line="422"/> + <source>Gaussian</source> + <translation>Gausyen</translation> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_graphics.ui" line="427"/> + <source>ScaleForce</source> + <translation>ScaleForce</translation> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_graphics.ui" line="432"/> + <source>AMD FidelityFX™️ Super Resolution [Vulkan Only]</source> + <translation>AMD's FidelityFX™️ Süper Çözünürlük [Yalnızca Vulkan için]</translation> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_graphics.ui" line="458"/> + <source>Anti-Aliasing Method:</source> + <translation>Kenar Yumuşatma Yöntemi:</translation> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_graphics.ui" line="466"/> + <source>None</source> + <translation>Yok</translation> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_graphics.ui" line="471"/> + <source>FXAA</source> + <translation>FXAA</translation> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_graphics.ui" line="506"/> + <location filename="../../src/yuzu/configuration/configure_graphics.ui" line="516"/> <source>Use global background color</source> <translation>Global arka plan rengini kullan</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_graphics.ui" line="354"/> + <location filename="../../src/yuzu/configuration/configure_graphics.ui" line="521"/> <source>Set background color:</source> <translation>Arka plan rengini ayarla:</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_graphics.ui" line="362"/> + <location filename="../../src/yuzu/configuration/configure_graphics.ui" line="529"/> <source>Background Color:</source> <translation>Arkaplan Rengi:</translation> </message> <message> <location filename="../../src/yuzu/configuration/configure_graphics.cpp" line="34"/> <source>GLASM (Assembly Shaders, NVIDIA Only)</source> - <translation type="unfinished"/> + <translation>GLASM (Assembly Shaderları, Yalnızca NVIDIA için)</translation> </message> </context> <context> @@ -1180,7 +1294,7 @@ p, li { white-space: pre-wrap; } <message> <location filename="../../src/yuzu/configuration/configure_graphics_advanced.ui" line="95"/> <source>Enables Fast GPU Time. This option will force most games to run at their highest native resolution.</source> - <translation type="unfinished"/> + <translation>Hızlı GPU Saati'ni etkinleştir. Bu seçenek çoğu oyunu en yüksek gerçek çözünürlükte çalıştırır. </translation> </message> <message> <location filename="../../src/yuzu/configuration/configure_graphics_advanced.ui" line="98"/> @@ -1194,28 +1308,33 @@ p, li { white-space: pre-wrap; } </message> <message> <location filename="../../src/yuzu/configuration/configure_graphics_advanced.ui" line="128"/> - <source>Default</source> - <translation>Varsayılan</translation> + <source>Automatic</source> + <translation>Otomatik</translation> </message> <message> <location filename="../../src/yuzu/configuration/configure_graphics_advanced.ui" line="133"/> - <source>2x (WILL BREAK THINGS)</source> - <translation>2x (BİR ŞEYLERİ BOZACAK)</translation> + <source>Default</source> + <translation>Varsayılan</translation> </message> <message> <location filename="../../src/yuzu/configuration/configure_graphics_advanced.ui" line="138"/> - <source>4x (WILL BREAK THINGS)</source> - <translation>4x (BİR ŞEYLERİ BOZACAK)</translation> + <source>2x</source> + <translation>2x</translation> </message> <message> <location filename="../../src/yuzu/configuration/configure_graphics_advanced.ui" line="143"/> - <source>8x (WILL BREAK THINGS)</source> - <translation>8x (BİR ŞEYLERİ BOZACAK)</translation> + <source>4x</source> + <translation>4x</translation> </message> <message> <location filename="../../src/yuzu/configuration/configure_graphics_advanced.ui" line="148"/> - <source>16x (WILL BREAK THINGS)</source> - <translation>16x (BİR ŞEYLERİ BOZACAK)</translation> + <source>8x</source> + <translation>8x</translation> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_graphics_advanced.ui" line="153"/> + <source>16x</source> + <translation>16x</translation> </message> </context> <context> @@ -1542,8 +1661,8 @@ p, li { white-space: pre-wrap; } </message> <message> <location filename="../../src/yuzu/configuration/configure_input_advanced.ui" line="2533"/> - <source>Other</source> - <translation>Diğer</translation> + <source>Emulated Devices</source> + <translation type="unfinished"/> </message> <message> <location filename="../../src/yuzu/configuration/configure_input_advanced.ui" line="2545"/> @@ -1552,499 +1671,524 @@ p, li { white-space: pre-wrap; } </message> <message> <location filename="../../src/yuzu/configuration/configure_input_advanced.ui" line="2558"/> - <source>Emulate Analog with Keyboard Input</source> - <translation>Klavye Tuşlarıyla Analog Emülasyonu</translation> - </message> - <message> - <location filename="../../src/yuzu/configuration/configure_input_advanced.ui" line="2571"/> - <source>Enable mouse panning</source> - <translation>Mouse ile kaydırmayı etkinleştir</translation> - </message> - <message> - <location filename="../../src/yuzu/configuration/configure_input_advanced.ui" line="2578"/> - <source>Mouse sensitivity</source> - <translation>Fare hassasiyeti </translation> - </message> - <message> - <location filename="../../src/yuzu/configuration/configure_input_advanced.ui" line="2584"/> - <source>%</source> - <translation>%</translation> - </message> - <message> - <location filename="../../src/yuzu/configuration/configure_input_advanced.ui" line="2600"/> - <location filename="../../src/yuzu/configuration/configure_input_advanced.ui" line="2623"/> - <source>Advanced</source> - <translation>Gelişmiş</translation> + <source>Mouse</source> + <translation>Fare</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_advanced.ui" line="2630"/> + <location filename="../../src/yuzu/configuration/configure_input_advanced.ui" line="2565"/> <source>Touchscreen</source> <translation>Dokunmatik Ekran</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_advanced.ui" line="2643"/> - <source>Mouse</source> - <translation>Fare</translation> + <location filename="../../src/yuzu/configuration/configure_input_advanced.ui" line="2588"/> + <source>Advanced</source> + <translation>Gelişmiş</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_advanced.ui" line="2650"/> - <source>Motion / Touch</source> - <translation>Hareket / Dokunmatik</translation> + <location filename="../../src/yuzu/configuration/configure_input_advanced.ui" line="2595"/> + <source>Debug Controller</source> + <translation>Hata Ayıklama Kontrolcüsü</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_advanced.ui" line="2657"/> - <location filename="../../src/yuzu/configuration/configure_input_advanced.ui" line="2671"/> + <location filename="../../src/yuzu/configuration/configure_input_advanced.ui" line="2602"/> + <location filename="../../src/yuzu/configuration/configure_input_advanced.ui" line="2702"/> <source>Configure</source> <translation>Yapılandır</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_advanced.ui" line="2664"/> - <source>Debug Controller</source> - <translation>Hata Ayıklama Kontrolcüsü</translation> + <location filename="../../src/yuzu/configuration/configure_input_advanced.ui" line="2612"/> + <source>Other</source> + <translation>Diğer</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_advanced.ui" line="2678"/> + <location filename="../../src/yuzu/configuration/configure_input_advanced.ui" line="2624"/> + <source>Emulate Analog with Keyboard Input</source> + <translation>Klavye Tuşlarıyla Analog Emülasyonu</translation> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_input_advanced.ui" line="2631"/> <source>Requires restarting yuzu</source> <translation>Yuzu'yu yeniden başlatmayı gerektirir </translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_advanced.ui" line="2687"/> + <location filename="../../src/yuzu/configuration/configure_input_advanced.ui" line="2640"/> <source>Enable XInput 8 player support (disables web applet)</source> <translation>XInput 8 oyuncu desteğini etkinleştir (web uygulamasını devre dışı bırakır)</translation> </message> -</context> -<context> - <name>ConfigureInputPlayer</name> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="14"/> - <source>Configure Input</source> - <translation>Giriş'i yapılandır</translation> + <location filename="../../src/yuzu/configuration/configure_input_advanced.ui" line="2653"/> + <source>Enable UDP controllers (not needed for motion)</source> + <translation type="unfinished"/> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="63"/> - <source>Connect Controller</source> - <translation>Kontrolcüyü Bağla</translation> + <location filename="../../src/yuzu/configuration/configure_input_advanced.ui" line="2666"/> + <source>Enable mouse panning</source> + <translation>Mouse ile kaydırmayı etkinleştir</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="94"/> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="535"/> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="986"/> - <source>Pro Controller</source> - <translation>Pro Controller</translation> + <location filename="../../src/yuzu/configuration/configure_input_advanced.ui" line="2673"/> + <source>Mouse sensitivity</source> + <translation>Fare hassasiyeti </translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="99"/> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="992"/> - <source>Dual Joycons</source> - <translation>İkili Joyconlar</translation> + <location filename="../../src/yuzu/configuration/configure_input_advanced.ui" line="2679"/> + <source>%</source> + <translation>%</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="104"/> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="998"/> - <source>Left Joycon</source> - <translation>Sol Joycon</translation> + <location filename="../../src/yuzu/configuration/configure_input_advanced.ui" line="2695"/> + <source>Motion / Touch</source> + <translation>Hareket / Dokunmatik</translation> </message> +</context> +<context> + <name>ConfigureInputPlayer</name> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="109"/> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="1004"/> - <source>Right Joycon</source> - <translation>Sağ Joycon</translation> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="14"/> + <source>Configure Input</source> + <translation>Giriş'i yapılandır</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="114"/> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="1010"/> - <source>Handheld</source> - <translation>Handheld</translation> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="63"/> + <source>Connect Controller</source> + <translation>Kontrolcüyü Bağla</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="125"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="100"/> <source>Input Device</source> <translation>Giriş Cihazı</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="153"/> - <source>Any</source> - <translation>Herhangi</translation> - </message> - <message> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="158"/> - <source>Keyboard/Mouse</source> - <translation>Klavye/Fare</translation> - </message> - <message> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="194"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="156"/> <source>Profile</source> <translation>Profil</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="234"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="196"/> <source>Save</source> <translation>Kaydet</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="250"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="212"/> <source>New</source> <translation>Yeni</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="266"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="228"/> <source>Delete</source> <translation>Sil</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="329"/> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="1267"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="291"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="1190"/> <source>Left Stick</source> <translation>Sol Analog</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="387"/> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="429"/> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="963"/> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="1002"/> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="2621"/> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="2660"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="349"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="391"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="925"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="964"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="2583"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="2622"/> <source>Up</source> <translation>Yukarı</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="460"/> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="499"/> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="1033"/> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="1072"/> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="2107"/> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="2691"/> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="2730"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="422"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="461"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="995"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="1034"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="2069"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="2653"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="2692"/> <source>Left</source> <translation>Sol</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="509"/> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="548"/> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="1082"/> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="1121"/> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="2156"/> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="2740"/> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="2779"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="471"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="510"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="1044"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="1083"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="2118"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="2702"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="2741"/> <source>Right</source> <translation>Sağ</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="591"/> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="630"/> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="1164"/> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="1203"/> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="2822"/> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="2861"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="553"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="592"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="1126"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="1165"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="2784"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="2823"/> <source>Down</source> <translation>Aşağı</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="661"/> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="700"/> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="2892"/> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="2931"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="623"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="662"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="2854"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="2893"/> <source>Pressed</source> <translation>Basılı</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="710"/> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="749"/> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="2941"/> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="2980"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="672"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="711"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="2903"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="2942"/> <source>Modifier</source> <translation>Düzenleyici:</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="759"/> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="2990"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="721"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="2952"/> <source>Range</source> <translation>Aralık</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="792"/> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="3023"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="754"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="2985"/> <source>%</source> <translation>%</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="835"/> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="3063"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="797"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="3025"/> <source>Deadzone: 0%</source> <translation>Ölü Bölge: %0</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="859"/> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="3087"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="821"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="3049"/> <source>Modifier Range: 0%</source> <translation>Düzenleyici Aralığı: %0</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="905"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="867"/> <source>D-Pad</source> <translation>D-Pad</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="1289"/> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="1328"/> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="1272"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="1251"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="1290"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="1195"/> <source>L</source> <translation>L</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="1344"/> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="1383"/> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="1264"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="1306"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="1345"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="1187"/> <source>ZL</source> <translation>ZL</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="1464"/> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="1503"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="1426"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="1465"/> <source>Minus</source> <translation>Eksi</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="1513"/> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="1552"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="1475"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="1514"/> <source>Capture</source> <translation>Kaydet</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="1583"/> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="1622"/> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="1263"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="1545"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="1584"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="1186"/> <source>Plus</source> <translation>Artı</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="1632"/> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="1671"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="1594"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="1633"/> <source>Home</source> <translation>Home</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="1736"/> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="1775"/> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="1266"/> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="1273"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="1698"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="1737"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="1189"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="1196"/> <source>R</source> <translation>R</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="1791"/> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="1830"/> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="1265"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="1753"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="1792"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="1188"/> <source>ZR</source> <translation>ZR</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="1911"/> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="1950"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="1873"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="1912"/> <source>SL</source> <translation>SL</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="1960"/> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="1999"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="1922"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="1961"/> <source>SR</source> <translation>SR</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="2068"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="2030"/> <source>Motion 1</source> <translation>Hareket 1</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="2117"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="2079"/> <source>Motion 2</source> <translation>Hareket 2</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="2208"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="2170"/> <source>Face Buttons</source> <translation>Ön Tuşlar</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="2266"/> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="2305"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="2228"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="2267"/> <source>X</source> <translation>X</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="2336"/> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="2375"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="2298"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="2337"/> <source>Y</source> <translation>Y</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="2385"/> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="2424"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="2347"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="2386"/> <source>A</source> <translation>A</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="2467"/> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="2506"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="2429"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="2468"/> <source>B</source> <translation>B</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="2554"/> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="1268"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="2516"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="1191"/> <source>Right Stick</source> <translation>Sağ Analog</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="322"/> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="372"/> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="430"/> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="474"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="330"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="396"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="461"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="507"/> <source>Clear</source> <translation>Temizle</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="324"/> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="374"/> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="432"/> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="476"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="332"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="398"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="463"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="509"/> <source>[not set]</source> <translation>[belirlenmedi]</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="327"/> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="478"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="335"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="512"/> <source>Toggle button</source> <translation>Tuş ayarla</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="335"/> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="339"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="341"/> + <source>Invert button</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="349"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="465"/> + <source>Invert axis</source> + <translation>Ekseni ters çevir</translation> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="355"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="359"/> <source>Set threshold</source> <translation>Alt sınır ayarla</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="339"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="359"/> <source>Choose a value between 0% and 100%</source> <translation>%0 ve %100 arasında bir değer seçin</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="406"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="436"/> <source>Map Analog Stick</source> <translation>Analog Çubuğu Ayarla</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="407"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="437"/> <source>After pressing OK, first move your joystick horizontally, and then vertically. To invert the axes, first move your joystick vertically, and then horizontally.</source> <translation>Tamama bastıktan sonra, joystikinizi önce yatay sonra dikey olarak hareket ettirin. Eksenleri ters çevirmek için, önce joystickinizi dikey sonra yatay olarak hareket ettirin.</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="434"/> - <source>Invert axis</source> - <translation>Ekseni ters çevir</translation> - </message> - <message> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="500"/> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="952"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="537"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="891"/> <source>Deadzone: %1%</source> <translation>Ölü Bölge: %1%</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="508"/> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="963"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="546"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="896"/> <source>Modifier Range: %1%</source> <translation>Düzenleyici Aralığı: %1%</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="1016"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="572"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="918"/> + <source>Pro Controller</source> + <translation>Pro Controller</translation> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="924"/> + <source>Dual Joycons</source> + <translation>İkili Joyconlar</translation> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="930"/> + <source>Left Joycon</source> + <translation>Sol Joycon</translation> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="936"/> + <source>Right Joycon</source> + <translation>Sağ Joycon</translation> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="942"/> + <source>Handheld</source> + <translation>Handheld</translation> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="948"/> <source>GameCube Controller</source> <translation>GameCube Kontrolcüsü</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="1271"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="958"/> + <source>Poke Ball Plus</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="964"/> + <source>NES Controller</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="970"/> + <source>SNES Controller</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="976"/> + <source>N64 Controller</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="982"/> + <source>Sega Genesis</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="1194"/> <source>Start / Pause</source> <translation>Başlat / Durdur</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="1274"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="1197"/> <source>Z</source> <translation>Z</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="1275"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="1198"/> <source>Control Stick</source> <translation>Kontrol Çubuğu</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="1276"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="1199"/> <source>C-Stick</source> - <translation type="unfinished"/> + <translation>C-Çubuğu</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="1335"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="1297"/> <source>Shake!</source> <translation>Salla!</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="1337"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="1299"/> <source>[waiting]</source> <translation>[bekleniyor]</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="1462"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="1381"/> <source>New Profile</source> <translation>Yeni Profil</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="1462"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="1381"/> <source>Enter a profile name:</source> <translation>Bir profil ismi girin:</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="1470"/> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="1478"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="1389"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="1397"/> <source>Create Input Profile</source> <translation>Kontrol Profili Oluştur</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="1471"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="1390"/> <source>The given profile name is not valid!</source> <translation>Girilen profil ismi geçerli değil!</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="1479"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="1398"/> <source>Failed to create the input profile "%1"</source> <translation>"%1" kontrol profili oluşturulamadı </translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="1499"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="1418"/> <source>Delete Input Profile</source> <translation>Kontrol Profilini Kaldır</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="1500"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="1419"/> <source>Failed to delete the input profile "%1"</source> <translation>"%1" kontrol profili kaldırılamadı</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="1522"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="1441"/> <source>Load Input Profile</source> <translation>Kontrol Profilini Yükle</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="1523"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="1442"/> <source>Failed to load the input profile "%1"</source> <translation>"%1" kontrol profili yüklenemedi</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="1542"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="1461"/> <source>Save Input Profile</source> <translation>Kontrol Profilini Kaydet</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="1543"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="1462"/> <source>Failed to save the input profile "%1"</source> <translation>"%1" kontrol profili kaydedilemedi</translation> </message> @@ -2070,85 +2214,75 @@ Eksenleri ters çevirmek için, önce joystickinizi dikey sonra yatay olarak har <context> <name>ConfigureMotionTouch</name> <message> - <location filename="../../src/yuzu/configuration/configure_motion_touch.ui" line="14"/> + <location filename="../../src/yuzu/configuration/configure_motion_touch.ui" line="6"/> <source>Configure Motion / Touch</source> <translation>Hareket / Dokunmatik Kontrollerini Ayarla</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_motion_touch.ui" line="23"/> - <source>Mouse Motion</source> - <translation>Fare Hareketi</translation> - </message> - <message> - <location filename="../../src/yuzu/configuration/configure_motion_touch.ui" line="31"/> - <source>Sensitivity:</source> - <translation>Hassasiyet:</translation> - </message> - <message> - <location filename="../../src/yuzu/configuration/configure_motion_touch.ui" line="65"/> + <location filename="../../src/yuzu/configuration/configure_motion_touch.ui" line="15"/> <source>Touch</source> <translation>Dokunmatik</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_motion_touch.ui" line="73"/> + <location filename="../../src/yuzu/configuration/configure_motion_touch.ui" line="23"/> <source>UDP Calibration:</source> <translation>UDP Kalibrasyonu:</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_motion_touch.ui" line="80"/> + <location filename="../../src/yuzu/configuration/configure_motion_touch.ui" line="30"/> <source>(100, 50) - (1800, 850)</source> <translation>(100, 50) - (1800, 850)</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_motion_touch.ui" line="96"/> - <location filename="../../src/yuzu/configuration/configure_motion_touch.ui" line="129"/> - <location filename="../../src/yuzu/configuration/configure_motion_touch.cpp" line="250"/> + <location filename="../../src/yuzu/configuration/configure_motion_touch.ui" line="46"/> + <location filename="../../src/yuzu/configuration/configure_motion_touch.ui" line="73"/> + <location filename="../../src/yuzu/configuration/configure_motion_touch.cpp" line="245"/> <source>Configure</source> <translation>Yapılandır</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_motion_touch.ui" line="113"/> - <source>Use button mapping:</source> - <translation>Tuş ataması kullan:</translation> + <location filename="../../src/yuzu/configuration/configure_motion_touch.ui" line="57"/> + <source>Touch from button profile:</source> + <translation type="unfinished"/> </message> <message> - <location filename="../../src/yuzu/configuration/configure_motion_touch.ui" line="141"/> + <location filename="../../src/yuzu/configuration/configure_motion_touch.ui" line="85"/> <source>CemuhookUDP Config</source> <translation>CemuhookUDP Yapılandırması</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_motion_touch.ui" line="147"/> + <location filename="../../src/yuzu/configuration/configure_motion_touch.ui" line="91"/> <source>You may use any Cemuhook compatible UDP input source to provide motion and touch input.</source> <translation>Hareket ve dokunma girişi için Cemuhook'la uyumlu herhangi bir UDP giriş kaynağı kullanabilirsiniz.</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_motion_touch.ui" line="190"/> + <location filename="../../src/yuzu/configuration/configure_motion_touch.ui" line="134"/> <source>Server:</source> <translation>Sunucu:</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_motion_touch.ui" line="217"/> + <location filename="../../src/yuzu/configuration/configure_motion_touch.ui" line="161"/> <source>Port:</source> <translation>Port:</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_motion_touch.ui" line="244"/> + <location filename="../../src/yuzu/configuration/configure_motion_touch.ui" line="188"/> <source>Learn More</source> <translation>Daha Fazla Bilgi Edinin</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_motion_touch.ui" line="257"/> - <location filename="../../src/yuzu/configuration/configure_motion_touch.cpp" line="273"/> + <location filename="../../src/yuzu/configuration/configure_motion_touch.ui" line="201"/> + <location filename="../../src/yuzu/configuration/configure_motion_touch.cpp" line="268"/> <source>Test</source> <translation>Test</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_motion_touch.ui" line="270"/> + <location filename="../../src/yuzu/configuration/configure_motion_touch.ui" line="214"/> <source>Add Server</source> <translation>Server Ekle</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_motion_touch.ui" line="303"/> + <location filename="../../src/yuzu/configuration/configure_motion_touch.ui" line="247"/> <source>Remove Server</source> <translation>Server'ı Kaldır</translation> </message> @@ -2158,146 +2292,82 @@ Eksenleri ters çevirmek için, önce joystickinizi dikey sonra yatay olarak har <translation><a href='https://yuzu-emu.org/wiki/using-a-controller-or-android-phone-for-motion-or-touch-input'><span style="text-decoration: underline; color:#039be5;">Daha Fazlası</span></a></translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_motion_touch.cpp" line="176"/> + <location filename="../../src/yuzu/configuration/configure_motion_touch.cpp" line="171"/> <source>%1:%2</source> <translation>%1:%2</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_motion_touch.cpp" line="181"/> - <location filename="../../src/yuzu/configuration/configure_motion_touch.cpp" line="185"/> - <location filename="../../src/yuzu/configuration/configure_motion_touch.cpp" line="189"/> - <location filename="../../src/yuzu/configuration/configure_motion_touch.cpp" line="195"/> - <location filename="../../src/yuzu/configuration/configure_motion_touch.cpp" line="201"/> - <location filename="../../src/yuzu/configuration/configure_motion_touch.cpp" line="295"/> + <location filename="../../src/yuzu/configuration/configure_motion_touch.cpp" line="176"/> + <location filename="../../src/yuzu/configuration/configure_motion_touch.cpp" line="180"/> + <location filename="../../src/yuzu/configuration/configure_motion_touch.cpp" line="184"/> + <location filename="../../src/yuzu/configuration/configure_motion_touch.cpp" line="190"/> + <location filename="../../src/yuzu/configuration/configure_motion_touch.cpp" line="196"/> + <location filename="../../src/yuzu/configuration/configure_motion_touch.cpp" line="290"/> <source>yuzu</source> <translation>yuzu</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_motion_touch.cpp" line="181"/> + <location filename="../../src/yuzu/configuration/configure_motion_touch.cpp" line="176"/> <source>Port number has invalid characters</source> <translation>Port numarasında geçersiz karakterler var</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_motion_touch.cpp" line="185"/> + <location filename="../../src/yuzu/configuration/configure_motion_touch.cpp" line="180"/> <source>Port has to be in range 0 and 65353</source> <translation>Port 0 ila 65353 aralığında olmalıdır</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_motion_touch.cpp" line="189"/> + <location filename="../../src/yuzu/configuration/configure_motion_touch.cpp" line="184"/> <source>IP address is not valid</source> <translation>IP adresi geçerli değil</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_motion_touch.cpp" line="195"/> + <location filename="../../src/yuzu/configuration/configure_motion_touch.cpp" line="190"/> <source>This UDP server already exists</source> <translation>Bu UDP sunucusu zaten var</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_motion_touch.cpp" line="201"/> + <location filename="../../src/yuzu/configuration/configure_motion_touch.cpp" line="196"/> <source>Unable to add more than 8 servers</source> <translation>8'den fazla server eklenemez</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_motion_touch.cpp" line="217"/> + <location filename="../../src/yuzu/configuration/configure_motion_touch.cpp" line="212"/> <source>Testing</source> <translation>Test Ediliyor</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_motion_touch.cpp" line="233"/> + <location filename="../../src/yuzu/configuration/configure_motion_touch.cpp" line="228"/> <source>Configuring</source> <translation>Yapılandırılıyor</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_motion_touch.cpp" line="264"/> + <location filename="../../src/yuzu/configuration/configure_motion_touch.cpp" line="259"/> <source>Test Successful</source> <translation>Test Başarılı</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_motion_touch.cpp" line="265"/> + <location filename="../../src/yuzu/configuration/configure_motion_touch.cpp" line="260"/> <source>Successfully received data from the server.</source> <translation>Bilgi başarıyla sunucudan kaldırıldı.</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_motion_touch.cpp" line="267"/> + <location filename="../../src/yuzu/configuration/configure_motion_touch.cpp" line="262"/> <source>Test Failed</source> <translation>Test Başarısız</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_motion_touch.cpp" line="268"/> + <location filename="../../src/yuzu/configuration/configure_motion_touch.cpp" line="263"/> <source>Could not receive valid data from the server.<br>Please verify that the server is set up correctly and the address and port are correct.</source> <translation>Serverdan geçerli veri alınamadı.<br>Lütfen sunucunun doğru ayarlandığını ya da adres ve portun doğru olduğunu kontrol edin.</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_motion_touch.cpp" line="296"/> + <location filename="../../src/yuzu/configuration/configure_motion_touch.cpp" line="291"/> <source>UDP Test or calibration configuration is in progress.<br>Please wait for them to finish.</source> <translation>UDP testi ya da yapılandırılması devrede.<br>Lütfen bitmesini bekleyin.</translation> </message> </context> <context> - <name>ConfigureMouseAdvanced</name> - <message> - <location filename="../../src/yuzu/configuration/configure_mouse_advanced.ui" line="14"/> - <source>Configure Mouse</source> - <translation>Fareyi Yapılandır</translation> - </message> - <message> - <location filename="../../src/yuzu/configuration/configure_mouse_advanced.ui" line="25"/> - <source>Mouse Buttons</source> - <translation>Fare Tuşları</translation> - </message> - <message> - <location filename="../../src/yuzu/configuration/configure_mouse_advanced.ui" line="35"/> - <source>Forward:</source> - <translation>İleri:</translation> - </message> - <message> - <location filename="../../src/yuzu/configuration/configure_mouse_advanced.ui" line="75"/> - <source>Back:</source> - <translation>Arka:</translation> - </message> - <message> - <location filename="../../src/yuzu/configuration/configure_mouse_advanced.ui" line="103"/> - <source>Left:</source> - <translation>Sol:</translation> - </message> - <message> - <location filename="../../src/yuzu/configuration/configure_mouse_advanced.ui" line="131"/> - <source>Middle:</source> - <translation>Orta:</translation> - </message> - <message> - <location filename="../../src/yuzu/configuration/configure_mouse_advanced.ui" line="197"/> - <source>Right:</source> - <translation>Sağ:</translation> - </message> - <message> - <location filename="../../src/yuzu/configuration/configure_mouse_advanced.ui" line="270"/> - <location filename="../../src/yuzu/configuration/configure_mouse_advanced.cpp" line="109"/> - <source>Clear</source> - <translation>Temizle</translation> - </message> - <message> - <location filename="../../src/yuzu/configuration/configure_mouse_advanced.ui" line="289"/> - <source>Defaults</source> - <translation>Varsayılanlar</translation> - </message> - <message> - <location filename="../../src/yuzu/configuration/configure_mouse_advanced.cpp" line="111"/> - <source>[not set]</source> - <translation>[belirlenmedi]</translation> - </message> - <message> - <location filename="../../src/yuzu/configuration/configure_mouse_advanced.cpp" line="113"/> - <source>Restore Default</source> - <translation>Varsayılana Dön</translation> - </message> - <message> - <location filename="../../src/yuzu/configuration/configure_mouse_advanced.cpp" line="200"/> - <source>[press key]</source> - <translation>[tuşa bas]</translation> - </message> -</context> -<context> <name>ConfigureNetwork</name> <message> <location filename="../../src/yuzu/configuration/configure_network.ui" line="14"/> @@ -2400,7 +2470,7 @@ Eksenleri ters çevirmek için, önce joystickinizi dikey sonra yatay olarak har <message> <location filename="../../src/yuzu/configuration/configure_per_game.cpp" line="69"/> <source>Adv. Graphics</source> - <translation type="unfinished"/> + <translation>Gelişmiş Grafikler</translation> </message> <message> <location filename="../../src/yuzu/configuration/configure_per_game.cpp" line="70"/> @@ -2584,12 +2654,12 @@ Eksenleri ters çevirmek için, önce joystickinizi dikey sonra yatay olarak har <message> <location filename="../../src/yuzu/configuration/configure_profile_manager.cpp" line="314"/> <source>Error resizing user image</source> - <translation type="unfinished"/> + <translation>Kullanıcı görüntüsünü yeniden boyutlandırma hatası</translation> </message> <message> <location filename="../../src/yuzu/configuration/configure_profile_manager.cpp" line="315"/> <source>Unable to resize image</source> - <translation type="unfinished"/> + <translation>Görüntü yeniden boyutlandırılamıyor</translation> </message> </context> <context> @@ -3051,22 +3121,22 @@ Eksenleri ters çevirmek için, önce joystickinizi dikey sonra yatay olarak har <message> <location filename="../../src/yuzu/configuration/configure_tas.ui" line="11"/> <source>TAS</source> - <translation type="unfinished"/> + <translation>TAS</translation> </message> <message> <location filename="../../src/yuzu/configuration/configure_tas.ui" line="17"/> <source><html><head/><body><p>Reads controller input from scripts in the same format as TAS-nx scripts.<br/>For a more detailed explanation, please consult the <a href="https://yuzu-emu.org/help/feature/tas/"><span style=" text-decoration: underline; color:#039be5;">help page</span></a> on the yuzu website.</p></body></html></source> - <translation type="unfinished"/> + <translation><html><head/><body><p> Kontrolcü girdilerini TAS-nx scriptleri ile aynı formatta okur. <br/>Daha detaylı bilgi için lütfen yuzu web sitesindeki <a href="https://yuzu-emu.org/help/feature/tas/"><span style=" text-decoration: underline; color:#039be5;"> yardım sayfasına</span></a>bakınız.</p></body></html></translation> </message> <message> <location filename="../../src/yuzu/configuration/configure_tas.ui" line="24"/> <source>To check which hotkeys control the playback/recording, please refer to the Hotkey settings (Configure -> General -> Hotkeys).</source> - <translation type="unfinished"/> + <translation>Hangi kısayolların Yeniden Oynatma/Kayıt fonksiyonunu kontrol ettiğini öğrenmek için Kısayol Ayarlarına bakın. (Yapılandır -> Genel -> Kısayollar)</translation> </message> <message> <location filename="../../src/yuzu/configuration/configure_tas.ui" line="34"/> <source>WARNING: This is an experimental feature.<br/>It will not play back scripts frame perfectly with the current, imperfect syncing method.</source> - <translation type="unfinished"/> + <translation>UYARI: Bu deneysel bir özelliktir.<br/> Halihazırdaki kusurlu eşzamanlama yöntemi sebebiyle, scriptleri mükemmel olarak oynatmayacaktır.</translation> </message> <message> <location filename="../../src/yuzu/configuration/configure_tas.ui" line="51"/> @@ -3076,35 +3146,30 @@ Eksenleri ters çevirmek için, önce joystickinizi dikey sonra yatay olarak har <message> <location filename="../../src/yuzu/configuration/configure_tas.ui" line="57"/> <source>Enable TAS features</source> - <translation type="unfinished"/> + <translation>TAS özelliklerini Etkinleştir</translation> </message> <message> <location filename="../../src/yuzu/configuration/configure_tas.ui" line="64"/> - <source>Automatic controller profile swapping</source> - <translation>Otomatik kontrolcü profili değiştirme</translation> - </message> - <message> - <location filename="../../src/yuzu/configuration/configure_tas.ui" line="71"/> <source>Loop script</source> - <translation type="unfinished"/> + <translation>Döngü komut dosyası</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_tas.ui" line="81"/> + <location filename="../../src/yuzu/configuration/configure_tas.ui" line="74"/> <source>Pause execution during loads</source> - <translation type="unfinished"/> + <translation>Yüklemeler sırasında yürütmeyi duraklat</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_tas.ui" line="95"/> + <location filename="../../src/yuzu/configuration/configure_tas.ui" line="88"/> <source>Script Directory</source> <translation>Script Konumu</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_tas.ui" line="101"/> + <location filename="../../src/yuzu/configuration/configure_tas.ui" line="94"/> <source>Path</source> <translation>Konum</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_tas.ui" line="108"/> + <location filename="../../src/yuzu/configuration/configure_tas.ui" line="101"/> <source>...</source> <translation>...</translation> </message> @@ -3114,12 +3179,12 @@ Eksenleri ters çevirmek için, önce joystickinizi dikey sonra yatay olarak har <message> <location filename="../../src/yuzu/configuration/configure_tas.cpp" line="20"/> <source>TAS Configuration</source> - <translation type="unfinished"/> + <translation>TAS Yapılandırması</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_tas.cpp" line="53"/> + <location filename="../../src/yuzu/configuration/configure_tas.cpp" line="51"/> <source>Select TAS Load Directory...</source> - <translation type="unfinished"/> + <translation>Tas Yükleme Dizini Seçin</translation> </message> </context> <context> @@ -3179,37 +3244,37 @@ Noktanın konumunu değiştirmek için sürükleyin ya da sayıların üstüne <translation>Y</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_touch_from_button.cpp" line="200"/> + <location filename="../../src/yuzu/configuration/configure_touch_from_button.cpp" line="197"/> <source>New Profile</source> <translation>Yeni Profil</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_touch_from_button.cpp" line="200"/> + <location filename="../../src/yuzu/configuration/configure_touch_from_button.cpp" line="197"/> <source>Enter the name for the new profile.</source> <translation>Yeni profil için bir isim giriniz.</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_touch_from_button.cpp" line="211"/> + <location filename="../../src/yuzu/configuration/configure_touch_from_button.cpp" line="208"/> <source>Delete Profile</source> <translation>Profili Sil</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_touch_from_button.cpp" line="211"/> + <location filename="../../src/yuzu/configuration/configure_touch_from_button.cpp" line="208"/> <source>Delete profile %1?</source> <translation>%1 adlı profili silmek istediğinize emin misiniz?</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_touch_from_button.cpp" line="224"/> + <location filename="../../src/yuzu/configuration/configure_touch_from_button.cpp" line="221"/> <source>Rename Profile</source> <translation>Profili Yeniden Adlandır</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_touch_from_button.cpp" line="224"/> + <location filename="../../src/yuzu/configuration/configure_touch_from_button.cpp" line="221"/> <source>New name:</source> <translation>Yeni Ad:</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_touch_from_button.cpp" line="233"/> + <location filename="../../src/yuzu/configuration/configure_touch_from_button.cpp" line="230"/> <source>[press key]</source> <translation>[tuşa basın]</translation> </message> @@ -3487,7 +3552,7 @@ Noktanın konumunu değiştirmek için sürükleyin ya da sayıların üstüne <message> <location filename="../../src/yuzu/configuration/configure_vibration.ui" line="502"/> <source>Enable Accurate Vibration</source> - <translation type="unfinished"/> + <translation>Doğru Titreşimi Etkinleştir</translation> </message> </context> <context> @@ -3629,12 +3694,12 @@ Noktanın konumunu değiştirmek için sürükleyin ya da sayıların üstüne <context> <name>ControllerDialog</name> <message> - <location filename="../../src/yuzu/debugger/controller.cpp" line="17"/> + <location filename="../../src/yuzu/debugger/controller.cpp" line="21"/> <source>Controller P1</source> <translation>Kontrolcü O1</translation> </message> <message> - <location filename="../../src/yuzu/debugger/controller.cpp" line="52"/> + <location filename="../../src/yuzu/debugger/controller.cpp" line="60"/> <source>&Controller P1</source> <translation>&Kontrolcü O1</translation> </message> @@ -3642,90 +3707,95 @@ Noktanın konumunu değiştirmek için sürükleyin ya da sayıların üstüne <context> <name>GMainWindow</name> <message> - <location filename="../../src/yuzu/main.cpp" line="174"/> + <location filename="../../src/yuzu/main.cpp" line="176"/> <source><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?</source> <translation><a href='https://yuzu-emu.org/help/feature/telemetry/'>Yuzuyu geliştirmeye yardımcı olmak için </a> anonim veri toplandı. <br/><br/>Kullanım verinizi bizimle paylaşmak ister misiniz?</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="177"/> + <location filename="../../src/yuzu/main.cpp" line="179"/> <source>Telemetry</source> <translation>Telemetri</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="592"/> + <location filename="../../src/yuzu/main.cpp" line="600"/> <source>Loading Web Applet...</source> <translation>Web Uygulaması Yükleniyor...</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="639"/> - <location filename="../../src/yuzu/main.cpp" line="642"/> + <location filename="../../src/yuzu/main.cpp" line="647"/> + <location filename="../../src/yuzu/main.cpp" line="650"/> <source>Disable Web Applet</source> <translation>Web Uygulamasını Devre Dışı Bırak</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="643"/> + <location filename="../../src/yuzu/main.cpp" line="651"/> <source>Disabling the web applet will cause it to not be shown again for the rest of the emulated session. This 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?</source> <translation>Web uygulamasını devre dışı bırakmak emülasyon seansının sonuna kadar bir daha gösterilmemesine sebep olur. Bu, belirsiz davranışlara sebep olabilir ve sadece Super Mario 3D All-Stars'da kullanılmalıdır. Web uygulamasını devre dışı bırakmak istediğinize emin misiniz?</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="746"/> + <location filename="../../src/yuzu/main.cpp" line="754"/> <source>The amount of shaders currently being built</source> <translation>Şu anda derlenen shader miktarı</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="749"/> + <location filename="../../src/yuzu/main.cpp" line="756"/> + <source>The current selected resolution scaling multiplier.</source> + <translation>Geçerli seçili çözünürlük ölçekleme çarpanı.</translation> + </message> + <message> + <location filename="../../src/yuzu/main.cpp" line="759"/> <source>Current emulation speed. Values higher or lower than 100% indicate emulation is running faster or slower than a Switch.</source> <translation>Geçerli emülasyon hızı. %100'den yüksek veya düşük değerler emülasyonun bir Switch'den daha hızlı veya daha yavaş çalıştığını gösterir.</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="752"/> + <location filename="../../src/yuzu/main.cpp" line="762"/> <source>How many frames per second the game is currently displaying. This will vary from game to game and scene to scene.</source> <translation>Oyunun şuanda saniye başına kaç kare gösterdiği. Bu oyundan oyuna ve sahneden sahneye değişiklik gösterir.</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="756"/> + <location filename="../../src/yuzu/main.cpp" line="766"/> <source>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.</source> <translation>Bir Switch karesini emüle etmekte geçen zaman, karelimitleme ve v-sync hariç. Tam hız emülasyon için bu en çok 16,67 ms olmalı.</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="781"/> + <location filename="../../src/yuzu/main.cpp" line="841"/> <source>Invalid config detected</source> <translation>Geçersiz yapılandırma tespit edildi</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="782"/> + <location filename="../../src/yuzu/main.cpp" line="842"/> <source>Handheld controller can't be used on docked mode. Pro controller will be selected.</source> <translation>Handheld kontrolcü dock modunda kullanılamaz. Pro kontrolcü seçilecek.</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="794"/> + <location filename="../../src/yuzu/main.cpp" line="854"/> <source>DOCK</source> <translation>DOCK</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="828"/> + <location filename="../../src/yuzu/main.cpp" line="888"/> <source>VULKAN</source> <translation>VULKAN</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="828"/> + <location filename="../../src/yuzu/main.cpp" line="888"/> <source>OPENGL</source> <translation>OPENGL</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="886"/> + <location filename="../../src/yuzu/main.cpp" line="951"/> <source>&Clear Recent Files</source> <translation>&Son Dosyaları Temizle</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="1055"/> - <source>TAS Recording</source> - <translation type="unfinished"/> + <location filename="../../src/yuzu/main.cpp" line="1210"/> + <source>&Continue</source> + <translation>&Devam Et</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="1056"/> - <source>Overwrite file of player 1?</source> - <translation>Oyuncu 1'in dosyasının üstüne yazılsın mı?</translation> + <location filename="../../src/yuzu/main.cpp" line="1212"/> + <source>&Pause</source> + <translation type="unfinished"/> </message> <message> <location filename="../../src/yuzu/main.cpp" line="1285"/> @@ -3776,351 +3846,346 @@ Noktanın konumunu değiştirmek için sürükleyin ya da sayıların üstüne <translation>Bilinmeyen bir hata oluştu. Lütfen daha fazla detay için kütüğe göz atınız.</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="1462"/> + <location filename="../../src/yuzu/main.cpp" line="1460"/> <source>(64-bit)</source> <translation>(64-bit)</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="1462"/> + <location filename="../../src/yuzu/main.cpp" line="1460"/> <source>(32-bit)</source> <translation>(32-bit)</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="1463"/> + <location filename="../../src/yuzu/main.cpp" line="1461"/> <source>%1 %2</source> <comment>%1 is the title name. %2 indicates if the title is 64-bit or 32-bit</comment> <translation>%1 %2</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="1507"/> - <source>Start</source> - <translation>Başlat</translation> - </message> - <message> - <location filename="../../src/yuzu/main.cpp" line="1612"/> + <location filename="../../src/yuzu/main.cpp" line="1605"/> <source>Save Data</source> <translation>Kayıt Verisi</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="1660"/> + <location filename="../../src/yuzu/main.cpp" line="1653"/> <source>Mod Data</source> <translation>Mod Verisi</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="1672"/> + <location filename="../../src/yuzu/main.cpp" line="1665"/> <source>Error Opening %1 Folder</source> <translation>%1 klasörü açılırken hata</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="1673"/> - <location filename="../../src/yuzu/main.cpp" line="2079"/> + <location filename="../../src/yuzu/main.cpp" line="1666"/> + <location filename="../../src/yuzu/main.cpp" line="2072"/> <source>Folder does not exist!</source> <translation>Klasör mevcut değil!</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="1685"/> + <location filename="../../src/yuzu/main.cpp" line="1678"/> <source>Error Opening Transferable Shader Cache</source> <translation>Transfer Edilebilir Shader Cache'ini Açarken Bir Hata Oluştu</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="1686"/> + <location filename="../../src/yuzu/main.cpp" line="1679"/> <source>Failed to create the shader cache directory for this title.</source> <translation>Bu oyun için shader cache konumu oluşturulamadı.</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="1738"/> + <location filename="../../src/yuzu/main.cpp" line="1731"/> <source>Contents</source> <translation>İçerikler</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="1740"/> + <location filename="../../src/yuzu/main.cpp" line="1733"/> <source>Update</source> <translation>Güncelleme</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="1742"/> + <location filename="../../src/yuzu/main.cpp" line="1735"/> <source>DLC</source> <translation>DLC</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="1749"/> + <location filename="../../src/yuzu/main.cpp" line="1742"/> <source>Remove Entry</source> <translation>Girdiyi Kaldır</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="1749"/> + <location filename="../../src/yuzu/main.cpp" line="1742"/> <source>Remove Installed Game %1?</source> <translation>%1 Adlı Oyunu Kaldırmak İstediğinize Emin Misiniz?</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="1779"/> - <location filename="../../src/yuzu/main.cpp" line="1795"/> - <location filename="../../src/yuzu/main.cpp" line="1826"/> - <location filename="../../src/yuzu/main.cpp" line="1887"/> - <location filename="../../src/yuzu/main.cpp" line="1905"/> - <location filename="../../src/yuzu/main.cpp" line="1928"/> + <location filename="../../src/yuzu/main.cpp" line="1772"/> + <location filename="../../src/yuzu/main.cpp" line="1788"/> + <location filename="../../src/yuzu/main.cpp" line="1819"/> + <location filename="../../src/yuzu/main.cpp" line="1880"/> + <location filename="../../src/yuzu/main.cpp" line="1898"/> + <location filename="../../src/yuzu/main.cpp" line="1921"/> <source>Successfully Removed</source> <translation>Başarıyla Kaldırıldı</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="1780"/> + <location filename="../../src/yuzu/main.cpp" line="1773"/> <source>Successfully removed the installed base game.</source> <translation>Yüklenmiş oyun başarıyla kaldırıldı.</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="1783"/> - <location filename="../../src/yuzu/main.cpp" line="1798"/> - <location filename="../../src/yuzu/main.cpp" line="1821"/> + <location filename="../../src/yuzu/main.cpp" line="1776"/> + <location filename="../../src/yuzu/main.cpp" line="1791"/> + <location filename="../../src/yuzu/main.cpp" line="1814"/> <source>Error Removing %1</source> <translation>%1 Adlı Oyun Kaldırılırken Bir Hata Oluştu</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="1784"/> + <location filename="../../src/yuzu/main.cpp" line="1777"/> <source>The base game is not installed in the NAND and cannot be removed.</source> <translation>Asıl oyun NAND'de kurulu değil ve kaldırılamaz.</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="1796"/> + <location filename="../../src/yuzu/main.cpp" line="1789"/> <source>Successfully removed the installed update.</source> <translation>Yüklenmiş güncelleme başarıyla kaldırıldı.</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="1799"/> + <location filename="../../src/yuzu/main.cpp" line="1792"/> <source>There is no update installed for this title.</source> <translation>Bu oyun için yüklenmiş bir güncelleme yok.</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="1822"/> + <location filename="../../src/yuzu/main.cpp" line="1815"/> <source>There are no DLC installed for this title.</source> <translation>Bu oyun için yüklenmiş bir DLC yok.</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="1827"/> + <location filename="../../src/yuzu/main.cpp" line="1820"/> <source>Successfully removed %1 installed DLC.</source> <translation>%1 yüklenmiş DLC başarıyla kaldırıldı.</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="1835"/> + <location filename="../../src/yuzu/main.cpp" line="1828"/> <source>Delete OpenGL Transferable Shader Cache?</source> <translation>OpenGL Transfer Edilebilir Shader Cache'ini Kaldırmak İstediğinize Emin Misiniz?</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="1837"/> + <location filename="../../src/yuzu/main.cpp" line="1830"/> <source>Delete Vulkan Transferable Shader Cache?</source> <translation>Vulkan Transfer Edilebilir Shader Cache'ini Kaldırmak İstediğinize Emin Misiniz?</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="1839"/> + <location filename="../../src/yuzu/main.cpp" line="1832"/> <source>Delete All Transferable Shader Caches?</source> <translation>Tüm Transfer Edilebilir Shader Cache'leri Kaldırmak İstediğinize Emin Misiniz?</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="1841"/> + <location filename="../../src/yuzu/main.cpp" line="1834"/> <source>Remove Custom Game Configuration?</source> <translation>Oyuna Özel Yapılandırmayı Kaldırmak İstediğinize Emin Misiniz?</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="1847"/> + <location filename="../../src/yuzu/main.cpp" line="1840"/> <source>Remove File</source> <translation>Dosyayı Sil</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="1882"/> - <location filename="../../src/yuzu/main.cpp" line="1890"/> + <location filename="../../src/yuzu/main.cpp" line="1875"/> + <location filename="../../src/yuzu/main.cpp" line="1883"/> <source>Error Removing Transferable Shader Cache</source> <translation>Transfer Edilebilir Shader Cache Kaldırılırken Bir Hata Oluştu</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="1883"/> - <location filename="../../src/yuzu/main.cpp" line="1901"/> + <location filename="../../src/yuzu/main.cpp" line="1876"/> + <location filename="../../src/yuzu/main.cpp" line="1894"/> <source>A shader cache for this title does not exist.</source> <translation>Bu oyun için oluşturulmuş bir shader cache yok.</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="1888"/> + <location filename="../../src/yuzu/main.cpp" line="1881"/> <source>Successfully removed the transferable shader cache.</source> <translation>Transfer edilebilir shader cache başarıyla kaldırıldı.</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="1891"/> + <location filename="../../src/yuzu/main.cpp" line="1884"/> <source>Failed to remove the transferable shader cache.</source> <translation>Transfer edilebilir shader cache kaldırılamadı.</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="1900"/> - <location filename="../../src/yuzu/main.cpp" line="1908"/> + <location filename="../../src/yuzu/main.cpp" line="1893"/> + <location filename="../../src/yuzu/main.cpp" line="1901"/> <source>Error Removing Transferable Shader Caches</source> <translation>Transfer Edilebilir Shader Cache'ler Kaldırılırken Bir Hata Oluştu</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="1906"/> + <location filename="../../src/yuzu/main.cpp" line="1899"/> <source>Successfully removed the transferable shader caches.</source> <translation>Transfer edilebilir shader cacheler başarıyla kaldırıldı.</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="1909"/> + <location filename="../../src/yuzu/main.cpp" line="1902"/> <source>Failed to remove the transferable shader cache directory.</source> <translation>Transfer edilebilir shader cache konumu kaldırılamadı.</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="1922"/> - <location filename="../../src/yuzu/main.cpp" line="1931"/> + <location filename="../../src/yuzu/main.cpp" line="1915"/> + <location filename="../../src/yuzu/main.cpp" line="1924"/> <source>Error Removing Custom Configuration</source> <translation>Oyuna Özel Yapılandırma Kaldırılırken Bir Hata Oluştu.</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="1923"/> + <location filename="../../src/yuzu/main.cpp" line="1916"/> <source>A custom configuration for this title does not exist.</source> <translation>Bu oyun için bir özel yapılandırma yok.</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="1929"/> + <location filename="../../src/yuzu/main.cpp" line="1922"/> <source>Successfully removed the custom game configuration.</source> <translation>Oyuna özel yapılandırma başarıyla kaldırıldı.</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="1932"/> + <location filename="../../src/yuzu/main.cpp" line="1925"/> <source>Failed to remove the custom game configuration.</source> <translation>Oyuna özel yapılandırma kaldırılamadı.</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="1939"/> - <location filename="../../src/yuzu/main.cpp" line="2018"/> + <location filename="../../src/yuzu/main.cpp" line="1932"/> + <location filename="../../src/yuzu/main.cpp" line="2011"/> <source>RomFS Extraction Failed!</source> <translation>RomFS Çıkartımı Başarısız!</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="1940"/> + <location filename="../../src/yuzu/main.cpp" line="1933"/> <source>There was an error copying the RomFS files or the user cancelled the operation.</source> <translation>RomFS dosyaları kopyalanırken bir hata oluştu veya kullanıcı işlemi iptal etti.</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="1998"/> + <location filename="../../src/yuzu/main.cpp" line="1991"/> <source>Full</source> <translation>Full</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="1998"/> + <location filename="../../src/yuzu/main.cpp" line="1991"/> <source>Skeleton</source> <translation>Gövde</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="2000"/> + <location filename="../../src/yuzu/main.cpp" line="1993"/> <source>Select RomFS Dump Mode</source> <translation>RomFS Dump Modunu Seçiniz</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="2001"/> + <location filename="../../src/yuzu/main.cpp" line="1994"/> <source>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.</source> <translation>Lütfen RomFS'in nasıl dump edilmesini istediğinizi seçin.<br>"Full" tüm dosyaları yeni bir klasöre kopyalarken <br>"skeleton" sadece klasör yapısını oluşturur.</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="2019"/> + <location filename="../../src/yuzu/main.cpp" line="2012"/> <source>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</source> - <translation type="unfinished"/> + <translation>%1 konumunda RomFS çıkarmaya yetecek alan yok. Lütfen yer açın ya da Emülasyon > Yapılandırma > Sistem > Dosya Sistemi > Dump konumu kısmından farklı bir çıktı konumu belirleyin.</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="2026"/> + <location filename="../../src/yuzu/main.cpp" line="2019"/> <source>Extracting RomFS...</source> <translation>RomFS çıkartılıyor...</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="2026"/> - <location filename="../../src/yuzu/main.cpp" line="2206"/> + <location filename="../../src/yuzu/main.cpp" line="2019"/> + <location filename="../../src/yuzu/main.cpp" line="2199"/> <source>Cancel</source> <translation>İptal</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="2033"/> + <location filename="../../src/yuzu/main.cpp" line="2026"/> <source>RomFS Extraction Succeeded!</source> <translation>RomFS Çıkartımı Başarılı!</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="2034"/> + <location filename="../../src/yuzu/main.cpp" line="2027"/> <source>The operation completed successfully.</source> <translation>İşlem başarıyla tamamlandı.</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="2078"/> + <location filename="../../src/yuzu/main.cpp" line="2071"/> <source>Error Opening %1</source> <translation>%1 Açılırken Bir Hata Oluştu</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="2087"/> + <location filename="../../src/yuzu/main.cpp" line="2080"/> <source>Select Directory</source> <translation>Klasör Seç</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="2114"/> + <location filename="../../src/yuzu/main.cpp" line="2107"/> <source>Properties</source> <translation>Özellikler</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="2115"/> + <location filename="../../src/yuzu/main.cpp" line="2108"/> <source>The game properties could not be loaded.</source> <translation>Oyun özellikleri yüklenemedi.</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="2127"/> + <location filename="../../src/yuzu/main.cpp" line="2120"/> <source>Switch Executable (%1);;All Files (*.*)</source> <comment>%1 is an identifier for the Switch executable file extensions.</comment> <translation>Switch Çalıştırılabilir Dosyası (%1);;Tüm Dosyalar (*.*)</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="2131"/> + <location filename="../../src/yuzu/main.cpp" line="2124"/> <source>Load File</source> <translation>Dosya Aç</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="2143"/> + <location filename="../../src/yuzu/main.cpp" line="2136"/> <source>Open Extracted ROM Directory</source> <translation>Çıkartılmış ROM klasörünü aç</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="2154"/> + <location filename="../../src/yuzu/main.cpp" line="2147"/> <source>Invalid Directory Selected</source> <translation>Geçersiz Klasör Seçildi</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="2155"/> + <location filename="../../src/yuzu/main.cpp" line="2148"/> <source>The directory you have selected does not contain a 'main' file.</source> <translation>Seçtiğiniz klasör bir "main" dosyası içermiyor.</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="2165"/> + <location filename="../../src/yuzu/main.cpp" line="2158"/> <source>Installable Switch File (*.nca *.nsp *.xci);;Nintendo Content Archive (*.nca);;Nintendo Submission Package (*.nsp);;NX Cartridge Image (*.xci)</source> <translation>Yüklenilebilir Switch Dosyası (*.nca *.nsp *.xci);;Nintendo Content Archive (*.nca);;Nintendo Submissions Package (*.nsp);;NX Cartridge Image (*.xci)</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="2170"/> + <location filename="../../src/yuzu/main.cpp" line="2163"/> <source>Install Files</source> <translation>Dosya Kur</translation> </message> <message numerus="yes"> - <location filename="../../src/yuzu/main.cpp" line="2214"/> + <location filename="../../src/yuzu/main.cpp" line="2207"/> <source>%n file(s) remaining</source> <translation><numerusform>%n dosya kaldı</numerusform><numerusform>%n dosya kaldı</numerusform></translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="2216"/> + <location filename="../../src/yuzu/main.cpp" line="2209"/> <source>Installing file "%1"...</source> <translation>"%1" dosyası kuruluyor...</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="2262"/> - <location filename="../../src/yuzu/main.cpp" line="2276"/> + <location filename="../../src/yuzu/main.cpp" line="2255"/> + <location filename="../../src/yuzu/main.cpp" line="2269"/> <source>Install Results</source> <translation>Kurulum Sonuçları</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="2263"/> + <location filename="../../src/yuzu/main.cpp" line="2256"/> <source>To avoid possible conflicts, we discourage users from installing base games to the NAND. Please, only use this feature to install updates and DLC.</source> <translation>Olası çakışmaları önlemek için oyunları NAND'e yüklememenizi tavsiye ediyoruz. Lütfen bu özelliği sadece güncelleme ve DLC yüklemek için kullanın.</translation> </message> <message numerus="yes"> - <location filename="../../src/yuzu/main.cpp" line="2269"/> + <location filename="../../src/yuzu/main.cpp" line="2262"/> <source>%n file(s) were newly installed </source> <translation><numerusform>%n dosya güncel olarak yüklendi @@ -4128,7 +4193,7 @@ Lütfen bu özelliği sadece güncelleme ve DLC yüklemek için kullanın.</tran </numerusform></translation> </message> <message numerus="yes"> - <location filename="../../src/yuzu/main.cpp" line="2272"/> + <location filename="../../src/yuzu/main.cpp" line="2265"/> <source>%n file(s) were overwritten </source> <translation><numerusform>%n dosyanın üstüne yazıldı @@ -4136,7 +4201,7 @@ Lütfen bu özelliği sadece güncelleme ve DLC yüklemek için kullanın.</tran </numerusform></translation> </message> <message numerus="yes"> - <location filename="../../src/yuzu/main.cpp" line="2274"/> + <location filename="../../src/yuzu/main.cpp" line="2267"/> <source>%n file(s) failed to install </source> <translation><numerusform>%n dosya yüklenemedi @@ -4144,295 +4209,367 @@ Lütfen bu özelliği sadece güncelleme ve DLC yüklemek için kullanın.</tran </numerusform></translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="2375"/> + <location filename="../../src/yuzu/main.cpp" line="2368"/> <source>System Application</source> <translation>Sistem Uygulaması</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="2376"/> + <location filename="../../src/yuzu/main.cpp" line="2369"/> <source>System Archive</source> <translation>Sistem Arşivi</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="2377"/> + <location filename="../../src/yuzu/main.cpp" line="2370"/> <source>System Application Update</source> <translation>Sistem Uygulama Güncellemesi</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="2378"/> + <location filename="../../src/yuzu/main.cpp" line="2371"/> <source>Firmware Package (Type A)</source> <translation>Yazılım Paketi (Tür A)</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="2379"/> + <location filename="../../src/yuzu/main.cpp" line="2372"/> <source>Firmware Package (Type B)</source> <translation>Yazılım Paketi (Tür B)</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="2380"/> + <location filename="../../src/yuzu/main.cpp" line="2373"/> <source>Game</source> <translation>Oyun</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="2381"/> + <location filename="../../src/yuzu/main.cpp" line="2374"/> <source>Game Update</source> <translation>Oyun Güncellemesi</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="2382"/> + <location filename="../../src/yuzu/main.cpp" line="2375"/> <source>Game DLC</source> <translation>Oyun DLC'si</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="2383"/> + <location filename="../../src/yuzu/main.cpp" line="2376"/> <source>Delta Title</source> <translation>Delta Başlık</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="2386"/> + <location filename="../../src/yuzu/main.cpp" line="2379"/> <source>Select NCA Install Type...</source> <translation>NCA Kurulum Tipi Seçin...</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="2387"/> + <location filename="../../src/yuzu/main.cpp" line="2380"/> <source>Please select the type of title you would like to install this NCA as: (In most instances, the default 'Game' is fine.)</source> <translation>Lütfen bu NCA dosyası için belirlemek istediğiniz başlık türünü seçiniz: (Çoğu durumda, varsayılan olan 'Oyun' kullanılabilir.)</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="2393"/> + <location filename="../../src/yuzu/main.cpp" line="2386"/> <source>Failed to Install</source> <translation>Kurulum Başarısız Oldu</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="2394"/> + <location filename="../../src/yuzu/main.cpp" line="2387"/> <source>The title type you selected for the NCA is invalid.</source> <translation>NCA için seçtiğiniz başlık türü geçersiz</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="2429"/> + <location filename="../../src/yuzu/main.cpp" line="2422"/> <source>File not found</source> <translation>Dosya Bulunamadı</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="2430"/> + <location filename="../../src/yuzu/main.cpp" line="2423"/> <source>File "%1" not found</source> <translation>Dosya "%1" Bulunamadı</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="2445"/> - <location filename="../../src/yuzu/main.cpp" line="3448"/> - <source>&Continue</source> - <translation>&Devam Et</translation> - </message> - <message> - <location filename="../../src/yuzu/main.cpp" line="2494"/> + <location filename="../../src/yuzu/main.cpp" line="2492"/> <source>OK</source> <translation>Tamam</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="2508"/> + <location filename="../../src/yuzu/main.cpp" line="2506"/> <source>Missing yuzu Account</source> <translation>Kayıp yuzu Hesabı</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="2509"/> + <location filename="../../src/yuzu/main.cpp" line="2507"/> <source>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.</source> <translation>Oyun uyumluluk test çalışması göndermek için öncelikle yuzu hesabınla giriş yapmanız gerekiyor.<br><br/>Yuzu hesabınızla giriş yapmak için, Emülasyon &gt; Yapılandırma &gt; Web'e gidiniz.</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="2519"/> + <location filename="../../src/yuzu/main.cpp" line="2517"/> <source>Error opening URL</source> <translation>URL açılırken bir hata oluştu</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="2520"/> + <location filename="../../src/yuzu/main.cpp" line="2518"/> <source>Unable to open the URL "%1".</source> <translation>URL "%1" açılamıyor.</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="2802"/> + <location filename="../../src/yuzu/main.cpp" line="2777"/> + <source>TAS Recording</source> + <translation>TAS kayıtta</translation> + </message> + <message> + <location filename="../../src/yuzu/main.cpp" line="2777"/> + <source>Overwrite file of player 1?</source> + <translation>Oyuncu 1'in dosyasının üstüne yazılsın mı?</translation> + </message> + <message> + <location filename="../../src/yuzu/main.cpp" line="2830"/> <source>Amiibo File (%1);; All Files (*.*)</source> <translation>Amiibo Dosyası (%1);; Tüm Dosyalar (*.*)</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="2803"/> + <location filename="../../src/yuzu/main.cpp" line="2831"/> <source>Load Amiibo</source> <translation>Amiibo Yükle</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="2821"/> + <location filename="../../src/yuzu/main.cpp" line="2849"/> <source>Error opening Amiibo data file</source> <translation>Amiibo veri dosyasını açarken hata</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="2822"/> + <location filename="../../src/yuzu/main.cpp" line="2850"/> <source>Unable to open Amiibo file "%1" for reading.</source> <translation>"%1" Amiibo dosyası okunamadı</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="2830"/> + <location filename="../../src/yuzu/main.cpp" line="2858"/> <source>Error reading Amiibo data file</source> <translation>Amiibo veri dosyasını okurken hata</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="2831"/> + <location filename="../../src/yuzu/main.cpp" line="2859"/> <source>Unable to fully read Amiibo data. Expected to read %1 bytes, but was only able to read %2 bytes.</source> <translation>Amiibo verisi tamamen okunamadı. %1 byte okunması bekleniyordu, fakat bunun sadece %2'si okunabildi.</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="2839"/> + <location filename="../../src/yuzu/main.cpp" line="2867"/> <source>Error loading Amiibo data</source> <translation>Amiibo verisi yüklenirken hata</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="2840"/> + <location filename="../../src/yuzu/main.cpp" line="2868"/> <source>Unable to load Amiibo data.</source> <translation>Amiibo verisi yüklenemedi</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="2881"/> + <location filename="../../src/yuzu/main.cpp" line="2913"/> <source>Capture Screenshot</source> <translation>Ekran Görüntüsü Al</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="2882"/> + <location filename="../../src/yuzu/main.cpp" line="2914"/> <source>PNG Image (*.png)</source> <translation>PNG görüntüsü (*.png)</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="2948"/> + <location filename="../../src/yuzu/main.cpp" line="2979"/> <source>TAS state: Running %1/%2</source> - <translation type="unfinished"/> + <translation>TAS durumu: %1%2 çalışıyor</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="2950"/> + <location filename="../../src/yuzu/main.cpp" line="2981"/> <source>TAS state: Recording %1</source> - <translation type="unfinished"/> + <translation>TAS durumu: %1 kaydediliyor</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="2952"/> + <location filename="../../src/yuzu/main.cpp" line="2983"/> <source>TAS state: Idle %1/%2</source> - <translation type="unfinished"/> + <translation>TAS durumu: %1%2 boşta</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="2954"/> + <location filename="../../src/yuzu/main.cpp" line="2985"/> <source>TAS State: Invalid</source> + <translation>TAS durumu: Geçersiz</translation> + </message> + <message> + <location filename="../../src/yuzu/main.cpp" line="2999"/> + <source>&Stop Running</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/main.cpp" line="2999"/> + <source>&Start</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/main.cpp" line="3000"/> + <source>Stop R&ecording</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/main.cpp" line="3000"/> + <source>R&ecord</source> <translation type="unfinished"/> </message> <message numerus="yes"> - <location filename="../../src/yuzu/main.cpp" line="2975"/> + <location filename="../../src/yuzu/main.cpp" line="3024"/> <source>Building: %n shader(s)</source> <translation><numerusform>Oluşturuluyor: %n shader</numerusform><numerusform>Oluşturuluyor: %n shader</numerusform></translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="2982"/> + <location filename="../../src/yuzu/main.cpp" line="3033"/> + <source>Scale: %1x</source> + <comment>%1 is the resolution scaling factor</comment> + <translation>Ölçek: %1x</translation> + </message> + <message> + <location filename="../../src/yuzu/main.cpp" line="3036"/> <source>Speed: %1% / %2%</source> <translation>Hız %1% / %2%</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="2986"/> + <location filename="../../src/yuzu/main.cpp" line="3040"/> <source>Speed: %1%</source> <translation>Hız: %1%</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="2990"/> + <location filename="../../src/yuzu/main.cpp" line="3044"/> <source>Game: %1 FPS (Unlocked)</source> <translation>Oyun: %1 FPS (Sınırsız)</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="2992"/> + <location filename="../../src/yuzu/main.cpp" line="3046"/> <source>Game: %1 FPS</source> <translation>Oyun: %1 FPS</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="2994"/> + <location filename="../../src/yuzu/main.cpp" line="3048"/> <source>Frame: %1 ms</source> <translation>Kare: %1 ms</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="3004"/> + <location filename="../../src/yuzu/main.cpp" line="3059"/> <source>GPU NORMAL</source> <translation>GPU NORMAL</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="3009"/> + <location filename="../../src/yuzu/main.cpp" line="3064"/> <source>GPU HIGH</source> <translation>GPU YÜKSEK</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="3014"/> + <location filename="../../src/yuzu/main.cpp" line="3069"/> <source>GPU EXTREME</source> <translation>GPU EKSTREM</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="3019"/> + <location filename="../../src/yuzu/main.cpp" line="3074"/> <source>GPU ERROR</source> <translation>GPU HATASI</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="3076"/> + <location filename="../../src/yuzu/main.cpp" line="3084"/> + <source>NEAREST</source> + <translation>EN YAKIN</translation> + </message> + <message> + <location filename="../../src/yuzu/main.cpp" line="3087"/> + <location filename="../../src/yuzu/main.cpp" line="3102"/> + <source>BILINEAR</source> + <translation>BILINEAR</translation> + </message> + <message> + <location filename="../../src/yuzu/main.cpp" line="3090"/> + <source>BICUBIC</source> + <translation>BICUBIC</translation> + </message> + <message> + <location filename="../../src/yuzu/main.cpp" line="3093"/> + <source>GAUSSIAN</source> + <translation>GAUSYEN</translation> + </message> + <message> + <location filename="../../src/yuzu/main.cpp" line="3096"/> + <source>SCALEFORCE</source> + <translation>SCALEFORCE</translation> + </message> + <message> + <location filename="../../src/yuzu/main.cpp" line="3099"/> + <source>FSR</source> + <translation>FSR</translation> + </message> + <message> + <location filename="../../src/yuzu/main.cpp" line="3111"/> + <location filename="../../src/yuzu/main.cpp" line="3117"/> + <source>NO AA</source> + <translation>NO AA</translation> + </message> + <message> + <location filename="../../src/yuzu/main.cpp" line="3114"/> + <source>FXAA</source> + <translation>FXAA</translation> + </message> + <message> + <location filename="../../src/yuzu/main.cpp" line="3175"/> <source>The game you are trying to load requires additional files from your Switch to be dumped before playing.<br/><br/>For more information on dumping these files, please see the following wiki page: <a href='https://yuzu-emu.org/wiki/dumping-system-archives-and-the-shared-fonts-from-a-switch-console/'>Dumping System Archives and the Shared Fonts from a Switch Console</a>.<br/><br/>Would you like to quit back to the game list? Continuing emulation may result in crashes, corrupted save data, or other bugs.</source> <translation>Yüklemeye çalıştığınız oyun oynanmadan önce Switch'inizden ek dosyaların alınmasını gerektiriyor.<br/><br/>Bu dosyaları nasıl alacağınız hakkında daha fazla bilgi için, lütfen bu wiki sayfasına göz atınız: <a href='https://yuzu-emu.org/wiki/dumping-system-archives-and-the-shared-fonts-from-a-switch-console/'>Konsolunuzdan Sistem Arşivleri ve Shared Fontları Almak</a>.<br/><br/>oyun listesine geri dönmek ister misiniz? Emülasyona devam etmek çökmelere, kayıt dosyalarının bozulmasına veya başka hatalara sebep verebilir.</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="3091"/> + <location filename="../../src/yuzu/main.cpp" line="3190"/> <source>yuzu was unable to locate a Switch system archive. %1</source> <translation>Yuzu bir Switch sistem arşivi bulamadı. %1</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="3093"/> + <location filename="../../src/yuzu/main.cpp" line="3192"/> <source>yuzu was unable to locate a Switch system archive: %1. %2</source> <translation>Yuzu bir Switch sistem arşivi bulamadı: %1. %2</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="3097"/> + <location filename="../../src/yuzu/main.cpp" line="3196"/> <source>System Archive Not Found</source> <translation>Sistem Arşivi Bulunamadı</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="3099"/> + <location filename="../../src/yuzu/main.cpp" line="3198"/> <source>System Archive Missing</source> <translation>Sistem Arşivi Kayıp</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="3105"/> + <location filename="../../src/yuzu/main.cpp" line="3204"/> <source>yuzu was unable to locate the Switch shared fonts. %1</source> <translation>Yuzu Switch shared fontlarını bulamadı. %1</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="3106"/> + <location filename="../../src/yuzu/main.cpp" line="3205"/> <source>Shared Fonts Not Found</source> <translation>Shared Font'lar Bulunamadı</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="3108"/> + <location filename="../../src/yuzu/main.cpp" line="3207"/> <source>Shared Font Missing</source> <translation>Shared Font Kayıp</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="3114"/> + <location filename="../../src/yuzu/main.cpp" line="3213"/> <source>Fatal Error</source> <translation>Önemli Hata</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="3115"/> + <location filename="../../src/yuzu/main.cpp" line="3214"/> <source>yuzu has encountered a fatal error, please see the log for more details. For more information on accessing the log, please see the following page: <a href='https://community.citra-emu.org/t/how-to-upload-the-log-file/296'>How to Upload the Log File</a>.<br/><br/>Would you like to quit back to the game list? Continuing emulation may result in crashes, corrupted save data, or other bugs.</source> <translation>Yuzu önemli bir hatayla karşılaştı, lütfen daha fazla detay için kütüğe bakınız. Kütüğe erişmek hakkında daha fazla bilgi için, lütfen bu sayfaya göz atınız: <a href='https://community.citra-emu.org/t/how-to-upload-the-log-file/296'>Log Dosyası Nasıl Yüklenir</a>.<br/><br/>Oyun listesine geri dönmek ister misiniz? Emülasyona devam etmek çökmelere, kayıt dosyalarının bozulmasına veya başka hatalara sebep olabilir.</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="3124"/> + <location filename="../../src/yuzu/main.cpp" line="3223"/> <source>Fatal Error encountered</source> <translation>Önemli Bir Hatayla Karşılaşıldı</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="3147"/> + <location filename="../../src/yuzu/main.cpp" line="3246"/> <source>Confirm Key Rederivation</source> <translation>Anahtar Yeniden Türetimini Onayla</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="3148"/> + <location filename="../../src/yuzu/main.cpp" line="3247"/> <source>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. @@ -4449,37 +4586,37 @@ ve opsiyonel olarak yedekler alın. Bu sizin otomatik oluşturulmuş anahtar dosyalarınızı silecek ve anahtar türetme modülünü tekrar çalıştıracak.</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="3180"/> + <location filename="../../src/yuzu/main.cpp" line="3279"/> <source>Missing fuses</source> <translation>Anahtarlar Kayıp</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="3183"/> + <location filename="../../src/yuzu/main.cpp" line="3282"/> <source> - Missing BOOT0</source> <translation>- BOOT0 Kayıp</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="3186"/> + <location filename="../../src/yuzu/main.cpp" line="3285"/> <source> - Missing BCPKG2-1-Normal-Main</source> <translation>- BCPKG2-1-Normal-Main Kayıp</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="3189"/> + <location filename="../../src/yuzu/main.cpp" line="3288"/> <source> - Missing PRODINFO</source> <translation>- PRODINFO Kayıp</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="3193"/> + <location filename="../../src/yuzu/main.cpp" line="3292"/> <source>Derivation Components Missing</source> <translation>Türeten Bileşenleri Kayıp</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="3194"/> - <source>Components are missing that may hinder key derivation from completing. <br>Please follow <a href='https://yuzu-emu.org/help/quickstart/'>the yuzu quickstart guide</a> to get all your keys and games.<br><br><small>(%1)</small></source> - <translation>Bazı bileşenler kayıp, bu anahtar türetimini yarıda bırakabilir.<br>Lütfen tüm anahtar ve oyunlarınıza erişmek için<a href='https://yuzu-emu.org/help/quickstart/'>Yuzu Hızlı Başlangıç Kılavuzu</a>'nu takip edin<br><br><small>(%1)</small></translation> + <location filename="../../src/yuzu/main.cpp" line="3293"/> + <source>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></source> + <translation>Şifreleme anahtarları eksik. <br>Lütfen takip edin<a href='https://yuzu-emu.org/help/quickstart/'>yuzu hızlı başlangıç kılavuzunu</a>tüm anahtarlarınızı, aygıt yazılımınızı ve oyunlarınızı almada.<br><br><small>(%1)</small></translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="3203"/> + <location filename="../../src/yuzu/main.cpp" line="3302"/> <source>Deriving keys... This may take up to a minute depending on your system's performance.</source> @@ -4488,39 +4625,39 @@ Bu sistem performansınıza bağlı olarak bir dakika kadar zaman alabilir.</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="3205"/> + <location filename="../../src/yuzu/main.cpp" line="3304"/> <source>Deriving Keys</source> <translation>Anahtarlar Türetiliyor</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="3250"/> + <location filename="../../src/yuzu/main.cpp" line="3349"/> <source>Select RomFS Dump Target</source> <translation>RomFS Dump Hedefini Seçiniz</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="3251"/> + <location filename="../../src/yuzu/main.cpp" line="3350"/> <source>Please select which RomFS you would like to dump.</source> <translation>Lütfen dump etmek istediğiniz RomFS'i seçiniz.</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="3266"/> + <location filename="../../src/yuzu/main.cpp" line="3365"/> <source>Are you sure you want to close yuzu?</source> <translation>yuzu'yu kapatmak istediğinizden emin misiniz?</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="3267"/> - <location filename="../../src/yuzu/main.cpp" line="3342"/> - <location filename="../../src/yuzu/main.cpp" line="3355"/> + <location filename="../../src/yuzu/main.cpp" line="3366"/> + <location filename="../../src/yuzu/main.cpp" line="3443"/> + <location filename="../../src/yuzu/main.cpp" line="3456"/> <source>yuzu</source> <translation>yuzu</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="3343"/> + <location filename="../../src/yuzu/main.cpp" line="3444"/> <source>Are you sure you want to stop the emulation? Any unsaved progress will be lost.</source> <translation>Emülasyonu durdurmak istediğinizden emin misiniz? Kaydedilmemiş veriler kaybolur.</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="3352"/> + <location filename="../../src/yuzu/main.cpp" line="3453"/> <source>The currently running application has requested yuzu to not exit. Would you like to bypass this and exit anyway?</source> @@ -4532,38 +4669,38 @@ Görmezden gelip kapatmak ister misiniz?</translation> <context> <name>GRenderWindow</name> <message> - <location filename="../../src/yuzu/bootmanager.cpp" line="675"/> + <location filename="../../src/yuzu/bootmanager.cpp" line="976"/> <source>OpenGL not available!</source> <translation>OpenGL kullanıma uygun değil!</translation> </message> <message> - <location filename="../../src/yuzu/bootmanager.cpp" line="676"/> + <location filename="../../src/yuzu/bootmanager.cpp" line="977"/> <source>yuzu has not been compiled with OpenGL support.</source> <translation>Yuzu OpenGL desteklememektedir.</translation> </message> <message> - <location filename="../../src/yuzu/bootmanager.cpp" line="695"/> - <location filename="../../src/yuzu/bootmanager.cpp" line="715"/> + <location filename="../../src/yuzu/bootmanager.cpp" line="996"/> + <location filename="../../src/yuzu/bootmanager.cpp" line="1016"/> <source>Error while initializing OpenGL!</source> <translation>OpenGl başlatılırken bir hata oluştu!</translation> </message> <message> - <location filename="../../src/yuzu/bootmanager.cpp" line="696"/> + <location filename="../../src/yuzu/bootmanager.cpp" line="997"/> <source>Your GPU may not support OpenGL, or you do not have the latest graphics driver.</source> <translation>GPU'nuz OpenGL desteklemiyor veya güncel bir grafik sürücüsüne sahip değilsiniz.</translation> </message> <message> - <location filename="../../src/yuzu/bootmanager.cpp" line="705"/> + <location filename="../../src/yuzu/bootmanager.cpp" line="1006"/> <source>Error while initializing OpenGL 4.6!</source> <translation>OpenGl 4.6 başlatılırken bir hata oluştu!</translation> </message> <message> - <location filename="../../src/yuzu/bootmanager.cpp" line="706"/> + <location filename="../../src/yuzu/bootmanager.cpp" line="1007"/> <source>Your GPU may not support OpenGL 4.6, or you do not have the latest graphics driver.<br><br>GL Renderer:<br>%1</source> <translation>GPU'nuz OpenGL 4.6'yı desteklemiyor veya güncel bir grafik sürücüsüne sahip değilsiniz.<br><br>GL Renderer:<br>%1</translation> </message> <message> - <location filename="../../src/yuzu/bootmanager.cpp" line="716"/> + <location filename="../../src/yuzu/bootmanager.cpp" line="1017"/> <source>Your GPU may not support one or more required OpenGL extensions. Please ensure you have the latest graphics driver.<br><br>GL Renderer:<br>%1<br><br>Unsupported extensions:<br>%2</source> <translation>GPU'nuz gereken bir yada daha fazla OpenGL eklentisini desteklemiyor Lütfen güncel bir grafik sürücüsüne sahip olduğunuzdan emin olun.<br><br>GL Renderer:<br>%1<br><br> Desteklenmeyen Eklentiler:<br>%2</translation> </message> @@ -4674,7 +4811,7 @@ Görmezden gelip kapatmak ister misiniz?</translation> <message> <location filename="../../src/yuzu/game_list.cpp" line="530"/> <source>Dump RomFS to SDMC</source> - <translation type="unfinished"/> + <translation>RomFS'i SDMC'ye çıkar.</translation> </message> <message> <location filename="../../src/yuzu/game_list.cpp" line="531"/> @@ -4928,197 +5065,212 @@ Screen.</source> <translation>&Emülasyon</translation> </message> <message> - <location filename="../../src/yuzu/main.ui" line="79"/> + <location filename="../../src/yuzu/main.ui" line="78"/> <source>&View</source> <translation>&Görünüm</translation> </message> <message> - <location filename="../../src/yuzu/main.ui" line="83"/> + <location filename="../../src/yuzu/main.ui" line="82"/> <source>&Reset Window Size</source> <translation>&Pencere Boyutunu Sıfırla</translation> </message> <message> - <location filename="../../src/yuzu/main.ui" line="88"/> + <location filename="../../src/yuzu/main.ui" line="87"/> + <source>&Debugging</source> + <translation>&Hata Ayıklama</translation> + </message> + <message> + <location filename="../../src/yuzu/main.ui" line="92"/> <source>Reset Window Size to &720p</source> <translation>Pencere Boyutunu &720p'ye Sıfırla</translation> </message> <message> - <location filename="../../src/yuzu/main.ui" line="91"/> + <location filename="../../src/yuzu/main.ui" line="95"/> <source>Reset Window Size to 720p</source> <translation>Pencere Boyutunu 720p'ye Sıfırla</translation> </message> <message> - <location filename="../../src/yuzu/main.ui" line="96"/> + <location filename="../../src/yuzu/main.ui" line="100"/> <source>Reset Window Size to &900p</source> <translation>Pencere Boyutunu &900p'ye Sıfırla</translation> </message> <message> - <location filename="../../src/yuzu/main.ui" line="99"/> + <location filename="../../src/yuzu/main.ui" line="103"/> <source>Reset Window Size to 900p</source> <translation>Pencere Boyutunu 900p'ye Sıfırla</translation> </message> <message> - <location filename="../../src/yuzu/main.ui" line="104"/> + <location filename="../../src/yuzu/main.ui" line="108"/> <source>Reset Window Size to &1080p</source> <translation>Pencere Boyutunu &1080p'ye Sıfırla</translation> </message> <message> - <location filename="../../src/yuzu/main.ui" line="107"/> + <location filename="../../src/yuzu/main.ui" line="111"/> <source>Reset Window Size to 1080p</source> <translation>Pencere Boyutunu 1080p'ye Sıfırla</translation> </message> <message> - <location filename="../../src/yuzu/main.ui" line="112"/> - <source>&Debugging</source> - <translation>&Hata Ayıklama</translation> - </message> - <message> - <location filename="../../src/yuzu/main.ui" line="126"/> + <location filename="../../src/yuzu/main.ui" line="125"/> <source>&Tools</source> <translation>&Aletler</translation> </message> <message> - <location filename="../../src/yuzu/main.ui" line="135"/> + <location filename="../../src/yuzu/main.ui" line="129"/> + <source>&TAS</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/main.ui" line="144"/> <source>&Help</source> <translation>&Yardım</translation> </message> <message> - <location filename="../../src/yuzu/main.ui" line="155"/> + <location filename="../../src/yuzu/main.ui" line="164"/> <source>&Install Files to NAND...</source> <translation>&NAND'e Dosya Kur...</translation> </message> <message> - <location filename="../../src/yuzu/main.ui" line="160"/> + <location filename="../../src/yuzu/main.ui" line="169"/> <source>L&oad File...</source> <translation>&Dosyayı Yükle...</translation> </message> <message> - <location filename="../../src/yuzu/main.ui" line="165"/> + <location filename="../../src/yuzu/main.ui" line="174"/> <source>Load &Folder...</source> <translation>&Klasörü Yükle...</translation> </message> <message> - <location filename="../../src/yuzu/main.ui" line="170"/> + <location filename="../../src/yuzu/main.ui" line="179"/> <source>E&xit</source> <translation>&Çıkış</translation> </message> <message> - <location filename="../../src/yuzu/main.ui" line="178"/> - <source>&Start</source> - <translation>B&aşlat</translation> - </message> - <message> - <location filename="../../src/yuzu/main.ui" line="186"/> + <location filename="../../src/yuzu/main.ui" line="187"/> <source>&Pause</source> <translation>&Duraklat</translation> </message> <message> - <location filename="../../src/yuzu/main.ui" line="194"/> + <location filename="../../src/yuzu/main.ui" line="195"/> <source>&Stop</source> <translation>Du&rdur</translation> </message> <message> - <location filename="../../src/yuzu/main.ui" line="199"/> + <location filename="../../src/yuzu/main.ui" line="200"/> <source>&Reinitialize keys...</source> <translation>&Anahtarları Yeniden Kur...</translation> </message> <message> - <location filename="../../src/yuzu/main.ui" line="204"/> + <location filename="../../src/yuzu/main.ui" line="205"/> <source>&About yuzu</source> <translation>&Yuzu Hakkında</translation> </message> <message> - <location filename="../../src/yuzu/main.ui" line="212"/> + <location filename="../../src/yuzu/main.ui" line="213"/> <source>Single &Window Mode</source> <translation>&Tek Pencere Modu</translation> </message> <message> - <location filename="../../src/yuzu/main.ui" line="217"/> + <location filename="../../src/yuzu/main.ui" line="218"/> <source>Con&figure...</source> <translation>&Yapılandır...</translation> </message> <message> - <location filename="../../src/yuzu/main.ui" line="225"/> + <location filename="../../src/yuzu/main.ui" line="226"/> <source>Display D&ock Widget Headers</source> - <translation type="unfinished"/> + <translation>D&ock Widget Başlıkları'nı Göster</translation> </message> <message> - <location filename="../../src/yuzu/main.ui" line="233"/> + <location filename="../../src/yuzu/main.ui" line="234"/> <source>Show &Filter Bar</source> - <translation type="unfinished"/> + <translation>&Filtre Çubuğu'nu Göster</translation> </message> <message> - <location filename="../../src/yuzu/main.ui" line="241"/> + <location filename="../../src/yuzu/main.ui" line="242"/> <source>Show &Status Bar</source> - <translation type="unfinished"/> + <translation>&Durum Çubuğu'nu Göster</translation> </message> <message> - <location filename="../../src/yuzu/main.ui" line="244"/> + <location filename="../../src/yuzu/main.ui" line="245"/> <source>Show Status Bar</source> <translation>Durum Çubuğunu Göster</translation> </message> <message> - <location filename="../../src/yuzu/main.ui" line="252"/> + <location filename="../../src/yuzu/main.ui" line="253"/> <source>F&ullscreen</source> <translation>&Tam Ekran</translation> </message> <message> - <location filename="../../src/yuzu/main.ui" line="260"/> + <location filename="../../src/yuzu/main.ui" line="261"/> <source>&Restart</source> <translation>&Yeniden Başlat</translation> </message> <message> - <location filename="../../src/yuzu/main.ui" line="268"/> + <location filename="../../src/yuzu/main.ui" line="269"/> <source>Load &Amiibo...</source> <translation>&Amiibo Yükle...</translation> </message> <message> - <location filename="../../src/yuzu/main.ui" line="276"/> + <location filename="../../src/yuzu/main.ui" line="277"/> <source>&Report Compatibility</source> <translation>&Uyumluluk Bildir</translation> </message> <message> - <location filename="../../src/yuzu/main.ui" line="284"/> + <location filename="../../src/yuzu/main.ui" line="285"/> <source>Open &Mods Page</source> <translation>&Mod Sayfasını Aç</translation> </message> <message> - <location filename="../../src/yuzu/main.ui" line="289"/> + <location filename="../../src/yuzu/main.ui" line="290"/> <source>Open &Quickstart Guide</source> <translation>&Hızlı Başlangıç Kılavuzunu Aç</translation> </message> <message> - <location filename="../../src/yuzu/main.ui" line="294"/> + <location filename="../../src/yuzu/main.ui" line="295"/> <source>&FAQ</source> <translation>&SSS</translation> </message> <message> - <location filename="../../src/yuzu/main.ui" line="299"/> + <location filename="../../src/yuzu/main.ui" line="300"/> <source>Open &yuzu Folder</source> <translation>&yuzu Klasörünü Aç</translation> </message> <message> - <location filename="../../src/yuzu/main.ui" line="307"/> + <location filename="../../src/yuzu/main.ui" line="308"/> <source>&Capture Screenshot</source> <translation>&Ekran Görüntüsü Al</translation> </message> <message> - <location filename="../../src/yuzu/main.ui" line="312"/> - <source>Configure &TAS...</source> + <location filename="../../src/yuzu/main.ui" line="313"/> + <source>&Configure TAS...</source> <translation type="unfinished"/> </message> <message> - <location filename="../../src/yuzu/main.ui" line="320"/> + <location filename="../../src/yuzu/main.ui" line="321"/> <source>Configure C&urrent Game...</source> <translation>&Geçerli Oyunu Yapılandır...</translation> </message> + <message> + <location filename="../../src/yuzu/main.ui" line="329"/> + <source>&Start</source> + <translation>B&aşlat</translation> + </message> + <message> + <location filename="../../src/yuzu/main.ui" line="337"/> + <source>&Reset</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/main.ui" line="345"/> + <source>R&ecord</source> + <translation type="unfinished"/> + </message> </context> <context> <name>MicroProfileDialog</name> <message> <location filename="../../src/yuzu/debugger/profiler.cpp" line="51"/> <source>&MicroProfile</source> - <translation type="unfinished"/> + <translation>&MicroProfile</translation> </message> </context> <context> @@ -5157,10 +5309,15 @@ p, li { white-space: pre-wrap; } <context> <name>PlayerControlPreview</name> <message> - <location filename="../../src/yuzu/configuration/configure_input_player_widget.cpp" line="1566"/> + <location filename="../../src/yuzu/configuration/configure_input_player_widget.cpp" line="1572"/> <source>START/PAUSE</source> <translation>BAŞLAT/DURDUR</translation> </message> + <message> + <location filename="../../src/yuzu/configuration/configure_input_player_widget.cpp" line="2685"/> + <source>Charging</source> + <translation type="unfinished"/> + </message> </context> <context> <name>QObject</name> @@ -5191,142 +5348,222 @@ p, li { white-space: pre-wrap; } </message> <message> <location filename="../../src/yuzu/configuration/configure_touch_from_button.cpp" line="23"/> - <location filename="../../src/yuzu/configuration/configure_mouse_advanced.cpp" line="32"/> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="72"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="43"/> <source>Shift</source> <translation>Shift</translation> </message> <message> <location filename="../../src/yuzu/configuration/configure_touch_from_button.cpp" line="25"/> - <location filename="../../src/yuzu/configuration/configure_mouse_advanced.cpp" line="34"/> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="74"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="45"/> <source>Ctrl</source> <translation>Ctrl</translation> </message> <message> <location filename="../../src/yuzu/configuration/configure_touch_from_button.cpp" line="27"/> - <location filename="../../src/yuzu/configuration/configure_mouse_advanced.cpp" line="36"/> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="76"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="47"/> <source>Alt</source> <translation>Alt</translation> </message> <message> <location filename="../../src/yuzu/configuration/configure_touch_from_button.cpp" line="37"/> - <location filename="../../src/yuzu/configuration/configure_mouse_advanced.cpp" line="46"/> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="103"/> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="190"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="130"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="196"/> <source>[not set]</source> <translation>[belirlenmedi]</translation> </message> <message> <location filename="../../src/yuzu/configuration/configure_touch_from_button.cpp" line="49"/> - <location filename="../../src/yuzu/configuration/configure_mouse_advanced.cpp" line="58"/> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="152"/> <source>Hat %1 %2</source> <translation>Hat %1 %2</translation> </message> <message> <location filename="../../src/yuzu/configuration/configure_touch_from_button.cpp" line="56"/> - <location filename="../../src/yuzu/configuration/configure_mouse_advanced.cpp" line="65"/> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="159"/> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="210"/> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="214"/> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="218"/> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="222"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="219"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="223"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="227"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="231"/> <source>Axis %1%2</source> <translation>Eksen %1%2</translation> </message> <message> <location filename="../../src/yuzu/configuration/configure_touch_from_button.cpp" line="62"/> - <location filename="../../src/yuzu/configuration/configure_mouse_advanced.cpp" line="71"/> <source>Button %1</source> <translation>Tuş %1</translation> </message> <message> <location filename="../../src/yuzu/configuration/configure_touch_from_button.cpp" line="68"/> - <location filename="../../src/yuzu/configuration/configure_mouse_advanced.cpp" line="76"/> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="185"/> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="227"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="190"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="204"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="234"/> <source>[unknown]</source> <translation>[bilinmeyen]</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_mouse_advanced.cpp" line="22"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="58"/> + <source>Left</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="60"/> + <source>Right</source> + <translation type="unfinished"/> + </message> + <message> <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="62"/> - <source>Click 0</source> - <translation>Tıklama 0</translation> + <source>Down</source> + <translation type="unfinished"/> </message> <message> - <location filename="../../src/yuzu/configuration/configure_mouse_advanced.cpp" line="24"/> <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="64"/> - <source>Click 1</source> - <translation>Tıklama 1</translation> + <source>Up</source> + <translation type="unfinished"/> </message> <message> - <location filename="../../src/yuzu/configuration/configure_mouse_advanced.cpp" line="26"/> <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="66"/> - <source>Click 2</source> - <translation>Tıklama 2</translation> + <source>Z</source> + <translation type="unfinished"/> </message> <message> - <location filename="../../src/yuzu/configuration/configure_mouse_advanced.cpp" line="28"/> <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="68"/> - <source>Click 3</source> - <translation>Tıklama 3</translation> + <source>R</source> + <translation type="unfinished"/> </message> <message> - <location filename="../../src/yuzu/configuration/configure_mouse_advanced.cpp" line="30"/> <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="70"/> - <source>Click 4</source> - <translation>Tıklama 4</translation> + <source>L</source> + <translation type="unfinished"/> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="109"/> - <source>%1%2</source> - <translation>%1%2</translation> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="72"/> + <source>A</source> + <translation type="unfinished"/> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="117"/> - <source>GC Axis %1%2</source> - <translation>OK Eksen %1%2</translation> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="74"/> + <source>B</source> + <translation type="unfinished"/> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="121"/> - <source>GC Button %1</source> - <translation>OK Tuş %1</translation> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="76"/> + <source>X</source> + <translation type="unfinished"/> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="130"/> - <source>TAS Axis %1</source> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="78"/> + <source>Y</source> <translation type="unfinished"/> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="134"/> - <source>TAS Btn %1</source> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="80"/> + <source>Start</source> <translation type="unfinished"/> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="142"/> - <source>Motion %1</source> - <translation>Hareket %1</translation> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="82"/> + <source>L1</source> + <translation type="unfinished"/> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="166"/> - <source>%1Button %2</source> - <translation>%1Tuş %2</translation> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="84"/> + <source>L2</source> + <translation type="unfinished"/> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="170"/> - <source>SDL Motion</source> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="86"/> + <source>L3</source> <translation type="unfinished"/> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="180"/> - <source>%1Click %2</source> - <translation>%1Tıklama %2</translation> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="88"/> + <source>R1</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="90"/> + <source>R2</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="92"/> + <source>R3</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="94"/> + <source>Circle</source> + <translation type="unfinished"/> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="205"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="96"/> + <source>Cross</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="98"/> + <source>Square</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="100"/> + <source>Triangle</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="102"/> + <source>Share</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="104"/> + <source>Options</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="106"/> + <source>[undefined]</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="140"/> + <source>%1%2</source> + <translation>%1%2</translation> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="144"/> + <source>[invalid]</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="154"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="178"/> + <source>%1%2Hat %3</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="158"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="181"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="184"/> + <source>%1%2Axis %3</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="164"/> + <source>%1%2Axis %3,%4,%5</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="168"/> + <source>%1%2Motion %3</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="172"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="187"/> + <source>%1%2Button %3</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="214"/> <source>[unused]</source> <translation>[kullanılmayan]</translation> </message> @@ -5367,7 +5604,7 @@ p, li { white-space: pre-wrap; } <location filename="../../src/yuzu/applets/qt_controller.ui" line="1656"/> <location filename="../../src/yuzu/applets/qt_controller.ui" line="1857"/> <location filename="../../src/yuzu/applets/qt_controller.ui" line="2054"/> - <location filename="../../src/yuzu/applets/qt_controller.cpp" line="419"/> + <location filename="../../src/yuzu/applets/qt_controller.cpp" line="411"/> <source>Pro Controller</source> <translation>Pro Controller</translation> </message> @@ -5380,7 +5617,7 @@ p, li { white-space: pre-wrap; } <location filename="../../src/yuzu/applets/qt_controller.ui" line="1661"/> <location filename="../../src/yuzu/applets/qt_controller.ui" line="1862"/> <location filename="../../src/yuzu/applets/qt_controller.ui" line="2059"/> - <location filename="../../src/yuzu/applets/qt_controller.cpp" line="423"/> + <location filename="../../src/yuzu/applets/qt_controller.cpp" line="415"/> <source>Dual Joycons</source> <translation>İkili Joyconlar</translation> </message> @@ -5393,7 +5630,7 @@ p, li { white-space: pre-wrap; } <location filename="../../src/yuzu/applets/qt_controller.ui" line="1666"/> <location filename="../../src/yuzu/applets/qt_controller.ui" line="1867"/> <location filename="../../src/yuzu/applets/qt_controller.ui" line="2064"/> - <location filename="../../src/yuzu/applets/qt_controller.cpp" line="427"/> + <location filename="../../src/yuzu/applets/qt_controller.cpp" line="419"/> <source>Left Joycon</source> <translation>Sol Joycon</translation> </message> @@ -5406,7 +5643,7 @@ p, li { white-space: pre-wrap; } <location filename="../../src/yuzu/applets/qt_controller.ui" line="1671"/> <location filename="../../src/yuzu/applets/qt_controller.ui" line="1872"/> <location filename="../../src/yuzu/applets/qt_controller.ui" line="2069"/> - <location filename="../../src/yuzu/applets/qt_controller.cpp" line="431"/> + <location filename="../../src/yuzu/applets/qt_controller.cpp" line="423"/> <source>Right Joycon</source> <translation>Sağ Joycon</translation> </message> @@ -5434,7 +5671,7 @@ p, li { white-space: pre-wrap; } </message> <message> <location filename="../../src/yuzu/applets/qt_controller.ui" line="932"/> - <location filename="../../src/yuzu/applets/qt_controller.cpp" line="436"/> + <location filename="../../src/yuzu/applets/qt_controller.cpp" line="428"/> <source>Handheld</source> <translation>Handheld</translation> </message> @@ -5555,7 +5792,7 @@ p, li { white-space: pre-wrap; } <translation>8</translation> </message> <message> - <location filename="../../src/yuzu/applets/qt_controller.cpp" line="441"/> + <location filename="../../src/yuzu/applets/qt_controller.cpp" line="433"/> <source>GameCube Controller</source> <translation>GameCube Kontrolcüsü</translation> </message> @@ -5649,13 +5886,13 @@ p, li { white-space: pre-wrap; } <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></translation> </message> <message> - <location filename="../../src/yuzu/applets/qt_software_keyboard.cpp" line="396"/> - <location filename="../../src/yuzu/applets/qt_software_keyboard.cpp" line="406"/> + <location filename="../../src/yuzu/applets/qt_software_keyboard.cpp" line="399"/> + <location filename="../../src/yuzu/applets/qt_software_keyboard.cpp" line="409"/> <source>OK</source> <translation>Tamam</translation> </message> <message> - <location filename="../../src/yuzu/applets/qt_software_keyboard.cpp" line="406"/> + <location filename="../../src/yuzu/applets/qt_software_keyboard.cpp" line="409"/> <source>Cancel</source> <translation>İptal</translation> </message> @@ -5725,7 +5962,7 @@ p, li { white-space: pre-wrap; } <message> <location filename="../../src/yuzu/debugger/wait_tree.cpp" line="253"/> <source>runnable</source> - <translation type="unfinished"/> + <translation>çalışabilir</translation> </message> <message> <location filename="../../src/yuzu/debugger/wait_tree.cpp" line="255"/> @@ -5760,7 +5997,7 @@ p, li { white-space: pre-wrap; } <message> <location filename="../../src/yuzu/debugger/wait_tree.cpp" line="276"/> <source>waiting for suspend resume</source> - <translation type="unfinished"/> + <translation>askıdaki işlemin sürdürülmesi bekleniyor</translation> </message> <message> <location filename="../../src/yuzu/debugger/wait_tree.cpp" line="279"/> @@ -5846,7 +6083,7 @@ p, li { white-space: pre-wrap; } <message> <location filename="../../src/yuzu/debugger/wait_tree.cpp" line="468"/> <source>&Wait Tree</source> - <translation type="unfinished"/> + <translation>&Wait Tree</translation> </message> </context> </TS>
\ No newline at end of file diff --git a/dist/languages/vi_VN.ts b/dist/languages/vi_VN.ts new file mode 100644 index 000000000..2f6213e1d --- /dev/null +++ b/dist/languages/vi_VN.ts @@ -0,0 +1,6044 @@ +<?xml version="1.0" ?><!DOCTYPE TS><TS language="vi_VN" sourcelanguage="en_US" version="2.1"> +<context> + <name>AboutDialog</name> + <message> + <location filename="../../src/yuzu/aboutdialog.ui" line="14"/> + <source>About yuzu</source> + <translation>Thông tin về yuzu</translation> + </message> + <message> + <location filename="../../src/yuzu/aboutdialog.ui" line="30"/> + <source><html><head/><body><p><img src=":/icons/yuzu.png"/></p></body></html></source> + <translation><html><head/><body><p><img src=":/icons/yuzu.png"/></p></body></html></translation> + </message> + <message> + <location filename="../../src/yuzu/aboutdialog.ui" line="60"/> + <source><html><head/><body><p><span style=" font-size:28pt;">yuzu</span></p></body></html></source> + <translation><html><head/><body><p><span style=" font-size:28pt;">yuzu</span></p></body></html></translation> + </message> + <message> + <location filename="../../src/yuzu/aboutdialog.ui" line="73"/> + <source><html><head/><body><p>%1 (%2)</p></body></html></source> + <translation><html><head/><body><p>%1 (%2)</p></body></html></translation> + </message> + <message> + <location filename="../../src/yuzu/aboutdialog.ui" line="86"/> + <source><!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 GPLv2.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></source> + <translation><!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 là một phần mềm giả lập thử nghiệm dưới dạng mã nguồn mở cho máy Nintendo Switch, được cấp phép theo giấy phép GPLv2.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;">Bạn không được phép sử dụng phần mềm này để chơi những trò chơi mà bạn sở hữu một cách bất hợp pháp.</span></p></body></html></translation> + </message> + <message> + <location filename="../../src/yuzu/aboutdialog.ui" line="118"/> + <source><html><head/><body><p><a href="https://yuzu-emu.org/"><span style=" text-decoration: underline; color:#039be5;">Website</span></a> | <a href="https://github.com/yuzu-emu"><span style=" text-decoration: underline; color:#039be5;">Source Code</span></a> | <a href="https://github.com/yuzu-emu/yuzu/graphs/contributors"><span style=" text-decoration: underline; color:#039be5;">Contributors</span></a> | <a href="https://github.com/yuzu-emu/yuzu/blob/master/license.txt"><span style=" text-decoration: underline; color:#039be5;">License</span></a></p></body></html></source> + <translation><html><head/><body><p><a href="https://yuzu-emu.org/"><span style=" text-decoration: underline; color:#039be5;">Trang web</span></a> | <a href="https://github.com/yuzu-emu"><span style=" text-decoration: underline; color:#039be5;">Mã nguồn</span></a> | <a href="https://github.com/yuzu-emu/yuzu/graphs/contributors"><span style=" text-decoration: underline; color:#039be5;">Đóng góp</span></a> | <a href="https://github.com/yuzu-emu/yuzu/blob/master/license.txt"><span style=" text-decoration: underline; color:#039be5;">Giấy phép</span></a></p></body></html></translation> + </message> + <message> + <location filename="../../src/yuzu/aboutdialog.ui" line="134"/> + <source><html><head/><body><p><span style=" font-size:7pt;">&quot;Nintendo Switch&quot; is a trademark of Nintendo. yuzu is not affiliated with Nintendo in any way.</span></p></body></html></source> + <translation><html><head/><body><p><span style=" font-size:7pt;">&quot;Nintendo Switch&quot; là thương hiệu của Nintendo. yuzu không hề liên kết với Nintendo dưới bất kỳ hình thức nào.</span></p></body></html></translation> + </message> +</context> +<context> + <name>CalibrationConfigurationDialog</name> + <message> + <location filename="../../src/yuzu/configuration/configure_motion_touch.cpp" line="29"/> + <source>Communicating with the server...</source> + <translation>Đang giao tiếp với máy chủ...</translation> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_motion_touch.cpp" line="30"/> + <source>Cancel</source> + <translation>Huỷ</translation> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_motion_touch.cpp" line="48"/> + <source>Touch the top left corner <br>of your touchpad.</source> + <translation>Hãy chạm vào góc trên cùng<br>bên trái trên touchpad của bạn.</translation> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_motion_touch.cpp" line="51"/> + <source>Now touch the bottom right corner <br>of your touchpad.</source> + <translation>Giờ hãy chạm vào góc dưới cùng<br>bên phải trên touchpad của bạn.</translation> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_motion_touch.cpp" line="54"/> + <source>Configuration completed!</source> + <translation>Đã hoàn thành quá trình thiết lập!</translation> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_motion_touch.cpp" line="61"/> + <source>OK</source> + <translation>OK</translation> + </message> +</context> +<context> + <name>CompatDB</name> + <message> + <location filename="../../src/yuzu/compatdb.ui" line="20"/> + <source>Report Compatibility</source> + <translation>Báo cáo tương thích</translation> + </message> + <message> + <location filename="../../src/yuzu/compatdb.ui" line="27"/> + <location filename="../../src/yuzu/compatdb.ui" line="63"/> + <source>Report Game Compatibility</source> + <translation>Báo cáo trò chơi tương thích</translation> + </message> + <message> + <location filename="../../src/yuzu/compatdb.ui" line="36"/> + <source><html><head/><body><p><span style=" font-size:10pt;">Should you choose to submit a test case to the </span><a href="https://yuzu-emu.org/game/"><span style=" font-size:10pt; text-decoration: underline; color:#0000ff;">yuzu Compatibility List</span></a><span style=" font-size:10pt;">, The following information will be collected and displayed on the site:</span></p><ul style="margin-top: 0px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; -qt-list-indent: 1;"><li style=" margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">Hardware Information (CPU / GPU / Operating System)</li><li style=" margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">Which version of yuzu you are running</li><li style=" margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">The connected yuzu account</li></ul></body></html></source> + <translation><html><head/><body><p><span style=" font-size:10pt;">Nếu bạn chọn gửi bản kiểm tra vào </span><a href="https://yuzu-emu.org/game/"><span style=" font-size:10pt; text-decoration: underline; color:#0000ff;">danh sách tương thích yuzu</span></a><span style=" font-size:10pt;">, Thông tin sau sẽ được thu thập và hiển thị lên trang web:</span></p><ul style="margin-top: 0px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; -qt-list-indent: 1;"><li style=" margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">Thông tin phần cứng (CPU / GPU / Hệ điều hành)</li><li style=" margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">Phiên bản yuzu bạn đang chạy</li><li style=" margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">Tài khoản yuzu đang kết nối</li></ul></body></html></translation> + </message> + <message> + <location filename="../../src/yuzu/compatdb.ui" line="72"/> + <source>Perfect</source> + <translation>Tốt nhất</translation> + </message> + <message> + <location filename="../../src/yuzu/compatdb.ui" line="79"/> + <source><html><head/><body><p>Game functions flawlessly with no audio or graphical glitches.</p></body></html></source> + <translation><html><head/><body><p>Có thể chơi một cách mượt mà mà không có lỗi âm thanh hoặc đồ họa nào.</p></body></html></translation> + </message> + <message> + <location filename="../../src/yuzu/compatdb.ui" line="89"/> + <source>Great </source> + <translation>Tốt</translation> + </message> + <message> + <location filename="../../src/yuzu/compatdb.ui" line="96"/> + <source><html><head/><body><p>Game functions with minor graphical or audio glitches and is playable from start to finish. May require some workarounds.</p></body></html></source> + <translation><html><head/><body><p>Có thể chơi từ đầu đến cuối nhưng vẫn có một số lỗi nhỏ về đồ họa hoặc âm thanh. Có thể sẽ cần tới một vài tinh chỉnh nào đó.</p></body></html></translation> + </message> + <message> + <location filename="../../src/yuzu/compatdb.ui" line="106"/> + <source>Okay</source> + <translation>Tạm ổn</translation> + </message> + <message> + <location filename="../../src/yuzu/compatdb.ui" line="113"/> + <source><html><head/><body><p>Game functions with major graphical or audio glitches, but game is playable from start to finish with workarounds.</p></body></html></source> + <translation><html><head/><body><p>Tạm chơi được nhưng có lỗi đồ họa hoặc âm thanh một cách đáng kể, tuy vậy vẫn có thể chơi hết từ đầu đến cuối với một số tinh chỉnh.</p></body></html></translation> + </message> + <message> + <location filename="../../src/yuzu/compatdb.ui" line="123"/> + <source>Bad</source> + <translation>Không tốt</translation> + </message> + <message> + <location filename="../../src/yuzu/compatdb.ui" line="130"/> + <source><html><head/><body><p>Game functions, but with major graphical or audio glitches. Unable to progress in specific areas due to glitches even with workarounds.</p></body></html></source> + <translation><html><head/><body><p>Chơi được nhưng có nhiều lỗi đồ họa hoặc âm thanh. Không thể chơi tiếp ở một số nơi nào đó do lỗi dù có tinh chỉnh thế nào đi nữa.</p></body></html></translation> + </message> + <message> + <location filename="../../src/yuzu/compatdb.ui" line="140"/> + <source>Intro/Menu</source> + <translation>Phần mở đầu/Menu</translation> + </message> + <message> + <location filename="../../src/yuzu/compatdb.ui" line="147"/> + <source><html><head/><body><p>Game is completely unplayable due to major graphical or audio glitches. Unable to progress past the Start Screen.</p></body></html></source> + <translation><html><head/><body><p>Hoàn toàn không thể chơi được do có nhiều lỗi đồ họa hoặc âm thanh. Không thể chơi tiếp sau khi bấm nút bắt đầu trò chơi.</p></body></html></translation> + </message> + <message> + <location filename="../../src/yuzu/compatdb.ui" line="157"/> + <source>Won't Boot</source> + <translation>Không hoạt động</translation> + </message> + <message> + <location filename="../../src/yuzu/compatdb.ui" line="170"/> + <source><html><head/><body><p>The game crashes when attempting to startup.</p></body></html></source> + <translation><html><head/><body><p>Trò chơi sẽ thoát đột ngột khi khởi động.</p></body></html></translation> + </message> + <message> + <location filename="../../src/yuzu/compatdb.ui" line="182"/> + <source><html><head/><body><p>Independent of speed or performance, how well does this game play from start to finish on this version of yuzu?</p></body></html></source> + <translation><html><head/><body><p>Không phụ thuộc vào tốc độ hay hiệu suất, trò chơi này chơi như thế nào từ đầu đến cuối trên phiên bản này của yuzu?</p></body></html></translation> + </message> + <message> + <location filename="../../src/yuzu/compatdb.ui" line="206"/> + <source>Thank you for your submission!</source> + <translation>Cảm ơn bạn đã gửi đến cho chúng tôi!</translation> + </message> + <message> + <location filename="../../src/yuzu/compatdb.cpp" line="59"/> + <source>Submitting</source> + <translation>Đang gửi</translation> + </message> + <message> + <location filename="../../src/yuzu/compatdb.cpp" line="72"/> + <source>Communication error</source> + <translation>Đã xảy ra lỗi giao tiếp với máy chủ</translation> + </message> + <message> + <location filename="../../src/yuzu/compatdb.cpp" line="73"/> + <source>An error occurred while sending the Testcase</source> + <translation>Có lỗi xảy ra khi gửi Testcase</translation> + </message> + <message> + <location filename="../../src/yuzu/compatdb.cpp" line="75"/> + <source>Next</source> + <translation>Tiếp theo</translation> + </message> +</context> +<context> + <name>ConfigureAudio</name> + <message> + <location filename="../../src/yuzu/configuration/configure_audio.ui" line="14"/> + <location filename="../../src/yuzu/configuration/configure_audio.ui" line="20"/> + <source>Audio</source> + <translation>Âm thanh</translation> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_audio.ui" line="28"/> + <source>Output Engine:</source> + <translation>Đầu ra hệ thống:</translation> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_audio.ui" line="42"/> + <source>Audio Device:</source> + <translation>Thiết bị âm thanh:</translation> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_audio.ui" line="70"/> + <source>Use global volume</source> + <translation>Sử dụng âm lượng trong cài đặt</translation> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_audio.ui" line="75"/> + <source>Set volume:</source> + <translation>Âm lượng tuỳ chỉnh:</translation> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_audio.ui" line="83"/> + <source>Volume:</source> + <translation>Âm lượng:</translation> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_audio.ui" line="128"/> + <source>0 %</source> + <translation>0 %</translation> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_audio.cpp" line="97"/> + <source>%1%</source> + <comment>Volume percentage (e.g. 50%)</comment> + <translation>%1%</translation> + </message> +</context> +<context> + <name>ConfigureCpu</name> + <message> + <location filename="../../src/yuzu/configuration/configure_cpu.ui" line="14"/> + <source>Form</source> + <translation>Mẫu</translation> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_cpu.ui" line="17"/> + <source>CPU</source> + <translation>CPU</translation> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_cpu.ui" line="25"/> + <source>General</source> + <translation>Chung</translation> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_cpu.ui" line="34"/> + <source>Accuracy:</source> + <translation>Độ chính xác</translation> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_cpu.ui" line="42"/> + <source>Auto</source> + <translation>Tự động</translation> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_cpu.ui" line="47"/> + <source>Accurate</source> + <translation>Tuyệt đối</translation> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_cpu.ui" line="52"/> + <source>Unsafe</source> + <translation>Tương đối</translation> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_cpu.ui" line="63"/> + <source>We recommend setting accuracy to "Auto".</source> + <translation>Chúng tôi khuyến khích sử dụng chế độ "Tự động"</translation> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_cpu.ui" line="80"/> + <source>Unsafe CPU Optimization Settings</source> + <translation>Cài đặt tối ưu cho CPU ở chế độ tương đối</translation> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_cpu.ui" line="86"/> + <source>These settings reduce accuracy for speed.</source> + <translation>Những cài đặt sau giảm độ chính xác của giả lập để đổi lấy tốc độ.</translation> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_cpu.ui" line="96"/> + <source> + <div>This option improves speed by reducing accuracy of fused-multiply-add instructions on CPUs without native FMA support.</div> + </source> + <translation> + <div>Chức năng này tăng tốc độ giả lập bằng cách giảm độ chính xác của tập lệnh phép tính gộp cộng và nhân (FMA) trên các dòng CPU không hỗ trợ nó.</div> +</translation> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_cpu.ui" line="101"/> + <source>Unfuse FMA (improve performance on CPUs without FMA)</source> + <translation>Không dùng FMA (tăng hiệu suất cho các dòng CPU không hỗ trợ FMA)</translation> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_cpu.ui" line="108"/> + <source> + <div>This option improves the speed of some approximate floating-point functions by using less accurate native approximations.</div> + </source> + <translation> + <div>Chức năng này cải thiện tốc độ của một số chức năng dấu phẩy động tương đối bằng cách sử dụng tính năng làm tròn kém chính xác hơn.</div> +</translation> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_cpu.ui" line="113"/> + <source>Faster FRSQRTE and FRECPE</source> + <translation>Chạy FRSQRTE và FRECPE nhanh hơn</translation> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_cpu.ui" line="120"/> + <source> + <div>This option improves the speed of 32 bits ASIMD floating-point functions by running with incorrect rounding modes.</div> + </source> + <translation> + <div>Tùy chọn này cải thiện tốc độ của các hàm dấu phẩy động ASIMD 32 bit bằng cách chạy với các chế độ làm tròn không chính xác.</div> + </translation> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_cpu.ui" line="125"/> + <source>Faster ASIMD instructions (32 bits only)</source> + <translation>Các lệnh ASIMD nhanh hơn (chỉ áp dụng cho 32 bit)</translation> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_cpu.ui" line="132"/> + <source> + <div>This option improves speed by removing NaN checking. Please note this also reduces accuracy of certain floating-point instructions.</div> + </source> + <translation> +<div>Tùy chọn này sẽ cải thiện tốc độ bằng việc gỡ bỏ Kiểm tra NaN. Hãy nhớ là tùy chọn cũng sẽ giảm độ chính xác cho các dòng lệnh floating-point.</div> +</translation> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_cpu.ui" line="137"/> + <source>Inaccurate NaN handling</source> + <translation>Xử lí NaN gặp lỗi</translation> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_cpu.ui" line="144"/> + <source> + <div>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.</div> + </source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_cpu.ui" line="149"/> + <source>Disable address space checks</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_cpu.ui" line="174"/> + <source>CPU settings are available only when game is not running.</source> + <translation>Cài đặt CPU chỉ có sẵn khi không chạy trò chơi.</translation> + </message> +</context> +<context> + <name>ConfigureCpuDebug</name> + <message> + <location filename="../../src/yuzu/configuration/configure_cpu_debug.ui" line="14"/> + <source>Form</source> + <translation>Mẫu</translation> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_cpu_debug.ui" line="17"/> + <source>CPU</source> + <translation>CPU</translation> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_cpu_debug.ui" line="25"/> + <source>Toggle CPU Optimizations</source> + <translation>Tuỳ chọn cho tối ưu CPU</translation> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_cpu_debug.ui" line="31"/> + <source><html><head/><body><p><span style=" font-weight:600;">For debugging only.</span><br/>If you're not sure what these do, keep all of these enabled. <br/>These settings, when disabled, only take effect when CPU Debugging is enabled. </p></body></html></source> + <translation><html><head/><body><p><span style=" font-weight:600;">Chỉ dành cho việc gỡ lỗi.</span><br/>Nếu bạn không biết những sự lựa chọn này làm gì, hãy bật tất cả.<br/>Những cài đặt này, khi tắt, chỉ hiệu quả khi bật "Gỡ lỗi CPU". </p></body></html></translation> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_cpu_debug.ui" line="41"/> + <source> + <div style="white-space: nowrap">This optimization speeds up memory accesses by the guest program.</div> + <div style="white-space: nowrap">Enabling it inlines accesses to PageTable::pointers into emitted code.</div> + <div style="white-space: nowrap">Disabling this forces all memory accesses to go through the Memory::Read/Memory::Write functions.</div> + </source> + <translation> + <div style="white-space: nowrap">Sự tối ưu hóa này làm cho việc truy cập bộ nhớ của chương trình khách nhanh hơn.</div> + <div style="white-space: nowrap">Bật nó giúp PageTable::pointers có thể được truy cập trong mã được phát ra.</div> + <div style="white-space: nowrap">Tắt nó làm cho mọi truy cập vào bộ nhớ bắt buộc phải qua các function Memory::Read/Memory::Write.</div> + </translation> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_cpu_debug.ui" line="48"/> + <source>Enable inline page tables</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_cpu_debug.ui" line="55"/> + <source> + <div>This optimization avoids dispatcher lookups by allowing emitted basic blocks to jump directly to other basic blocks if the destination PC is static.</div> + </source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_cpu_debug.ui" line="60"/> + <source>Enable block linking</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_cpu_debug.ui" line="67"/> + <source> + <div>This optimization avoids dispatcher lookups by keeping track potential return addresses of BL instructions. This approximates what happens with a return stack buffer on a real CPU.</div> + </source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_cpu_debug.ui" line="72"/> + <source>Enable return stack buffer</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_cpu_debug.ui" line="79"/> + <source> + <div>Enable a two-tiered dispatch system. A faster dispatcher written in assembly has a small MRU cache of jump destinations is used first. If that fails, dispatch falls back to the slower C++ dispatcher.</div> + </source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_cpu_debug.ui" line="84"/> + <source>Enable fast dispatcher</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_cpu_debug.ui" line="91"/> + <source> + <div>Enables an IR optimization that reduces unnecessary accesses to the CPU context structure.</div> + </source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_cpu_debug.ui" line="96"/> + <source>Enable context elimination</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_cpu_debug.ui" line="103"/> + <source> + <div>Enables IR optimizations that involve constant propagation.</div> + </source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_cpu_debug.ui" line="108"/> + <source>Enable constant propagation</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_cpu_debug.ui" line="115"/> + <source> + <div>Enables miscellaneous IR optimizations.</div> + </source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_cpu_debug.ui" line="120"/> + <source>Enable miscellaneous optimizations</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_cpu_debug.ui" line="127"/> + <source> + <div style="white-space: nowrap">When enabled, a misalignment is only triggered when an access crosses a page boundary.</div> + <div style="white-space: nowrap">When disabled, a misalignment is triggered on all misaligned accesses.</div> + </source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_cpu_debug.ui" line="133"/> + <source>Enable misalignment check reduction</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_cpu_debug.ui" line="140"/> + <source> + <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">Disabling this forces all memory accesses to use Software MMU Emulation.</div> + </source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_cpu_debug.ui" line="147"/> + <source>Enable Host MMU Emulation</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_cpu_debug.ui" line="172"/> + <source>CPU settings are available only when game is not running.</source> + <translation>Cài đặt CPU chỉ có sẵn khi không chạy trò chơi.</translation> + </message> +</context> +<context> + <name>ConfigureDebug</name> + <message> + <location filename="../../src/yuzu/configuration/configure_debug.ui" line="9"/> + <source>Logging</source> + <translation>Sổ ghi chép</translation> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_debug.ui" line="17"/> + <source>Global Log Filter</source> + <translation>Bộ lọc sổ ghi chép</translation> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_debug.ui" line="29"/> + <source>Show Log in Console</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_debug.ui" line="36"/> + <source>Open Log Location</source> + <translation>Mở vị trí sổ ghi chép</translation> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_debug.ui" line="46"/> + <source>When checked, the max size of the log increases from 100 MB to 1 GB</source> + <translation>Khi tích vào, dung lượng tối đa cho file log chuyển từ 100 MB lên 1 GB</translation> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_debug.ui" line="49"/> + <source>Enable Extended Logging**</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_debug.ui" line="59"/> + <source>Homebrew</source> + <translation>Homebrew</translation> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_debug.ui" line="67"/> + <source>Arguments String</source> + <translation>Chuỗi đối số</translation> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_debug.ui" line="82"/> + <source>Graphics</source> + <translation>Đồ hoạ</translation> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_debug.ui" line="91"/> + <source>When checked, the graphics API enters a slower debugging mode</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_debug.ui" line="94"/> + <source>Enable Graphics Debugging</source> + <translation>Kích hoạt chế độ gỡ lỗi đồ hoạ</translation> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_debug.ui" line="101"/> + <source>When checked, it enables Nsight Aftermath crash dumps</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_debug.ui" line="104"/> + <source>Enable Nsight Aftermath</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_debug.ui" line="114"/> + <source>When checked, it disables the macro Just In Time compiler. Enabling this makes games run slower</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_debug.ui" line="117"/> + <source>Disable Macro JIT</source> + <translation>Không dùng Macro JIT</translation> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_debug.ui" line="124"/> + <source>When checked, yuzu will log statistics about the compiled pipeline cache</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_debug.ui" line="127"/> + <source>Enable Shader Feedback</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_debug.ui" line="134"/> + <source>When checked, it executes shaders without loop logic changes</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_debug.ui" line="137"/> + <source>Disable Loop safety checks</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_debug.ui" line="147"/> + <source>Debugging</source> + <translation>Vá lỗi</translation> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_debug.ui" line="153"/> + <source>Enable FS Access Log</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_debug.ui" line="160"/> + <source>Enable Verbose Reporting Services**</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_debug.ui" line="170"/> + <source>Advanced</source> + <translation>Nâng Cao</translation> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_debug.ui" line="176"/> + <source>Kiosk (Quest) Mode</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_debug.ui" line="183"/> + <source>Enable CPU Debugging</source> + <translation>Bật Vá Lỗi CPU</translation> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_debug.ui" line="190"/> + <source>Enable Debug Asserts</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_debug.ui" line="197"/> + <source>Enable Auto-Stub**</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_debug.ui" line="204"/> + <source>Enable all Controller Types</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_debug.ui" line="219"/> + <source>**This will be reset automatically when yuzu closes.</source> + <translation>**Sẽ tự động thiết lập lại khi tắt yuzu.</translation> + </message> +</context> +<context> + <name>ConfigureDebugController</name> + <message> + <location filename="../../src/yuzu/configuration/configure_debug_controller.ui" line="14"/> + <source>Configure Debug Controller</source> + <translation>Thiết lập bộ điều khiển vá lỗi</translation> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_debug_controller.ui" line="40"/> + <source>Clear</source> + <translation>Làm trống</translation> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_debug_controller.ui" line="47"/> + <source>Defaults</source> + <translation>Quay về mặc định</translation> + </message> +</context> +<context> + <name>ConfigureDebugTab</name> + <message> + <location filename="../../src/yuzu/configuration/configure_debug_tab.ui" line="14"/> + <source>Form</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_debug_tab.ui" line="17"/> + <location filename="../../src/yuzu/configuration/configure_debug_tab.cpp" line="17"/> + <source>Debug</source> + <translation>Vá lỗi</translation> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_debug_tab.cpp" line="18"/> + <source>CPU</source> + <translation>CPU</translation> + </message> +</context> +<context> + <name>ConfigureDialog</name> + <message> + <location filename="../../src/yuzu/configuration/configure.ui" line="20"/> + <source>yuzu Configuration</source> + <translation>Thiết lập yuzu</translation> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_dialog.cpp" line="59"/> + <location filename="../../src/yuzu/configuration/configure_dialog.cpp" line="162"/> + <source>Audio</source> + <translation>Âm thanh</translation> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_dialog.cpp" line="60"/> + <location filename="../../src/yuzu/configuration/configure_dialog.cpp" line="160"/> + <source>CPU</source> + <translation>CPU</translation> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_dialog.cpp" line="61"/> + <source>Debug</source> + <translation>Gỡ lỗi</translation> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_dialog.cpp" line="62"/> + <source>Filesystem</source> + <translation>Hệ thống tệp tin</translation> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_dialog.cpp" line="63"/> + <location filename="../../src/yuzu/configuration/configure_dialog.cpp" line="156"/> + <source>General</source> + <translation>Chung</translation> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_dialog.cpp" line="64"/> + <location filename="../../src/yuzu/configuration/configure_dialog.cpp" line="161"/> + <source>Graphics</source> + <translation>Đồ hoạ</translation> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_dialog.cpp" line="65"/> + <source>GraphicsAdvanced</source> + <translation>Đồ họa Nâng cao</translation> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_dialog.cpp" line="66"/> + <source>Hotkeys</source> + <translation>Phím tắt</translation> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_dialog.cpp" line="67"/> + <location filename="../../src/yuzu/configuration/configure_dialog.cpp" line="163"/> + <source>Controls</source> + <translation>Phím</translation> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_dialog.cpp" line="68"/> + <source>Profiles</source> + <translation>Hồ sơ</translation> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_dialog.cpp" line="69"/> + <source>Network</source> + <translation>Mạng</translation> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_dialog.cpp" line="70"/> + <location filename="../../src/yuzu/configuration/configure_dialog.cpp" line="158"/> + <source>System</source> + <translation>Hệ thống</translation> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_dialog.cpp" line="71"/> + <source>Game List</source> + <translation>Danh sách trò chơi</translation> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_dialog.cpp" line="72"/> + <source>Web</source> + <translation>Web</translation> + </message> +</context> +<context> + <name>ConfigureFilesystem</name> + <message> + <location filename="../../src/yuzu/configuration/configure_filesystem.ui" line="14"/> + <source>Form</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_filesystem.ui" line="17"/> + <source>Filesystem</source> + <translation>File hệ thống</translation> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_filesystem.ui" line="25"/> + <source>Storage Directories</source> + <translation>Thư mục lưu trữ</translation> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_filesystem.ui" line="31"/> + <source>NAND</source> + <translation>NAND</translation> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_filesystem.ui" line="38"/> + <location filename="../../src/yuzu/configuration/configure_filesystem.ui" line="58"/> + <location filename="../../src/yuzu/configuration/configure_filesystem.ui" line="114"/> + <location filename="../../src/yuzu/configuration/configure_filesystem.ui" line="136"/> + <location filename="../../src/yuzu/configuration/configure_filesystem.ui" line="143"/> + <source>...</source> + <translation>...</translation> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_filesystem.ui" line="51"/> + <source>SD Card</source> + <translation>Thẻ nhớ SD</translation> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_filesystem.ui" line="84"/> + <source>Gamecard</source> + <translation>Thẻ nhớ trò chơi</translation> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_filesystem.ui" line="90"/> + <source>Path</source> + <translation>Đường dẫn</translation> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_filesystem.ui" line="100"/> + <source>Inserted</source> + <translation>Đã chèn vào</translation> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_filesystem.ui" line="107"/> + <source>Current Game</source> + <translation>Game hiện tại</translation> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_filesystem.ui" line="124"/> + <source>Patch Manager</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_filesystem.ui" line="152"/> + <source>Dump Decompressed NSOs</source> + <translation>Sao chép NSO đã giải nén</translation> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_filesystem.ui" line="159"/> + <source>Dump ExeFS</source> + <translation>Sao chép ExeFS</translation> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_filesystem.ui" line="168"/> + <source>Mod Load Root</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_filesystem.ui" line="175"/> + <source>Dump Root</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_filesystem.ui" line="201"/> + <source>Caching</source> + <translation>Bộ nhớ đệm</translation> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_filesystem.ui" line="209"/> + <source>Cache Game List Metadata</source> + <translation>Lưu bộ nhớ đệm của danh sách trò chơi</translation> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_filesystem.ui" line="216"/> + <location filename="../../src/yuzu/configuration/configure_filesystem.cpp" line="124"/> + <location filename="../../src/yuzu/configuration/configure_filesystem.cpp" line="128"/> + <location filename="../../src/yuzu/configuration/configure_filesystem.cpp" line="133"/> + <source>Reset Metadata Cache</source> + <translation>Khôi phục bộ nhớ đệm của metadata</translation> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_filesystem.cpp" line="86"/> + <source>Select Emulated NAND Directory...</source> + <translation>Chọn Thư Mục Giả Lập NAND...</translation> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_filesystem.cpp" line="89"/> + <source>Select Emulated SD Directory...</source> + <translation>Chọn Thư Mục Giả Lập SD...</translation> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_filesystem.cpp" line="92"/> + <source>Select Gamecard Path...</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_filesystem.cpp" line="95"/> + <source>Select Dump Directory...</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_filesystem.cpp" line="98"/> + <source>Select Mod Load Directory...</source> + <translation>Chọn Thư Mục Chứa Mod...</translation> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_filesystem.cpp" line="125"/> + <source>The metadata cache is already empty.</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_filesystem.cpp" line="129"/> + <source>The operation completed successfully.</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_filesystem.cpp" line="134"/> + <source>The metadata cache couldn't be deleted. It might be in use or non-existent.</source> + <translation type="unfinished"/> + </message> +</context> +<context> + <name>ConfigureGeneral</name> + <message> + <location filename="../../src/yuzu/configuration/configure_general.ui" line="14"/> + <source>Form</source> + <translation>Mẫu</translation> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_general.ui" line="17"/> + <location filename="../../src/yuzu/configuration/configure_general.ui" line="25"/> + <source>General</source> + <translation>Chung</translation> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_general.ui" line="50"/> + <location filename="../../src/yuzu/configuration/configure_general.ui" line="57"/> + <source>Use global framerate cap</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_general.ui" line="62"/> + <source>Set framerate cap:</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_general.ui" line="70"/> + <source>Requires the use of the FPS Limiter Toggle hotkey to take effect.</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_general.ui" line="73"/> + <source>Framerate Cap</source> + <translation>Giới hạn Tốc độ khung hình</translation> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_general.ui" line="95"/> + <source>x</source> + <translation>x</translation> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_general.ui" line="116"/> + <source>Limit Speed Percent</source> + <translation>Giới hạn phần trăm tốc độ</translation> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_general.ui" line="123"/> + <source>%</source> + <translation>%</translation> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_general.ui" line="141"/> + <source>Multicore CPU Emulation</source> + <translation>Giả lập CPU đa nhân</translation> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_general.ui" line="148"/> + <source>Confirm exit while emulation is running</source> + <translation>Xác nhận thoát trong khi đang chạy giả lập</translation> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_general.ui" line="155"/> + <source>Prompt for user on game boot</source> + <translation>Hiển thị cửa sổ chọn người dùng khi bắt đầu trò chơi</translation> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_general.ui" line="162"/> + <source>Pause emulation when in background</source> + <translation>Tạm dừng giả lập khi chạy nền</translation> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_general.ui" line="169"/> + <source>Hide mouse on inactivity</source> + <translation>Ẩn con trỏ chuột khi không dùng</translation> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_general.ui" line="211"/> + <source>Reset All Settings</source> + <translation>Đặt lại mọi tùy chỉnh</translation> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_general.cpp" line="78"/> + <source>yuzu</source> + <translation>yuzu</translation> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_general.cpp" line="79"/> + <source>This reset all settings and remove all per-game configurations. This will not delete game directories, profiles, or input profiles. Proceed?</source> + <translation>Quá trình này sẽ thiết lập lại toàn bộ tùy chỉnh và gỡ hết mọi cài đặt cho từng game riêng lẻ. Quá trình này không xóa đường dẫn tới thư mục game, hồ sơ, hay hồ sơ của thiết lập phím. Tiếp tục?</translation> + </message> +</context> +<context> + <name>ConfigureGraphics</name> + <message> + <location filename="../../src/yuzu/configuration/configure_graphics.ui" line="14"/> + <source>Form</source> + <translation>Mẫu</translation> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_graphics.ui" line="17"/> + <source>Graphics</source> + <translation>Đồ họa</translation> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_graphics.ui" line="25"/> + <source>API Settings</source> + <translation>Cài đặt API</translation> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_graphics.ui" line="64"/> + <source>Shader Backend:</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_graphics.ui" line="92"/> + <source>Device:</source> + <translation>Thiết bị đồ hoạ:</translation> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_graphics.ui" line="120"/> + <source>API:</source> + <translation>API đồ hoạ:</translation> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_graphics.ui" line="156"/> + <source>Graphics Settings</source> + <translation>Cài đặt đồ hoạ</translation> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_graphics.ui" line="162"/> + <source>Use disk pipeline cache</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_graphics.ui" line="169"/> + <source>Use asynchronous GPU emulation</source> + <translation>Dùng giả lập GPU không đồng bộ</translation> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_graphics.ui" line="176"/> + <source>Accelerate ASTC texture decoding</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_graphics.ui" line="198"/> + <source>NVDEC emulation:</source> + <translation>Giả lập NVDEC</translation> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_graphics.ui" line="206"/> + <source>No Video Output</source> + <translation>Không Video Đầu Ra</translation> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_graphics.ui" line="211"/> + <source>CPU Video Decoding</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_graphics.ui" line="216"/> + <source>GPU Video Decoding (Default)</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_graphics.ui" line="242"/> + <source>Fullscreen Mode:</source> + <translation>Chế độ Toàn màn hình:</translation> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_graphics.ui" line="250"/> + <source>Borderless Windowed</source> + <translation>Cửa sổ không viền</translation> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_graphics.ui" line="255"/> + <source>Exclusive Fullscreen</source> + <translation>Toàn màn hình</translation> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_graphics.ui" line="281"/> + <source>Aspect Ratio:</source> + <translation>Tỉ lệ khung hình:</translation> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_graphics.ui" line="289"/> + <source>Default (16:9)</source> + <translation>Mặc định (16:9)</translation> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_graphics.ui" line="294"/> + <source>Force 4:3</source> + <translation>Dùng 4:3</translation> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_graphics.ui" line="299"/> + <source>Force 21:9</source> + <translation>Dùng 21:9</translation> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_graphics.ui" line="304"/> + <source>Stretch to Window</source> + <translation>Kéo dãn đến cửa sổ phần mềm</translation> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_graphics.ui" line="330"/> + <source>Resolution:</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_graphics.ui" line="338"/> + <source>0.5X (360p/540p) [EXPERIMENTAL]</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_graphics.ui" line="343"/> + <source>0.75X (540p/810p) [EXPERIMENTAL]</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_graphics.ui" line="348"/> + <source>1X (720p/1080p)</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_graphics.ui" line="353"/> + <source>2X (1440p/2160p)</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_graphics.ui" line="358"/> + <source>3X (2160p/3240p)</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_graphics.ui" line="363"/> + <source>4X (2880p/4320p)</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_graphics.ui" line="368"/> + <source>5X (3600p/5400p)</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_graphics.ui" line="373"/> + <source>6X (4320p/6480p)</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_graphics.ui" line="399"/> + <source>Window Adapting Filter:</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_graphics.ui" line="407"/> + <source>Nearest Neighbor</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_graphics.ui" line="412"/> + <source>Bilinear</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_graphics.ui" line="417"/> + <source>Bicubic</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_graphics.ui" line="422"/> + <source>Gaussian</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_graphics.ui" line="427"/> + <source>ScaleForce</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_graphics.ui" line="432"/> + <source>AMD FidelityFX™️ Super Resolution [Vulkan Only]</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_graphics.ui" line="458"/> + <source>Anti-Aliasing Method:</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_graphics.ui" line="466"/> + <source>None</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_graphics.ui" line="471"/> + <source>FXAA</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_graphics.ui" line="506"/> + <location filename="../../src/yuzu/configuration/configure_graphics.ui" line="516"/> + <source>Use global background color</source> + <translation>Dùng màu nền theo cài đặt</translation> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_graphics.ui" line="521"/> + <source>Set background color:</source> + <translation>Chọn màu nền:</translation> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_graphics.ui" line="529"/> + <source>Background Color:</source> + <translation>Màu nền:</translation> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_graphics.cpp" line="34"/> + <source>GLASM (Assembly Shaders, NVIDIA Only)</source> + <translation>GLASM (Assembly Shaders, Chỉ Cho NVIDIA)</translation> + </message> +</context> +<context> + <name>ConfigureGraphicsAdvanced</name> + <message> + <location filename="../../src/yuzu/configuration/configure_graphics_advanced.ui" line="14"/> + <source>Form</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_graphics_advanced.ui" line="17"/> + <source>Advanced</source> + <translation>Nâng cao</translation> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_graphics_advanced.ui" line="25"/> + <source>Advanced Graphics Settings</source> + <translation>Cài đặt đồ hoạ nâng cao</translation> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_graphics_advanced.ui" line="46"/> + <source>Accuracy Level:</source> + <translation>Độ chính xác:</translation> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_graphics_advanced.ui" line="75"/> + <source>VSync prevents the screen from tearing, but some graphics cards have lower performance with VSync enabled. Keep it enabled if you don't notice a performance difference.</source> + <translation>VSync tránh cho màn hình bị "xước", tuy nhiên một số cạc đồ hoạ có hiệu năng chậm hơn khi VSync được kích hoạt. Bật chức năng này nếu nó không ảnh hưởng gì đến hiệu năng.</translation> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_graphics_advanced.ui" line="78"/> + <source>Use VSync (OpenGL only)</source> + <translation>Dùng VSync (chỉ dành cho OpenGL)</translation> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_graphics_advanced.ui" line="85"/> + <source>Enables asynchronous shader compilation, which may reduce shader stutter. This feature is experimental.</source> + <translation>Kích hoạt tính năng tạo shader không đồng bộ nhằm tránh cho trò chơi bị giật khi tạo shader. Tính năng này vẫn đang thử nghiệm.</translation> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_graphics_advanced.ui" line="88"/> + <source>Use asynchronous shader building (Hack)</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_graphics_advanced.ui" line="95"/> + <source>Enables Fast GPU Time. This option will force most games to run at their highest native resolution.</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_graphics_advanced.ui" line="98"/> + <source>Use Fast GPU Time (Hack)</source> + <translation>Tăng Tốc Thời Gian GPU (Hack)</translation> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_graphics_advanced.ui" line="120"/> + <source>Anisotropic Filtering:</source> + <translation>Bộ lọc góc nghiêng:</translation> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_graphics_advanced.ui" line="128"/> + <source>Automatic</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_graphics_advanced.ui" line="133"/> + <source>Default</source> + <translation>Mặc định</translation> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_graphics_advanced.ui" line="138"/> + <source>2x</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_graphics_advanced.ui" line="143"/> + <source>4x</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_graphics_advanced.ui" line="148"/> + <source>8x</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_graphics_advanced.ui" line="153"/> + <source>16x</source> + <translation type="unfinished"/> + </message> +</context> +<context> + <name>ConfigureHotkeys</name> + <message> + <location filename="../../src/yuzu/configuration/configure_hotkeys.ui" line="14"/> + <source>Hotkey Settings</source> + <translation>Cài đặt phím nóng</translation> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_hotkeys.ui" line="17"/> + <source>Hotkeys</source> + <translation>Phím tắt</translation> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_hotkeys.ui" line="25"/> + <source>Double-click on a binding to change it.</source> + <translation>Đúp chuột vào phím đã được thiết lập để thay đổi.</translation> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_hotkeys.ui" line="45"/> + <source>Clear All</source> + <translation>Bỏ Trống Hết</translation> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_hotkeys.ui" line="52"/> + <source>Restore Defaults</source> + <translation>Khôi phục về mặc định</translation> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_hotkeys.cpp" line="74"/> + <source>Action</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_hotkeys.cpp" line="74"/> + <source>Hotkey</source> + <translation>Phím tắt</translation> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_hotkeys.cpp" line="74"/> + <source>Context</source> + <translation>Bối cảnh</translation> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_hotkeys.cpp" line="96"/> + <location filename="../../src/yuzu/configuration/configure_hotkeys.cpp" line="183"/> + <source>Conflicting Key Sequence</source> + <translation>Tổ hợp phím bị xung đột</translation> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_hotkeys.cpp" line="97"/> + <source>The entered key sequence is already assigned to: %1</source> + <translation>Tổ hợp phím này đã gán với: %1</translation> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_hotkeys.cpp" line="171"/> + <source>Restore Default</source> + <translation>Khôi phục về mặc định</translation> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_hotkeys.cpp" line="172"/> + <source>Clear</source> + <translation>Xóa</translation> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_hotkeys.cpp" line="184"/> + <source>The default key sequence is already assigned to: %1</source> + <translation>Tổ hợp phím này đã gán với: %1</translation> + </message> +</context> +<context> + <name>ConfigureInput</name> + <message> + <location filename="../../src/yuzu/configuration/configure_input.ui" line="14"/> + <source>ConfigureInput</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_input.ui" line="39"/> + <location filename="../../src/yuzu/configuration/configure_input.ui" line="42"/> + <source>Player 1</source> + <translation>Người chơi 1</translation> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_input.ui" line="47"/> + <location filename="../../src/yuzu/configuration/configure_input.ui" line="50"/> + <source>Player 2</source> + <translation>Người chơi 2</translation> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_input.ui" line="55"/> + <location filename="../../src/yuzu/configuration/configure_input.ui" line="58"/> + <source>Player 3</source> + <translation>Người chơi 3</translation> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_input.ui" line="63"/> + <location filename="../../src/yuzu/configuration/configure_input.ui" line="66"/> + <source>Player 4</source> + <translation>Người chơi 4</translation> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_input.ui" line="71"/> + <location filename="../../src/yuzu/configuration/configure_input.ui" line="74"/> + <source>Player 5</source> + <translation>Người chơi 5</translation> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_input.ui" line="79"/> + <location filename="../../src/yuzu/configuration/configure_input.ui" line="82"/> + <source>Player 6</source> + <translation>Người chơi 6</translation> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_input.ui" line="87"/> + <location filename="../../src/yuzu/configuration/configure_input.ui" line="90"/> + <source>Player 7</source> + <translation>Người chơi 7</translation> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_input.ui" line="95"/> + <location filename="../../src/yuzu/configuration/configure_input.ui" line="98"/> + <source>Player 8</source> + <translation>Người chơi 8</translation> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_input.ui" line="103"/> + <location filename="../../src/yuzu/configuration/configure_input.ui" line="106"/> + <source>Advanced</source> + <translation>Nâng cao</translation> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_input.ui" line="138"/> + <source>Console Mode</source> + <translation>Console Mode</translation> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_input.ui" line="159"/> + <source>Docked</source> + <translation>Chế độ cắm TV</translation> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_input.ui" line="169"/> + <source>Undocked</source> + <translation>Chế độ cầm tay</translation> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_input.ui" line="179"/> + <source>Vibration</source> + <translation>Độ rung</translation> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_input.ui" line="215"/> + <location filename="../../src/yuzu/configuration/configure_input.ui" line="261"/> + <source>Configure</source> + <translation>Thiết lập</translation> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_input.ui" line="225"/> + <source>Motion</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_input.ui" line="296"/> + <source>Controllers</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_input.ui" line="324"/> + <source>1</source> + <translation>1</translation> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_input.ui" line="365"/> + <source>2</source> + <translation>2</translation> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_input.ui" line="375"/> + <source>3</source> + <translation>3</translation> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_input.ui" line="385"/> + <source>4</source> + <translation>4</translation> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_input.ui" line="395"/> + <source>5</source> + <translation>5</translation> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_input.ui" line="405"/> + <source>6</source> + <translation>6</translation> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_input.ui" line="415"/> + <source>7</source> + <translation>7</translation> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_input.ui" line="425"/> + <source>8</source> + <translation>8</translation> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_input.ui" line="435"/> + <source>Connected</source> + <translation>Đã kết nối</translation> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_input.ui" line="494"/> + <source>Defaults</source> + <translation>Quay về mặc định</translation> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_input.ui" line="537"/> + <source>Clear</source> + <translation>Xóa</translation> + </message> +</context> +<context> + <name>ConfigureInputAdvanced</name> + <message> + <location filename="../../src/yuzu/configuration/configure_input_advanced.ui" line="14"/> + <source>Configure Input</source> + <translation>Thiết lập đầu vào</translation> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_input_advanced.ui" line="74"/> + <source>Joycon Colors</source> + <translation>Màu tay cầm Joycon</translation> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_input_advanced.ui" line="125"/> + <source>Player 1</source> + <translation>Người chơi 1</translation> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_input_advanced.ui" line="164"/> + <location filename="../../src/yuzu/configuration/configure_input_advanced.ui" line="450"/> + <location filename="../../src/yuzu/configuration/configure_input_advanced.ui" line="754"/> + <location filename="../../src/yuzu/configuration/configure_input_advanced.ui" line="1040"/> + <location filename="../../src/yuzu/configuration/configure_input_advanced.ui" line="1365"/> + <location filename="../../src/yuzu/configuration/configure_input_advanced.ui" line="1651"/> + <location filename="../../src/yuzu/configuration/configure_input_advanced.ui" line="1955"/> + <location filename="../../src/yuzu/configuration/configure_input_advanced.ui" line="2241"/> + <source>L Body</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_input_advanced.ui" line="219"/> + <location filename="../../src/yuzu/configuration/configure_input_advanced.ui" line="505"/> + <location filename="../../src/yuzu/configuration/configure_input_advanced.ui" line="809"/> + <location filename="../../src/yuzu/configuration/configure_input_advanced.ui" line="1095"/> + <location filename="../../src/yuzu/configuration/configure_input_advanced.ui" line="1420"/> + <location filename="../../src/yuzu/configuration/configure_input_advanced.ui" line="1706"/> + <location filename="../../src/yuzu/configuration/configure_input_advanced.ui" line="2010"/> + <location filename="../../src/yuzu/configuration/configure_input_advanced.ui" line="2296"/> + <source>L Button</source> + <translation>Phím L</translation> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_input_advanced.ui" line="295"/> + <location filename="../../src/yuzu/configuration/configure_input_advanced.ui" line="581"/> + <location filename="../../src/yuzu/configuration/configure_input_advanced.ui" line="885"/> + <location filename="../../src/yuzu/configuration/configure_input_advanced.ui" line="1171"/> + <location filename="../../src/yuzu/configuration/configure_input_advanced.ui" line="1496"/> + <location filename="../../src/yuzu/configuration/configure_input_advanced.ui" line="1782"/> + <location filename="../../src/yuzu/configuration/configure_input_advanced.ui" line="2086"/> + <location filename="../../src/yuzu/configuration/configure_input_advanced.ui" line="2372"/> + <source>R Body</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_input_advanced.ui" line="350"/> + <location filename="../../src/yuzu/configuration/configure_input_advanced.ui" line="636"/> + <location filename="../../src/yuzu/configuration/configure_input_advanced.ui" line="940"/> + <location filename="../../src/yuzu/configuration/configure_input_advanced.ui" line="1226"/> + <location filename="../../src/yuzu/configuration/configure_input_advanced.ui" line="1551"/> + <location filename="../../src/yuzu/configuration/configure_input_advanced.ui" line="1837"/> + <location filename="../../src/yuzu/configuration/configure_input_advanced.ui" line="2141"/> + <location filename="../../src/yuzu/configuration/configure_input_advanced.ui" line="2427"/> + <source>R Button</source> + <translation>Phím R</translation> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_input_advanced.ui" line="411"/> + <source>Player 2</source> + <translation>Người chơi 2</translation> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_input_advanced.ui" line="715"/> + <source>Player 3</source> + <translation>Người chơi 3</translation> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_input_advanced.ui" line="1001"/> + <source>Player 4</source> + <translation>Người chơi 4</translation> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_input_advanced.ui" line="1326"/> + <source>Player 5</source> + <translation>Người chơi 5</translation> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_input_advanced.ui" line="1612"/> + <source>Player 6</source> + <translation>Người chơi 6</translation> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_input_advanced.ui" line="1916"/> + <source>Player 7</source> + <translation>Người chơi 7</translation> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_input_advanced.ui" line="2202"/> + <source>Player 8</source> + <translation>Người chơi 8</translation> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_input_advanced.ui" line="2533"/> + <source>Emulated Devices</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_input_advanced.ui" line="2545"/> + <source>Keyboard</source> + <translation>Bàn phím</translation> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_input_advanced.ui" line="2558"/> + <source>Mouse</source> + <translation>Chuột</translation> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_input_advanced.ui" line="2565"/> + <source>Touchscreen</source> + <translation>Màn hình cảm ứng</translation> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_input_advanced.ui" line="2588"/> + <source>Advanced</source> + <translation>Nâng cao</translation> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_input_advanced.ui" line="2595"/> + <source>Debug Controller</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_input_advanced.ui" line="2602"/> + <location filename="../../src/yuzu/configuration/configure_input_advanced.ui" line="2702"/> + <source>Configure</source> + <translation>Thiết lập</translation> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_input_advanced.ui" line="2612"/> + <source>Other</source> + <translation>Khác</translation> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_input_advanced.ui" line="2624"/> + <source>Emulate Analog with Keyboard Input</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_input_advanced.ui" line="2631"/> + <source>Requires restarting yuzu</source> + <translation>Phải khởi động lại yuzu</translation> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_input_advanced.ui" line="2640"/> + <source>Enable XInput 8 player support (disables web applet)</source> + <translation>Bật hỗ trợ XInput cho 8 người (tắt web applet)</translation> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_input_advanced.ui" line="2653"/> + <source>Enable UDP controllers (not needed for motion)</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_input_advanced.ui" line="2666"/> + <source>Enable mouse panning</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_input_advanced.ui" line="2673"/> + <source>Mouse sensitivity</source> + <translation>Độ nhạy chuột</translation> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_input_advanced.ui" line="2679"/> + <source>%</source> + <translation>%</translation> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_input_advanced.ui" line="2695"/> + <source>Motion / Touch</source> + <translation>Chuyển động / Cảm ứng</translation> + </message> +</context> +<context> + <name>ConfigureInputPlayer</name> + <message> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="14"/> + <source>Configure Input</source> + <translation>Thiết lập đầu vào</translation> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="63"/> + <source>Connect Controller</source> + <translation>Kết nối Tay cầm</translation> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="100"/> + <source>Input Device</source> + <translation>Thiết bị Nhập</translation> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="156"/> + <source>Profile</source> + <translation>Hồ sơ</translation> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="196"/> + <source>Save</source> + <translation>Lưu</translation> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="212"/> + <source>New</source> + <translation>Mới</translation> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="228"/> + <source>Delete</source> + <translation>Xoá</translation> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="291"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="1190"/> + <source>Left Stick</source> + <translation>Cần trái</translation> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="349"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="391"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="925"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="964"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="2583"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="2622"/> + <source>Up</source> + <translation>Lên</translation> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="422"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="461"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="995"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="1034"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="2069"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="2653"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="2692"/> + <source>Left</source> + <translation>Trái</translation> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="471"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="510"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="1044"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="1083"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="2118"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="2702"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="2741"/> + <source>Right</source> + <translation>Phải</translation> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="553"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="592"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="1126"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="1165"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="2784"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="2823"/> + <source>Down</source> + <translation>Xuống</translation> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="623"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="662"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="2854"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="2893"/> + <source>Pressed</source> + <translation>Nhấn</translation> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="672"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="711"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="2903"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="2942"/> + <source>Modifier</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="721"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="2952"/> + <source>Range</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="754"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="2985"/> + <source>%</source> + <translation>%</translation> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="797"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="3025"/> + <source>Deadzone: 0%</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="821"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="3049"/> + <source>Modifier Range: 0%</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="867"/> + <source>D-Pad</source> + <translation>D-Pad</translation> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="1251"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="1290"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="1195"/> + <source>L</source> + <translation>L</translation> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="1306"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="1345"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="1187"/> + <source>ZL</source> + <translation>ZL</translation> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="1426"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="1465"/> + <source>Minus</source> + <translation>Trừ</translation> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="1475"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="1514"/> + <source>Capture</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="1545"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="1584"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="1186"/> + <source>Plus</source> + <translation>Cộng</translation> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="1594"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="1633"/> + <source>Home</source> + <translation>Home</translation> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="1698"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="1737"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="1189"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="1196"/> + <source>R</source> + <translation>R</translation> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="1753"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="1792"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="1188"/> + <source>ZR</source> + <translation>ZR</translation> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="1873"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="1912"/> + <source>SL</source> + <translation>SL</translation> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="1922"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="1961"/> + <source>SR</source> + <translation>SR</translation> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="2030"/> + <source>Motion 1</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="2079"/> + <source>Motion 2</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="2170"/> + <source>Face Buttons</source> + <translation>Nút chức năng</translation> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="2228"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="2267"/> + <source>X</source> + <translation>X</translation> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="2298"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="2337"/> + <source>Y</source> + <translation>Y</translation> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="2347"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="2386"/> + <source>A</source> + <translation>A</translation> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="2429"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="2468"/> + <source>B</source> + <translation>B</translation> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="2516"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="1191"/> + <source>Right Stick</source> + <translation>Cần phải</translation> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="330"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="396"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="461"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="507"/> + <source>Clear</source> + <translation>Bỏ trống</translation> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="332"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="398"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="463"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="509"/> + <source>[not set]</source> + <translation>[không đặt]</translation> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="335"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="512"/> + <source>Toggle button</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="341"/> + <source>Invert button</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="349"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="465"/> + <source>Invert axis</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="355"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="359"/> + <source>Set threshold</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="359"/> + <source>Choose a value between 0% and 100%</source> + <translation>Chọn một giá trị giữa 0% và 100%</translation> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="436"/> + <source>Map Analog Stick</source> + <translation>Thiết lập Cần Điều Khiển</translation> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="437"/> + <source>After pressing OK, first move your joystick horizontally, and then vertically. +To invert the axes, first move your joystick vertically, and then horizontally.</source> + <translation>Sau khi bấm OK, di chuyển cần sang ngang, rồi sau đó sang dọc. +Nếu muốn đảo ngược hướng cần điều khiển, di chuyển cần sang dọc trước, rồi sang ngang.</translation> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="537"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="891"/> + <source>Deadzone: %1%</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="546"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="896"/> + <source>Modifier Range: %1%</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="572"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="918"/> + <source>Pro Controller</source> + <translation>Tay cầm Pro Controller</translation> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="924"/> + <source>Dual Joycons</source> + <translation>Joycon đôi</translation> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="930"/> + <source>Left Joycon</source> + <translation>Joycon Trái</translation> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="936"/> + <source>Right Joycon</source> + <translation>Joycon Phải</translation> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="942"/> + <source>Handheld</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="948"/> + <source>GameCube Controller</source> + <translation>Tay cầm GameCube</translation> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="958"/> + <source>Poke Ball Plus</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="964"/> + <source>NES Controller</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="970"/> + <source>SNES Controller</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="976"/> + <source>N64 Controller</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="982"/> + <source>Sega Genesis</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="1194"/> + <source>Start / Pause</source> + <translation>Bắt đầu / Tạm ngưng</translation> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="1197"/> + <source>Z</source> + <translation>Z</translation> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="1198"/> + <source>Control Stick</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="1199"/> + <source>C-Stick</source> + <translation>C-Stick</translation> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="1297"/> + <source>Shake!</source> + <translation>Lắc!</translation> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="1299"/> + <source>[waiting]</source> + <translation>[Chờ]</translation> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="1381"/> + <source>New Profile</source> + <translation>Hồ sơ mới</translation> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="1381"/> + <source>Enter a profile name:</source> + <translation>Nhập tên hồ sơ:</translation> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="1389"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="1397"/> + <source>Create Input Profile</source> + <translation>Tạo Hồ Sơ Phím</translation> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="1390"/> + <source>The given profile name is not valid!</source> + <translation>Tên hồ sơ không hợp lệ!</translation> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="1398"/> + <source>Failed to create the input profile "%1"</source> + <translation>Quá trình tạo hồ sơ phím "%1" thất bại</translation> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="1418"/> + <source>Delete Input Profile</source> + <translation>Xóa Hồ Sơ Phím</translation> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="1419"/> + <source>Failed to delete the input profile "%1"</source> + <translation>Quá trình xóa hồ sơ phím "%1" thất bại</translation> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="1441"/> + <source>Load Input Profile</source> + <translation>Nạp Hồ Sơ Phím</translation> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="1442"/> + <source>Failed to load the input profile "%1"</source> + <translation>Quá trình nạp hồ sơ phím "%1" thất bại</translation> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="1461"/> + <source>Save Input Profile</source> + <translation>Lưu Hồ Sơ Phím</translation> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="1462"/> + <source>Failed to save the input profile "%1"</source> + <translation>Quá trình lưu hồ sơ phím "%1" thất bại</translation> + </message> +</context> +<context> + <name>ConfigureInputProfileDialog</name> + <message> + <location filename="../../src/yuzu/configuration/configure_input_profile_dialog.ui" line="14"/> + <source>Create Input Profile</source> + <translation>Tạo Hồ Sơ Phím</translation> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_input_profile_dialog.ui" line="40"/> + <source>Clear</source> + <translation>Bỏ trống</translation> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_input_profile_dialog.ui" line="47"/> + <source>Defaults</source> + <translation>Mặc định</translation> + </message> +</context> +<context> + <name>ConfigureMotionTouch</name> + <message> + <location filename="../../src/yuzu/configuration/configure_motion_touch.ui" line="6"/> + <source>Configure Motion / Touch</source> + <translation>Tùy chỉnh Chuột / Cảm Ứng</translation> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_motion_touch.ui" line="15"/> + <source>Touch</source> + <translation>Cảm Ứng</translation> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_motion_touch.ui" line="23"/> + <source>UDP Calibration:</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_motion_touch.ui" line="30"/> + <source>(100, 50) - (1800, 850)</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_motion_touch.ui" line="46"/> + <location filename="../../src/yuzu/configuration/configure_motion_touch.ui" line="73"/> + <location filename="../../src/yuzu/configuration/configure_motion_touch.cpp" line="245"/> + <source>Configure</source> + <translation>Cài đặt</translation> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_motion_touch.ui" line="57"/> + <source>Touch from button profile:</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_motion_touch.ui" line="85"/> + <source>CemuhookUDP Config</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_motion_touch.ui" line="91"/> + <source>You may use any Cemuhook compatible UDP input source to provide motion and touch input.</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_motion_touch.ui" line="134"/> + <source>Server:</source> + <translation>Server:</translation> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_motion_touch.ui" line="161"/> + <source>Port:</source> + <translation>Cổng:</translation> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_motion_touch.ui" line="188"/> + <source>Learn More</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_motion_touch.ui" line="201"/> + <location filename="../../src/yuzu/configuration/configure_motion_touch.cpp" line="268"/> + <source>Test</source> + <translation>Thử nghiệm</translation> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_motion_touch.ui" line="214"/> + <source>Add Server</source> + <translation>Thêm Server</translation> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_motion_touch.ui" line="247"/> + <source>Remove Server</source> + <translation>Xóa Server</translation> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_motion_touch.cpp" line="91"/> + <source><a href='https://yuzu-emu.org/wiki/using-a-controller-or-android-phone-for-motion-or-touch-input'><span style="text-decoration: underline; color:#039be5;">Learn More</span></a></source> + <translation><a href='https://yuzu-emu.org/wiki/using-a-controller-or-android-phone-for-motion-or-touch-input'><span style="text-decoration: underline; color:#039be5;">Tìm hiểu thêm</span></a></translation> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_motion_touch.cpp" line="171"/> + <source>%1:%2</source> + <translation>%1:%2</translation> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_motion_touch.cpp" line="176"/> + <location filename="../../src/yuzu/configuration/configure_motion_touch.cpp" line="180"/> + <location filename="../../src/yuzu/configuration/configure_motion_touch.cpp" line="184"/> + <location filename="../../src/yuzu/configuration/configure_motion_touch.cpp" line="190"/> + <location filename="../../src/yuzu/configuration/configure_motion_touch.cpp" line="196"/> + <location filename="../../src/yuzu/configuration/configure_motion_touch.cpp" line="290"/> + <source>yuzu</source> + <translation>yuzu</translation> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_motion_touch.cpp" line="176"/> + <source>Port number has invalid characters</source> + <translation>Cổng có kí tự không hợp lệ</translation> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_motion_touch.cpp" line="180"/> + <source>Port has to be in range 0 and 65353</source> + <translation>Cổng phải từ 0 đến 65353</translation> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_motion_touch.cpp" line="184"/> + <source>IP address is not valid</source> + <translation>Địa chỉ IP không hợp lệ</translation> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_motion_touch.cpp" line="190"/> + <source>This UDP server already exists</source> + <translation>Server UDP đã tồn tại</translation> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_motion_touch.cpp" line="196"/> + <source>Unable to add more than 8 servers</source> + <translation>Không thể vượt quá 8 server</translation> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_motion_touch.cpp" line="212"/> + <source>Testing</source> + <translation>Thử nghiệm</translation> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_motion_touch.cpp" line="228"/> + <source>Configuring</source> + <translation>Cài đặt</translation> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_motion_touch.cpp" line="259"/> + <source>Test Successful</source> + <translation>Thử Nghiệm Thành Công</translation> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_motion_touch.cpp" line="260"/> + <source>Successfully received data from the server.</source> + <translation>Nhận được dữ liệu từ server!</translation> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_motion_touch.cpp" line="262"/> + <source>Test Failed</source> + <translation>Thử Nghiệm Thất Bại</translation> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_motion_touch.cpp" line="263"/> + <source>Could not receive valid data from the server.<br>Please verify that the server is set up correctly and the address and port are correct.</source> + <translation>Không thể nhận được dữ liệu hợp lệ từ server. <br>Hãy chắc chắn server được thiết lập chính xác, từ địa chỉ lẫn cổng phải được thiết lập đúng.</translation> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_motion_touch.cpp" line="291"/> + <source>UDP Test or calibration configuration is in progress.<br>Please wait for them to finish.</source> + <translation type="unfinished"/> + </message> +</context> +<context> + <name>ConfigureNetwork</name> + <message> + <location filename="../../src/yuzu/configuration/configure_network.ui" line="14"/> + <source>Form</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_network.ui" line="17"/> + <source>Network</source> + <translation>Mạng</translation> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_network.ui" line="25"/> + <source>General</source> + <translation>Tổng Quan</translation> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_network.ui" line="34"/> + <source>Network Interface</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_network.cpp" line="17"/> + <source>None</source> + <translation>Trống</translation> + </message> +</context> +<context> + <name>ConfigurePerGame</name> + <message> + <location filename="../../src/yuzu/configuration/configure_per_game.ui" line="12"/> + <source>Dialog</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_per_game.ui" line="26"/> + <source>Info</source> + <translation>Thông Tin</translation> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_per_game.ui" line="85"/> + <source>Name</source> + <translation>Tên</translation> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_per_game.ui" line="92"/> + <source>Title ID</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_per_game.ui" line="129"/> + <source>Filename</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_per_game.ui" line="156"/> + <source>Format</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_per_game.ui" line="163"/> + <source>Version</source> + <translation>Phiên Bản</translation> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_per_game.ui" line="170"/> + <source>Size</source> + <translation>Dung Lượng</translation> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_per_game.ui" line="177"/> + <source>Developer</source> + <translation>Nhà Phát Hành</translation> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_per_game.cpp" line="64"/> + <source>Add-Ons</source> + <translation>Bổ Sung</translation> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_per_game.cpp" line="65"/> + <source>General</source> + <translation>Tổng Quan</translation> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_per_game.cpp" line="66"/> + <source>System</source> + <translation>Hệ Thống</translation> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_per_game.cpp" line="67"/> + <source>CPU</source> + <translation>CPU</translation> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_per_game.cpp" line="68"/> + <source>Graphics</source> + <translation>Đồ Họa</translation> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_per_game.cpp" line="69"/> + <source>Adv. Graphics</source> + <translation>Đồ Họa Nâng Cao</translation> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_per_game.cpp" line="70"/> + <source>Audio</source> + <translation>Âm Thanh</translation> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_per_game.cpp" line="73"/> + <source>Properties</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/configuration/configuration_shared.cpp" line="93"/> + <source>Use global configuration (%1)</source> + <translation type="unfinished"/> + </message> +</context> +<context> + <name>ConfigurePerGameAddons</name> + <message> + <location filename="../../src/yuzu/configuration/configure_per_game_addons.ui" line="14"/> + <source>Form</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_per_game_addons.ui" line="17"/> + <source>Add-Ons</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_per_game_addons.cpp" line="48"/> + <source>Patch Name</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_per_game_addons.cpp" line="49"/> + <source>Version</source> + <translation>Phiên Bản</translation> + </message> +</context> +<context> + <name>ConfigureProfileManager</name> + <message> + <location filename="../../src/yuzu/configuration/configure_profile_manager.ui" line="14"/> + <source>Form</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_profile_manager.ui" line="17"/> + <source>Profiles</source> + <translation>Hồ Sơ</translation> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_profile_manager.ui" line="25"/> + <source>Profile Manager</source> + <translation>Quản Lý Hồ Sơ</translation> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_profile_manager.ui" line="42"/> + <source>Current User</source> + <translation>Người Dùng Hiện Tại</translation> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_profile_manager.ui" line="80"/> + <source>Username</source> + <translation>Tên</translation> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_profile_manager.ui" line="110"/> + <source>Set Image</source> + <translation>Đặt Hình Ảnh</translation> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_profile_manager.ui" line="130"/> + <source>Add</source> + <translation>Thêm</translation> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_profile_manager.ui" line="140"/> + <source>Rename</source> + <translation>Đổi Tên</translation> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_profile_manager.ui" line="150"/> + <source>Remove</source> + <translation>Gỡ Bỏ</translation> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_profile_manager.ui" line="162"/> + <source>Profile management is available only when game is not running.</source> + <translation>Chỉ có thể quản lí hồ sơ khi game không chạy.</translation> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_profile_manager.cpp" line="55"/> + <source>%1 +%2</source> + <comment>%1 is the profile username, %2 is the formatted UUID (e.g. 00112233-4455-6677-8899-AABBCCDDEEFF))</comment> + <translation>%1 +%2</translation> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_profile_manager.cpp" line="73"/> + <source>Enter Username</source> + <translation>Điền Tên</translation> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_profile_manager.cpp" line="136"/> + <source>Users</source> + <translation>Người Dùng</translation> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_profile_manager.cpp" line="198"/> + <source>Enter a username for the new user:</source> + <translation>Chọn tên cho người dùng mới</translation> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_profile_manager.cpp" line="218"/> + <source>Enter a new username:</source> + <translation>Chọn một tên mới:</translation> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_profile_manager.cpp" line="243"/> + <source>Confirm Delete</source> + <translation>Xác nhận xóa</translation> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_profile_manager.cpp" line="244"/> + <source>You are about to delete user with name "%1". Are you sure?</source> + <translation>Bạn đang xóa người dùng "%1". Bạn chắc chứ?</translation> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_profile_manager.cpp" line="271"/> + <source>Select User Image</source> + <translation>Chọn Ảnh cho Người Dùng</translation> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_profile_manager.cpp" line="272"/> + <source>JPEG Images (*.jpg *.jpeg)</source> + <translation>Ảnh JPEG (*.jpg *.jpeg)</translation> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_profile_manager.cpp" line="281"/> + <source>Error deleting image</source> + <translation>Lỗi khi xóa ảnh</translation> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_profile_manager.cpp" line="282"/> + <source>Error occurred attempting to overwrite previous image at: %1.</source> + <translation>Có lỗi khi ghi đè ảnh trước tại: %1.</translation> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_profile_manager.cpp" line="290"/> + <source>Error deleting file</source> + <translation>Lỗi xóa ảnh</translation> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_profile_manager.cpp" line="291"/> + <source>Unable to delete existing file: %1.</source> + <translation>Không thể xóa ảnh hiện tại: %1.</translation> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_profile_manager.cpp" line="298"/> + <source>Error creating user image directory</source> + <translation>Lỗi khi tạo thư mục chứa ảnh người dùng</translation> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_profile_manager.cpp" line="299"/> + <source>Unable to create directory %1 for storing user images.</source> + <translation>Không thể tạo thư mục %1 để chứa ảnh người dùng</translation> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_profile_manager.cpp" line="304"/> + <source>Error copying user image</source> + <translation>Lỗi chép ảnh người dùng</translation> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_profile_manager.cpp" line="305"/> + <source>Unable to copy image from %1 to %2</source> + <translation>Không thể chép ảnh từ %1 sang %2</translation> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_profile_manager.cpp" line="314"/> + <source>Error resizing user image</source> + <translation>Lỗi thu phóng ảnh</translation> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_profile_manager.cpp" line="315"/> + <source>Unable to resize image</source> + <translation>Không thể thu phóng ảnh</translation> + </message> +</context> +<context> + <name>ConfigureSystem</name> + <message> + <location filename="../../src/yuzu/configuration/configure_system.ui" line="14"/> + <source>Form</source> + <translation>Mẫu</translation> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_system.ui" line="17"/> + <source>System</source> + <translation>Hệ thống</translation> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_system.ui" line="25"/> + <source>System Settings</source> + <translation>Cài đặt hệ thống</translation> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_system.ui" line="33"/> + <source>Region:</source> + <translation>Vùng:</translation> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_system.ui" line="41"/> + <source>Auto</source> + <translation>Tự động</translation> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_system.ui" line="46"/> + <source>Default</source> + <translation>Mặc định</translation> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_system.ui" line="51"/> + <source>CET</source> + <translation>CET</translation> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_system.ui" line="56"/> + <source>CST6CDT</source> + <translation>CST6CDT</translation> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_system.ui" line="61"/> + <source>Cuba</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_system.ui" line="66"/> + <source>EET</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_system.ui" line="71"/> + <source>Egypt</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_system.ui" line="76"/> + <source>Eire</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_system.ui" line="81"/> + <source>EST</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_system.ui" line="86"/> + <source>EST5EDT</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_system.ui" line="91"/> + <source>GB</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_system.ui" line="96"/> + <source>GB-Eire</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_system.ui" line="101"/> + <source>GMT</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_system.ui" line="106"/> + <source>GMT+0</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_system.ui" line="111"/> + <source>GMT-0</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_system.ui" line="116"/> + <source>GMT0</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_system.ui" line="121"/> + <source>Greenwich</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_system.ui" line="126"/> + <source>Hongkong</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_system.ui" line="131"/> + <source>HST</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_system.ui" line="136"/> + <source>Iceland</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_system.ui" line="141"/> + <source>Iran</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_system.ui" line="146"/> + <source>Israel</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_system.ui" line="151"/> + <source>Jamaica</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_system.ui" line="156"/> + <location filename="../../src/yuzu/configuration/configure_system.ui" line="275"/> + <source>Japan</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_system.ui" line="161"/> + <source>Kwajalein</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_system.ui" line="166"/> + <source>Libya</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_system.ui" line="171"/> + <source>MET</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_system.ui" line="176"/> + <source>MST</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_system.ui" line="181"/> + <source>MST7MDT</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_system.ui" line="186"/> + <source>Navajo</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_system.ui" line="191"/> + <source>NZ</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_system.ui" line="196"/> + <source>NZ-CHAT</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_system.ui" line="201"/> + <source>Poland</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_system.ui" line="206"/> + <source>Portugal</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_system.ui" line="211"/> + <source>PRC</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_system.ui" line="216"/> + <source>PST8PDT</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_system.ui" line="221"/> + <source>ROC</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_system.ui" line="226"/> + <source>ROK</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_system.ui" line="231"/> + <source>Singapore</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_system.ui" line="236"/> + <source>Turkey</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_system.ui" line="241"/> + <source>UCT</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_system.ui" line="246"/> + <source>Universal</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_system.ui" line="251"/> + <source>UTC</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_system.ui" line="256"/> + <source>W-SU</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_system.ui" line="261"/> + <source>WET</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_system.ui" line="266"/> + <source>Zulu</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_system.ui" line="280"/> + <source>USA</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_system.ui" line="285"/> + <source>Europe</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_system.ui" line="290"/> + <source>Australia</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_system.ui" line="295"/> + <source>China</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_system.ui" line="300"/> + <source>Korea</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_system.ui" line="305"/> + <source>Taiwan</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_system.ui" line="313"/> + <source>Time Zone:</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_system.ui" line="320"/> + <source>Note: this can be overridden when region setting is auto-select</source> + <translation>Chú ý: cái này có thể ghi đè khi cài đặt quốc gia là chọn tự động</translation> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_system.ui" line="324"/> + <source>Japanese (日本語)</source> + <translation>Tiếng Nhật (日本語)</translation> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_system.ui" line="329"/> + <source>English</source> + <translation>Tiếng Anh</translation> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_system.ui" line="334"/> + <source>French (français)</source> + <translation>Tiếng Pháp (French)</translation> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_system.ui" line="339"/> + <source>German (Deutsch)</source> + <translation>Tiếng Đức (German)</translation> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_system.ui" line="344"/> + <source>Italian (italiano)</source> + <translation>Tiếng Ý (Italian)</translation> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_system.ui" line="349"/> + <source>Spanish (español)</source> + <translation>Tiếng Tây Ban Nha (Spanish)</translation> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_system.ui" line="354"/> + <source>Chinese</source> + <translation>Tiếng Trung</translation> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_system.ui" line="359"/> + <source>Korean (한국어)</source> + <translation>Tiếng Hàn (Korean)</translation> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_system.ui" line="364"/> + <source>Dutch (Nederlands)</source> + <translation>Tiếng Hà Lan (Dutch)</translation> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_system.ui" line="369"/> + <source>Portuguese (português)</source> + <translation>Tiếng Bồ Đào Nha (Portuguese)</translation> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_system.ui" line="374"/> + <source>Russian (Русский)</source> + <translation>Tiếng Nga (Russian)</translation> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_system.ui" line="379"/> + <source>Taiwanese</source> + <translation>Tiếng Đài Loan</translation> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_system.ui" line="384"/> + <source>British English</source> + <translation>Tiếng Anh UK</translation> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_system.ui" line="389"/> + <source>Canadian French</source> + <translation>Tiếng Pháp Canada</translation> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_system.ui" line="394"/> + <source>Latin American Spanish</source> + <translation>Tiếng Mỹ La-tinh</translation> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_system.ui" line="399"/> + <source>Simplified Chinese</source> + <translation>Tiếng Trung giản thể</translation> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_system.ui" line="404"/> + <source>Traditional Chinese (正體中文)</source> + <translation>Tiếng Trung phồn thể (Traditional Chinese)</translation> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_system.ui" line="409"/> + <source>Brazilian Portuguese (português do Brasil)</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_system.ui" line="417"/> + <source>Custom RTC</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_system.ui" line="424"/> + <source>Language</source> + <translation>Ngôn ngữ</translation> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_system.ui" line="431"/> + <source>RNG Seed</source> + <translation>Hạt giống RNG</translation> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_system.ui" line="439"/> + <source>Mono</source> + <translation>Mono</translation> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_system.ui" line="444"/> + <source>Stereo</source> + <translation>Stereo</translation> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_system.ui" line="449"/> + <source>Surround</source> + <translation>Surround</translation> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_system.ui" line="457"/> + <source>Console ID:</source> + <translation>ID bàn giao tiếp:</translation> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_system.ui" line="464"/> + <source>Sound output mode</source> + <translation>Chế độ đầu ra âm thanh</translation> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_system.ui" line="478"/> + <source>d MMM yyyy h:mm:ss AP</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_system.ui" line="515"/> + <source>Regenerate</source> + <translation>Tạo mới</translation> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_system.ui" line="540"/> + <source>System settings are available only when game is not running.</source> + <translation>Cài đặt hệ thống chỉ khả dụng khi trò chơi không chạy.</translation> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_system.cpp" line="166"/> + <source>This will replace your current virtual Switch with a new one. Your current virtual Switch will not be recoverable. This might have unexpected effects in games. This might fail, if you use an outdated config savegame. Continue?</source> + <translation>Điều này sẽ thay thế Switch ảo hiện tại của bạn sang một cái mới. Switch ảo hiện tại của bạn sẽ không thể hồi phục lại. Điều này có thể gây ra tác dụng không mong muốn trong trò chơi. Điều này có thể gây thất bại, nếu bạn đang sử dụng thiết lập lưu trữ đã lỗi thời. Tiếp tục?</translation> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_system.cpp" line="170"/> + <source>Warning</source> + <translation>Chú ý</translation> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_system.cpp" line="178"/> + <source>Console ID: 0x%1</source> + <translation>ID của máy: 0x%1</translation> + </message> +</context> +<context> + <name>ConfigureTas</name> + <message> + <location filename="../../src/yuzu/configuration/configure_tas.ui" line="11"/> + <source>TAS</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_tas.ui" line="17"/> + <source><html><head/><body><p>Reads controller input from scripts in the same format as TAS-nx scripts.<br/>For a more detailed explanation, please consult the <a href="https://yuzu-emu.org/help/feature/tas/"><span style=" text-decoration: underline; color:#039be5;">help page</span></a> on the yuzu website.</p></body></html></source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_tas.ui" line="24"/> + <source>To check which hotkeys control the playback/recording, please refer to the Hotkey settings (Configure -> General -> Hotkeys).</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_tas.ui" line="34"/> + <source>WARNING: This is an experimental feature.<br/>It will not play back scripts frame perfectly with the current, imperfect syncing method.</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_tas.ui" line="51"/> + <source>Settings</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_tas.ui" line="57"/> + <source>Enable TAS features</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_tas.ui" line="64"/> + <source>Loop script</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_tas.ui" line="74"/> + <source>Pause execution during loads</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_tas.ui" line="88"/> + <source>Script Directory</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_tas.ui" line="94"/> + <source>Path</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_tas.ui" line="101"/> + <source>...</source> + <translation type="unfinished"/> + </message> +</context> +<context> + <name>ConfigureTasDialog</name> + <message> + <location filename="../../src/yuzu/configuration/configure_tas.cpp" line="20"/> + <source>TAS Configuration</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_tas.cpp" line="51"/> + <source>Select TAS Load Directory...</source> + <translation type="unfinished"/> + </message> +</context> +<context> + <name>ConfigureTouchFromButton</name> + <message> + <location filename="../../src/yuzu/configuration/configure_touch_from_button.ui" line="14"/> + <source>Configure Touchscreen Mappings</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_touch_from_button.ui" line="22"/> + <source>Mapping:</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_touch_from_button.ui" line="48"/> + <source>New</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_touch_from_button.ui" line="61"/> + <source>Delete</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_touch_from_button.ui" line="74"/> + <source>Rename</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_touch_from_button.ui" line="92"/> + <source>Click the bottom area to add a point, then press a button to bind. +Drag points to change position, or double-click table cells to edit values.</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_touch_from_button.ui" line="116"/> + <source>Delete Point</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_touch_from_button.cpp" line="80"/> + <source>Button</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_touch_from_button.cpp" line="80"/> + <source>X</source> + <comment>X axis</comment> + <translation>X</translation> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_touch_from_button.cpp" line="80"/> + <source>Y</source> + <comment>Y axis</comment> + <translation>Y</translation> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_touch_from_button.cpp" line="197"/> + <source>New Profile</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_touch_from_button.cpp" line="197"/> + <source>Enter the name for the new profile.</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_touch_from_button.cpp" line="208"/> + <source>Delete Profile</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_touch_from_button.cpp" line="208"/> + <source>Delete profile %1?</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_touch_from_button.cpp" line="221"/> + <source>Rename Profile</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_touch_from_button.cpp" line="221"/> + <source>New name:</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_touch_from_button.cpp" line="230"/> + <source>[press key]</source> + <translation type="unfinished"/> + </message> +</context> +<context> + <name>ConfigureTouchscreenAdvanced</name> + <message> + <location filename="../../src/yuzu/configuration/configure_touchscreen_advanced.ui" line="14"/> + <source>Configure Touchscreen</source> + <translation>Thiết lập màn hình cảm ứng</translation> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_touchscreen_advanced.ui" line="26"/> + <source>Warning: The settings in this page affect the inner workings of yuzu's emulated touchscreen. Changing them may result in undesirable behavior, such as the touchscreen partially or not working. You should only use this page if you know what you are doing.</source> + <translation>Chú ý: Cài đặt trong trang này có thể ảnh hưởng đến hoạt động bên trong giả lập màn hình cảm ứng của yuzu's. Thay đổi chúng có thể dẫn đến hành vi không mong muốn, chẳng hạn như một phần của màn hình cảm ứng sẽ không hoạt động. Bạn chỉ nên sử dụng trang này nếu bạn biết bạn đang làm gì.</translation> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_touchscreen_advanced.ui" line="52"/> + <source>Touch Parameters</source> + <translation>Thông số cảm ứng</translation> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_touchscreen_advanced.ui" line="71"/> + <source>Touch Diameter Y</source> + <translation>Đường kính cảm ứng Y</translation> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_touchscreen_advanced.ui" line="91"/> + <source>Touch Diameter X</source> + <translation>Đường kính cảm ứng X</translation> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_touchscreen_advanced.ui" line="98"/> + <source>Rotational Angle</source> + <translation>Góc quay</translation> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_touchscreen_advanced.ui" line="132"/> + <source>Restore Defaults</source> + <translation>Khôi phục về mặc định</translation> + </message> +</context> +<context> + <name>ConfigureUI</name> + <message> + <location filename="../../src/yuzu/configuration/configure_ui.cpp" line="20"/> + <location filename="../../src/yuzu/configuration/configure_ui.cpp" line="28"/> + <location filename="../../src/yuzu/configuration/configure_ui.cpp" line="40"/> + <source>None</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_ui.cpp" line="21"/> + <source>Small (32x32)</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_ui.cpp" line="22"/> + <source>Standard (64x64)</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_ui.cpp" line="23"/> + <source>Large (128x128)</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_ui.cpp" line="24"/> + <source>Full Size (256x256)</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_ui.cpp" line="29"/> + <source>Small (24x24)</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_ui.cpp" line="30"/> + <source>Standard (48x48)</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_ui.cpp" line="31"/> + <source>Large (72x72)</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_ui.cpp" line="36"/> + <source>Filename</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_ui.cpp" line="37"/> + <source>Filetype</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_ui.cpp" line="38"/> + <source>Title ID</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_ui.cpp" line="39"/> + <source>Title Name</source> + <translation type="unfinished"/> + </message> +</context> +<context> + <name>ConfigureUi</name> + <message> + <location filename="../../src/yuzu/configuration/configure_ui.ui" line="14"/> + <source>Form</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_ui.ui" line="17"/> + <source>UI</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_ui.ui" line="23"/> + <source>General</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_ui.ui" line="31"/> + <source>Note: Changing language will apply your configuration.</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_ui.ui" line="43"/> + <source>Interface language:</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_ui.ui" line="57"/> + <source>Theme:</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_ui.ui" line="74"/> + <source>Game List</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_ui.ui" line="82"/> + <source>Show Add-Ons Column</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_ui.ui" line="91"/> + <source>Game Icon Size:</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_ui.ui" line="105"/> + <source>Folder Icon Size:</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_ui.ui" line="119"/> + <source>Row 1 Text:</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_ui.ui" line="133"/> + <source>Row 2 Text:</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_ui.ui" line="150"/> + <source>Screenshots</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_ui.ui" line="158"/> + <source>Ask Where To Save Screenshots (Windows Only)</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_ui.ui" line="167"/> + <source>Screenshots Path: </source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_ui.ui" line="177"/> + <source>...</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_ui.cpp" line="93"/> + <source>Select Screenshots Path...</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_ui.cpp" line="173"/> + <source><System></source> + <translation><System></translation> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_ui.cpp" line="174"/> + <source>English</source> + <translation>Tiếng Anh</translation> + </message> +</context> +<context> + <name>ConfigureVibration</name> + <message> + <location filename="../../src/yuzu/configuration/configure_vibration.ui" line="14"/> + <source>Configure Vibration</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_vibration.ui" line="23"/> + <source>Vibration</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_vibration.ui" line="56"/> + <source>Player 1</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_vibration.ui" line="89"/> + <location filename="../../src/yuzu/configuration/configure_vibration.ui" line="141"/> + <location filename="../../src/yuzu/configuration/configure_vibration.ui" line="193"/> + <location filename="../../src/yuzu/configuration/configure_vibration.ui" line="245"/> + <location filename="../../src/yuzu/configuration/configure_vibration.ui" line="315"/> + <location filename="../../src/yuzu/configuration/configure_vibration.ui" line="367"/> + <location filename="../../src/yuzu/configuration/configure_vibration.ui" line="419"/> + <location filename="../../src/yuzu/configuration/configure_vibration.ui" line="471"/> + <source>%</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_vibration.ui" line="108"/> + <source>Player 2</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_vibration.ui" line="160"/> + <source>Player 3</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_vibration.ui" line="212"/> + <source>Player 4</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_vibration.ui" line="282"/> + <source>Player 5</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_vibration.ui" line="334"/> + <source>Player 6</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_vibration.ui" line="386"/> + <source>Player 7</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_vibration.ui" line="438"/> + <source>Player 8</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_vibration.ui" line="496"/> + <source>Settings</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_vibration.ui" line="502"/> + <source>Enable Accurate Vibration</source> + <translation type="unfinished"/> + </message> +</context> +<context> + <name>ConfigureWeb</name> + <message> + <location filename="../../src/yuzu/configuration/configure_web.ui" line="14"/> + <source>Form</source> + <translation>Mẫu</translation> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_web.ui" line="17"/> + <source>Web</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_web.ui" line="25"/> + <source>yuzu Web Service</source> + <translation>Dịch vụ Web yuzu</translation> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_web.ui" line="31"/> + <source>By providing your username and token, you agree to allow yuzu to collect additional usage data, which may include user identifying information.</source> + <translation>Bằng cách cung cấp tên đăng nhập và mã thông báo của bạn, bạn đã chấp thuận sẽ cho phép yuzu thu thập dữ liệu đã sử dụng, trong đó có thể có thông tin nhận dạng người dùng.</translation> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_web.ui" line="49"/> + <location filename="../../src/yuzu/configuration/configure_web.cpp" line="155"/> + <source>Verify</source> + <translation>Xác nhận</translation> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_web.ui" line="56"/> + <source>Sign up</source> + <translation>Đăng ký</translation> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_web.ui" line="66"/> + <source>Token: </source> + <translation>Mã thông báo: </translation> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_web.ui" line="76"/> + <source>Username: </source> + <translation>Tên người dùng: </translation> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_web.ui" line="93"/> + <source>What is my token?</source> + <translation>Mã thông báo của tôi là gì?</translation> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_web.ui" line="118"/> + <source>Telemetry</source> + <translation>Viễn trắc</translation> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_web.ui" line="124"/> + <source>Share anonymous usage data with the yuzu team</source> + <translation>Chia sẽ dữ liệu sử dụng ẩn danh với nhóm yuzu</translation> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_web.ui" line="131"/> + <source>Learn more</source> + <translation>Tìm hiểu thêm</translation> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_web.ui" line="140"/> + <source>Telemetry ID:</source> + <translation>ID Viễn trắc: </translation> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_web.ui" line="156"/> + <source>Regenerate</source> + <translation>Tạo mới</translation> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_web.ui" line="170"/> + <source>Discord Presence</source> + <translation>Hiện diện trên Discord</translation> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_web.ui" line="176"/> + <source>Show Current Game in your Discord Status</source> + <translation>Hiển thị trò chơi hiện tại lên thông tin Discord của bạn</translation> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_web.cpp" line="69"/> + <source><a href='https://yuzu-emu.org/help/feature/telemetry/'><span style="text-decoration: underline; color:#039be5;">Learn more</span></a></source> + <translation><a href='https://yuzu-emu.org/help/feature/telemetry/'><span style="text-decoration: underline; color:#039be5;">Tìm hiểu thêm</span></a></translation> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_web.cpp" line="73"/> + <source><a href='https://profile.yuzu-emu.org/'><span style="text-decoration: underline; color:#039be5;">Sign up</span></a></source> + <translation><a href='https://profile.yuzu-emu.org/'><span style="text-decoration: underline; color:#039be5;">Đăng ký</span></a></translation> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_web.cpp" line="77"/> + <source><a href='https://yuzu-emu.org/wiki/yuzu-web-service/'><span style="text-decoration: underline; color:#039be5;">What is my token?</span></a></source> + <translation><a href='https://yuzu-emu.org/wiki/yuzu-web-service/'><span style="text-decoration: underline; color:#039be5;">Mã thông báo của tôi là gì?</span></a></translation> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_web.cpp" line="81"/> + <location filename="../../src/yuzu/configuration/configure_web.cpp" line="126"/> + <source>Telemetry ID: 0x%1</source> + <translation>ID Viễn trắc: 0x%1</translation> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_web.cpp" line="92"/> + <location filename="../../src/yuzu/configuration/configure_web.cpp" line="166"/> + <source>Unspecified</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_web.cpp" line="118"/> + <source>Token not verified</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_web.cpp" line="119"/> + <source>Token was not verified. The change to your token has not been saved.</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_web.cpp" line="145"/> + <source>Verifying...</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_web.cpp" line="167"/> + <source>Verification failed</source> + <translation>Xác nhận không thành công</translation> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_web.cpp" line="168"/> + <source>Verification failed. Check that you have entered your token correctly, and that your internet connection is working.</source> + <translation type="unfinished"/> + </message> +</context> +<context> + <name>ControllerDialog</name> + <message> + <location filename="../../src/yuzu/debugger/controller.cpp" line="21"/> + <source>Controller P1</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/debugger/controller.cpp" line="60"/> + <source>&Controller P1</source> + <translation type="unfinished"/> + </message> +</context> +<context> + <name>GMainWindow</name> + <message> + <location filename="../../src/yuzu/main.cpp" line="176"/> + <source><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?</source> + <translation><a href='https://yuzu-emu.org/help/feature/telemetry/'>Dữ liệu ẩn danh được thu thập</a>để hỗ trợ cải thiện yuzu. <br/><br/>Bạn có muốn chia sẽ dữ liệu sử dụng cho chúng tôi?</translation> + </message> + <message> + <location filename="../../src/yuzu/main.cpp" line="179"/> + <source>Telemetry</source> + <translation>Viễn trắc</translation> + </message> + <message> + <location filename="../../src/yuzu/main.cpp" line="600"/> + <source>Loading Web Applet...</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/main.cpp" line="647"/> + <location filename="../../src/yuzu/main.cpp" line="650"/> + <source>Disable Web Applet</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/main.cpp" line="651"/> + <source>Disabling the web applet will cause it to not be shown again for the rest of the emulated session. This 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?</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/main.cpp" line="754"/> + <source>The amount of shaders currently being built</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/main.cpp" line="756"/> + <source>The current selected resolution scaling multiplier.</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/main.cpp" line="759"/> + <source>Current emulation speed. Values higher or lower than 100% indicate emulation is running faster or slower than a Switch.</source> + <translation>Tốc độ giả lập hiện tại. Giá trị cao hơn hoặc thấp hơn 100% chỉ ra giả lập sẽ chạy nhanh hơn hoặc chậm hơn trên máy Switch</translation> + </message> + <message> + <location filename="../../src/yuzu/main.cpp" line="762"/> + <source>How many frames per second the game is currently displaying. This will vary from game to game and scene to scene.</source> + <translation>Có bao nhiêu khung hình trên mỗi giây mà trò chơi đang hiển thị. Điều này sẽ thay đổi từ trò chơi này đến trò chơi kia và khung cảnh này đến khung cảnh kia.</translation> + </message> + <message> + <location filename="../../src/yuzu/main.cpp" line="766"/> + <source>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.</source> + <translation>Thời gian mà giả lập lấy từ khung hình Switch, sẽ không kể đến giới hạn khung hình hoặc v-sync. Đối với tốc độ tối đa mà giả lập nhận được nhiều nhất là ở độ khoảng 16.67 ms.</translation> + </message> + <message> + <location filename="../../src/yuzu/main.cpp" line="841"/> + <source>Invalid config detected</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/main.cpp" line="842"/> + <source>Handheld controller can't be used on docked mode. Pro controller will be selected.</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/main.cpp" line="854"/> + <source>DOCK</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/main.cpp" line="888"/> + <source>VULKAN</source> + <translation>VULKAN</translation> + </message> + <message> + <location filename="../../src/yuzu/main.cpp" line="888"/> + <source>OPENGL</source> + <translation>OPENGL</translation> + </message> + <message> + <location filename="../../src/yuzu/main.cpp" line="951"/> + <source>&Clear Recent Files</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/main.cpp" line="1210"/> + <source>&Continue</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/main.cpp" line="1212"/> + <source>&Pause</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/main.cpp" line="1285"/> + <source>Warning Outdated Game Format</source> + <translation>Chú ý định dạng trò chơi đã lỗi thời</translation> + </message> + <message> + <location filename="../../src/yuzu/main.cpp" line="1286"/> + <source>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.</source> + <translation>Bạn đang sử dụng định dạng danh mục ROM giải mã cho trò chơi này, và đó là một định dạng lỗi thời đã được thay thế bởi những thứ khác như NCA, NAX, XCI, hoặc NSP. Danh mục ROM giải mã có thể thiếu biểu tượng, metadata, và hỗ trợ cập nhật.<br><br>Để giải thích về các định dạng khác nhau của Switch mà yuzu hỗ trợ, <a href='https://yuzu-emu.org/wiki/overview-of-switch-game-formats'>vui lòng kiểm tra trên wiki của chúng tôi</a>. Thông báo này sẽ không hiển thị lại lần sau.</translation> + </message> + <message> + <location filename="../../src/yuzu/main.cpp" line="1298"/> + <location filename="../../src/yuzu/main.cpp" line="1335"/> + <source>Error while loading ROM!</source> + <translation>Xảy ra lỗi khi đang nạp ROM!</translation> + </message> + <message> + <location filename="../../src/yuzu/main.cpp" line="1299"/> + <source>The ROM format is not supported.</source> + <translation>Định dạng ROM này không hỗ trợ.</translation> + </message> + <message> + <location filename="../../src/yuzu/main.cpp" line="1303"/> + <source>An error occurred initializing the video core.</source> + <translation>Đã xảy ra lỗi khi khởi tạo lõi video.</translation> + </message> + <message> + <location filename="../../src/yuzu/main.cpp" line="1304"/> + <source>yuzu has encountered an error while running the video core, please see the log for more details.For more information on accessing the log, please see the following page: <a href='https://community.citra-emu.org/t/how-to-upload-the-log-file/296'>How to Upload the Log File</a>.Ensure that you have the latest graphics drivers for your GPU.</source> + <translation>yuzu đã gặp lỗi trong quá trình đang chạy lõi video, vui lòng kiểm tra sổ ghi chép để biết thêm chi tiết. Để biết thêm thông tin về cách truy cập sổ ghi chép, vui lòng xem trang sau: <a href='https://community.citra-emu.org/t/how-to-upload-the-log-file/296'>Làm sao để tải tệp tin sổ ghi chép lên</a>.Hãy chắc rằng bạn đang sử dụng trình điều khiển đồ họa GPU mới nhất.</translation> + </message> + <message> + <location filename="../../src/yuzu/main.cpp" line="1322"/> + <source>Error while loading ROM! %1</source> + <comment>%1 signifies a numeric error code.</comment> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/main.cpp" line="1325"/> + <source>%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.</source> + <comment>%1 signifies an error string.</comment> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/main.cpp" line="1336"/> + <source>An unknown error occurred. Please see the log for more details.</source> + <translation>Đã xảy ra lỗi không xác định. Vui lòng kiểm tra sổ ghi chép để biết thêm chi tiết.</translation> + </message> + <message> + <location filename="../../src/yuzu/main.cpp" line="1460"/> + <source>(64-bit)</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/main.cpp" line="1460"/> + <source>(32-bit)</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/main.cpp" line="1461"/> + <source>%1 %2</source> + <comment>%1 is the title name. %2 indicates if the title is 64-bit or 32-bit</comment> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/main.cpp" line="1605"/> + <source>Save Data</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/main.cpp" line="1653"/> + <source>Mod Data</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/main.cpp" line="1665"/> + <source>Error Opening %1 Folder</source> + <translation>Xảy ra lỗi khi mở %1 thư mục</translation> + </message> + <message> + <location filename="../../src/yuzu/main.cpp" line="1666"/> + <location filename="../../src/yuzu/main.cpp" line="2072"/> + <source>Folder does not exist!</source> + <translation>Thư mục này không tồn tại!</translation> + </message> + <message> + <location filename="../../src/yuzu/main.cpp" line="1678"/> + <source>Error Opening Transferable Shader Cache</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/main.cpp" line="1679"/> + <source>Failed to create the shader cache directory for this title.</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/main.cpp" line="1731"/> + <source>Contents</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/main.cpp" line="1733"/> + <source>Update</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/main.cpp" line="1735"/> + <source>DLC</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/main.cpp" line="1742"/> + <source>Remove Entry</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/main.cpp" line="1742"/> + <source>Remove Installed Game %1?</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/main.cpp" line="1772"/> + <location filename="../../src/yuzu/main.cpp" line="1788"/> + <location filename="../../src/yuzu/main.cpp" line="1819"/> + <location filename="../../src/yuzu/main.cpp" line="1880"/> + <location filename="../../src/yuzu/main.cpp" line="1898"/> + <location filename="../../src/yuzu/main.cpp" line="1921"/> + <source>Successfully Removed</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/main.cpp" line="1773"/> + <source>Successfully removed the installed base game.</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/main.cpp" line="1776"/> + <location filename="../../src/yuzu/main.cpp" line="1791"/> + <location filename="../../src/yuzu/main.cpp" line="1814"/> + <source>Error Removing %1</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/main.cpp" line="1777"/> + <source>The base game is not installed in the NAND and cannot be removed.</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/main.cpp" line="1789"/> + <source>Successfully removed the installed update.</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/main.cpp" line="1792"/> + <source>There is no update installed for this title.</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/main.cpp" line="1815"/> + <source>There are no DLC installed for this title.</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/main.cpp" line="1820"/> + <source>Successfully removed %1 installed DLC.</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/main.cpp" line="1828"/> + <source>Delete OpenGL Transferable Shader Cache?</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/main.cpp" line="1830"/> + <source>Delete Vulkan Transferable Shader Cache?</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/main.cpp" line="1832"/> + <source>Delete All Transferable Shader Caches?</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/main.cpp" line="1834"/> + <source>Remove Custom Game Configuration?</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/main.cpp" line="1840"/> + <source>Remove File</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/main.cpp" line="1875"/> + <location filename="../../src/yuzu/main.cpp" line="1883"/> + <source>Error Removing Transferable Shader Cache</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/main.cpp" line="1876"/> + <location filename="../../src/yuzu/main.cpp" line="1894"/> + <source>A shader cache for this title does not exist.</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/main.cpp" line="1881"/> + <source>Successfully removed the transferable shader cache.</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/main.cpp" line="1884"/> + <source>Failed to remove the transferable shader cache.</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/main.cpp" line="1893"/> + <location filename="../../src/yuzu/main.cpp" line="1901"/> + <source>Error Removing Transferable Shader Caches</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/main.cpp" line="1899"/> + <source>Successfully removed the transferable shader caches.</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/main.cpp" line="1902"/> + <source>Failed to remove the transferable shader cache directory.</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/main.cpp" line="1915"/> + <location filename="../../src/yuzu/main.cpp" line="1924"/> + <source>Error Removing Custom Configuration</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/main.cpp" line="1916"/> + <source>A custom configuration for this title does not exist.</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/main.cpp" line="1922"/> + <source>Successfully removed the custom game configuration.</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/main.cpp" line="1925"/> + <source>Failed to remove the custom game configuration.</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/main.cpp" line="1932"/> + <location filename="../../src/yuzu/main.cpp" line="2011"/> + <source>RomFS Extraction Failed!</source> + <translation>Khai thác RomFS không thành công!</translation> + </message> + <message> + <location filename="../../src/yuzu/main.cpp" line="1933"/> + <source>There was an error copying the RomFS files or the user cancelled the operation.</source> + <translation>Đã xảy ra lỗi khi sao chép tệp tin RomFS hoặc người dùng đã hủy bỏ hoạt động này.</translation> + </message> + <message> + <location filename="../../src/yuzu/main.cpp" line="1991"/> + <source>Full</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/main.cpp" line="1991"/> + <source>Skeleton</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/main.cpp" line="1993"/> + <source>Select RomFS Dump Mode</source> + <translation>Chọn chế độ kết xuất RomFS</translation> + </message> + <message> + <location filename="../../src/yuzu/main.cpp" line="1994"/> + <source>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.</source> + <translation>Vui lòng chọn RomFS mà bạn muốn kết xuất như thế nào.<br>Đầy đủ sẽ sao chép toàn bộ tệp tin vào một danh mục mới trong khi <br>bộ xương chỉ tạo kết cấu danh mục.</translation> + </message> + <message> + <location filename="../../src/yuzu/main.cpp" line="2012"/> + <source>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</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/main.cpp" line="2019"/> + <source>Extracting RomFS...</source> + <translation>Khai thác RomFS...</translation> + </message> + <message> + <location filename="../../src/yuzu/main.cpp" line="2019"/> + <location filename="../../src/yuzu/main.cpp" line="2199"/> + <source>Cancel</source> + <translation>Hủy bỏ</translation> + </message> + <message> + <location filename="../../src/yuzu/main.cpp" line="2026"/> + <source>RomFS Extraction Succeeded!</source> + <translation>Khai thác RomFS thành công!</translation> + </message> + <message> + <location filename="../../src/yuzu/main.cpp" line="2027"/> + <source>The operation completed successfully.</source> + <translation>Các hoạt động đã hoàn tất thành công.</translation> + </message> + <message> + <location filename="../../src/yuzu/main.cpp" line="2071"/> + <source>Error Opening %1</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/main.cpp" line="2080"/> + <source>Select Directory</source> + <translation>Chọn danh mục</translation> + </message> + <message> + <location filename="../../src/yuzu/main.cpp" line="2107"/> + <source>Properties</source> + <translation>Thuộc tính</translation> + </message> + <message> + <location filename="../../src/yuzu/main.cpp" line="2108"/> + <source>The game properties could not be loaded.</source> + <translation>Thuộc tính của trò chơi không thể nạp được.</translation> + </message> + <message> + <location filename="../../src/yuzu/main.cpp" line="2120"/> + <source>Switch Executable (%1);;All Files (*.*)</source> + <comment>%1 is an identifier for the Switch executable file extensions.</comment> + <translation>Thực thi Switch (%1);;Tất cả tệp tin (*.*)</translation> + </message> + <message> + <location filename="../../src/yuzu/main.cpp" line="2124"/> + <source>Load File</source> + <translation>Nạp tệp tin</translation> + </message> + <message> + <location filename="../../src/yuzu/main.cpp" line="2136"/> + <source>Open Extracted ROM Directory</source> + <translation>Mở danh mục ROM đã trích xuất</translation> + </message> + <message> + <location filename="../../src/yuzu/main.cpp" line="2147"/> + <source>Invalid Directory Selected</source> + <translation>Danh mục đã chọn không hợp lệ</translation> + </message> + <message> + <location filename="../../src/yuzu/main.cpp" line="2148"/> + <source>The directory you have selected does not contain a 'main' file.</source> + <translation>Danh mục mà bạn đã chọn không có chứa tệp tin 'main'.</translation> + </message> + <message> + <location filename="../../src/yuzu/main.cpp" line="2158"/> + <source>Installable Switch File (*.nca *.nsp *.xci);;Nintendo Content Archive (*.nca);;Nintendo Submission Package (*.nsp);;NX Cartridge Image (*.xci)</source> + <translation>Những tệp tin Switch cài được (*.nca *.nsp *.xci);;Nintendo Content Archive (*.nca);;Nintendo Submission Package (*.nsp);;NX Cartridge Image (*.xci)</translation> + </message> + <message> + <location filename="../../src/yuzu/main.cpp" line="2163"/> + <source>Install Files</source> + <translation type="unfinished"/> + </message> + <message numerus="yes"> + <location filename="../../src/yuzu/main.cpp" line="2207"/> + <source>%n file(s) remaining</source> + <translation type="unfinished"><numerusform></numerusform></translation> + </message> + <message> + <location filename="../../src/yuzu/main.cpp" line="2209"/> + <source>Installing file "%1"...</source> + <translation>Đang cài đặt tệp tin "%1"...</translation> + </message> + <message> + <location filename="../../src/yuzu/main.cpp" line="2255"/> + <location filename="../../src/yuzu/main.cpp" line="2269"/> + <source>Install Results</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/main.cpp" line="2256"/> + <source>To avoid possible conflicts, we discourage users from installing base games to the NAND. +Please, only use this feature to install updates and DLC.</source> + <translation type="unfinished"/> + </message> + <message numerus="yes"> + <location filename="../../src/yuzu/main.cpp" line="2262"/> + <source>%n file(s) were newly installed +</source> + <translation type="unfinished"><numerusform></numerusform></translation> + </message> + <message numerus="yes"> + <location filename="../../src/yuzu/main.cpp" line="2265"/> + <source>%n file(s) were overwritten +</source> + <translation type="unfinished"><numerusform></numerusform></translation> + </message> + <message numerus="yes"> + <location filename="../../src/yuzu/main.cpp" line="2267"/> + <source>%n file(s) failed to install +</source> + <translation type="unfinished"><numerusform></numerusform></translation> + </message> + <message> + <location filename="../../src/yuzu/main.cpp" line="2368"/> + <source>System Application</source> + <translation>Hệ thống ứng dụng</translation> + </message> + <message> + <location filename="../../src/yuzu/main.cpp" line="2369"/> + <source>System Archive</source> + <translation>Hệ thống lưu trữ</translation> + </message> + <message> + <location filename="../../src/yuzu/main.cpp" line="2370"/> + <source>System Application Update</source> + <translation>Cập nhật hệ thống ứng dụng</translation> + </message> + <message> + <location filename="../../src/yuzu/main.cpp" line="2371"/> + <source>Firmware Package (Type A)</source> + <translation>Gói phần mềm (Loại A)</translation> + </message> + <message> + <location filename="../../src/yuzu/main.cpp" line="2372"/> + <source>Firmware Package (Type B)</source> + <translation>Gói phần mềm (Loại B)</translation> + </message> + <message> + <location filename="../../src/yuzu/main.cpp" line="2373"/> + <source>Game</source> + <translation>Trò chơi</translation> + </message> + <message> + <location filename="../../src/yuzu/main.cpp" line="2374"/> + <source>Game Update</source> + <translation>Cập nhật trò chơi</translation> + </message> + <message> + <location filename="../../src/yuzu/main.cpp" line="2375"/> + <source>Game DLC</source> + <translation>Nội dung trò chơi có thể tải xuống</translation> + </message> + <message> + <location filename="../../src/yuzu/main.cpp" line="2376"/> + <source>Delta Title</source> + <translation>Tiêu đề Delta</translation> + </message> + <message> + <location filename="../../src/yuzu/main.cpp" line="2379"/> + <source>Select NCA Install Type...</source> + <translation>Chọn loại NCA để cài đặt...</translation> + </message> + <message> + <location filename="../../src/yuzu/main.cpp" line="2380"/> + <source>Please select the type of title you would like to install this NCA as: +(In most instances, the default 'Game' is fine.)</source> + <translation>Vui lòng chọn loại tiêu đề mà bạn muốn cài đặt NCA này: +(Trong hầu hết trường hợp, chọn mặc định 'Game' là tốt nhất.)</translation> + </message> + <message> + <location filename="../../src/yuzu/main.cpp" line="2386"/> + <source>Failed to Install</source> + <translation>Cài đặt đã không thành công</translation> + </message> + <message> + <location filename="../../src/yuzu/main.cpp" line="2387"/> + <source>The title type you selected for the NCA is invalid.</source> + <translation>Loại tiêu đề NCA mà bạn chọn nó không hợp lệ.</translation> + </message> + <message> + <location filename="../../src/yuzu/main.cpp" line="2422"/> + <source>File not found</source> + <translation>Không tìm thấy tệp tin</translation> + </message> + <message> + <location filename="../../src/yuzu/main.cpp" line="2423"/> + <source>File "%1" not found</source> + <translation>Không tìm thấy "%1" tệp tin</translation> + </message> + <message> + <location filename="../../src/yuzu/main.cpp" line="2492"/> + <source>OK</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/main.cpp" line="2506"/> + <source>Missing yuzu Account</source> + <translation>Thiếu tài khoản yuzu</translation> + </message> + <message> + <location filename="../../src/yuzu/main.cpp" line="2507"/> + <source>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.</source> + <translation>Để gửi trường hợp thử nghiệm trò chơi tương thích, bạn phải liên kết tài khoản yuzu.<br><br/>Để liên kết tải khoản yuzu của bạn, hãy đến Giả lập &gt; Thiết lập &gt; Web.</translation> + </message> + <message> + <location filename="../../src/yuzu/main.cpp" line="2517"/> + <source>Error opening URL</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/main.cpp" line="2518"/> + <source>Unable to open the URL "%1".</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/main.cpp" line="2777"/> + <source>TAS Recording</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/main.cpp" line="2777"/> + <source>Overwrite file of player 1?</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/main.cpp" line="2830"/> + <source>Amiibo File (%1);; All Files (*.*)</source> + <translation>Tệp tin Amiibo (%1);; Tất cả tệp tin (*.*)</translation> + </message> + <message> + <location filename="../../src/yuzu/main.cpp" line="2831"/> + <source>Load Amiibo</source> + <translation>Nạp dữ liệu Amiibo</translation> + </message> + <message> + <location filename="../../src/yuzu/main.cpp" line="2849"/> + <source>Error opening Amiibo data file</source> + <translation>Xảy ra lỗi khi mở dữ liệu tệp tin Amiibo</translation> + </message> + <message> + <location filename="../../src/yuzu/main.cpp" line="2850"/> + <source>Unable to open Amiibo file "%1" for reading.</source> + <translation>Không thể mở tệp tin Amiibo "%1" để đọc.</translation> + </message> + <message> + <location filename="../../src/yuzu/main.cpp" line="2858"/> + <source>Error reading Amiibo data file</source> + <translation>Xảy ra lỗi khi đọc dữ liệu tệp tin Amiibo</translation> + </message> + <message> + <location filename="../../src/yuzu/main.cpp" line="2859"/> + <source>Unable to fully read Amiibo data. Expected to read %1 bytes, but was only able to read %2 bytes.</source> + <translation>Hoàn toàn không thể đọc được dữ liệu Amiibo. Dự kiến byte sẽ đọc là %1, nhưng byte chỉ có thể đọc là %2.</translation> + </message> + <message> + <location filename="../../src/yuzu/main.cpp" line="2867"/> + <source>Error loading Amiibo data</source> + <translation>Xảy ra lỗi khi nạp dữ liệu Amiibo</translation> + </message> + <message> + <location filename="../../src/yuzu/main.cpp" line="2868"/> + <source>Unable to load Amiibo data.</source> + <translation>Không thể nạp dữ liệu Amiibo.</translation> + </message> + <message> + <location filename="../../src/yuzu/main.cpp" line="2913"/> + <source>Capture Screenshot</source> + <translation>Chụp ảnh màn hình</translation> + </message> + <message> + <location filename="../../src/yuzu/main.cpp" line="2914"/> + <source>PNG Image (*.png)</source> + <translation>Hình ảnh PNG (*.png)</translation> + </message> + <message> + <location filename="../../src/yuzu/main.cpp" line="2979"/> + <source>TAS state: Running %1/%2</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/main.cpp" line="2981"/> + <source>TAS state: Recording %1</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/main.cpp" line="2983"/> + <source>TAS state: Idle %1/%2</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/main.cpp" line="2985"/> + <source>TAS State: Invalid</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/main.cpp" line="2999"/> + <source>&Stop Running</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/main.cpp" line="2999"/> + <source>&Start</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/main.cpp" line="3000"/> + <source>Stop R&ecording</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/main.cpp" line="3000"/> + <source>R&ecord</source> + <translation type="unfinished"/> + </message> + <message numerus="yes"> + <location filename="../../src/yuzu/main.cpp" line="3024"/> + <source>Building: %n shader(s)</source> + <translation type="unfinished"><numerusform></numerusform></translation> + </message> + <message> + <location filename="../../src/yuzu/main.cpp" line="3033"/> + <source>Scale: %1x</source> + <comment>%1 is the resolution scaling factor</comment> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/main.cpp" line="3036"/> + <source>Speed: %1% / %2%</source> + <translation>Tốc độ: %1% / %2%</translation> + </message> + <message> + <location filename="../../src/yuzu/main.cpp" line="3040"/> + <source>Speed: %1%</source> + <translation>Tốc độ: %1%</translation> + </message> + <message> + <location filename="../../src/yuzu/main.cpp" line="3044"/> + <source>Game: %1 FPS (Unlocked)</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/main.cpp" line="3046"/> + <source>Game: %1 FPS</source> + <translation>Trò chơi: %1 FPS</translation> + </message> + <message> + <location filename="../../src/yuzu/main.cpp" line="3048"/> + <source>Frame: %1 ms</source> + <translation>Khung hình: %1 ms</translation> + </message> + <message> + <location filename="../../src/yuzu/main.cpp" line="3059"/> + <source>GPU NORMAL</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/main.cpp" line="3064"/> + <source>GPU HIGH</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/main.cpp" line="3069"/> + <source>GPU EXTREME</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/main.cpp" line="3074"/> + <source>GPU ERROR</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/main.cpp" line="3084"/> + <source>NEAREST</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/main.cpp" line="3087"/> + <location filename="../../src/yuzu/main.cpp" line="3102"/> + <source>BILINEAR</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/main.cpp" line="3090"/> + <source>BICUBIC</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/main.cpp" line="3093"/> + <source>GAUSSIAN</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/main.cpp" line="3096"/> + <source>SCALEFORCE</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/main.cpp" line="3099"/> + <source>FSR</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/main.cpp" line="3111"/> + <location filename="../../src/yuzu/main.cpp" line="3117"/> + <source>NO AA</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/main.cpp" line="3114"/> + <source>FXAA</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/main.cpp" line="3175"/> + <source>The game you are trying to load requires additional files from your Switch to be dumped before playing.<br/><br/>For more information on dumping these files, please see the following wiki page: <a href='https://yuzu-emu.org/wiki/dumping-system-archives-and-the-shared-fonts-from-a-switch-console/'>Dumping System Archives and the Shared Fonts from a Switch Console</a>.<br/><br/>Would you like to quit back to the game list? Continuing emulation may result in crashes, corrupted save data, or other bugs.</source> + <translation>Trò chơi bạn muốn chạy yêu cầu một số tệp tin được sao chép từ thiết từ máy Switch của bạn trước khi bắt đầu chơi.<br/><br/>Để biết thêm thông tin về cách sao chép những tệp tin đó, vui lòng tham khảo những wiki sau: <a href='https://yuzu-emu.org/wiki/dumping-system-archives-and-the-shared-fonts-from-a-switch-console/'>Sao chép dữ liệu hệ thống và font dùng chung từ máy Switch</a>.<br/><br/>Bạn có muốn trở về danh sách trò chơi? Nếu bạn vẫn tiếp tục thì trò chơi có thể gặp sự cố, dữ liệu lưu tiến trình có thể bị lỗi, hoặc bạn sẽ gặp những lỗi khác.</translation> + </message> + <message> + <location filename="../../src/yuzu/main.cpp" line="3190"/> + <source>yuzu was unable to locate a Switch system archive. %1</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/main.cpp" line="3192"/> + <source>yuzu was unable to locate a Switch system archive: %1. %2</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/main.cpp" line="3196"/> + <source>System Archive Not Found</source> + <translation>Không tìm thấy tệp tin hệ thống</translation> + </message> + <message> + <location filename="../../src/yuzu/main.cpp" line="3198"/> + <source>System Archive Missing</source> + <translation>Bị thiếu tệp tin hệ thống</translation> + </message> + <message> + <location filename="../../src/yuzu/main.cpp" line="3204"/> + <source>yuzu was unable to locate the Switch shared fonts. %1</source> + <translation>yuzu không thể tìm thấy vị trí font dùng chung của Switch. %1</translation> + </message> + <message> + <location filename="../../src/yuzu/main.cpp" line="3205"/> + <source>Shared Fonts Not Found</source> + <translation>Không tìm thấy font dùng chung</translation> + </message> + <message> + <location filename="../../src/yuzu/main.cpp" line="3207"/> + <source>Shared Font Missing</source> + <translation>Bị thiếu font dùng chung</translation> + </message> + <message> + <location filename="../../src/yuzu/main.cpp" line="3213"/> + <source>Fatal Error</source> + <translation>Lỗi nghiêm trọng</translation> + </message> + <message> + <location filename="../../src/yuzu/main.cpp" line="3214"/> + <source>yuzu has encountered a fatal error, please see the log for more details. For more information on accessing the log, please see the following page: <a href='https://community.citra-emu.org/t/how-to-upload-the-log-file/296'>How to Upload the Log File</a>.<br/><br/>Would you like to quit back to the game list? Continuing emulation may result in crashes, corrupted save data, or other bugs.</source> + <translation>yuzu đã xảy ra lỗi nghiêm trọng, vui lòng kiểm tra sổ ghi chép để biết thêm chi tiết. Để biết thêm thông tin về cách truy cập sổ ghi chép, vui lòng xem trang sau: <a href='https://community.citra-emu.org/t/how-to-upload-the-log-file/296'>Làm sao để tải tệp tin sổ ghi chép lên</a>.<br/><br/>Bạn có muốn trở về danh sách game? Tiếp tục có thể khiến giả lập gặp sự cố, gây hỏng dữ liệu đã lưu, hoặc gây các lỗi khác.</translation> + </message> + <message> + <location filename="../../src/yuzu/main.cpp" line="3223"/> + <source>Fatal Error encountered</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/main.cpp" line="3246"/> + <source>Confirm Key Rederivation</source> + <translation>Xác nhận mã khóa Rederivation</translation> + </message> + <message> + <location filename="../../src/yuzu/main.cpp" line="3247"/> + <source>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. +Please make sure this is what you want +and optionally make backups. + +This will delete your autogenerated key files and re-run the key derivation module.</source> + <translation>Bạn đang muốn bắt buộc làm lại trích dẫn toàn bộ mã khóa của bạn. +Nếu bạn không biết cái này là gì hay bạn đang làm gì, +đây là hành động có khả năng phá hoại. +Hãy chắc rằng đây là điều bạn muốn +và phải tạo ra một bản sao lưu lại. + +Điều này sẽ xóa mã khóa tự động tạo trên tệp tin của bạn và chạy lại mô-đun mã khóa derivation.</translation> + </message> + <message> + <location filename="../../src/yuzu/main.cpp" line="3279"/> + <source>Missing fuses</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/main.cpp" line="3282"/> + <source> - Missing BOOT0</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/main.cpp" line="3285"/> + <source> - Missing BCPKG2-1-Normal-Main</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/main.cpp" line="3288"/> + <source> - Missing PRODINFO</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/main.cpp" line="3292"/> + <source>Derivation Components Missing</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/main.cpp" line="3293"/> + <source>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></source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/main.cpp" line="3302"/> + <source>Deriving keys... +This may take up to a minute depending +on your system's performance.</source> + <translation>Mã khóa xuất phát... +Điều này có thể mất hơn vài phút tùy thuộc +vào hiệu suất hệ thống của bạn.</translation> + </message> + <message> + <location filename="../../src/yuzu/main.cpp" line="3304"/> + <source>Deriving Keys</source> + <translation>Mã khóa xuất phát</translation> + </message> + <message> + <location filename="../../src/yuzu/main.cpp" line="3349"/> + <source>Select RomFS Dump Target</source> + <translation>Chọn thư mục để sao chép RomFS</translation> + </message> + <message> + <location filename="../../src/yuzu/main.cpp" line="3350"/> + <source>Please select which RomFS you would like to dump.</source> + <translation>Vui lòng chọn RomFS mà bạn muốn sao chép.</translation> + </message> + <message> + <location filename="../../src/yuzu/main.cpp" line="3365"/> + <source>Are you sure you want to close yuzu?</source> + <translation>Bạn có chắc chắn muốn đóng yuzu?</translation> + </message> + <message> + <location filename="../../src/yuzu/main.cpp" line="3366"/> + <location filename="../../src/yuzu/main.cpp" line="3443"/> + <location filename="../../src/yuzu/main.cpp" line="3456"/> + <source>yuzu</source> + <translation>yuzu</translation> + </message> + <message> + <location filename="../../src/yuzu/main.cpp" line="3444"/> + <source>Are you sure you want to stop the emulation? Any unsaved progress will be lost.</source> + <translation>Bạn có chắc rằng muốn dừng giả lập? Bất kì tiến trình nào chưa được lưu sẽ bị mất.</translation> + </message> + <message> + <location filename="../../src/yuzu/main.cpp" line="3453"/> + <source>The currently running application has requested yuzu to not exit. + +Would you like to bypass this and exit anyway?</source> + <translation>Chương trình đang chạy đã yêu cầu yuzu không được thoát. + +Bạn có muốn bỏ qua yêu cầu đó và thoát luôn không?</translation> + </message> +</context> +<context> + <name>GRenderWindow</name> + <message> + <location filename="../../src/yuzu/bootmanager.cpp" line="976"/> + <source>OpenGL not available!</source> + <translation>Không có sẵn OpenGL!</translation> + </message> + <message> + <location filename="../../src/yuzu/bootmanager.cpp" line="977"/> + <source>yuzu has not been compiled with OpenGL support.</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/bootmanager.cpp" line="996"/> + <location filename="../../src/yuzu/bootmanager.cpp" line="1016"/> + <source>Error while initializing OpenGL!</source> + <translation>Đã xảy ra lỗi khi khởi tạo OpenGL!</translation> + </message> + <message> + <location filename="../../src/yuzu/bootmanager.cpp" line="997"/> + <source>Your GPU may not support OpenGL, or you do not have the latest graphics driver.</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/bootmanager.cpp" line="1006"/> + <source>Error while initializing OpenGL 4.6!</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/bootmanager.cpp" line="1007"/> + <source>Your GPU may not support OpenGL 4.6, or you do not have the latest graphics driver.<br><br>GL Renderer:<br>%1</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/bootmanager.cpp" line="1017"/> + <source>Your GPU may not support one or more required OpenGL extensions. Please ensure you have the latest graphics driver.<br><br>GL Renderer:<br>%1<br><br>Unsupported extensions:<br>%2</source> + <translation type="unfinished"/> + </message> +</context> +<context> + <name>GameList</name> + <message> + <location filename="../../src/yuzu/game_list.cpp" line="330"/> + <source>Name</source> + <translation>Tên</translation> + </message> + <message> + <location filename="../../src/yuzu/game_list.cpp" line="331"/> + <source>Compatibility</source> + <translation>Tương thích</translation> + </message> + <message> + <location filename="../../src/yuzu/game_list.cpp" line="333"/> + <source>Add-ons</source> + <translation>Tiện ích ngoài</translation> + </message> + <message> + <location filename="../../src/yuzu/game_list.cpp" line="335"/> + <source>File type</source> + <translation>Loại tệp tin</translation> + </message> + <message> + <location filename="../../src/yuzu/game_list.cpp" line="336"/> + <source>Size</source> + <translation>Kích cỡ</translation> + </message> + <message> + <location filename="../../src/yuzu/game_list.cpp" line="508"/> + <source>Favorite</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/game_list.cpp" line="510"/> + <source>Start Game</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/game_list.cpp" line="512"/> + <source>Start Game without Custom Configuration</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/game_list.cpp" line="514"/> + <source>Open Save Data Location</source> + <translation>Mở vị trí lưu dữ liệu</translation> + </message> + <message> + <location filename="../../src/yuzu/game_list.cpp" line="515"/> + <source>Open Mod Data Location</source> + <translation>Mở vị trí chỉnh sửa dữ liệu</translation> + </message> + <message> + <location filename="../../src/yuzu/game_list.cpp" line="517"/> + <source>Open Transferable Pipeline Cache</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/game_list.cpp" line="519"/> + <source>Remove</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/game_list.cpp" line="520"/> + <source>Remove Installed Update</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/game_list.cpp" line="521"/> + <source>Remove All Installed DLC</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/game_list.cpp" line="522"/> + <source>Remove Custom Configuration</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/game_list.cpp" line="523"/> + <source>Remove OpenGL Pipeline Cache</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/game_list.cpp" line="524"/> + <source>Remove Vulkan Pipeline Cache</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/game_list.cpp" line="526"/> + <source>Remove All Pipeline Caches</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/game_list.cpp" line="527"/> + <source>Remove All Installed Contents</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/game_list.cpp" line="528"/> + <location filename="../../src/yuzu/game_list.cpp" line="529"/> + <source>Dump RomFS</source> + <translation>Kết xuất RomFS</translation> + </message> + <message> + <location filename="../../src/yuzu/game_list.cpp" line="530"/> + <source>Dump RomFS to SDMC</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/game_list.cpp" line="531"/> + <source>Copy Title ID to Clipboard</source> + <translation>Sao chép ID tiêu đề vào bộ nhớ tạm</translation> + </message> + <message> + <location filename="../../src/yuzu/game_list.cpp" line="532"/> + <source>Navigate to GameDB entry</source> + <translation>Điều hướng đến mục cơ sở dữ liệu trò chơi</translation> + </message> + <message> + <location filename="../../src/yuzu/game_list.cpp" line="534"/> + <source>Properties</source> + <translation>Thuộc tính</translation> + </message> + <message> + <location filename="../../src/yuzu/game_list.cpp" line="606"/> + <source>Scan Subfolders</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/game_list.cpp" line="607"/> + <source>Remove Game Directory</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/game_list.cpp" line="626"/> + <source>▲ Move Up</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/game_list.cpp" line="627"/> + <source>▼ Move Down</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/game_list.cpp" line="628"/> + <source>Open Directory Location</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/game_list.cpp" line="673"/> + <source>Clear</source> + <translation type="unfinished"/> + </message> +</context> +<context> + <name>GameListItemCompat</name> + <message> + <location filename="../../src/yuzu/game_list_p.h" line="151"/> + <source>Perfect</source> + <translation>Tốt nhất</translation> + </message> + <message> + <location filename="../../src/yuzu/game_list_p.h" line="151"/> + <source>Game functions flawless with no audio or graphical glitches, all tested functionality works as intended without +any workarounds needed.</source> + <translation>Có thể chơi một cách mượt mà mà không có lỗi âm thanh hoặc đồ họa nào, tất cả các chức năng đều hoạt động như ý mà không cần bất kì tinh chỉnh nào.</translation> + </message> + <message> + <location filename="../../src/yuzu/game_list_p.h" line="152"/> + <source>Great</source> + <translation>Tốt</translation> + </message> + <message> + <location filename="../../src/yuzu/game_list_p.h" line="152"/> + <source>Game functions with minor graphical or audio glitches and is playable from start to finish. May require some +workarounds.</source> + <translation>Có thể chơi từ đầu đến cuối nhưng vẫn có một số lỗi nhỏ về đồ họa hoặc âm thanh. Có thể sẽ cần tới một vài tinh chỉnh nào đó.</translation> + </message> + <message> + <location filename="../../src/yuzu/game_list_p.h" line="153"/> + <source>Okay</source> + <translation>Tạm ổn</translation> + </message> + <message> + <location filename="../../src/yuzu/game_list_p.h" line="153"/> + <source>Game functions with major graphical or audio glitches, but game is playable from start to finish with +workarounds.</source> + <translation>Tạm chơi được nhưng có lỗi đồ họa hoặc âm thanh một cách đáng kể, tuy vậy vẫn có thể chơi hết từ đầu đến cuối với một số tinh chỉnh.</translation> + </message> + <message> + <location filename="../../src/yuzu/game_list_p.h" line="154"/> + <source>Bad</source> + <translation>Không tốt</translation> + </message> + <message> + <location filename="../../src/yuzu/game_list_p.h" line="154"/> + <source>Game functions, but with major graphical or audio glitches. Unable to progress in specific areas due to glitches +even with workarounds.</source> + <translation>Chơi được nhưng có nhiều lỗi đồ họa hoặc âm thanh. Không thể chơi tiếp ở một số nơi nào đó do lỗi dù có tinh chỉnh thế nào đi nữa.</translation> + </message> + <message> + <location filename="../../src/yuzu/game_list_p.h" line="155"/> + <source>Intro/Menu</source> + <translation>Phần mở đầu/Menu</translation> + </message> + <message> + <location filename="../../src/yuzu/game_list_p.h" line="155"/> + <source>Game is completely unplayable due to major graphical or audio glitches. Unable to progress past the Start +Screen.</source> + <translation>Hoàn toàn không thể chơi được do có nhiều lỗi đồ họa hoặc âm thanh. Không thể chơi tiếp sau khi bấm nút bắt đầu trò chơi.</translation> + </message> + <message> + <location filename="../../src/yuzu/game_list_p.h" line="156"/> + <source>Won't Boot</source> + <translation>Không hoạt động</translation> + </message> + <message> + <location filename="../../src/yuzu/game_list_p.h" line="156"/> + <source>The game crashes when attempting to startup.</source> + <translation>Trò chơi sẽ thoát đột ngột khi khởi động.</translation> + </message> + <message> + <location filename="../../src/yuzu/game_list_p.h" line="157"/> + <source>Not Tested</source> + <translation>Chưa ai thử</translation> + </message> + <message> + <location filename="../../src/yuzu/game_list_p.h" line="157"/> + <source>The game has not yet been tested.</source> + <translation>Trò chơi này chưa có ai thử cả.</translation> + </message> +</context> +<context> + <name>GameListPlaceholder</name> + <message> + <location filename="../../src/yuzu/game_list.cpp" line="846"/> + <source>Double-click to add a new folder to the game list</source> + <translation type="unfinished"/> + </message> +</context> +<context> + <name>GameListSearchField</name> + <message numerus="yes"> + <location filename="../../src/yuzu/game_list.cpp" line="85"/> + <source>%1 of %n result(s)</source> + <translation type="unfinished"><numerusform></numerusform></translation> + </message> + <message> + <location filename="../../src/yuzu/game_list.cpp" line="128"/> + <source>Filter:</source> + <translation>Bộ lọc:</translation> + </message> + <message> + <location filename="../../src/yuzu/game_list.cpp" line="131"/> + <source>Enter pattern to filter</source> + <translation>Nhập khuôn để lọc</translation> + </message> +</context> +<context> + <name>InstallDialog</name> + <message> + <location filename="../../src/yuzu/install_dialog.cpp" line="31"/> + <source>Please confirm these are the files you wish to install.</source> + <translation>Xin hãy xác nhận đây là những tệp tin bạn muốn cài.</translation> + </message> + <message> + <location filename="../../src/yuzu/install_dialog.cpp" line="34"/> + <source>Installing an Update or DLC will overwrite the previously installed one.</source> + <translation>Cài đặt một tệp tin cập nhật hoặc DLC mới sẽ thay thế những tệp cũ đã cài trước đó.</translation> + </message> + <message> + <location filename="../../src/yuzu/install_dialog.cpp" line="38"/> + <source>Install</source> + <translation>Cài đặt</translation> + </message> + <message> + <location filename="../../src/yuzu/install_dialog.cpp" line="52"/> + <source>Install Files to NAND</source> + <translation type="unfinished"/> + </message> +</context> +<context> + <name>LimitableInputDialog</name> + <message> + <location filename="../../src/yuzu/util/limitable_input_dialog.cpp" line="62"/> + <source>The text can't contain any of the following characters: +%1</source> + <translation type="unfinished"/> + </message> +</context> +<context> + <name>LoadingScreen</name> + <message> + <location filename="../../src/yuzu/loading_screen.ui" line="84"/> + <source>Loading Shaders 387 / 1628</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/loading_screen.ui" line="121"/> + <source>Loading Shaders %v out of %m</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/loading_screen.ui" line="135"/> + <source>Estimated Time 5m 4s</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/loading_screen.cpp" line="91"/> + <source>Loading...</source> + <translation>Đang tải...</translation> + </message> + <message> + <location filename="../../src/yuzu/loading_screen.cpp" line="92"/> + <source>Loading Shaders %1 / %2</source> + <translation>Đang nạp shader %1 / %2</translation> + </message> + <message> + <location filename="../../src/yuzu/loading_screen.cpp" line="93"/> + <source>Launching...</source> + <translation>Đang mở...</translation> + </message> + <message> + <location filename="../../src/yuzu/loading_screen.cpp" line="174"/> + <source>Estimated Time %1</source> + <translation>Ước tính thời gian %1</translation> + </message> +</context> +<context> + <name>MainWindow</name> + <message> + <location filename="../../src/yuzu/main.ui" line="14"/> + <source>yuzu</source> + <translation>yuzu</translation> + </message> + <message> + <location filename="../../src/yuzu/main.ui" line="44"/> + <source>&File</source> + <translation>&Tệp tin</translation> + </message> + <message> + <location filename="../../src/yuzu/main.ui" line="48"/> + <source>&Recent Files</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/main.ui" line="67"/> + <source>&Emulation</source> + <translation>&Giả lập</translation> + </message> + <message> + <location filename="../../src/yuzu/main.ui" line="78"/> + <source>&View</source> + <translation>&Xem</translation> + </message> + <message> + <location filename="../../src/yuzu/main.ui" line="82"/> + <source>&Reset Window Size</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/main.ui" line="87"/> + <source>&Debugging</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/main.ui" line="92"/> + <source>Reset Window Size to &720p</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/main.ui" line="95"/> + <source>Reset Window Size to 720p</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/main.ui" line="100"/> + <source>Reset Window Size to &900p</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/main.ui" line="103"/> + <source>Reset Window Size to 900p</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/main.ui" line="108"/> + <source>Reset Window Size to &1080p</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/main.ui" line="111"/> + <source>Reset Window Size to 1080p</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/main.ui" line="125"/> + <source>&Tools</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/main.ui" line="129"/> + <source>&TAS</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/main.ui" line="144"/> + <source>&Help</source> + <translation>&Trợ giúp</translation> + </message> + <message> + <location filename="../../src/yuzu/main.ui" line="164"/> + <source>&Install Files to NAND...</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/main.ui" line="169"/> + <source>L&oad File...</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/main.ui" line="174"/> + <source>Load &Folder...</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/main.ui" line="179"/> + <source>E&xit</source> + <translation>Th&oát</translation> + </message> + <message> + <location filename="../../src/yuzu/main.ui" line="187"/> + <source>&Pause</source> + <translation>&Tạm dừng</translation> + </message> + <message> + <location filename="../../src/yuzu/main.ui" line="195"/> + <source>&Stop</source> + <translation>&Dừng</translation> + </message> + <message> + <location filename="../../src/yuzu/main.ui" line="200"/> + <source>&Reinitialize keys...</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/main.ui" line="205"/> + <source>&About yuzu</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/main.ui" line="213"/> + <source>Single &Window Mode</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/main.ui" line="218"/> + <source>Con&figure...</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/main.ui" line="226"/> + <source>Display D&ock Widget Headers</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/main.ui" line="234"/> + <source>Show &Filter Bar</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/main.ui" line="242"/> + <source>Show &Status Bar</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/main.ui" line="245"/> + <source>Show Status Bar</source> + <translation>Hiển thị thanh trạng thái</translation> + </message> + <message> + <location filename="../../src/yuzu/main.ui" line="253"/> + <source>F&ullscreen</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/main.ui" line="261"/> + <source>&Restart</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/main.ui" line="269"/> + <source>Load &Amiibo...</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/main.ui" line="277"/> + <source>&Report Compatibility</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/main.ui" line="285"/> + <source>Open &Mods Page</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/main.ui" line="290"/> + <source>Open &Quickstart Guide</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/main.ui" line="295"/> + <source>&FAQ</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/main.ui" line="300"/> + <source>Open &yuzu Folder</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/main.ui" line="308"/> + <source>&Capture Screenshot</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/main.ui" line="313"/> + <source>&Configure TAS...</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/main.ui" line="321"/> + <source>Configure C&urrent Game...</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/main.ui" line="329"/> + <source>&Start</source> + <translation>&Bắt đầu</translation> + </message> + <message> + <location filename="../../src/yuzu/main.ui" line="337"/> + <source>&Reset</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/main.ui" line="345"/> + <source>R&ecord</source> + <translation type="unfinished"/> + </message> +</context> +<context> + <name>MicroProfileDialog</name> + <message> + <location filename="../../src/yuzu/debugger/profiler.cpp" line="51"/> + <source>&MicroProfile</source> + <translation type="unfinished"/> + </message> +</context> +<context> + <name>OverlayDialog</name> + <message> + <location filename="../../src/yuzu/util/overlay_dialog.ui" line="14"/> + <source>Dialog</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/util/overlay_dialog.ui" line="134"/> + <location filename="../../src/yuzu/util/overlay_dialog.ui" line="353"/> + <source>Cancel</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/util/overlay_dialog.ui" line="152"/> + <location filename="../../src/yuzu/util/overlay_dialog.ui" line="371"/> + <source>OK</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/util/overlay_dialog.ui" line="313"/> + <source><!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;"> +<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></source> + <translation type="unfinished"/> + </message> +</context> +<context> + <name>PlayerControlPreview</name> + <message> + <location filename="../../src/yuzu/configuration/configure_input_player_widget.cpp" line="1572"/> + <source>START/PAUSE</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_input_player_widget.cpp" line="2685"/> + <source>Charging</source> + <translation type="unfinished"/> + </message> +</context> +<context> + <name>QObject</name> + <message> + <location filename="../../src/yuzu/game_list_p.h" line="244"/> + <source>Installed SD Titles</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/game_list_p.h" line="252"/> + <source>Installed NAND Titles</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/game_list_p.h" line="260"/> + <source>System Titles</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/game_list_p.h" line="303"/> + <source>Add New Game Directory</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/game_list_p.h" line="326"/> + <source>Favorites</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_touch_from_button.cpp" line="23"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="43"/> + <source>Shift</source> + <translation>Shift</translation> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_touch_from_button.cpp" line="25"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="45"/> + <source>Ctrl</source> + <translation>Ctrl</translation> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_touch_from_button.cpp" line="27"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="47"/> + <source>Alt</source> + <translation>Alt</translation> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_touch_from_button.cpp" line="37"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="130"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="196"/> + <source>[not set]</source> + <translation>[chưa đặt nút]</translation> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_touch_from_button.cpp" line="49"/> + <source>Hat %1 %2</source> + <translation>Mũ %1 %2</translation> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_touch_from_button.cpp" line="56"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="219"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="223"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="227"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="231"/> + <source>Axis %1%2</source> + <translation>Trục %1%2</translation> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_touch_from_button.cpp" line="62"/> + <source>Button %1</source> + <translation>Nút %1</translation> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_touch_from_button.cpp" line="68"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="190"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="204"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="234"/> + <source>[unknown]</source> + <translation>[không xác định]</translation> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="58"/> + <source>Left</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="60"/> + <source>Right</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="62"/> + <source>Down</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="64"/> + <source>Up</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="66"/> + <source>Z</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="68"/> + <source>R</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="70"/> + <source>L</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="72"/> + <source>A</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="74"/> + <source>B</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="76"/> + <source>X</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="78"/> + <source>Y</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="80"/> + <source>Start</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="82"/> + <source>L1</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="84"/> + <source>L2</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="86"/> + <source>L3</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="88"/> + <source>R1</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="90"/> + <source>R2</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="92"/> + <source>R3</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="94"/> + <source>Circle</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="96"/> + <source>Cross</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="98"/> + <source>Square</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="100"/> + <source>Triangle</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="102"/> + <source>Share</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="104"/> + <source>Options</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="106"/> + <source>[undefined]</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="140"/> + <source>%1%2</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="144"/> + <source>[invalid]</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="154"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="178"/> + <source>%1%2Hat %3</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="158"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="181"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="184"/> + <source>%1%2Axis %3</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="164"/> + <source>%1%2Axis %3,%4,%5</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="168"/> + <source>%1%2Motion %3</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="172"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="187"/> + <source>%1%2Button %3</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="214"/> + <source>[unused]</source> + <translation>[không sử dụng]</translation> + </message> +</context> +<context> + <name>QtControllerSelectorDialog</name> + <message> + <location filename="../../src/yuzu/applets/qt_controller.ui" line="14"/> + <source>Controller Applet</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/applets/qt_controller.ui" line="129"/> + <source>Supported Controller Types:</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/applets/qt_controller.ui" line="282"/> + <source>Players:</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/applets/qt_controller.ui" line="300"/> + <source>1 - 8</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/applets/qt_controller.ui" line="418"/> + <source>P4</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/applets/qt_controller.ui" line="514"/> + <location filename="../../src/yuzu/applets/qt_controller.ui" line="711"/> + <location filename="../../src/yuzu/applets/qt_controller.ui" line="912"/> + <location filename="../../src/yuzu/applets/qt_controller.ui" line="1222"/> + <location filename="../../src/yuzu/applets/qt_controller.ui" line="1459"/> + <location filename="../../src/yuzu/applets/qt_controller.ui" line="1656"/> + <location filename="../../src/yuzu/applets/qt_controller.ui" line="1857"/> + <location filename="../../src/yuzu/applets/qt_controller.ui" line="2054"/> + <location filename="../../src/yuzu/applets/qt_controller.cpp" line="411"/> + <source>Pro Controller</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/applets/qt_controller.ui" line="519"/> + <location filename="../../src/yuzu/applets/qt_controller.ui" line="716"/> + <location filename="../../src/yuzu/applets/qt_controller.ui" line="917"/> + <location filename="../../src/yuzu/applets/qt_controller.ui" line="1227"/> + <location filename="../../src/yuzu/applets/qt_controller.ui" line="1464"/> + <location filename="../../src/yuzu/applets/qt_controller.ui" line="1661"/> + <location filename="../../src/yuzu/applets/qt_controller.ui" line="1862"/> + <location filename="../../src/yuzu/applets/qt_controller.ui" line="2059"/> + <location filename="../../src/yuzu/applets/qt_controller.cpp" line="415"/> + <source>Dual Joycons</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/applets/qt_controller.ui" line="524"/> + <location filename="../../src/yuzu/applets/qt_controller.ui" line="721"/> + <location filename="../../src/yuzu/applets/qt_controller.ui" line="922"/> + <location filename="../../src/yuzu/applets/qt_controller.ui" line="1232"/> + <location filename="../../src/yuzu/applets/qt_controller.ui" line="1469"/> + <location filename="../../src/yuzu/applets/qt_controller.ui" line="1666"/> + <location filename="../../src/yuzu/applets/qt_controller.ui" line="1867"/> + <location filename="../../src/yuzu/applets/qt_controller.ui" line="2064"/> + <location filename="../../src/yuzu/applets/qt_controller.cpp" line="419"/> + <source>Left Joycon</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/applets/qt_controller.ui" line="529"/> + <location filename="../../src/yuzu/applets/qt_controller.ui" line="726"/> + <location filename="../../src/yuzu/applets/qt_controller.ui" line="927"/> + <location filename="../../src/yuzu/applets/qt_controller.ui" line="1237"/> + <location filename="../../src/yuzu/applets/qt_controller.ui" line="1474"/> + <location filename="../../src/yuzu/applets/qt_controller.ui" line="1671"/> + <location filename="../../src/yuzu/applets/qt_controller.ui" line="1872"/> + <location filename="../../src/yuzu/applets/qt_controller.ui" line="2069"/> + <location filename="../../src/yuzu/applets/qt_controller.cpp" line="423"/> + <source>Right Joycon</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/applets/qt_controller.ui" line="538"/> + <location filename="../../src/yuzu/applets/qt_controller.ui" line="735"/> + <location filename="../../src/yuzu/applets/qt_controller.ui" line="941"/> + <location filename="../../src/yuzu/applets/qt_controller.ui" line="1246"/> + <location filename="../../src/yuzu/applets/qt_controller.ui" line="1483"/> + <location filename="../../src/yuzu/applets/qt_controller.ui" line="1680"/> + <location filename="../../src/yuzu/applets/qt_controller.ui" line="1881"/> + <location filename="../../src/yuzu/applets/qt_controller.ui" line="2078"/> + <source>Use Current Config</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/applets/qt_controller.ui" line="615"/> + <source>P2</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/applets/qt_controller.ui" line="812"/> + <source>P1</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/applets/qt_controller.ui" line="932"/> + <location filename="../../src/yuzu/applets/qt_controller.cpp" line="428"/> + <source>Handheld</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/applets/qt_controller.ui" line="1126"/> + <source>P3</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/applets/qt_controller.ui" line="1363"/> + <source>P7</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/applets/qt_controller.ui" line="1560"/> + <source>P8</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/applets/qt_controller.ui" line="1757"/> + <source>P5</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/applets/qt_controller.ui" line="1958"/> + <source>P6</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/applets/qt_controller.ui" line="2272"/> + <source>Console Mode</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/applets/qt_controller.ui" line="2293"/> + <source>Docked</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/applets/qt_controller.ui" line="2303"/> + <source>Undocked</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/applets/qt_controller.ui" line="2313"/> + <source>Vibration</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/applets/qt_controller.ui" line="2349"/> + <location filename="../../src/yuzu/applets/qt_controller.ui" line="2395"/> + <source>Configure</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/applets/qt_controller.ui" line="2359"/> + <source>Motion</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/applets/qt_controller.ui" line="2405"/> + <source>Profiles</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/applets/qt_controller.ui" line="2432"/> + <source>Create</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/applets/qt_controller.ui" line="2467"/> + <source>Controllers</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/applets/qt_controller.ui" line="2481"/> + <source>1</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/applets/qt_controller.ui" line="2508"/> + <source>2</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/applets/qt_controller.ui" line="2518"/> + <source>4</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/applets/qt_controller.ui" line="2528"/> + <source>3</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/applets/qt_controller.ui" line="2538"/> + <source>Connected</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/applets/qt_controller.ui" line="2552"/> + <source>5</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/applets/qt_controller.ui" line="2569"/> + <source>7</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/applets/qt_controller.ui" line="2586"/> + <source>6</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/applets/qt_controller.ui" line="2596"/> + <source>8</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/applets/qt_controller.cpp" line="433"/> + <source>GameCube Controller</source> + <translation type="unfinished"/> + </message> +</context> +<context> + <name>QtErrorDisplay</name> + <message> + <location filename="../../src/yuzu/applets/qt_error.cpp" line="22"/> + <location filename="../../src/yuzu/applets/qt_error.cpp" line="35"/> + <location filename="../../src/yuzu/applets/qt_error.cpp" line="50"/> + <source>Error Code: %1-%2 (0x%3)</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/applets/qt_error.cpp" line="26"/> + <source>An error has occurred. +Please try again or contact the developer of the software.</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/applets/qt_error.cpp" line="39"/> + <source>An error occurred on %1 at %2. +Please try again or contact the developer of the software.</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/applets/qt_error.cpp" line="54"/> + <source>An error has occurred. + +%1 + +%2</source> + <translation type="unfinished"/> + </message> +</context> +<context> + <name>QtProfileSelectionDialog</name> + <message> + <location filename="../../src/yuzu/applets/qt_profile_select.cpp" line="22"/> + <source>%1 +%2</source> + <comment>%1 is the profile username, %2 is the formatted UUID (e.g. 00112233-4455-6677-8899-AABBCCDDEEFF))</comment> + <translation>%1 +%2</translation> + </message> + <message> + <location filename="../../src/yuzu/applets/qt_profile_select.cpp" line="52"/> + <source>Select a user:</source> + <translation>Chọn một người dùng:</translation> + </message> + <message> + <location filename="../../src/yuzu/applets/qt_profile_select.cpp" line="81"/> + <source>Users</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/applets/qt_profile_select.cpp" line="112"/> + <source>Profile Selector</source> + <translation>Chọn hồ sơ</translation> + </message> +</context> +<context> + <name>QtSoftwareKeyboardDialog</name> + <message> + <location filename="../../src/yuzu/applets/qt_software_keyboard.ui" line="14"/> + <source>Software Keyboard</source> + <translation>Phần mềm bàn phím</translation> + </message> + <message> + <location filename="../../src/yuzu/applets/qt_software_keyboard.ui" line="199"/> + <source>Enter Text</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/applets/qt_software_keyboard.ui" line="479"/> + <source><!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;"> +<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></source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/applets/qt_software_keyboard.cpp" line="399"/> + <location filename="../../src/yuzu/applets/qt_software_keyboard.cpp" line="409"/> + <source>OK</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/applets/qt_software_keyboard.cpp" line="409"/> + <source>Cancel</source> + <translation type="unfinished"/> + </message> +</context> +<context> + <name>SequenceDialog</name> + <message> + <location filename="../../src/yuzu/util/sequence_dialog/sequence_dialog.cpp" line="11"/> + <source>Enter a hotkey</source> + <translation type="unfinished"/> + </message> +</context> +<context> + <name>WaitTreeCallstack</name> + <message> + <location filename="../../src/yuzu/debugger/wait_tree.cpp" line="150"/> + <source>Call stack</source> + <translation>Chùm cuộc gọi</translation> + </message> +</context> +<context> + <name>WaitTreeMutexInfo</name> + <message> + <location filename="../../src/yuzu/debugger/wait_tree.cpp" line="129"/> + <source>waiting for mutex 0x%1</source> + <translation>chờ đợi loại trừ lẫn nhau 0x%1</translation> + </message> + <message> + <location filename="../../src/yuzu/debugger/wait_tree.cpp" line="136"/> + <source>has waiters: %1</source> + <translation>đã chờ đợi: %1</translation> + </message> + <message> + <location filename="../../src/yuzu/debugger/wait_tree.cpp" line="138"/> + <source>owner handle: 0x%1</source> + <translation>chủ điều khiển: 0x%1</translation> + </message> +</context> +<context> + <name>WaitTreeObjectList</name> + <message> + <location filename="../../src/yuzu/debugger/wait_tree.cpp" line="231"/> + <source>waiting for all objects</source> + <translation>chờ đợi toàn bộ đối tượng</translation> + </message> + <message> + <location filename="../../src/yuzu/debugger/wait_tree.cpp" line="232"/> + <source>waiting for one of the following objects</source> + <translation>chờ đợi một đối tượng đang theo dõi</translation> + </message> +</context> +<context> + <name>WaitTreeSynchronizationObject</name> + <message> + <location filename="../../src/yuzu/debugger/wait_tree.cpp" line="188"/> + <source>[%1] %2 %3</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/debugger/wait_tree.cpp" line="215"/> + <source>waited by no thread</source> + <translation type="unfinished"/> + </message> +</context> +<context> + <name>WaitTreeThread</name> + <message> + <location filename="../../src/yuzu/debugger/wait_tree.cpp" line="253"/> + <source>runnable</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/debugger/wait_tree.cpp" line="255"/> + <source>paused</source> + <translation>tạm dừng</translation> + </message> + <message> + <location filename="../../src/yuzu/debugger/wait_tree.cpp" line="261"/> + <source>sleeping</source> + <translation>ngủ</translation> + </message> + <message> + <location filename="../../src/yuzu/debugger/wait_tree.cpp" line="264"/> + <source>waiting for IPC reply</source> + <translation>chờ đợi IPC phản hồi</translation> + </message> + <message> + <location filename="../../src/yuzu/debugger/wait_tree.cpp" line="267"/> + <source>waiting for objects</source> + <translation>chờ đợi đối tượng</translation> + </message> + <message> + <location filename="../../src/yuzu/debugger/wait_tree.cpp" line="270"/> + <source>waiting for condition variable</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/debugger/wait_tree.cpp" line="273"/> + <source>waiting for address arbiter</source> + <translation>chờ đợi địa chỉ người đứng giữa</translation> + </message> + <message> + <location filename="../../src/yuzu/debugger/wait_tree.cpp" line="276"/> + <source>waiting for suspend resume</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/debugger/wait_tree.cpp" line="279"/> + <source>waiting</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/debugger/wait_tree.cpp" line="284"/> + <source>initialized</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/debugger/wait_tree.cpp" line="287"/> + <source>terminated</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/debugger/wait_tree.cpp" line="290"/> + <source>unknown</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/debugger/wait_tree.cpp" line="295"/> + <source> PC = 0x%1 LR = 0x%2</source> + <translation> PC = 0x%1 LR = 0x%2</translation> + </message> + <message> + <location filename="../../src/yuzu/debugger/wait_tree.cpp" line="345"/> + <source>ideal</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/debugger/wait_tree.cpp" line="348"/> + <source>core %1</source> + <translation>lõi %1</translation> + </message> + <message> + <location filename="../../src/yuzu/debugger/wait_tree.cpp" line="352"/> + <source>processor = %1</source> + <translation>bộ xử lý = %1</translation> + </message> + <message> + <location filename="../../src/yuzu/debugger/wait_tree.cpp" line="354"/> + <source>ideal core = %1</source> + <translation>lõi lý tưởng = %1</translation> + </message> + <message> + <location filename="../../src/yuzu/debugger/wait_tree.cpp" line="356"/> + <source>affinity mask = %1</source> + <translation>che đậy tánh giống nhau = %1</translation> + </message> + <message> + <location filename="../../src/yuzu/debugger/wait_tree.cpp" line="357"/> + <source>thread id = %1</source> + <translation>id luồng = %1</translation> + </message> + <message> + <location filename="../../src/yuzu/debugger/wait_tree.cpp" line="358"/> + <source>priority = %1(current) / %2(normal)</source> + <translation>quyền ưu tiên = %1(hiện tại) / %2(bình thường)</translation> + </message> + <message> + <location filename="../../src/yuzu/debugger/wait_tree.cpp" line="362"/> + <source>last running ticks = %1</source> + <translation>lần chạy cuối cùng = %1</translation> + </message> + <message> + <location filename="../../src/yuzu/debugger/wait_tree.cpp" line="370"/> + <source>not waiting for mutex</source> + <translation>không có chờ đợi loại trừ lẫn nhau</translation> + </message> +</context> +<context> + <name>WaitTreeThreadList</name> + <message> + <location filename="../../src/yuzu/debugger/wait_tree.cpp" line="394"/> + <source>waited by thread</source> + <translation>chờ đợi bởi vì có luồng</translation> + </message> +</context> +<context> + <name>WaitTreeWidget</name> + <message> + <location filename="../../src/yuzu/debugger/wait_tree.cpp" line="468"/> + <source>&Wait Tree</source> + <translation type="unfinished"/> + </message> +</context> +</TS>
\ No newline at end of file diff --git a/dist/languages/zh_CN.ts b/dist/languages/zh_CN.ts index 488ca8dce..164cfbe14 100644 --- a/dist/languages/zh_CN.ts +++ b/dist/languages/zh_CN.ts @@ -663,7 +663,12 @@ p, li { white-space: pre-wrap; } <translation>启用自动函数打桩(Auto-Stub)**</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_debug.ui" line="212"/> + <location filename="../../src/yuzu/configuration/configure_debug.ui" line="204"/> + <source>Enable all Controller Types</source> + <translation>启用其他控制器</translation> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_debug.ui" line="219"/> <source>**This will be reset automatically when yuzu closes.</source> <translation>**该选项将在 yuzu 关闭时自动重置。</translation> </message> @@ -943,67 +948,78 @@ p, li { white-space: pre-wrap; } <translation>通用</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_general.ui" line="35"/> - <source>Framerate Cap</source> - <translation>帧率限制</translation> + <location filename="../../src/yuzu/configuration/configure_general.ui" line="50"/> + <location filename="../../src/yuzu/configuration/configure_general.ui" line="57"/> + <source>Use global framerate cap</source> + <translation>使用全局帧率限制</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_general.ui" line="38"/> + <location filename="../../src/yuzu/configuration/configure_general.ui" line="62"/> + <source>Set framerate cap:</source> + <translation>设置帧率限制:</translation> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_general.ui" line="70"/> <source>Requires the use of the FPS Limiter Toggle hotkey to take effect.</source> <translation>使用 FPS 限制器的热键才能进行运行速度的切换。</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_general.ui" line="45"/> + <location filename="../../src/yuzu/configuration/configure_general.ui" line="73"/> + <source>Framerate Cap</source> + <translation>帧率限制</translation> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_general.ui" line="95"/> <source>x</source> <translation>x</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_general.ui" line="65"/> + <location filename="../../src/yuzu/configuration/configure_general.ui" line="116"/> <source>Limit Speed Percent</source> <translation>运行速度限制</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_general.ui" line="72"/> + <location filename="../../src/yuzu/configuration/configure_general.ui" line="123"/> <source>%</source> <translation>%</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_general.ui" line="90"/> + <location filename="../../src/yuzu/configuration/configure_general.ui" line="141"/> <source>Multicore CPU Emulation</source> <translation>多核 CPU 仿真</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_general.ui" line="97"/> + <location filename="../../src/yuzu/configuration/configure_general.ui" line="148"/> <source>Confirm exit while emulation is running</source> <translation>在游戏运行时退出需要确认</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_general.ui" line="104"/> + <location filename="../../src/yuzu/configuration/configure_general.ui" line="155"/> <source>Prompt for user on game boot</source> <translation>游戏启动时提示选择用户</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_general.ui" line="111"/> + <location filename="../../src/yuzu/configuration/configure_general.ui" line="162"/> <source>Pause emulation when in background</source> <translation>模拟器位于后台时暂停模拟</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_general.ui" line="118"/> + <location filename="../../src/yuzu/configuration/configure_general.ui" line="169"/> <source>Hide mouse on inactivity</source> <translation>自动隐藏鼠标光标</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_general.ui" line="160"/> + <location filename="../../src/yuzu/configuration/configure_general.ui" line="211"/> <source>Reset All Settings</source> <translation>重置所有设置项</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_general.cpp" line="70"/> + <location filename="../../src/yuzu/configuration/configure_general.cpp" line="78"/> <source>yuzu</source> <translation>yuzu</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_general.cpp" line="71"/> + <location filename="../../src/yuzu/configuration/configure_general.cpp" line="79"/> <source>This reset all settings and remove all per-game configurations. This will not delete game directories, profiles, or input profiles. Proceed?</source> <translation>将重置模拟器所有设置并删除所有游戏的单独设置。这不会删除游戏目录、个人文件及输入配置文件。是否继续?</translation> </message> @@ -1121,18 +1137,113 @@ p, li { white-space: pre-wrap; } <translation>拉伸窗口</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_graphics.ui" line="339"/> - <location filename="../../src/yuzu/configuration/configure_graphics.ui" line="349"/> + <location filename="../../src/yuzu/configuration/configure_graphics.ui" line="330"/> + <source>Resolution:</source> + <translation>画面分辨率:</translation> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_graphics.ui" line="338"/> + <source>0.5X (360p/540p) [EXPERIMENTAL]</source> + <translation>0.5X (360p/540p) [实验性]</translation> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_graphics.ui" line="343"/> + <source>0.75X (540p/810p) [EXPERIMENTAL]</source> + <translation>0.75X (540p/810p) [实验性]</translation> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_graphics.ui" line="348"/> + <source>1X (720p/1080p)</source> + <translation>1X (720p/1080p)</translation> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_graphics.ui" line="353"/> + <source>2X (1440p/2160p)</source> + <translation>2X (1440p/2160p)</translation> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_graphics.ui" line="358"/> + <source>3X (2160p/3240p)</source> + <translation>3X (2160p/3240p)</translation> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_graphics.ui" line="363"/> + <source>4X (2880p/4320p)</source> + <translation>4X (2880p/4320p)</translation> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_graphics.ui" line="368"/> + <source>5X (3600p/5400p)</source> + <translation>5X (3600p/5400p)</translation> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_graphics.ui" line="373"/> + <source>6X (4320p/6480p)</source> + <translation>6X (4320p/6480p)</translation> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_graphics.ui" line="399"/> + <source>Window Adapting Filter:</source> + <translation>窗口滤镜:</translation> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_graphics.ui" line="407"/> + <source>Nearest Neighbor</source> + <translation>近邻取样</translation> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_graphics.ui" line="412"/> + <source>Bilinear</source> + <translation>双线性过滤</translation> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_graphics.ui" line="417"/> + <source>Bicubic</source> + <translation>双三线过滤</translation> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_graphics.ui" line="422"/> + <source>Gaussian</source> + <translation>高斯模糊</translation> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_graphics.ui" line="427"/> + <source>ScaleForce</source> + <translation>强制缩放</translation> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_graphics.ui" line="432"/> + <source>AMD FidelityFX™️ Super Resolution [Vulkan Only]</source> + <translation>AMD FidelityFX™️ 超高清技术 [仅限 Vulkan 模式]</translation> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_graphics.ui" line="458"/> + <source>Anti-Aliasing Method:</source> + <translation>抗锯齿方式:</translation> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_graphics.ui" line="466"/> + <source>None</source> + <translation>无</translation> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_graphics.ui" line="471"/> + <source>FXAA</source> + <translation>快速近似抗锯齿</translation> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_graphics.ui" line="506"/> + <location filename="../../src/yuzu/configuration/configure_graphics.ui" line="516"/> <source>Use global background color</source> <translation>使用全局背景颜色</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_graphics.ui" line="354"/> + <location filename="../../src/yuzu/configuration/configure_graphics.ui" line="521"/> <source>Set background color:</source> <translation>设置背景颜色:</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_graphics.ui" line="362"/> + <location filename="../../src/yuzu/configuration/configure_graphics.ui" line="529"/> <source>Background Color:</source> <translation>背景颜色:</translation> </message> @@ -1201,28 +1312,33 @@ p, li { white-space: pre-wrap; } </message> <message> <location filename="../../src/yuzu/configuration/configure_graphics_advanced.ui" line="128"/> - <source>Default</source> - <translation>系统默认</translation> + <source>Automatic</source> + <translation>自动</translation> </message> <message> <location filename="../../src/yuzu/configuration/configure_graphics_advanced.ui" line="133"/> - <source>2x (WILL BREAK THINGS)</source> - <translation>2x (可能有问题)</translation> + <source>Default</source> + <translation>系统默认</translation> </message> <message> <location filename="../../src/yuzu/configuration/configure_graphics_advanced.ui" line="138"/> - <source>4x (WILL BREAK THINGS)</source> - <translation>4x (可能有问题)</translation> + <source>2x</source> + <translation>2x</translation> </message> <message> <location filename="../../src/yuzu/configuration/configure_graphics_advanced.ui" line="143"/> - <source>8x (WILL BREAK THINGS)</source> - <translation>8x (可能有问题)</translation> + <source>4x</source> + <translation>4x</translation> </message> <message> <location filename="../../src/yuzu/configuration/configure_graphics_advanced.ui" line="148"/> - <source>16x (WILL BREAK THINGS)</source> - <translation>16x (可能有问题)</translation> + <source>8x</source> + <translation>8x</translation> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_graphics_advanced.ui" line="153"/> + <source>16x</source> + <translation>16x</translation> </message> </context> <context> @@ -1549,8 +1665,8 @@ p, li { white-space: pre-wrap; } </message> <message> <location filename="../../src/yuzu/configuration/configure_input_advanced.ui" line="2533"/> - <source>Other</source> - <translation>其他</translation> + <source>Emulated Devices</source> + <translation>模拟设备</translation> </message> <message> <location filename="../../src/yuzu/configuration/configure_input_advanced.ui" line="2545"/> @@ -1559,499 +1675,524 @@ p, li { white-space: pre-wrap; } </message> <message> <location filename="../../src/yuzu/configuration/configure_input_advanced.ui" line="2558"/> - <source>Emulate Analog with Keyboard Input</source> - <translation>使用键盘输入映射模拟摇杆</translation> - </message> - <message> - <location filename="../../src/yuzu/configuration/configure_input_advanced.ui" line="2571"/> - <source>Enable mouse panning</source> - <translation>启用鼠标平移</translation> - </message> - <message> - <location filename="../../src/yuzu/configuration/configure_input_advanced.ui" line="2578"/> - <source>Mouse sensitivity</source> - <translation>鼠标灵敏度</translation> - </message> - <message> - <location filename="../../src/yuzu/configuration/configure_input_advanced.ui" line="2584"/> - <source>%</source> - <translation>%</translation> - </message> - <message> - <location filename="../../src/yuzu/configuration/configure_input_advanced.ui" line="2600"/> - <location filename="../../src/yuzu/configuration/configure_input_advanced.ui" line="2623"/> - <source>Advanced</source> - <translation>高级选项</translation> + <source>Mouse</source> + <translation>鼠标</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_advanced.ui" line="2630"/> + <location filename="../../src/yuzu/configuration/configure_input_advanced.ui" line="2565"/> <source>Touchscreen</source> <translation>触摸屏</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_advanced.ui" line="2643"/> - <source>Mouse</source> - <translation>鼠标</translation> + <location filename="../../src/yuzu/configuration/configure_input_advanced.ui" line="2588"/> + <source>Advanced</source> + <translation>高级选项</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_advanced.ui" line="2650"/> - <source>Motion / Touch</source> - <translation>体感/触摸</translation> + <location filename="../../src/yuzu/configuration/configure_input_advanced.ui" line="2595"/> + <source>Debug Controller</source> + <translation>控制器调试</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_advanced.ui" line="2657"/> - <location filename="../../src/yuzu/configuration/configure_input_advanced.ui" line="2671"/> + <location filename="../../src/yuzu/configuration/configure_input_advanced.ui" line="2602"/> + <location filename="../../src/yuzu/configuration/configure_input_advanced.ui" line="2702"/> <source>Configure</source> <translation>设置</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_advanced.ui" line="2664"/> - <source>Debug Controller</source> - <translation>控制器调试</translation> + <location filename="../../src/yuzu/configuration/configure_input_advanced.ui" line="2612"/> + <source>Other</source> + <translation>其他</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_advanced.ui" line="2678"/> + <location filename="../../src/yuzu/configuration/configure_input_advanced.ui" line="2624"/> + <source>Emulate Analog with Keyboard Input</source> + <translation>使用键盘输入映射模拟摇杆</translation> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_input_advanced.ui" line="2631"/> <source>Requires restarting yuzu</source> <translation>需要重启 yuzu</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_advanced.ui" line="2687"/> + <location filename="../../src/yuzu/configuration/configure_input_advanced.ui" line="2640"/> <source>Enable XInput 8 player support (disables web applet)</source> <translation>启用 XInput 8 输入支持 (禁用 web 应用程序)</translation> </message> -</context> -<context> - <name>ConfigureInputPlayer</name> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="14"/> - <source>Configure Input</source> - <translation>输入设置</translation> + <location filename="../../src/yuzu/configuration/configure_input_advanced.ui" line="2653"/> + <source>Enable UDP controllers (not needed for motion)</source> + <translation>启用 UDP 控制器 (无需运动)</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="63"/> - <source>Connect Controller</source> - <translation>连接控制器</translation> + <location filename="../../src/yuzu/configuration/configure_input_advanced.ui" line="2666"/> + <source>Enable mouse panning</source> + <translation>启用鼠标平移</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="94"/> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="535"/> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="986"/> - <source>Pro Controller</source> - <translation>Pro Controller</translation> + <location filename="../../src/yuzu/configuration/configure_input_advanced.ui" line="2673"/> + <source>Mouse sensitivity</source> + <translation>鼠标灵敏度</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="99"/> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="992"/> - <source>Dual Joycons</source> - <translation>双 Joycons 手柄</translation> + <location filename="../../src/yuzu/configuration/configure_input_advanced.ui" line="2679"/> + <source>%</source> + <translation>%</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="104"/> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="998"/> - <source>Left Joycon</source> - <translation>左 Joycon 手柄</translation> + <location filename="../../src/yuzu/configuration/configure_input_advanced.ui" line="2695"/> + <source>Motion / Touch</source> + <translation>体感/触摸</translation> </message> +</context> +<context> + <name>ConfigureInputPlayer</name> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="109"/> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="1004"/> - <source>Right Joycon</source> - <translation>右 Joycon 手柄</translation> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="14"/> + <source>Configure Input</source> + <translation>输入设置</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="114"/> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="1010"/> - <source>Handheld</source> - <translation>掌机模式</translation> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="63"/> + <source>Connect Controller</source> + <translation>连接控制器</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="125"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="100"/> <source>Input Device</source> <translation>输入设备</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="153"/> - <source>Any</source> - <translation>任意</translation> - </message> - <message> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="158"/> - <source>Keyboard/Mouse</source> - <translation>键盘/鼠标</translation> - </message> - <message> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="194"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="156"/> <source>Profile</source> <translation>用户配置</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="234"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="196"/> <source>Save</source> <translation>保存</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="250"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="212"/> <source>New</source> <translation>新建</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="266"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="228"/> <source>Delete</source> <translation>删除</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="329"/> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="1267"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="291"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="1190"/> <source>Left Stick</source> <translation>左摇杆</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="387"/> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="429"/> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="963"/> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="1002"/> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="2621"/> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="2660"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="349"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="391"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="925"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="964"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="2583"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="2622"/> <source>Up</source> <translation>上</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="460"/> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="499"/> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="1033"/> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="1072"/> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="2107"/> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="2691"/> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="2730"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="422"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="461"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="995"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="1034"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="2069"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="2653"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="2692"/> <source>Left</source> <translation>左</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="509"/> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="548"/> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="1082"/> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="1121"/> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="2156"/> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="2740"/> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="2779"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="471"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="510"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="1044"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="1083"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="2118"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="2702"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="2741"/> <source>Right</source> <translation>右</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="591"/> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="630"/> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="1164"/> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="1203"/> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="2822"/> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="2861"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="553"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="592"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="1126"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="1165"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="2784"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="2823"/> <source>Down</source> <translation>下</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="661"/> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="700"/> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="2892"/> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="2931"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="623"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="662"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="2854"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="2893"/> <source>Pressed</source> <translation>按下</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="710"/> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="749"/> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="2941"/> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="2980"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="672"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="711"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="2903"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="2942"/> <source>Modifier</source> <translation>轻推</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="759"/> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="2990"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="721"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="2952"/> <source>Range</source> <translation>灵敏度</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="792"/> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="3023"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="754"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="2985"/> <source>%</source> <translation>%</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="835"/> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="3063"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="797"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="3025"/> <source>Deadzone: 0%</source> <translation>摇杆死区:0%</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="859"/> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="3087"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="821"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="3049"/> <source>Modifier Range: 0%</source> <translation>摇杆灵敏度:0%</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="905"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="867"/> <source>D-Pad</source> <translation>十字方向键</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="1289"/> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="1328"/> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="1272"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="1251"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="1290"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="1195"/> <source>L</source> <translation>L</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="1344"/> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="1383"/> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="1264"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="1306"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="1345"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="1187"/> <source>ZL</source> <translation>ZL</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="1464"/> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="1503"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="1426"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="1465"/> <source>Minus</source> <translation>-</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="1513"/> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="1552"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="1475"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="1514"/> <source>Capture</source> <translation>截图</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="1583"/> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="1622"/> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="1263"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="1545"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="1584"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="1186"/> <source>Plus</source> <translation>+</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="1632"/> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="1671"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="1594"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="1633"/> <source>Home</source> <translation>Home</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="1736"/> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="1775"/> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="1266"/> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="1273"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="1698"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="1737"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="1189"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="1196"/> <source>R</source> <translation>R</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="1791"/> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="1830"/> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="1265"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="1753"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="1792"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="1188"/> <source>ZR</source> <translation>ZR</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="1911"/> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="1950"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="1873"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="1912"/> <source>SL</source> <translation>SL</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="1960"/> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="1999"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="1922"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="1961"/> <source>SR</source> <translation>SR</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="2068"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="2030"/> <source>Motion 1</source> <translation>体感 1</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="2117"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="2079"/> <source>Motion 2</source> <translation>体感 2</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="2208"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="2170"/> <source>Face Buttons</source> <translation>主要按键</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="2266"/> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="2305"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="2228"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="2267"/> <source>X</source> <translation>X</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="2336"/> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="2375"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="2298"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="2337"/> <source>Y</source> <translation>Y</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="2385"/> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="2424"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="2347"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="2386"/> <source>A</source> <translation>A</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="2467"/> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="2506"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="2429"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="2468"/> <source>B</source> <translation>B</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="2554"/> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="1268"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="2516"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="1191"/> <source>Right Stick</source> <translation>右摇杆</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="322"/> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="372"/> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="430"/> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="474"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="330"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="396"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="461"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="507"/> <source>Clear</source> <translation>清除</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="324"/> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="374"/> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="432"/> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="476"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="332"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="398"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="463"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="509"/> <source>[not set]</source> <translation>[未设置]</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="327"/> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="478"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="335"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="512"/> <source>Toggle button</source> <translation>切换按键</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="335"/> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="339"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="341"/> + <source>Invert button</source> + <translation>反转按钮</translation> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="349"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="465"/> + <source>Invert axis</source> + <translation>体感方向倒置</translation> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="355"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="359"/> <source>Set threshold</source> <translation>阈值设定</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="339"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="359"/> <source>Choose a value between 0% and 100%</source> <translation>选择一个介于 0% 和 100% 之间的值</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="406"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="436"/> <source>Map Analog Stick</source> <translation>映射摇杆</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="407"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="437"/> <source>After pressing OK, first move your joystick horizontally, and then vertically. To invert the axes, first move your joystick vertically, and then horizontally.</source> <translation>在按下确定后,首先水平移动你的手柄,然后垂直移动它。 如果要使体感方向倒置,首先垂直移动你的手柄,然后水平移动它。</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="434"/> - <source>Invert axis</source> - <translation>体感方向倒置</translation> - </message> - <message> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="500"/> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="952"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="537"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="891"/> <source>Deadzone: %1%</source> <translation>摇杆死区:%1%</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="508"/> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="963"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="546"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="896"/> <source>Modifier Range: %1%</source> <translation>摇杆灵敏度:%1%</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="1016"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="572"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="918"/> + <source>Pro Controller</source> + <translation>Pro Controller</translation> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="924"/> + <source>Dual Joycons</source> + <translation>双 Joycons 手柄</translation> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="930"/> + <source>Left Joycon</source> + <translation>左 Joycon 手柄</translation> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="936"/> + <source>Right Joycon</source> + <translation>右 Joycon 手柄</translation> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="942"/> + <source>Handheld</source> + <translation>掌机模式</translation> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="948"/> <source>GameCube Controller</source> <translation>GameCube 控制器</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="1271"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="958"/> + <source>Poke Ball Plus</source> + <translation>精灵球 PLUS</translation> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="964"/> + <source>NES Controller</source> + <translation>NES 控制器</translation> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="970"/> + <source>SNES Controller</source> + <translation>SNES 控制器</translation> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="976"/> + <source>N64 Controller</source> + <translation>N64 控制器</translation> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="982"/> + <source>Sega Genesis</source> + <translation>世嘉创世纪</translation> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="1194"/> <source>Start / Pause</source> <translation>开始 / 暂停</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="1274"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="1197"/> <source>Z</source> <translation>Z</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="1275"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="1198"/> <source>Control Stick</source> <translation>控制摇杆</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="1276"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="1199"/> <source>C-Stick</source> <translation>C 摇杆</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="1335"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="1297"/> <source>Shake!</source> <translation>摇动!</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="1337"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="1299"/> <source>[waiting]</source> <translation>[等待中]</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="1462"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="1381"/> <source>New Profile</source> <translation>保存自定义设置</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="1462"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="1381"/> <source>Enter a profile name:</source> <translation>输入配置文件名称:</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="1470"/> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="1478"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="1389"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="1397"/> <source>Create Input Profile</source> <translation>新建输入配置文件</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="1471"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="1390"/> <source>The given profile name is not valid!</source> <translation>输入的配置文件名称无效!</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="1479"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="1398"/> <source>Failed to create the input profile "%1"</source> <translation>新建输入配置文件 "%1" 失败</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="1499"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="1418"/> <source>Delete Input Profile</source> <translation>删除输入配置文件</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="1500"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="1419"/> <source>Failed to delete the input profile "%1"</source> <translation>删除输入配置文件 "%1" 失败</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="1522"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="1441"/> <source>Load Input Profile</source> <translation>加载输入配置文件</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="1523"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="1442"/> <source>Failed to load the input profile "%1"</source> <translation>加载输入配置文件 "%1" 失败</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="1542"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="1461"/> <source>Save Input Profile</source> <translation>保存输入配置文件</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="1543"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="1462"/> <source>Failed to save the input profile "%1"</source> <translation>保存输入配置文件 "%1" 失败</translation> </message> @@ -2077,85 +2218,75 @@ To invert the axes, first move your joystick vertically, and then horizontally.< <context> <name>ConfigureMotionTouch</name> <message> - <location filename="../../src/yuzu/configuration/configure_motion_touch.ui" line="14"/> + <location filename="../../src/yuzu/configuration/configure_motion_touch.ui" line="6"/> <source>Configure Motion / Touch</source> <translation>体感/触摸设置</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_motion_touch.ui" line="23"/> - <source>Mouse Motion</source> - <translation>鼠标体感</translation> - </message> - <message> - <location filename="../../src/yuzu/configuration/configure_motion_touch.ui" line="31"/> - <source>Sensitivity:</source> - <translation>灵敏度:</translation> - </message> - <message> - <location filename="../../src/yuzu/configuration/configure_motion_touch.ui" line="65"/> + <location filename="../../src/yuzu/configuration/configure_motion_touch.ui" line="15"/> <source>Touch</source> <translation>触摸</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_motion_touch.ui" line="73"/> + <location filename="../../src/yuzu/configuration/configure_motion_touch.ui" line="23"/> <source>UDP Calibration:</source> <translation>UDP 校准:</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_motion_touch.ui" line="80"/> + <location filename="../../src/yuzu/configuration/configure_motion_touch.ui" line="30"/> <source>(100, 50) - (1800, 850)</source> <translation>(100, 50) - (1800, 850)</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_motion_touch.ui" line="96"/> - <location filename="../../src/yuzu/configuration/configure_motion_touch.ui" line="129"/> - <location filename="../../src/yuzu/configuration/configure_motion_touch.cpp" line="250"/> + <location filename="../../src/yuzu/configuration/configure_motion_touch.ui" line="46"/> + <location filename="../../src/yuzu/configuration/configure_motion_touch.ui" line="73"/> + <location filename="../../src/yuzu/configuration/configure_motion_touch.cpp" line="245"/> <source>Configure</source> <translation>设置</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_motion_touch.ui" line="113"/> - <source>Use button mapping:</source> - <translation>使用按键映射:</translation> + <location filename="../../src/yuzu/configuration/configure_motion_touch.ui" line="57"/> + <source>Touch from button profile:</source> + <translation>触摸屏映射配置文件:</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_motion_touch.ui" line="141"/> + <location filename="../../src/yuzu/configuration/configure_motion_touch.ui" line="85"/> <source>CemuhookUDP Config</source> <translation>CemuhookUDP 设置</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_motion_touch.ui" line="147"/> + <location filename="../../src/yuzu/configuration/configure_motion_touch.ui" line="91"/> <source>You may use any Cemuhook compatible UDP input source to provide motion and touch input.</source> <translation>您可以使用任何与 Cemuhook 兼容的 UDP 输入源来提供体感和触摸输入。</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_motion_touch.ui" line="190"/> + <location filename="../../src/yuzu/configuration/configure_motion_touch.ui" line="134"/> <source>Server:</source> <translation>服务器:</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_motion_touch.ui" line="217"/> + <location filename="../../src/yuzu/configuration/configure_motion_touch.ui" line="161"/> <source>Port:</source> <translation>端口:</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_motion_touch.ui" line="244"/> + <location filename="../../src/yuzu/configuration/configure_motion_touch.ui" line="188"/> <source>Learn More</source> <translation>了解更多</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_motion_touch.ui" line="257"/> - <location filename="../../src/yuzu/configuration/configure_motion_touch.cpp" line="273"/> + <location filename="../../src/yuzu/configuration/configure_motion_touch.ui" line="201"/> + <location filename="../../src/yuzu/configuration/configure_motion_touch.cpp" line="268"/> <source>Test</source> <translation>测试</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_motion_touch.ui" line="270"/> + <location filename="../../src/yuzu/configuration/configure_motion_touch.ui" line="214"/> <source>Add Server</source> <translation>添加服务器</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_motion_touch.ui" line="303"/> + <location filename="../../src/yuzu/configuration/configure_motion_touch.ui" line="247"/> <source>Remove Server</source> <translation>移除服务器</translation> </message> @@ -2165,146 +2296,82 @@ To invert the axes, first move your joystick vertically, and then horizontally.< <translation><a href='https://yuzu-emu.org/wiki/using-a-controller-or-android-phone-for-motion-or-touch-input'><span style="text-decoration: underline; color:#039be5;">了解更多</span></a></translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_motion_touch.cpp" line="176"/> + <location filename="../../src/yuzu/configuration/configure_motion_touch.cpp" line="171"/> <source>%1:%2</source> <translation>%1:%2</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_motion_touch.cpp" line="181"/> - <location filename="../../src/yuzu/configuration/configure_motion_touch.cpp" line="185"/> - <location filename="../../src/yuzu/configuration/configure_motion_touch.cpp" line="189"/> - <location filename="../../src/yuzu/configuration/configure_motion_touch.cpp" line="195"/> - <location filename="../../src/yuzu/configuration/configure_motion_touch.cpp" line="201"/> - <location filename="../../src/yuzu/configuration/configure_motion_touch.cpp" line="295"/> + <location filename="../../src/yuzu/configuration/configure_motion_touch.cpp" line="176"/> + <location filename="../../src/yuzu/configuration/configure_motion_touch.cpp" line="180"/> + <location filename="../../src/yuzu/configuration/configure_motion_touch.cpp" line="184"/> + <location filename="../../src/yuzu/configuration/configure_motion_touch.cpp" line="190"/> + <location filename="../../src/yuzu/configuration/configure_motion_touch.cpp" line="196"/> + <location filename="../../src/yuzu/configuration/configure_motion_touch.cpp" line="290"/> <source>yuzu</source> <translation>yuzu</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_motion_touch.cpp" line="181"/> + <location filename="../../src/yuzu/configuration/configure_motion_touch.cpp" line="176"/> <source>Port number has invalid characters</source> <translation>端口号中包含无效字符</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_motion_touch.cpp" line="185"/> + <location filename="../../src/yuzu/configuration/configure_motion_touch.cpp" line="180"/> <source>Port has to be in range 0 and 65353</source> <translation>端口必须为 0 到 65353 之间</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_motion_touch.cpp" line="189"/> + <location filename="../../src/yuzu/configuration/configure_motion_touch.cpp" line="184"/> <source>IP address is not valid</source> <translation>无效的 IP 地址</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_motion_touch.cpp" line="195"/> + <location filename="../../src/yuzu/configuration/configure_motion_touch.cpp" line="190"/> <source>This UDP server already exists</source> <translation>此 UDP 服务器已存在</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_motion_touch.cpp" line="201"/> + <location filename="../../src/yuzu/configuration/configure_motion_touch.cpp" line="196"/> <source>Unable to add more than 8 servers</source> <translation>最多只能添加 8 个服务器</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_motion_touch.cpp" line="217"/> + <location filename="../../src/yuzu/configuration/configure_motion_touch.cpp" line="212"/> <source>Testing</source> <translation>测试中</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_motion_touch.cpp" line="233"/> + <location filename="../../src/yuzu/configuration/configure_motion_touch.cpp" line="228"/> <source>Configuring</source> <translation>配置中</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_motion_touch.cpp" line="264"/> + <location filename="../../src/yuzu/configuration/configure_motion_touch.cpp" line="259"/> <source>Test Successful</source> <translation>测试成功</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_motion_touch.cpp" line="265"/> + <location filename="../../src/yuzu/configuration/configure_motion_touch.cpp" line="260"/> <source>Successfully received data from the server.</source> <translation>已成功地从服务器获取数据。</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_motion_touch.cpp" line="267"/> + <location filename="../../src/yuzu/configuration/configure_motion_touch.cpp" line="262"/> <source>Test Failed</source> <translation>测试失败</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_motion_touch.cpp" line="268"/> + <location filename="../../src/yuzu/configuration/configure_motion_touch.cpp" line="263"/> <source>Could not receive valid data from the server.<br>Please verify that the server is set up correctly and the address and port are correct.</source> <translation>无法从服务器获取数据。<br>请验证服务器是否正在运行,以及地址和端口是否配置正确。</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_motion_touch.cpp" line="296"/> + <location filename="../../src/yuzu/configuration/configure_motion_touch.cpp" line="291"/> <source>UDP Test or calibration configuration is in progress.<br>Please wait for them to finish.</source> <translation>UDP 测试或触摸校准正在进行中。<br>请耐心等待。</translation> </message> </context> <context> - <name>ConfigureMouseAdvanced</name> - <message> - <location filename="../../src/yuzu/configuration/configure_mouse_advanced.ui" line="14"/> - <source>Configure Mouse</source> - <translation>鼠标设置</translation> - </message> - <message> - <location filename="../../src/yuzu/configuration/configure_mouse_advanced.ui" line="25"/> - <source>Mouse Buttons</source> - <translation>鼠标按键</translation> - </message> - <message> - <location filename="../../src/yuzu/configuration/configure_mouse_advanced.ui" line="35"/> - <source>Forward:</source> - <translation>前:</translation> - </message> - <message> - <location filename="../../src/yuzu/configuration/configure_mouse_advanced.ui" line="75"/> - <source>Back:</source> - <translation>后:</translation> - </message> - <message> - <location filename="../../src/yuzu/configuration/configure_mouse_advanced.ui" line="103"/> - <source>Left:</source> - <translation>左:</translation> - </message> - <message> - <location filename="../../src/yuzu/configuration/configure_mouse_advanced.ui" line="131"/> - <source>Middle:</source> - <translation>中:</translation> - </message> - <message> - <location filename="../../src/yuzu/configuration/configure_mouse_advanced.ui" line="197"/> - <source>Right:</source> - <translation>右:</translation> - </message> - <message> - <location filename="../../src/yuzu/configuration/configure_mouse_advanced.ui" line="270"/> - <location filename="../../src/yuzu/configuration/configure_mouse_advanced.cpp" line="109"/> - <source>Clear</source> - <translation>清除</translation> - </message> - <message> - <location filename="../../src/yuzu/configuration/configure_mouse_advanced.ui" line="289"/> - <source>Defaults</source> - <translation>系统默认</translation> - </message> - <message> - <location filename="../../src/yuzu/configuration/configure_mouse_advanced.cpp" line="111"/> - <source>[not set]</source> - <translation>[未设置]</translation> - </message> - <message> - <location filename="../../src/yuzu/configuration/configure_mouse_advanced.cpp" line="113"/> - <source>Restore Default</source> - <translation>恢复默认</translation> - </message> - <message> - <location filename="../../src/yuzu/configuration/configure_mouse_advanced.cpp" line="200"/> - <source>[press key]</source> - <translation>[请按一个键]</translation> - </message> -</context> -<context> <name>ConfigureNetwork</name> <message> <location filename="../../src/yuzu/configuration/configure_network.ui" line="14"/> @@ -3087,31 +3154,26 @@ To invert the axes, first move your joystick vertically, and then horizontally.< </message> <message> <location filename="../../src/yuzu/configuration/configure_tas.ui" line="64"/> - <source>Automatic controller profile swapping</source> - <translation>自动切换手柄配置文件</translation> - </message> - <message> - <location filename="../../src/yuzu/configuration/configure_tas.ui" line="71"/> <source>Loop script</source> <translation>循环脚本</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_tas.ui" line="81"/> + <location filename="../../src/yuzu/configuration/configure_tas.ui" line="74"/> <source>Pause execution during loads</source> <translation>遇到载入画面时暂停执行</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_tas.ui" line="95"/> + <location filename="../../src/yuzu/configuration/configure_tas.ui" line="88"/> <source>Script Directory</source> <translation>脚本目录</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_tas.ui" line="101"/> + <location filename="../../src/yuzu/configuration/configure_tas.ui" line="94"/> <source>Path</source> <translation>路径</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_tas.ui" line="108"/> + <location filename="../../src/yuzu/configuration/configure_tas.ui" line="101"/> <source>...</source> <translation>...</translation> </message> @@ -3124,7 +3186,7 @@ To invert the axes, first move your joystick vertically, and then horizontally.< <translation>TAS 设置</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_tas.cpp" line="53"/> + <location filename="../../src/yuzu/configuration/configure_tas.cpp" line="51"/> <source>Select TAS Load Directory...</source> <translation>选择 TAS 载入目录...</translation> </message> @@ -3186,37 +3248,37 @@ Drag points to change position, or double-click table cells to edit values.</sou <translation>Y</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_touch_from_button.cpp" line="200"/> + <location filename="../../src/yuzu/configuration/configure_touch_from_button.cpp" line="197"/> <source>New Profile</source> <translation>保存自定义设置</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_touch_from_button.cpp" line="200"/> + <location filename="../../src/yuzu/configuration/configure_touch_from_button.cpp" line="197"/> <source>Enter the name for the new profile.</source> <translation>为新的自定义设置命名。</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_touch_from_button.cpp" line="211"/> + <location filename="../../src/yuzu/configuration/configure_touch_from_button.cpp" line="208"/> <source>Delete Profile</source> <translation>删除自定义设置</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_touch_from_button.cpp" line="211"/> + <location filename="../../src/yuzu/configuration/configure_touch_from_button.cpp" line="208"/> <source>Delete profile %1?</source> <translation>真的要删除自定义设置 %1 吗?</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_touch_from_button.cpp" line="224"/> + <location filename="../../src/yuzu/configuration/configure_touch_from_button.cpp" line="221"/> <source>Rename Profile</source> <translation>重命名自定义设置</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_touch_from_button.cpp" line="224"/> + <location filename="../../src/yuzu/configuration/configure_touch_from_button.cpp" line="221"/> <source>New name:</source> <translation>新名称:</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_touch_from_button.cpp" line="233"/> + <location filename="../../src/yuzu/configuration/configure_touch_from_button.cpp" line="230"/> <source>[press key]</source> <translation>[请按一个键]</translation> </message> @@ -3636,12 +3698,12 @@ Drag points to change position, or double-click table cells to edit values.</sou <context> <name>ControllerDialog</name> <message> - <location filename="../../src/yuzu/debugger/controller.cpp" line="17"/> + <location filename="../../src/yuzu/debugger/controller.cpp" line="21"/> <source>Controller P1</source> <translation>控制器 P1</translation> </message> <message> - <location filename="../../src/yuzu/debugger/controller.cpp" line="52"/> + <location filename="../../src/yuzu/debugger/controller.cpp" line="60"/> <source>&Controller P1</source> <translation>控制器 P1 (&C)</translation> </message> @@ -3649,90 +3711,95 @@ Drag points to change position, or double-click table cells to edit values.</sou <context> <name>GMainWindow</name> <message> - <location filename="../../src/yuzu/main.cpp" line="174"/> + <location filename="../../src/yuzu/main.cpp" line="176"/> <source><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?</source> <translation><a href='https://yuzu-emu.org/help/feature/telemetry/'>我们收集匿名数据</a>来帮助改进 yuzu 。<br/><br/>您愿意和我们分享您的使用数据吗?</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="177"/> + <location filename="../../src/yuzu/main.cpp" line="179"/> <source>Telemetry</source> <translation>使用数据共享</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="592"/> + <location filename="../../src/yuzu/main.cpp" line="600"/> <source>Loading Web Applet...</source> <translation>正在加载 Web 应用程序...</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="639"/> - <location filename="../../src/yuzu/main.cpp" line="642"/> + <location filename="../../src/yuzu/main.cpp" line="647"/> + <location filename="../../src/yuzu/main.cpp" line="650"/> <source>Disable Web Applet</source> <translation>禁用 Web 应用程序</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="643"/> + <location filename="../../src/yuzu/main.cpp" line="651"/> <source>Disabling the web applet will cause it to not be shown again for the rest of the emulated session. This 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?</source> <translation>禁用 web 程序将导致它在模拟窗口中不再显示。这可能导致未知的后果,且只能用于《超级马里奥 3D 全明星》中。您确定要禁用 web 程序吗?</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="746"/> + <location filename="../../src/yuzu/main.cpp" line="754"/> <source>The amount of shaders currently being built</source> - <translation>当前正在构建的着色器的数量</translation> + <translation>当前正在构建的着色器数量</translation> + </message> + <message> + <location filename="../../src/yuzu/main.cpp" line="756"/> + <source>The current selected resolution scaling multiplier.</source> + <translation>当前选定的分辨率缩放比例。</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="749"/> + <location filename="../../src/yuzu/main.cpp" line="759"/> <source>Current emulation speed. Values higher or lower than 100% indicate emulation is running faster or slower than a Switch.</source> <translation>当前的模拟速度。高于或低于 100% 的值表示模拟正在运行得比实际 Switch 更快或更慢。</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="752"/> + <location filename="../../src/yuzu/main.cpp" line="762"/> <source>How many frames per second the game is currently displaying. This will vary from game to game and scene to scene.</source> <translation>游戏当前运行的帧率。这将因游戏和场景的不同而有所变化。</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="756"/> + <location filename="../../src/yuzu/main.cpp" line="766"/> <source>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.</source> <translation>在不计算速度限制和垂直同步的情况下,模拟一个 Switch 帧的实际时间。若要进行全速模拟,这个数值不应超过 16.67 毫秒。</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="781"/> + <location filename="../../src/yuzu/main.cpp" line="841"/> <source>Invalid config detected</source> <translation>检测到无效配置</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="782"/> + <location filename="../../src/yuzu/main.cpp" line="842"/> <source>Handheld controller can't be used on docked mode. Pro controller will be selected.</source> <translation>掌机手柄无法在主机模式中使用。将会选择 Pro controller。</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="794"/> + <location filename="../../src/yuzu/main.cpp" line="854"/> <source>DOCK</source> <translation>主机模式</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="828"/> + <location filename="../../src/yuzu/main.cpp" line="888"/> <source>VULKAN</source> <translation>VULKAN</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="828"/> + <location filename="../../src/yuzu/main.cpp" line="888"/> <source>OPENGL</source> <translation>OPENGL</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="886"/> + <location filename="../../src/yuzu/main.cpp" line="951"/> <source>&Clear Recent Files</source> <translation>清除最近文件 (&C)</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="1055"/> - <source>TAS Recording</source> - <translation>TAS 录制</translation> + <location filename="../../src/yuzu/main.cpp" line="1210"/> + <source>&Continue</source> + <translation>继续 (&C)</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="1056"/> - <source>Overwrite file of player 1?</source> - <translation>覆盖玩家 1 的文件?</translation> + <location filename="../../src/yuzu/main.cpp" line="1212"/> + <source>&Pause</source> + <translation>暂停 (&P)</translation> </message> <message> <location filename="../../src/yuzu/main.cpp" line="1285"/> @@ -3783,660 +3850,727 @@ Drag points to change position, or double-click table cells to edit values.</sou <translation>发生了未知错误。请查看日志了解详情。</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="1462"/> + <location filename="../../src/yuzu/main.cpp" line="1460"/> <source>(64-bit)</source> <translation>(64-bit)</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="1462"/> + <location filename="../../src/yuzu/main.cpp" line="1460"/> <source>(32-bit)</source> <translation>(32-bit)</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="1463"/> + <location filename="../../src/yuzu/main.cpp" line="1461"/> <source>%1 %2</source> <comment>%1 is the title name. %2 indicates if the title is 64-bit or 32-bit</comment> <translation>%1 %2</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="1507"/> - <source>Start</source> - <translation>开始</translation> - </message> - <message> - <location filename="../../src/yuzu/main.cpp" line="1612"/> + <location filename="../../src/yuzu/main.cpp" line="1605"/> <source>Save Data</source> <translation>保存数据</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="1660"/> + <location filename="../../src/yuzu/main.cpp" line="1653"/> <source>Mod Data</source> <translation>Mod 数据</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="1672"/> + <location filename="../../src/yuzu/main.cpp" line="1665"/> <source>Error Opening %1 Folder</source> <translation>打开 %1 文件夹时出错</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="1673"/> - <location filename="../../src/yuzu/main.cpp" line="2079"/> + <location filename="../../src/yuzu/main.cpp" line="1666"/> + <location filename="../../src/yuzu/main.cpp" line="2072"/> <source>Folder does not exist!</source> <translation>文件夹不存在!</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="1685"/> + <location filename="../../src/yuzu/main.cpp" line="1678"/> <source>Error Opening Transferable Shader Cache</source> <translation>打开可转移着色器缓存时出错</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="1686"/> + <location filename="../../src/yuzu/main.cpp" line="1679"/> <source>Failed to create the shader cache directory for this title.</source> <translation>为该游戏创建着色器缓存目录时失败。</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="1738"/> + <location filename="../../src/yuzu/main.cpp" line="1731"/> <source>Contents</source> <translation>目录</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="1740"/> + <location filename="../../src/yuzu/main.cpp" line="1733"/> <source>Update</source> <translation>游戏更新</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="1742"/> + <location filename="../../src/yuzu/main.cpp" line="1735"/> <source>DLC</source> <translation>DLC</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="1749"/> + <location filename="../../src/yuzu/main.cpp" line="1742"/> <source>Remove Entry</source> <translation>删除项目</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="1749"/> + <location filename="../../src/yuzu/main.cpp" line="1742"/> <source>Remove Installed Game %1?</source> <translation>删除已安装的游戏 %1 ?</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="1779"/> - <location filename="../../src/yuzu/main.cpp" line="1795"/> - <location filename="../../src/yuzu/main.cpp" line="1826"/> - <location filename="../../src/yuzu/main.cpp" line="1887"/> - <location filename="../../src/yuzu/main.cpp" line="1905"/> - <location filename="../../src/yuzu/main.cpp" line="1928"/> + <location filename="../../src/yuzu/main.cpp" line="1772"/> + <location filename="../../src/yuzu/main.cpp" line="1788"/> + <location filename="../../src/yuzu/main.cpp" line="1819"/> + <location filename="../../src/yuzu/main.cpp" line="1880"/> + <location filename="../../src/yuzu/main.cpp" line="1898"/> + <location filename="../../src/yuzu/main.cpp" line="1921"/> <source>Successfully Removed</source> <translation>删除成功</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="1780"/> + <location filename="../../src/yuzu/main.cpp" line="1773"/> <source>Successfully removed the installed base game.</source> <translation>成功删除已安装的游戏。</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="1783"/> - <location filename="../../src/yuzu/main.cpp" line="1798"/> - <location filename="../../src/yuzu/main.cpp" line="1821"/> + <location filename="../../src/yuzu/main.cpp" line="1776"/> + <location filename="../../src/yuzu/main.cpp" line="1791"/> + <location filename="../../src/yuzu/main.cpp" line="1814"/> <source>Error Removing %1</source> <translation>删除 %1 时出错</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="1784"/> + <location filename="../../src/yuzu/main.cpp" line="1777"/> <source>The base game is not installed in the NAND and cannot be removed.</source> <translation>该游戏未安装于 NAND 中,无法删除。</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="1796"/> + <location filename="../../src/yuzu/main.cpp" line="1789"/> <source>Successfully removed the installed update.</source> <translation>成功删除已安装的游戏更新。</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="1799"/> + <location filename="../../src/yuzu/main.cpp" line="1792"/> <source>There is no update installed for this title.</source> <translation>这个游戏没有任何已安装的更新。</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="1822"/> + <location filename="../../src/yuzu/main.cpp" line="1815"/> <source>There are no DLC installed for this title.</source> <translation>这个游戏没有任何已安装的 DLC 。</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="1827"/> + <location filename="../../src/yuzu/main.cpp" line="1820"/> <source>Successfully removed %1 installed DLC.</source> <translation>成功删除游戏 %1 安装的 DLC 。</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="1835"/> + <location filename="../../src/yuzu/main.cpp" line="1828"/> <source>Delete OpenGL Transferable Shader Cache?</source> <translation>删除 OpenGL 模式的着色器缓存?</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="1837"/> + <location filename="../../src/yuzu/main.cpp" line="1830"/> <source>Delete Vulkan Transferable Shader Cache?</source> <translation>删除 Vulkan 模式的着色器缓存?</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="1839"/> + <location filename="../../src/yuzu/main.cpp" line="1832"/> <source>Delete All Transferable Shader Caches?</source> <translation>删除所有的着色器缓存?</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="1841"/> + <location filename="../../src/yuzu/main.cpp" line="1834"/> <source>Remove Custom Game Configuration?</source> <translation>移除自定义游戏设置?</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="1847"/> + <location filename="../../src/yuzu/main.cpp" line="1840"/> <source>Remove File</source> <translation>删除文件</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="1882"/> - <location filename="../../src/yuzu/main.cpp" line="1890"/> + <location filename="../../src/yuzu/main.cpp" line="1875"/> + <location filename="../../src/yuzu/main.cpp" line="1883"/> <source>Error Removing Transferable Shader Cache</source> <translation>删除着色器缓存时出错</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="1883"/> - <location filename="../../src/yuzu/main.cpp" line="1901"/> + <location filename="../../src/yuzu/main.cpp" line="1876"/> + <location filename="../../src/yuzu/main.cpp" line="1894"/> <source>A shader cache for this title does not exist.</source> <translation>这个游戏的着色器缓存不存在。</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="1888"/> + <location filename="../../src/yuzu/main.cpp" line="1881"/> <source>Successfully removed the transferable shader cache.</source> <translation>成功删除着色器缓存。</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="1891"/> + <location filename="../../src/yuzu/main.cpp" line="1884"/> <source>Failed to remove the transferable shader cache.</source> <translation>删除着色器缓存失败。</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="1900"/> - <location filename="../../src/yuzu/main.cpp" line="1908"/> + <location filename="../../src/yuzu/main.cpp" line="1893"/> + <location filename="../../src/yuzu/main.cpp" line="1901"/> <source>Error Removing Transferable Shader Caches</source> <translation>删除着色器缓存时出错</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="1906"/> + <location filename="../../src/yuzu/main.cpp" line="1899"/> <source>Successfully removed the transferable shader caches.</source> <translation>着色器缓存删除成功。</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="1909"/> + <location filename="../../src/yuzu/main.cpp" line="1902"/> <source>Failed to remove the transferable shader cache directory.</source> <translation>删除着色器缓存目录失败。</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="1922"/> - <location filename="../../src/yuzu/main.cpp" line="1931"/> + <location filename="../../src/yuzu/main.cpp" line="1915"/> + <location filename="../../src/yuzu/main.cpp" line="1924"/> <source>Error Removing Custom Configuration</source> <translation>移除自定义游戏设置时出错</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="1923"/> + <location filename="../../src/yuzu/main.cpp" line="1916"/> <source>A custom configuration for this title does not exist.</source> <translation>这个游戏的自定义设置不存在。</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="1929"/> + <location filename="../../src/yuzu/main.cpp" line="1922"/> <source>Successfully removed the custom game configuration.</source> <translation>成功移除自定义游戏设置。</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="1932"/> + <location filename="../../src/yuzu/main.cpp" line="1925"/> <source>Failed to remove the custom game configuration.</source> <translation>移除自定义游戏设置失败。</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="1939"/> - <location filename="../../src/yuzu/main.cpp" line="2018"/> + <location filename="../../src/yuzu/main.cpp" line="1932"/> + <location filename="../../src/yuzu/main.cpp" line="2011"/> <source>RomFS Extraction Failed!</source> <translation>RomFS 提取失败!</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="1940"/> + <location filename="../../src/yuzu/main.cpp" line="1933"/> <source>There was an error copying the RomFS files or the user cancelled the operation.</source> <translation>复制 RomFS 文件时出错,或用户取消了操作。</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="1998"/> + <location filename="../../src/yuzu/main.cpp" line="1991"/> <source>Full</source> <translation>完整</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="1998"/> + <location filename="../../src/yuzu/main.cpp" line="1991"/> <source>Skeleton</source> <translation>框架</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="2000"/> + <location filename="../../src/yuzu/main.cpp" line="1993"/> <source>Select RomFS Dump Mode</source> <translation>选择 RomFS 转储模式</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="2001"/> + <location filename="../../src/yuzu/main.cpp" line="1994"/> <source>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.</source> <translation>请选择希望 RomFS 转储的方式。<br>“Full” 会将所有文件复制到新目录中,而<br>“Skeleton” 只会创建目录结构。</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="2019"/> + <location filename="../../src/yuzu/main.cpp" line="2012"/> <source>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</source> <translation>%1 没有足够的空间用于提取 RomFS。请保持足够的空间或于模拟—>设置—>系统—>文件系统—>转储根目录中选择一个其他目录。</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="2026"/> + <location filename="../../src/yuzu/main.cpp" line="2019"/> <source>Extracting RomFS...</source> <translation>正在提取 RomFS...</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="2026"/> - <location filename="../../src/yuzu/main.cpp" line="2206"/> + <location filename="../../src/yuzu/main.cpp" line="2019"/> + <location filename="../../src/yuzu/main.cpp" line="2199"/> <source>Cancel</source> <translation>取消</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="2033"/> + <location filename="../../src/yuzu/main.cpp" line="2026"/> <source>RomFS Extraction Succeeded!</source> <translation>RomFS 提取成功!</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="2034"/> + <location filename="../../src/yuzu/main.cpp" line="2027"/> <source>The operation completed successfully.</source> <translation>操作成功完成。</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="2078"/> + <location filename="../../src/yuzu/main.cpp" line="2071"/> <source>Error Opening %1</source> <translation>打开 %1 时出错</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="2087"/> + <location filename="../../src/yuzu/main.cpp" line="2080"/> <source>Select Directory</source> <translation>选择目录</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="2114"/> + <location filename="../../src/yuzu/main.cpp" line="2107"/> <source>Properties</source> <translation>属性</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="2115"/> + <location filename="../../src/yuzu/main.cpp" line="2108"/> <source>The game properties could not be loaded.</source> <translation>无法加载该游戏的属性信息。</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="2127"/> + <location filename="../../src/yuzu/main.cpp" line="2120"/> <source>Switch Executable (%1);;All Files (*.*)</source> <comment>%1 is an identifier for the Switch executable file extensions.</comment> <translation>Switch 可执行文件 (%1);;所有文件 (*.*)</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="2131"/> + <location filename="../../src/yuzu/main.cpp" line="2124"/> <source>Load File</source> <translation>加载文件</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="2143"/> + <location filename="../../src/yuzu/main.cpp" line="2136"/> <source>Open Extracted ROM Directory</source> <translation>打开提取的 ROM 目录</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="2154"/> + <location filename="../../src/yuzu/main.cpp" line="2147"/> <source>Invalid Directory Selected</source> <translation>选择的目录无效</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="2155"/> + <location filename="../../src/yuzu/main.cpp" line="2148"/> <source>The directory you have selected does not contain a 'main' file.</source> <translation>选择的目录不包含 “main” 文件。</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="2165"/> + <location filename="../../src/yuzu/main.cpp" line="2158"/> <source>Installable Switch File (*.nca *.nsp *.xci);;Nintendo Content Archive (*.nca);;Nintendo Submission Package (*.nsp);;NX Cartridge Image (*.xci)</source> <translation>可安装的 Switch 文件 (*.nca *.nsp *.xci);;任天堂内容档案 (*.nca);;任天堂应用包 (*.nsp);;NX 卡带镜像 (*.xci)</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="2170"/> + <location filename="../../src/yuzu/main.cpp" line="2163"/> <source>Install Files</source> <translation>安装文件</translation> </message> <message numerus="yes"> - <location filename="../../src/yuzu/main.cpp" line="2214"/> + <location filename="../../src/yuzu/main.cpp" line="2207"/> <source>%n file(s) remaining</source> <translation><numerusform>剩余 %n 个文件</numerusform></translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="2216"/> + <location filename="../../src/yuzu/main.cpp" line="2209"/> <source>Installing file "%1"...</source> <translation>正在安装文件 "%1"...</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="2262"/> - <location filename="../../src/yuzu/main.cpp" line="2276"/> + <location filename="../../src/yuzu/main.cpp" line="2255"/> + <location filename="../../src/yuzu/main.cpp" line="2269"/> <source>Install Results</source> <translation>安装结果</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="2263"/> + <location filename="../../src/yuzu/main.cpp" line="2256"/> <source>To avoid possible conflicts, we discourage users from installing base games to the NAND. Please, only use this feature to install updates and DLC.</source> <translation>为了避免可能存在的冲突,我们不建议将游戏本体安装到 NAND 中。 此功能仅用于安装游戏更新和 DLC 。</translation> </message> <message numerus="yes"> - <location filename="../../src/yuzu/main.cpp" line="2269"/> + <location filename="../../src/yuzu/main.cpp" line="2262"/> <source>%n file(s) were newly installed </source> <translation><numerusform>最近安装了 %n 个文件 </numerusform></translation> </message> <message numerus="yes"> - <location filename="../../src/yuzu/main.cpp" line="2272"/> + <location filename="../../src/yuzu/main.cpp" line="2265"/> <source>%n file(s) were overwritten </source> <translation><numerusform>%n 个文件被覆盖 </numerusform></translation> </message> <message numerus="yes"> - <location filename="../../src/yuzu/main.cpp" line="2274"/> + <location filename="../../src/yuzu/main.cpp" line="2267"/> <source>%n file(s) failed to install </source> <translation><numerusform>%n 个文件安装失败 </numerusform></translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="2375"/> + <location filename="../../src/yuzu/main.cpp" line="2368"/> <source>System Application</source> <translation>系统应用</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="2376"/> + <location filename="../../src/yuzu/main.cpp" line="2369"/> <source>System Archive</source> <translation>系统档案</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="2377"/> + <location filename="../../src/yuzu/main.cpp" line="2370"/> <source>System Application Update</source> <translation>系统应用更新</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="2378"/> + <location filename="../../src/yuzu/main.cpp" line="2371"/> <source>Firmware Package (Type A)</source> <translation>固件包 (A型)</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="2379"/> + <location filename="../../src/yuzu/main.cpp" line="2372"/> <source>Firmware Package (Type B)</source> <translation>固件包 (B型)</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="2380"/> + <location filename="../../src/yuzu/main.cpp" line="2373"/> <source>Game</source> <translation>游戏</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="2381"/> + <location filename="../../src/yuzu/main.cpp" line="2374"/> <source>Game Update</source> <translation>游戏更新</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="2382"/> + <location filename="../../src/yuzu/main.cpp" line="2375"/> <source>Game DLC</source> <translation>游戏 DLC</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="2383"/> + <location filename="../../src/yuzu/main.cpp" line="2376"/> <source>Delta Title</source> <translation>差量程序</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="2386"/> + <location filename="../../src/yuzu/main.cpp" line="2379"/> <source>Select NCA Install Type...</source> <translation>选择 NCA 安装类型...</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="2387"/> + <location filename="../../src/yuzu/main.cpp" line="2380"/> <source>Please select the type of title you would like to install this NCA as: (In most instances, the default 'Game' is fine.)</source> <translation>请选择此 NCA 的程序类型: (在大多数情况下,选择默认的“游戏”即可。)</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="2393"/> + <location filename="../../src/yuzu/main.cpp" line="2386"/> <source>Failed to Install</source> <translation>安装失败</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="2394"/> + <location filename="../../src/yuzu/main.cpp" line="2387"/> <source>The title type you selected for the NCA is invalid.</source> <translation>选择的 NCA 程序类型无效。</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="2429"/> + <location filename="../../src/yuzu/main.cpp" line="2422"/> <source>File not found</source> <translation>找不到文件</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="2430"/> + <location filename="../../src/yuzu/main.cpp" line="2423"/> <source>File "%1" not found</source> <translation>文件 "%1" 未找到</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="2445"/> - <location filename="../../src/yuzu/main.cpp" line="3448"/> - <source>&Continue</source> - <translation>继续 (&C)</translation> - </message> - <message> - <location filename="../../src/yuzu/main.cpp" line="2494"/> + <location filename="../../src/yuzu/main.cpp" line="2492"/> <source>OK</source> <translation>确定</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="2508"/> + <location filename="../../src/yuzu/main.cpp" line="2506"/> <source>Missing yuzu Account</source> <translation>未设置 yuzu 账户</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="2509"/> + <location filename="../../src/yuzu/main.cpp" line="2507"/> <source>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.</source> <translation>要提交游戏兼容性测试用例,您必须设置您的 yuzu 帐户。<br><br/>要设置您的 yuzu 帐户,请转到模拟 &gt; 设置 &gt; 网络。</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="2519"/> + <location filename="../../src/yuzu/main.cpp" line="2517"/> <source>Error opening URL</source> <translation>打开 URL 时出错</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="2520"/> + <location filename="../../src/yuzu/main.cpp" line="2518"/> <source>Unable to open the URL "%1".</source> <translation>无法打开 URL : "%1" 。</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="2802"/> + <location filename="../../src/yuzu/main.cpp" line="2777"/> + <source>TAS Recording</source> + <translation>TAS 录制</translation> + </message> + <message> + <location filename="../../src/yuzu/main.cpp" line="2777"/> + <source>Overwrite file of player 1?</source> + <translation>覆盖玩家 1 的文件?</translation> + </message> + <message> + <location filename="../../src/yuzu/main.cpp" line="2830"/> <source>Amiibo File (%1);; All Files (*.*)</source> <translation>Amiibo 文件 (%1);; 全部文件 (*.*)</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="2803"/> + <location filename="../../src/yuzu/main.cpp" line="2831"/> <source>Load Amiibo</source> <translation>加载 Amiibo</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="2821"/> + <location filename="../../src/yuzu/main.cpp" line="2849"/> <source>Error opening Amiibo data file</source> <translation>打开 Amiibo 数据文件时出错</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="2822"/> + <location filename="../../src/yuzu/main.cpp" line="2850"/> <source>Unable to open Amiibo file "%1" for reading.</source> <translation>无法打开 Amiibo 文件 %1。</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="2830"/> + <location filename="../../src/yuzu/main.cpp" line="2858"/> <source>Error reading Amiibo data file</source> <translation>读取 Amiibo 数据文件时出错</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="2831"/> + <location filename="../../src/yuzu/main.cpp" line="2859"/> <source>Unable to fully read Amiibo data. Expected to read %1 bytes, but was only able to read %2 bytes.</source> <translation>无法完全读取 Amiibo 数据。应读取 %1 个字节,但实际仅能读取 %2 个字节。</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="2839"/> + <location filename="../../src/yuzu/main.cpp" line="2867"/> <source>Error loading Amiibo data</source> <translation>加载 Amiibo 数据时出错</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="2840"/> + <location filename="../../src/yuzu/main.cpp" line="2868"/> <source>Unable to load Amiibo data.</source> <translation>无法加载 Amiibo 数据。</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="2881"/> + <location filename="../../src/yuzu/main.cpp" line="2913"/> <source>Capture Screenshot</source> <translation>捕获截图</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="2882"/> + <location filename="../../src/yuzu/main.cpp" line="2914"/> <source>PNG Image (*.png)</source> <translation>PNG 图像 (*.png)</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="2948"/> + <location filename="../../src/yuzu/main.cpp" line="2979"/> <source>TAS state: Running %1/%2</source> <translation>TAS 状态:正在运行 %1/%2</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="2950"/> + <location filename="../../src/yuzu/main.cpp" line="2981"/> <source>TAS state: Recording %1</source> <translation>TAS 状态:正在录制 %1</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="2952"/> + <location filename="../../src/yuzu/main.cpp" line="2983"/> <source>TAS state: Idle %1/%2</source> <translation>TAS 状态:空闲 %1/%2</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="2954"/> + <location filename="../../src/yuzu/main.cpp" line="2985"/> <source>TAS State: Invalid</source> <translation>TAS 状态:无效</translation> </message> + <message> + <location filename="../../src/yuzu/main.cpp" line="2999"/> + <source>&Stop Running</source> + <translation>停止运行 (&S)</translation> + </message> + <message> + <location filename="../../src/yuzu/main.cpp" line="2999"/> + <source>&Start</source> + <translation>开始 (&S)</translation> + </message> + <message> + <location filename="../../src/yuzu/main.cpp" line="3000"/> + <source>Stop R&ecording</source> + <translation>停止录制 (&E)</translation> + </message> + <message> + <location filename="../../src/yuzu/main.cpp" line="3000"/> + <source>R&ecord</source> + <translation>录制 (&E)</translation> + </message> <message numerus="yes"> - <location filename="../../src/yuzu/main.cpp" line="2975"/> + <location filename="../../src/yuzu/main.cpp" line="3024"/> <source>Building: %n shader(s)</source> <translation><numerusform>正在编译 %n 个着色器文件</numerusform></translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="2982"/> + <location filename="../../src/yuzu/main.cpp" line="3033"/> + <source>Scale: %1x</source> + <comment>%1 is the resolution scaling factor</comment> + <translation>缩放比例: %1x</translation> + </message> + <message> + <location filename="../../src/yuzu/main.cpp" line="3036"/> <source>Speed: %1% / %2%</source> <translation>速度: %1% / %2%</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="2986"/> + <location filename="../../src/yuzu/main.cpp" line="3040"/> <source>Speed: %1%</source> <translation>速度: %1%</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="2990"/> + <location filename="../../src/yuzu/main.cpp" line="3044"/> <source>Game: %1 FPS (Unlocked)</source> <translation>游戏: %1 FPS (未锁定)</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="2992"/> + <location filename="../../src/yuzu/main.cpp" line="3046"/> <source>Game: %1 FPS</source> <translation>FPS: %1</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="2994"/> + <location filename="../../src/yuzu/main.cpp" line="3048"/> <source>Frame: %1 ms</source> <translation>帧延迟:%1 毫秒</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="3004"/> + <location filename="../../src/yuzu/main.cpp" line="3059"/> <source>GPU NORMAL</source> <translation>GPU NORMAL</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="3009"/> + <location filename="../../src/yuzu/main.cpp" line="3064"/> <source>GPU HIGH</source> <translation>GPU HIGH</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="3014"/> + <location filename="../../src/yuzu/main.cpp" line="3069"/> <source>GPU EXTREME</source> <translation>GPU EXTREME</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="3019"/> + <location filename="../../src/yuzu/main.cpp" line="3074"/> <source>GPU ERROR</source> <translation>GPU ERROR</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="3076"/> + <location filename="../../src/yuzu/main.cpp" line="3084"/> + <source>NEAREST</source> + <translation>邻近取样</translation> + </message> + <message> + <location filename="../../src/yuzu/main.cpp" line="3087"/> + <location filename="../../src/yuzu/main.cpp" line="3102"/> + <source>BILINEAR</source> + <translation>双线性过滤</translation> + </message> + <message> + <location filename="../../src/yuzu/main.cpp" line="3090"/> + <source>BICUBIC</source> + <translation>双三线过滤</translation> + </message> + <message> + <location filename="../../src/yuzu/main.cpp" line="3093"/> + <source>GAUSSIAN</source> + <translation>高斯模糊</translation> + </message> + <message> + <location filename="../../src/yuzu/main.cpp" line="3096"/> + <source>SCALEFORCE</source> + <translation>强制缩放</translation> + </message> + <message> + <location filename="../../src/yuzu/main.cpp" line="3099"/> + <source>FSR</source> + <translation>FSR</translation> + </message> + <message> + <location filename="../../src/yuzu/main.cpp" line="3111"/> + <location filename="../../src/yuzu/main.cpp" line="3117"/> + <source>NO AA</source> + <translation>抗锯齿关</translation> + </message> + <message> + <location filename="../../src/yuzu/main.cpp" line="3114"/> + <source>FXAA</source> + <translation>FXAA</translation> + </message> + <message> + <location filename="../../src/yuzu/main.cpp" line="3175"/> <source>The game you are trying to load requires additional files from your Switch to be dumped before playing.<br/><br/>For more information on dumping these files, please see the following wiki page: <a href='https://yuzu-emu.org/wiki/dumping-system-archives-and-the-shared-fonts-from-a-switch-console/'>Dumping System Archives and the Shared Fonts from a Switch Console</a>.<br/><br/>Would you like to quit back to the game list? Continuing emulation may result in crashes, corrupted save data, or other bugs.</source> <translation>您正尝试启动的游戏需要从 Switch 转储的其他文件。<br/><br/>有关转储这些文件的更多信息,请参阅以下 wiki 页面:<a href='https://yuzu-emu.org/wiki/dumping-system-archives-and-the-shared-fonts-from-a-switch-console/'>Dumping System Archives and the Shared Fonts from a Switch Console</a>。<br/><br/>您要退出并返回至游戏列表吗?继续模拟可能会导致崩溃,存档损坏或其他错误。</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="3091"/> + <location filename="../../src/yuzu/main.cpp" line="3190"/> <source>yuzu was unable to locate a Switch system archive. %1</source> <translation>Yuzu 找不到 Switch 系统档案 %1 </translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="3093"/> + <location filename="../../src/yuzu/main.cpp" line="3192"/> <source>yuzu was unable to locate a Switch system archive: %1. %2</source> <translation>Yuzu 找不到 Switch 系统档案: %1, %2 </translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="3097"/> + <location filename="../../src/yuzu/main.cpp" line="3196"/> <source>System Archive Not Found</source> <translation>未找到系统档案</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="3099"/> + <location filename="../../src/yuzu/main.cpp" line="3198"/> <source>System Archive Missing</source> <translation>系统档案缺失</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="3105"/> + <location filename="../../src/yuzu/main.cpp" line="3204"/> <source>yuzu was unable to locate the Switch shared fonts. %1</source> <translation>Yuzu 找不到 Swtich 共享字体 %1 </translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="3106"/> + <location filename="../../src/yuzu/main.cpp" line="3205"/> <source>Shared Fonts Not Found</source> <translation>未找到共享字体</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="3108"/> + <location filename="../../src/yuzu/main.cpp" line="3207"/> <source>Shared Font Missing</source> <translation>共享字体文件缺失</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="3114"/> + <location filename="../../src/yuzu/main.cpp" line="3213"/> <source>Fatal Error</source> <translation>致命错误</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="3115"/> + <location filename="../../src/yuzu/main.cpp" line="3214"/> <source>yuzu has encountered a fatal error, please see the log for more details. For more information on accessing the log, please see the following page: <a href='https://community.citra-emu.org/t/how-to-upload-the-log-file/296'>How to Upload the Log File</a>.<br/><br/>Would you like to quit back to the game list? Continuing emulation may result in crashes, corrupted save data, or other bugs.</source> <translation>yuzu 遇到了致命错误,请查看日志了解详情。有关查找日志的更多信息,请参阅以下页面:<a href='https://community.citra-emu.org/t/how-to-upload-the-log-file/296'>How to Upload the Log File</a>。<br/><br/>您要退出并返回至游戏列表吗?继续模拟可能会导致崩溃,存档损坏或其他错误。</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="3124"/> + <location filename="../../src/yuzu/main.cpp" line="3223"/> <source>Fatal Error encountered</source> <translation>发生致命错误</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="3147"/> + <location filename="../../src/yuzu/main.cpp" line="3246"/> <source>Confirm Key Rederivation</source> <translation>确认重新生成密钥</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="3148"/> + <location filename="../../src/yuzu/main.cpp" line="3247"/> <source>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. @@ -4452,37 +4586,37 @@ This will delete your autogenerated key files and re-run the key derivation modu 这将删除您自动生成的密钥文件并重新运行密钥生成模块。</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="3180"/> + <location filename="../../src/yuzu/main.cpp" line="3279"/> <source>Missing fuses</source> <translation>项目丢失</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="3183"/> + <location filename="../../src/yuzu/main.cpp" line="3282"/> <source> - Missing BOOT0</source> <translation>- 丢失 BOOT0</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="3186"/> + <location filename="../../src/yuzu/main.cpp" line="3285"/> <source> - Missing BCPKG2-1-Normal-Main</source> <translation> - 丢失 BCPKG2-1-Normal-Main</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="3189"/> + <location filename="../../src/yuzu/main.cpp" line="3288"/> <source> - Missing PRODINFO</source> <translation>- 丢失 PRODINFO</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="3193"/> + <location filename="../../src/yuzu/main.cpp" line="3292"/> <source>Derivation Components Missing</source> <translation>组件丢失</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="3194"/> - <source>Components are missing that may hinder key derivation from completing. <br>Please follow <a href='https://yuzu-emu.org/help/quickstart/'>the yuzu quickstart guide</a> to get all your keys and games.<br><br><small>(%1)</small></source> - <translation>缺少组件可能会影响游戏的正常运行。<br>请查看<a href='https://yuzu-emu.org/help/quickstart/'>yuzu 快速导航</a>以获得你的密钥和游戏。<br><br><small>(%1)</small></translation> + <location filename="../../src/yuzu/main.cpp" line="3293"/> + <source>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></source> + <translation>密钥缺失。<br>请查看<a href='https://yuzu-emu.org/help/quickstart/'>yuzu 快速导航</a>以获得你的密钥、固件和游戏。<br><br><small>(%1)</small></translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="3203"/> + <location filename="../../src/yuzu/main.cpp" line="3302"/> <source>Deriving keys... This may take up to a minute depending on your system's performance.</source> @@ -4491,39 +4625,39 @@ on your system's performance.</source> 您的系统性能。</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="3205"/> + <location filename="../../src/yuzu/main.cpp" line="3304"/> <source>Deriving Keys</source> <translation>生成密钥</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="3250"/> + <location filename="../../src/yuzu/main.cpp" line="3349"/> <source>Select RomFS Dump Target</source> <translation>选择 RomFS 转储目标</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="3251"/> + <location filename="../../src/yuzu/main.cpp" line="3350"/> <source>Please select which RomFS you would like to dump.</source> <translation>请选择希望转储的 RomFS。</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="3266"/> + <location filename="../../src/yuzu/main.cpp" line="3365"/> <source>Are you sure you want to close yuzu?</source> <translation>您确定要关闭 yuzu 吗?</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="3267"/> - <location filename="../../src/yuzu/main.cpp" line="3342"/> - <location filename="../../src/yuzu/main.cpp" line="3355"/> + <location filename="../../src/yuzu/main.cpp" line="3366"/> + <location filename="../../src/yuzu/main.cpp" line="3443"/> + <location filename="../../src/yuzu/main.cpp" line="3456"/> <source>yuzu</source> <translation>yuzu</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="3343"/> + <location filename="../../src/yuzu/main.cpp" line="3444"/> <source>Are you sure you want to stop the emulation? Any unsaved progress will be lost.</source> <translation>您确定要停止模拟吗?未保存的进度将会丢失。</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="3352"/> + <location filename="../../src/yuzu/main.cpp" line="3453"/> <source>The currently running application has requested yuzu to not exit. Would you like to bypass this and exit anyway?</source> @@ -4535,38 +4669,38 @@ Would you like to bypass this and exit anyway?</source> <context> <name>GRenderWindow</name> <message> - <location filename="../../src/yuzu/bootmanager.cpp" line="675"/> + <location filename="../../src/yuzu/bootmanager.cpp" line="976"/> <source>OpenGL not available!</source> <translation>OpenGL 模式不可用!</translation> </message> <message> - <location filename="../../src/yuzu/bootmanager.cpp" line="676"/> + <location filename="../../src/yuzu/bootmanager.cpp" line="977"/> <source>yuzu has not been compiled with OpenGL support.</source> <translation>yuzu 没有使用 OpenGL 进行编译。</translation> </message> <message> - <location filename="../../src/yuzu/bootmanager.cpp" line="695"/> - <location filename="../../src/yuzu/bootmanager.cpp" line="715"/> + <location filename="../../src/yuzu/bootmanager.cpp" line="996"/> + <location filename="../../src/yuzu/bootmanager.cpp" line="1016"/> <source>Error while initializing OpenGL!</source> <translation>初始化 OpenGL 时出错!</translation> </message> <message> - <location filename="../../src/yuzu/bootmanager.cpp" line="696"/> + <location filename="../../src/yuzu/bootmanager.cpp" line="997"/> <source>Your GPU may not support OpenGL, or you do not have the latest graphics driver.</source> <translation>您的 GPU 可能不支持 OpenGL ,或者您没有安装最新的显卡驱动。</translation> </message> <message> - <location filename="../../src/yuzu/bootmanager.cpp" line="705"/> + <location filename="../../src/yuzu/bootmanager.cpp" line="1006"/> <source>Error while initializing OpenGL 4.6!</source> <translation>初始化 OpenGL 4.6 时出错!</translation> </message> <message> - <location filename="../../src/yuzu/bootmanager.cpp" line="706"/> + <location filename="../../src/yuzu/bootmanager.cpp" line="1007"/> <source>Your GPU may not support OpenGL 4.6, or you do not have the latest graphics driver.<br><br>GL Renderer:<br>%1</source> <translation>您的 GPU 可能不支持 OpenGL 4.6 ,或者您没有安装最新的显卡驱动。<br><br>GL 渲染器:<br>%1</translation> </message> <message> - <location filename="../../src/yuzu/bootmanager.cpp" line="716"/> + <location filename="../../src/yuzu/bootmanager.cpp" line="1017"/> <source>Your GPU may not support one or more required OpenGL extensions. Please ensure you have the latest graphics driver.<br><br>GL Renderer:<br>%1<br><br>Unsupported extensions:<br>%2</source> <translation>您的 GPU 可能不支持某些必需的 OpenGL 扩展。请确保您已经安装最新的显卡驱动。<br><br>GL 渲染器:<br>%1<br><br>不支持的扩展:<br>%2</translation> </message> @@ -4923,190 +5057,205 @@ Screen.</source> <translation>模拟 (&E)</translation> </message> <message> - <location filename="../../src/yuzu/main.ui" line="79"/> + <location filename="../../src/yuzu/main.ui" line="78"/> <source>&View</source> <translation>视图 (&V)</translation> </message> <message> - <location filename="../../src/yuzu/main.ui" line="83"/> + <location filename="../../src/yuzu/main.ui" line="82"/> <source>&Reset Window Size</source> <translation>重置窗口大小 (&R)</translation> </message> <message> - <location filename="../../src/yuzu/main.ui" line="88"/> + <location filename="../../src/yuzu/main.ui" line="87"/> + <source>&Debugging</source> + <translation>调试 (&D)</translation> + </message> + <message> + <location filename="../../src/yuzu/main.ui" line="92"/> <source>Reset Window Size to &720p</source> <translation>重置窗口大小为720p (&7)</translation> </message> <message> - <location filename="../../src/yuzu/main.ui" line="91"/> + <location filename="../../src/yuzu/main.ui" line="95"/> <source>Reset Window Size to 720p</source> <translation>重置窗口大小为720p</translation> </message> <message> - <location filename="../../src/yuzu/main.ui" line="96"/> + <location filename="../../src/yuzu/main.ui" line="100"/> <source>Reset Window Size to &900p</source> <translation>重置窗口大小为900p (&9)</translation> </message> <message> - <location filename="../../src/yuzu/main.ui" line="99"/> + <location filename="../../src/yuzu/main.ui" line="103"/> <source>Reset Window Size to 900p</source> <translation>重置窗口大小为900p</translation> </message> <message> - <location filename="../../src/yuzu/main.ui" line="104"/> + <location filename="../../src/yuzu/main.ui" line="108"/> <source>Reset Window Size to &1080p</source> <translation>重置窗口大小为1080p (&1)</translation> </message> <message> - <location filename="../../src/yuzu/main.ui" line="107"/> + <location filename="../../src/yuzu/main.ui" line="111"/> <source>Reset Window Size to 1080p</source> <translation>重置窗口大小为1080p</translation> </message> <message> - <location filename="../../src/yuzu/main.ui" line="112"/> - <source>&Debugging</source> - <translation>调试 (&D)</translation> - </message> - <message> - <location filename="../../src/yuzu/main.ui" line="126"/> + <location filename="../../src/yuzu/main.ui" line="125"/> <source>&Tools</source> <translation>工具 (&T)</translation> </message> <message> - <location filename="../../src/yuzu/main.ui" line="135"/> + <location filename="../../src/yuzu/main.ui" line="129"/> + <source>&TAS</source> + <translation>TAS (&T)</translation> + </message> + <message> + <location filename="../../src/yuzu/main.ui" line="144"/> <source>&Help</source> <translation>帮助 (&H)</translation> </message> <message> - <location filename="../../src/yuzu/main.ui" line="155"/> + <location filename="../../src/yuzu/main.ui" line="164"/> <source>&Install Files to NAND...</source> <translation>安装文件到 NAND... (&I)</translation> </message> <message> - <location filename="../../src/yuzu/main.ui" line="160"/> + <location filename="../../src/yuzu/main.ui" line="169"/> <source>L&oad File...</source> <translation>加载文件... (&O)</translation> </message> <message> - <location filename="../../src/yuzu/main.ui" line="165"/> + <location filename="../../src/yuzu/main.ui" line="174"/> <source>Load &Folder...</source> <translation>加载文件夹... (&F)</translation> </message> <message> - <location filename="../../src/yuzu/main.ui" line="170"/> + <location filename="../../src/yuzu/main.ui" line="179"/> <source>E&xit</source> <translation>退出 (&X)</translation> </message> <message> - <location filename="../../src/yuzu/main.ui" line="178"/> - <source>&Start</source> - <translation>开始 (&S)</translation> - </message> - <message> - <location filename="../../src/yuzu/main.ui" line="186"/> + <location filename="../../src/yuzu/main.ui" line="187"/> <source>&Pause</source> <translation>暂停 (&P)</translation> </message> <message> - <location filename="../../src/yuzu/main.ui" line="194"/> + <location filename="../../src/yuzu/main.ui" line="195"/> <source>&Stop</source> <translation>停止 (&S)</translation> </message> <message> - <location filename="../../src/yuzu/main.ui" line="199"/> + <location filename="../../src/yuzu/main.ui" line="200"/> <source>&Reinitialize keys...</source> <translation>重新生成密钥... (&R)</translation> </message> <message> - <location filename="../../src/yuzu/main.ui" line="204"/> + <location filename="../../src/yuzu/main.ui" line="205"/> <source>&About yuzu</source> <translation>关于 yuzu (&A)</translation> </message> <message> - <location filename="../../src/yuzu/main.ui" line="212"/> + <location filename="../../src/yuzu/main.ui" line="213"/> <source>Single &Window Mode</source> <translation>单窗口模式 (&W)</translation> </message> <message> - <location filename="../../src/yuzu/main.ui" line="217"/> + <location filename="../../src/yuzu/main.ui" line="218"/> <source>Con&figure...</source> <translation>设置... (&F)</translation> </message> <message> - <location filename="../../src/yuzu/main.ui" line="225"/> + <location filename="../../src/yuzu/main.ui" line="226"/> <source>Display D&ock Widget Headers</source> <translation>显示停靠小部件的标题 (&O)</translation> </message> <message> - <location filename="../../src/yuzu/main.ui" line="233"/> + <location filename="../../src/yuzu/main.ui" line="234"/> <source>Show &Filter Bar</source> <translation>显示搜索栏 (&F)</translation> </message> <message> - <location filename="../../src/yuzu/main.ui" line="241"/> + <location filename="../../src/yuzu/main.ui" line="242"/> <source>Show &Status Bar</source> <translation>显示状态栏 (&S)</translation> </message> <message> - <location filename="../../src/yuzu/main.ui" line="244"/> + <location filename="../../src/yuzu/main.ui" line="245"/> <source>Show Status Bar</source> <translation>显示状态栏</translation> </message> <message> - <location filename="../../src/yuzu/main.ui" line="252"/> + <location filename="../../src/yuzu/main.ui" line="253"/> <source>F&ullscreen</source> <translation>全屏 (&U)</translation> </message> <message> - <location filename="../../src/yuzu/main.ui" line="260"/> + <location filename="../../src/yuzu/main.ui" line="261"/> <source>&Restart</source> <translation>重新启动 (&R)</translation> </message> <message> - <location filename="../../src/yuzu/main.ui" line="268"/> + <location filename="../../src/yuzu/main.ui" line="269"/> <source>Load &Amiibo...</source> <translation>加载 Amiibo... (&A)</translation> </message> <message> - <location filename="../../src/yuzu/main.ui" line="276"/> + <location filename="../../src/yuzu/main.ui" line="277"/> <source>&Report Compatibility</source> <translation>报告兼容性 (&R)</translation> </message> <message> - <location filename="../../src/yuzu/main.ui" line="284"/> + <location filename="../../src/yuzu/main.ui" line="285"/> <source>Open &Mods Page</source> <translation>打开 Mod 页面 (&M)</translation> </message> <message> - <location filename="../../src/yuzu/main.ui" line="289"/> + <location filename="../../src/yuzu/main.ui" line="290"/> <source>Open &Quickstart Guide</source> <translation>查看快速导航 (&Q)</translation> </message> <message> - <location filename="../../src/yuzu/main.ui" line="294"/> + <location filename="../../src/yuzu/main.ui" line="295"/> <source>&FAQ</source> <translation>FAQ (&F)</translation> </message> <message> - <location filename="../../src/yuzu/main.ui" line="299"/> + <location filename="../../src/yuzu/main.ui" line="300"/> <source>Open &yuzu Folder</source> <translation>打开 yuzu 文件夹 (&Y)</translation> </message> <message> - <location filename="../../src/yuzu/main.ui" line="307"/> + <location filename="../../src/yuzu/main.ui" line="308"/> <source>&Capture Screenshot</source> <translation>捕获截图 (&C)</translation> </message> <message> - <location filename="../../src/yuzu/main.ui" line="312"/> - <source>Configure &TAS...</source> - <translation>配置 TAS… (&T)</translation> + <location filename="../../src/yuzu/main.ui" line="313"/> + <source>&Configure TAS...</source> + <translation>配置 TAS... (&C)</translation> </message> <message> - <location filename="../../src/yuzu/main.ui" line="320"/> + <location filename="../../src/yuzu/main.ui" line="321"/> <source>Configure C&urrent Game...</source> <translation>配置当前游戏... (&U)</translation> </message> + <message> + <location filename="../../src/yuzu/main.ui" line="329"/> + <source>&Start</source> + <translation>开始 (&S)</translation> + </message> + <message> + <location filename="../../src/yuzu/main.ui" line="337"/> + <source>&Reset</source> + <translation>重置 (&R)</translation> + </message> + <message> + <location filename="../../src/yuzu/main.ui" line="345"/> + <source>R&ecord</source> + <translation>录制 (&E)</translation> + </message> </context> <context> <name>MicroProfileDialog</name> @@ -5152,10 +5301,15 @@ p, li { white-space: pre-wrap; } <context> <name>PlayerControlPreview</name> <message> - <location filename="../../src/yuzu/configuration/configure_input_player_widget.cpp" line="1566"/> + <location filename="../../src/yuzu/configuration/configure_input_player_widget.cpp" line="1572"/> <source>START/PAUSE</source> <translation>开始/暂停</translation> </message> + <message> + <location filename="../../src/yuzu/configuration/configure_input_player_widget.cpp" line="2685"/> + <source>Charging</source> + <translation>充电中</translation> + </message> </context> <context> <name>QObject</name> @@ -5186,142 +5340,222 @@ p, li { white-space: pre-wrap; } </message> <message> <location filename="../../src/yuzu/configuration/configure_touch_from_button.cpp" line="23"/> - <location filename="../../src/yuzu/configuration/configure_mouse_advanced.cpp" line="32"/> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="72"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="43"/> <source>Shift</source> <translation>Shift</translation> </message> <message> <location filename="../../src/yuzu/configuration/configure_touch_from_button.cpp" line="25"/> - <location filename="../../src/yuzu/configuration/configure_mouse_advanced.cpp" line="34"/> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="74"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="45"/> <source>Ctrl</source> <translation>Ctrl</translation> </message> <message> <location filename="../../src/yuzu/configuration/configure_touch_from_button.cpp" line="27"/> - <location filename="../../src/yuzu/configuration/configure_mouse_advanced.cpp" line="36"/> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="76"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="47"/> <source>Alt</source> <translation>Alt</translation> </message> <message> <location filename="../../src/yuzu/configuration/configure_touch_from_button.cpp" line="37"/> - <location filename="../../src/yuzu/configuration/configure_mouse_advanced.cpp" line="46"/> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="103"/> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="190"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="130"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="196"/> <source>[not set]</source> <translation>[未设置]</translation> </message> <message> <location filename="../../src/yuzu/configuration/configure_touch_from_button.cpp" line="49"/> - <location filename="../../src/yuzu/configuration/configure_mouse_advanced.cpp" line="58"/> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="152"/> <source>Hat %1 %2</source> <translation>方向键 %1 %2</translation> </message> <message> <location filename="../../src/yuzu/configuration/configure_touch_from_button.cpp" line="56"/> - <location filename="../../src/yuzu/configuration/configure_mouse_advanced.cpp" line="65"/> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="159"/> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="210"/> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="214"/> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="218"/> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="222"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="219"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="223"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="227"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="231"/> <source>Axis %1%2</source> <translation>轴 %1%2</translation> </message> <message> <location filename="../../src/yuzu/configuration/configure_touch_from_button.cpp" line="62"/> - <location filename="../../src/yuzu/configuration/configure_mouse_advanced.cpp" line="71"/> <source>Button %1</source> <translation>按键 %1</translation> </message> <message> <location filename="../../src/yuzu/configuration/configure_touch_from_button.cpp" line="68"/> - <location filename="../../src/yuzu/configuration/configure_mouse_advanced.cpp" line="76"/> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="185"/> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="227"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="190"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="204"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="234"/> <source>[unknown]</source> <translation>[未知]</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_mouse_advanced.cpp" line="22"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="58"/> + <source>Left</source> + <translation>左</translation> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="60"/> + <source>Right</source> + <translation>右</translation> + </message> + <message> <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="62"/> - <source>Click 0</source> - <translation>点击 0</translation> + <source>Down</source> + <translation>下</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_mouse_advanced.cpp" line="24"/> <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="64"/> - <source>Click 1</source> - <translation>点击 1</translation> + <source>Up</source> + <translation>上</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_mouse_advanced.cpp" line="26"/> <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="66"/> - <source>Click 2</source> - <translation>点击 2</translation> + <source>Z</source> + <translation>Z</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_mouse_advanced.cpp" line="28"/> <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="68"/> - <source>Click 3</source> - <translation>点击 3</translation> + <source>R</source> + <translation>R</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_mouse_advanced.cpp" line="30"/> <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="70"/> - <source>Click 4</source> - <translation>点击 4</translation> + <source>L</source> + <translation>L</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="109"/> - <source>%1%2</source> - <translation>%1%2</translation> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="72"/> + <source>A</source> + <translation>A</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="117"/> - <source>GC Axis %1%2</source> - <translation>GC 轴 %1%2</translation> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="74"/> + <source>B</source> + <translation>B</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="121"/> - <source>GC Button %1</source> - <translation>GC 按键 %1</translation> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="76"/> + <source>X</source> + <translation>X</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="130"/> - <source>TAS Axis %1</source> - <translation>TAS 轴 %1</translation> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="78"/> + <source>Y</source> + <translation>Y</translation> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="80"/> + <source>Start</source> + <translation>开始</translation> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="82"/> + <source>L1</source> + <translation>L1</translation> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="84"/> + <source>L2</source> + <translation>L2</translation> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="86"/> + <source>L3</source> + <translation>L3</translation> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="88"/> + <source>R1</source> + <translation>R1</translation> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="90"/> + <source>R2</source> + <translation>R2</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="134"/> - <source>TAS Btn %1</source> - <translation>TAS 按钮 %1</translation> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="92"/> + <source>R3</source> + <translation>R3</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="142"/> - <source>Motion %1</source> - <translation>体感 %1</translation> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="94"/> + <source>Circle</source> + <translation>○</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="166"/> - <source>%1Button %2</source> - <translation>%1按钮 %2</translation> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="96"/> + <source>Cross</source> + <translation>╳</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="170"/> - <source>SDL Motion</source> - <translation>SDL 体感</translation> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="98"/> + <source>Square</source> + <translation>□</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="180"/> - <source>%1Click %2</source> - <translation>%1点击 %2</translation> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="100"/> + <source>Triangle</source> + <translation>Δ</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="205"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="102"/> + <source>Share</source> + <translation>分享</translation> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="104"/> + <source>Options</source> + <translation>选项</translation> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="106"/> + <source>[undefined]</source> + <translation>[未指定]</translation> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="140"/> + <source>%1%2</source> + <translation>%1%2</translation> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="144"/> + <source>[invalid]</source> + <translation>[无效]</translation> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="154"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="178"/> + <source>%1%2Hat %3</source> + <translation>%1%2Hat 控制器 %3</translation> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="158"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="181"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="184"/> + <source>%1%2Axis %3</source> + <translation>%1%2轴 %3</translation> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="164"/> + <source>%1%2Axis %3,%4,%5</source> + <translation>%1%2轴 %3,%4,%5</translation> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="168"/> + <source>%1%2Motion %3</source> + <translation>%1%2体感 %3</translation> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="172"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="187"/> + <source>%1%2Button %3</source> + <translation>%1%2按键 %3</translation> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="214"/> <source>[unused]</source> <translation>[未使用]</translation> </message> @@ -5362,7 +5596,7 @@ p, li { white-space: pre-wrap; } <location filename="../../src/yuzu/applets/qt_controller.ui" line="1656"/> <location filename="../../src/yuzu/applets/qt_controller.ui" line="1857"/> <location filename="../../src/yuzu/applets/qt_controller.ui" line="2054"/> - <location filename="../../src/yuzu/applets/qt_controller.cpp" line="419"/> + <location filename="../../src/yuzu/applets/qt_controller.cpp" line="411"/> <source>Pro Controller</source> <translation>Pro Controller</translation> </message> @@ -5375,7 +5609,7 @@ p, li { white-space: pre-wrap; } <location filename="../../src/yuzu/applets/qt_controller.ui" line="1661"/> <location filename="../../src/yuzu/applets/qt_controller.ui" line="1862"/> <location filename="../../src/yuzu/applets/qt_controller.ui" line="2059"/> - <location filename="../../src/yuzu/applets/qt_controller.cpp" line="423"/> + <location filename="../../src/yuzu/applets/qt_controller.cpp" line="415"/> <source>Dual Joycons</source> <translation>双 Joycons 手柄</translation> </message> @@ -5388,7 +5622,7 @@ p, li { white-space: pre-wrap; } <location filename="../../src/yuzu/applets/qt_controller.ui" line="1666"/> <location filename="../../src/yuzu/applets/qt_controller.ui" line="1867"/> <location filename="../../src/yuzu/applets/qt_controller.ui" line="2064"/> - <location filename="../../src/yuzu/applets/qt_controller.cpp" line="427"/> + <location filename="../../src/yuzu/applets/qt_controller.cpp" line="419"/> <source>Left Joycon</source> <translation>左 Joycon 手柄</translation> </message> @@ -5401,7 +5635,7 @@ p, li { white-space: pre-wrap; } <location filename="../../src/yuzu/applets/qt_controller.ui" line="1671"/> <location filename="../../src/yuzu/applets/qt_controller.ui" line="1872"/> <location filename="../../src/yuzu/applets/qt_controller.ui" line="2069"/> - <location filename="../../src/yuzu/applets/qt_controller.cpp" line="431"/> + <location filename="../../src/yuzu/applets/qt_controller.cpp" line="423"/> <source>Right Joycon</source> <translation>右 Joycon 手柄</translation> </message> @@ -5429,7 +5663,7 @@ p, li { white-space: pre-wrap; } </message> <message> <location filename="../../src/yuzu/applets/qt_controller.ui" line="932"/> - <location filename="../../src/yuzu/applets/qt_controller.cpp" line="436"/> + <location filename="../../src/yuzu/applets/qt_controller.cpp" line="428"/> <source>Handheld</source> <translation>掌机模式</translation> </message> @@ -5550,7 +5784,7 @@ p, li { white-space: pre-wrap; } <translation>8</translation> </message> <message> - <location filename="../../src/yuzu/applets/qt_controller.cpp" line="441"/> + <location filename="../../src/yuzu/applets/qt_controller.cpp" line="433"/> <source>GameCube Controller</source> <translation>GameCube 控制器</translation> </message> @@ -5644,13 +5878,13 @@ p, li { white-space: pre-wrap; } <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></translation> </message> <message> - <location filename="../../src/yuzu/applets/qt_software_keyboard.cpp" line="396"/> - <location filename="../../src/yuzu/applets/qt_software_keyboard.cpp" line="406"/> + <location filename="../../src/yuzu/applets/qt_software_keyboard.cpp" line="399"/> + <location filename="../../src/yuzu/applets/qt_software_keyboard.cpp" line="409"/> <source>OK</source> <translation>确定</translation> </message> <message> - <location filename="../../src/yuzu/applets/qt_software_keyboard.cpp" line="406"/> + <location filename="../../src/yuzu/applets/qt_software_keyboard.cpp" line="409"/> <source>Cancel</source> <translation>取消</translation> </message> diff --git a/dist/languages/zh_TW.ts b/dist/languages/zh_TW.ts index f7ddf1843..bcb12064b 100644 --- a/dist/languages/zh_TW.ts +++ b/dist/languages/zh_TW.ts @@ -36,7 +36,7 @@ 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是一個實驗性的開源Nintendo Switch模擬器,使用GPLv2.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;">本軟體不得用於執行非法取得的遊戲。</span></p></body></html></translation> +<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;">此軟體不得用於執行非法取得的遊戲。</span></p></body></html></translation> </message> <message> <location filename="../../src/yuzu/aboutdialog.ui" line="118"/> @@ -321,12 +321,14 @@ p, li { white-space: pre-wrap; } <source> <div>This option improves the speed of 32 bits ASIMD floating-point functions by running with incorrect rounding modes.</div> </source> - <translation type="unfinished"/> + <translation> +<div>此選項使用不精確的四捨五入,能提高 32 位元 ASIMD 浮點數函式的速度。</div> +</translation> </message> <message> <location filename="../../src/yuzu/configuration/configure_cpu.ui" line="125"/> <source>Faster ASIMD instructions (32 bits only)</source> - <translation type="unfinished"/> + <translation>快速 ASIMD 指令(僅限 32 位元)</translation> </message> <message> <location filename="../../src/yuzu/configuration/configure_cpu.ui" line="132"/> @@ -347,17 +349,19 @@ p, li { white-space: pre-wrap; } <source> <div>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.</div> </source> - <translation type="unfinished"/> + <translation> + <div>此選項不執行每次模擬記憶體讀寫前的安全檢查以提高速度。停用此選項可能會允許遊戲讀寫模擬器記憶體。</div> + </translation> </message> <message> <location filename="../../src/yuzu/configuration/configure_cpu.ui" line="149"/> <source>Disable address space checks</source> - <translation type="unfinished"/> + <translation>停用位址空間檢查</translation> </message> <message> <location filename="../../src/yuzu/configuration/configure_cpu.ui" line="174"/> <source>CPU settings are available only when game is not running.</source> - <translation>僅當遊戲未執行時才可修改 CPU 設定</translation> + <translation>僅在遊戲未執行時才能調整 CPU 設定</translation> </message> </context> <context> @@ -380,7 +384,7 @@ p, li { white-space: pre-wrap; } <message> <location filename="../../src/yuzu/configuration/configure_cpu_debug.ui" line="31"/> <source><html><head/><body><p><span style=" font-weight:600;">For debugging only.</span><br/>If you're not sure what these do, keep all of these enabled. <br/>These settings, when disabled, only take effect when CPU Debugging is enabled. </p></body></html></source> - <translation type="unfinished"/> + <translation><html><head/><body><p><span style=" font-weight:600;">僅供偵錯。</span><br/>如果您不確定這些選項的功能,請保持它們的啟用狀態。<br/>這些選項僅在啟用 CPU 偵錯模式時生效。</p></body></html></translation> </message> <message> <location filename="../../src/yuzu/configuration/configure_cpu_debug.ui" line="41"/> @@ -506,17 +510,21 @@ p, li { white-space: pre-wrap; } <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> </source> - <translation type="unfinished"/> + <translation> + <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">Disabling this forces all memory accesses to use Software MMU Emulation.</div> + </translation> </message> <message> <location filename="../../src/yuzu/configuration/configure_cpu_debug.ui" line="147"/> <source>Enable Host MMU Emulation</source> - <translation type="unfinished"/> + <translation>Enable Host MMU Emulation</translation> </message> <message> <location filename="../../src/yuzu/configuration/configure_cpu_debug.ui" line="172"/> <source>CPU settings are available only when game is not running.</source> - <translation>僅當遊戲未執行時才可調整 CPU 設定</translation> + <translation>僅在遊戲未執行時才能調整 CPU 設定</translation> </message> </context> <context> @@ -549,7 +557,7 @@ p, li { white-space: pre-wrap; } <message> <location filename="../../src/yuzu/configuration/configure_debug.ui" line="49"/> <source>Enable Extended Logging**</source> - <translation>啟用紀錄擴充**</translation> + <translation>啟用延伸紀錄**</translation> </message> <message> <location filename="../../src/yuzu/configuration/configure_debug.ui" line="59"/> @@ -569,7 +577,7 @@ p, li { white-space: pre-wrap; } <message> <location filename="../../src/yuzu/configuration/configure_debug.ui" line="91"/> <source>When checked, the graphics API enters a slower debugging mode</source> - <translation>啟用時圖形 API 會進入較慢的偵錯模式</translation> + <translation>啟用時圖形 API 會進入較慢的偵錯模式。</translation> </message> <message> <location filename="../../src/yuzu/configuration/configure_debug.ui" line="94"/> @@ -579,17 +587,17 @@ p, li { white-space: pre-wrap; } <message> <location filename="../../src/yuzu/configuration/configure_debug.ui" line="101"/> <source>When checked, it enables Nsight Aftermath crash dumps</source> - <translation type="unfinished"/> + <translation>啟用時 yuzu 將會儲存 Nsight Aftermath 格式的錯誤傾印檔案。</translation> </message> <message> <location filename="../../src/yuzu/configuration/configure_debug.ui" line="104"/> <source>Enable Nsight Aftermath</source> - <translation type="unfinished"/> + <translation>啟用 Nsight Aftermath</translation> </message> <message> <location filename="../../src/yuzu/configuration/configure_debug.ui" line="114"/> <source>When checked, it disables the macro Just In Time compiler. Enabling this makes games run slower</source> - <translation>啟用後將停用批次 Just In Time 編譯器,會使得效能降低。</translation> + <translation>啟用時將停用 Macro Just In Time 編譯器,會使得效能降低。</translation> </message> <message> <location filename="../../src/yuzu/configuration/configure_debug.ui" line="117"/> @@ -599,7 +607,7 @@ p, li { white-space: pre-wrap; } <message> <location filename="../../src/yuzu/configuration/configure_debug.ui" line="124"/> <source>When checked, yuzu will log statistics about the compiled pipeline cache</source> - <translation type="unfinished"/> + <translation>啟用時 yuzu 將記錄有關編譯著色器快取的統計資訊。</translation> </message> <message> <location filename="../../src/yuzu/configuration/configure_debug.ui" line="127"/> @@ -609,12 +617,12 @@ p, li { white-space: pre-wrap; } <message> <location filename="../../src/yuzu/configuration/configure_debug.ui" line="134"/> <source>When checked, it executes shaders without loop logic changes</source> - <translation type="unfinished"/> + <translation>啟用時 yuzu 在執行著色器時,不會修改循環結構的條件判斷。</translation> </message> <message> <location filename="../../src/yuzu/configuration/configure_debug.ui" line="137"/> <source>Disable Loop safety checks</source> - <translation type="unfinished"/> + <translation>停用循環安全檢查</translation> </message> <message> <location filename="../../src/yuzu/configuration/configure_debug.ui" line="147"/> @@ -624,12 +632,12 @@ p, li { white-space: pre-wrap; } <message> <location filename="../../src/yuzu/configuration/configure_debug.ui" line="153"/> <source>Enable FS Access Log</source> - <translation type="unfinished"/> + <translation>啟用檔案系統存取記錄</translation> </message> <message> <location filename="../../src/yuzu/configuration/configure_debug.ui" line="160"/> <source>Enable Verbose Reporting Services**</source> - <translation type="unfinished"/> + <translation>啟用詳細報告服務</translation> </message> <message> <location filename="../../src/yuzu/configuration/configure_debug.ui" line="170"/> @@ -654,10 +662,15 @@ p, li { white-space: pre-wrap; } <message> <location filename="../../src/yuzu/configuration/configure_debug.ui" line="197"/> <source>Enable Auto-Stub**</source> - <translation type="unfinished"/> + <translation>啟用自動偵錯**</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_debug.ui" line="212"/> + <location filename="../../src/yuzu/configuration/configure_debug.ui" line="204"/> + <source>Enable all Controller Types</source> + <translation>啟用所有控制器類型</translation> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_debug.ui" line="219"/> <source>**This will be reset automatically when yuzu closes.</source> <translation>**當 yuzu 關閉時會自動重設。</translation> </message> @@ -685,7 +698,7 @@ p, li { white-space: pre-wrap; } <message> <location filename="../../src/yuzu/configuration/configure_debug_tab.ui" line="14"/> <source>Form</source> - <translation type="unfinished"/> + <translation>Form</translation> </message> <message> <location filename="../../src/yuzu/configuration/configure_debug_tab.ui" line="17"/> @@ -842,7 +855,7 @@ p, li { white-space: pre-wrap; } <message> <location filename="../../src/yuzu/configuration/configure_filesystem.ui" line="124"/> <source>Patch Manager</source> - <translation>擴充功能管理</translation> + <translation>延伸模組管理</translation> </message> <message> <location filename="../../src/yuzu/configuration/configure_filesystem.ui" line="152"/> @@ -937,67 +950,78 @@ p, li { white-space: pre-wrap; } <translation>一般</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_general.ui" line="35"/> - <source>Framerate Cap</source> - <translation>畫面速率限制</translation> + <location filename="../../src/yuzu/configuration/configure_general.ui" line="50"/> + <location filename="../../src/yuzu/configuration/configure_general.ui" line="57"/> + <source>Use global framerate cap</source> + <translation>使用全域畫面速率限制</translation> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_general.ui" line="62"/> + <source>Set framerate cap:</source> + <translation>設定畫面速率限制:</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_general.ui" line="38"/> + <location filename="../../src/yuzu/configuration/configure_general.ui" line="70"/> <source>Requires the use of the FPS Limiter Toggle hotkey to take effect.</source> - <translation type="unfinished"/> + <translation>需要使用 FPS 限制器的快速鍵才能切換執行速度。</translation> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_general.ui" line="73"/> + <source>Framerate Cap</source> + <translation>畫面速率限制</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_general.ui" line="45"/> + <location filename="../../src/yuzu/configuration/configure_general.ui" line="95"/> <source>x</source> <translation>x</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_general.ui" line="65"/> + <location filename="../../src/yuzu/configuration/configure_general.ui" line="116"/> <source>Limit Speed Percent</source> <translation>執行速度限制</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_general.ui" line="72"/> + <location filename="../../src/yuzu/configuration/configure_general.ui" line="123"/> <source>%</source> <translation>%</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_general.ui" line="90"/> + <location filename="../../src/yuzu/configuration/configure_general.ui" line="141"/> <source>Multicore CPU Emulation</source> <translation>多核心 CPU 模擬</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_general.ui" line="97"/> + <location filename="../../src/yuzu/configuration/configure_general.ui" line="148"/> <source>Confirm exit while emulation is running</source> <translation>退出遊戲時需要確認</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_general.ui" line="104"/> + <location filename="../../src/yuzu/configuration/configure_general.ui" line="155"/> <source>Prompt for user on game boot</source> <translation>啟動遊戲時提示選擇使用者</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_general.ui" line="111"/> + <location filename="../../src/yuzu/configuration/configure_general.ui" line="162"/> <source>Pause emulation when in background</source> <translation>模擬器在背景執行時暫停</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_general.ui" line="118"/> + <location filename="../../src/yuzu/configuration/configure_general.ui" line="169"/> <source>Hide mouse on inactivity</source> <translation>滑鼠閒置時自動隱藏</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_general.ui" line="160"/> + <location filename="../../src/yuzu/configuration/configure_general.ui" line="211"/> <source>Reset All Settings</source> <translation>重設所有設定</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_general.cpp" line="70"/> + <location filename="../../src/yuzu/configuration/configure_general.cpp" line="78"/> <source>yuzu</source> <translation>yuzu</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_general.cpp" line="71"/> + <location filename="../../src/yuzu/configuration/configure_general.cpp" line="79"/> <source>This reset all settings and remove all per-game configurations. This will not delete game directories, profiles, or input profiles. Proceed?</source> <translation>這將重設所有遊戲的額外設定,但不會刪除遊戲資料夾、使用者設定檔、輸入設定檔,是否繼續?</translation> </message> @@ -1042,7 +1066,7 @@ p, li { white-space: pre-wrap; } <message> <location filename="../../src/yuzu/configuration/configure_graphics.ui" line="162"/> <source>Use disk pipeline cache</source> - <translation>使用硬碟流水線快取</translation> + <translation>使用硬碟管線快取</translation> </message> <message> <location filename="../../src/yuzu/configuration/configure_graphics.ui" line="169"/> @@ -1115,18 +1139,113 @@ p, li { white-space: pre-wrap; } <translation>延伸視窗</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_graphics.ui" line="339"/> - <location filename="../../src/yuzu/configuration/configure_graphics.ui" line="349"/> + <location filename="../../src/yuzu/configuration/configure_graphics.ui" line="330"/> + <source>Resolution:</source> + <translation>解析度:</translation> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_graphics.ui" line="338"/> + <source>0.5X (360p/540p) [EXPERIMENTAL]</source> + <translation>0.5X (360p/540p) [實驗性]</translation> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_graphics.ui" line="343"/> + <source>0.75X (540p/810p) [EXPERIMENTAL]</source> + <translation>0.75X (540p/810p) [實驗性]</translation> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_graphics.ui" line="348"/> + <source>1X (720p/1080p)</source> + <translation>1X (720p/1080p)</translation> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_graphics.ui" line="353"/> + <source>2X (1440p/2160p)</source> + <translation>2X (1440p/2160p)</translation> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_graphics.ui" line="358"/> + <source>3X (2160p/3240p)</source> + <translation>3X (2160p/3240p)</translation> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_graphics.ui" line="363"/> + <source>4X (2880p/4320p)</source> + <translation>4X (2880p/4320p)</translation> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_graphics.ui" line="368"/> + <source>5X (3600p/5400p)</source> + <translation>5X (3600p/5400p)</translation> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_graphics.ui" line="373"/> + <source>6X (4320p/6480p)</source> + <translation>6X (4320p/6480p)</translation> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_graphics.ui" line="399"/> + <source>Window Adapting Filter:</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_graphics.ui" line="407"/> + <source>Nearest Neighbor</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_graphics.ui" line="412"/> + <source>Bilinear</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_graphics.ui" line="417"/> + <source>Bicubic</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_graphics.ui" line="422"/> + <source>Gaussian</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_graphics.ui" line="427"/> + <source>ScaleForce</source> + <translation>強制縮放</translation> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_graphics.ui" line="432"/> + <source>AMD FidelityFX™️ Super Resolution [Vulkan Only]</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_graphics.ui" line="458"/> + <source>Anti-Aliasing Method:</source> + <translation>抗鋸齒方式:</translation> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_graphics.ui" line="466"/> + <source>None</source> + <translation>無</translation> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_graphics.ui" line="471"/> + <source>FXAA</source> + <translation>FXAA</translation> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_graphics.ui" line="506"/> + <location filename="../../src/yuzu/configuration/configure_graphics.ui" line="516"/> <source>Use global background color</source> <translation>使用全域背景顏色</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_graphics.ui" line="354"/> + <location filename="../../src/yuzu/configuration/configure_graphics.ui" line="521"/> <source>Set background color:</source> <translation>設定背景顏色:</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_graphics.ui" line="362"/> + <location filename="../../src/yuzu/configuration/configure_graphics.ui" line="529"/> <source>Background Color:</source> <translation>背景顏色:</translation> </message> @@ -1181,7 +1300,7 @@ p, li { white-space: pre-wrap; } <message> <location filename="../../src/yuzu/configuration/configure_graphics_advanced.ui" line="95"/> <source>Enables Fast GPU Time. This option will force most games to run at their highest native resolution.</source> - <translation type="unfinished"/> + <translation>啟用快速 GPU 時間。此選項將強制大多數遊戲以其最高解析度執行。</translation> </message> <message> <location filename="../../src/yuzu/configuration/configure_graphics_advanced.ui" line="98"/> @@ -1195,28 +1314,33 @@ p, li { white-space: pre-wrap; } </message> <message> <location filename="../../src/yuzu/configuration/configure_graphics_advanced.ui" line="128"/> - <source>Default</source> - <translation>預設</translation> + <source>Automatic</source> + <translation>自動</translation> </message> <message> <location filename="../../src/yuzu/configuration/configure_graphics_advanced.ui" line="133"/> - <source>2x (WILL BREAK THINGS)</source> - <translation type="unfinished"/> + <source>Default</source> + <translation>預設</translation> </message> <message> <location filename="../../src/yuzu/configuration/configure_graphics_advanced.ui" line="138"/> - <source>4x (WILL BREAK THINGS)</source> - <translation type="unfinished"/> + <source>2x</source> + <translation>2x</translation> </message> <message> <location filename="../../src/yuzu/configuration/configure_graphics_advanced.ui" line="143"/> - <source>8x (WILL BREAK THINGS)</source> - <translation type="unfinished"/> + <source>4x</source> + <translation>4x</translation> </message> <message> <location filename="../../src/yuzu/configuration/configure_graphics_advanced.ui" line="148"/> - <source>16x (WILL BREAK THINGS)</source> - <translation type="unfinished"/> + <source>8x</source> + <translation>8x</translation> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_graphics_advanced.ui" line="153"/> + <source>16x</source> + <translation>16x</translation> </message> </context> <context> @@ -1468,7 +1592,7 @@ p, li { white-space: pre-wrap; } <location filename="../../src/yuzu/configuration/configure_input_advanced.ui" line="1955"/> <location filename="../../src/yuzu/configuration/configure_input_advanced.ui" line="2241"/> <source>L Body</source> - <translation>左側主體</translation> + <translation>左側搖桿</translation> </message> <message> <location filename="../../src/yuzu/configuration/configure_input_advanced.ui" line="219"/> @@ -1492,7 +1616,7 @@ p, li { white-space: pre-wrap; } <location filename="../../src/yuzu/configuration/configure_input_advanced.ui" line="2086"/> <location filename="../../src/yuzu/configuration/configure_input_advanced.ui" line="2372"/> <source>R Body</source> - <translation>右側主體</translation> + <translation>右側搖桿</translation> </message> <message> <location filename="../../src/yuzu/configuration/configure_input_advanced.ui" line="350"/> @@ -1543,8 +1667,8 @@ p, li { white-space: pre-wrap; } </message> <message> <location filename="../../src/yuzu/configuration/configure_input_advanced.ui" line="2533"/> - <source>Other</source> - <translation>其他</translation> + <source>Emulated Devices</source> + <translation>模擬設備</translation> </message> <message> <location filename="../../src/yuzu/configuration/configure_input_advanced.ui" line="2545"/> @@ -1553,499 +1677,524 @@ p, li { white-space: pre-wrap; } </message> <message> <location filename="../../src/yuzu/configuration/configure_input_advanced.ui" line="2558"/> - <source>Emulate Analog with Keyboard Input</source> - <translation>使用鍵盤模擬搖桿</translation> - </message> - <message> - <location filename="../../src/yuzu/configuration/configure_input_advanced.ui" line="2571"/> - <source>Enable mouse panning</source> - <translation>啟用滑鼠平移</translation> - </message> - <message> - <location filename="../../src/yuzu/configuration/configure_input_advanced.ui" line="2578"/> - <source>Mouse sensitivity</source> - <translation>滑鼠靈敏度</translation> - </message> - <message> - <location filename="../../src/yuzu/configuration/configure_input_advanced.ui" line="2584"/> - <source>%</source> - <translation>%</translation> - </message> - <message> - <location filename="../../src/yuzu/configuration/configure_input_advanced.ui" line="2600"/> - <location filename="../../src/yuzu/configuration/configure_input_advanced.ui" line="2623"/> - <source>Advanced</source> - <translation>進階</translation> + <source>Mouse</source> + <translation>滑鼠</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_advanced.ui" line="2630"/> + <location filename="../../src/yuzu/configuration/configure_input_advanced.ui" line="2565"/> <source>Touchscreen</source> <translation>觸控螢幕</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_advanced.ui" line="2643"/> - <source>Mouse</source> - <translation>滑鼠</translation> + <location filename="../../src/yuzu/configuration/configure_input_advanced.ui" line="2588"/> + <source>Advanced</source> + <translation>進階</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_advanced.ui" line="2650"/> - <source>Motion / Touch</source> - <translation>體感/觸控</translation> + <location filename="../../src/yuzu/configuration/configure_input_advanced.ui" line="2595"/> + <source>Debug Controller</source> + <translation>控制器偵錯</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_advanced.ui" line="2657"/> - <location filename="../../src/yuzu/configuration/configure_input_advanced.ui" line="2671"/> + <location filename="../../src/yuzu/configuration/configure_input_advanced.ui" line="2602"/> + <location filename="../../src/yuzu/configuration/configure_input_advanced.ui" line="2702"/> <source>Configure</source> <translation>設定</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_advanced.ui" line="2664"/> - <source>Debug Controller</source> - <translation>控制器偵錯</translation> + <location filename="../../src/yuzu/configuration/configure_input_advanced.ui" line="2612"/> + <source>Other</source> + <translation>其他</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_advanced.ui" line="2678"/> + <location filename="../../src/yuzu/configuration/configure_input_advanced.ui" line="2624"/> + <source>Emulate Analog with Keyboard Input</source> + <translation>使用鍵盤模擬搖桿</translation> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_input_advanced.ui" line="2631"/> <source>Requires restarting yuzu</source> <translation>需要重新啟動 yuzu</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_advanced.ui" line="2687"/> + <location filename="../../src/yuzu/configuration/configure_input_advanced.ui" line="2640"/> <source>Enable XInput 8 player support (disables web applet)</source> <translation>啟用 XInput 8 輸入支援(停用 web applet)</translation> </message> -</context> -<context> - <name>ConfigureInputPlayer</name> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="14"/> - <source>Configure Input</source> - <translation>輸入設定</translation> + <location filename="../../src/yuzu/configuration/configure_input_advanced.ui" line="2653"/> + <source>Enable UDP controllers (not needed for motion)</source> + <translation type="unfinished"/> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="63"/> - <source>Connect Controller</source> - <translation>控制器連線</translation> + <location filename="../../src/yuzu/configuration/configure_input_advanced.ui" line="2666"/> + <source>Enable mouse panning</source> + <translation>啟用滑鼠平移</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="94"/> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="535"/> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="986"/> - <source>Pro Controller</source> - <translation>Pro 手把</translation> + <location filename="../../src/yuzu/configuration/configure_input_advanced.ui" line="2673"/> + <source>Mouse sensitivity</source> + <translation>滑鼠靈敏度</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="99"/> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="992"/> - <source>Dual Joycons</source> - <translation>雙 Joycon 手把</translation> + <location filename="../../src/yuzu/configuration/configure_input_advanced.ui" line="2679"/> + <source>%</source> + <translation>%</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="104"/> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="998"/> - <source>Left Joycon</source> - <translation>左 Joycon 手把</translation> + <location filename="../../src/yuzu/configuration/configure_input_advanced.ui" line="2695"/> + <source>Motion / Touch</source> + <translation>體感/觸控</translation> </message> +</context> +<context> + <name>ConfigureInputPlayer</name> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="109"/> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="1004"/> - <source>Right Joycon</source> - <translation>右 Joycon 手把</translation> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="14"/> + <source>Configure Input</source> + <translation>輸入設定</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="114"/> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="1010"/> - <source>Handheld</source> - <translation>掌機模式</translation> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="63"/> + <source>Connect Controller</source> + <translation>控制器連線</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="125"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="100"/> <source>Input Device</source> <translation>輸入裝置:</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="153"/> - <source>Any</source> - <translation>任意</translation> - </message> - <message> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="158"/> - <source>Keyboard/Mouse</source> - <translation>鍵盤/滑鼠</translation> - </message> - <message> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="194"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="156"/> <source>Profile</source> <translation>設定檔</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="234"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="196"/> <source>Save</source> <translation>儲存</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="250"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="212"/> <source>New</source> <translation>新增</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="266"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="228"/> <source>Delete</source> <translation>刪除</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="329"/> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="1267"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="291"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="1190"/> <source>Left Stick</source> <translation>左搖桿</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="387"/> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="429"/> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="963"/> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="1002"/> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="2621"/> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="2660"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="349"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="391"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="925"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="964"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="2583"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="2622"/> <source>Up</source> <translation>上</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="460"/> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="499"/> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="1033"/> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="1072"/> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="2107"/> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="2691"/> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="2730"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="422"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="461"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="995"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="1034"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="2069"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="2653"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="2692"/> <source>Left</source> <translation>左</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="509"/> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="548"/> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="1082"/> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="1121"/> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="2156"/> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="2740"/> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="2779"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="471"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="510"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="1044"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="1083"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="2118"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="2702"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="2741"/> <source>Right</source> <translation>右</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="591"/> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="630"/> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="1164"/> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="1203"/> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="2822"/> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="2861"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="553"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="592"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="1126"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="1165"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="2784"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="2823"/> <source>Down</source> <translation>下</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="661"/> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="700"/> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="2892"/> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="2931"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="623"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="662"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="2854"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="2893"/> <source>Pressed</source> - <translation>按下</translation> + <translation>按壓</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="710"/> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="749"/> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="2941"/> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="2980"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="672"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="711"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="2903"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="2942"/> <source>Modifier</source> <translation>輕推</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="759"/> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="2990"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="721"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="2952"/> <source>Range</source> <translation>靈敏度</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="792"/> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="3023"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="754"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="2985"/> <source>%</source> <translation>%</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="835"/> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="3063"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="797"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="3025"/> <source>Deadzone: 0%</source> <translation>無感帶:0%</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="859"/> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="3087"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="821"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="3049"/> <source>Modifier Range: 0%</source> <translation>輕推靈敏度:0%</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="905"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="867"/> <source>D-Pad</source> <translation>十字鍵</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="1289"/> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="1328"/> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="1272"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="1251"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="1290"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="1195"/> <source>L</source> <translation>L</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="1344"/> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="1383"/> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="1264"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="1306"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="1345"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="1187"/> <source>ZL</source> <translation>ZL</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="1464"/> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="1503"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="1426"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="1465"/> <source>Minus</source> <translation>-</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="1513"/> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="1552"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="1475"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="1514"/> <source>Capture</source> <translation>截圖</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="1583"/> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="1622"/> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="1263"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="1545"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="1584"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="1186"/> <source>Plus</source> <translation>+</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="1632"/> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="1671"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="1594"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="1633"/> <source>Home</source> <translation>HOME</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="1736"/> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="1775"/> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="1266"/> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="1273"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="1698"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="1737"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="1189"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="1196"/> <source>R</source> <translation>R</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="1791"/> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="1830"/> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="1265"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="1753"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="1792"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="1188"/> <source>ZR</source> <translation>ZR</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="1911"/> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="1950"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="1873"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="1912"/> <source>SL</source> <translation>SL</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="1960"/> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="1999"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="1922"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="1961"/> <source>SR</source> <translation>SR</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="2068"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="2030"/> <source>Motion 1</source> <translation>體感 1</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="2117"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="2079"/> <source>Motion 2</source> <translation>體感 2</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="2208"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="2170"/> <source>Face Buttons</source> <translation>主要按鍵</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="2266"/> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="2305"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="2228"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="2267"/> <source>X</source> <translation>X</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="2336"/> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="2375"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="2298"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="2337"/> <source>Y</source> <translation>Y</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="2385"/> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="2424"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="2347"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="2386"/> <source>A</source> <translation>A</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="2467"/> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="2506"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="2429"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="2468"/> <source>B</source> <translation>B</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="2554"/> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="1268"/> + <location filename="../../src/yuzu/configuration/configure_input_player.ui" line="2516"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="1191"/> <source>Right Stick</source> <translation>右搖桿</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="322"/> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="372"/> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="430"/> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="474"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="330"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="396"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="461"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="507"/> <source>Clear</source> <translation>清除</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="324"/> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="374"/> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="432"/> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="476"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="332"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="398"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="463"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="509"/> <source>[not set]</source> <translation>[未設定]</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="327"/> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="478"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="335"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="512"/> <source>Toggle button</source> <translation>切換按鍵</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="335"/> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="339"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="341"/> + <source>Invert button</source> + <translation>無效按鈕</translation> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="349"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="465"/> + <source>Invert axis</source> + <translation>方向反轉</translation> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="355"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="359"/> <source>Set threshold</source> <translation>設定閾值</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="339"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="359"/> <source>Choose a value between 0% and 100%</source> <translation>選擇介於 0% 和 100% 之間的值</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="406"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="436"/> <source>Map Analog Stick</source> <translation>搖桿映射</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="407"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="437"/> <source>After pressing OK, first move your joystick horizontally, and then vertically. To invert the axes, first move your joystick vertically, and then horizontally.</source> <translation>按下確定後,先水平再上下移動您的搖桿。 要反轉方向,則先上下再水平移動您的搖桿。</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="434"/> - <source>Invert axis</source> - <translation>方向反轉</translation> - </message> - <message> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="500"/> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="952"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="537"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="891"/> <source>Deadzone: %1%</source> <translation>無感帶:%1%</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="508"/> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="963"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="546"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="896"/> <source>Modifier Range: %1%</source> <translation>輕推靈敏度:%1%</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="1016"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="572"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="918"/> + <source>Pro Controller</source> + <translation>Pro 手把</translation> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="924"/> + <source>Dual Joycons</source> + <translation>雙 Joycon 手把</translation> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="930"/> + <source>Left Joycon</source> + <translation>左 Joycon 手把</translation> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="936"/> + <source>Right Joycon</source> + <translation>右 Joycon 手把</translation> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="942"/> + <source>Handheld</source> + <translation>掌機模式</translation> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="948"/> <source>GameCube Controller</source> <translation>GameCube 手把</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="1271"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="958"/> + <source>Poke Ball Plus</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="964"/> + <source>NES Controller</source> + <translation>NES 控制器</translation> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="970"/> + <source>SNES Controller</source> + <translation>SNES 控制器</translation> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="976"/> + <source>N64 Controller</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="982"/> + <source>Sega Genesis</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="1194"/> <source>Start / Pause</source> <translation>開始 / 暫停</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="1274"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="1197"/> <source>Z</source> <translation>Z</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="1275"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="1198"/> <source>Control Stick</source> <translation>控制搖桿</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="1276"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="1199"/> <source>C-Stick</source> <translation>C 搖桿</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="1335"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="1297"/> <source>Shake!</source> <translation>搖動!</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="1337"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="1299"/> <source>[waiting]</source> <translation>[等待中]</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="1462"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="1381"/> <source>New Profile</source> <translation>新增設定檔</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="1462"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="1381"/> <source>Enter a profile name:</source> <translation>輸入設定檔名稱:</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="1470"/> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="1478"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="1389"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="1397"/> <source>Create Input Profile</source> <translation>建立輸入設定檔</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="1471"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="1390"/> <source>The given profile name is not valid!</source> <translation>輸入的設定檔名稱無效!</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="1479"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="1398"/> <source>Failed to create the input profile "%1"</source> <translation>建立輸入設定檔「%1」失敗</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="1499"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="1418"/> <source>Delete Input Profile</source> <translation>刪除輸入設定檔</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="1500"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="1419"/> <source>Failed to delete the input profile "%1"</source> <translation>刪除輸入設定檔「%1」失敗</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="1522"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="1441"/> <source>Load Input Profile</source> <translation>載入輸入設定檔</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="1523"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="1442"/> <source>Failed to load the input profile "%1"</source> <translation>載入輸入設定檔「%1」失敗</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="1542"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="1461"/> <source>Save Input Profile</source> <translation>儲存輸入設定檔</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="1543"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="1462"/> <source>Failed to save the input profile "%1"</source> <translation>儲存輸入設定檔「%1」失敗</translation> </message> @@ -2071,85 +2220,75 @@ To invert the axes, first move your joystick vertically, and then horizontally.< <context> <name>ConfigureMotionTouch</name> <message> - <location filename="../../src/yuzu/configuration/configure_motion_touch.ui" line="14"/> + <location filename="../../src/yuzu/configuration/configure_motion_touch.ui" line="6"/> <source>Configure Motion / Touch</source> <translation>體感/觸控設定</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_motion_touch.ui" line="23"/> - <source>Mouse Motion</source> - <translation>滑鼠體感</translation> - </message> - <message> - <location filename="../../src/yuzu/configuration/configure_motion_touch.ui" line="31"/> - <source>Sensitivity:</source> - <translation>靈敏度:</translation> - </message> - <message> - <location filename="../../src/yuzu/configuration/configure_motion_touch.ui" line="65"/> + <location filename="../../src/yuzu/configuration/configure_motion_touch.ui" line="15"/> <source>Touch</source> <translation>觸控</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_motion_touch.ui" line="73"/> + <location filename="../../src/yuzu/configuration/configure_motion_touch.ui" line="23"/> <source>UDP Calibration:</source> <translation>UDP 校正:</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_motion_touch.ui" line="80"/> + <location filename="../../src/yuzu/configuration/configure_motion_touch.ui" line="30"/> <source>(100, 50) - (1800, 850)</source> <translation>(100, 50) - (1800, 850)</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_motion_touch.ui" line="96"/> - <location filename="../../src/yuzu/configuration/configure_motion_touch.ui" line="129"/> - <location filename="../../src/yuzu/configuration/configure_motion_touch.cpp" line="250"/> + <location filename="../../src/yuzu/configuration/configure_motion_touch.ui" line="46"/> + <location filename="../../src/yuzu/configuration/configure_motion_touch.ui" line="73"/> + <location filename="../../src/yuzu/configuration/configure_motion_touch.cpp" line="245"/> <source>Configure</source> <translation>設定</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_motion_touch.ui" line="113"/> - <source>Use button mapping:</source> - <translation>使用按鍵映射:</translation> + <location filename="../../src/yuzu/configuration/configure_motion_touch.ui" line="57"/> + <source>Touch from button profile:</source> + <translation>觸控螢幕配置:</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_motion_touch.ui" line="141"/> + <location filename="../../src/yuzu/configuration/configure_motion_touch.ui" line="85"/> <source>CemuhookUDP Config</source> <translation>CemuhookUDP 設定</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_motion_touch.ui" line="147"/> + <location filename="../../src/yuzu/configuration/configure_motion_touch.ui" line="91"/> <source>You may use any Cemuhook compatible UDP input source to provide motion and touch input.</source> <translation>您可使用與 Cemuhook 相容的 UDP 輸入裝置以使用體感和觸控功能。</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_motion_touch.ui" line="190"/> + <location filename="../../src/yuzu/configuration/configure_motion_touch.ui" line="134"/> <source>Server:</source> <translation>伺服器:</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_motion_touch.ui" line="217"/> + <location filename="../../src/yuzu/configuration/configure_motion_touch.ui" line="161"/> <source>Port:</source> <translation>連線埠:</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_motion_touch.ui" line="244"/> + <location filename="../../src/yuzu/configuration/configure_motion_touch.ui" line="188"/> <source>Learn More</source> <translation>了解更多</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_motion_touch.ui" line="257"/> - <location filename="../../src/yuzu/configuration/configure_motion_touch.cpp" line="273"/> + <location filename="../../src/yuzu/configuration/configure_motion_touch.ui" line="201"/> + <location filename="../../src/yuzu/configuration/configure_motion_touch.cpp" line="268"/> <source>Test</source> <translation>測試</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_motion_touch.ui" line="270"/> + <location filename="../../src/yuzu/configuration/configure_motion_touch.ui" line="214"/> <source>Add Server</source> <translation>新增伺服器</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_motion_touch.ui" line="303"/> + <location filename="../../src/yuzu/configuration/configure_motion_touch.ui" line="247"/> <source>Remove Server</source> <translation>移除伺服器</translation> </message> @@ -2159,151 +2298,87 @@ To invert the axes, first move your joystick vertically, and then horizontally.< <translation><a href='https://yuzu-emu.org/wiki/using-a-controller-or-android-phone-for-motion-or-touch-input'><span style="text-decoration: underline; color:#039be5;">了解更多</span></a></translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_motion_touch.cpp" line="176"/> + <location filename="../../src/yuzu/configuration/configure_motion_touch.cpp" line="171"/> <source>%1:%2</source> <translation>%1:%2</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_motion_touch.cpp" line="181"/> - <location filename="../../src/yuzu/configuration/configure_motion_touch.cpp" line="185"/> - <location filename="../../src/yuzu/configuration/configure_motion_touch.cpp" line="189"/> - <location filename="../../src/yuzu/configuration/configure_motion_touch.cpp" line="195"/> - <location filename="../../src/yuzu/configuration/configure_motion_touch.cpp" line="201"/> - <location filename="../../src/yuzu/configuration/configure_motion_touch.cpp" line="295"/> + <location filename="../../src/yuzu/configuration/configure_motion_touch.cpp" line="176"/> + <location filename="../../src/yuzu/configuration/configure_motion_touch.cpp" line="180"/> + <location filename="../../src/yuzu/configuration/configure_motion_touch.cpp" line="184"/> + <location filename="../../src/yuzu/configuration/configure_motion_touch.cpp" line="190"/> + <location filename="../../src/yuzu/configuration/configure_motion_touch.cpp" line="196"/> + <location filename="../../src/yuzu/configuration/configure_motion_touch.cpp" line="290"/> <source>yuzu</source> <translation>yuzu</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_motion_touch.cpp" line="181"/> + <location filename="../../src/yuzu/configuration/configure_motion_touch.cpp" line="176"/> <source>Port number has invalid characters</source> <translation>連線埠中包含無效字元</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_motion_touch.cpp" line="185"/> + <location filename="../../src/yuzu/configuration/configure_motion_touch.cpp" line="180"/> <source>Port has to be in range 0 and 65353</source> <translation>連線埠必須為 0 到 65353 之間</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_motion_touch.cpp" line="189"/> + <location filename="../../src/yuzu/configuration/configure_motion_touch.cpp" line="184"/> <source>IP address is not valid</source> <translation>無效的 IP 位址</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_motion_touch.cpp" line="195"/> + <location filename="../../src/yuzu/configuration/configure_motion_touch.cpp" line="190"/> <source>This UDP server already exists</source> <translation>此 UDP 伺服器已存在</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_motion_touch.cpp" line="201"/> + <location filename="../../src/yuzu/configuration/configure_motion_touch.cpp" line="196"/> <source>Unable to add more than 8 servers</source> <translation>最多只能新增 8 個伺服器</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_motion_touch.cpp" line="217"/> + <location filename="../../src/yuzu/configuration/configure_motion_touch.cpp" line="212"/> <source>Testing</source> <translation>測試中</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_motion_touch.cpp" line="233"/> + <location filename="../../src/yuzu/configuration/configure_motion_touch.cpp" line="228"/> <source>Configuring</source> <translation>設定中</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_motion_touch.cpp" line="264"/> + <location filename="../../src/yuzu/configuration/configure_motion_touch.cpp" line="259"/> <source>Test Successful</source> <translation>測試成功</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_motion_touch.cpp" line="265"/> + <location filename="../../src/yuzu/configuration/configure_motion_touch.cpp" line="260"/> <source>Successfully received data from the server.</source> <translation>已成功從伺服器取得資料</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_motion_touch.cpp" line="267"/> + <location filename="../../src/yuzu/configuration/configure_motion_touch.cpp" line="262"/> <source>Test Failed</source> <translation>測試失敗</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_motion_touch.cpp" line="268"/> + <location filename="../../src/yuzu/configuration/configure_motion_touch.cpp" line="263"/> <source>Could not receive valid data from the server.<br>Please verify that the server is set up correctly and the address and port are correct.</source> <translation>無法從伺服器取得有效的資料。<br>請檢查伺服器是否正確設定以及位址和連接埠是否正確。</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_motion_touch.cpp" line="296"/> + <location filename="../../src/yuzu/configuration/configure_motion_touch.cpp" line="291"/> <source>UDP Test or calibration configuration is in progress.<br>Please wait for them to finish.</source> <translation>UDP 測試或觸控校正進行中。<br>請耐心等候。</translation> </message> </context> <context> - <name>ConfigureMouseAdvanced</name> - <message> - <location filename="../../src/yuzu/configuration/configure_mouse_advanced.ui" line="14"/> - <source>Configure Mouse</source> - <translation>滑鼠設定</translation> - </message> - <message> - <location filename="../../src/yuzu/configuration/configure_mouse_advanced.ui" line="25"/> - <source>Mouse Buttons</source> - <translation>滑鼠按鍵</translation> - </message> - <message> - <location filename="../../src/yuzu/configuration/configure_mouse_advanced.ui" line="35"/> - <source>Forward:</source> - <translation>下一頁:</translation> - </message> - <message> - <location filename="../../src/yuzu/configuration/configure_mouse_advanced.ui" line="75"/> - <source>Back:</source> - <translation>上一頁:</translation> - </message> - <message> - <location filename="../../src/yuzu/configuration/configure_mouse_advanced.ui" line="103"/> - <source>Left:</source> - <translation>左鍵:</translation> - </message> - <message> - <location filename="../../src/yuzu/configuration/configure_mouse_advanced.ui" line="131"/> - <source>Middle:</source> - <translation>中鍵:</translation> - </message> - <message> - <location filename="../../src/yuzu/configuration/configure_mouse_advanced.ui" line="197"/> - <source>Right:</source> - <translation>右鍵:</translation> - </message> - <message> - <location filename="../../src/yuzu/configuration/configure_mouse_advanced.ui" line="270"/> - <location filename="../../src/yuzu/configuration/configure_mouse_advanced.cpp" line="109"/> - <source>Clear</source> - <translation>清除</translation> - </message> - <message> - <location filename="../../src/yuzu/configuration/configure_mouse_advanced.ui" line="289"/> - <source>Defaults</source> - <translation>預設</translation> - </message> - <message> - <location filename="../../src/yuzu/configuration/configure_mouse_advanced.cpp" line="111"/> - <source>[not set]</source> - <translation>[未設定]</translation> - </message> - <message> - <location filename="../../src/yuzu/configuration/configure_mouse_advanced.cpp" line="113"/> - <source>Restore Default</source> - <translation>還原預設值</translation> - </message> - <message> - <location filename="../../src/yuzu/configuration/configure_mouse_advanced.cpp" line="200"/> - <source>[press key]</source> - <translation>[按下按鍵]</translation> - </message> -</context> -<context> <name>ConfigureNetwork</name> <message> <location filename="../../src/yuzu/configuration/configure_network.ui" line="14"/> <source>Form</source> - <translation type="unfinished"/> + <translation>Form</translation> </message> <message> <location filename="../../src/yuzu/configuration/configure_network.ui" line="17"/> @@ -2318,7 +2393,7 @@ To invert the axes, first move your joystick vertically, and then horizontally.< <message> <location filename="../../src/yuzu/configuration/configure_network.ui" line="34"/> <source>Network Interface</source> - <translation>網路介面</translation> + <translation>網路卡</translation> </message> <message> <location filename="../../src/yuzu/configuration/configure_network.cpp" line="17"/> @@ -2376,7 +2451,7 @@ To invert the axes, first move your joystick vertically, and then horizontally.< <message> <location filename="../../src/yuzu/configuration/configure_per_game.cpp" line="64"/> <source>Add-Ons</source> - <translation>擴充功能</translation> + <translation>延伸模組</translation> </message> <message> <location filename="../../src/yuzu/configuration/configure_per_game.cpp" line="65"/> @@ -2401,7 +2476,7 @@ To invert the axes, first move your joystick vertically, and then horizontally.< <message> <location filename="../../src/yuzu/configuration/configure_per_game.cpp" line="69"/> <source>Adv. Graphics</source> - <translation type="unfinished"/> + <translation>進階圖形</translation> </message> <message> <location filename="../../src/yuzu/configuration/configure_per_game.cpp" line="70"/> @@ -2429,12 +2504,12 @@ To invert the axes, first move your joystick vertically, and then horizontally.< <message> <location filename="../../src/yuzu/configuration/configure_per_game_addons.ui" line="17"/> <source>Add-Ons</source> - <translation>擴充功能</translation> + <translation>延伸模組</translation> </message> <message> <location filename="../../src/yuzu/configuration/configure_per_game_addons.cpp" line="48"/> <source>Patch Name</source> - <translation>擴充功能名稱</translation> + <translation>延伸模組名稱</translation> </message> <message> <location filename="../../src/yuzu/configuration/configure_per_game_addons.cpp" line="49"/> @@ -2472,7 +2547,7 @@ To invert the axes, first move your joystick vertically, and then horizontally.< <message> <location filename="../../src/yuzu/configuration/configure_profile_manager.ui" line="110"/> <source>Set Image</source> - <translation>設定圖片</translation> + <translation>選擇圖片</translation> </message> <message> <location filename="../../src/yuzu/configuration/configure_profile_manager.ui" line="130"/> @@ -2492,7 +2567,7 @@ To invert the axes, first move your joystick vertically, and then horizontally.< <message> <location filename="../../src/yuzu/configuration/configure_profile_manager.ui" line="162"/> <source>Profile management is available only when game is not running.</source> - <translation>僅當遊戲未執行時才可修改使用者設定檔</translation> + <translation>僅在遊戲未執行時才能修改使用者設定檔</translation> </message> <message> <location filename="../../src/yuzu/configuration/configure_profile_manager.cpp" line="55"/> @@ -2585,12 +2660,12 @@ To invert the axes, first move your joystick vertically, and then horizontally.< <message> <location filename="../../src/yuzu/configuration/configure_profile_manager.cpp" line="314"/> <source>Error resizing user image</source> - <translation type="unfinished"/> + <translation>調整使用者圖片大小時發生錯誤</translation> </message> <message> <location filename="../../src/yuzu/configuration/configure_profile_manager.cpp" line="315"/> <source>Unable to resize image</source> - <translation type="unfinished"/> + <translation>無法調整圖片大小</translation> </message> </context> <context> @@ -3014,7 +3089,7 @@ To invert the axes, first move your joystick vertically, and then horizontally.< <message> <location filename="../../src/yuzu/configuration/configure_system.ui" line="464"/> <source>Sound output mode</source> - <translation>聲音輸出模式</translation> + <translation>聲道</translation> </message> <message> <location filename="../../src/yuzu/configuration/configure_system.ui" line="478"/> @@ -3029,7 +3104,7 @@ To invert the axes, first move your joystick vertically, and then horizontally.< <message> <location filename="../../src/yuzu/configuration/configure_system.ui" line="540"/> <source>System settings are available only when game is not running.</source> - <translation>僅當遊戲未執行時才可調整系統設定</translation> + <translation>僅在遊戲未執行時才能修改使用者設定檔</translation> </message> <message> <location filename="../../src/yuzu/configuration/configure_system.cpp" line="166"/> @@ -3057,17 +3132,17 @@ To invert the axes, first move your joystick vertically, and then horizontally.< <message> <location filename="../../src/yuzu/configuration/configure_tas.ui" line="17"/> <source><html><head/><body><p>Reads controller input from scripts in the same format as TAS-nx scripts.<br/>For a more detailed explanation, please consult the <a href="https://yuzu-emu.org/help/feature/tas/"><span style=" text-decoration: underline; color:#039be5;">help page</span></a> on the yuzu website.</p></body></html></source> - <translation type="unfinished"/> + <translation><html><head/><body><p>通過讀取與 TAS-nx 腳本具有相同格式的腳本來讀取控制器的輸入。<br/>有關詳細資訊,請參閱 yuzu 官方網站的<a href="https://yuzu-emu.org/help/feature/tas/"><span style=" text-decoration: underline; color:#039be5;">說明網頁</span></a>。</p></body></html></translation> </message> <message> <location filename="../../src/yuzu/configuration/configure_tas.ui" line="24"/> <source>To check which hotkeys control the playback/recording, please refer to the Hotkey settings (Configure -> General -> Hotkeys).</source> - <translation type="unfinished"/> + <translation>要確認是哪些快速鍵控制播放/錄製,請參閱快速鍵設定。(設定 > 一般 > 快速鍵)</translation> </message> <message> <location filename="../../src/yuzu/configuration/configure_tas.ui" line="34"/> <source>WARNING: This is an experimental feature.<br/>It will not play back scripts frame perfectly with the current, imperfect syncing method.</source> - <translation type="unfinished"/> + <translation>警告:這是實驗性功能。<br/>由於不完善的同步方式,可能無法完整的重現。</translation> </message> <message> <location filename="../../src/yuzu/configuration/configure_tas.ui" line="51"/> @@ -3077,35 +3152,30 @@ To invert the axes, first move your joystick vertically, and then horizontally.< <message> <location filename="../../src/yuzu/configuration/configure_tas.ui" line="57"/> <source>Enable TAS features</source> - <translation type="unfinished"/> + <translation>啟用 TAS 功能</translation> </message> <message> <location filename="../../src/yuzu/configuration/configure_tas.ui" line="64"/> - <source>Automatic controller profile swapping</source> - <translation type="unfinished"/> - </message> - <message> - <location filename="../../src/yuzu/configuration/configure_tas.ui" line="71"/> <source>Loop script</source> - <translation type="unfinished"/> + <translation>循環腳本</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_tas.ui" line="81"/> + <location filename="../../src/yuzu/configuration/configure_tas.ui" line="74"/> <source>Pause execution during loads</source> - <translation type="unfinished"/> + <translation>載入畫面時暫停執行</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_tas.ui" line="95"/> + <location filename="../../src/yuzu/configuration/configure_tas.ui" line="88"/> <source>Script Directory</source> - <translation type="unfinished"/> + <translation>腳本資料夾</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_tas.ui" line="101"/> + <location filename="../../src/yuzu/configuration/configure_tas.ui" line="94"/> <source>Path</source> <translation>路徑</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_tas.ui" line="108"/> + <location filename="../../src/yuzu/configuration/configure_tas.ui" line="101"/> <source>...</source> <translation>...</translation> </message> @@ -3115,12 +3185,12 @@ To invert the axes, first move your joystick vertically, and then horizontally.< <message> <location filename="../../src/yuzu/configuration/configure_tas.cpp" line="20"/> <source>TAS Configuration</source> - <translation type="unfinished"/> + <translation>TAS 設定</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_tas.cpp" line="53"/> + <location filename="../../src/yuzu/configuration/configure_tas.cpp" line="51"/> <source>Select TAS Load Directory...</source> - <translation type="unfinished"/> + <translation>選擇 TAS 載入資料夾...</translation> </message> </context> <context> @@ -3180,37 +3250,37 @@ Drag points to change position, or double-click table cells to edit values.</sou <translation>Y</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_touch_from_button.cpp" line="200"/> + <location filename="../../src/yuzu/configuration/configure_touch_from_button.cpp" line="197"/> <source>New Profile</source> <translation>新增設定檔</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_touch_from_button.cpp" line="200"/> + <location filename="../../src/yuzu/configuration/configure_touch_from_button.cpp" line="197"/> <source>Enter the name for the new profile.</source> <translation>輸入新設定檔的名稱</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_touch_from_button.cpp" line="211"/> + <location filename="../../src/yuzu/configuration/configure_touch_from_button.cpp" line="208"/> <source>Delete Profile</source> <translation>刪除設定檔</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_touch_from_button.cpp" line="211"/> + <location filename="../../src/yuzu/configuration/configure_touch_from_button.cpp" line="208"/> <source>Delete profile %1?</source> <translation>是否刪除設定檔 %1?</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_touch_from_button.cpp" line="224"/> + <location filename="../../src/yuzu/configuration/configure_touch_from_button.cpp" line="221"/> <source>Rename Profile</source> <translation>重新命名設定檔</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_touch_from_button.cpp" line="224"/> + <location filename="../../src/yuzu/configuration/configure_touch_from_button.cpp" line="221"/> <source>New name:</source> <translation>新名稱:</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_touch_from_button.cpp" line="233"/> + <location filename="../../src/yuzu/configuration/configure_touch_from_button.cpp" line="230"/> <source>[press key]</source> <translation>[按下按鍵]</translation> </message> @@ -3225,7 +3295,7 @@ Drag points to change position, or double-click table cells to edit values.</sou <message> <location filename="../../src/yuzu/configuration/configure_touchscreen_advanced.ui" line="26"/> <source>Warning: The settings in this page affect the inner workings of yuzu's emulated touchscreen. Changing them may result in undesirable behavior, such as the touchscreen partially or not working. You should only use this page if you know what you are doing.</source> - <translation>警告:本頁設定會影響 yuzu 模擬觸控螢幕的內部運作。修改設定可能會導致非預期結果,例如觸控螢幕完全或部分失效。若您不知道自己在做甚麼,請不要使用此頁面。</translation> + <translation>警告:此處設定會影響 yuzu 模擬觸控螢幕的內部運作。修改設定可能會導致非預期結果,例如觸控螢幕完全或部分失效。請在充分了解的情況下修改此處設定。</translation> </message> <message> <location filename="../../src/yuzu/configuration/configure_touchscreen_advanced.ui" line="52"/> @@ -3358,7 +3428,7 @@ Drag points to change position, or double-click table cells to edit values.</sou <message> <location filename="../../src/yuzu/configuration/configure_ui.ui" line="82"/> <source>Show Add-Ons Column</source> - <translation>顯示擴充功能欄位</translation> + <translation>顯示延伸模組欄位</translation> </message> <message> <location filename="../../src/yuzu/configuration/configure_ui.ui" line="91"/> @@ -3537,7 +3607,7 @@ Drag points to change position, or double-click table cells to edit values.</sou <message> <location filename="../../src/yuzu/configuration/configure_web.ui" line="93"/> <source>What is my token?</source> - <translation>我的 Token 是什麼?</translation> + <translation>Token 說明</translation> </message> <message> <location filename="../../src/yuzu/configuration/configure_web.ui" line="118"/> @@ -3630,12 +3700,12 @@ Drag points to change position, or double-click table cells to edit values.</sou <context> <name>ControllerDialog</name> <message> - <location filename="../../src/yuzu/debugger/controller.cpp" line="17"/> + <location filename="../../src/yuzu/debugger/controller.cpp" line="21"/> <source>Controller P1</source> <translation>Controller P1</translation> </message> <message> - <location filename="../../src/yuzu/debugger/controller.cpp" line="52"/> + <location filename="../../src/yuzu/debugger/controller.cpp" line="60"/> <source>&Controller P1</source> <translation>&Controller P1</translation> </message> @@ -3643,90 +3713,95 @@ Drag points to change position, or double-click table cells to edit values.</sou <context> <name>GMainWindow</name> <message> - <location filename="../../src/yuzu/main.cpp" line="174"/> + <location filename="../../src/yuzu/main.cpp" line="176"/> <source><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?</source> <translation>我們<a href='https://yuzu-emu.org/help/feature/telemetry/'>蒐集匿名的資料</a>以幫助改善 yuzu。<br/><br/>您願意和我們分享您的使用資料嗎?</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="177"/> + <location filename="../../src/yuzu/main.cpp" line="179"/> <source>Telemetry</source> <translation>遙測</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="592"/> + <location filename="../../src/yuzu/main.cpp" line="600"/> <source>Loading Web Applet...</source> <translation>載入 Web Applet...</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="639"/> - <location filename="../../src/yuzu/main.cpp" line="642"/> + <location filename="../../src/yuzu/main.cpp" line="647"/> + <location filename="../../src/yuzu/main.cpp" line="650"/> <source>Disable Web Applet</source> <translation>停用 Web Applet</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="643"/> + <location filename="../../src/yuzu/main.cpp" line="651"/> <source>Disabling the web applet will cause it to not be shown again for the rest of the emulated session. This 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?</source> <translation>停用 web applet 會導致不再顯示於模擬視窗。可能導致非預期後果,且只能用於《超級瑪利歐 3D 收藏輯》。您確定要停用 web applet?</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="746"/> + <location filename="../../src/yuzu/main.cpp" line="754"/> <source>The amount of shaders currently being built</source> <translation>目前正在建構的著色器數量</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="749"/> + <location filename="../../src/yuzu/main.cpp" line="756"/> + <source>The current selected resolution scaling multiplier.</source> + <translation>目前選擇的解析度縮放比例。</translation> + </message> + <message> + <location filename="../../src/yuzu/main.cpp" line="759"/> <source>Current emulation speed. Values higher or lower than 100% indicate emulation is running faster or slower than a Switch.</source> <translation>目前的模擬速度。高於或低於 100% 表示比實際 Switch 執行速度更快或更慢。</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="752"/> + <location filename="../../src/yuzu/main.cpp" line="762"/> <source>How many frames per second the game is currently displaying. This will vary from game to game and scene to scene.</source> <translation>遊戲即時 FPS。會因遊戲和場景的不同而改變。</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="756"/> + <location filename="../../src/yuzu/main.cpp" line="766"/> <source>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.</source> <translation>在不考慮幀數限制和垂直同步的情況下模擬一個 Switch 畫格的實際時間,若要全速模擬,此數值不得超過 16.67 毫秒。</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="781"/> + <location filename="../../src/yuzu/main.cpp" line="841"/> <source>Invalid config detected</source> <translation>偵測到無效設定</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="782"/> + <location filename="../../src/yuzu/main.cpp" line="842"/> <source>Handheld controller can't be used on docked mode. Pro controller will be selected.</source> <translation>掌機手把無法在主機模式中使用。將會選擇 Pro 手把。</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="794"/> + <location filename="../../src/yuzu/main.cpp" line="854"/> <source>DOCK</source> <translation>TV 模式</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="828"/> + <location filename="../../src/yuzu/main.cpp" line="888"/> <source>VULKAN</source> <translation>VULKAN</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="828"/> + <location filename="../../src/yuzu/main.cpp" line="888"/> <source>OPENGL</source> <translation>OPENGL</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="886"/> + <location filename="../../src/yuzu/main.cpp" line="951"/> <source>&Clear Recent Files</source> <translation>清除最近的檔案(&C)</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="1055"/> - <source>TAS Recording</source> - <translation type="unfinished"/> + <location filename="../../src/yuzu/main.cpp" line="1210"/> + <source>&Continue</source> + <translation>繼續(&C)</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="1056"/> - <source>Overwrite file of player 1?</source> - <translation type="unfinished"/> + <location filename="../../src/yuzu/main.cpp" line="1212"/> + <source>&Pause</source> + <translation>&暫停</translation> </message> <message> <location filename="../../src/yuzu/main.cpp" line="1285"/> @@ -3777,659 +3852,726 @@ Drag points to change position, or double-click table cells to edit values.</sou <translation>發生未知錯誤,請檢視紀錄了解細節。</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="1462"/> + <location filename="../../src/yuzu/main.cpp" line="1460"/> <source>(64-bit)</source> - <translation type="unfinished"/> + <translation>(64-bit)</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="1462"/> + <location filename="../../src/yuzu/main.cpp" line="1460"/> <source>(32-bit)</source> - <translation type="unfinished"/> + <translation>(32-bit)</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="1463"/> + <location filename="../../src/yuzu/main.cpp" line="1461"/> <source>%1 %2</source> <comment>%1 is the title name. %2 indicates if the title is 64-bit or 32-bit</comment> <translation>%1 %2</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="1507"/> - <source>Start</source> - <translation>開始</translation> - </message> - <message> - <location filename="../../src/yuzu/main.cpp" line="1612"/> + <location filename="../../src/yuzu/main.cpp" line="1605"/> <source>Save Data</source> <translation>儲存資料</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="1660"/> + <location filename="../../src/yuzu/main.cpp" line="1653"/> <source>Mod Data</source> <translation>模組資料</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="1672"/> + <location filename="../../src/yuzu/main.cpp" line="1665"/> <source>Error Opening %1 Folder</source> <translation>開啟資料夾 %1 時發生錯誤</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="1673"/> - <location filename="../../src/yuzu/main.cpp" line="2079"/> + <location filename="../../src/yuzu/main.cpp" line="1666"/> + <location filename="../../src/yuzu/main.cpp" line="2072"/> <source>Folder does not exist!</source> <translation>資料夾不存在</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="1685"/> + <location filename="../../src/yuzu/main.cpp" line="1678"/> <source>Error Opening Transferable Shader Cache</source> <translation>開啟通用著色器快取位置時發生錯誤</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="1686"/> + <location filename="../../src/yuzu/main.cpp" line="1679"/> <source>Failed to create the shader cache directory for this title.</source> - <translation type="unfinished"/> + <translation>無法新增此遊戲的著色器快取資料夾。</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="1738"/> + <location filename="../../src/yuzu/main.cpp" line="1731"/> <source>Contents</source> <translation>內容</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="1740"/> + <location filename="../../src/yuzu/main.cpp" line="1733"/> <source>Update</source> <translation>遊戲更新</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="1742"/> + <location filename="../../src/yuzu/main.cpp" line="1735"/> <source>DLC</source> <translation>DLC</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="1749"/> + <location filename="../../src/yuzu/main.cpp" line="1742"/> <source>Remove Entry</source> <translation>移除項目</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="1749"/> + <location filename="../../src/yuzu/main.cpp" line="1742"/> <source>Remove Installed Game %1?</source> <translation>移除已安裝的遊戲「%1」?</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="1779"/> - <location filename="../../src/yuzu/main.cpp" line="1795"/> - <location filename="../../src/yuzu/main.cpp" line="1826"/> - <location filename="../../src/yuzu/main.cpp" line="1887"/> - <location filename="../../src/yuzu/main.cpp" line="1905"/> - <location filename="../../src/yuzu/main.cpp" line="1928"/> + <location filename="../../src/yuzu/main.cpp" line="1772"/> + <location filename="../../src/yuzu/main.cpp" line="1788"/> + <location filename="../../src/yuzu/main.cpp" line="1819"/> + <location filename="../../src/yuzu/main.cpp" line="1880"/> + <location filename="../../src/yuzu/main.cpp" line="1898"/> + <location filename="../../src/yuzu/main.cpp" line="1921"/> <source>Successfully Removed</source> <translation>移除成功</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="1780"/> + <location filename="../../src/yuzu/main.cpp" line="1773"/> <source>Successfully removed the installed base game.</source> <translation>成功移除已安裝的遊戲。</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="1783"/> - <location filename="../../src/yuzu/main.cpp" line="1798"/> - <location filename="../../src/yuzu/main.cpp" line="1821"/> + <location filename="../../src/yuzu/main.cpp" line="1776"/> + <location filename="../../src/yuzu/main.cpp" line="1791"/> + <location filename="../../src/yuzu/main.cpp" line="1814"/> <source>Error Removing %1</source> <translation>移除 %1 失敗</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="1784"/> + <location filename="../../src/yuzu/main.cpp" line="1777"/> <source>The base game is not installed in the NAND and cannot be removed.</source> <translation>此遊戲並非安裝在內部儲存空間,因此無法移除。</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="1796"/> + <location filename="../../src/yuzu/main.cpp" line="1789"/> <source>Successfully removed the installed update.</source> <translation>成功移除已安裝的遊戲更新。</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="1799"/> + <location filename="../../src/yuzu/main.cpp" line="1792"/> <source>There is no update installed for this title.</source> <translation>此遊戲沒有已安裝的更新。</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="1822"/> + <location filename="../../src/yuzu/main.cpp" line="1815"/> <source>There are no DLC installed for this title.</source> <translation>此遊戲沒有已安裝的 DLC。</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="1827"/> + <location filename="../../src/yuzu/main.cpp" line="1820"/> <source>Successfully removed %1 installed DLC.</source> <translation>成功移除遊戲 %1 已安裝的 DLC。</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="1835"/> + <location filename="../../src/yuzu/main.cpp" line="1828"/> <source>Delete OpenGL Transferable Shader Cache?</source> - <translation type="unfinished"/> + <translation>刪除 OpenGL 模式的著色器快取?</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="1837"/> + <location filename="../../src/yuzu/main.cpp" line="1830"/> <source>Delete Vulkan Transferable Shader Cache?</source> - <translation type="unfinished"/> + <translation>刪除 Vulkan 模式的著色器快取?</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="1839"/> + <location filename="../../src/yuzu/main.cpp" line="1832"/> <source>Delete All Transferable Shader Caches?</source> - <translation type="unfinished"/> + <translation>刪除所有的著色器快取?</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="1841"/> + <location filename="../../src/yuzu/main.cpp" line="1834"/> <source>Remove Custom Game Configuration?</source> <translation>移除額外遊戲設定?</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="1847"/> + <location filename="../../src/yuzu/main.cpp" line="1840"/> <source>Remove File</source> <translation>刪除檔案</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="1882"/> - <location filename="../../src/yuzu/main.cpp" line="1890"/> + <location filename="../../src/yuzu/main.cpp" line="1875"/> + <location filename="../../src/yuzu/main.cpp" line="1883"/> <source>Error Removing Transferable Shader Cache</source> <translation>刪除通用著色器快取時發生錯誤</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="1883"/> - <location filename="../../src/yuzu/main.cpp" line="1901"/> + <location filename="../../src/yuzu/main.cpp" line="1876"/> + <location filename="../../src/yuzu/main.cpp" line="1894"/> <source>A shader cache for this title does not exist.</source> <translation>此遊戲沒有著色器快取</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="1888"/> + <location filename="../../src/yuzu/main.cpp" line="1881"/> <source>Successfully removed the transferable shader cache.</source> <translation>成功刪除著色器快取。</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="1891"/> + <location filename="../../src/yuzu/main.cpp" line="1884"/> <source>Failed to remove the transferable shader cache.</source> <translation>刪除通用著色器快取失敗。</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="1900"/> - <location filename="../../src/yuzu/main.cpp" line="1908"/> + <location filename="../../src/yuzu/main.cpp" line="1893"/> + <location filename="../../src/yuzu/main.cpp" line="1901"/> <source>Error Removing Transferable Shader Caches</source> - <translation type="unfinished"/> + <translation>刪除通用著色器快取時發生錯誤</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="1906"/> + <location filename="../../src/yuzu/main.cpp" line="1899"/> <source>Successfully removed the transferable shader caches.</source> - <translation type="unfinished"/> + <translation>成功刪除通用著色器快取。</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="1909"/> + <location filename="../../src/yuzu/main.cpp" line="1902"/> <source>Failed to remove the transferable shader cache directory.</source> - <translation type="unfinished"/> + <translation>無法刪除著色器快取資料夾。</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="1922"/> - <location filename="../../src/yuzu/main.cpp" line="1931"/> + <location filename="../../src/yuzu/main.cpp" line="1915"/> + <location filename="../../src/yuzu/main.cpp" line="1924"/> <source>Error Removing Custom Configuration</source> <translation>移除額外遊戲設定時發生錯誤</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="1923"/> + <location filename="../../src/yuzu/main.cpp" line="1916"/> <source>A custom configuration for this title does not exist.</source> <translation>此遊戲沒有額外設定。</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="1929"/> + <location filename="../../src/yuzu/main.cpp" line="1922"/> <source>Successfully removed the custom game configuration.</source> <translation>成功移除額外遊戲設定。</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="1932"/> + <location filename="../../src/yuzu/main.cpp" line="1925"/> <source>Failed to remove the custom game configuration.</source> <translation>移除額外遊戲設定失敗。</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="1939"/> - <location filename="../../src/yuzu/main.cpp" line="2018"/> + <location filename="../../src/yuzu/main.cpp" line="1932"/> + <location filename="../../src/yuzu/main.cpp" line="2011"/> <source>RomFS Extraction Failed!</source> <translation>RomFS 抽取失敗!</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="1940"/> + <location filename="../../src/yuzu/main.cpp" line="1933"/> <source>There was an error copying the RomFS files or the user cancelled the operation.</source> <translation>複製 RomFS 檔案時發生錯誤或使用者取消動作。</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="1998"/> + <location filename="../../src/yuzu/main.cpp" line="1991"/> <source>Full</source> <translation>全部</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="1998"/> + <location filename="../../src/yuzu/main.cpp" line="1991"/> <source>Skeleton</source> <translation>部分</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="2000"/> + <location filename="../../src/yuzu/main.cpp" line="1993"/> <source>Select RomFS Dump Mode</source> <translation>選擇RomFS傾印模式</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="2001"/> + <location filename="../../src/yuzu/main.cpp" line="1994"/> <source>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.</source> <translation>請選擇如何傾印 RomFS。<br>「全部」會複製所有檔案到新資料夾中,而<br>「部分」只會建立資料夾結構。</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="2019"/> + <location filename="../../src/yuzu/main.cpp" line="2012"/> <source>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</source> - <translation type="unfinished"/> + <translation>%1 沒有足夠的空間用於抽取 RomFS。請確保有足夠的空間或於模擬 > 設定 >系統 >檔案系統 > 傾印根目錄中選擇其他資料夾。</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="2026"/> + <location filename="../../src/yuzu/main.cpp" line="2019"/> <source>Extracting RomFS...</source> <translation>抽取 RomFS 中...</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="2026"/> - <location filename="../../src/yuzu/main.cpp" line="2206"/> + <location filename="../../src/yuzu/main.cpp" line="2019"/> + <location filename="../../src/yuzu/main.cpp" line="2199"/> <source>Cancel</source> <translation>取消</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="2033"/> + <location filename="../../src/yuzu/main.cpp" line="2026"/> <source>RomFS Extraction Succeeded!</source> <translation>RomFS 抽取完成!</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="2034"/> + <location filename="../../src/yuzu/main.cpp" line="2027"/> <source>The operation completed successfully.</source> <translation>動作已成功完成</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="2078"/> + <location filename="../../src/yuzu/main.cpp" line="2071"/> <source>Error Opening %1</source> <translation>開啟 %1 時發生錯誤</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="2087"/> + <location filename="../../src/yuzu/main.cpp" line="2080"/> <source>Select Directory</source> <translation>選擇資料夾</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="2114"/> + <location filename="../../src/yuzu/main.cpp" line="2107"/> <source>Properties</source> <translation>屬性</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="2115"/> + <location filename="../../src/yuzu/main.cpp" line="2108"/> <source>The game properties could not be loaded.</source> <translation>無法載入遊戲屬性</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="2127"/> + <location filename="../../src/yuzu/main.cpp" line="2120"/> <source>Switch Executable (%1);;All Files (*.*)</source> <comment>%1 is an identifier for the Switch executable file extensions.</comment> <translation>Switch 執行檔 (%1);;所有檔案 (*.*)</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="2131"/> + <location filename="../../src/yuzu/main.cpp" line="2124"/> <source>Load File</source> <translation>開啟檔案</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="2143"/> + <location filename="../../src/yuzu/main.cpp" line="2136"/> <source>Open Extracted ROM Directory</source> <translation>開啟已抽取的 ROM 資料夾</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="2154"/> + <location filename="../../src/yuzu/main.cpp" line="2147"/> <source>Invalid Directory Selected</source> <translation>選擇的資料夾無效</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="2155"/> + <location filename="../../src/yuzu/main.cpp" line="2148"/> <source>The directory you have selected does not contain a 'main' file.</source> <translation>選擇的資料夾未包含「main」檔案。</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="2165"/> + <location filename="../../src/yuzu/main.cpp" line="2158"/> <source>Installable Switch File (*.nca *.nsp *.xci);;Nintendo Content Archive (*.nca);;Nintendo Submission Package (*.nsp);;NX Cartridge Image (*.xci)</source> <translation>可安装的 Switch 檔案 (*.nca *.nsp *.xci);;Nintendo Content Archive (*.nca);;Nintendo Submission Package (*.nsp);;NX 卡帶映像 (*.xci)</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="2170"/> + <location filename="../../src/yuzu/main.cpp" line="2163"/> <source>Install Files</source> <translation>安裝檔案</translation> </message> <message numerus="yes"> - <location filename="../../src/yuzu/main.cpp" line="2214"/> + <location filename="../../src/yuzu/main.cpp" line="2207"/> <source>%n file(s) remaining</source> <translation><numerusform>剩餘 %n 個檔案</numerusform></translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="2216"/> + <location filename="../../src/yuzu/main.cpp" line="2209"/> <source>Installing file "%1"...</source> <translation>正在安裝檔案「%1」...</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="2262"/> - <location filename="../../src/yuzu/main.cpp" line="2276"/> + <location filename="../../src/yuzu/main.cpp" line="2255"/> + <location filename="../../src/yuzu/main.cpp" line="2269"/> <source>Install Results</source> <translation>安裝結果</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="2263"/> + <location filename="../../src/yuzu/main.cpp" line="2256"/> <source>To avoid possible conflicts, we discourage users from installing base games to the NAND. Please, only use this feature to install updates and DLC.</source> <translation>為了避免潛在的衝突,不建議將遊戲本體安裝至內部儲存空間。 此功能僅用於安裝遊戲更新和 DLC。</translation> </message> <message numerus="yes"> - <location filename="../../src/yuzu/main.cpp" line="2269"/> + <location filename="../../src/yuzu/main.cpp" line="2262"/> <source>%n file(s) were newly installed </source> <translation><numerusform>最近安裝了 %n 個檔案 </numerusform></translation> </message> <message numerus="yes"> - <location filename="../../src/yuzu/main.cpp" line="2272"/> + <location filename="../../src/yuzu/main.cpp" line="2265"/> <source>%n file(s) were overwritten </source> <translation><numerusform>%n 個檔案被取代 </numerusform></translation> </message> <message numerus="yes"> - <location filename="../../src/yuzu/main.cpp" line="2274"/> + <location filename="../../src/yuzu/main.cpp" line="2267"/> <source>%n file(s) failed to install </source> <translation><numerusform>%n 個檔案安裝失敗</numerusform></translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="2375"/> + <location filename="../../src/yuzu/main.cpp" line="2368"/> <source>System Application</source> <translation>系統應用程式</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="2376"/> + <location filename="../../src/yuzu/main.cpp" line="2369"/> <source>System Archive</source> <translation>系統檔案</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="2377"/> + <location filename="../../src/yuzu/main.cpp" line="2370"/> <source>System Application Update</source> <translation>系統應用程式更新</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="2378"/> + <location filename="../../src/yuzu/main.cpp" line="2371"/> <source>Firmware Package (Type A)</source> <translation>韌體包(A型)</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="2379"/> + <location filename="../../src/yuzu/main.cpp" line="2372"/> <source>Firmware Package (Type B)</source> <translation>韌體包(B型)</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="2380"/> + <location filename="../../src/yuzu/main.cpp" line="2373"/> <source>Game</source> <translation>遊戲</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="2381"/> + <location filename="../../src/yuzu/main.cpp" line="2374"/> <source>Game Update</source> <translation>遊戲更新</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="2382"/> + <location filename="../../src/yuzu/main.cpp" line="2375"/> <source>Game DLC</source> <translation>遊戲 DLC</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="2383"/> + <location filename="../../src/yuzu/main.cpp" line="2376"/> <source>Delta Title</source> <translation>Delta Title</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="2386"/> + <location filename="../../src/yuzu/main.cpp" line="2379"/> <source>Select NCA Install Type...</source> <translation>選擇 NCA 安裝類型...</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="2387"/> + <location filename="../../src/yuzu/main.cpp" line="2380"/> <source>Please select the type of title you would like to install this NCA as: (In most instances, the default 'Game' is fine.)</source> <translation>請選擇此 NCA 的安裝類型: (在多數情況下,選擇預設的「遊戲」即可。)</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="2393"/> + <location filename="../../src/yuzu/main.cpp" line="2386"/> <source>Failed to Install</source> <translation>安裝失敗</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="2394"/> + <location filename="../../src/yuzu/main.cpp" line="2387"/> <source>The title type you selected for the NCA is invalid.</source> <translation>選擇的 NCA 安裝類型無效。</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="2429"/> + <location filename="../../src/yuzu/main.cpp" line="2422"/> <source>File not found</source> <translation>找不到檔案</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="2430"/> + <location filename="../../src/yuzu/main.cpp" line="2423"/> <source>File "%1" not found</source> <translation>找不到「%1」檔案</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="2445"/> - <location filename="../../src/yuzu/main.cpp" line="3448"/> - <source>&Continue</source> - <translation>繼續(&C)</translation> - </message> - <message> - <location filename="../../src/yuzu/main.cpp" line="2494"/> + <location filename="../../src/yuzu/main.cpp" line="2492"/> <source>OK</source> <translation>確定</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="2508"/> + <location filename="../../src/yuzu/main.cpp" line="2506"/> <source>Missing yuzu Account</source> <translation>未設定 yuzu 帳號</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="2509"/> + <location filename="../../src/yuzu/main.cpp" line="2507"/> <source>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.</source> <translation>為了上傳相容性測試結果,您必須登入 yuzu 帳號。<br><br/>欲登入 yuzu 帳號請至模擬 &gt; 設定 &gt; 網路。</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="2519"/> + <location filename="../../src/yuzu/main.cpp" line="2517"/> <source>Error opening URL</source> <translation>開啟 URL 時發生錯誤</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="2520"/> + <location filename="../../src/yuzu/main.cpp" line="2518"/> <source>Unable to open the URL "%1".</source> <translation>無法開啟 URL:「%1」。</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="2802"/> + <location filename="../../src/yuzu/main.cpp" line="2777"/> + <source>TAS Recording</source> + <translation>TAS 錄製</translation> + </message> + <message> + <location filename="../../src/yuzu/main.cpp" line="2777"/> + <source>Overwrite file of player 1?</source> + <translation>覆寫玩家 1 的檔案?</translation> + </message> + <message> + <location filename="../../src/yuzu/main.cpp" line="2830"/> <source>Amiibo File (%1);; All Files (*.*)</source> <translation>Amiibo 檔案 (%1);; 所有檔案 (*.*)</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="2803"/> + <location filename="../../src/yuzu/main.cpp" line="2831"/> <source>Load Amiibo</source> - <translation>載入 Amiibo</translation> + <translation>開啟 Amiibo</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="2821"/> + <location filename="../../src/yuzu/main.cpp" line="2849"/> <source>Error opening Amiibo data file</source> <translation>開啟 Amiibo 檔案時發生錯誤</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="2822"/> + <location filename="../../src/yuzu/main.cpp" line="2850"/> <source>Unable to open Amiibo file "%1" for reading.</source> <translation>無法開啟 Amiibo 檔案 %1。</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="2830"/> + <location filename="../../src/yuzu/main.cpp" line="2858"/> <source>Error reading Amiibo data file</source> <translation>讀取 Amiibo 檔案時發生錯誤</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="2831"/> + <location filename="../../src/yuzu/main.cpp" line="2859"/> <source>Unable to fully read Amiibo data. Expected to read %1 bytes, but was only able to read %2 bytes.</source> <translation>無法讀取完整的 Amiibo 資料。應讀取 %1 位元組,但實際僅讀取到 %2 位元組。</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="2839"/> + <location filename="../../src/yuzu/main.cpp" line="2867"/> <source>Error loading Amiibo data</source> <translation>載入 Amiibo 資料時發生錯誤</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="2840"/> + <location filename="../../src/yuzu/main.cpp" line="2868"/> <source>Unable to load Amiibo data.</source> <translation>無法載入 Amiibo 資料。</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="2881"/> + <location filename="../../src/yuzu/main.cpp" line="2913"/> <source>Capture Screenshot</source> <translation>截圖</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="2882"/> + <location filename="../../src/yuzu/main.cpp" line="2914"/> <source>PNG Image (*.png)</source> <translation>PNG 圖片 (*.png)</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="2948"/> + <location filename="../../src/yuzu/main.cpp" line="2979"/> <source>TAS state: Running %1/%2</source> - <translation type="unfinished"/> + <translation>TAS 狀態:正在執行 %1/%2</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="2950"/> + <location filename="../../src/yuzu/main.cpp" line="2981"/> <source>TAS state: Recording %1</source> - <translation type="unfinished"/> + <translation>TAS 狀態:正在錄製 %1</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="2952"/> + <location filename="../../src/yuzu/main.cpp" line="2983"/> <source>TAS state: Idle %1/%2</source> - <translation type="unfinished"/> + <translation>TAS 狀態:閒置 %1/%2</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="2954"/> + <location filename="../../src/yuzu/main.cpp" line="2985"/> <source>TAS State: Invalid</source> + <translation>TAS 狀態:無效</translation> + </message> + <message> + <location filename="../../src/yuzu/main.cpp" line="2999"/> + <source>&Stop Running</source> + <translation>&停止執行</translation> + </message> + <message> + <location filename="../../src/yuzu/main.cpp" line="2999"/> + <source>&Start</source> + <translation>開始(&S)</translation> + </message> + <message> + <location filename="../../src/yuzu/main.cpp" line="3000"/> + <source>Stop R&ecording</source> + <translation>停止錄製</translation> + </message> + <message> + <location filename="../../src/yuzu/main.cpp" line="3000"/> + <source>R&ecord</source> <translation type="unfinished"/> </message> <message numerus="yes"> - <location filename="../../src/yuzu/main.cpp" line="2975"/> + <location filename="../../src/yuzu/main.cpp" line="3024"/> <source>Building: %n shader(s)</source> - <translation type="unfinished"><numerusform></numerusform></translation> + <translation><numerusform>正在編譯 %n 個著色器檔案</numerusform></translation> + </message> + <message> + <location filename="../../src/yuzu/main.cpp" line="3033"/> + <source>Scale: %1x</source> + <comment>%1 is the resolution scaling factor</comment> + <translation>縮放比例:%1x</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="2982"/> + <location filename="../../src/yuzu/main.cpp" line="3036"/> <source>Speed: %1% / %2%</source> <translation>速度:%1% / %2%</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="2986"/> + <location filename="../../src/yuzu/main.cpp" line="3040"/> <source>Speed: %1%</source> <translation>速度:%1%</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="2990"/> + <location filename="../../src/yuzu/main.cpp" line="3044"/> <source>Game: %1 FPS (Unlocked)</source> - <translation type="unfinished"/> + <translation>遊戲: %1 FPS(未限制)</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="2992"/> + <location filename="../../src/yuzu/main.cpp" line="3046"/> <source>Game: %1 FPS</source> <translation>遊戲:%1 FPS</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="2994"/> + <location filename="../../src/yuzu/main.cpp" line="3048"/> <source>Frame: %1 ms</source> <translation>畫格延遲:%1 ms</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="3004"/> + <location filename="../../src/yuzu/main.cpp" line="3059"/> <source>GPU NORMAL</source> - <translation type="unfinished"/> + <translation>GPU 一般效能</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="3009"/> + <location filename="../../src/yuzu/main.cpp" line="3064"/> <source>GPU HIGH</source> - <translation type="unfinished"/> + <translation>GPU 高效能</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="3014"/> + <location filename="../../src/yuzu/main.cpp" line="3069"/> <source>GPU EXTREME</source> - <translation type="unfinished"/> + <translation>GPU 最高效能</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="3019"/> + <location filename="../../src/yuzu/main.cpp" line="3074"/> <source>GPU ERROR</source> + <translation>GPU 錯誤</translation> + </message> + <message> + <location filename="../../src/yuzu/main.cpp" line="3084"/> + <source>NEAREST</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/main.cpp" line="3087"/> + <location filename="../../src/yuzu/main.cpp" line="3102"/> + <source>BILINEAR</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/main.cpp" line="3090"/> + <source>BICUBIC</source> <translation type="unfinished"/> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="3076"/> + <location filename="../../src/yuzu/main.cpp" line="3093"/> + <source>GAUSSIAN</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/main.cpp" line="3096"/> + <source>SCALEFORCE</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/main.cpp" line="3099"/> + <source>FSR</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/main.cpp" line="3111"/> + <location filename="../../src/yuzu/main.cpp" line="3117"/> + <source>NO AA</source> + <translation>抗鋸齒關</translation> + </message> + <message> + <location filename="../../src/yuzu/main.cpp" line="3114"/> + <source>FXAA</source> + <translation>FXAA</translation> + </message> + <message> + <location filename="../../src/yuzu/main.cpp" line="3175"/> <source>The game you are trying to load requires additional files from your Switch to be dumped before playing.<br/><br/>For more information on dumping these files, please see the following wiki page: <a href='https://yuzu-emu.org/wiki/dumping-system-archives-and-the-shared-fonts-from-a-switch-console/'>Dumping System Archives and the Shared Fonts from a Switch Console</a>.<br/><br/>Would you like to quit back to the game list? Continuing emulation may result in crashes, corrupted save data, or other bugs.</source> <translation>此遊戲需要從您的 Switch 傾印額外檔案。<br/><br/>有關傾印這些檔案的更多資訊,請參閱以下 wiki 網頁:Dumping System Archives and the Shared Fonts from a Switch Console<a href='https://yuzu-emu.org/wiki/dumping-system-archives-and-the-shared-fonts-from-a-switch-console/'>。<br/><br/>您要停止並回到遊戲清單嗎?繼續模擬可能會導致當機、存檔損毀或其他錯誤。</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="3091"/> + <location filename="../../src/yuzu/main.cpp" line="3190"/> <source>yuzu was unable to locate a Switch system archive. %1</source> <translation>Yuzu 找不到 Switch 系統檔案 %1 </translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="3093"/> + <location filename="../../src/yuzu/main.cpp" line="3192"/> <source>yuzu was unable to locate a Switch system archive: %1. %2</source> <translation>Yuzu 找不到 Switch 系統檔案:%1。%2 </translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="3097"/> + <location filename="../../src/yuzu/main.cpp" line="3196"/> <source>System Archive Not Found</source> <translation>找不到系統檔案</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="3099"/> + <location filename="../../src/yuzu/main.cpp" line="3198"/> <source>System Archive Missing</source> <translation>系統檔案遺失</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="3105"/> + <location filename="../../src/yuzu/main.cpp" line="3204"/> <source>yuzu was unable to locate the Switch shared fonts. %1</source> <translation>Yuzu 找不到 Switch 共享字型 %1 </translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="3106"/> + <location filename="../../src/yuzu/main.cpp" line="3205"/> <source>Shared Fonts Not Found</source> <translation>找不到共享字型</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="3108"/> + <location filename="../../src/yuzu/main.cpp" line="3207"/> <source>Shared Font Missing</source> <translation>遺失共享字型</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="3114"/> + <location filename="../../src/yuzu/main.cpp" line="3213"/> <source>Fatal Error</source> <translation>嚴重錯誤</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="3115"/> + <location filename="../../src/yuzu/main.cpp" line="3214"/> <source>yuzu has encountered a fatal error, please see the log for more details. For more information on accessing the log, please see the following page: <a href='https://community.citra-emu.org/t/how-to-upload-the-log-file/296'>How to Upload the Log File</a>.<br/><br/>Would you like to quit back to the game list? Continuing emulation may result in crashes, corrupted save data, or other bugs.</source> <translation>yuzu 發生嚴重錯誤,請檢視紀錄以了解細節。更多資訊請參閱網頁:<a href='https://community.citra-emu.org/t/how-to-upload-the-log-file/296'>How to Upload the Log File</a>。<br/><br/>您要停止模擬並回到遊戲清單嗎?繼續模擬可能會導致當機、存檔損毀或其他錯誤。</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="3124"/> + <location filename="../../src/yuzu/main.cpp" line="3223"/> <source>Fatal Error encountered</source> <translation>發生嚴重錯誤</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="3147"/> + <location filename="../../src/yuzu/main.cpp" line="3246"/> <source>Confirm Key Rederivation</source> <translation>確認重新產生金鑰</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="3148"/> + <location filename="../../src/yuzu/main.cpp" line="3247"/> <source>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. @@ -4445,37 +4587,37 @@ This will delete your autogenerated key files and re-run the key derivation modu 這將刪除您自動產生的金鑰檔案並重新執行產生金鑰模組。</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="3180"/> + <location filename="../../src/yuzu/main.cpp" line="3279"/> <source>Missing fuses</source> <translation>遺失項目</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="3183"/> + <location filename="../../src/yuzu/main.cpp" line="3282"/> <source> - Missing BOOT0</source> <translation>- 遺失 BOOT0</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="3186"/> + <location filename="../../src/yuzu/main.cpp" line="3285"/> <source> - Missing BCPKG2-1-Normal-Main</source> <translation> - 遺失 BCPKG2-1-Normal-Main</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="3189"/> + <location filename="../../src/yuzu/main.cpp" line="3288"/> <source> - Missing PRODINFO</source> <translation>- 遺失 PRODINFO</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="3193"/> + <location filename="../../src/yuzu/main.cpp" line="3292"/> <source>Derivation Components Missing</source> <translation>遺失產生元件</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="3194"/> - <source>Components are missing that may hinder key derivation from completing. <br>Please follow <a href='https://yuzu-emu.org/help/quickstart/'>the yuzu quickstart guide</a> to get all your keys and games.<br><br><small>(%1)</small></source> - <translation>缺少元件可能會影響遊戲的正常運作。<br>請檢視 <a href='https://yuzu-emu.org/help/quickstart/'>yuzu 快速指引</a>以取得您的金鑰和遊戲。<br><br><small>(%1)</small></translation> + <location filename="../../src/yuzu/main.cpp" line="3293"/> + <source>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></source> + <translation>缺少加密金鑰。 <br>請按照<a href='https://yuzu-emu.org/help/quickstart/'>《Yuzu快速入門指南》來取得所有金鑰、韌體、遊戲<br><br><small>(%1)。</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="3203"/> + <location filename="../../src/yuzu/main.cpp" line="3302"/> <source>Deriving keys... This may take up to a minute depending on your system's performance.</source> @@ -4484,39 +4626,39 @@ on your system's performance.</source> 您的系統效能。</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="3205"/> + <location filename="../../src/yuzu/main.cpp" line="3304"/> <source>Deriving Keys</source> <translation>產生金鑰</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="3250"/> + <location filename="../../src/yuzu/main.cpp" line="3349"/> <source>Select RomFS Dump Target</source> <translation>選擇 RomFS 傾印目標</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="3251"/> + <location filename="../../src/yuzu/main.cpp" line="3350"/> <source>Please select which RomFS you would like to dump.</source> <translation>請選擇希望傾印的 RomFS。</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="3266"/> + <location filename="../../src/yuzu/main.cpp" line="3365"/> <source>Are you sure you want to close yuzu?</source> <translation>您確定要關閉 yuzu 嗎?</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="3267"/> - <location filename="../../src/yuzu/main.cpp" line="3342"/> - <location filename="../../src/yuzu/main.cpp" line="3355"/> + <location filename="../../src/yuzu/main.cpp" line="3366"/> + <location filename="../../src/yuzu/main.cpp" line="3443"/> + <location filename="../../src/yuzu/main.cpp" line="3456"/> <source>yuzu</source> <translation>yuzu</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="3343"/> + <location filename="../../src/yuzu/main.cpp" line="3444"/> <source>Are you sure you want to stop the emulation? Any unsaved progress will be lost.</source> <translation>您確定要停止模擬嗎?未儲存的進度將會遺失。</translation> </message> <message> - <location filename="../../src/yuzu/main.cpp" line="3352"/> + <location filename="../../src/yuzu/main.cpp" line="3453"/> <source>The currently running application has requested yuzu to not exit. Would you like to bypass this and exit anyway?</source> @@ -4528,38 +4670,38 @@ Would you like to bypass this and exit anyway?</source> <context> <name>GRenderWindow</name> <message> - <location filename="../../src/yuzu/bootmanager.cpp" line="675"/> + <location filename="../../src/yuzu/bootmanager.cpp" line="976"/> <source>OpenGL not available!</source> <translation>無法使用 OpenGL 模式!</translation> </message> <message> - <location filename="../../src/yuzu/bootmanager.cpp" line="676"/> + <location filename="../../src/yuzu/bootmanager.cpp" line="977"/> <source>yuzu has not been compiled with OpenGL support.</source> <translation>yuzu 未以支援 OpenGL 的方式編譯。</translation> </message> <message> - <location filename="../../src/yuzu/bootmanager.cpp" line="695"/> - <location filename="../../src/yuzu/bootmanager.cpp" line="715"/> + <location filename="../../src/yuzu/bootmanager.cpp" line="996"/> + <location filename="../../src/yuzu/bootmanager.cpp" line="1016"/> <source>Error while initializing OpenGL!</source> <translation>初始化 OpenGL 時發生錯誤!</translation> </message> <message> - <location filename="../../src/yuzu/bootmanager.cpp" line="696"/> + <location filename="../../src/yuzu/bootmanager.cpp" line="997"/> <source>Your GPU may not support OpenGL, or you do not have the latest graphics driver.</source> <translation>您的 GPU 可能不支援 OpenGL,或是未安裝最新的圖形驅動程式</translation> </message> <message> - <location filename="../../src/yuzu/bootmanager.cpp" line="705"/> + <location filename="../../src/yuzu/bootmanager.cpp" line="1006"/> <source>Error while initializing OpenGL 4.6!</source> <translation>初始化 OpenGL 4.6 時發生錯誤!</translation> </message> <message> - <location filename="../../src/yuzu/bootmanager.cpp" line="706"/> + <location filename="../../src/yuzu/bootmanager.cpp" line="1007"/> <source>Your GPU may not support OpenGL 4.6, or you do not have the latest graphics driver.<br><br>GL Renderer:<br>%1</source> <translation>您的 GPU 可能不支援 OpenGL 4.6,或是未安裝最新的圖形驅動程式<br><br>GL 渲染器:<br>%1</translation> </message> <message> - <location filename="../../src/yuzu/bootmanager.cpp" line="716"/> + <location filename="../../src/yuzu/bootmanager.cpp" line="1017"/> <source>Your GPU may not support one or more required OpenGL extensions. Please ensure you have the latest graphics driver.<br><br>GL Renderer:<br>%1<br><br>Unsupported extensions:<br>%2</source> <translation>您的 GPU 可能不支援某些必需的 OpenGL 功能。請確保您已安裝最新的圖形驅動程式。<br><br>GL 渲染器:<br>%1<br><br>不支援的功能:<br>%2</translation> </message> @@ -4579,7 +4721,7 @@ Would you like to bypass this and exit anyway?</source> <message> <location filename="../../src/yuzu/game_list.cpp" line="333"/> <source>Add-ons</source> - <translation>擴充功能</translation> + <translation>延伸模組</translation> </message> <message> <location filename="../../src/yuzu/game_list.cpp" line="335"/> @@ -4619,7 +4761,7 @@ Would you like to bypass this and exit anyway?</source> <message> <location filename="../../src/yuzu/game_list.cpp" line="517"/> <source>Open Transferable Pipeline Cache</source> - <translation type="unfinished"/> + <translation>開啟通用著色器管線快取位置</translation> </message> <message> <location filename="../../src/yuzu/game_list.cpp" line="519"/> @@ -4644,17 +4786,17 @@ Would you like to bypass this and exit anyway?</source> <message> <location filename="../../src/yuzu/game_list.cpp" line="523"/> <source>Remove OpenGL Pipeline Cache</source> - <translation type="unfinished"/> + <translation>刪除 OpenGL 著色器管線快取</translation> </message> <message> <location filename="../../src/yuzu/game_list.cpp" line="524"/> <source>Remove Vulkan Pipeline Cache</source> - <translation type="unfinished"/> + <translation>刪除 Vulkan 著色器管線快取</translation> </message> <message> <location filename="../../src/yuzu/game_list.cpp" line="526"/> <source>Remove All Pipeline Caches</source> - <translation type="unfinished"/> + <translation>刪除所有著色器管線快取</translation> </message> <message> <location filename="../../src/yuzu/game_list.cpp" line="527"/> @@ -4670,7 +4812,7 @@ Would you like to bypass this and exit anyway?</source> <message> <location filename="../../src/yuzu/game_list.cpp" line="530"/> <source>Dump RomFS to SDMC</source> - <translation type="unfinished"/> + <translation>傾印 RomFS 到 SDMC</translation> </message> <message> <location filename="../../src/yuzu/game_list.cpp" line="531"/> @@ -4690,7 +4832,7 @@ Would you like to bypass this and exit anyway?</source> <message> <location filename="../../src/yuzu/game_list.cpp" line="606"/> <source>Scan Subfolders</source> - <translation>掃描子資料夾</translation> + <translation>包含子資料夾</translation> </message> <message> <location filename="../../src/yuzu/game_list.cpp" line="607"/> @@ -4710,7 +4852,7 @@ Would you like to bypass this and exit anyway?</source> <message> <location filename="../../src/yuzu/game_list.cpp" line="628"/> <source>Open Directory Location</source> - <translation>開啟目錄資料夾</translation> + <translation>開啟資料夾位置</translation> </message> <message> <location filename="../../src/yuzu/game_list.cpp" line="673"/> @@ -4851,7 +4993,7 @@ Screen.</source> <location filename="../../src/yuzu/util/limitable_input_dialog.cpp" line="62"/> <source>The text can't contain any of the following characters: %1</source> - <translation type="unfinished"/> + <translation>文字中不能包含以下字元:%1</translation> </message> </context> <context> @@ -4915,189 +5057,204 @@ Screen.</source> <translation>模擬 (&E)</translation> </message> <message> - <location filename="../../src/yuzu/main.ui" line="79"/> + <location filename="../../src/yuzu/main.ui" line="78"/> <source>&View</source> <translation>檢視 (&V)</translation> </message> <message> - <location filename="../../src/yuzu/main.ui" line="83"/> + <location filename="../../src/yuzu/main.ui" line="82"/> <source>&Reset Window Size</source> <translation>重設視窗大小(&R)</translation> </message> <message> - <location filename="../../src/yuzu/main.ui" line="88"/> + <location filename="../../src/yuzu/main.ui" line="87"/> + <source>&Debugging</source> + <translation>偵錯 (&D)</translation> + </message> + <message> + <location filename="../../src/yuzu/main.ui" line="92"/> <source>Reset Window Size to &720p</source> <translation>重設視窗大小為 &720p</translation> </message> <message> - <location filename="../../src/yuzu/main.ui" line="91"/> + <location filename="../../src/yuzu/main.ui" line="95"/> <source>Reset Window Size to 720p</source> <translation>重設視窗大小為 720p</translation> </message> <message> - <location filename="../../src/yuzu/main.ui" line="96"/> + <location filename="../../src/yuzu/main.ui" line="100"/> <source>Reset Window Size to &900p</source> <translation>重設視窗大小為 &900p</translation> </message> <message> - <location filename="../../src/yuzu/main.ui" line="99"/> + <location filename="../../src/yuzu/main.ui" line="103"/> <source>Reset Window Size to 900p</source> <translation>重設視窗大小為 900p</translation> </message> <message> - <location filename="../../src/yuzu/main.ui" line="104"/> + <location filename="../../src/yuzu/main.ui" line="108"/> <source>Reset Window Size to &1080p</source> <translation>重設視窗大小為 &1080p</translation> </message> <message> - <location filename="../../src/yuzu/main.ui" line="107"/> + <location filename="../../src/yuzu/main.ui" line="111"/> <source>Reset Window Size to 1080p</source> <translation>重設視窗大小為 1080p</translation> </message> <message> - <location filename="../../src/yuzu/main.ui" line="112"/> - <source>&Debugging</source> - <translation>偵錯 (&D)</translation> - </message> - <message> - <location filename="../../src/yuzu/main.ui" line="126"/> + <location filename="../../src/yuzu/main.ui" line="125"/> <source>&Tools</source> <translation>工具 (&T)</translation> </message> <message> - <location filename="../../src/yuzu/main.ui" line="135"/> + <location filename="../../src/yuzu/main.ui" line="129"/> + <source>&TAS</source> + <translation>TAS (&T)</translation> + </message> + <message> + <location filename="../../src/yuzu/main.ui" line="144"/> <source>&Help</source> <translation>說明 (&H)</translation> </message> <message> - <location filename="../../src/yuzu/main.ui" line="155"/> + <location filename="../../src/yuzu/main.ui" line="164"/> <source>&Install Files to NAND...</source> <translation>&安裝檔案至內部儲存空間</translation> </message> <message> - <location filename="../../src/yuzu/main.ui" line="160"/> + <location filename="../../src/yuzu/main.ui" line="169"/> <source>L&oad File...</source> - <translation>載入檔案(&O)...</translation> + <translation>開啟檔案(&O)...</translation> </message> <message> - <location filename="../../src/yuzu/main.ui" line="165"/> + <location filename="../../src/yuzu/main.ui" line="174"/> <source>Load &Folder...</source> <translation>開啟資料夾(&F)...</translation> </message> <message> - <location filename="../../src/yuzu/main.ui" line="170"/> + <location filename="../../src/yuzu/main.ui" line="179"/> <source>E&xit</source> <translation>結束(&X)</translation> </message> <message> - <location filename="../../src/yuzu/main.ui" line="178"/> - <source>&Start</source> - <translation>開始(&S)</translation> - </message> - <message> - <location filename="../../src/yuzu/main.ui" line="186"/> + <location filename="../../src/yuzu/main.ui" line="187"/> <source>&Pause</source> <translation>暫停(&P)</translation> </message> <message> - <location filename="../../src/yuzu/main.ui" line="194"/> + <location filename="../../src/yuzu/main.ui" line="195"/> <source>&Stop</source> <translation>停止(&S)</translation> </message> <message> - <location filename="../../src/yuzu/main.ui" line="199"/> + <location filename="../../src/yuzu/main.ui" line="200"/> <source>&Reinitialize keys...</source> <translation>重新初始化金鑰(&R)...</translation> </message> <message> - <location filename="../../src/yuzu/main.ui" line="204"/> + <location filename="../../src/yuzu/main.ui" line="205"/> <source>&About yuzu</source> <translation>關於 yuzu(&A)</translation> </message> <message> - <location filename="../../src/yuzu/main.ui" line="212"/> + <location filename="../../src/yuzu/main.ui" line="213"/> <source>Single &Window Mode</source> - <translation>單視窗模式(&W)</translation> + <translation>單一視窗模式(&W)</translation> </message> <message> - <location filename="../../src/yuzu/main.ui" line="217"/> + <location filename="../../src/yuzu/main.ui" line="218"/> <source>Con&figure...</source> <translation>設定 (&F)</translation> </message> <message> - <location filename="../../src/yuzu/main.ui" line="225"/> + <location filename="../../src/yuzu/main.ui" line="226"/> <source>Display D&ock Widget Headers</source> - <translation>顯示停駐小工具的標題 (&O)</translation> + <translation>顯示 Dock 小工具標題 (&O)</translation> </message> <message> - <location filename="../../src/yuzu/main.ui" line="233"/> + <location filename="../../src/yuzu/main.ui" line="234"/> <source>Show &Filter Bar</source> <translation>顯示搜尋列(&F)</translation> </message> <message> - <location filename="../../src/yuzu/main.ui" line="241"/> + <location filename="../../src/yuzu/main.ui" line="242"/> <source>Show &Status Bar</source> <translation>顯示狀態列(&S)</translation> </message> <message> - <location filename="../../src/yuzu/main.ui" line="244"/> + <location filename="../../src/yuzu/main.ui" line="245"/> <source>Show Status Bar</source> <translation>顯示狀態列</translation> </message> <message> - <location filename="../../src/yuzu/main.ui" line="252"/> + <location filename="../../src/yuzu/main.ui" line="253"/> <source>F&ullscreen</source> <translation>全螢幕(&U)</translation> </message> <message> - <location filename="../../src/yuzu/main.ui" line="260"/> + <location filename="../../src/yuzu/main.ui" line="261"/> <source>&Restart</source> <translation>重新啟動(&R)</translation> </message> <message> - <location filename="../../src/yuzu/main.ui" line="268"/> + <location filename="../../src/yuzu/main.ui" line="269"/> <source>Load &Amiibo...</source> - <translation>載入 &Amiibo...</translation> + <translation>開啟 &Amiibo...</translation> </message> <message> - <location filename="../../src/yuzu/main.ui" line="276"/> + <location filename="../../src/yuzu/main.ui" line="277"/> <source>&Report Compatibility</source> <translation>回報相容性(&R)</translation> </message> <message> - <location filename="../../src/yuzu/main.ui" line="284"/> + <location filename="../../src/yuzu/main.ui" line="285"/> <source>Open &Mods Page</source> - <translation>模組網頁 (&M)</translation> + <translation>模組資訊 (&M)</translation> </message> <message> - <location filename="../../src/yuzu/main.ui" line="289"/> + <location filename="../../src/yuzu/main.ui" line="290"/> <source>Open &Quickstart Guide</source> <translation>快速入門 (&Q)</translation> </message> <message> - <location filename="../../src/yuzu/main.ui" line="294"/> + <location filename="../../src/yuzu/main.ui" line="295"/> <source>&FAQ</source> <translation>常見問題 (&F)</translation> </message> <message> - <location filename="../../src/yuzu/main.ui" line="299"/> + <location filename="../../src/yuzu/main.ui" line="300"/> <source>Open &yuzu Folder</source> <translation>開啟 yuzu 資料夾(&Y)</translation> </message> <message> - <location filename="../../src/yuzu/main.ui" line="307"/> + <location filename="../../src/yuzu/main.ui" line="308"/> <source>&Capture Screenshot</source> <translation>截圖 (&C)</translation> </message> <message> - <location filename="../../src/yuzu/main.ui" line="312"/> - <source>Configure &TAS...</source> + <location filename="../../src/yuzu/main.ui" line="313"/> + <source>&Configure TAS...</source> <translation>設定 &TAS…</translation> </message> <message> - <location filename="../../src/yuzu/main.ui" line="320"/> + <location filename="../../src/yuzu/main.ui" line="321"/> <source>Configure C&urrent Game...</source> - <translation>設定目前遊戲...(&U)</translation> + <translation>目前遊戲設定...(&U)</translation> + </message> + <message> + <location filename="../../src/yuzu/main.ui" line="329"/> + <source>&Start</source> + <translation>開始(&S)</translation> + </message> + <message> + <location filename="../../src/yuzu/main.ui" line="337"/> + <source>&Reset</source> + <translation>重設 (&R)</translation> + </message> + <message> + <location filename="../../src/yuzu/main.ui" line="345"/> + <source>R&ecord</source> + <translation type="unfinished"/> </message> </context> <context> @@ -5144,10 +5301,15 @@ p, li { white-space: pre-wrap; } <context> <name>PlayerControlPreview</name> <message> - <location filename="../../src/yuzu/configuration/configure_input_player_widget.cpp" line="1566"/> + <location filename="../../src/yuzu/configuration/configure_input_player_widget.cpp" line="1572"/> <source>START/PAUSE</source> <translation>開始 / 暫停</translation> </message> + <message> + <location filename="../../src/yuzu/configuration/configure_input_player_widget.cpp" line="2685"/> + <source>Charging</source> + <translation type="unfinished"/> + </message> </context> <context> <name>QObject</name> @@ -5169,7 +5331,7 @@ p, li { white-space: pre-wrap; } <message> <location filename="../../src/yuzu/game_list_p.h" line="303"/> <source>Add New Game Directory</source> - <translation>新增遊戲資料夾</translation> + <translation>加入遊戲資料夾</translation> </message> <message> <location filename="../../src/yuzu/game_list_p.h" line="326"/> @@ -5178,142 +5340,222 @@ p, li { white-space: pre-wrap; } </message> <message> <location filename="../../src/yuzu/configuration/configure_touch_from_button.cpp" line="23"/> - <location filename="../../src/yuzu/configuration/configure_mouse_advanced.cpp" line="32"/> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="72"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="43"/> <source>Shift</source> <translation>Shift</translation> </message> <message> <location filename="../../src/yuzu/configuration/configure_touch_from_button.cpp" line="25"/> - <location filename="../../src/yuzu/configuration/configure_mouse_advanced.cpp" line="34"/> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="74"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="45"/> <source>Ctrl</source> <translation>Ctrl</translation> </message> <message> <location filename="../../src/yuzu/configuration/configure_touch_from_button.cpp" line="27"/> - <location filename="../../src/yuzu/configuration/configure_mouse_advanced.cpp" line="36"/> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="76"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="47"/> <source>Alt</source> <translation>Alt</translation> </message> <message> <location filename="../../src/yuzu/configuration/configure_touch_from_button.cpp" line="37"/> - <location filename="../../src/yuzu/configuration/configure_mouse_advanced.cpp" line="46"/> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="103"/> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="190"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="130"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="196"/> <source>[not set]</source> <translation>[未設定]</translation> </message> <message> <location filename="../../src/yuzu/configuration/configure_touch_from_button.cpp" line="49"/> - <location filename="../../src/yuzu/configuration/configure_mouse_advanced.cpp" line="58"/> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="152"/> <source>Hat %1 %2</source> <translation>方向鍵 %1 %2</translation> </message> <message> <location filename="../../src/yuzu/configuration/configure_touch_from_button.cpp" line="56"/> - <location filename="../../src/yuzu/configuration/configure_mouse_advanced.cpp" line="65"/> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="159"/> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="210"/> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="214"/> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="218"/> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="222"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="219"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="223"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="227"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="231"/> <source>Axis %1%2</source> <translation>Axis %1%2</translation> </message> <message> <location filename="../../src/yuzu/configuration/configure_touch_from_button.cpp" line="62"/> - <location filename="../../src/yuzu/configuration/configure_mouse_advanced.cpp" line="71"/> <source>Button %1</source> <translation>按鍵 %1</translation> </message> <message> <location filename="../../src/yuzu/configuration/configure_touch_from_button.cpp" line="68"/> - <location filename="../../src/yuzu/configuration/configure_mouse_advanced.cpp" line="76"/> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="185"/> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="227"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="190"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="204"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="234"/> <source>[unknown]</source> <translation>[未知]</translation> </message> <message> - <location filename="../../src/yuzu/configuration/configure_mouse_advanced.cpp" line="22"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="58"/> + <source>Left</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="60"/> + <source>Right</source> + <translation type="unfinished"/> + </message> + <message> <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="62"/> - <source>Click 0</source> - <translation>點擊 0</translation> + <source>Down</source> + <translation type="unfinished"/> </message> <message> - <location filename="../../src/yuzu/configuration/configure_mouse_advanced.cpp" line="24"/> <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="64"/> - <source>Click 1</source> - <translation>點擊 1</translation> + <source>Up</source> + <translation type="unfinished"/> </message> <message> - <location filename="../../src/yuzu/configuration/configure_mouse_advanced.cpp" line="26"/> <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="66"/> - <source>Click 2</source> - <translation>點擊 2</translation> + <source>Z</source> + <translation type="unfinished"/> </message> <message> - <location filename="../../src/yuzu/configuration/configure_mouse_advanced.cpp" line="28"/> <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="68"/> - <source>Click 3</source> - <translation>點擊 3</translation> + <source>R</source> + <translation type="unfinished"/> </message> <message> - <location filename="../../src/yuzu/configuration/configure_mouse_advanced.cpp" line="30"/> <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="70"/> - <source>Click 4</source> - <translation>點擊 4</translation> + <source>L</source> + <translation type="unfinished"/> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="109"/> - <source>%1%2</source> - <translation>%1%2</translation> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="72"/> + <source>A</source> + <translation type="unfinished"/> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="117"/> - <source>GC Axis %1%2</source> - <translation>GC Axis %1%2</translation> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="74"/> + <source>B</source> + <translation type="unfinished"/> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="121"/> - <source>GC Button %1</source> - <translation>GC 按鍵 %1</translation> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="76"/> + <source>X</source> + <translation type="unfinished"/> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="130"/> - <source>TAS Axis %1</source> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="78"/> + <source>Y</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="80"/> + <source>Start</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="82"/> + <source>L1</source> <translation type="unfinished"/> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="134"/> - <source>TAS Btn %1</source> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="84"/> + <source>L2</source> <translation type="unfinished"/> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="142"/> - <source>Motion %1</source> - <translation>體感 %1</translation> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="86"/> + <source>L3</source> + <translation type="unfinished"/> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="166"/> - <source>%1Button %2</source> - <translation>%1按鍵 %2</translation> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="88"/> + <source>R1</source> + <translation type="unfinished"/> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="170"/> - <source>SDL Motion</source> - <translation>SDL 體感</translation> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="90"/> + <source>R2</source> + <translation type="unfinished"/> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="180"/> - <source>%1Click %2</source> - <translation>%1點擊 %2</translation> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="92"/> + <source>R3</source> + <translation type="unfinished"/> </message> <message> - <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="205"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="94"/> + <source>Circle</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="96"/> + <source>Cross</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="98"/> + <source>Square</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="100"/> + <source>Triangle</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="102"/> + <source>Share</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="104"/> + <source>Options</source> + <translation>選項</translation> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="106"/> + <source>[undefined]</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="140"/> + <source>%1%2</source> + <translation>%1%2</translation> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="144"/> + <source>[invalid]</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="154"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="178"/> + <source>%1%2Hat %3</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="158"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="181"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="184"/> + <source>%1%2Axis %3</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="164"/> + <source>%1%2Axis %3,%4,%5</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="168"/> + <source>%1%2Motion %3</source> + <translation type="unfinished"/> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="172"/> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="187"/> + <source>%1%2Button %3</source> + <translation>%1%2按鈕 %3</translation> + </message> + <message> + <location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="214"/> <source>[unused]</source> <translation>[未使用]</translation> </message> @@ -5354,7 +5596,7 @@ p, li { white-space: pre-wrap; } <location filename="../../src/yuzu/applets/qt_controller.ui" line="1656"/> <location filename="../../src/yuzu/applets/qt_controller.ui" line="1857"/> <location filename="../../src/yuzu/applets/qt_controller.ui" line="2054"/> - <location filename="../../src/yuzu/applets/qt_controller.cpp" line="419"/> + <location filename="../../src/yuzu/applets/qt_controller.cpp" line="411"/> <source>Pro Controller</source> <translation>Pro 手把</translation> </message> @@ -5367,7 +5609,7 @@ p, li { white-space: pre-wrap; } <location filename="../../src/yuzu/applets/qt_controller.ui" line="1661"/> <location filename="../../src/yuzu/applets/qt_controller.ui" line="1862"/> <location filename="../../src/yuzu/applets/qt_controller.ui" line="2059"/> - <location filename="../../src/yuzu/applets/qt_controller.cpp" line="423"/> + <location filename="../../src/yuzu/applets/qt_controller.cpp" line="415"/> <source>Dual Joycons</source> <translation>雙 Joycon 手把</translation> </message> @@ -5380,7 +5622,7 @@ p, li { white-space: pre-wrap; } <location filename="../../src/yuzu/applets/qt_controller.ui" line="1666"/> <location filename="../../src/yuzu/applets/qt_controller.ui" line="1867"/> <location filename="../../src/yuzu/applets/qt_controller.ui" line="2064"/> - <location filename="../../src/yuzu/applets/qt_controller.cpp" line="427"/> + <location filename="../../src/yuzu/applets/qt_controller.cpp" line="419"/> <source>Left Joycon</source> <translation>左 Joycon 手把</translation> </message> @@ -5393,7 +5635,7 @@ p, li { white-space: pre-wrap; } <location filename="../../src/yuzu/applets/qt_controller.ui" line="1671"/> <location filename="../../src/yuzu/applets/qt_controller.ui" line="1872"/> <location filename="../../src/yuzu/applets/qt_controller.ui" line="2069"/> - <location filename="../../src/yuzu/applets/qt_controller.cpp" line="431"/> + <location filename="../../src/yuzu/applets/qt_controller.cpp" line="423"/> <source>Right Joycon</source> <translation>右 Joycon 手把</translation> </message> @@ -5421,7 +5663,7 @@ p, li { white-space: pre-wrap; } </message> <message> <location filename="../../src/yuzu/applets/qt_controller.ui" line="932"/> - <location filename="../../src/yuzu/applets/qt_controller.cpp" line="436"/> + <location filename="../../src/yuzu/applets/qt_controller.cpp" line="428"/> <source>Handheld</source> <translation>掌機模式</translation> </message> @@ -5542,7 +5784,7 @@ p, li { white-space: pre-wrap; } <translation>8</translation> </message> <message> - <location filename="../../src/yuzu/applets/qt_controller.cpp" line="441"/> + <location filename="../../src/yuzu/applets/qt_controller.cpp" line="433"/> <source>GameCube Controller</source> <translation>GameCube 手把</translation> </message> @@ -5636,13 +5878,13 @@ p, li { white-space: pre-wrap; } <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></translation> </message> <message> - <location filename="../../src/yuzu/applets/qt_software_keyboard.cpp" line="396"/> - <location filename="../../src/yuzu/applets/qt_software_keyboard.cpp" line="406"/> + <location filename="../../src/yuzu/applets/qt_software_keyboard.cpp" line="399"/> + <location filename="../../src/yuzu/applets/qt_software_keyboard.cpp" line="409"/> <source>OK</source> <translation>確定</translation> </message> <message> - <location filename="../../src/yuzu/applets/qt_software_keyboard.cpp" line="406"/> + <location filename="../../src/yuzu/applets/qt_software_keyboard.cpp" line="409"/> <source>Cancel</source> <translation>取消</translation> </message> diff --git a/externals/CMakeLists.txt b/externals/CMakeLists.txt index a76a3d800..64d1e6aec 100644 --- a/externals/CMakeLists.txt +++ b/externals/CMakeLists.txt @@ -44,10 +44,6 @@ target_include_directories(mbedtls PUBLIC ./mbedtls/include) add_library(microprofile INTERFACE) target_include_directories(microprofile INTERFACE ./microprofile) -# Unicorn -add_library(unicorn-headers INTERFACE) -target_include_directories(unicorn-headers INTERFACE ./unicorn/include) - # libusb if (NOT LIBUSB_FOUND OR YUZU_USE_BUNDLED_LIBUSB) add_subdirectory(libusb) diff --git a/externals/SDL b/externals/SDL -Subproject 25f9ed87ff6947d9576fc9d79dee0784e638ac5 +Subproject 2e9821423a237a1206e3c09020778faacfe430b diff --git a/externals/cubeb b/externals/cubeb -Subproject 1d66483ad2b93f0e00e175f9480c771af90003a +Subproject 75d9d125ee655ef80f3bfcd97ae5a805931042b diff --git a/externals/find-modules/FindUnicorn.cmake b/externals/find-modules/FindUnicorn.cmake deleted file mode 100644 index a0f2a71f6..000000000 --- a/externals/find-modules/FindUnicorn.cmake +++ /dev/null @@ -1,18 +0,0 @@ -# Exports: -# LIBUNICORN_FOUND -# LIBUNICORN_INCLUDE_DIR -# LIBUNICORN_LIBRARY - -find_path(LIBUNICORN_INCLUDE_DIR - unicorn/unicorn.h - HINTS $ENV{UNICORNDIR} - PATH_SUFFIXES include) - -find_library(LIBUNICORN_LIBRARY - NAMES unicorn - HINTS $ENV{UNICORNDIR}) - -include(FindPackageHandleStandardArgs) -find_package_handle_standard_args(unicorn DEFAULT_MSG - LIBUNICORN_LIBRARY LIBUNICORN_INCLUDE_DIR) -mark_as_advanced(LIBUNICORN_INCLUDE_DIR LIBUNICORN_LIBRARY) diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt index 63dd9febf..19d16147d 100644 --- a/src/CMakeLists.txt +++ b/src/CMakeLists.txt @@ -24,6 +24,7 @@ if (MSVC) # /W3 - Level 3 warnings # /MP - Multi-threaded compilation # /Zi - Output debugging information + # /Zm - Specifies the precompiled header memory allocation limit # /Zo - Enhanced debug info for optimized builds # /permissive- - Enables stricter C++ standards conformance checks # /EHsc - C++-only exception handling semantics @@ -36,6 +37,7 @@ if (MSVC) add_compile_options( /MP /Zi + /Zm200 /Zo /permissive- /EHsc diff --git a/src/audio_core/delay_line.cpp b/src/audio_core/delay_line.cpp index f4e4dd8d2..2793ed8db 100644 --- a/src/audio_core/delay_line.cpp +++ b/src/audio_core/delay_line.cpp @@ -1,3 +1,7 @@ +// Copyright 2021 yuzu Emulator Project +// Licensed under GPLv2 or any later version +// Refer to the license.txt file included. + #include <cstring> #include "audio_core/delay_line.h" diff --git a/src/audio_core/delay_line.h b/src/audio_core/delay_line.h index cafddd432..84f11bc52 100644 --- a/src/audio_core/delay_line.h +++ b/src/audio_core/delay_line.h @@ -1,3 +1,7 @@ +// Copyright 2021 yuzu Emulator Project +// Licensed under GPLv2 or any later version +// Refer to the license.txt file included. + #pragma once #include "common/common_types.h" diff --git a/src/common/host_memory.cpp b/src/common/host_memory.cpp index b44a44949..28949fe5e 100644 --- a/src/common/host_memory.cpp +++ b/src/common/host_memory.cpp @@ -1,3 +1,7 @@ +// Copyright 2021 yuzu Emulator Project +// Licensed under GPLv2 or any later version +// Refer to the license.txt file included. + #ifdef _WIN32 #include <iterator> diff --git a/src/common/input.h b/src/common/input.h index eaee0bdea..f775a4c01 100644 --- a/src/common/input.h +++ b/src/common/input.h @@ -227,7 +227,7 @@ struct CallbackStatus { // Triggered once every input change struct InputCallback { - std::function<void(CallbackStatus)> on_change; + std::function<void(const CallbackStatus&)> on_change; }; /// An abstract class template for an input device (a button, an analog input, etc.). @@ -236,14 +236,10 @@ public: virtual ~InputDevice() = default; // Request input device to update if necessary - virtual void SoftUpdate() { - return; - } + virtual void SoftUpdate() {} // Force input device to update data regardless of the current state - virtual void ForceUpdate() { - return; - } + virtual void ForceUpdate() {} // Sets the function to be triggered when input changes void SetCallback(InputCallback callback_) { @@ -251,7 +247,7 @@ public: } // Triggers the function set in the callback - void TriggerOnChange(CallbackStatus status) { + void TriggerOnChange(const CallbackStatus& status) { if (callback.on_change) { callback.on_change(status); } @@ -266,11 +262,9 @@ class OutputDevice { public: virtual ~OutputDevice() = default; - virtual void SetLED([[maybe_unused]] LedStatus led_status) { - return; - } + virtual void SetLED([[maybe_unused]] const LedStatus& led_status) {} - virtual VibrationError SetVibration([[maybe_unused]] VibrationStatus vibration_status) { + virtual VibrationError SetVibration([[maybe_unused]] const VibrationStatus& vibration_status) { return VibrationError::NotSupported; } diff --git a/src/common/logging/filter.cpp b/src/common/logging/filter.cpp index 42744c994..b898a652c 100644 --- a/src/common/logging/filter.cpp +++ b/src/common/logging/filter.cpp @@ -114,6 +114,7 @@ bool ParseFilterRule(Filter& instance, Iterator begin, Iterator end) { SUB(Service, NGCT) \ SUB(Service, NIFM) \ SUB(Service, NIM) \ + SUB(Service, NOTIF) \ SUB(Service, NPNS) \ SUB(Service, NS) \ SUB(Service, NVDRV) \ diff --git a/src/common/logging/types.h b/src/common/logging/types.h index 2d21fc483..9ed0c7ad6 100644 --- a/src/common/logging/types.h +++ b/src/common/logging/types.h @@ -82,6 +82,7 @@ enum class Class : u8 { Service_NGCT, ///< The NGCT (No Good Content for Terra) service Service_NIFM, ///< The NIFM (Network interface) service Service_NIM, ///< The NIM service + Service_NOTIF, ///< The NOTIF (Notification) service Service_NPNS, ///< The NPNS service Service_NS, ///< The NS services Service_NVDRV, ///< The NVDRV (Nvidia driver) service diff --git a/src/common/x64/cpu_detect.cpp b/src/common/x64/cpu_detect.cpp index fccd2eee5..fbeacc7e2 100644 --- a/src/common/x64/cpu_detect.cpp +++ b/src/common/x64/cpu_detect.cpp @@ -71,9 +71,6 @@ static CPUCaps Detect() { else caps.manufacturer = Manufacturer::Unknown; - u32 family = {}; - u32 model = {}; - __cpuid(cpu_id, 0x80000000); u32 max_ex_fn = cpu_id[0]; @@ -84,15 +81,6 @@ static CPUCaps Detect() { // Detect family and other miscellaneous features if (max_std_fn >= 1) { __cpuid(cpu_id, 0x00000001); - family = (cpu_id[0] >> 8) & 0xf; - model = (cpu_id[0] >> 4) & 0xf; - if (family == 0xf) { - family += (cpu_id[0] >> 20) & 0xff; - } - if (family >= 6) { - model += ((cpu_id[0] >> 16) & 0xf) << 4; - } - if ((cpu_id[3] >> 25) & 1) caps.sse = true; if ((cpu_id[3] >> 26) & 1) diff --git a/src/common/x64/native_clock.cpp b/src/common/x64/native_clock.cpp index 87de40624..82ee2c8a1 100644 --- a/src/common/x64/native_clock.cpp +++ b/src/common/x64/native_clock.cpp @@ -15,26 +15,26 @@ namespace Common { u64 EstimateRDTSCFrequency() { - const auto milli_10 = std::chrono::milliseconds{10}; - // get current time + // Discard the first result measuring the rdtsc. _mm_mfence(); - const u64 tscStart = __rdtsc(); - const auto startTime = std::chrono::high_resolution_clock::now(); - // wait roughly 3 seconds - while (true) { - auto milli = std::chrono::duration_cast<std::chrono::milliseconds>( - std::chrono::high_resolution_clock::now() - startTime); - if (milli.count() >= 3000) - break; - std::this_thread::sleep_for(milli_10); - } - const auto endTime = std::chrono::high_resolution_clock::now(); + __rdtsc(); + std::this_thread::sleep_for(std::chrono::milliseconds{1}); + _mm_mfence(); + __rdtsc(); + + // Get the current time. + const auto start_time = std::chrono::steady_clock::now(); + _mm_mfence(); + const u64 tsc_start = __rdtsc(); + // Wait for 200 milliseconds. + std::this_thread::sleep_for(std::chrono::milliseconds{200}); + const auto end_time = std::chrono::steady_clock::now(); _mm_mfence(); - const u64 tscEnd = __rdtsc(); - // calculate difference - const u64 timer_diff = - std::chrono::duration_cast<std::chrono::nanoseconds>(endTime - startTime).count(); - const u64 tsc_diff = tscEnd - tscStart; + const u64 tsc_end = __rdtsc(); + // Calculate differences. + const u64 timer_diff = static_cast<u64>( + std::chrono::duration_cast<std::chrono::nanoseconds>(end_time - start_time).count()); + const u64 tsc_diff = tsc_end - tsc_start; const u64 tsc_freq = MultiplyAndDivide64(tsc_diff, 1000000000ULL, timer_diff); return tsc_freq; } diff --git a/src/core/CMakeLists.txt b/src/core/CMakeLists.txt index eee8e2ccd..49bed614a 100644 --- a/src/core/CMakeLists.txt +++ b/src/core/CMakeLists.txt @@ -179,12 +179,15 @@ add_library(core STATIC hle/kernel/k_client_port.h hle/kernel/k_client_session.cpp hle/kernel/k_client_session.h + hle/kernel/k_code_memory.cpp + hle/kernel/k_code_memory.h hle/kernel/k_condition_variable.cpp hle/kernel/k_condition_variable.h hle/kernel/k_event.cpp hle/kernel/k_event.h hle/kernel/k_handle_table.cpp hle/kernel/k_handle_table.h + hle/kernel/k_light_condition_variable.cpp hle/kernel/k_light_condition_variable.h hle/kernel/k_light_lock.cpp hle/kernel/k_light_lock.h @@ -237,6 +240,7 @@ add_library(core STATIC hle/kernel/k_system_control.h hle/kernel/k_thread.cpp hle/kernel/k_thread.h + hle/kernel/k_thread_queue.cpp hle/kernel/k_thread_queue.h hle/kernel/k_trace.h hle/kernel/k_transfer_memory.cpp @@ -408,6 +412,8 @@ add_library(core STATIC hle/service/glue/glue.h hle/service/glue/glue_manager.cpp hle/service/glue/glue_manager.h + hle/service/glue/notif.cpp + hle/service/glue/notif.h hle/service/grc/grc.cpp hle/service/grc/grc.h hle/service/hid/hid.cpp diff --git a/src/core/core.cpp b/src/core/core.cpp index 473ab9f81..aa96f709b 100644 --- a/src/core/core.cpp +++ b/src/core/core.cpp @@ -521,12 +521,6 @@ const ARM_Interface& System::CurrentArmInterface() const { return impl->kernel.CurrentPhysicalCore().ArmInterface(); } -std::size_t System::CurrentCoreIndex() const { - std::size_t core = impl->kernel.GetCurrentHostThreadID(); - ASSERT(core < Core::Hardware::NUM_CPU_CORES); - return core; -} - Kernel::PhysicalCore& System::CurrentPhysicalCore() { return impl->kernel.CurrentPhysicalCore(); } diff --git a/src/core/core.h b/src/core/core.h index 645e5c241..52ff90359 100644 --- a/src/core/core.h +++ b/src/core/core.h @@ -208,9 +208,6 @@ public: /// Gets an ARM interface to the CPU core that is currently running [[nodiscard]] const ARM_Interface& CurrentArmInterface() const; - /// Gets the index of the currently running CPU core - [[nodiscard]] std::size_t CurrentCoreIndex() const; - /// Gets the physical core for the CPU core that is currently running [[nodiscard]] Kernel::PhysicalCore& CurrentPhysicalCore(); diff --git a/src/core/cpu_manager.cpp b/src/core/cpu_manager.cpp index 5d43c6e5d..cbcc54891 100644 --- a/src/core/cpu_manager.cpp +++ b/src/core/cpu_manager.cpp @@ -117,17 +117,18 @@ void CpuManager::MultiCoreRunGuestLoop() { physical_core = &kernel.CurrentPhysicalCore(); } system.ExitDynarmicProfile(); - physical_core->ArmInterface().ClearExclusiveState(); - kernel.CurrentScheduler()->RescheduleCurrentCore(); + { + Kernel::KScopedDisableDispatch dd(kernel); + physical_core->ArmInterface().ClearExclusiveState(); + } } } void CpuManager::MultiCoreRunIdleThread() { auto& kernel = system.Kernel(); while (true) { - auto& physical_core = kernel.CurrentPhysicalCore(); - physical_core.Idle(); - kernel.CurrentScheduler()->RescheduleCurrentCore(); + Kernel::KScopedDisableDispatch dd(kernel); + kernel.CurrentPhysicalCore().Idle(); } } @@ -135,12 +136,12 @@ void CpuManager::MultiCoreRunSuspendThread() { auto& kernel = system.Kernel(); kernel.CurrentScheduler()->OnThreadStart(); while (true) { - auto core = kernel.GetCurrentHostThreadID(); + auto core = kernel.CurrentPhysicalCoreIndex(); auto& scheduler = *kernel.CurrentScheduler(); Kernel::KThread* current_thread = scheduler.GetCurrentThread(); Common::Fiber::YieldTo(current_thread->GetHostContext(), *core_data[core].host_context); ASSERT(scheduler.ContextSwitchPending()); - ASSERT(core == kernel.GetCurrentHostThreadID()); + ASSERT(core == kernel.CurrentPhysicalCoreIndex()); scheduler.RescheduleCurrentCore(); } } @@ -346,13 +347,9 @@ void CpuManager::RunThread(std::stop_token stop_token, std::size_t core) { sc_sync_first_use = false; } - // Abort if emulation was killed before the session really starts - if (!system.IsPoweredOn()) { - return; - } - + // Emulation was stopped if (stop_token.stop_requested()) { - break; + return; } auto current_thread = system.Kernel().CurrentScheduler()->GetCurrentThread(); diff --git a/src/core/hid/emulated_console.cpp b/src/core/hid/emulated_console.cpp index 80db8e9c6..685ec080c 100644 --- a/src/core/hid/emulated_console.cpp +++ b/src/core/hid/emulated_console.cpp @@ -66,9 +66,10 @@ void EmulatedConsole::ReloadInput() { motion_devices = Common::Input::CreateDevice<Common::Input::InputDevice>(motion_params); if (motion_devices) { - Common::Input::InputCallback motion_callback{ - [this](Common::Input::CallbackStatus callback) { SetMotion(callback); }}; - motion_devices->SetCallback(motion_callback); + motion_devices->SetCallback({ + .on_change = + [this](const Common::Input::CallbackStatus& callback) { SetMotion(callback); }, + }); } // Unique index for identifying touch device source @@ -78,9 +79,12 @@ void EmulatedConsole::ReloadInput() { if (!touch_device) { continue; } - Common::Input::InputCallback touch_callback{ - [this, index](Common::Input::CallbackStatus callback) { SetTouch(callback, index); }}; - touch_device->SetCallback(touch_callback); + touch_device->SetCallback({ + .on_change = + [this, index](const Common::Input::CallbackStatus& callback) { + SetTouch(callback, index); + }, + }); index++; } } @@ -127,7 +131,7 @@ void EmulatedConsole::SetMotionParam(Common::ParamPackage param) { ReloadInput(); } -void EmulatedConsole::SetMotion(Common::Input::CallbackStatus callback) { +void EmulatedConsole::SetMotion(const Common::Input::CallbackStatus& callback) { std::lock_guard lock{mutex}; auto& raw_status = console.motion_values.raw_status; auto& emulated = console.motion_values.emulated; @@ -162,8 +166,7 @@ void EmulatedConsole::SetMotion(Common::Input::CallbackStatus callback) { TriggerOnChange(ConsoleTriggerType::Motion); } -void EmulatedConsole::SetTouch(Common::Input::CallbackStatus callback, - [[maybe_unused]] std::size_t index) { +void EmulatedConsole::SetTouch(const Common::Input::CallbackStatus& callback, std::size_t index) { if (index >= console.touch_values.size()) { return; } diff --git a/src/core/hid/emulated_console.h b/src/core/hid/emulated_console.h index 25c183eee..3afd284d5 100644 --- a/src/core/hid/emulated_console.h +++ b/src/core/hid/emulated_console.h @@ -78,9 +78,9 @@ struct ConsoleUpdateCallback { class EmulatedConsole { public: /** - * Contains all input data related to the console like motion and touch input + * Contains all input data within the emulated switch console tablet such as touch and motion */ - EmulatedConsole(); + explicit EmulatedConsole(); ~EmulatedConsole(); YUZU_NON_COPYABLE(EmulatedConsole); @@ -89,14 +89,16 @@ public: /// Removes all callbacks created from input devices void UnloadInput(); - /// Sets the emulated console into configuring mode. Locking all HID service events from being - /// moddified + /** + * Sets the emulated console into configuring mode + * This prevents the modification of the HID state of the emulated console by input commands + */ void EnableConfiguration(); - /// Returns the emulated console to the normal behaivour + /// Returns the emulated console into normal mode, allowing the modification of the HID state void DisableConfiguration(); - /// Returns true if the emulated console is on configuring mode + /// Returns true if the emulated console is in configuring mode bool IsConfiguring() const; /// Reload all input devices @@ -116,7 +118,7 @@ public: /** * Updates the current mapped motion device - * @param ParamPackage with controller data to be mapped + * @param param ParamPackage with controller data to be mapped */ void SetMotionParam(Common::ParamPackage param); @@ -134,14 +136,14 @@ public: /** * Adds a callback to the list of events - * @param ConsoleUpdateCallback that will be triggered + * @param update_callback A ConsoleUpdateCallback that will be triggered * @return an unique key corresponding to the callback index in the list */ int SetCallback(ConsoleUpdateCallback update_callback); /** * Removes a callback from the list stopping any future events to this object - * @param Key corresponding to the callback index in the list + * @param key Key corresponding to the callback index in the list */ void DeleteCallback(int key); @@ -151,20 +153,20 @@ private: /** * Updates the motion status of the console - * @param A CallbackStatus containing gyro and accelerometer data + * @param callback A CallbackStatus containing gyro and accelerometer data */ - void SetMotion(Common::Input::CallbackStatus callback); + void SetMotion(const Common::Input::CallbackStatus& callback); /** * Updates the touch status of the console - * @param callback: A CallbackStatus containing the touch position - * @param index: Finger ID to be updated + * @param callback A CallbackStatus containing the touch position + * @param index Finger ID to be updated */ - void SetTouch(Common::Input::CallbackStatus callback, std::size_t index); + void SetTouch(const Common::Input::CallbackStatus& callback, std::size_t index); /** * Triggers a callback that something has changed on the console status - * @param Input type of the event to trigger + * @param type Input type of the event to trigger */ void TriggerOnChange(ConsoleTriggerType type); diff --git a/src/core/hid/emulated_controller.cpp b/src/core/hid/emulated_controller.cpp index 466ff5542..93372445b 100644 --- a/src/core/hid/emulated_controller.cpp +++ b/src/core/hid/emulated_controller.cpp @@ -205,11 +205,12 @@ void EmulatedController::ReloadInput() { continue; } const auto uuid = Common::UUID{button_params[index].Get("guid", "")}; - Common::Input::InputCallback button_callback{ - [this, index, uuid](Common::Input::CallbackStatus callback) { - SetButton(callback, index, uuid); - }}; - button_devices[index]->SetCallback(button_callback); + button_devices[index]->SetCallback({ + .on_change = + [this, index, uuid](const Common::Input::CallbackStatus& callback) { + SetButton(callback, index, uuid); + }, + }); button_devices[index]->ForceUpdate(); } @@ -218,11 +219,12 @@ void EmulatedController::ReloadInput() { continue; } const auto uuid = Common::UUID{stick_params[index].Get("guid", "")}; - Common::Input::InputCallback stick_callback{ - [this, index, uuid](Common::Input::CallbackStatus callback) { - SetStick(callback, index, uuid); - }}; - stick_devices[index]->SetCallback(stick_callback); + stick_devices[index]->SetCallback({ + .on_change = + [this, index, uuid](const Common::Input::CallbackStatus& callback) { + SetStick(callback, index, uuid); + }, + }); stick_devices[index]->ForceUpdate(); } @@ -231,11 +233,12 @@ void EmulatedController::ReloadInput() { continue; } const auto uuid = Common::UUID{trigger_params[index].Get("guid", "")}; - Common::Input::InputCallback trigger_callback{ - [this, index, uuid](Common::Input::CallbackStatus callback) { - SetTrigger(callback, index, uuid); - }}; - trigger_devices[index]->SetCallback(trigger_callback); + trigger_devices[index]->SetCallback({ + .on_change = + [this, index, uuid](const Common::Input::CallbackStatus& callback) { + SetTrigger(callback, index, uuid); + }, + }); trigger_devices[index]->ForceUpdate(); } @@ -243,9 +246,12 @@ void EmulatedController::ReloadInput() { if (!battery_devices[index]) { continue; } - Common::Input::InputCallback battery_callback{ - [this, index](Common::Input::CallbackStatus callback) { SetBattery(callback, index); }}; - battery_devices[index]->SetCallback(battery_callback); + battery_devices[index]->SetCallback({ + .on_change = + [this, index](const Common::Input::CallbackStatus& callback) { + SetBattery(callback, index); + }, + }); battery_devices[index]->ForceUpdate(); } @@ -253,9 +259,12 @@ void EmulatedController::ReloadInput() { if (!motion_devices[index]) { continue; } - Common::Input::InputCallback motion_callback{ - [this, index](Common::Input::CallbackStatus callback) { SetMotion(callback, index); }}; - motion_devices[index]->SetCallback(motion_callback); + motion_devices[index]->SetCallback({ + .on_change = + [this, index](const Common::Input::CallbackStatus& callback) { + SetMotion(callback, index); + }, + }); motion_devices[index]->ForceUpdate(); } @@ -267,22 +276,24 @@ void EmulatedController::ReloadInput() { if (!tas_button_devices[index]) { continue; } - Common::Input::InputCallback button_callback{ - [this, index, tas_uuid](Common::Input::CallbackStatus callback) { - SetButton(callback, index, tas_uuid); - }}; - tas_button_devices[index]->SetCallback(button_callback); + tas_button_devices[index]->SetCallback({ + .on_change = + [this, index, tas_uuid](const Common::Input::CallbackStatus& callback) { + SetButton(callback, index, tas_uuid); + }, + }); } for (std::size_t index = 0; index < tas_stick_devices.size(); ++index) { if (!tas_stick_devices[index]) { continue; } - Common::Input::InputCallback stick_callback{ - [this, index, tas_uuid](Common::Input::CallbackStatus callback) { - SetStick(callback, index, tas_uuid); - }}; - tas_stick_devices[index]->SetCallback(stick_callback); + tas_stick_devices[index]->SetCallback({ + .on_change = + [this, index, tas_uuid](const Common::Input::CallbackStatus& callback) { + SetStick(callback, index, tas_uuid); + }, + }); } } @@ -440,7 +451,7 @@ void EmulatedController::SetButtonParam(std::size_t index, Common::ParamPackage if (index >= button_params.size()) { return; } - button_params[index] = param; + button_params[index] = std::move(param); ReloadInput(); } @@ -448,7 +459,7 @@ void EmulatedController::SetStickParam(std::size_t index, Common::ParamPackage p if (index >= stick_params.size()) { return; } - stick_params[index] = param; + stick_params[index] = std::move(param); ReloadInput(); } @@ -456,11 +467,11 @@ void EmulatedController::SetMotionParam(std::size_t index, Common::ParamPackage if (index >= motion_params.size()) { return; } - motion_params[index] = param; + motion_params[index] = std::move(param); ReloadInput(); } -void EmulatedController::SetButton(Common::Input::CallbackStatus callback, std::size_t index, +void EmulatedController::SetButton(const Common::Input::CallbackStatus& callback, std::size_t index, Common::UUID uuid) { if (index >= controller.button_values.size()) { return; @@ -600,7 +611,7 @@ void EmulatedController::SetButton(Common::Input::CallbackStatus callback, std:: TriggerOnChange(ControllerTriggerType::Button, true); } -void EmulatedController::SetStick(Common::Input::CallbackStatus callback, std::size_t index, +void EmulatedController::SetStick(const Common::Input::CallbackStatus& callback, std::size_t index, Common::UUID uuid) { if (index >= controller.stick_values.size()) { return; @@ -650,8 +661,8 @@ void EmulatedController::SetStick(Common::Input::CallbackStatus callback, std::s TriggerOnChange(ControllerTriggerType::Stick, true); } -void EmulatedController::SetTrigger(Common::Input::CallbackStatus callback, std::size_t index, - Common::UUID uuid) { +void EmulatedController::SetTrigger(const Common::Input::CallbackStatus& callback, + std::size_t index, Common::UUID uuid) { if (index >= controller.trigger_values.size()) { return; } @@ -659,7 +670,7 @@ void EmulatedController::SetTrigger(Common::Input::CallbackStatus callback, std: const auto trigger_value = TransformToTrigger(callback); // Only read trigger values that have the same uuid or are pressed once - if (controller.stick_values[index].uuid != uuid) { + if (controller.trigger_values[index].uuid != uuid) { if (!trigger_value.pressed.value) { return; } @@ -675,7 +686,7 @@ void EmulatedController::SetTrigger(Common::Input::CallbackStatus callback, std: return; } - const auto trigger = controller.trigger_values[index]; + const auto& trigger = controller.trigger_values[index]; switch (index) { case Settings::NativeTrigger::LTrigger: @@ -692,7 +703,8 @@ void EmulatedController::SetTrigger(Common::Input::CallbackStatus callback, std: TriggerOnChange(ControllerTriggerType::Trigger, true); } -void EmulatedController::SetMotion(Common::Input::CallbackStatus callback, std::size_t index) { +void EmulatedController::SetMotion(const Common::Input::CallbackStatus& callback, + std::size_t index) { if (index >= controller.motion_values.size()) { return; } @@ -730,7 +742,8 @@ void EmulatedController::SetMotion(Common::Input::CallbackStatus callback, std:: TriggerOnChange(ControllerTriggerType::Motion, true); } -void EmulatedController::SetBattery(Common::Input::CallbackStatus callback, std::size_t index) { +void EmulatedController::SetBattery(const Common::Input::CallbackStatus& callback, + std::size_t index) { if (index >= controller.battery_values.size()) { return; } @@ -866,7 +879,52 @@ void EmulatedController::SetLedPattern() { } } +void EmulatedController::SetSupportedNpadStyleTag(NpadStyleTag supported_styles) { + supported_style_tag = supported_styles; + if (!is_connected) { + return; + } + if (!IsControllerSupported()) { + LOG_ERROR(Service_HID, "Controller type {} is not supported. Disconnecting controller", + npad_type); + Disconnect(); + } +} + +bool EmulatedController::IsControllerSupported() const { + switch (npad_type) { + case NpadStyleIndex::ProController: + return supported_style_tag.fullkey; + case NpadStyleIndex::Handheld: + return supported_style_tag.handheld; + case NpadStyleIndex::JoyconDual: + return supported_style_tag.joycon_dual; + case NpadStyleIndex::JoyconLeft: + return supported_style_tag.joycon_left; + case NpadStyleIndex::JoyconRight: + return supported_style_tag.joycon_right; + case NpadStyleIndex::GameCube: + return supported_style_tag.gamecube; + case NpadStyleIndex::Pokeball: + return supported_style_tag.palma; + case NpadStyleIndex::NES: + return supported_style_tag.lark; + case NpadStyleIndex::SNES: + return supported_style_tag.lucia; + case NpadStyleIndex::N64: + return supported_style_tag.lagoon; + case NpadStyleIndex::SegaGenesis: + return supported_style_tag.lager; + default: + return false; + } +} + void EmulatedController::Connect() { + if (!IsControllerSupported()) { + LOG_ERROR(Service_HID, "Controller type {} is not supported", npad_type); + return; + } { std::lock_guard lock{mutex}; if (is_configuring) { @@ -1065,7 +1123,7 @@ void EmulatedController::TriggerOnChange(ControllerTriggerType type, bool is_npa int EmulatedController::SetCallback(ControllerUpdateCallback update_callback) { std::lock_guard lock{mutex}; - callback_list.insert_or_assign(last_callback_key, update_callback); + callback_list.insert_or_assign(last_callback_key, std::move(update_callback)); return last_callback_key++; } diff --git a/src/core/hid/emulated_controller.h b/src/core/hid/emulated_controller.h index 2c5d51bc8..e42aafebc 100644 --- a/src/core/hid/emulated_controller.h +++ b/src/core/hid/emulated_controller.h @@ -132,8 +132,8 @@ struct ControllerUpdateCallback { class EmulatedController { public: /** - * Contains all input data related to this controller. Like buttons, joysticks, motion. - * @param Npad id type for this specific controller + * Contains all input data (buttons, joysticks, vibration, and motion) within this controller. + * @param npad_id_type npad id type for this specific controller */ explicit EmulatedController(NpadIdType npad_id_type_); ~EmulatedController(); @@ -155,11 +155,18 @@ public: /** * Gets the NpadStyleIndex for this controller - * @param If true tmp_npad_type will be returned + * @param get_temporary_value If true tmp_npad_type will be returned * @return NpadStyleIndex set on the controller */ NpadStyleIndex GetNpadStyleIndex(bool get_temporary_value = false) const; + /** + * Sets the supported controller types. Disconnects the controller if current type is not + * supported + * @param supported_styles bitflag with supported types + */ + void SetSupportedNpadStyleTag(NpadStyleTag supported_styles); + /// Sets the connected status to true void Connect(); @@ -168,7 +175,7 @@ public: /** * Is the emulated connected - * @param If true tmp_is_connected will be returned + * @param get_temporary_value If true tmp_is_connected will be returned * @return true if the controller has the connected status */ bool IsConnected(bool get_temporary_value = false) const; @@ -179,14 +186,16 @@ public: /// Removes all callbacks created from input devices void UnloadInput(); - /// Sets the emulated console into configuring mode. Locking all HID service events from being - /// moddified + /** + * Sets the emulated controller into configuring mode + * This prevents the modification of the HID state of the emulated controller by input commands + */ void EnableConfiguration(); - /// Returns the emulated console to the normal behaivour + /// Returns the emulated controller into normal mode, allowing the modification of the HID state void DisableConfiguration(); - /// Returns true if the emulated device is on configuring mode + /// Returns true if the emulated controller is in configuring mode bool IsConfiguring() const; /// Reload all input devices @@ -215,19 +224,19 @@ public: /** * Updates the current mapped button device - * @param ParamPackage with controller data to be mapped + * @param param ParamPackage with controller data to be mapped */ void SetButtonParam(std::size_t index, Common::ParamPackage param); /** * Updates the current mapped stick device - * @param ParamPackage with controller data to be mapped + * @param param ParamPackage with controller data to be mapped */ void SetStickParam(std::size_t index, Common::ParamPackage param); /** * Updates the current mapped motion device - * @param ParamPackage with controller data to be mapped + * @param param ParamPackage with controller data to be mapped */ void SetMotionParam(std::size_t index, Common::ParamPackage param); @@ -270,13 +279,13 @@ public: /// Returns the latest battery status from the controller BatteryLevelState GetBattery() const; - /* + /** * Sends a specific vibration to the output device * @return returns true if vibration had no errors */ bool SetVibration(std::size_t device_index, VibrationValue vibration); - /* + /** * Sends a small vibration to the output device * @return returns true if SetVibration was successfull */ @@ -290,14 +299,14 @@ public: /** * Adds a callback to the list of events - * @param ConsoleUpdateCallback that will be triggered + * @param update_callback A ConsoleUpdateCallback that will be triggered * @return an unique key corresponding to the callback index in the list */ int SetCallback(ControllerUpdateCallback update_callback); /** * Removes a callback from the list stopping any future events to this object - * @param Key corresponding to the callback index in the list + * @param key Key corresponding to the callback index in the list */ void DeleteCallback(int key); @@ -309,55 +318,65 @@ private: void LoadTASParams(); /** + * Checks the current controller type against the supported_style_tag + * @return true if the controller is supported + */ + bool IsControllerSupported() const; + + /** * Updates the button status of the controller - * @param callback: A CallbackStatus containing the button status - * @param index: Button ID of the to be updated + * @param callback A CallbackStatus containing the button status + * @param index Button ID of the to be updated */ - void SetButton(Common::Input::CallbackStatus callback, std::size_t index, Common::UUID uuid); + void SetButton(const Common::Input::CallbackStatus& callback, std::size_t index, + Common::UUID uuid); /** * Updates the analog stick status of the controller - * @param callback: A CallbackStatus containing the analog stick status - * @param index: stick ID of the to be updated + * @param callback A CallbackStatus containing the analog stick status + * @param index stick ID of the to be updated */ - void SetStick(Common::Input::CallbackStatus callback, std::size_t index, Common::UUID uuid); + void SetStick(const Common::Input::CallbackStatus& callback, std::size_t index, + Common::UUID uuid); /** * Updates the trigger status of the controller - * @param callback: A CallbackStatus containing the trigger status - * @param index: trigger ID of the to be updated + * @param callback A CallbackStatus containing the trigger status + * @param index trigger ID of the to be updated */ - void SetTrigger(Common::Input::CallbackStatus callback, std::size_t index, Common::UUID uuid); + void SetTrigger(const Common::Input::CallbackStatus& callback, std::size_t index, + Common::UUID uuid); /** * Updates the motion status of the controller - * @param callback: A CallbackStatus containing gyro and accelerometer data - * @param index: motion ID of the to be updated + * @param callback A CallbackStatus containing gyro and accelerometer data + * @param index motion ID of the to be updated */ - void SetMotion(Common::Input::CallbackStatus callback, std::size_t index); + void SetMotion(const Common::Input::CallbackStatus& callback, std::size_t index); /** * Updates the battery status of the controller - * @param callback: A CallbackStatus containing the battery status - * @param index: Button ID of the to be updated + * @param callback A CallbackStatus containing the battery status + * @param index Button ID of the to be updated */ - void SetBattery(Common::Input::CallbackStatus callback, std::size_t index); + void SetBattery(const Common::Input::CallbackStatus& callback, std::size_t index); /** * Triggers a callback that something has changed on the controller status - * @param type: Input type of the event to trigger - * @param is_service_update: indicates if this event should be sended to only services + * @param type Input type of the event to trigger + * @param is_service_update indicates if this event should only be sent to HID services */ void TriggerOnChange(ControllerTriggerType type, bool is_service_update); NpadIdType npad_id_type; NpadStyleIndex npad_type{NpadStyleIndex::None}; + NpadStyleTag supported_style_tag{NpadStyleSet::All}; bool is_connected{false}; bool is_configuring{false}; f32 motion_sensitivity{0.01f}; bool force_update_motion{false}; - // Temporary values to avoid doing changes while the controller is on configuration mode + // Temporary values to avoid doing changes while the controller is in configuring mode NpadStyleIndex tmp_npad_type{NpadStyleIndex::None}; bool tmp_is_connected{false}; diff --git a/src/core/hid/emulated_devices.cpp b/src/core/hid/emulated_devices.cpp index 874780ec2..708480f2d 100644 --- a/src/core/hid/emulated_devices.cpp +++ b/src/core/hid/emulated_devices.cpp @@ -70,50 +70,55 @@ void EmulatedDevices::ReloadInput() { if (!mouse_button_devices[index]) { continue; } - Common::Input::InputCallback button_callback{ - [this, index](Common::Input::CallbackStatus callback) { - SetMouseButton(callback, index); - }}; - mouse_button_devices[index]->SetCallback(button_callback); + mouse_button_devices[index]->SetCallback({ + .on_change = + [this, index](const Common::Input::CallbackStatus& callback) { + SetMouseButton(callback, index); + }, + }); } for (std::size_t index = 0; index < mouse_analog_devices.size(); ++index) { if (!mouse_analog_devices[index]) { continue; } - Common::Input::InputCallback button_callback{ - [this, index](Common::Input::CallbackStatus callback) { - SetMouseAnalog(callback, index); - }}; - mouse_analog_devices[index]->SetCallback(button_callback); + mouse_analog_devices[index]->SetCallback({ + .on_change = + [this, index](const Common::Input::CallbackStatus& callback) { + SetMouseAnalog(callback, index); + }, + }); } if (mouse_stick_device) { - Common::Input::InputCallback button_callback{ - [this](Common::Input::CallbackStatus callback) { SetMouseStick(callback); }}; - mouse_stick_device->SetCallback(button_callback); + mouse_stick_device->SetCallback({ + .on_change = + [this](const Common::Input::CallbackStatus& callback) { SetMouseStick(callback); }, + }); } for (std::size_t index = 0; index < keyboard_devices.size(); ++index) { if (!keyboard_devices[index]) { continue; } - Common::Input::InputCallback button_callback{ - [this, index](Common::Input::CallbackStatus callback) { - SetKeyboardButton(callback, index); - }}; - keyboard_devices[index]->SetCallback(button_callback); + keyboard_devices[index]->SetCallback({ + .on_change = + [this, index](const Common::Input::CallbackStatus& callback) { + SetKeyboardButton(callback, index); + }, + }); } for (std::size_t index = 0; index < keyboard_modifier_devices.size(); ++index) { if (!keyboard_modifier_devices[index]) { continue; } - Common::Input::InputCallback button_callback{ - [this, index](Common::Input::CallbackStatus callback) { - SetKeyboardModifier(callback, index); - }}; - keyboard_modifier_devices[index]->SetCallback(button_callback); + keyboard_modifier_devices[index]->SetCallback({ + .on_change = + [this, index](const Common::Input::CallbackStatus& callback) { + SetKeyboardModifier(callback, index); + }, + }); } } @@ -159,7 +164,8 @@ void EmulatedDevices::RestoreConfig() { ReloadFromSettings(); } -void EmulatedDevices::SetKeyboardButton(Common::Input::CallbackStatus callback, std::size_t index) { +void EmulatedDevices::SetKeyboardButton(const Common::Input::CallbackStatus& callback, + std::size_t index) { if (index >= device_status.keyboard_values.size()) { return; } @@ -216,7 +222,7 @@ void EmulatedDevices::UpdateKey(std::size_t key_index, bool status) { } } -void EmulatedDevices::SetKeyboardModifier(Common::Input::CallbackStatus callback, +void EmulatedDevices::SetKeyboardModifier(const Common::Input::CallbackStatus& callback, std::size_t index) { if (index >= device_status.keyboard_moddifier_values.size()) { return; @@ -286,7 +292,8 @@ void EmulatedDevices::SetKeyboardModifier(Common::Input::CallbackStatus callback TriggerOnChange(DeviceTriggerType::KeyboardModdifier); } -void EmulatedDevices::SetMouseButton(Common::Input::CallbackStatus callback, std::size_t index) { +void EmulatedDevices::SetMouseButton(const Common::Input::CallbackStatus& callback, + std::size_t index) { if (index >= device_status.mouse_button_values.size()) { return; } @@ -347,7 +354,8 @@ void EmulatedDevices::SetMouseButton(Common::Input::CallbackStatus callback, std TriggerOnChange(DeviceTriggerType::Mouse); } -void EmulatedDevices::SetMouseAnalog(Common::Input::CallbackStatus callback, std::size_t index) { +void EmulatedDevices::SetMouseAnalog(const Common::Input::CallbackStatus& callback, + std::size_t index) { if (index >= device_status.mouse_analog_values.size()) { return; } @@ -374,7 +382,7 @@ void EmulatedDevices::SetMouseAnalog(Common::Input::CallbackStatus callback, std TriggerOnChange(DeviceTriggerType::Mouse); } -void EmulatedDevices::SetMouseStick(Common::Input::CallbackStatus callback) { +void EmulatedDevices::SetMouseStick(const Common::Input::CallbackStatus& callback) { std::lock_guard lock{mutex}; const auto touch_value = TransformToTouch(callback); @@ -435,7 +443,7 @@ void EmulatedDevices::TriggerOnChange(DeviceTriggerType type) { int EmulatedDevices::SetCallback(InterfaceUpdateCallback update_callback) { std::lock_guard lock{mutex}; - callback_list.insert_or_assign(last_callback_key, update_callback); + callback_list.insert_or_assign(last_callback_key, std::move(update_callback)); return last_callback_key++; } diff --git a/src/core/hid/emulated_devices.h b/src/core/hid/emulated_devices.h index 05a945d08..790d3b411 100644 --- a/src/core/hid/emulated_devices.h +++ b/src/core/hid/emulated_devices.h @@ -75,9 +75,9 @@ class EmulatedDevices { public: /** * Contains all input data related to external devices that aren't necesarily a controller - * like keyboard and mouse + * This includes devices such as the keyboard or mouse */ - EmulatedDevices(); + explicit EmulatedDevices(); ~EmulatedDevices(); YUZU_NON_COPYABLE(EmulatedDevices); @@ -86,14 +86,16 @@ public: /// Removes all callbacks created from input devices void UnloadInput(); - /// Sets the emulated console into configuring mode. Locking all HID service events from being - /// moddified + /** + * Sets the emulated devices into configuring mode + * This prevents the modification of the HID state of the emulated devices by input commands + */ void EnableConfiguration(); - /// Returns the emulated console to the normal behaivour + /// Returns the emulated devices into normal mode, allowing the modification of the HID state void DisableConfiguration(); - /// Returns true if the emulated device is on configuring mode + /// Returns true if the emulated device is in configuring mode bool IsConfiguring() const; /// Reload all input devices @@ -134,14 +136,14 @@ public: /** * Adds a callback to the list of events - * @param InterfaceUpdateCallback that will be triggered + * @param update_callback InterfaceUpdateCallback that will be triggered * @return an unique key corresponding to the callback index in the list */ int SetCallback(InterfaceUpdateCallback update_callback); /** * Removes a callback from the list stopping any future events to this object - * @param Key corresponding to the callback index in the list + * @param key Key corresponding to the callback index in the list */ void DeleteCallback(int key); @@ -151,42 +153,41 @@ private: /** * Updates the touch status of the keyboard device - * @param callback: A CallbackStatus containing the key status - * @param index: key ID to be updated + * @param callback A CallbackStatus containing the key status + * @param index key ID to be updated */ - void SetKeyboardButton(Common::Input::CallbackStatus callback, std::size_t index); + void SetKeyboardButton(const Common::Input::CallbackStatus& callback, std::size_t index); /** * Updates the keyboard status of the keyboard device - * @param callback: A CallbackStatus containing the modifier key status - * @param index: modifier key ID to be updated + * @param callback A CallbackStatus containing the modifier key status + * @param index modifier key ID to be updated */ - void SetKeyboardModifier(Common::Input::CallbackStatus callback, std::size_t index); + void SetKeyboardModifier(const Common::Input::CallbackStatus& callback, std::size_t index); /** * Updates the mouse button status of the mouse device - * @param callback: A CallbackStatus containing the button status - * @param index: Button ID to be updated + * @param callback A CallbackStatus containing the button status + * @param index Button ID to be updated */ - void SetMouseButton(Common::Input::CallbackStatus callback, std::size_t index); + void SetMouseButton(const Common::Input::CallbackStatus& callback, std::size_t index); /** * Updates the mouse wheel status of the mouse device - * @param callback: A CallbackStatus containing the wheel status - * @param index: wheel ID to be updated + * @param callback A CallbackStatus containing the wheel status + * @param index wheel ID to be updated */ - void SetMouseAnalog(Common::Input::CallbackStatus callback, std::size_t index); + void SetMouseAnalog(const Common::Input::CallbackStatus& callback, std::size_t index); /** * Updates the mouse position status of the mouse device - * @param callback: A CallbackStatus containing the position status - * @param index: stick ID to be updated + * @param callback A CallbackStatus containing the position status */ - void SetMouseStick(Common::Input::CallbackStatus callback); + void SetMouseStick(const Common::Input::CallbackStatus& callback); /** * Triggers a callback that something has changed on the device status - * @param Input type of the event to trigger + * @param type Input type of the event to trigger */ void TriggerOnChange(DeviceTriggerType type); diff --git a/src/core/hid/hid_core.cpp b/src/core/hid/hid_core.cpp index 741a69c3c..a1c3bbb57 100644 --- a/src/core/hid/hid_core.cpp +++ b/src/core/hid/hid_core.cpp @@ -108,6 +108,16 @@ const EmulatedController* HIDCore::GetEmulatedControllerByIndex(std::size_t inde void HIDCore::SetSupportedStyleTag(NpadStyleTag style_tag) { supported_style_tag.raw = style_tag.raw; + player_1->SetSupportedNpadStyleTag(supported_style_tag); + player_2->SetSupportedNpadStyleTag(supported_style_tag); + player_3->SetSupportedNpadStyleTag(supported_style_tag); + player_4->SetSupportedNpadStyleTag(supported_style_tag); + player_5->SetSupportedNpadStyleTag(supported_style_tag); + player_6->SetSupportedNpadStyleTag(supported_style_tag); + player_7->SetSupportedNpadStyleTag(supported_style_tag); + player_8->SetSupportedNpadStyleTag(supported_style_tag); + other->SetSupportedNpadStyleTag(supported_style_tag); + handheld->SetSupportedNpadStyleTag(supported_style_tag); } NpadStyleTag HIDCore::GetSupportedStyleTag() const { @@ -135,6 +145,42 @@ NpadIdType HIDCore::GetFirstNpadId() const { return NpadIdType::Player1; } +NpadIdType HIDCore::GetFirstDisconnectedNpadId() const { + for (std::size_t player_index = 0; player_index < available_controllers; ++player_index) { + const auto* const controller = GetEmulatedControllerByIndex(player_index); + if (!controller->IsConnected()) { + return controller->GetNpadIdType(); + } + } + return NpadIdType::Player1; +} + +void HIDCore::EnableAllControllerConfiguration() { + player_1->EnableConfiguration(); + player_2->EnableConfiguration(); + player_3->EnableConfiguration(); + player_4->EnableConfiguration(); + player_5->EnableConfiguration(); + player_6->EnableConfiguration(); + player_7->EnableConfiguration(); + player_8->EnableConfiguration(); + other->EnableConfiguration(); + handheld->EnableConfiguration(); +} + +void HIDCore::DisableAllControllerConfiguration() { + player_1->DisableConfiguration(); + player_2->DisableConfiguration(); + player_3->DisableConfiguration(); + player_4->DisableConfiguration(); + player_5->DisableConfiguration(); + player_6->DisableConfiguration(); + player_7->DisableConfiguration(); + player_8->DisableConfiguration(); + other->DisableConfiguration(); + handheld->DisableConfiguration(); +} + void HIDCore::ReloadInputDevices() { player_1->ReloadFromSettings(); player_2->ReloadFromSettings(); diff --git a/src/core/hid/hid_core.h b/src/core/hid/hid_core.h index 609f40f3b..837f7de49 100644 --- a/src/core/hid/hid_core.h +++ b/src/core/hid/hid_core.h @@ -45,6 +45,15 @@ public: /// Returns the first connected npad id NpadIdType GetFirstNpadId() const; + /// Returns the first disconnected npad id + NpadIdType GetFirstDisconnectedNpadId() const; + + /// Sets all emulated controllers into configuring mode. + void EnableAllControllerConfiguration(); + + /// Sets all emulated controllers into normal mode. + void DisableAllControllerConfiguration(); + /// Reloads all input devices from settings void ReloadInputDevices(); @@ -67,7 +76,7 @@ private: std::unique_ptr<EmulatedController> handheld; std::unique_ptr<EmulatedConsole> console; std::unique_ptr<EmulatedDevices> devices; - NpadStyleTag supported_style_tag; + NpadStyleTag supported_style_tag{NpadStyleSet::All}; }; } // namespace Core::HID diff --git a/src/core/hid/hid_types.h b/src/core/hid/hid_types.h index acf54e233..7c12f01fc 100644 --- a/src/core/hid/hid_types.h +++ b/src/core/hid/hid_types.h @@ -63,6 +63,8 @@ enum class NpadButton : u64 { LagonCUp = 1ULL << 32, LagonCRight = 1ULL << 33, LagonCDown = 1ULL << 34, + + All = 0xFFFFFFFFFFFFFFFFULL, }; DECLARE_ENUM_FLAG_OPERATORS(NpadButton); @@ -254,6 +256,8 @@ enum class NpadStyleSet : u32 { Lager = 1U << 11, SystemExt = 1U << 29, System = 1U << 30, + + All = 0xFFFFFFFFU, }; static_assert(sizeof(NpadStyleSet) == 4, "NpadStyleSet is an invalid size"); diff --git a/src/core/hid/input_converter.h b/src/core/hid/input_converter.h index 1492489d7..d24582226 100644 --- a/src/core/hid/input_converter.h +++ b/src/core/hid/input_converter.h @@ -21,7 +21,7 @@ namespace Core::HID { /** * Converts raw input data into a valid battery status. * - * @param Supported callbacks: Analog, Battery, Trigger. + * @param callback Supported callbacks: Analog, Battery, Trigger. * @return A valid BatteryStatus object. */ Common::Input::BatteryStatus TransformToBattery(const Common::Input::CallbackStatus& callback); @@ -29,7 +29,7 @@ Common::Input::BatteryStatus TransformToBattery(const Common::Input::CallbackSta /** * Converts raw input data into a valid button status. Applies invert properties to the output. * - * @param Supported callbacks: Analog, Button, Trigger. + * @param callback Supported callbacks: Analog, Button, Trigger. * @return A valid TouchStatus object. */ Common::Input::ButtonStatus TransformToButton(const Common::Input::CallbackStatus& callback); @@ -37,7 +37,7 @@ Common::Input::ButtonStatus TransformToButton(const Common::Input::CallbackStatu /** * Converts raw input data into a valid motion status. * - * @param Supported callbacks: Motion. + * @param callback Supported callbacks: Motion. * @return A valid TouchStatus object. */ Common::Input::MotionStatus TransformToMotion(const Common::Input::CallbackStatus& callback); @@ -46,7 +46,7 @@ Common::Input::MotionStatus TransformToMotion(const Common::Input::CallbackStatu * Converts raw input data into a valid stick status. Applies offset, deadzone, range and invert * properties to the output. * - * @param Supported callbacks: Stick. + * @param callback Supported callbacks: Stick. * @return A valid StickStatus object. */ Common::Input::StickStatus TransformToStick(const Common::Input::CallbackStatus& callback); @@ -54,7 +54,7 @@ Common::Input::StickStatus TransformToStick(const Common::Input::CallbackStatus& /** * Converts raw input data into a valid touch status. * - * @param Supported callbacks: Touch. + * @param callback Supported callbacks: Touch. * @return A valid TouchStatus object. */ Common::Input::TouchStatus TransformToTouch(const Common::Input::CallbackStatus& callback); @@ -63,7 +63,7 @@ Common::Input::TouchStatus TransformToTouch(const Common::Input::CallbackStatus& * Converts raw input data into a valid trigger status. Applies offset, deadzone, range and * invert properties to the output. Button status uses the threshold property if necessary. * - * @param Supported callbacks: Analog, Button, Trigger. + * @param callback Supported callbacks: Analog, Button, Trigger. * @return A valid TriggerStatus object. */ Common::Input::TriggerStatus TransformToTrigger(const Common::Input::CallbackStatus& callback); @@ -72,22 +72,23 @@ Common::Input::TriggerStatus TransformToTrigger(const Common::Input::CallbackSta * Converts raw input data into a valid analog status. Applies offset, deadzone, range and * invert properties to the output. * - * @param Supported callbacks: Analog. + * @param callback Supported callbacks: Analog. * @return A valid AnalogStatus object. */ Common::Input::AnalogStatus TransformToAnalog(const Common::Input::CallbackStatus& callback); /** * Converts raw analog data into a valid analog value - * @param An analog object containing raw data and properties, bool that determines if the value - * needs to be clamped between -1.0f and 1.0f. + * @param analog An analog object containing raw data and properties + * @param clamp_value determines if the value needs to be clamped between -1.0f and 1.0f. */ void SanitizeAnalog(Common::Input::AnalogStatus& analog, bool clamp_value); /** * Converts raw stick data into a valid stick value - * @param Two analog objects containing raw data and properties, bool that determines if the value - * needs to be clamped into the unit circle. + * @param analog_x raw analog data and properties for the x-axis + * @param analog_y raw analog data and properties for the y-axis + * @param clamp_value bool that determines if the value needs to be clamped into the unit circle. */ void SanitizeStick(Common::Input::AnalogStatus& analog_x, Common::Input::AnalogStatus& analog_y, bool clamp_value); diff --git a/src/core/hid/input_interpreter.cpp b/src/core/hid/input_interpreter.cpp index 870422d82..2dbda8814 100644 --- a/src/core/hid/input_interpreter.cpp +++ b/src/core/hid/input_interpreter.cpp @@ -20,7 +20,7 @@ InputInterpreter::InputInterpreter(Core::System& system) InputInterpreter::~InputInterpreter() = default; void InputInterpreter::PollInput() { - const u64 button_state = npad.GetAndResetPressState(); + const auto button_state = npad.GetAndResetPressState(); previous_index = current_index; current_index = (current_index + 1) % button_states.size(); @@ -32,30 +32,30 @@ void InputInterpreter::ResetButtonStates() { previous_index = 0; current_index = 0; - button_states[0] = 0xFFFFFFFFFFFFFFFF; + button_states[0] = Core::HID::NpadButton::All; for (std::size_t i = 1; i < button_states.size(); ++i) { - button_states[i] = 0; + button_states[i] = Core::HID::NpadButton::None; } } bool InputInterpreter::IsButtonPressed(Core::HID::NpadButton button) const { - return (button_states[current_index] & static_cast<u64>(button)) != 0; + return True(button_states[current_index] & button); } bool InputInterpreter::IsButtonPressedOnce(Core::HID::NpadButton button) const { - const bool current_press = (button_states[current_index] & static_cast<u64>(button)) != 0; - const bool previous_press = (button_states[previous_index] & static_cast<u64>(button)) != 0; + const bool current_press = True(button_states[current_index] & button); + const bool previous_press = True(button_states[previous_index] & button); return current_press && !previous_press; } bool InputInterpreter::IsButtonHeld(Core::HID::NpadButton button) const { - u64 held_buttons{button_states[0]}; + Core::HID::NpadButton held_buttons{button_states[0]}; for (std::size_t i = 1; i < button_states.size(); ++i) { held_buttons &= button_states[i]; } - return (held_buttons & static_cast<u64>(button)) != 0; + return True(held_buttons & button); } diff --git a/src/core/hid/input_interpreter.h b/src/core/hid/input_interpreter.h index 1c2e02142..70c34d474 100644 --- a/src/core/hid/input_interpreter.h +++ b/src/core/hid/input_interpreter.h @@ -105,7 +105,7 @@ private: Service::HID::Controller_NPad& npad; /// Stores 9 consecutive button states polled from HID. - std::array<u64, 9> button_states{}; + std::array<Core::HID::NpadButton, 9> button_states{}; std::size_t previous_index{}; std::size_t current_index{}; diff --git a/src/core/hle/kernel/init/init_slab_setup.cpp b/src/core/hle/kernel/init/init_slab_setup.cpp index 8ff0f695d..36fc0944a 100644 --- a/src/core/hle/kernel/init/init_slab_setup.cpp +++ b/src/core/hle/kernel/init/init_slab_setup.cpp @@ -9,6 +9,7 @@ #include "core/core.h" #include "core/hardware_properties.h" #include "core/hle/kernel/init/init_slab_setup.h" +#include "core/hle/kernel/k_code_memory.h" #include "core/hle/kernel/k_event.h" #include "core/hle/kernel/k_memory_layout.h" #include "core/hle/kernel/k_memory_manager.h" @@ -32,6 +33,7 @@ namespace Kernel::Init { HANDLER(KPort, (SLAB_COUNT(KPort)), ##__VA_ARGS__) \ HANDLER(KSharedMemory, (SLAB_COUNT(KSharedMemory)), ##__VA_ARGS__) \ HANDLER(KTransferMemory, (SLAB_COUNT(KTransferMemory)), ##__VA_ARGS__) \ + HANDLER(KCodeMemory, (SLAB_COUNT(KCodeMemory)), ##__VA_ARGS__) \ HANDLER(KSession, (SLAB_COUNT(KSession)), ##__VA_ARGS__) \ HANDLER(KResourceLimit, (SLAB_COUNT(KResourceLimit)), ##__VA_ARGS__) diff --git a/src/core/hle/kernel/k_address_arbiter.cpp b/src/core/hle/kernel/k_address_arbiter.cpp index 1b429bc1e..783c69858 100644 --- a/src/core/hle/kernel/k_address_arbiter.cpp +++ b/src/core/hle/kernel/k_address_arbiter.cpp @@ -8,6 +8,7 @@ #include "core/hle/kernel/k_scheduler.h" #include "core/hle/kernel/k_scoped_scheduler_lock_and_sleep.h" #include "core/hle/kernel/k_thread.h" +#include "core/hle/kernel/k_thread_queue.h" #include "core/hle/kernel/kernel.h" #include "core/hle/kernel/svc_results.h" #include "core/hle/kernel/time_manager.h" @@ -28,7 +29,7 @@ bool ReadFromUser(Core::System& system, s32* out, VAddr address) { bool DecrementIfLessThan(Core::System& system, s32* out, VAddr address, s32 value) { auto& monitor = system.Monitor(); - const auto current_core = system.CurrentCoreIndex(); + const auto current_core = system.Kernel().CurrentPhysicalCoreIndex(); // TODO(bunnei): We should disable interrupts here via KScopedInterruptDisable. // TODO(bunnei): We should call CanAccessAtomic(..) here. @@ -58,7 +59,7 @@ bool DecrementIfLessThan(Core::System& system, s32* out, VAddr address, s32 valu bool UpdateIfEqual(Core::System& system, s32* out, VAddr address, s32 value, s32 new_value) { auto& monitor = system.Monitor(); - const auto current_core = system.CurrentCoreIndex(); + const auto current_core = system.Kernel().CurrentPhysicalCoreIndex(); // TODO(bunnei): We should disable interrupts here via KScopedInterruptDisable. // TODO(bunnei): We should call CanAccessAtomic(..) here. @@ -85,6 +86,27 @@ bool UpdateIfEqual(Core::System& system, s32* out, VAddr address, s32 value, s32 return true; } +class ThreadQueueImplForKAddressArbiter final : public KThreadQueue { +public: + explicit ThreadQueueImplForKAddressArbiter(KernelCore& kernel_, KAddressArbiter::ThreadTree* t) + : KThreadQueue(kernel_), m_tree(t) {} + + void CancelWait(KThread* waiting_thread, ResultCode wait_result, + bool cancel_timer_task) override { + // If the thread is waiting on an address arbiter, remove it from the tree. + if (waiting_thread->IsWaitingForAddressArbiter()) { + m_tree->erase(m_tree->iterator_to(*waiting_thread)); + waiting_thread->ClearAddressArbiter(); + } + + // Invoke the base cancel wait handler. + KThreadQueue::CancelWait(waiting_thread, wait_result, cancel_timer_task); + } + +private: + KAddressArbiter::ThreadTree* m_tree; +}; + } // namespace ResultCode KAddressArbiter::Signal(VAddr addr, s32 count) { @@ -96,14 +118,14 @@ ResultCode KAddressArbiter::Signal(VAddr addr, s32 count) { auto it = thread_tree.nfind_light({addr, -1}); while ((it != thread_tree.end()) && (count <= 0 || num_waiters < count) && (it->GetAddressArbiterKey() == addr)) { + // End the thread's wait. KThread* target_thread = std::addressof(*it); - target_thread->SetSyncedObject(nullptr, ResultSuccess); + target_thread->EndWait(ResultSuccess); ASSERT(target_thread->IsWaitingForAddressArbiter()); - target_thread->Wakeup(); + target_thread->ClearAddressArbiter(); it = thread_tree.erase(it); - target_thread->ClearAddressArbiter(); ++num_waiters; } } @@ -129,14 +151,14 @@ ResultCode KAddressArbiter::SignalAndIncrementIfEqual(VAddr addr, s32 value, s32 auto it = thread_tree.nfind_light({addr, -1}); while ((it != thread_tree.end()) && (count <= 0 || num_waiters < count) && (it->GetAddressArbiterKey() == addr)) { + // End the thread's wait. KThread* target_thread = std::addressof(*it); - target_thread->SetSyncedObject(nullptr, ResultSuccess); + target_thread->EndWait(ResultSuccess); ASSERT(target_thread->IsWaitingForAddressArbiter()); - target_thread->Wakeup(); + target_thread->ClearAddressArbiter(); it = thread_tree.erase(it); - target_thread->ClearAddressArbiter(); ++num_waiters; } } @@ -197,14 +219,14 @@ ResultCode KAddressArbiter::SignalAndModifyByWaitingCountIfEqual(VAddr addr, s32 while ((it != thread_tree.end()) && (count <= 0 || num_waiters < count) && (it->GetAddressArbiterKey() == addr)) { + // End the thread's wait. KThread* target_thread = std::addressof(*it); - target_thread->SetSyncedObject(nullptr, ResultSuccess); + target_thread->EndWait(ResultSuccess); ASSERT(target_thread->IsWaitingForAddressArbiter()); - target_thread->Wakeup(); + target_thread->ClearAddressArbiter(); it = thread_tree.erase(it); - target_thread->ClearAddressArbiter(); ++num_waiters; } } @@ -214,6 +236,7 @@ ResultCode KAddressArbiter::SignalAndModifyByWaitingCountIfEqual(VAddr addr, s32 ResultCode KAddressArbiter::WaitIfLessThan(VAddr addr, s32 value, bool decrement, s64 timeout) { // Prepare to wait. KThread* cur_thread = kernel.CurrentScheduler()->GetCurrentThread(); + ThreadQueueImplForKAddressArbiter wait_queue(kernel, std::addressof(thread_tree)); { KScopedSchedulerLockAndSleep slp{kernel, cur_thread, timeout}; @@ -224,9 +247,6 @@ ResultCode KAddressArbiter::WaitIfLessThan(VAddr addr, s32 value, bool decrement return ResultTerminationRequested; } - // Set the synced object. - cur_thread->SetSyncedObject(nullptr, ResultTimedOut); - // Read the value from userspace. s32 user_value{}; bool succeeded{}; @@ -256,31 +276,20 @@ ResultCode KAddressArbiter::WaitIfLessThan(VAddr addr, s32 value, bool decrement // Set the arbiter. cur_thread->SetAddressArbiter(&thread_tree, addr); thread_tree.insert(*cur_thread); - cur_thread->SetState(ThreadState::Waiting); - cur_thread->SetWaitReasonForDebugging(ThreadWaitReasonForDebugging::Arbitration); - } - - // Cancel the timer wait. - kernel.TimeManager().UnscheduleTimeEvent(cur_thread); - // Remove from the address arbiter. - { - KScopedSchedulerLock sl(kernel); - - if (cur_thread->IsWaitingForAddressArbiter()) { - thread_tree.erase(thread_tree.iterator_to(*cur_thread)); - cur_thread->ClearAddressArbiter(); - } + // Wait for the thread to finish. + cur_thread->BeginWait(std::addressof(wait_queue)); + cur_thread->SetWaitReasonForDebugging(ThreadWaitReasonForDebugging::Arbitration); } // Get the result. - KSynchronizationObject* dummy{}; - return cur_thread->GetWaitResult(&dummy); + return cur_thread->GetWaitResult(); } ResultCode KAddressArbiter::WaitIfEqual(VAddr addr, s32 value, s64 timeout) { // Prepare to wait. KThread* cur_thread = kernel.CurrentScheduler()->GetCurrentThread(); + ThreadQueueImplForKAddressArbiter wait_queue(kernel, std::addressof(thread_tree)); { KScopedSchedulerLockAndSleep slp{kernel, cur_thread, timeout}; @@ -291,9 +300,6 @@ ResultCode KAddressArbiter::WaitIfEqual(VAddr addr, s32 value, s64 timeout) { return ResultTerminationRequested; } - // Set the synced object. - cur_thread->SetSyncedObject(nullptr, ResultTimedOut); - // Read the value from userspace. s32 user_value{}; if (!ReadFromUser(system, &user_value, addr)) { @@ -316,26 +322,14 @@ ResultCode KAddressArbiter::WaitIfEqual(VAddr addr, s32 value, s64 timeout) { // Set the arbiter. cur_thread->SetAddressArbiter(&thread_tree, addr); thread_tree.insert(*cur_thread); - cur_thread->SetState(ThreadState::Waiting); - cur_thread->SetWaitReasonForDebugging(ThreadWaitReasonForDebugging::Arbitration); - } - - // Cancel the timer wait. - kernel.TimeManager().UnscheduleTimeEvent(cur_thread); - // Remove from the address arbiter. - { - KScopedSchedulerLock sl(kernel); - - if (cur_thread->IsWaitingForAddressArbiter()) { - thread_tree.erase(thread_tree.iterator_to(*cur_thread)); - cur_thread->ClearAddressArbiter(); - } + // Wait for the thread to finish. + cur_thread->BeginWait(std::addressof(wait_queue)); + cur_thread->SetWaitReasonForDebugging(ThreadWaitReasonForDebugging::Arbitration); } // Get the result. - KSynchronizationObject* dummy{}; - return cur_thread->GetWaitResult(&dummy); + return cur_thread->GetWaitResult(); } } // namespace Kernel diff --git a/src/core/hle/kernel/k_auto_object.h b/src/core/hle/kernel/k_auto_object.h index e4fcdbc67..165b76747 100644 --- a/src/core/hle/kernel/k_auto_object.h +++ b/src/core/hle/kernel/k_auto_object.h @@ -170,6 +170,10 @@ public: } } + const std::string& GetName() const { + return name; + } + private: void RegisterWithKernel(); void UnregisterWithKernel(); diff --git a/src/core/hle/kernel/k_class_token.cpp b/src/core/hle/kernel/k_class_token.cpp index 0be0027be..21e2fe494 100644 --- a/src/core/hle/kernel/k_class_token.cpp +++ b/src/core/hle/kernel/k_class_token.cpp @@ -6,6 +6,7 @@ #include "core/hle/kernel/k_class_token.h" #include "core/hle/kernel/k_client_port.h" #include "core/hle/kernel/k_client_session.h" +#include "core/hle/kernel/k_code_memory.h" #include "core/hle/kernel/k_event.h" #include "core/hle/kernel/k_port.h" #include "core/hle/kernel/k_process.h" @@ -48,7 +49,7 @@ static_assert(ClassToken<KWritableEvent> == 0b10001001'00000000); static_assert(ClassToken<KTransferMemory> == 0b10010001'00000000); // static_assert(ClassToken<KDeviceAddressSpace> == 0b01100001'00000000); // static_assert(ClassToken<KSessionRequest> == 0b10100001'00000000); -// static_assert(ClassToken<KCodeMemory> == 0b11000001'00000000); +static_assert(ClassToken<KCodeMemory> == 0b11000001'00000000); // Ensure that the token hierarchy is correct. @@ -79,7 +80,7 @@ static_assert(ClassToken<KWritableEvent> == ((0b10001001 << 8) | ClassToken<KAut static_assert(ClassToken<KTransferMemory> == ((0b10010001 << 8) | ClassToken<KAutoObject>)); // static_assert(ClassToken<KDeviceAddressSpace> == ((0b01100001 << 8) | ClassToken<KAutoObject>)); // static_assert(ClassToken<KSessionRequest> == ((0b10100001 << 8) | ClassToken<KAutoObject>)); -// static_assert(ClassToken<KCodeMemory> == ((0b11000001 << 8) | ClassToken<KAutoObject>)); +static_assert(ClassToken<KCodeMemory> == ((0b11000001 << 8) | ClassToken<KAutoObject>)); // Ensure that the token hierarchy reflects the class hierarchy. diff --git a/src/core/hle/kernel/k_code_memory.cpp b/src/core/hle/kernel/k_code_memory.cpp new file mode 100644 index 000000000..d69f7ffb7 --- /dev/null +++ b/src/core/hle/kernel/k_code_memory.cpp @@ -0,0 +1,146 @@ +// Copyright 2021 yuzu Emulator Project +// Licensed under GPLv2 or any later version +// Refer to the license.txt file included. + +#include "common/common_types.h" +#include "core/device_memory.h" +#include "core/hle/kernel/k_auto_object.h" +#include "core/hle/kernel/k_code_memory.h" +#include "core/hle/kernel/k_light_lock.h" +#include "core/hle/kernel/k_memory_block.h" +#include "core/hle/kernel/k_page_linked_list.h" +#include "core/hle/kernel/k_page_table.h" +#include "core/hle/kernel/k_process.h" +#include "core/hle/kernel/slab_helpers.h" +#include "core/hle/kernel/svc_types.h" +#include "core/hle/result.h" + +namespace Kernel { + +KCodeMemory::KCodeMemory(KernelCore& kernel_) + : KAutoObjectWithSlabHeapAndContainer{kernel_}, m_lock(kernel_) {} + +ResultCode KCodeMemory::Initialize(Core::DeviceMemory& device_memory, VAddr addr, size_t size) { + // Set members. + m_owner = kernel.CurrentProcess(); + + // Get the owner page table. + auto& page_table = m_owner->PageTable(); + + // Construct the page group. + KMemoryInfo kBlockInfo = page_table.QueryInfo(addr); + m_page_group = KPageLinkedList(kBlockInfo.GetAddress(), kBlockInfo.GetNumPages()); + + // Lock the memory. + R_TRY(page_table.LockForCodeMemory(addr, size)) + + // Clear the memory. + for (const auto& block : m_page_group.Nodes()) { + std::memset(device_memory.GetPointer(block.GetAddress()), 0xFF, block.GetSize()); + } + + // Set remaining tracking members. + m_address = addr; + m_is_initialized = true; + m_is_owner_mapped = false; + m_is_mapped = false; + + // We succeeded. + return ResultSuccess; +} + +void KCodeMemory::Finalize() { + // Unlock. + if (!m_is_mapped && !m_is_owner_mapped) { + const size_t size = m_page_group.GetNumPages() * PageSize; + m_owner->PageTable().UnlockForCodeMemory(m_address, size); + } +} + +ResultCode KCodeMemory::Map(VAddr address, size_t size) { + // Validate the size. + R_UNLESS(m_page_group.GetNumPages() == Common::DivideUp(size, PageSize), ResultInvalidSize); + + // Lock ourselves. + KScopedLightLock lk(m_lock); + + // Ensure we're not already mapped. + R_UNLESS(!m_is_mapped, ResultInvalidState); + + // Map the memory. + R_TRY(kernel.CurrentProcess()->PageTable().MapPages( + address, m_page_group, KMemoryState::CodeOut, KMemoryPermission::UserReadWrite)); + + // Mark ourselves as mapped. + m_is_mapped = true; + + return ResultSuccess; +} + +ResultCode KCodeMemory::Unmap(VAddr address, size_t size) { + // Validate the size. + R_UNLESS(m_page_group.GetNumPages() == Common::DivideUp(size, PageSize), ResultInvalidSize); + + // Lock ourselves. + KScopedLightLock lk(m_lock); + + // Unmap the memory. + R_TRY(kernel.CurrentProcess()->PageTable().UnmapPages(address, m_page_group, + KMemoryState::CodeOut)); + + // Mark ourselves as unmapped. + m_is_mapped = false; + + return ResultSuccess; +} + +ResultCode KCodeMemory::MapToOwner(VAddr address, size_t size, Svc::MemoryPermission perm) { + // Validate the size. + R_UNLESS(m_page_group.GetNumPages() == Common::DivideUp(size, PageSize), ResultInvalidSize); + + // Lock ourselves. + KScopedLightLock lk(m_lock); + + // Ensure we're not already mapped. + R_UNLESS(!m_is_owner_mapped, ResultInvalidState); + + // Convert the memory permission. + KMemoryPermission k_perm{}; + switch (perm) { + case Svc::MemoryPermission::Read: + k_perm = KMemoryPermission::UserRead; + break; + case Svc::MemoryPermission::ReadExecute: + k_perm = KMemoryPermission::UserReadExecute; + break; + default: + break; + } + + // Map the memory. + R_TRY( + m_owner->PageTable().MapPages(address, m_page_group, KMemoryState::GeneratedCode, k_perm)); + + // Mark ourselves as mapped. + m_is_owner_mapped = true; + + return ResultSuccess; +} + +ResultCode KCodeMemory::UnmapFromOwner(VAddr address, size_t size) { + // Validate the size. + R_UNLESS(m_page_group.GetNumPages() == Common::DivideUp(size, PageSize), ResultInvalidSize); + + // Lock ourselves. + KScopedLightLock lk(m_lock); + + // Unmap the memory. + R_TRY(m_owner->PageTable().UnmapPages(address, m_page_group, KMemoryState::GeneratedCode)); + + // Mark ourselves as unmapped. + m_is_owner_mapped = false; + + return ResultSuccess; +} + +} // namespace Kernel
\ No newline at end of file diff --git a/src/core/hle/kernel/k_code_memory.h b/src/core/hle/kernel/k_code_memory.h new file mode 100644 index 000000000..e0ba19a53 --- /dev/null +++ b/src/core/hle/kernel/k_code_memory.h @@ -0,0 +1,66 @@ +// Copyright 2021 yuzu Emulator Project +// Licensed under GPLv2 or any later version +// Refer to the license.txt file included. + +#pragma once + +#include "common/common_types.h" +#include "core/device_memory.h" +#include "core/hle/kernel/k_auto_object.h" +#include "core/hle/kernel/k_light_lock.h" +#include "core/hle/kernel/k_page_linked_list.h" +#include "core/hle/kernel/k_process.h" +#include "core/hle/kernel/slab_helpers.h" +#include "core/hle/kernel/svc_types.h" +#include "core/hle/result.h" + +namespace Kernel { + +enum class CodeMemoryOperation : u32 { + Map = 0, + MapToOwner = 1, + Unmap = 2, + UnmapFromOwner = 3, +}; + +class KCodeMemory final + : public KAutoObjectWithSlabHeapAndContainer<KCodeMemory, KAutoObjectWithList> { + KERNEL_AUTOOBJECT_TRAITS(KCodeMemory, KAutoObject); + +public: + explicit KCodeMemory(KernelCore& kernel_); + + ResultCode Initialize(Core::DeviceMemory& device_memory, VAddr address, size_t size); + void Finalize(); + + ResultCode Map(VAddr address, size_t size); + ResultCode Unmap(VAddr address, size_t size); + ResultCode MapToOwner(VAddr address, size_t size, Svc::MemoryPermission perm); + ResultCode UnmapFromOwner(VAddr address, size_t size); + + bool IsInitialized() const { + return m_is_initialized; + } + static void PostDestroy([[maybe_unused]] uintptr_t arg) {} + + KProcess* GetOwner() const { + return m_owner; + } + VAddr GetSourceAddress() const { + return m_address; + } + size_t GetSize() const { + return m_is_initialized ? m_page_group.GetNumPages() * PageSize : 0; + } + +private: + KPageLinkedList m_page_group{}; + KProcess* m_owner{}; + VAddr m_address{}; + KLightLock m_lock; + bool m_is_initialized{}; + bool m_is_owner_mapped{}; + bool m_is_mapped{}; +}; + +} // namespace Kernel diff --git a/src/core/hle/kernel/k_condition_variable.cpp b/src/core/hle/kernel/k_condition_variable.cpp index 7fa9b8cc3..aadcc297a 100644 --- a/src/core/hle/kernel/k_condition_variable.cpp +++ b/src/core/hle/kernel/k_condition_variable.cpp @@ -11,6 +11,7 @@ #include "core/hle/kernel/k_scoped_scheduler_lock_and_sleep.h" #include "core/hle/kernel/k_synchronization_object.h" #include "core/hle/kernel/k_thread.h" +#include "core/hle/kernel/k_thread_queue.h" #include "core/hle/kernel/kernel.h" #include "core/hle/kernel/svc_common.h" #include "core/hle/kernel/svc_results.h" @@ -33,7 +34,7 @@ bool WriteToUser(Core::System& system, VAddr address, const u32* p) { bool UpdateLockAtomic(Core::System& system, u32* out, VAddr address, u32 if_zero, u32 new_orr_mask) { auto& monitor = system.Monitor(); - const auto current_core = system.CurrentCoreIndex(); + const auto current_core = system.Kernel().CurrentPhysicalCoreIndex(); // Load the value from the address. const auto expected = monitor.ExclusiveRead32(current_core, address); @@ -57,6 +58,48 @@ bool UpdateLockAtomic(Core::System& system, u32* out, VAddr address, u32 if_zero return true; } +class ThreadQueueImplForKConditionVariableWaitForAddress final : public KThreadQueue { +public: + explicit ThreadQueueImplForKConditionVariableWaitForAddress(KernelCore& kernel_) + : KThreadQueue(kernel_) {} + + void CancelWait(KThread* waiting_thread, ResultCode wait_result, + bool cancel_timer_task) override { + // Remove the thread as a waiter from its owner. + waiting_thread->GetLockOwner()->RemoveWaiter(waiting_thread); + + // Invoke the base cancel wait handler. + KThreadQueue::CancelWait(waiting_thread, wait_result, cancel_timer_task); + } +}; + +class ThreadQueueImplForKConditionVariableWaitConditionVariable final : public KThreadQueue { +private: + KConditionVariable::ThreadTree* m_tree; + +public: + explicit ThreadQueueImplForKConditionVariableWaitConditionVariable( + KernelCore& kernel_, KConditionVariable::ThreadTree* t) + : KThreadQueue(kernel_), m_tree(t) {} + + void CancelWait(KThread* waiting_thread, ResultCode wait_result, + bool cancel_timer_task) override { + // Remove the thread as a waiter from its owner. + if (KThread* owner = waiting_thread->GetLockOwner(); owner != nullptr) { + owner->RemoveWaiter(waiting_thread); + } + + // If the thread is waiting on a condvar, remove it from the tree. + if (waiting_thread->IsWaitingForConditionVariable()) { + m_tree->erase(m_tree->iterator_to(*waiting_thread)); + waiting_thread->ClearConditionVariable(); + } + + // Invoke the base cancel wait handler. + KThreadQueue::CancelWait(waiting_thread, wait_result, cancel_timer_task); + } +}; + } // namespace KConditionVariable::KConditionVariable(Core::System& system_) @@ -78,84 +121,77 @@ ResultCode KConditionVariable::SignalToAddress(VAddr addr) { // Determine the next tag. u32 next_value{}; - if (next_owner_thread) { + if (next_owner_thread != nullptr) { next_value = next_owner_thread->GetAddressKeyValue(); if (num_waiters > 1) { next_value |= Svc::HandleWaitMask; } - next_owner_thread->SetSyncedObject(nullptr, ResultSuccess); - next_owner_thread->Wakeup(); - } - - // Write the value to userspace. - if (!WriteToUser(system, addr, std::addressof(next_value))) { - if (next_owner_thread) { - next_owner_thread->SetSyncedObject(nullptr, ResultInvalidCurrentMemory); + // Write the value to userspace. + ResultCode result{ResultSuccess}; + if (WriteToUser(system, addr, std::addressof(next_value))) [[likely]] { + result = ResultSuccess; + } else { + result = ResultInvalidCurrentMemory; } - return ResultInvalidCurrentMemory; + // Signal the next owner thread. + next_owner_thread->EndWait(result); + return result; + } else { + // Just write the value to userspace. + R_UNLESS(WriteToUser(system, addr, std::addressof(next_value)), + ResultInvalidCurrentMemory); + + return ResultSuccess; } } - - return ResultSuccess; } ResultCode KConditionVariable::WaitForAddress(Handle handle, VAddr addr, u32 value) { KThread* cur_thread = kernel.CurrentScheduler()->GetCurrentThread(); + ThreadQueueImplForKConditionVariableWaitForAddress wait_queue(kernel); // Wait for the address. + KThread* owner_thread{}; { - KScopedAutoObject<KThread> owner_thread; - ASSERT(owner_thread.IsNull()); - { - KScopedSchedulerLock sl(kernel); - cur_thread->SetSyncedObject(nullptr, ResultSuccess); + KScopedSchedulerLock sl(kernel); - // Check if the thread should terminate. - R_UNLESS(!cur_thread->IsTerminationRequested(), ResultTerminationRequested); + // Check if the thread should terminate. + R_UNLESS(!cur_thread->IsTerminationRequested(), ResultTerminationRequested); - { - // Read the tag from userspace. - u32 test_tag{}; - R_UNLESS(ReadFromUser(system, std::addressof(test_tag), addr), - ResultInvalidCurrentMemory); - - // If the tag isn't the handle (with wait mask), we're done. - R_UNLESS(test_tag == (handle | Svc::HandleWaitMask), ResultSuccess); - - // Get the lock owner thread. - owner_thread = - kernel.CurrentProcess()->GetHandleTable().GetObjectWithoutPseudoHandle<KThread>( - handle); - R_UNLESS(owner_thread.IsNotNull(), ResultInvalidHandle); - - // Update the lock. - cur_thread->SetAddressKey(addr, value); - owner_thread->AddWaiter(cur_thread); - cur_thread->SetState(ThreadState::Waiting); - cur_thread->SetWaitReasonForDebugging(ThreadWaitReasonForDebugging::ConditionVar); - cur_thread->SetMutexWaitAddressForDebugging(addr); - } - } - ASSERT(owner_thread.IsNotNull()); - } + // Read the tag from userspace. + u32 test_tag{}; + R_UNLESS(ReadFromUser(system, std::addressof(test_tag), addr), ResultInvalidCurrentMemory); - // Remove the thread as a waiter from the lock owner. - { - KScopedSchedulerLock sl(kernel); - KThread* owner_thread = cur_thread->GetLockOwner(); - if (owner_thread != nullptr) { - owner_thread->RemoveWaiter(cur_thread); - } + // If the tag isn't the handle (with wait mask), we're done. + R_SUCCEED_IF(test_tag != (handle | Svc::HandleWaitMask)); + + // Get the lock owner thread. + owner_thread = kernel.CurrentProcess() + ->GetHandleTable() + .GetObjectWithoutPseudoHandle<KThread>(handle) + .ReleasePointerUnsafe(); + R_UNLESS(owner_thread != nullptr, ResultInvalidHandle); + + // Update the lock. + cur_thread->SetAddressKey(addr, value); + owner_thread->AddWaiter(cur_thread); + + // Begin waiting. + cur_thread->BeginWait(std::addressof(wait_queue)); + cur_thread->SetWaitReasonForDebugging(ThreadWaitReasonForDebugging::ConditionVar); + cur_thread->SetMutexWaitAddressForDebugging(addr); } + // Close our reference to the owner thread, now that the wait is over. + owner_thread->Close(); + // Get the wait result. - KSynchronizationObject* dummy{}; - return cur_thread->GetWaitResult(std::addressof(dummy)); + return cur_thread->GetWaitResult(); } -KThread* KConditionVariable::SignalImpl(KThread* thread) { +void KConditionVariable::SignalImpl(KThread* thread) { // Check pre-conditions. ASSERT(kernel.GlobalSchedulerContext().IsLocked()); @@ -169,18 +205,16 @@ KThread* KConditionVariable::SignalImpl(KThread* thread) { // TODO(bunnei): We should disable interrupts here via KScopedInterruptDisable. // TODO(bunnei): We should call CanAccessAtomic(..) here. can_access = true; - if (can_access) { + if (can_access) [[likely]] { UpdateLockAtomic(system, std::addressof(prev_tag), address, own_tag, Svc::HandleWaitMask); } } - KThread* thread_to_close = nullptr; - if (can_access) { + if (can_access) [[likely]] { if (prev_tag == Svc::InvalidHandle) { // If nobody held the lock previously, we're all good. - thread->SetSyncedObject(nullptr, ResultSuccess); - thread->Wakeup(); + thread->EndWait(ResultSuccess); } else { // Get the previous owner. KThread* owner_thread = kernel.CurrentProcess() @@ -189,33 +223,22 @@ KThread* KConditionVariable::SignalImpl(KThread* thread) { static_cast<Handle>(prev_tag & ~Svc::HandleWaitMask)) .ReleasePointerUnsafe(); - if (owner_thread) { + if (owner_thread) [[likely]] { // Add the thread as a waiter on the owner. owner_thread->AddWaiter(thread); - thread_to_close = owner_thread; + owner_thread->Close(); } else { // The lock was tagged with a thread that doesn't exist. - thread->SetSyncedObject(nullptr, ResultInvalidState); - thread->Wakeup(); + thread->EndWait(ResultInvalidState); } } } else { // If the address wasn't accessible, note so. - thread->SetSyncedObject(nullptr, ResultInvalidCurrentMemory); - thread->Wakeup(); + thread->EndWait(ResultInvalidCurrentMemory); } - - return thread_to_close; } void KConditionVariable::Signal(u64 cv_key, s32 count) { - // Prepare for signaling. - constexpr int MaxThreads = 16; - - KLinkedList<KThread> thread_list{kernel}; - std::array<KThread*, MaxThreads> thread_array; - s32 num_to_close{}; - // Perform signaling. s32 num_waiters{}; { @@ -226,14 +249,7 @@ void KConditionVariable::Signal(u64 cv_key, s32 count) { (it->GetConditionVariableKey() == cv_key)) { KThread* target_thread = std::addressof(*it); - if (KThread* thread = SignalImpl(target_thread); thread != nullptr) { - if (num_to_close < MaxThreads) { - thread_array[num_to_close++] = thread; - } else { - thread_list.push_back(*thread); - } - } - + this->SignalImpl(target_thread); it = thread_tree.erase(it); target_thread->ClearConditionVariable(); ++num_waiters; @@ -245,27 +261,16 @@ void KConditionVariable::Signal(u64 cv_key, s32 count) { WriteToUser(system, cv_key, std::addressof(has_waiter_flag)); } } - - // Close threads in the array. - for (auto i = 0; i < num_to_close; ++i) { - thread_array[i]->Close(); - } - - // Close threads in the list. - for (auto it = thread_list.begin(); it != thread_list.end(); it = thread_list.erase(it)) { - (*it).Close(); - } } ResultCode KConditionVariable::Wait(VAddr addr, u64 key, u32 value, s64 timeout) { // Prepare to wait. - KThread* cur_thread = kernel.CurrentScheduler()->GetCurrentThread(); + KThread* cur_thread = GetCurrentThreadPointer(kernel); + ThreadQueueImplForKConditionVariableWaitConditionVariable wait_queue( + kernel, std::addressof(thread_tree)); { - KScopedSchedulerLockAndSleep slp{kernel, cur_thread, timeout}; - - // Set the synced object. - cur_thread->SetSyncedObject(nullptr, ResultTimedOut); + KScopedSchedulerLockAndSleep slp(kernel, cur_thread, timeout); // Check that the thread isn't terminating. if (cur_thread->IsTerminationRequested()) { @@ -290,8 +295,7 @@ ResultCode KConditionVariable::Wait(VAddr addr, u64 key, u32 value, s64 timeout) } // Wake up the next owner. - next_owner_thread->SetSyncedObject(nullptr, ResultSuccess); - next_owner_thread->Wakeup(); + next_owner_thread->EndWait(ResultSuccess); } // Write to the cv key. @@ -308,40 +312,21 @@ ResultCode KConditionVariable::Wait(VAddr addr, u64 key, u32 value, s64 timeout) } } - // Update condition variable tracking. - { - cur_thread->SetConditionVariable(std::addressof(thread_tree), addr, key, value); - thread_tree.insert(*cur_thread); - } + // If timeout is zero, time out. + R_UNLESS(timeout != 0, ResultTimedOut); - // If the timeout is non-zero, set the thread as waiting. - if (timeout != 0) { - cur_thread->SetState(ThreadState::Waiting); - cur_thread->SetWaitReasonForDebugging(ThreadWaitReasonForDebugging::ConditionVar); - cur_thread->SetMutexWaitAddressForDebugging(addr); - } - } - - // Cancel the timer wait. - kernel.TimeManager().UnscheduleTimeEvent(cur_thread); - - // Remove from the condition variable. - { - KScopedSchedulerLock sl(kernel); - - if (KThread* owner = cur_thread->GetLockOwner(); owner != nullptr) { - owner->RemoveWaiter(cur_thread); - } + // Update condition variable tracking. + cur_thread->SetConditionVariable(std::addressof(thread_tree), addr, key, value); + thread_tree.insert(*cur_thread); - if (cur_thread->IsWaitingForConditionVariable()) { - thread_tree.erase(thread_tree.iterator_to(*cur_thread)); - cur_thread->ClearConditionVariable(); - } + // Begin waiting. + cur_thread->BeginWait(std::addressof(wait_queue)); + cur_thread->SetWaitReasonForDebugging(ThreadWaitReasonForDebugging::ConditionVar); + cur_thread->SetMutexWaitAddressForDebugging(addr); } - // Get the result. - KSynchronizationObject* dummy{}; - return cur_thread->GetWaitResult(std::addressof(dummy)); + // Get the wait result. + return cur_thread->GetWaitResult(); } } // namespace Kernel diff --git a/src/core/hle/kernel/k_condition_variable.h b/src/core/hle/kernel/k_condition_variable.h index 861dbd420..5e4815d08 100644 --- a/src/core/hle/kernel/k_condition_variable.h +++ b/src/core/hle/kernel/k_condition_variable.h @@ -34,7 +34,7 @@ public: [[nodiscard]] ResultCode Wait(VAddr addr, u64 key, u32 value, s64 timeout); private: - [[nodiscard]] KThread* SignalImpl(KThread* thread); + void SignalImpl(KThread* thread); ThreadTree thread_tree; diff --git a/src/core/hle/kernel/k_handle_table.cpp b/src/core/hle/kernel/k_handle_table.cpp index e90fc0628..cf95f0852 100644 --- a/src/core/hle/kernel/k_handle_table.cpp +++ b/src/core/hle/kernel/k_handle_table.cpp @@ -13,6 +13,7 @@ ResultCode KHandleTable::Finalize() { // Get the table and clear our record of it. u16 saved_table_size = 0; { + KScopedDisableDispatch dd(kernel); KScopedSpinLock lk(m_lock); std::swap(m_table_size, saved_table_size); @@ -43,6 +44,7 @@ bool KHandleTable::Remove(Handle handle) { // Find the object and free the entry. KAutoObject* obj = nullptr; { + KScopedDisableDispatch dd(kernel); KScopedSpinLock lk(m_lock); if (this->IsValidHandle(handle)) { @@ -62,6 +64,7 @@ bool KHandleTable::Remove(Handle handle) { } ResultCode KHandleTable::Add(Handle* out_handle, KAutoObject* obj, u16 type) { + KScopedDisableDispatch dd(kernel); KScopedSpinLock lk(m_lock); // Never exceed our capacity. @@ -84,6 +87,7 @@ ResultCode KHandleTable::Add(Handle* out_handle, KAutoObject* obj, u16 type) { } ResultCode KHandleTable::Reserve(Handle* out_handle) { + KScopedDisableDispatch dd(kernel); KScopedSpinLock lk(m_lock); // Never exceed our capacity. @@ -94,6 +98,7 @@ ResultCode KHandleTable::Reserve(Handle* out_handle) { } void KHandleTable::Unreserve(Handle handle) { + KScopedDisableDispatch dd(kernel); KScopedSpinLock lk(m_lock); // Unpack the handle. @@ -112,6 +117,7 @@ void KHandleTable::Unreserve(Handle handle) { } void KHandleTable::Register(Handle handle, KAutoObject* obj, u16 type) { + KScopedDisableDispatch dd(kernel); KScopedSpinLock lk(m_lock); // Unpack the handle. diff --git a/src/core/hle/kernel/k_handle_table.h b/src/core/hle/kernel/k_handle_table.h index 95ec905ae..4b114ec2f 100644 --- a/src/core/hle/kernel/k_handle_table.h +++ b/src/core/hle/kernel/k_handle_table.h @@ -68,6 +68,7 @@ public: template <typename T = KAutoObject> KScopedAutoObject<T> GetObjectWithoutPseudoHandle(Handle handle) const { // Lock and look up in table. + KScopedDisableDispatch dd(kernel); KScopedSpinLock lk(m_lock); if constexpr (std::is_same_v<T, KAutoObject>) { @@ -122,6 +123,7 @@ public: size_t num_opened; { // Lock the table. + KScopedDisableDispatch dd(kernel); KScopedSpinLock lk(m_lock); for (num_opened = 0; num_opened < num_handles; num_opened++) { // Get the current handle. diff --git a/src/core/hle/kernel/k_light_condition_variable.cpp b/src/core/hle/kernel/k_light_condition_variable.cpp new file mode 100644 index 000000000..a8001fffc --- /dev/null +++ b/src/core/hle/kernel/k_light_condition_variable.cpp @@ -0,0 +1,80 @@ +// Copyright 2021 yuzu Emulator Project +// Licensed under GPLv2 or any later version +// Refer to the license.txt file included. + +#include "core/hle/kernel/k_light_condition_variable.h" +#include "core/hle/kernel/k_scheduler.h" +#include "core/hle/kernel/k_scoped_scheduler_lock_and_sleep.h" +#include "core/hle/kernel/k_thread_queue.h" +#include "core/hle/kernel/svc_results.h" + +namespace Kernel { + +namespace { + +class ThreadQueueImplForKLightConditionVariable final : public KThreadQueue { +public: + ThreadQueueImplForKLightConditionVariable(KernelCore& kernel_, KThread::WaiterList* wl, + bool term) + : KThreadQueue(kernel_), m_wait_list(wl), m_allow_terminating_thread(term) {} + + void CancelWait(KThread* waiting_thread, ResultCode wait_result, + bool cancel_timer_task) override { + // Only process waits if we're allowed to. + if (ResultTerminationRequested == wait_result && m_allow_terminating_thread) { + return; + } + + // Remove the thread from the waiting thread from the light condition variable. + m_wait_list->erase(m_wait_list->iterator_to(*waiting_thread)); + + // Invoke the base cancel wait handler. + KThreadQueue::CancelWait(waiting_thread, wait_result, cancel_timer_task); + } + +private: + KThread::WaiterList* m_wait_list; + bool m_allow_terminating_thread; +}; + +} // namespace + +void KLightConditionVariable::Wait(KLightLock* lock, s64 timeout, bool allow_terminating_thread) { + // Create thread queue. + KThread* owner = GetCurrentThreadPointer(kernel); + + ThreadQueueImplForKLightConditionVariable wait_queue(kernel, std::addressof(wait_list), + allow_terminating_thread); + + // Sleep the thread. + { + KScopedSchedulerLockAndSleep lk(kernel, owner, timeout); + + if (!allow_terminating_thread && owner->IsTerminationRequested()) { + lk.CancelSleep(); + return; + } + + lock->Unlock(); + + // Add the thread to the queue. + wait_list.push_back(*owner); + + // Begin waiting. + owner->BeginWait(std::addressof(wait_queue)); + } + + // Re-acquire the lock. + lock->Lock(); +} + +void KLightConditionVariable::Broadcast() { + KScopedSchedulerLock lk(kernel); + + // Signal all threads. + for (auto it = wait_list.begin(); it != wait_list.end(); it = wait_list.erase(it)) { + it->EndWait(ResultSuccess); + } +} + +} // namespace Kernel diff --git a/src/core/hle/kernel/k_light_condition_variable.h b/src/core/hle/kernel/k_light_condition_variable.h index fb0ad783a..5d6d7f128 100644 --- a/src/core/hle/kernel/k_light_condition_variable.h +++ b/src/core/hle/kernel/k_light_condition_variable.h @@ -2,72 +2,24 @@ // Licensed under GPLv2 or any later version // Refer to the license.txt file included. -// This file references various implementation details from Atmosphere, an open-source firmware for -// the Nintendo Switch. Copyright 2018-2020 Atmosphere-NX. - #pragma once #include "common/common_types.h" -#include "core/hle/kernel/k_scheduler.h" -#include "core/hle/kernel/k_scoped_scheduler_lock_and_sleep.h" -#include "core/hle/kernel/time_manager.h" +#include "core/hle/kernel/k_thread.h" namespace Kernel { + class KernelCore; +class KLightLock; class KLightConditionVariable { public: explicit KLightConditionVariable(KernelCore& kernel_) : kernel{kernel_} {} - void Wait(KLightLock* lock, s64 timeout = -1, bool allow_terminating_thread = true) { - WaitImpl(lock, timeout, allow_terminating_thread); - } - - void Broadcast() { - KScopedSchedulerLock lk{kernel}; - - // Signal all threads. - for (auto& thread : wait_list) { - thread.SetState(ThreadState::Runnable); - } - } + void Wait(KLightLock* lock, s64 timeout = -1, bool allow_terminating_thread = true); + void Broadcast(); private: - void WaitImpl(KLightLock* lock, s64 timeout, bool allow_terminating_thread) { - KThread* owner = GetCurrentThreadPointer(kernel); - - // Sleep the thread. - { - KScopedSchedulerLockAndSleep lk{kernel, owner, timeout}; - - if (!allow_terminating_thread && owner->IsTerminationRequested()) { - lk.CancelSleep(); - return; - } - - lock->Unlock(); - - // Set the thread as waiting. - GetCurrentThread(kernel).SetState(ThreadState::Waiting); - - // Add the thread to the queue. - wait_list.push_back(GetCurrentThread(kernel)); - } - - // Remove the thread from the wait list. - { - KScopedSchedulerLock sl{kernel}; - - wait_list.erase(wait_list.iterator_to(GetCurrentThread(kernel))); - } - - // Cancel the task that the sleep setup. - kernel.TimeManager().UnscheduleTimeEvent(owner); - - // Re-acquire the lock. - lock->Lock(); - } - KernelCore& kernel; KThread::WaiterList wait_list{}; }; diff --git a/src/core/hle/kernel/k_light_lock.cpp b/src/core/hle/kernel/k_light_lock.cpp index 0896e705f..4620342eb 100644 --- a/src/core/hle/kernel/k_light_lock.cpp +++ b/src/core/hle/kernel/k_light_lock.cpp @@ -5,44 +5,59 @@ #include "core/hle/kernel/k_light_lock.h" #include "core/hle/kernel/k_scheduler.h" #include "core/hle/kernel/k_thread.h" +#include "core/hle/kernel/k_thread_queue.h" #include "core/hle/kernel/kernel.h" namespace Kernel { +namespace { + +class ThreadQueueImplForKLightLock final : public KThreadQueue { +public: + explicit ThreadQueueImplForKLightLock(KernelCore& kernel_) : KThreadQueue(kernel_) {} + + void CancelWait(KThread* waiting_thread, ResultCode wait_result, + bool cancel_timer_task) override { + // Remove the thread as a waiter from its owner. + if (KThread* owner = waiting_thread->GetLockOwner(); owner != nullptr) { + owner->RemoveWaiter(waiting_thread); + } + + // Invoke the base cancel wait handler. + KThreadQueue::CancelWait(waiting_thread, wait_result, cancel_timer_task); + } +}; + +} // namespace + void KLightLock::Lock() { const uintptr_t cur_thread = reinterpret_cast<uintptr_t>(GetCurrentThreadPointer(kernel)); - const uintptr_t cur_thread_tag = (cur_thread | 1); while (true) { uintptr_t old_tag = tag.load(std::memory_order_relaxed); - while (!tag.compare_exchange_weak(old_tag, (old_tag == 0) ? cur_thread : old_tag | 1, + while (!tag.compare_exchange_weak(old_tag, (old_tag == 0) ? cur_thread : (old_tag | 1), std::memory_order_acquire)) { - if ((old_tag | 1) == cur_thread_tag) { - return; - } } - if ((old_tag == 0) || ((old_tag | 1) == cur_thread_tag)) { + if (old_tag == 0 || this->LockSlowPath(old_tag | 1, cur_thread)) { break; } - - LockSlowPath(old_tag | 1, cur_thread); } } void KLightLock::Unlock() { const uintptr_t cur_thread = reinterpret_cast<uintptr_t>(GetCurrentThreadPointer(kernel)); + uintptr_t expected = cur_thread; - do { - if (expected != cur_thread) { - return UnlockSlowPath(cur_thread); - } - } while (!tag.compare_exchange_weak(expected, 0, std::memory_order_release)); + if (!tag.compare_exchange_strong(expected, 0, std::memory_order_release)) { + this->UnlockSlowPath(cur_thread); + } } -void KLightLock::LockSlowPath(uintptr_t _owner, uintptr_t _cur_thread) { +bool KLightLock::LockSlowPath(uintptr_t _owner, uintptr_t _cur_thread) { KThread* cur_thread = reinterpret_cast<KThread*>(_cur_thread); + ThreadQueueImplForKLightLock wait_queue(kernel); // Pend the current thread waiting on the owner thread. { @@ -50,7 +65,7 @@ void KLightLock::LockSlowPath(uintptr_t _owner, uintptr_t _cur_thread) { // Ensure we actually have locking to do. if (tag.load(std::memory_order_relaxed) != _owner) { - return; + return false; } // Add the current thread as a waiter on the owner. @@ -58,22 +73,15 @@ void KLightLock::LockSlowPath(uintptr_t _owner, uintptr_t _cur_thread) { cur_thread->SetAddressKey(reinterpret_cast<uintptr_t>(std::addressof(tag))); owner_thread->AddWaiter(cur_thread); - // Set thread states. - cur_thread->SetState(ThreadState::Waiting); + // Begin waiting to hold the lock. + cur_thread->BeginWait(std::addressof(wait_queue)); if (owner_thread->IsSuspended()) { owner_thread->ContinueIfHasKernelWaiters(); } } - // We're no longer waiting on the lock owner. - { - KScopedSchedulerLock sl{kernel}; - - if (KThread* owner_thread = cur_thread->GetLockOwner(); owner_thread != nullptr) { - owner_thread->RemoveWaiter(cur_thread); - } - } + return true; } void KLightLock::UnlockSlowPath(uintptr_t _cur_thread) { @@ -81,22 +89,20 @@ void KLightLock::UnlockSlowPath(uintptr_t _cur_thread) { // Unlock. { - KScopedSchedulerLock sl{kernel}; + KScopedSchedulerLock sl(kernel); // Get the next owner. - s32 num_waiters = 0; + s32 num_waiters; KThread* next_owner = owner_thread->RemoveWaiterByKey( std::addressof(num_waiters), reinterpret_cast<uintptr_t>(std::addressof(tag))); // Pass the lock to the next owner. uintptr_t next_tag = 0; if (next_owner != nullptr) { - next_tag = reinterpret_cast<uintptr_t>(next_owner); - if (num_waiters > 1) { - next_tag |= 0x1; - } + next_tag = + reinterpret_cast<uintptr_t>(next_owner) | static_cast<uintptr_t>(num_waiters > 1); - next_owner->SetState(ThreadState::Runnable); + next_owner->EndWait(ResultSuccess); if (next_owner->IsSuspended()) { next_owner->ContinueIfHasKernelWaiters(); @@ -110,7 +116,7 @@ void KLightLock::UnlockSlowPath(uintptr_t _cur_thread) { } // Write the new tag value. - tag.store(next_tag); + tag.store(next_tag, std::memory_order_release); } } diff --git a/src/core/hle/kernel/k_light_lock.h b/src/core/hle/kernel/k_light_lock.h index ad853661d..4163b8a85 100644 --- a/src/core/hle/kernel/k_light_lock.h +++ b/src/core/hle/kernel/k_light_lock.h @@ -20,7 +20,7 @@ public: void Unlock(); - void LockSlowPath(uintptr_t owner, uintptr_t cur_thread); + bool LockSlowPath(uintptr_t owner, uintptr_t cur_thread); void UnlockSlowPath(uintptr_t cur_thread); diff --git a/src/core/hle/kernel/k_memory_block.h b/src/core/hle/kernel/k_memory_block.h index a7fdb5fb8..fd491146f 100644 --- a/src/core/hle/kernel/k_memory_block.h +++ b/src/core/hle/kernel/k_memory_block.h @@ -131,6 +131,26 @@ enum class KMemoryPermission : u8 { UserMask = static_cast<u8>(Svc::MemoryPermission::Read | Svc::MemoryPermission::Write | Svc::MemoryPermission::Execute), + + KernelShift = 3, + + KernelRead = Read << KernelShift, + KernelWrite = Write << KernelShift, + KernelExecute = Execute << KernelShift, + + NotMapped = (1 << (2 * KernelShift)), + + KernelReadWrite = KernelRead | KernelWrite, + KernelReadExecute = KernelRead | KernelExecute, + + UserRead = Read | KernelRead, + UserWrite = Write | KernelWrite, + UserExecute = Execute, + + UserReadWrite = UserRead | UserWrite, + UserReadExecute = UserRead | UserExecute, + + IpcLockChangeMask = NotMapped | UserReadWrite }; DECLARE_ENUM_FLAG_OPERATORS(KMemoryPermission); diff --git a/src/core/hle/kernel/k_page_linked_list.h b/src/core/hle/kernel/k_page_linked_list.h index 3362fb236..0e2ae582a 100644 --- a/src/core/hle/kernel/k_page_linked_list.h +++ b/src/core/hle/kernel/k_page_linked_list.h @@ -27,6 +27,10 @@ public: return num_pages; } + constexpr std::size_t GetSize() const { + return GetNumPages() * PageSize; + } + private: u64 addr{}; std::size_t num_pages{}; diff --git a/src/core/hle/kernel/k_page_table.cpp b/src/core/hle/kernel/k_page_table.cpp index 9bda5c5b2..99982e5a3 100644 --- a/src/core/hle/kernel/k_page_table.cpp +++ b/src/core/hle/kernel/k_page_table.cpp @@ -368,6 +368,33 @@ ResultCode KPageTable::UnmapProcessCodeMemory(VAddr dst_addr, VAddr src_addr, st return ResultSuccess; } +ResultCode KPageTable::UnmapProcessMemory(VAddr dst_addr, std::size_t size, + KPageTable& src_page_table, VAddr src_addr) { + std::lock_guard lock{page_table_lock}; + + const std::size_t num_pages{size / PageSize}; + + // Check that the memory is mapped in the destination process. + size_t num_allocator_blocks; + R_TRY(CheckMemoryState(&num_allocator_blocks, dst_addr, size, KMemoryState::All, + KMemoryState::SharedCode, KMemoryPermission::UserReadWrite, + KMemoryPermission::UserReadWrite, KMemoryAttribute::All, + KMemoryAttribute::None)); + + // Check that the memory is mapped in the source process. + R_TRY(src_page_table.CheckMemoryState(src_addr, size, KMemoryState::FlagCanMapProcess, + KMemoryState::FlagCanMapProcess, KMemoryPermission::None, + KMemoryPermission::None, KMemoryAttribute::All, + KMemoryAttribute::None)); + + CASCADE_CODE(Operate(dst_addr, num_pages, KMemoryPermission::None, OperationType::Unmap)); + + // Apply the memory block update. + block_manager->Update(dst_addr, num_pages, KMemoryState::Free, KMemoryPermission::None, + KMemoryAttribute::None); + + return ResultSuccess; +} void KPageTable::MapPhysicalMemory(KPageLinkedList& page_linked_list, VAddr start, VAddr end) { auto node{page_linked_list.Nodes().begin()}; PAddr map_addr{node->GetAddress()}; @@ -942,6 +969,60 @@ ResultCode KPageTable::UnlockForDeviceAddressSpace(VAddr addr, std::size_t size) return ResultSuccess; } +ResultCode KPageTable::LockForCodeMemory(VAddr addr, std::size_t size) { + std::lock_guard lock{page_table_lock}; + + KMemoryPermission new_perm = KMemoryPermission::NotMapped | KMemoryPermission::KernelReadWrite; + + KMemoryPermission old_perm{}; + + if (const ResultCode result{CheckMemoryState( + nullptr, &old_perm, nullptr, addr, size, KMemoryState::FlagCanCodeMemory, + KMemoryState::FlagCanCodeMemory, KMemoryPermission::Mask, + KMemoryPermission::UserReadWrite, KMemoryAttribute::All, KMemoryAttribute::None)}; + result.IsError()) { + return result; + } + + new_perm = (new_perm != KMemoryPermission::None) ? new_perm : old_perm; + + block_manager->UpdateLock( + addr, size / PageSize, + [](KMemoryBlockManager::iterator block, KMemoryPermission permission) { + block->ShareToDevice(permission); + }, + new_perm); + + return ResultSuccess; +} + +ResultCode KPageTable::UnlockForCodeMemory(VAddr addr, std::size_t size) { + std::lock_guard lock{page_table_lock}; + + KMemoryPermission new_perm = KMemoryPermission::UserReadWrite; + + KMemoryPermission old_perm{}; + + if (const ResultCode result{CheckMemoryState( + nullptr, &old_perm, nullptr, addr, size, KMemoryState::FlagCanCodeMemory, + KMemoryState::FlagCanCodeMemory, KMemoryPermission::None, KMemoryPermission::None, + KMemoryAttribute::All, KMemoryAttribute::Locked)}; + result.IsError()) { + return result; + } + + new_perm = (new_perm != KMemoryPermission::None) ? new_perm : old_perm; + + block_manager->UpdateLock( + addr, size / PageSize, + [](KMemoryBlockManager::iterator block, KMemoryPermission permission) { + block->UnshareToDevice(permission); + }, + new_perm); + + return ResultSuccess; +} + ResultCode KPageTable::InitializeMemoryLayout(VAddr start, VAddr end) { block_manager = std::make_unique<KMemoryBlockManager>(start, end); @@ -1231,4 +1312,42 @@ ResultCode KPageTable::CheckMemoryState(KMemoryState* out_state, KMemoryPermissi return ResultSuccess; } +ResultCode KPageTable::CheckMemoryState(size_t* out_blocks_needed, VAddr addr, size_t size, + KMemoryState state_mask, KMemoryState state, + KMemoryPermission perm_mask, KMemoryPermission perm, + KMemoryAttribute attr_mask, KMemoryAttribute attr) const { + // Get information about the first block. + const VAddr last_addr = addr + size - 1; + KMemoryBlockManager::const_iterator it{block_manager->FindIterator(addr)}; + KMemoryInfo info = it->GetMemoryInfo(); + + // If the start address isn't aligned, we need a block. + const size_t blocks_for_start_align = + (Common::AlignDown(addr, PageSize) != info.GetAddress()) ? 1 : 0; + + while (true) { + // Validate against the provided masks. + R_TRY(CheckMemoryState(info, state_mask, state, perm_mask, perm, attr_mask, attr)); + + // Break once we're done. + if (last_addr <= info.GetLastAddress()) { + break; + } + + // Advance our iterator. + it++; + info = it->GetMemoryInfo(); + } + + // If the end address isn't aligned, we need a block. + const size_t blocks_for_end_align = + (Common::AlignUp(addr + size, PageSize) != info.GetEndAddress()) ? 1 : 0; + + if (out_blocks_needed != nullptr) { + *out_blocks_needed = blocks_for_start_align + blocks_for_end_align; + } + + return ResultSuccess; +} + } // namespace Kernel diff --git a/src/core/hle/kernel/k_page_table.h b/src/core/hle/kernel/k_page_table.h index b7ec38f06..d784aa67e 100644 --- a/src/core/hle/kernel/k_page_table.h +++ b/src/core/hle/kernel/k_page_table.h @@ -33,6 +33,8 @@ public: KMemoryPermission perm); ResultCode MapProcessCodeMemory(VAddr dst_addr, VAddr src_addr, std::size_t size); ResultCode UnmapProcessCodeMemory(VAddr dst_addr, VAddr src_addr, std::size_t size); + ResultCode UnmapProcessMemory(VAddr dst_addr, std::size_t size, KPageTable& src_page_table, + VAddr src_addr); ResultCode MapPhysicalMemory(VAddr addr, std::size_t size); ResultCode UnmapPhysicalMemory(VAddr addr, std::size_t size); ResultCode UnmapMemory(VAddr addr, std::size_t size); @@ -55,6 +57,8 @@ public: KMemoryPermission perm, PAddr map_addr = 0); ResultCode LockForDeviceAddressSpace(VAddr addr, std::size_t size); ResultCode UnlockForDeviceAddressSpace(VAddr addr, std::size_t size); + ResultCode LockForCodeMemory(VAddr addr, std::size_t size); + ResultCode UnlockForCodeMemory(VAddr addr, std::size_t size); Common::PageTable& PageTableImpl() { return page_table_impl; @@ -115,6 +119,10 @@ private: return CheckMemoryState(nullptr, nullptr, nullptr, addr, size, state_mask, state, perm_mask, perm, attr_mask, attr, ignore_attr); } + ResultCode CheckMemoryState(size_t* out_blocks_needed, VAddr addr, size_t size, + KMemoryState state_mask, KMemoryState state, + KMemoryPermission perm_mask, KMemoryPermission perm, + KMemoryAttribute attr_mask, KMemoryAttribute attr) const; std::recursive_mutex page_table_lock; std::unique_ptr<KMemoryBlockManager> block_manager; diff --git a/src/core/hle/kernel/k_process.cpp b/src/core/hle/kernel/k_process.cpp index 1aad061e1..90dda40dc 100644 --- a/src/core/hle/kernel/k_process.cpp +++ b/src/core/hle/kernel/k_process.cpp @@ -60,6 +60,7 @@ void SetupMainThread(Core::System& system, KProcess& owner_process, u32 priority thread->GetContext64().cpu_registers[0] = 0; thread->GetContext32().cpu_registers[1] = thread_handle; thread->GetContext64().cpu_registers[1] = thread_handle; + thread->DisableDispatch(); auto& kernel = system.Kernel(); // Threads by default are dormant, wake up the main thread so it runs when the scheduler fires @@ -227,12 +228,15 @@ void KProcess::PinCurrentThread() { const s32 core_id = GetCurrentCoreId(kernel); KThread* cur_thread = GetCurrentThreadPointer(kernel); - // Pin it. - PinThread(core_id, cur_thread); - cur_thread->Pin(); + // If the thread isn't terminated, pin it. + if (!cur_thread->IsTerminationRequested()) { + // Pin it. + PinThread(core_id, cur_thread); + cur_thread->Pin(); - // An update is needed. - KScheduler::SetSchedulerUpdateNeeded(kernel); + // An update is needed. + KScheduler::SetSchedulerUpdateNeeded(kernel); + } } void KProcess::UnpinCurrentThread() { @@ -250,6 +254,20 @@ void KProcess::UnpinCurrentThread() { KScheduler::SetSchedulerUpdateNeeded(kernel); } +void KProcess::UnpinThread(KThread* thread) { + ASSERT(kernel.GlobalSchedulerContext().IsLocked()); + + // Get the thread's core id. + const auto core_id = thread->GetActiveCore(); + + // Unpin it. + UnpinThread(core_id, thread); + thread->Unpin(); + + // An update is needed. + KScheduler::SetSchedulerUpdateNeeded(kernel); +} + ResultCode KProcess::AddSharedMemory(KSharedMemory* shmem, [[maybe_unused]] VAddr address, [[maybe_unused]] size_t size) { // Lock ourselves, to prevent concurrent access. diff --git a/src/core/hle/kernel/k_process.h b/src/core/hle/kernel/k_process.h index 8a8c1fcbb..cb93c7e24 100644 --- a/src/core/hle/kernel/k_process.h +++ b/src/core/hle/kernel/k_process.h @@ -347,6 +347,7 @@ public: void PinCurrentThread(); void UnpinCurrentThread(); + void UnpinThread(KThread* thread); KLightLock& GetStateLock() { return state_lock; diff --git a/src/core/hle/kernel/k_scheduler.cpp b/src/core/hle/kernel/k_scheduler.cpp index 6a7d80d03..277201de4 100644 --- a/src/core/hle/kernel/k_scheduler.cpp +++ b/src/core/hle/kernel/k_scheduler.cpp @@ -240,8 +240,8 @@ void KScheduler::OnThreadPriorityChanged(KernelCore& kernel, KThread* thread, s3 // If the thread is runnable, we want to change its priority in the queue. if (thread->GetRawState() == ThreadState::Runnable) { - GetPriorityQueue(kernel).ChangePriority( - old_priority, thread == kernel.CurrentScheduler()->GetCurrentThread(), thread); + GetPriorityQueue(kernel).ChangePriority(old_priority, + thread == kernel.GetCurrentEmuThread(), thread); IncrementScheduledCount(thread); SetSchedulerUpdateNeeded(kernel); } @@ -360,7 +360,7 @@ void KScheduler::RotateScheduledQueue(s32 cpu_core_id, s32 priority) { } bool KScheduler::CanSchedule(KernelCore& kernel) { - return kernel.CurrentScheduler()->GetCurrentThread()->GetDisableDispatchCount() <= 1; + return kernel.GetCurrentEmuThread()->GetDisableDispatchCount() <= 1; } bool KScheduler::IsSchedulerUpdateNeeded(const KernelCore& kernel) { @@ -376,20 +376,30 @@ void KScheduler::ClearSchedulerUpdateNeeded(KernelCore& kernel) { } void KScheduler::DisableScheduling(KernelCore& kernel) { - if (auto* scheduler = kernel.CurrentScheduler(); scheduler) { - ASSERT(scheduler->GetCurrentThread()->GetDisableDispatchCount() >= 0); - scheduler->GetCurrentThread()->DisableDispatch(); + // If we are shutting down the kernel, none of this is relevant anymore. + if (kernel.IsShuttingDown()) { + return; } + + ASSERT(GetCurrentThreadPointer(kernel)->GetDisableDispatchCount() >= 0); + GetCurrentThreadPointer(kernel)->DisableDispatch(); } void KScheduler::EnableScheduling(KernelCore& kernel, u64 cores_needing_scheduling) { - if (auto* scheduler = kernel.CurrentScheduler(); scheduler) { - ASSERT(scheduler->GetCurrentThread()->GetDisableDispatchCount() >= 1); - if (scheduler->GetCurrentThread()->GetDisableDispatchCount() >= 1) { - scheduler->GetCurrentThread()->EnableDispatch(); - } + // If we are shutting down the kernel, none of this is relevant anymore. + if (kernel.IsShuttingDown()) { + return; + } + + auto* current_thread = GetCurrentThreadPointer(kernel); + + ASSERT(current_thread->GetDisableDispatchCount() >= 1); + + if (current_thread->GetDisableDispatchCount() > 1) { + current_thread->EnableDispatch(); + } else { + RescheduleCores(kernel, cores_needing_scheduling); } - RescheduleCores(kernel, cores_needing_scheduling); } u64 KScheduler::UpdateHighestPriorityThreads(KernelCore& kernel) { @@ -617,13 +627,17 @@ KScheduler::KScheduler(Core::System& system_, s32 core_id_) : system{system_}, c state.highest_priority_thread = nullptr; } -KScheduler::~KScheduler() { +void KScheduler::Finalize() { if (idle_thread) { idle_thread->Close(); idle_thread = nullptr; } } +KScheduler::~KScheduler() { + ASSERT(!idle_thread); +} + KThread* KScheduler::GetCurrentThread() const { if (auto result = current_thread.load(); result) { return result; @@ -642,10 +656,12 @@ void KScheduler::RescheduleCurrentCore() { if (phys_core.IsInterrupted()) { phys_core.ClearInterrupt(); } + guard.Lock(); if (state.needs_scheduling.load()) { Schedule(); } else { + GetCurrentThread()->EnableDispatch(); guard.Unlock(); } } @@ -655,26 +671,33 @@ void KScheduler::OnThreadStart() { } void KScheduler::Unload(KThread* thread) { + ASSERT(thread); + LOG_TRACE(Kernel, "core {}, unload thread {}", core_id, thread ? thread->GetName() : "nullptr"); - if (thread) { - if (thread->IsCallingSvc()) { - thread->ClearIsCallingSvc(); - } - if (!thread->IsTerminationRequested()) { - prev_thread = thread; - - Core::ARM_Interface& cpu_core = system.ArmInterface(core_id); - cpu_core.SaveContext(thread->GetContext32()); - cpu_core.SaveContext(thread->GetContext64()); - // Save the TPIDR_EL0 system register in case it was modified. - thread->SetTPIDR_EL0(cpu_core.GetTPIDR_EL0()); - cpu_core.ClearExclusiveState(); - } else { - prev_thread = nullptr; - } - thread->context_guard.Unlock(); + if (thread->IsCallingSvc()) { + thread->ClearIsCallingSvc(); + } + + auto& physical_core = system.Kernel().PhysicalCore(core_id); + if (!physical_core.IsInitialized()) { + return; + } + + Core::ARM_Interface& cpu_core = physical_core.ArmInterface(); + cpu_core.SaveContext(thread->GetContext32()); + cpu_core.SaveContext(thread->GetContext64()); + // Save the TPIDR_EL0 system register in case it was modified. + thread->SetTPIDR_EL0(cpu_core.GetTPIDR_EL0()); + cpu_core.ClearExclusiveState(); + + if (!thread->IsTerminationRequested() && thread->GetActiveCore() == core_id) { + prev_thread = thread; + } else { + prev_thread = nullptr; } + + thread->context_guard.Unlock(); } void KScheduler::Reload(KThread* thread) { @@ -683,11 +706,6 @@ void KScheduler::Reload(KThread* thread) { if (thread) { ASSERT_MSG(thread->GetState() == ThreadState::Runnable, "Thread must be runnable."); - auto* const thread_owner_process = thread->GetOwnerProcess(); - if (thread_owner_process != nullptr) { - system.Kernel().MakeCurrentProcess(thread_owner_process); - } - Core::ARM_Interface& cpu_core = system.ArmInterface(core_id); cpu_core.LoadContext(thread->GetContext32()); cpu_core.LoadContext(thread->GetContext64()); @@ -705,7 +723,7 @@ void KScheduler::SwitchContextStep2() { } void KScheduler::ScheduleImpl() { - KThread* previous_thread = current_thread.load(); + KThread* previous_thread = GetCurrentThread(); KThread* next_thread = state.highest_priority_thread; state.needs_scheduling = false; @@ -717,10 +735,15 @@ void KScheduler::ScheduleImpl() { // If we're not actually switching thread, there's nothing to do. if (next_thread == current_thread.load()) { + previous_thread->EnableDispatch(); guard.Unlock(); return; } + if (next_thread->GetCurrentCore() != core_id) { + next_thread->SetCurrentCore(core_id); + } + current_thread.store(next_thread); KProcess* const previous_process = system.Kernel().CurrentProcess(); @@ -731,11 +754,7 @@ void KScheduler::ScheduleImpl() { Unload(previous_thread); std::shared_ptr<Common::Fiber>* old_context; - if (previous_thread != nullptr) { - old_context = &previous_thread->GetHostContext(); - } else { - old_context = &idle_thread->GetHostContext(); - } + old_context = &previous_thread->GetHostContext(); guard.Unlock(); Common::Fiber::YieldTo(*old_context, *switch_fiber); diff --git a/src/core/hle/kernel/k_scheduler.h b/src/core/hle/kernel/k_scheduler.h index 7df288438..82fcd99e7 100644 --- a/src/core/hle/kernel/k_scheduler.h +++ b/src/core/hle/kernel/k_scheduler.h @@ -33,6 +33,8 @@ public: explicit KScheduler(Core::System& system_, s32 core_id_); ~KScheduler(); + void Finalize(); + /// Reschedules to the next available thread (call after current thread is suspended) void RescheduleCurrentCore(); diff --git a/src/core/hle/kernel/k_scheduler_lock.h b/src/core/hle/kernel/k_scheduler_lock.h index c571f2992..93c47f1b1 100644 --- a/src/core/hle/kernel/k_scheduler_lock.h +++ b/src/core/hle/kernel/k_scheduler_lock.h @@ -23,6 +23,11 @@ public: } void Lock() { + // If we are shutting down the kernel, none of this is relevant anymore. + if (kernel.IsShuttingDown()) { + return; + } + if (IsLockedByCurrentThread()) { // If we already own the lock, we can just increment the count. ASSERT(lock_count > 0); @@ -43,6 +48,11 @@ public: } void Unlock() { + // If we are shutting down the kernel, none of this is relevant anymore. + if (kernel.IsShuttingDown()) { + return; + } + ASSERT(IsLockedByCurrentThread()); ASSERT(lock_count > 0); diff --git a/src/core/hle/kernel/k_scoped_scheduler_lock_and_sleep.h b/src/core/hle/kernel/k_scoped_scheduler_lock_and_sleep.h index 61dc2858f..2995c492d 100644 --- a/src/core/hle/kernel/k_scoped_scheduler_lock_and_sleep.h +++ b/src/core/hle/kernel/k_scoped_scheduler_lock_and_sleep.h @@ -8,6 +8,7 @@ #pragma once #include "common/common_types.h" +#include "core/hle/kernel/global_scheduler_context.h" #include "core/hle/kernel/k_thread.h" #include "core/hle/kernel/kernel.h" #include "core/hle/kernel/time_manager.h" diff --git a/src/core/hle/kernel/k_server_session.cpp b/src/core/hle/kernel/k_server_session.cpp index 2bd53ccbd..d4e4a6b06 100644 --- a/src/core/hle/kernel/k_server_session.cpp +++ b/src/core/hle/kernel/k_server_session.cpp @@ -175,8 +175,7 @@ ResultCode KServerSession::CompleteSyncRequest(HLERequestContext& context) { { KScopedSchedulerLock lock(kernel); if (!context.IsThreadWaiting()) { - context.GetThread().Wakeup(); - context.GetThread().SetSyncedObject(nullptr, result); + context.GetThread().EndWait(result); } } diff --git a/src/core/hle/kernel/k_synchronization_object.cpp b/src/core/hle/kernel/k_synchronization_object.cpp index f168b4f21..e4c5eb74f 100644 --- a/src/core/hle/kernel/k_synchronization_object.cpp +++ b/src/core/hle/kernel/k_synchronization_object.cpp @@ -8,11 +8,66 @@ #include "core/hle/kernel/k_scoped_scheduler_lock_and_sleep.h" #include "core/hle/kernel/k_synchronization_object.h" #include "core/hle/kernel/k_thread.h" +#include "core/hle/kernel/k_thread_queue.h" #include "core/hle/kernel/kernel.h" #include "core/hle/kernel/svc_results.h" namespace Kernel { +namespace { + +class ThreadQueueImplForKSynchronizationObjectWait final : public KThreadQueueWithoutEndWait { +public: + ThreadQueueImplForKSynchronizationObjectWait(KernelCore& kernel_, KSynchronizationObject** o, + KSynchronizationObject::ThreadListNode* n, s32 c) + : KThreadQueueWithoutEndWait(kernel_), m_objects(o), m_nodes(n), m_count(c) {} + + void NotifyAvailable(KThread* waiting_thread, KSynchronizationObject* signaled_object, + ResultCode wait_result) override { + // Determine the sync index, and unlink all nodes. + s32 sync_index = -1; + for (auto i = 0; i < m_count; ++i) { + // Check if this is the signaled object. + if (m_objects[i] == signaled_object && sync_index == -1) { + sync_index = i; + } + + // Unlink the current node from the current object. + m_objects[i]->UnlinkNode(std::addressof(m_nodes[i])); + } + + // Set the waiting thread's sync index. + waiting_thread->SetSyncedIndex(sync_index); + + // Set the waiting thread as not cancellable. + waiting_thread->ClearCancellable(); + + // Invoke the base end wait handler. + KThreadQueue::EndWait(waiting_thread, wait_result); + } + + void CancelWait(KThread* waiting_thread, ResultCode wait_result, + bool cancel_timer_task) override { + // Remove all nodes from our list. + for (auto i = 0; i < m_count; ++i) { + m_objects[i]->UnlinkNode(std::addressof(m_nodes[i])); + } + + // Set the waiting thread as not cancellable. + waiting_thread->ClearCancellable(); + + // Invoke the base cancel wait handler. + KThreadQueue::CancelWait(waiting_thread, wait_result, cancel_timer_task); + } + +private: + KSynchronizationObject** m_objects; + KSynchronizationObject::ThreadListNode* m_nodes; + s32 m_count; +}; + +} // namespace + void KSynchronizationObject::Finalize() { this->OnFinalizeSynchronizationObject(); KAutoObject::Finalize(); @@ -25,11 +80,19 @@ ResultCode KSynchronizationObject::Wait(KernelCore& kernel_ctx, s32* out_index, std::vector<ThreadListNode> thread_nodes(num_objects); // Prepare for wait. - KThread* thread = kernel_ctx.CurrentScheduler()->GetCurrentThread(); + KThread* thread = GetCurrentThreadPointer(kernel_ctx); + ThreadQueueImplForKSynchronizationObjectWait wait_queue(kernel_ctx, objects, + thread_nodes.data(), num_objects); { // Setup the scheduling lock and sleep. - KScopedSchedulerLockAndSleep slp{kernel_ctx, thread, timeout}; + KScopedSchedulerLockAndSleep slp(kernel_ctx, thread, timeout); + + // Check if the thread should terminate. + if (thread->IsTerminationRequested()) { + slp.CancelSleep(); + return ResultTerminationRequested; + } // Check if any of the objects are already signaled. for (auto i = 0; i < num_objects; ++i) { @@ -48,12 +111,6 @@ ResultCode KSynchronizationObject::Wait(KernelCore& kernel_ctx, s32* out_index, return ResultTimedOut; } - // Check if the thread should terminate. - if (thread->IsTerminationRequested()) { - slp.CancelSleep(); - return ResultTerminationRequested; - } - // Check if waiting was canceled. if (thread->IsWaitCancelled()) { slp.CancelSleep(); @@ -66,73 +123,25 @@ ResultCode KSynchronizationObject::Wait(KernelCore& kernel_ctx, s32* out_index, thread_nodes[i].thread = thread; thread_nodes[i].next = nullptr; - if (objects[i]->thread_list_tail == nullptr) { - objects[i]->thread_list_head = std::addressof(thread_nodes[i]); - } else { - objects[i]->thread_list_tail->next = std::addressof(thread_nodes[i]); - } - - objects[i]->thread_list_tail = std::addressof(thread_nodes[i]); + objects[i]->LinkNode(std::addressof(thread_nodes[i])); } - // For debugging only - thread->SetWaitObjectsForDebugging({objects, static_cast<std::size_t>(num_objects)}); - - // Mark the thread as waiting. + // Mark the thread as cancellable. thread->SetCancellable(); - thread->SetSyncedObject(nullptr, ResultTimedOut); - thread->SetState(ThreadState::Waiting); - thread->SetWaitReasonForDebugging(ThreadWaitReasonForDebugging::Synchronization); - } - // The lock/sleep is done, so we should be able to get our result. + // Clear the thread's synced index. + thread->SetSyncedIndex(-1); - // Thread is no longer cancellable. - thread->ClearCancellable(); - - // For debugging only - thread->SetWaitObjectsForDebugging({}); + // Wait for an object to be signaled. + thread->BeginWait(std::addressof(wait_queue)); + thread->SetWaitReasonForDebugging(ThreadWaitReasonForDebugging::Synchronization); + } - // Cancel the timer as needed. - kernel_ctx.TimeManager().UnscheduleTimeEvent(thread); + // Set the output index. + *out_index = thread->GetSyncedIndex(); // Get the wait result. - ResultCode wait_result{ResultSuccess}; - s32 sync_index = -1; - { - KScopedSchedulerLock lock(kernel_ctx); - KSynchronizationObject* synced_obj; - wait_result = thread->GetWaitResult(std::addressof(synced_obj)); - - for (auto i = 0; i < num_objects; ++i) { - // Unlink the object from the list. - ThreadListNode* prev_ptr = - reinterpret_cast<ThreadListNode*>(std::addressof(objects[i]->thread_list_head)); - ThreadListNode* prev_val = nullptr; - ThreadListNode *prev, *tail_prev; - - do { - prev = prev_ptr; - prev_ptr = prev_ptr->next; - tail_prev = prev_val; - prev_val = prev_ptr; - } while (prev_ptr != std::addressof(thread_nodes[i])); - - if (objects[i]->thread_list_tail == std::addressof(thread_nodes[i])) { - objects[i]->thread_list_tail = tail_prev; - } - - prev->next = thread_nodes[i].next; - - if (objects[i] == synced_obj) { - sync_index = i; - } - } - } - - // Set output. - *out_index = sync_index; - return wait_result; + return thread->GetWaitResult(); } KSynchronizationObject::KSynchronizationObject(KernelCore& kernel_) @@ -141,7 +150,7 @@ KSynchronizationObject::KSynchronizationObject(KernelCore& kernel_) KSynchronizationObject::~KSynchronizationObject() = default; void KSynchronizationObject::NotifyAvailable(ResultCode result) { - KScopedSchedulerLock lock(kernel); + KScopedSchedulerLock sl(kernel); // If we're not signaled, we've nothing to notify. if (!this->IsSignaled()) { @@ -150,11 +159,7 @@ void KSynchronizationObject::NotifyAvailable(ResultCode result) { // Iterate over each thread. for (auto* cur_node = thread_list_head; cur_node != nullptr; cur_node = cur_node->next) { - KThread* thread = cur_node->thread; - if (thread->GetState() == ThreadState::Waiting) { - thread->SetSyncedObject(this, result); - thread->SetState(ThreadState::Runnable); - } + cur_node->thread->NotifyAvailable(this, result); } } diff --git a/src/core/hle/kernel/k_synchronization_object.h b/src/core/hle/kernel/k_synchronization_object.h index 898e58e16..ec235437b 100644 --- a/src/core/hle/kernel/k_synchronization_object.h +++ b/src/core/hle/kernel/k_synchronization_object.h @@ -35,6 +35,38 @@ public: [[nodiscard]] std::vector<KThread*> GetWaitingThreadsForDebugging() const; + void LinkNode(ThreadListNode* node_) { + // Link the node to the list. + if (thread_list_tail == nullptr) { + thread_list_head = node_; + } else { + thread_list_tail->next = node_; + } + + thread_list_tail = node_; + } + + void UnlinkNode(ThreadListNode* node_) { + // Unlink the node from the list. + ThreadListNode* prev_ptr = + reinterpret_cast<ThreadListNode*>(std::addressof(thread_list_head)); + ThreadListNode* prev_val = nullptr; + ThreadListNode *prev, *tail_prev; + + do { + prev = prev_ptr; + prev_ptr = prev_ptr->next; + tail_prev = prev_val; + prev_val = prev_ptr; + } while (prev_ptr != node_); + + if (thread_list_tail == node_) { + thread_list_tail = tail_prev; + } + + prev->next = node_->next; + } + protected: explicit KSynchronizationObject(KernelCore& kernel); ~KSynchronizationObject() override; diff --git a/src/core/hle/kernel/k_thread.cpp b/src/core/hle/kernel/k_thread.cpp index db65ce79a..752592e2e 100644 --- a/src/core/hle/kernel/k_thread.cpp +++ b/src/core/hle/kernel/k_thread.cpp @@ -13,6 +13,9 @@ #include "common/common_types.h" #include "common/fiber.h" #include "common/logging/log.h" +#include "common/scope_exit.h" +#include "common/settings.h" +#include "common/thread_queue_list.h" #include "core/core.h" #include "core/cpu_manager.h" #include "core/hardware_properties.h" @@ -56,6 +59,34 @@ static void ResetThreadContext64(Core::ARM_Interface::ThreadContext64& context, namespace Kernel { +namespace { + +class ThreadQueueImplForKThreadSleep final : public KThreadQueueWithoutEndWait { +public: + explicit ThreadQueueImplForKThreadSleep(KernelCore& kernel_) + : KThreadQueueWithoutEndWait(kernel_) {} +}; + +class ThreadQueueImplForKThreadSetProperty final : public KThreadQueue { +public: + explicit ThreadQueueImplForKThreadSetProperty(KernelCore& kernel_, KThread::WaiterList* wl) + : KThreadQueue(kernel_), m_wait_list(wl) {} + + void CancelWait(KThread* waiting_thread, ResultCode wait_result, + bool cancel_timer_task) override { + // Remove the thread from the wait list. + m_wait_list->erase(m_wait_list->iterator_to(*waiting_thread)); + + // Invoke the base cancel wait handler. + KThreadQueue::CancelWait(waiting_thread, wait_result, cancel_timer_task); + } + +private: + KThread::WaiterList* m_wait_list; +}; + +} // namespace + KThread::KThread(KernelCore& kernel_) : KAutoObjectWithSlabHeapAndContainer{kernel_}, activity_pause_lock{kernel_} {} KThread::~KThread() = default; @@ -82,6 +113,8 @@ ResultCode KThread::Initialize(KThreadFunction func, uintptr_t arg, VAddr user_s [[fallthrough]]; case ThreadType::HighPriority: [[fallthrough]]; + case ThreadType::Dummy: + [[fallthrough]]; case ThreadType::User: ASSERT(((owner == nullptr) || (owner->GetCoreMask() | (1ULL << virt_core)) == owner->GetCoreMask())); @@ -127,11 +160,8 @@ ResultCode KThread::Initialize(KThreadFunction func, uintptr_t arg, VAddr user_s priority = prio; base_priority = prio; - // Set sync object and waiting lock to null. - synced_object = nullptr; - // Initialize sleeping queue. - sleeping_queue = nullptr; + wait_queue = nullptr; // Set suspend flags. suspend_request_flags = 0; @@ -184,7 +214,7 @@ ResultCode KThread::Initialize(KThreadFunction func, uintptr_t arg, VAddr user_s // Setup the stack parameters. StackParameters& sp = GetStackParameters(); sp.cur_thread = this; - sp.disable_count = 1; + sp.disable_count = 0; SetInExceptionHandler(); // Set thread ID. @@ -211,15 +241,16 @@ ResultCode KThread::InitializeThread(KThread* thread, KThreadFunction func, uint // Initialize the thread. R_TRY(thread->Initialize(func, arg, user_stack_top, prio, core, owner, type)); - // Initialize host context. + // Initialize emulation parameters. thread->host_context = std::make_shared<Common::Fiber>(std::move(init_func), init_func_parameter); + thread->is_single_core = !Settings::values.use_multi_core.GetValue(); return ResultSuccess; } ResultCode KThread::InitializeDummyThread(KThread* thread) { - return thread->Initialize({}, {}, {}, DefaultThreadPriority, 3, {}, ThreadType::Main); + return thread->Initialize({}, {}, {}, DefaultThreadPriority, 3, {}, ThreadType::Dummy); } ResultCode KThread::InitializeIdleThread(Core::System& system, KThread* thread, s32 virt_core) { @@ -273,11 +304,14 @@ void KThread::Finalize() { auto it = waiter_list.begin(); while (it != waiter_list.end()) { - // The thread shouldn't be a kernel waiter. + // Clear the lock owner it->SetLockOwner(nullptr); - it->SetSyncedObject(nullptr, ResultInvalidState); - it->Wakeup(); + + // Erase the waiter from our list. it = waiter_list.erase(it); + + // Cancel the thread's wait. + it->CancelWait(ResultInvalidState, true); } } @@ -294,15 +328,12 @@ bool KThread::IsSignaled() const { return signaled; } -void KThread::Wakeup() { - KScopedSchedulerLock sl{kernel}; +void KThread::OnTimer() { + ASSERT(kernel.GlobalSchedulerContext().IsLocked()); + // If we're waiting, cancel the wait. if (GetState() == ThreadState::Waiting) { - if (sleeping_queue != nullptr) { - sleeping_queue->WakeupThread(this); - } else { - SetState(ThreadState::Runnable); - } + wait_queue->CancelWait(this, ResultTimedOut, false); } } @@ -327,7 +358,7 @@ void KThread::StartTermination() { // Signal. signaled = true; - NotifyAvailable(); + KSynchronizationObject::NotifyAvailable(); // Clear previous thread in KScheduler. KScheduler::ClearPreviousThread(kernel, this); @@ -475,30 +506,32 @@ ResultCode KThread::GetPhysicalCoreMask(s32* out_ideal_core, u64* out_affinity_m return ResultSuccess; } -ResultCode KThread::SetCoreMask(s32 cpu_core_id, u64 v_affinity_mask) { +ResultCode KThread::SetCoreMask(s32 core_id_, u64 v_affinity_mask) { ASSERT(parent != nullptr); ASSERT(v_affinity_mask != 0); - KScopedLightLock lk{activity_pause_lock}; + KScopedLightLock lk(activity_pause_lock); // Set the core mask. u64 p_affinity_mask = 0; { - KScopedSchedulerLock sl{kernel}; + KScopedSchedulerLock sl(kernel); ASSERT(num_core_migration_disables >= 0); - // If the core id is no-update magic, preserve the ideal core id. - if (cpu_core_id == Svc::IdealCoreNoUpdate) { - cpu_core_id = virtual_ideal_core_id; - R_UNLESS(((1ULL << cpu_core_id) & v_affinity_mask) != 0, ResultInvalidCombination); + // If we're updating, set our ideal virtual core. + if (core_id_ != Svc::IdealCoreNoUpdate) { + virtual_ideal_core_id = core_id_; + } else { + // Preserve our ideal core id. + core_id_ = virtual_ideal_core_id; + R_UNLESS(((1ULL << core_id_) & v_affinity_mask) != 0, ResultInvalidCombination); } - // Set the virtual core/affinity mask. - virtual_ideal_core_id = cpu_core_id; + // Set our affinity mask. virtual_affinity_mask = v_affinity_mask; // Translate the virtual core to a physical core. - if (cpu_core_id >= 0) { - cpu_core_id = Core::Hardware::VirtualToPhysicalCoreMap[cpu_core_id]; + if (core_id_ >= 0) { + core_id_ = Core::Hardware::VirtualToPhysicalCoreMap[core_id_]; } // Translate the virtual affinity mask to a physical one. @@ -513,7 +546,7 @@ ResultCode KThread::SetCoreMask(s32 cpu_core_id, u64 v_affinity_mask) { const KAffinityMask old_mask = physical_affinity_mask; // Set our new ideals. - physical_ideal_core_id = cpu_core_id; + physical_ideal_core_id = core_id_; physical_affinity_mask.SetAffinityMask(p_affinity_mask); if (physical_affinity_mask.GetAffinityMask() != old_mask.GetAffinityMask()) { @@ -531,18 +564,18 @@ ResultCode KThread::SetCoreMask(s32 cpu_core_id, u64 v_affinity_mask) { } } else { // Otherwise, we edit the original affinity for restoration later. - original_physical_ideal_core_id = cpu_core_id; + original_physical_ideal_core_id = core_id_; original_physical_affinity_mask.SetAffinityMask(p_affinity_mask); } } // Update the pinned waiter list. + ThreadQueueImplForKThreadSetProperty wait_queue_(kernel, std::addressof(pinned_waiter_list)); { bool retry_update{}; - bool thread_is_pinned{}; do { // Lock the scheduler. - KScopedSchedulerLock sl{kernel}; + KScopedSchedulerLock sl(kernel); // Don't do any further management if our termination has been requested. R_SUCCEED_IF(IsTerminationRequested()); @@ -570,12 +603,9 @@ ResultCode KThread::SetCoreMask(s32 cpu_core_id, u64 v_affinity_mask) { R_UNLESS(!GetCurrentThread(kernel).IsTerminationRequested(), ResultTerminationRequested); - // Note that the thread was pinned. - thread_is_pinned = true; - // Wait until the thread isn't pinned any more. pinned_waiter_list.push_back(GetCurrentThread(kernel)); - GetCurrentThread(kernel).SetState(ThreadState::Waiting); + GetCurrentThread(kernel).BeginWait(std::addressof(wait_queue_)); } else { // If the thread isn't pinned, release the scheduler lock and retry until it's // not current. @@ -583,16 +613,6 @@ ResultCode KThread::SetCoreMask(s32 cpu_core_id, u64 v_affinity_mask) { } } } while (retry_update); - - // If the thread was pinned, it no longer is, and we should remove the current thread from - // our waiter list. - if (thread_is_pinned) { - // Lock the scheduler. - KScopedSchedulerLock sl{kernel}; - - // Remove from the list. - pinned_waiter_list.erase(pinned_waiter_list.iterator_to(GetCurrentThread(kernel))); - } } return ResultSuccess; @@ -641,15 +661,9 @@ void KThread::WaitCancel() { KScopedSchedulerLock sl{kernel}; // Check if we're waiting and cancellable. - if (GetState() == ThreadState::Waiting && cancellable) { - if (sleeping_queue != nullptr) { - sleeping_queue->WakeupThread(this); - wait_cancelled = true; - } else { - SetSyncedObject(nullptr, ResultCancelled); - SetState(ThreadState::Runnable); - wait_cancelled = false; - } + if (this->GetState() == ThreadState::Waiting && cancellable) { + wait_cancelled = false; + wait_queue->CancelWait(this, ResultCancelled, true); } else { // Otherwise, note that we cancelled a wait. wait_cancelled = true; @@ -700,60 +714,59 @@ ResultCode KThread::SetActivity(Svc::ThreadActivity activity) { // Set the activity. { // Lock the scheduler. - KScopedSchedulerLock sl{kernel}; + KScopedSchedulerLock sl(kernel); // Verify our state. - const auto cur_state = GetState(); + const auto cur_state = this->GetState(); R_UNLESS((cur_state == ThreadState::Waiting || cur_state == ThreadState::Runnable), ResultInvalidState); // Either pause or resume. if (activity == Svc::ThreadActivity::Paused) { // Verify that we're not suspended. - R_UNLESS(!IsSuspendRequested(SuspendType::Thread), ResultInvalidState); + R_UNLESS(!this->IsSuspendRequested(SuspendType::Thread), ResultInvalidState); // Suspend. - RequestSuspend(SuspendType::Thread); + this->RequestSuspend(SuspendType::Thread); } else { ASSERT(activity == Svc::ThreadActivity::Runnable); // Verify that we're suspended. - R_UNLESS(IsSuspendRequested(SuspendType::Thread), ResultInvalidState); + R_UNLESS(this->IsSuspendRequested(SuspendType::Thread), ResultInvalidState); // Resume. - Resume(SuspendType::Thread); + this->Resume(SuspendType::Thread); } } // If the thread is now paused, update the pinned waiter list. if (activity == Svc::ThreadActivity::Paused) { - bool thread_is_pinned{}; - bool thread_is_current{}; + ThreadQueueImplForKThreadSetProperty wait_queue_(kernel, + std::addressof(pinned_waiter_list)); + + bool thread_is_current; do { // Lock the scheduler. - KScopedSchedulerLock sl{kernel}; + KScopedSchedulerLock sl(kernel); // Don't do any further management if our termination has been requested. - R_SUCCEED_IF(IsTerminationRequested()); + R_SUCCEED_IF(this->IsTerminationRequested()); + + // By default, treat the thread as not current. + thread_is_current = false; // Check whether the thread is pinned. - if (GetStackParameters().is_pinned) { + if (this->GetStackParameters().is_pinned) { // Verify that the current thread isn't terminating. R_UNLESS(!GetCurrentThread(kernel).IsTerminationRequested(), ResultTerminationRequested); - // Note that the thread was pinned and not current. - thread_is_pinned = true; - thread_is_current = false; - // Wait until the thread isn't pinned any more. pinned_waiter_list.push_back(GetCurrentThread(kernel)); - GetCurrentThread(kernel).SetState(ThreadState::Waiting); + GetCurrentThread(kernel).BeginWait(std::addressof(wait_queue_)); } else { // Check if the thread is currently running. // If it is, we'll need to retry. - thread_is_current = false; - for (auto i = 0; i < static_cast<s32>(Core::Hardware::NUM_CPU_CORES); ++i) { if (kernel.Scheduler(i).GetCurrentThread() == this) { thread_is_current = true; @@ -762,16 +775,6 @@ ResultCode KThread::SetActivity(Svc::ThreadActivity activity) { } } } while (thread_is_current); - - // If the thread was pinned, it no longer is, and we should remove the current thread from - // our waiter list. - if (thread_is_pinned) { - // Lock the scheduler. - KScopedSchedulerLock sl{kernel}; - - // Remove from the list. - pinned_waiter_list.erase(pinned_waiter_list.iterator_to(GetCurrentThread(kernel))); - } } return ResultSuccess; @@ -966,6 +969,9 @@ ResultCode KThread::Run() { // Set our state and finish. SetState(ThreadState::Runnable); + + DisableDispatch(); + return ResultSuccess; } } @@ -996,27 +1002,61 @@ ResultCode KThread::Sleep(s64 timeout) { ASSERT(this == GetCurrentThreadPointer(kernel)); ASSERT(timeout > 0); + ThreadQueueImplForKThreadSleep wait_queue_(kernel); { // Setup the scheduling lock and sleep. - KScopedSchedulerLockAndSleep slp{kernel, this, timeout}; + KScopedSchedulerLockAndSleep slp(kernel, this, timeout); // Check if the thread should terminate. - if (IsTerminationRequested()) { + if (this->IsTerminationRequested()) { slp.CancelSleep(); return ResultTerminationRequested; } - // Mark the thread as waiting. - SetState(ThreadState::Waiting); + // Wait for the sleep to end. + this->BeginWait(std::addressof(wait_queue_)); SetWaitReasonForDebugging(ThreadWaitReasonForDebugging::Sleep); } - // The lock/sleep is done. + return ResultSuccess; +} - // Cancel the timer. - kernel.TimeManager().UnscheduleTimeEvent(this); +void KThread::BeginWait(KThreadQueue* queue) { + // Set our state as waiting. + SetState(ThreadState::Waiting); - return ResultSuccess; + // Set our wait queue. + wait_queue = queue; +} + +void KThread::NotifyAvailable(KSynchronizationObject* signaled_object, ResultCode wait_result_) { + // Lock the scheduler. + KScopedSchedulerLock sl(kernel); + + // If we're waiting, notify our queue that we're available. + if (GetState() == ThreadState::Waiting) { + wait_queue->NotifyAvailable(this, signaled_object, wait_result_); + } +} + +void KThread::EndWait(ResultCode wait_result_) { + // Lock the scheduler. + KScopedSchedulerLock sl(kernel); + + // If we're waiting, notify our queue that we're available. + if (GetState() == ThreadState::Waiting) { + wait_queue->EndWait(this, wait_result_); + } +} + +void KThread::CancelWait(ResultCode wait_result_, bool cancel_timer_task) { + // Lock the scheduler. + KScopedSchedulerLock sl(kernel); + + // If we're waiting, notify our queue that we're available. + if (GetState() == ThreadState::Waiting) { + wait_queue->CancelWait(this, wait_result_, cancel_timer_task); + } } void KThread::SetState(ThreadState state) { @@ -1050,4 +1090,26 @@ s32 GetCurrentCoreId(KernelCore& kernel) { return GetCurrentThread(kernel).GetCurrentCore(); } +KScopedDisableDispatch::~KScopedDisableDispatch() { + // If we are shutting down the kernel, none of this is relevant anymore. + if (kernel.IsShuttingDown()) { + return; + } + + // Skip the reschedule if single-core, as dispatch tracking is disabled here. + if (!Settings::values.use_multi_core.GetValue()) { + return; + } + + if (GetCurrentThread(kernel).GetDisableDispatchCount() <= 1) { + auto scheduler = kernel.CurrentScheduler(); + + if (scheduler) { + scheduler->RescheduleCurrentCore(); + } + } else { + GetCurrentThread(kernel).EnableDispatch(); + } +} + } // namespace Kernel diff --git a/src/core/hle/kernel/k_thread.h b/src/core/hle/kernel/k_thread.h index c77f44ad4..c8a08bd71 100644 --- a/src/core/hle/kernel/k_thread.h +++ b/src/core/hle/kernel/k_thread.h @@ -48,6 +48,7 @@ enum class ThreadType : u32 { Kernel = 1, HighPriority = 2, User = 3, + Dummy = 100, // Special thread type for emulation purposes only }; DECLARE_ENUM_FLAG_OPERATORS(ThreadType); @@ -161,8 +162,6 @@ public: } } - void Wakeup(); - void SetBasePriority(s32 value); [[nodiscard]] ResultCode Run(); @@ -197,13 +196,19 @@ public: void Suspend(); - void SetSyncedObject(KSynchronizationObject* obj, ResultCode wait_res) { - synced_object = obj; + constexpr void SetSyncedIndex(s32 index) { + synced_index = index; + } + + [[nodiscard]] constexpr s32 GetSyncedIndex() const { + return synced_index; + } + + constexpr void SetWaitResult(ResultCode wait_res) { wait_result = wait_res; } - [[nodiscard]] ResultCode GetWaitResult(KSynchronizationObject** out) const { - *out = synced_object; + [[nodiscard]] constexpr ResultCode GetWaitResult() const { return wait_result; } @@ -374,6 +379,8 @@ public: [[nodiscard]] bool IsSignaled() const override; + void OnTimer(); + static void PostDestroy(uintptr_t arg); [[nodiscard]] static ResultCode InitializeDummyThread(KThread* thread); @@ -446,20 +453,39 @@ public: return per_core_priority_queue_entry[core]; } - void SetSleepingQueue(KThreadQueue* q) { - sleeping_queue = q; + [[nodiscard]] bool IsKernelThread() const { + return GetActiveCore() == 3; + } + + [[nodiscard]] bool IsDispatchTrackingDisabled() const { + return is_single_core || IsKernelThread(); } [[nodiscard]] s32 GetDisableDispatchCount() const { + if (IsDispatchTrackingDisabled()) { + // TODO(bunnei): Until kernel threads are emulated, we cannot enable/disable dispatch. + return 1; + } + return this->GetStackParameters().disable_count; } void DisableDispatch() { + if (IsDispatchTrackingDisabled()) { + // TODO(bunnei): Until kernel threads are emulated, we cannot enable/disable dispatch. + return; + } + ASSERT(GetCurrentThread(kernel).GetDisableDispatchCount() >= 0); this->GetStackParameters().disable_count++; } void EnableDispatch() { + if (IsDispatchTrackingDisabled()) { + // TODO(bunnei): Until kernel threads are emulated, we cannot enable/disable dispatch. + return; + } + ASSERT(GetCurrentThread(kernel).GetDisableDispatchCount() > 0); this->GetStackParameters().disable_count--; } @@ -573,6 +599,15 @@ public: address_key_value = val; } + void ClearWaitQueue() { + wait_queue = nullptr; + } + + void BeginWait(KThreadQueue* queue); + void NotifyAvailable(KSynchronizationObject* signaled_object, ResultCode wait_result_); + void EndWait(ResultCode wait_result_); + void CancelWait(ResultCode wait_result_, bool cancel_timer_task); + [[nodiscard]] bool HasWaiters() const { return !waiter_list.empty(); } @@ -667,7 +702,6 @@ private: KAffinityMask physical_affinity_mask{}; u64 thread_id{}; std::atomic<s64> cpu_time{}; - KSynchronizationObject* synced_object{}; VAddr address_key{}; KProcess* parent{}; VAddr kernel_stack_top{}; @@ -677,13 +711,14 @@ private: s64 schedule_count{}; s64 last_scheduled_tick{}; std::array<QueueEntry, Core::Hardware::NUM_CPU_CORES> per_core_priority_queue_entry{}; - KThreadQueue* sleeping_queue{}; + KThreadQueue* wait_queue{}; WaiterList waiter_list{}; WaiterList pinned_waiter_list{}; KThread* lock_owner{}; u32 address_key_value{}; u32 suspend_request_flags{}; u32 suspend_allowed_flags{}; + s32 synced_index{}; ResultCode wait_result{ResultSuccess}; s32 base_priority{}; s32 physical_ideal_core_id{}; @@ -708,6 +743,7 @@ private: // For emulation std::shared_ptr<Common::Fiber> host_context{}; + bool is_single_core{}; // For debugging std::vector<KSynchronizationObject*> wait_objects_for_debugging; @@ -752,4 +788,20 @@ public: } }; +class KScopedDisableDispatch { +public: + [[nodiscard]] explicit KScopedDisableDispatch(KernelCore& kernel_) : kernel{kernel_} { + // If we are shutting down the kernel, none of this is relevant anymore. + if (kernel.IsShuttingDown()) { + return; + } + GetCurrentThread(kernel).DisableDispatch(); + } + + ~KScopedDisableDispatch(); + +private: + KernelCore& kernel; +}; + } // namespace Kernel diff --git a/src/core/hle/kernel/k_thread_queue.cpp b/src/core/hle/kernel/k_thread_queue.cpp new file mode 100644 index 000000000..d5248b547 --- /dev/null +++ b/src/core/hle/kernel/k_thread_queue.cpp @@ -0,0 +1,49 @@ +// Copyright 2021 yuzu Emulator Project +// Licensed under GPLv2 or any later version +// Refer to the license.txt file included. + +#include "core/hle/kernel/k_thread_queue.h" +#include "core/hle/kernel/kernel.h" +#include "core/hle/kernel/time_manager.h" + +namespace Kernel { + +void KThreadQueue::NotifyAvailable([[maybe_unused]] KThread* waiting_thread, + [[maybe_unused]] KSynchronizationObject* signaled_object, + [[maybe_unused]] ResultCode wait_result) {} + +void KThreadQueue::EndWait(KThread* waiting_thread, ResultCode wait_result) { + // Set the thread's wait result. + waiting_thread->SetWaitResult(wait_result); + + // Set the thread as runnable. + waiting_thread->SetState(ThreadState::Runnable); + + // Clear the thread's wait queue. + waiting_thread->ClearWaitQueue(); + + // Cancel the thread task. + kernel.TimeManager().UnscheduleTimeEvent(waiting_thread); +} + +void KThreadQueue::CancelWait(KThread* waiting_thread, ResultCode wait_result, + bool cancel_timer_task) { + // Set the thread's wait result. + waiting_thread->SetWaitResult(wait_result); + + // Set the thread as runnable. + waiting_thread->SetState(ThreadState::Runnable); + + // Clear the thread's wait queue. + waiting_thread->ClearWaitQueue(); + + // Cancel the thread task. + if (cancel_timer_task) { + kernel.TimeManager().UnscheduleTimeEvent(waiting_thread); + } +} + +void KThreadQueueWithoutEndWait::EndWait([[maybe_unused]] KThread* waiting_thread, + [[maybe_unused]] ResultCode wait_result) {} + +} // namespace Kernel diff --git a/src/core/hle/kernel/k_thread_queue.h b/src/core/hle/kernel/k_thread_queue.h index 35d471dc5..ccb718e49 100644 --- a/src/core/hle/kernel/k_thread_queue.h +++ b/src/core/hle/kernel/k_thread_queue.h @@ -4,6 +4,7 @@ #pragma once +#include "core/hle/kernel/k_scheduler.h" #include "core/hle/kernel/k_thread.h" namespace Kernel { @@ -11,71 +12,24 @@ namespace Kernel { class KThreadQueue { public: explicit KThreadQueue(KernelCore& kernel_) : kernel{kernel_} {} + virtual ~KThreadQueue() = default; - bool IsEmpty() const { - return wait_list.empty(); - } - - KThread::WaiterList::iterator begin() { - return wait_list.begin(); - } - KThread::WaiterList::iterator end() { - return wait_list.end(); - } - - bool SleepThread(KThread* t) { - KScopedSchedulerLock sl{kernel}; - - // If the thread needs terminating, don't enqueue it. - if (t->IsTerminationRequested()) { - return false; - } - - // Set the thread's queue and mark it as waiting. - t->SetSleepingQueue(this); - t->SetState(ThreadState::Waiting); - - // Add the thread to the queue. - wait_list.push_back(*t); - - return true; - } - - void WakeupThread(KThread* t) { - KScopedSchedulerLock sl{kernel}; - - // Remove the thread from the queue. - wait_list.erase(wait_list.iterator_to(*t)); - - // Mark the thread as no longer sleeping. - t->SetState(ThreadState::Runnable); - t->SetSleepingQueue(nullptr); - } - - KThread* WakeupFrontThread() { - KScopedSchedulerLock sl{kernel}; - - if (wait_list.empty()) { - return nullptr; - } else { - // Remove the thread from the queue. - auto it = wait_list.begin(); - KThread* thread = std::addressof(*it); - wait_list.erase(it); - - ASSERT(thread->GetState() == ThreadState::Waiting); - - // Mark the thread as no longer sleeping. - thread->SetState(ThreadState::Runnable); - thread->SetSleepingQueue(nullptr); - - return thread; - } - } + virtual void NotifyAvailable(KThread* waiting_thread, KSynchronizationObject* signaled_object, + ResultCode wait_result); + virtual void EndWait(KThread* waiting_thread, ResultCode wait_result); + virtual void CancelWait(KThread* waiting_thread, ResultCode wait_result, + bool cancel_timer_task); private: KernelCore& kernel; KThread::WaiterList wait_list{}; }; +class KThreadQueueWithoutEndWait : public KThreadQueue { +public: + explicit KThreadQueueWithoutEndWait(KernelCore& kernel_) : KThreadQueue(kernel_) {} + + void EndWait(KThread* waiting_thread, ResultCode wait_result) override final; +}; + } // namespace Kernel diff --git a/src/core/hle/kernel/kernel.cpp b/src/core/hle/kernel/kernel.cpp index 45e86a677..2e4e4cb1c 100644 --- a/src/core/hle/kernel/kernel.cpp +++ b/src/core/hle/kernel/kernel.cpp @@ -14,6 +14,7 @@ #include "common/assert.h" #include "common/logging/log.h" #include "common/microprofile.h" +#include "common/scope_exit.h" #include "common/thread.h" #include "common/thread_worker.h" #include "core/arm/arm_interface.h" @@ -83,12 +84,16 @@ struct KernelCore::Impl { } void InitializeCores() { - for (auto& core : cores) { - core.Initialize(current_process->Is64BitProcess()); + for (u32 core_id = 0; core_id < Core::Hardware::NUM_CPU_CORES; core_id++) { + cores[core_id].Initialize(current_process->Is64BitProcess()); + system.Memory().SetCurrentPageTable(*current_process, core_id); } } void Shutdown() { + is_shutting_down.store(true, std::memory_order_relaxed); + SCOPE_EXIT({ is_shutting_down.store(false, std::memory_order_relaxed); }); + process_list.clear(); // Close all open server ports. @@ -123,15 +128,6 @@ struct KernelCore::Impl { next_user_process_id = KProcess::ProcessIDMin; next_thread_id = 1; - for (u32 core_id = 0; core_id < Core::Hardware::NUM_CPU_CORES; core_id++) { - if (suspend_threads[core_id]) { - suspend_threads[core_id]->Close(); - suspend_threads[core_id] = nullptr; - } - - schedulers[core_id].reset(); - } - cores.clear(); global_handle_table->Finalize(); @@ -159,6 +155,16 @@ struct KernelCore::Impl { CleanupObject(time_shared_mem); CleanupObject(system_resource_limit); + for (u32 core_id = 0; core_id < Core::Hardware::NUM_CPU_CORES; core_id++) { + if (suspend_threads[core_id]) { + suspend_threads[core_id]->Close(); + suspend_threads[core_id] = nullptr; + } + + schedulers[core_id]->Finalize(); + schedulers[core_id].reset(); + } + // Next host thead ID to use, 0-3 IDs represent core threads, >3 represent others next_host_thread_id = Core::Hardware::NUM_CPU_CORES; @@ -245,13 +251,11 @@ struct KernelCore::Impl { KScopedSchedulerLock lock(kernel); global_scheduler_context->PreemptThreads(); } - const auto time_interval = std::chrono::nanoseconds{ - Core::Timing::msToCycles(std::chrono::milliseconds(10))}; + const auto time_interval = std::chrono::nanoseconds{std::chrono::milliseconds(10)}; system.CoreTiming().ScheduleEvent(time_interval, preemption_event); }); - const auto time_interval = - std::chrono::nanoseconds{Core::Timing::msToCycles(std::chrono::milliseconds(10))}; + const auto time_interval = std::chrono::nanoseconds{std::chrono::milliseconds(10)}; system.CoreTiming().ScheduleEvent(time_interval, preemption_event); } @@ -267,14 +271,6 @@ struct KernelCore::Impl { void MakeCurrentProcess(KProcess* process) { current_process = process; - if (process == nullptr) { - return; - } - - const u32 core_id = GetCurrentHostThreadID(); - if (core_id < Core::Hardware::NUM_CPU_CORES) { - system.Memory().SetCurrentPageTable(*process, core_id); - } } static inline thread_local u32 host_thread_id = UINT32_MAX; @@ -344,7 +340,16 @@ struct KernelCore::Impl { is_phantom_mode_for_singlecore = value; } + bool IsShuttingDown() const { + return is_shutting_down.load(std::memory_order_relaxed); + } + KThread* GetCurrentEmuThread() { + // If we are shutting down the kernel, none of this is relevant anymore. + if (IsShuttingDown()) { + return {}; + } + const auto thread_id = GetCurrentHostThreadID(); if (thread_id >= Core::Hardware::NUM_CPU_CORES) { return GetHostDummyThread(); @@ -760,6 +765,7 @@ struct KernelCore::Impl { std::vector<std::unique_ptr<KThread>> dummy_threads; bool is_multicore{}; + std::atomic_bool is_shutting_down{}; bool is_phantom_mode_for_singlecore{}; u32 single_core_thread_id{}; @@ -845,16 +851,20 @@ const Kernel::PhysicalCore& KernelCore::PhysicalCore(std::size_t id) const { return impl->cores[id]; } +size_t KernelCore::CurrentPhysicalCoreIndex() const { + const u32 core_id = impl->GetCurrentHostThreadID(); + if (core_id >= Core::Hardware::NUM_CPU_CORES) { + return Core::Hardware::NUM_CPU_CORES - 1; + } + return core_id; +} + Kernel::PhysicalCore& KernelCore::CurrentPhysicalCore() { - u32 core_id = impl->GetCurrentHostThreadID(); - ASSERT(core_id < Core::Hardware::NUM_CPU_CORES); - return impl->cores[core_id]; + return impl->cores[CurrentPhysicalCoreIndex()]; } const Kernel::PhysicalCore& KernelCore::CurrentPhysicalCore() const { - u32 core_id = impl->GetCurrentHostThreadID(); - ASSERT(core_id < Core::Hardware::NUM_CPU_CORES); - return impl->cores[core_id]; + return impl->cores[CurrentPhysicalCoreIndex()]; } Kernel::KScheduler* KernelCore::CurrentScheduler() { @@ -1057,6 +1067,9 @@ void KernelCore::Suspend(bool in_suspention) { impl->suspend_threads[core_id]->SetState(state); impl->suspend_threads[core_id]->SetWaitReasonForDebugging( ThreadWaitReasonForDebugging::Suspended); + if (!should_suspend) { + impl->suspend_threads[core_id]->DisableDispatch(); + } } } } @@ -1065,19 +1078,21 @@ bool KernelCore::IsMulticore() const { return impl->is_multicore; } +bool KernelCore::IsShuttingDown() const { + return impl->IsShuttingDown(); +} + void KernelCore::ExceptionalExit() { exception_exited = true; Suspend(true); } void KernelCore::EnterSVCProfile() { - std::size_t core = impl->GetCurrentHostThreadID(); - impl->svc_ticks[core] = MicroProfileEnter(MICROPROFILE_TOKEN(Kernel_SVC)); + impl->svc_ticks[CurrentPhysicalCoreIndex()] = MicroProfileEnter(MICROPROFILE_TOKEN(Kernel_SVC)); } void KernelCore::ExitSVCProfile() { - std::size_t core = impl->GetCurrentHostThreadID(); - MicroProfileLeave(MICROPROFILE_TOKEN(Kernel_SVC), impl->svc_ticks[core]); + MicroProfileLeave(MICROPROFILE_TOKEN(Kernel_SVC), impl->svc_ticks[CurrentPhysicalCoreIndex()]); } std::weak_ptr<Kernel::ServiceThread> KernelCore::CreateServiceThread(const std::string& name) { diff --git a/src/core/hle/kernel/kernel.h b/src/core/hle/kernel/kernel.h index d2ceae950..b9b423908 100644 --- a/src/core/hle/kernel/kernel.h +++ b/src/core/hle/kernel/kernel.h @@ -53,6 +53,7 @@ class KSharedMemoryInfo; class KThread; class KTransferMemory; class KWritableEvent; +class KCodeMemory; class PhysicalCore; class ServiceThread; class Synchronization; @@ -148,6 +149,9 @@ public: /// Gets the an instance of the respective physical CPU core. const Kernel::PhysicalCore& PhysicalCore(std::size_t id) const; + /// Gets the current physical core index for the running host thread. + std::size_t CurrentPhysicalCoreIndex() const; + /// Gets the sole instance of the Scheduler at the current running core. Kernel::KScheduler* CurrentScheduler(); @@ -271,6 +275,8 @@ public: bool IsMulticore() const; + bool IsShuttingDown() const; + void EnterSVCProfile(); void ExitSVCProfile(); @@ -326,6 +332,8 @@ public: return slab_heap_container->transfer_memory; } else if constexpr (std::is_same_v<T, KWritableEvent>) { return slab_heap_container->writeable_event; + } else if constexpr (std::is_same_v<T, KCodeMemory>) { + return slab_heap_container->code_memory; } } @@ -377,6 +385,7 @@ private: KSlabHeap<KThread> thread; KSlabHeap<KTransferMemory> transfer_memory; KSlabHeap<KWritableEvent> writeable_event; + KSlabHeap<KCodeMemory> code_memory; }; std::unique_ptr<SlabHeapContainer> slab_heap_container; diff --git a/src/core/hle/kernel/service_thread.cpp b/src/core/hle/kernel/service_thread.cpp index 6721b6276..03f3dec10 100644 --- a/src/core/hle/kernel/service_thread.cpp +++ b/src/core/hle/kernel/service_thread.cpp @@ -25,24 +25,27 @@ public: void QueueSyncRequest(KSession& session, std::shared_ptr<HLERequestContext>&& context); private: - std::vector<std::thread> threads; + std::vector<std::jthread> threads; std::queue<std::function<void()>> requests; std::mutex queue_mutex; - std::condition_variable condition; + std::condition_variable_any condition; const std::string service_name; - bool stop{}; }; ServiceThread::Impl::Impl(KernelCore& kernel, std::size_t num_threads, const std::string& name) : service_name{name} { - for (std::size_t i = 0; i < num_threads; ++i) - threads.emplace_back([this, &kernel] { + for (std::size_t i = 0; i < num_threads; ++i) { + threads.emplace_back([this, &kernel](std::stop_token stop_token) { Common::SetCurrentThreadName(std::string{"yuzu:HleService:" + service_name}.c_str()); // Wait for first request before trying to acquire a render context { std::unique_lock lock{queue_mutex}; - condition.wait(lock, [this] { return stop || !requests.empty(); }); + condition.wait(lock, stop_token, [this] { return !requests.empty(); }); + } + + if (stop_token.stop_requested()) { + return; } kernel.RegisterHostThread(); @@ -52,10 +55,16 @@ ServiceThread::Impl::Impl(KernelCore& kernel, std::size_t num_threads, const std { std::unique_lock lock{queue_mutex}; - condition.wait(lock, [this] { return stop || !requests.empty(); }); - if (stop || requests.empty()) { + condition.wait(lock, stop_token, [this] { return !requests.empty(); }); + + if (stop_token.stop_requested()) { return; } + + if (requests.empty()) { + continue; + } + task = std::move(requests.front()); requests.pop(); } @@ -63,6 +72,7 @@ ServiceThread::Impl::Impl(KernelCore& kernel, std::size_t num_threads, const std task(); } }); + } } void ServiceThread::Impl::QueueSyncRequest(KSession& session, @@ -88,12 +98,9 @@ void ServiceThread::Impl::QueueSyncRequest(KSession& session, } ServiceThread::Impl::~Impl() { - { - std::unique_lock lock{queue_mutex}; - stop = true; - } condition.notify_all(); - for (std::thread& thread : threads) { + for (auto& thread : threads) { + thread.request_stop(); thread.join(); } } diff --git a/src/core/hle/kernel/svc.cpp b/src/core/hle/kernel/svc.cpp index f0cd8471e..a9f7438ea 100644 --- a/src/core/hle/kernel/svc.cpp +++ b/src/core/hle/kernel/svc.cpp @@ -18,6 +18,7 @@ #include "core/core_timing.h" #include "core/hle/kernel/k_client_port.h" #include "core/hle/kernel/k_client_session.h" +#include "core/hle/kernel/k_code_memory.h" #include "core/hle/kernel/k_event.h" #include "core/hle/kernel/k_handle_table.h" #include "core/hle/kernel/k_memory_block.h" @@ -31,6 +32,7 @@ #include "core/hle/kernel/k_shared_memory.h" #include "core/hle/kernel/k_synchronization_object.h" #include "core/hle/kernel/k_thread.h" +#include "core/hle/kernel/k_thread_queue.h" #include "core/hle/kernel/k_transfer_memory.h" #include "core/hle/kernel/k_writable_event.h" #include "core/hle/kernel/kernel.h" @@ -307,26 +309,29 @@ static ResultCode ConnectToNamedPort32(Core::System& system, Handle* out_handle, /// Makes a blocking IPC call to an OS service. static ResultCode SendSyncRequest(Core::System& system, Handle handle) { - auto& kernel = system.Kernel(); + // Create the wait queue. + KThreadQueue wait_queue(kernel); + + // Get the client session from its handle. + KScopedAutoObject session = + kernel.CurrentProcess()->GetHandleTable().GetObject<KClientSession>(handle); + R_UNLESS(session.IsNotNull(), ResultInvalidHandle); + + LOG_TRACE(Kernel_SVC, "called handle=0x{:08X}({})", handle, session->GetName()); + auto thread = kernel.CurrentScheduler()->GetCurrentThread(); { KScopedSchedulerLock lock(kernel); - thread->SetState(ThreadState::Waiting); - thread->SetWaitReasonForDebugging(ThreadWaitReasonForDebugging::IPC); - - { - KScopedAutoObject session = - kernel.CurrentProcess()->GetHandleTable().GetObject<KClientSession>(handle); - R_UNLESS(session.IsNotNull(), ResultInvalidHandle); - LOG_TRACE(Kernel_SVC, "called handle=0x{:08X}({})", handle, session->GetName()); - session->SendSyncRequest(thread, system.Memory(), system.CoreTiming()); - } + + // This is a synchronous request, so we should wait for our request to complete. + GetCurrentThread(kernel).BeginWait(std::addressof(wait_queue)); + GetCurrentThread(kernel).SetWaitReasonForDebugging(ThreadWaitReasonForDebugging::IPC); + session->SendSyncRequest(&GetCurrentThread(kernel), system.Memory(), system.CoreTiming()); } - KSynchronizationObject* dummy{}; - return thread->GetWaitResult(std::addressof(dummy)); + return thread->GetWaitResult(); } static ResultCode SendSyncRequest32(Core::System& system, Handle handle) { @@ -873,7 +878,7 @@ static ResultCode GetInfo(Core::System& system, u64* result, u64 info_id, Handle const u64 thread_ticks = current_thread->GetCpuTime(); out_ticks = thread_ticks + (core_timing.GetCPUTicks() - prev_ctx_ticks); - } else if (same_thread && info_sub_id == system.CurrentCoreIndex()) { + } else if (same_thread && info_sub_id == system.Kernel().CurrentPhysicalCoreIndex()) { out_ticks = core_timing.GetCPUTicks() - prev_ctx_ticks; } @@ -887,7 +892,8 @@ static ResultCode GetInfo(Core::System& system, u64* result, u64 info_id, Handle return ResultInvalidHandle; } - if (info_sub_id != 0xFFFFFFFFFFFFFFFF && info_sub_id != system.CurrentCoreIndex()) { + if (info_sub_id != 0xFFFFFFFFFFFFFFFF && + info_sub_id != system.Kernel().CurrentPhysicalCoreIndex()) { LOG_ERROR(Kernel_SVC, "Core is not the current core, got {}", info_sub_id); return ResultInvalidCombination; } @@ -1197,6 +1203,22 @@ constexpr bool IsValidProcessMemoryPermission(Svc::MemoryPermission perm) { } } +constexpr bool IsValidMapCodeMemoryPermission(Svc::MemoryPermission perm) { + return perm == Svc::MemoryPermission::ReadWrite; +} + +constexpr bool IsValidMapToOwnerCodeMemoryPermission(Svc::MemoryPermission perm) { + return perm == Svc::MemoryPermission::Read || perm == Svc::MemoryPermission::ReadExecute; +} + +constexpr bool IsValidUnmapCodeMemoryPermission(Svc::MemoryPermission perm) { + return perm == Svc::MemoryPermission::None; +} + +constexpr bool IsValidUnmapFromOwnerCodeMemoryPermission(Svc::MemoryPermission perm) { + return perm == Svc::MemoryPermission::None; +} + } // Anonymous namespace static ResultCode MapSharedMemory(Core::System& system, Handle shmem_handle, VAddr address, @@ -1306,6 +1328,195 @@ static ResultCode SetProcessMemoryPermission(Core::System& system, Handle proces return page_table.SetProcessMemoryPermission(address, size, ConvertToKMemoryPermission(perm)); } +static ResultCode MapProcessMemory(Core::System& system, VAddr dst_address, Handle process_handle, + VAddr src_address, u64 size) { + LOG_TRACE(Kernel_SVC, + "called, dst_address=0x{:X}, process_handle=0x{:X}, src_address=0x{:X}, size=0x{:X}", + dst_address, process_handle, src_address, size); + + // Validate the address/size. + R_UNLESS(Common::IsAligned(dst_address, PageSize), ResultInvalidAddress); + R_UNLESS(Common::IsAligned(src_address, PageSize), ResultInvalidAddress); + R_UNLESS(Common::IsAligned(size, PageSize), ResultInvalidSize); + R_UNLESS(size > 0, ResultInvalidSize); + R_UNLESS((dst_address < dst_address + size), ResultInvalidCurrentMemory); + R_UNLESS((src_address < src_address + size), ResultInvalidCurrentMemory); + + // Get the processes. + KProcess* dst_process = system.CurrentProcess(); + KScopedAutoObject src_process = + dst_process->GetHandleTable().GetObjectWithoutPseudoHandle<KProcess>(process_handle); + R_UNLESS(src_process.IsNotNull(), ResultInvalidHandle); + + // Get the page tables. + auto& dst_pt = dst_process->PageTable(); + auto& src_pt = src_process->PageTable(); + + // Validate that the mapping is in range. + R_UNLESS(src_pt.Contains(src_address, size), ResultInvalidCurrentMemory); + R_UNLESS(dst_pt.CanContain(dst_address, size, KMemoryState::SharedCode), + ResultInvalidMemoryRegion); + + // Create a new page group. + KMemoryInfo kBlockInfo = dst_pt.QueryInfo(dst_address); + KPageLinkedList pg(kBlockInfo.GetAddress(), kBlockInfo.GetNumPages()); + + // Map the group. + R_TRY(dst_pt.MapPages(dst_address, pg, KMemoryState::SharedCode, + KMemoryPermission::UserReadWrite)); + + return ResultSuccess; +} + +static ResultCode UnmapProcessMemory(Core::System& system, VAddr dst_address, Handle process_handle, + VAddr src_address, u64 size) { + LOG_TRACE(Kernel_SVC, + "called, dst_address=0x{:X}, process_handle=0x{:X}, src_address=0x{:X}, size=0x{:X}", + dst_address, process_handle, src_address, size); + + // Validate the address/size. + R_UNLESS(Common::IsAligned(dst_address, PageSize), ResultInvalidAddress); + R_UNLESS(Common::IsAligned(src_address, PageSize), ResultInvalidAddress); + R_UNLESS(Common::IsAligned(size, PageSize), ResultInvalidSize); + R_UNLESS(size > 0, ResultInvalidSize); + R_UNLESS((dst_address < dst_address + size), ResultInvalidCurrentMemory); + R_UNLESS((src_address < src_address + size), ResultInvalidCurrentMemory); + + // Get the processes. + KProcess* dst_process = system.CurrentProcess(); + KScopedAutoObject src_process = + dst_process->GetHandleTable().GetObjectWithoutPseudoHandle<KProcess>(process_handle); + R_UNLESS(src_process.IsNotNull(), ResultInvalidHandle); + + // Get the page tables. + auto& dst_pt = dst_process->PageTable(); + auto& src_pt = src_process->PageTable(); + + // Validate that the mapping is in range. + R_UNLESS(src_pt.Contains(src_address, size), ResultInvalidCurrentMemory); + R_UNLESS(dst_pt.CanContain(dst_address, size, KMemoryState::SharedCode), + ResultInvalidMemoryRegion); + + // Unmap the memory. + R_TRY(dst_pt.UnmapProcessMemory(dst_address, size, src_pt, src_address)); + + return ResultSuccess; +} + +static ResultCode CreateCodeMemory(Core::System& system, Handle* out, VAddr address, size_t size) { + LOG_TRACE(Kernel_SVC, "called, handle_out=0x{:X}, address=0x{:X}, size=0x{:X}", + static_cast<void*>(out), address, size); + // Get kernel instance. + auto& kernel = system.Kernel(); + + // Validate address / size. + R_UNLESS(Common::IsAligned(address, PageSize), ResultInvalidAddress); + R_UNLESS(Common::IsAligned(size, PageSize), ResultInvalidSize); + R_UNLESS(size > 0, ResultInvalidSize); + R_UNLESS((address < address + size), ResultInvalidCurrentMemory); + + // Create the code memory. + + KCodeMemory* code_mem = KCodeMemory::Create(kernel); + R_UNLESS(code_mem != nullptr, ResultOutOfResource); + + // Verify that the region is in range. + R_UNLESS(system.CurrentProcess()->PageTable().Contains(address, size), + ResultInvalidCurrentMemory); + + // Initialize the code memory. + R_TRY(code_mem->Initialize(system.DeviceMemory(), address, size)); + + // Register the code memory. + KCodeMemory::Register(kernel, code_mem); + + // Add the code memory to the handle table. + R_TRY(system.CurrentProcess()->GetHandleTable().Add(out, code_mem)); + + code_mem->Close(); + + return ResultSuccess; +} + +static ResultCode ControlCodeMemory(Core::System& system, Handle code_memory_handle, u32 operation, + VAddr address, size_t size, Svc::MemoryPermission perm) { + + LOG_TRACE(Kernel_SVC, + "called, code_memory_handle=0x{:X}, operation=0x{:X}, address=0x{:X}, size=0x{:X}, " + "permission=0x{:X}", + code_memory_handle, operation, address, size, perm); + + // Validate the address / size. + R_UNLESS(Common::IsAligned(address, PageSize), ResultInvalidAddress); + R_UNLESS(Common::IsAligned(size, PageSize), ResultInvalidSize); + R_UNLESS(size > 0, ResultInvalidSize); + R_UNLESS((address < address + size), ResultInvalidCurrentMemory); + + // Get the code memory from its handle. + KScopedAutoObject code_mem = + system.CurrentProcess()->GetHandleTable().GetObject<KCodeMemory>(code_memory_handle); + R_UNLESS(code_mem.IsNotNull(), ResultInvalidHandle); + + // NOTE: Here, Atmosphere extends the SVC to allow code memory operations on one's own process. + // This enables homebrew usage of these SVCs for JIT. + + // Perform the operation. + switch (static_cast<CodeMemoryOperation>(operation)) { + case CodeMemoryOperation::Map: { + // Check that the region is in range. + R_UNLESS( + system.CurrentProcess()->PageTable().CanContain(address, size, KMemoryState::CodeOut), + ResultInvalidMemoryRegion); + + // Check the memory permission. + R_UNLESS(IsValidMapCodeMemoryPermission(perm), ResultInvalidNewMemoryPermission); + + // Map the memory. + R_TRY(code_mem->Map(address, size)); + } break; + case CodeMemoryOperation::Unmap: { + // Check that the region is in range. + R_UNLESS( + system.CurrentProcess()->PageTable().CanContain(address, size, KMemoryState::CodeOut), + ResultInvalidMemoryRegion); + + // Check the memory permission. + R_UNLESS(IsValidUnmapCodeMemoryPermission(perm), ResultInvalidNewMemoryPermission); + + // Unmap the memory. + R_TRY(code_mem->Unmap(address, size)); + } break; + case CodeMemoryOperation::MapToOwner: { + // Check that the region is in range. + R_UNLESS(code_mem->GetOwner()->PageTable().CanContain(address, size, + KMemoryState::GeneratedCode), + ResultInvalidMemoryRegion); + + // Check the memory permission. + R_UNLESS(IsValidMapToOwnerCodeMemoryPermission(perm), ResultInvalidNewMemoryPermission); + + // Map the memory to its owner. + R_TRY(code_mem->MapToOwner(address, size, perm)); + } break; + case CodeMemoryOperation::UnmapFromOwner: { + // Check that the region is in range. + R_UNLESS(code_mem->GetOwner()->PageTable().CanContain(address, size, + KMemoryState::GeneratedCode), + ResultInvalidMemoryRegion); + + // Check the memory permission. + R_UNLESS(IsValidUnmapFromOwnerCodeMemoryPermission(perm), ResultInvalidNewMemoryPermission); + + // Unmap the memory from its owner. + R_TRY(code_mem->UnmapFromOwner(address, size)); + } break; + default: + return ResultInvalidEnumValue; + } + + return ResultSuccess; +} + static ResultCode QueryProcessMemory(Core::System& system, VAddr memory_info_address, VAddr page_info_address, Handle process_handle, VAddr address) { @@ -2600,8 +2811,8 @@ static const FunctionDef SVC_Table_64[] = { {0x48, nullptr, "MapPhysicalMemoryUnsafe"}, {0x49, nullptr, "UnmapPhysicalMemoryUnsafe"}, {0x4A, nullptr, "SetUnsafeLimit"}, - {0x4B, nullptr, "CreateCodeMemory"}, - {0x4C, nullptr, "ControlCodeMemory"}, + {0x4B, SvcWrap64<CreateCodeMemory>, "CreateCodeMemory"}, + {0x4C, SvcWrap64<ControlCodeMemory>, "ControlCodeMemory"}, {0x4D, nullptr, "SleepSystem"}, {0x4E, nullptr, "ReadWriteRegister"}, {0x4F, nullptr, "SetProcessActivity"}, @@ -2641,8 +2852,8 @@ static const FunctionDef SVC_Table_64[] = { {0x71, nullptr, "ManageNamedPort"}, {0x72, nullptr, "ConnectToPort"}, {0x73, SvcWrap64<SetProcessMemoryPermission>, "SetProcessMemoryPermission"}, - {0x74, nullptr, "MapProcessMemory"}, - {0x75, nullptr, "UnmapProcessMemory"}, + {0x74, SvcWrap64<MapProcessMemory>, "MapProcessMemory"}, + {0x75, SvcWrap64<UnmapProcessMemory>, "UnmapProcessMemory"}, {0x76, SvcWrap64<QueryProcessMemory>, "QueryProcessMemory"}, {0x77, SvcWrap64<MapProcessCodeMemory>, "MapProcessCodeMemory"}, {0x78, SvcWrap64<UnmapProcessCodeMemory>, "UnmapProcessCodeMemory"}, diff --git a/src/core/hle/kernel/svc_wrap.h b/src/core/hle/kernel/svc_wrap.h index 6e62e656f..86255fe6d 100644 --- a/src/core/hle/kernel/svc_wrap.h +++ b/src/core/hle/kernel/svc_wrap.h @@ -73,6 +73,23 @@ void SvcWrap64(Core::System& system) { .raw); } +// Used by MapProcessMemory and UnmapProcessMemory +template <ResultCode func(Core::System&, u64, u32, u64, u64)> +void SvcWrap64(Core::System& system) { + FuncReturn(system, func(system, Param(system, 0), static_cast<u32>(Param(system, 1)), + Param(system, 2), Param(system, 3)) + .raw); +} + +// Used by ControlCodeMemory +template <ResultCode func(Core::System&, Handle, u32, u64, u64, Svc::MemoryPermission)> +void SvcWrap64(Core::System& system) { + FuncReturn(system, func(system, static_cast<Handle>(Param(system, 0)), + static_cast<u32>(Param(system, 1)), Param(system, 2), Param(system, 3), + static_cast<Svc::MemoryPermission>(Param(system, 4))) + .raw); +} + template <ResultCode func(Core::System&, u32*)> void SvcWrap64(Core::System& system) { u32 param = 0; @@ -301,6 +318,16 @@ void SvcWrap64(Core::System& system) { FuncReturn(system, retval); } +// Used by CreateCodeMemory +template <ResultCode func(Core::System&, Handle*, u64, u64)> +void SvcWrap64(Core::System& system) { + u32 param_1 = 0; + const u32 retval = func(system, ¶m_1, Param(system, 1), Param(system, 2)).raw; + + system.CurrentArmInterface().SetReg(1, param_1); + FuncReturn(system, retval); +} + template <ResultCode func(Core::System&, Handle*, u64, u32, u32)> void SvcWrap64(Core::System& system) { u32 param_1 = 0; diff --git a/src/core/hle/kernel/time_manager.cpp b/src/core/hle/kernel/time_manager.cpp index 8cd7279a3..aa985d820 100644 --- a/src/core/hle/kernel/time_manager.cpp +++ b/src/core/hle/kernel/time_manager.cpp @@ -5,6 +5,7 @@ #include "common/assert.h" #include "core/core.h" #include "core/core_timing.h" +#include "core/hle/kernel/k_scheduler.h" #include "core/hle/kernel/k_thread.h" #include "core/hle/kernel/time_manager.h" @@ -15,7 +16,10 @@ TimeManager::TimeManager(Core::System& system_) : system{system_} { Core::Timing::CreateEvent("Kernel::TimeManagerCallback", [this](std::uintptr_t thread_handle, std::chrono::nanoseconds) { KThread* thread = reinterpret_cast<KThread*>(thread_handle); - thread->Wakeup(); + { + KScopedSchedulerLock sl(system.Kernel()); + thread->OnTimer(); + } }); } diff --git a/src/core/hle/service/am/am.cpp b/src/core/hle/service/am/am.cpp index aee8d4f93..e60661fe1 100644 --- a/src/core/hle/service/am/am.cpp +++ b/src/core/hle/service/am/am.cpp @@ -30,6 +30,7 @@ #include "core/hle/service/apm/apm_controller.h" #include "core/hle/service/apm/apm_interface.h" #include "core/hle/service/bcat/backend/backend.h" +#include "core/hle/service/caps/caps.h" #include "core/hle/service/filesystem/filesystem.h" #include "core/hle/service/ns/ns.h" #include "core/hle/service/nvflinger/nvflinger.h" @@ -298,7 +299,7 @@ ISelfController::ISelfController(Core::System& system_, NVFlinger::NVFlinger& nv {91, &ISelfController::GetAccumulatedSuspendedTickChangedEvent, "GetAccumulatedSuspendedTickChangedEvent"}, {100, &ISelfController::SetAlbumImageTakenNotificationEnabled, "SetAlbumImageTakenNotificationEnabled"}, {110, nullptr, "SetApplicationAlbumUserData"}, - {120, nullptr, "SaveCurrentScreenshot"}, + {120, &ISelfController::SaveCurrentScreenshot, "SaveCurrentScreenshot"}, {130, nullptr, "SetRecordVolumeMuted"}, {1000, nullptr, "GetDebugStorageChannel"}, }; @@ -579,6 +580,17 @@ void ISelfController::SetAlbumImageTakenNotificationEnabled(Kernel::HLERequestCo rb.Push(ResultSuccess); } +void ISelfController::SaveCurrentScreenshot(Kernel::HLERequestContext& ctx) { + IPC::RequestParser rp{ctx}; + + const auto album_report_option = rp.PopEnum<Capture::AlbumReportOption>(); + + LOG_WARNING(Service_AM, "(STUBBED) called. album_report_option={}", album_report_option); + + IPC::ResponseBuilder rb{ctx, 2}; + rb.Push(ResultSuccess); +} + AppletMessageQueue::AppletMessageQueue(Core::System& system) : service_context{system, "AppletMessageQueue"} { on_new_message = service_context.CreateEvent("AMMessageQueue:OnMessageReceived"); diff --git a/src/core/hle/service/am/am.h b/src/core/hle/service/am/am.h index 202d20757..2a578aea5 100644 --- a/src/core/hle/service/am/am.h +++ b/src/core/hle/service/am/am.h @@ -151,6 +151,7 @@ private: void GetAccumulatedSuspendedTickValue(Kernel::HLERequestContext& ctx); void GetAccumulatedSuspendedTickChangedEvent(Kernel::HLERequestContext& ctx); void SetAlbumImageTakenNotificationEnabled(Kernel::HLERequestContext& ctx); + void SaveCurrentScreenshot(Kernel::HLERequestContext& ctx); enum class ScreenshotPermission : u32 { Inherit = 0, diff --git a/src/core/hle/service/audio/hwopus.cpp b/src/core/hle/service/audio/hwopus.cpp index 7da1f2969..981b6c996 100644 --- a/src/core/hle/service/audio/hwopus.cpp +++ b/src/core/hle/service/audio/hwopus.cpp @@ -96,7 +96,7 @@ private: bool DecodeOpusData(u32& consumed, u32& sample_count, const std::vector<u8>& input, std::vector<opus_int16>& output, u64* out_performance_time) const { - const auto start_time = std::chrono::high_resolution_clock::now(); + const auto start_time = std::chrono::steady_clock::now(); const std::size_t raw_output_sz = output.size() * sizeof(opus_int16); if (sizeof(OpusPacketHeader) > input.size()) { LOG_ERROR(Audio, "Input is smaller than the header size, header_sz={}, input_sz={}", @@ -135,7 +135,7 @@ private: return false; } - const auto end_time = std::chrono::high_resolution_clock::now() - start_time; + const auto end_time = std::chrono::steady_clock::now() - start_time; sample_count = out_sample_count; consumed = static_cast<u32>(sizeof(OpusPacketHeader) + hdr.size); if (out_performance_time != nullptr) { diff --git a/src/core/hle/service/caps/caps.h b/src/core/hle/service/caps/caps.h index b18adcb9d..7254055e6 100644 --- a/src/core/hle/service/caps/caps.h +++ b/src/core/hle/service/caps/caps.h @@ -24,7 +24,7 @@ enum class AlbumImageOrientation { Orientation3 = 3, }; -enum class AlbumReportOption { +enum class AlbumReportOption : s32 { Disable = 0, Enable = 1, }; diff --git a/src/core/hle/service/friend/friend.cpp b/src/core/hle/service/friend/friend.cpp index 68c9240ae..3c36f4085 100644 --- a/src/core/hle/service/friend/friend.cpp +++ b/src/core/hle/service/friend/friend.cpp @@ -17,10 +17,11 @@ namespace Service::Friend { class IFriendService final : public ServiceFramework<IFriendService> { public: - explicit IFriendService(Core::System& system_) : ServiceFramework{system_, "IFriendService"} { + explicit IFriendService(Core::System& system_) + : ServiceFramework{system_, "IFriendService"}, service_context{system, "IFriendService"} { // clang-format off static const FunctionInfo functions[] = { - {0, nullptr, "GetCompletionEvent"}, + {0, &IFriendService::GetCompletionEvent, "GetCompletionEvent"}, {1, nullptr, "Cancel"}, {10100, nullptr, "GetFriendListIds"}, {10101, &IFriendService::GetFriendList, "GetFriendList"}, @@ -109,6 +110,12 @@ public: // clang-format on RegisterHandlers(functions); + + completion_event = service_context.CreateEvent("IFriendService:CompletionEvent"); + } + + ~IFriendService() override { + service_context.CloseEvent(completion_event); } private: @@ -129,6 +136,14 @@ private: }; static_assert(sizeof(SizedFriendFilter) == 0x10, "SizedFriendFilter is an invalid size"); + void GetCompletionEvent(Kernel::HLERequestContext& ctx) { + LOG_DEBUG(Service_Friend, "called"); + + IPC::ResponseBuilder rb{ctx, 2, 1}; + rb.Push(ResultSuccess); + rb.PushCopyObjects(completion_event->GetReadableEvent()); + } + void GetBlockedUserListIds(Kernel::HLERequestContext& ctx) { // This is safe to stub, as there should be no adverse consequences from reporting no // blocked users. @@ -179,6 +194,10 @@ private: rb.Push<u32>(0); // Friend count // TODO(ogniK): Return a buffer of u64s which are the "NetworkServiceAccountId" } + + KernelHelpers::ServiceContext service_context; + + Kernel::KEvent* completion_event; }; class INotificationService final : public ServiceFramework<INotificationService> { diff --git a/src/core/hle/service/glue/glue.cpp b/src/core/hle/service/glue/glue.cpp index a08dc9758..b24d469cf 100644 --- a/src/core/hle/service/glue/glue.cpp +++ b/src/core/hle/service/glue/glue.cpp @@ -8,6 +8,7 @@ #include "core/hle/service/glue/bgtc.h" #include "core/hle/service/glue/ectx.h" #include "core/hle/service/glue/glue.h" +#include "core/hle/service/glue/notif.h" namespace Service::Glue { @@ -24,6 +25,9 @@ void InstallInterfaces(Core::System& system) { // Error Context std::make_shared<ECTX_AW>(system)->InstallAsService(system.ServiceManager()); + + // Notification Services for application + std::make_shared<NOTIF_A>(system)->InstallAsService(system.ServiceManager()); } } // namespace Service::Glue diff --git a/src/core/hle/service/glue/notif.cpp b/src/core/hle/service/glue/notif.cpp new file mode 100644 index 000000000..c559ec9df --- /dev/null +++ b/src/core/hle/service/glue/notif.cpp @@ -0,0 +1,44 @@ +// Copyright 2021 yuzu Emulator Project +// Licensed under GPLv2 or any later version +// Refer to the license.txt file included. + +#include "core/hle/ipc_helpers.h" +#include "core/hle/service/glue/notif.h" + +namespace Service::Glue { + +NOTIF_A::NOTIF_A(Core::System& system_) : ServiceFramework{system_, "notif:a"} { + // clang-format off + static const FunctionInfo functions[] = { + {500, nullptr, "RegisterAlarmSetting"}, + {510, nullptr, "UpdateAlarmSetting"}, + {520, &NOTIF_A::ListAlarmSettings, "ListAlarmSettings"}, + {530, nullptr, "LoadApplicationParameter"}, + {540, nullptr, "DeleteAlarmSetting"}, + {1000, &NOTIF_A::Initialize, "Initialize"}, + }; + // clang-format on + + RegisterHandlers(functions); +} + +NOTIF_A::~NOTIF_A() = default; + +void NOTIF_A::ListAlarmSettings(Kernel::HLERequestContext& ctx) { + // Returns an array of AlarmSetting + constexpr s32 alarm_count = 0; + + LOG_WARNING(Service_NOTIF, "(STUBBED) called"); + + IPC::ResponseBuilder rb{ctx, 3}; + rb.Push(ResultSuccess); + rb.Push(alarm_count); +} + +void NOTIF_A::Initialize(Kernel::HLERequestContext& ctx) { + LOG_WARNING(Service_NOTIF, "(STUBBED) called"); + IPC::ResponseBuilder rb{ctx, 2}; + rb.Push(ResultSuccess); +} + +} // namespace Service::Glue diff --git a/src/core/hle/service/glue/notif.h b/src/core/hle/service/glue/notif.h new file mode 100644 index 000000000..6ecf2015c --- /dev/null +++ b/src/core/hle/service/glue/notif.h @@ -0,0 +1,25 @@ +// Copyright 2021 yuzu Emulator Project +// Licensed under GPLv2 or any later version +// Refer to the license.txt file included. + +#pragma once + +#include "core/hle/service/service.h" + +namespace Core { +class System; +} + +namespace Service::Glue { + +class NOTIF_A final : public ServiceFramework<NOTIF_A> { +public: + explicit NOTIF_A(Core::System& system_); + ~NOTIF_A() override; + +private: + void ListAlarmSettings(Kernel::HLERequestContext& ctx); + void Initialize(Kernel::HLERequestContext& ctx); +}; + +} // namespace Service::Glue diff --git a/src/core/hle/service/hid/controllers/npad.cpp b/src/core/hle/service/hid/controllers/npad.cpp index 04b3a68c3..2705e9dcb 100644 --- a/src/core/hle/service/hid/controllers/npad.cpp +++ b/src/core/hle/service/hid/controllers/npad.cpp @@ -110,7 +110,7 @@ void Controller_NPad::ControllerUpdate(Core::HID::ControllerTriggerType type, UpdateControllerAt(npad_type, npad_id, is_connected); break; case Core::HID::ControllerTriggerType::Battery: { - if (!controller.is_connected) { + if (!controller.device->IsConnected()) { return; } auto& shared_memory = controller.shared_memory_entry; @@ -126,8 +126,11 @@ void Controller_NPad::ControllerUpdate(Core::HID::ControllerTriggerType type, } void Controller_NPad::InitNewlyAddedController(Core::HID::NpadIdType npad_id) { - LOG_DEBUG(Service_HID, "Npad connected {}", npad_id); auto& controller = GetControllerFromNpadIdType(npad_id); + if (!IsControllerSupported(controller.device->GetNpadStyleIndex())) { + return; + } + LOG_DEBUG(Service_HID, "Npad connected {}", npad_id); const auto controller_type = controller.device->GetNpadStyleIndex(); auto& shared_memory = controller.shared_memory_entry; if (controller_type == Core::HID::NpadStyleIndex::None) { @@ -147,7 +150,6 @@ void Controller_NPad::InitNewlyAddedController(Core::HID::NpadIdType npad_id) { shared_memory.system_properties.is_vertical.Assign(1); shared_memory.system_properties.use_plus.Assign(1); shared_memory.system_properties.use_minus.Assign(1); - shared_memory.assignment_mode = NpadJoyAssignmentMode::Single; shared_memory.applet_footer.type = AppletFooterUiType::SwitchProController; break; case Core::HID::NpadStyleIndex::Handheld: @@ -163,21 +165,30 @@ void Controller_NPad::InitNewlyAddedController(Core::HID::NpadIdType npad_id) { break; case Core::HID::NpadStyleIndex::JoyconDual: shared_memory.style_tag.joycon_dual.Assign(1); - shared_memory.device_type.joycon_left.Assign(1); - shared_memory.device_type.joycon_right.Assign(1); - shared_memory.system_properties.is_vertical.Assign(1); - shared_memory.system_properties.use_plus.Assign(1); - shared_memory.system_properties.use_minus.Assign(1); + if (controller.is_dual_left_connected) { + shared_memory.device_type.joycon_left.Assign(1); + shared_memory.system_properties.use_minus.Assign(1); + } + if (controller.is_dual_right_connected) { + shared_memory.device_type.joycon_right.Assign(1); + shared_memory.system_properties.use_plus.Assign(1); + } shared_memory.system_properties.use_directional_buttons.Assign(1); + shared_memory.system_properties.is_vertical.Assign(1); shared_memory.assignment_mode = NpadJoyAssignmentMode::Dual; - shared_memory.applet_footer.type = AppletFooterUiType::JoyDual; + if (controller.is_dual_left_connected && controller.is_dual_right_connected) { + shared_memory.applet_footer.type = AppletFooterUiType::JoyDual; + } else if (controller.is_dual_left_connected) { + shared_memory.applet_footer.type = AppletFooterUiType::JoyDualLeftOnly; + } else { + shared_memory.applet_footer.type = AppletFooterUiType::JoyDualRightOnly; + } break; case Core::HID::NpadStyleIndex::JoyconLeft: shared_memory.style_tag.joycon_left.Assign(1); shared_memory.device_type.joycon_left.Assign(1); shared_memory.system_properties.is_horizontal.Assign(1); shared_memory.system_properties.use_minus.Assign(1); - shared_memory.assignment_mode = NpadJoyAssignmentMode::Single; shared_memory.applet_footer.type = AppletFooterUiType::JoyLeftHorizontal; break; case Core::HID::NpadStyleIndex::JoyconRight: @@ -185,7 +196,6 @@ void Controller_NPad::InitNewlyAddedController(Core::HID::NpadIdType npad_id) { shared_memory.device_type.joycon_right.Assign(1); shared_memory.system_properties.is_horizontal.Assign(1); shared_memory.system_properties.use_plus.Assign(1); - shared_memory.assignment_mode = NpadJoyAssignmentMode::Single; shared_memory.applet_footer.type = AppletFooterUiType::JoyRightHorizontal; break; case Core::HID::NpadStyleIndex::GameCube: @@ -197,7 +207,6 @@ void Controller_NPad::InitNewlyAddedController(Core::HID::NpadIdType npad_id) { case Core::HID::NpadStyleIndex::Pokeball: shared_memory.style_tag.palma.Assign(1); shared_memory.device_type.palma.Assign(1); - shared_memory.assignment_mode = NpadJoyAssignmentMode::Single; break; case Core::HID::NpadStyleIndex::NES: shared_memory.style_tag.lark.Assign(1); @@ -255,19 +264,7 @@ void Controller_NPad::OnInit() { if (hid_core.GetSupportedStyleTag().raw == Core::HID::NpadStyleSet::None) { // We want to support all controllers - Core::HID::NpadStyleTag style{}; - style.handheld.Assign(1); - style.joycon_left.Assign(1); - style.joycon_right.Assign(1); - style.joycon_dual.Assign(1); - style.fullkey.Assign(1); - style.gamecube.Assign(1); - style.palma.Assign(1); - style.lark.Assign(1); - style.lucia.Assign(1); - style.lagoon.Assign(1); - style.lager.Assign(1); - hid_core.SetSupportedStyleTag(style); + hid_core.SetSupportedStyleTag({Core::HID::NpadStyleSet::All}); } supported_npad_id_types.resize(npad_id_list.size()); @@ -452,11 +449,15 @@ void Controller_NPad::OnUpdate(const Core::Timing::CoreTiming& core_timing, u8* case Core::HID::NpadStyleIndex::JoyconDual: pad_state.connection_status.raw = 0; pad_state.connection_status.is_connected.Assign(1); - pad_state.connection_status.is_left_connected.Assign(1); - pad_state.connection_status.is_right_connected.Assign(1); + if (controller.is_dual_left_connected) { + pad_state.connection_status.is_left_connected.Assign(1); + libnx_state.connection_status.is_left_connected.Assign(1); + } + if (controller.is_dual_right_connected) { + pad_state.connection_status.is_right_connected.Assign(1); + libnx_state.connection_status.is_right_connected.Assign(1); + } - libnx_state.connection_status.is_left_connected.Assign(1); - libnx_state.connection_status.is_right_connected.Assign(1); pad_state.sampling_number = npad.joy_dual_lifo.ReadCurrentEntry().state.sampling_number + 1; npad.joy_dual_lifo.WriteNextEntry(pad_state); @@ -510,7 +511,7 @@ void Controller_NPad::OnUpdate(const Core::Timing::CoreTiming& core_timing, u8* libnx_state.r_stick = pad_state.r_stick; npad.system_ext_lifo.WriteNextEntry(pad_state); - press_state |= static_cast<u32>(pad_state.npad_buttons.raw); + press_state |= static_cast<u64>(pad_state.npad_buttons.raw); std::memcpy(data + NPAD_OFFSET + (i * sizeof(NpadInternalState)), &controller.shared_memory_entry, sizeof(NpadInternalState)); @@ -635,7 +636,7 @@ void Controller_NPad::OnMotionUpdate(const Core::Timing::CoreTiming& core_timing // This buffer only is updated on handheld on HW npad.sixaxis_handheld_lifo.WriteNextEntry(sixaxis_handheld_state); } else { - // Hanheld doesn't update this buffer on HW + // Handheld doesn't update this buffer on HW npad.sixaxis_fullkey_lifo.WriteNextEntry(sixaxis_fullkey_state); } @@ -696,7 +697,7 @@ Controller_NPad::NpadCommunicationMode Controller_NPad::GetNpadCommunicationMode return communication_mode; } -void Controller_NPad::SetNpadMode(Core::HID::NpadIdType npad_id, +void Controller_NPad::SetNpadMode(Core::HID::NpadIdType npad_id, NpadJoyDeviceType npad_device_type, NpadJoyAssignmentMode assignment_mode) { if (!IsNpadIdValid(npad_id)) { LOG_ERROR(Service_HID, "Invalid NpadIdType npad_id:{}", npad_id); @@ -707,6 +708,62 @@ void Controller_NPad::SetNpadMode(Core::HID::NpadIdType npad_id, if (controller.shared_memory_entry.assignment_mode != assignment_mode) { controller.shared_memory_entry.assignment_mode = assignment_mode; } + + if (!controller.device->IsConnected()) { + return; + } + + if (assignment_mode == NpadJoyAssignmentMode::Dual) { + if (controller.device->GetNpadStyleIndex() == Core::HID::NpadStyleIndex::JoyconLeft) { + DisconnectNpad(npad_id); + controller.is_dual_left_connected = true; + controller.is_dual_right_connected = false; + UpdateControllerAt(Core::HID::NpadStyleIndex::JoyconDual, npad_id, true); + return; + } + if (controller.device->GetNpadStyleIndex() == Core::HID::NpadStyleIndex::JoyconRight) { + DisconnectNpad(npad_id); + controller.is_dual_left_connected = false; + controller.is_dual_right_connected = true; + UpdateControllerAt(Core::HID::NpadStyleIndex::JoyconDual, npad_id, true); + return; + } + return; + } + + // This is for NpadJoyAssignmentMode::Single + + // Only JoyconDual get affected by this function + if (controller.device->GetNpadStyleIndex() != Core::HID::NpadStyleIndex::JoyconDual) { + return; + } + + if (controller.is_dual_left_connected && !controller.is_dual_right_connected) { + DisconnectNpad(npad_id); + UpdateControllerAt(Core::HID::NpadStyleIndex::JoyconLeft, npad_id, true); + return; + } + if (!controller.is_dual_left_connected && controller.is_dual_right_connected) { + DisconnectNpad(npad_id); + UpdateControllerAt(Core::HID::NpadStyleIndex::JoyconRight, npad_id, true); + return; + } + + // We have two controllers connected to the same npad_id we need to split them + const auto npad_id_2 = hid_core.GetFirstDisconnectedNpadId(); + auto& controller_2 = GetControllerFromNpadIdType(npad_id_2); + DisconnectNpad(npad_id); + if (npad_device_type == NpadJoyDeviceType::Left) { + UpdateControllerAt(Core::HID::NpadStyleIndex::JoyconLeft, npad_id, true); + controller_2.is_dual_left_connected = false; + controller_2.is_dual_right_connected = true; + UpdateControllerAt(Core::HID::NpadStyleIndex::JoyconDual, npad_id_2, true); + } else { + UpdateControllerAt(Core::HID::NpadStyleIndex::JoyconRight, npad_id, true); + controller_2.is_dual_left_connected = true; + controller_2.is_dual_right_connected = false; + UpdateControllerAt(Core::HID::NpadStyleIndex::JoyconDual, npad_id_2, true); + } } bool Controller_NPad::VibrateControllerAtIndex(Core::HID::NpadIdType npad_id, @@ -916,6 +973,7 @@ void Controller_NPad::DisconnectNpad(Core::HID::NpadIdType npad_id) { } auto& shared_memory_entry = controller.shared_memory_entry; + // Don't reset shared_memory_entry.assignment_mode this value is persistent shared_memory_entry.style_tag.raw = Core::HID::NpadStyleSet::None; // Zero out shared_memory_entry.device_type.raw = 0; shared_memory_entry.system_properties.raw = 0; @@ -932,9 +990,10 @@ void Controller_NPad::DisconnectNpad(Core::HID::NpadIdType npad_id) { .left = {}, .right = {}, }; - shared_memory_entry.assignment_mode = NpadJoyAssignmentMode::Dual; shared_memory_entry.applet_footer.type = AppletFooterUiType::None; + controller.is_dual_left_connected = true; + controller.is_dual_right_connected = true; controller.is_connected = false; controller.device->Disconnect(); SignalStyleSetChangedEvent(npad_id); @@ -1031,19 +1090,70 @@ void Controller_NPad::MergeSingleJoyAsDualJoy(Core::HID::NpadIdType npad_id_1, npad_id_2); return; } - auto& controller_1 = GetControllerFromNpadIdType(npad_id_1).device; - auto& controller_2 = GetControllerFromNpadIdType(npad_id_2).device; + auto& controller_1 = GetControllerFromNpadIdType(npad_id_1); + auto& controller_2 = GetControllerFromNpadIdType(npad_id_2); + const auto controller_style_1 = controller_1.device->GetNpadStyleIndex(); + const auto controller_style_2 = controller_2.device->GetNpadStyleIndex(); + bool merge_controllers = false; // If the controllers at both npad indices form a pair of left and right joycons, merge them. // Otherwise, do nothing. - if ((controller_1->GetNpadStyleIndex() == Core::HID::NpadStyleIndex::JoyconLeft && - controller_2->GetNpadStyleIndex() == Core::HID::NpadStyleIndex::JoyconRight) || - (controller_2->GetNpadStyleIndex() == Core::HID::NpadStyleIndex::JoyconLeft && - controller_1->GetNpadStyleIndex() == Core::HID::NpadStyleIndex::JoyconRight)) { + if (controller_style_1 == Core::HID::NpadStyleIndex::JoyconLeft && + controller_style_2 == Core::HID::NpadStyleIndex::JoyconRight) { + merge_controllers = true; + } + if (controller_style_2 == Core::HID::NpadStyleIndex::JoyconLeft && + controller_style_1 == Core::HID::NpadStyleIndex::JoyconRight) { + merge_controllers = true; + } + if (controller_style_1 == Core::HID::NpadStyleIndex::JoyconDual && + controller_style_2 == Core::HID::NpadStyleIndex::JoyconRight && + controller_1.is_dual_left_connected && !controller_1.is_dual_right_connected) { + merge_controllers = true; + } + if (controller_style_1 == Core::HID::NpadStyleIndex::JoyconDual && + controller_style_2 == Core::HID::NpadStyleIndex::JoyconLeft && + !controller_1.is_dual_left_connected && controller_1.is_dual_right_connected) { + merge_controllers = true; + } + if (controller_style_2 == Core::HID::NpadStyleIndex::JoyconDual && + controller_style_1 == Core::HID::NpadStyleIndex::JoyconRight && + controller_2.is_dual_left_connected && !controller_2.is_dual_right_connected) { + merge_controllers = true; + } + if (controller_style_2 == Core::HID::NpadStyleIndex::JoyconDual && + controller_style_1 == Core::HID::NpadStyleIndex::JoyconLeft && + !controller_2.is_dual_left_connected && controller_2.is_dual_right_connected) { + merge_controllers = true; + } + if (controller_style_1 == Core::HID::NpadStyleIndex::JoyconDual && + controller_style_2 == Core::HID::NpadStyleIndex::JoyconDual && + controller_1.is_dual_left_connected && !controller_1.is_dual_right_connected && + !controller_2.is_dual_left_connected && controller_2.is_dual_right_connected) { + merge_controllers = true; + } + if (controller_style_1 == Core::HID::NpadStyleIndex::JoyconDual && + controller_style_2 == Core::HID::NpadStyleIndex::JoyconDual && + !controller_1.is_dual_left_connected && controller_1.is_dual_right_connected && + controller_2.is_dual_left_connected && !controller_2.is_dual_right_connected) { + merge_controllers = true; + } + + if (merge_controllers) { // Disconnect the joycon at the second id and connect the dual joycon at the first index. DisconnectNpad(npad_id_2); + controller_1.is_dual_left_connected = true; + controller_1.is_dual_right_connected = true; AddNewControllerAt(Core::HID::NpadStyleIndex::JoyconDual, npad_id_1); + return; } + LOG_WARNING(Service_HID, + "Controllers can't be merged npad_id_1:{}, npad_id_2:{}, type_1:{}, type_2:{}, " + "dual_1(left/right):{}/{}, dual_2(left/right):{}/{}", + npad_id_1, npad_id_2, controller_1.device->GetNpadStyleIndex(), + controller_2.device->GetNpadStyleIndex(), controller_1.is_dual_left_connected, + controller_1.is_dual_right_connected, controller_2.is_dual_left_connected, + controller_2.is_dual_right_connected); } void Controller_NPad::StartLRAssignmentMode() { @@ -1072,13 +1182,18 @@ bool Controller_NPad::SwapNpadAssignment(Core::HID::NpadIdType npad_id_1, const auto& controller_2 = GetControllerFromNpadIdType(npad_id_2).device; const auto type_index_1 = controller_1->GetNpadStyleIndex(); const auto type_index_2 = controller_2->GetNpadStyleIndex(); + const auto is_connected_1 = controller_1->IsConnected(); + const auto is_connected_2 = controller_2->IsConnected(); - if (!IsControllerSupported(type_index_1) || !IsControllerSupported(type_index_2)) { + if (!IsControllerSupported(type_index_1) && is_connected_1) { + return false; + } + if (!IsControllerSupported(type_index_2) && is_connected_2) { return false; } - AddNewControllerAt(type_index_2, npad_id_1); - AddNewControllerAt(type_index_1, npad_id_2); + UpdateControllerAt(type_index_2, npad_id_1, is_connected_2); + UpdateControllerAt(type_index_1, npad_id_2, is_connected_1); return true; } @@ -1149,8 +1264,8 @@ void Controller_NPad::ClearAllControllers() { } } -u32 Controller_NPad::GetAndResetPressState() { - return press_state.exchange(0); +Core::HID::NpadButton Controller_NPad::GetAndResetPressState() { + return static_cast<Core::HID::NpadButton>(press_state.exchange(0)); } bool Controller_NPad::IsControllerSupported(Core::HID::NpadStyleIndex controller) const { diff --git a/src/core/hle/service/hid/controllers/npad.h b/src/core/hle/service/hid/controllers/npad.h index 9fa113bb6..63281cb35 100644 --- a/src/core/hle/service/hid/controllers/npad.h +++ b/src/core/hle/service/hid/controllers/npad.h @@ -113,7 +113,8 @@ public: void SetNpadCommunicationMode(NpadCommunicationMode communication_mode_); NpadCommunicationMode GetNpadCommunicationMode() const; - void SetNpadMode(Core::HID::NpadIdType npad_id, NpadJoyAssignmentMode assignment_mode); + void SetNpadMode(Core::HID::NpadIdType npad_id, NpadJoyDeviceType npad_device_type, + NpadJoyAssignmentMode assignment_mode); bool VibrateControllerAtIndex(Core::HID::NpadIdType npad_id, std::size_t device_index, const Core::HID::VibrationValue& vibration_value); @@ -179,7 +180,7 @@ public: // Logical OR for all buttons presses on all controllers // Specifically for cheat engine and other features. - u32 GetAndResetPressState(); + Core::HID::NpadButton GetAndResetPressState(); static bool IsNpadIdValid(Core::HID::NpadIdType npad_id); static bool IsDeviceHandleValid(const Core::HID::SixAxisSensorHandle& device_handle); @@ -464,7 +465,10 @@ private: std::array<VibrationData, 2> vibration{}; bool unintended_home_button_input_protection{}; bool is_connected{}; - Core::HID::NpadStyleIndex npad_type{Core::HID::NpadStyleIndex::None}; + + // Dual joycons can have only one side connected + bool is_dual_left_connected{true}; + bool is_dual_right_connected{true}; // Motion parameters bool sixaxis_at_rest{true}; @@ -503,7 +507,7 @@ private: NpadControllerData& GetControllerFromNpadIdType(Core::HID::NpadIdType npad_id); const NpadControllerData& GetControllerFromNpadIdType(Core::HID::NpadIdType npad_id) const; - std::atomic<u32> press_state{}; + std::atomic<u64> press_state{}; std::array<NpadControllerData, 10> controller_data{}; KernelHelpers::ServiceContext& service_context; diff --git a/src/core/hle/service/hid/hid.cpp b/src/core/hle/service/hid/hid.cpp index b36689552..7163e1a4e 100644 --- a/src/core/hle/service/hid/hid.cpp +++ b/src/core/hle/service/hid/hid.cpp @@ -293,8 +293,8 @@ Hid::Hid(Core::System& system_) {132, &Hid::EnableUnintendedHomeButtonInputProtection, "EnableUnintendedHomeButtonInputProtection"}, {133, nullptr, "SetNpadJoyAssignmentModeSingleWithDestination"}, {134, &Hid::SetNpadAnalogStickUseCenterClamp, "SetNpadAnalogStickUseCenterClamp"}, - {135, nullptr, "SetNpadCaptureButtonAssignment"}, - {136, nullptr, "ClearNpadCaptureButtonAssignment"}, + {135, &Hid::SetNpadCaptureButtonAssignment, "SetNpadCaptureButtonAssignment"}, + {136, &Hid::ClearNpadCaptureButtonAssignment, "ClearNpadCaptureButtonAssignment"}, {200, &Hid::GetVibrationDeviceInfo, "GetVibrationDeviceInfo"}, {201, &Hid::SendVibrationValue, "SendVibrationValue"}, {202, &Hid::GetActualVibrationValue, "GetActualVibrationValue"}, @@ -975,35 +975,35 @@ void Hid::SetNpadJoyAssignmentModeSingleByDefault(Kernel::HLERequestContext& ctx const auto parameters{rp.PopRaw<Parameters>()}; applet_resource->GetController<Controller_NPad>(HidController::NPad) - .SetNpadMode(parameters.npad_id, Controller_NPad::NpadJoyAssignmentMode::Single); + .SetNpadMode(parameters.npad_id, Controller_NPad::NpadJoyDeviceType::Left, + Controller_NPad::NpadJoyAssignmentMode::Single); - LOG_WARNING(Service_HID, "(STUBBED) called, npad_id={}, applet_resource_user_id={}", - parameters.npad_id, parameters.applet_resource_user_id); + LOG_INFO(Service_HID, "called, npad_id={}, applet_resource_user_id={}", parameters.npad_id, + parameters.applet_resource_user_id); IPC::ResponseBuilder rb{ctx, 2}; rb.Push(ResultSuccess); } void Hid::SetNpadJoyAssignmentModeSingle(Kernel::HLERequestContext& ctx) { - // TODO: Check the differences between this and SetNpadJoyAssignmentModeSingleByDefault IPC::RequestParser rp{ctx}; struct Parameters { Core::HID::NpadIdType npad_id; INSERT_PADDING_WORDS_NOINIT(1); u64 applet_resource_user_id; - u64 npad_joy_device_type; + Controller_NPad::NpadJoyDeviceType npad_joy_device_type; }; static_assert(sizeof(Parameters) == 0x18, "Parameters has incorrect size."); const auto parameters{rp.PopRaw<Parameters>()}; applet_resource->GetController<Controller_NPad>(HidController::NPad) - .SetNpadMode(parameters.npad_id, Controller_NPad::NpadJoyAssignmentMode::Single); + .SetNpadMode(parameters.npad_id, parameters.npad_joy_device_type, + Controller_NPad::NpadJoyAssignmentMode::Single); - LOG_WARNING(Service_HID, - "(STUBBED) called, npad_id={}, applet_resource_user_id={}, npad_joy_device_type={}", - parameters.npad_id, parameters.applet_resource_user_id, - parameters.npad_joy_device_type); + LOG_INFO(Service_HID, "called, npad_id={}, applet_resource_user_id={}, npad_joy_device_type={}", + parameters.npad_id, parameters.applet_resource_user_id, + parameters.npad_joy_device_type); IPC::ResponseBuilder rb{ctx, 2}; rb.Push(ResultSuccess); @@ -1021,10 +1021,10 @@ void Hid::SetNpadJoyAssignmentModeDual(Kernel::HLERequestContext& ctx) { const auto parameters{rp.PopRaw<Parameters>()}; applet_resource->GetController<Controller_NPad>(HidController::NPad) - .SetNpadMode(parameters.npad_id, Controller_NPad::NpadJoyAssignmentMode::Dual); + .SetNpadMode(parameters.npad_id, {}, Controller_NPad::NpadJoyAssignmentMode::Dual); - LOG_WARNING(Service_HID, "(STUBBED) called, npad_id={}, applet_resource_user_id={}", - parameters.npad_id, parameters.applet_resource_user_id); + LOG_INFO(Service_HID, "called, npad_id={}, applet_resource_user_id={}", parameters.npad_id, + parameters.applet_resource_user_id); IPC::ResponseBuilder rb{ctx, 2}; rb.Push(ResultSuccess); @@ -1186,6 +1186,37 @@ void Hid::SetNpadAnalogStickUseCenterClamp(Kernel::HLERequestContext& ctx) { rb.Push(ResultSuccess); } +void Hid::SetNpadCaptureButtonAssignment(Kernel::HLERequestContext& ctx) { + IPC::RequestParser rp{ctx}; + struct Parameters { + Core::HID::NpadStyleSet npad_styleset; + INSERT_PADDING_WORDS_NOINIT(1); + u64 applet_resource_user_id; + Core::HID::NpadButton button; + }; + static_assert(sizeof(Parameters) == 0x18, "Parameters has incorrect size."); + + const auto parameters{rp.PopRaw<Parameters>()}; + + LOG_WARNING(Service_HID, + "(STUBBED) called, npad_styleset={}, applet_resource_user_id={}, button={}", + parameters.npad_styleset, parameters.applet_resource_user_id, parameters.button); + + IPC::ResponseBuilder rb{ctx, 2}; + rb.Push(ResultSuccess); +} + +void Hid::ClearNpadCaptureButtonAssignment(Kernel::HLERequestContext& ctx) { + IPC::RequestParser rp{ctx}; + const auto applet_resource_user_id{rp.Pop<u64>()}; + + LOG_WARNING(Service_HID, "(STUBBED) called, applet_resource_user_id={}", + applet_resource_user_id); + + IPC::ResponseBuilder rb{ctx, 2}; + rb.Push(ResultSuccess); +} + void Hid::GetVibrationDeviceInfo(Kernel::HLERequestContext& ctx) { IPC::RequestParser rp{ctx}; const auto vibration_device_handle{rp.PopRaw<Core::HID::VibrationDeviceHandle>()}; diff --git a/src/core/hle/service/hid/hid.h b/src/core/hle/service/hid/hid.h index ab0084118..d290df161 100644 --- a/src/core/hle/service/hid/hid.h +++ b/src/core/hle/service/hid/hid.h @@ -136,6 +136,8 @@ private: void IsUnintendedHomeButtonInputProtectionEnabled(Kernel::HLERequestContext& ctx); void EnableUnintendedHomeButtonInputProtection(Kernel::HLERequestContext& ctx); void SetNpadAnalogStickUseCenterClamp(Kernel::HLERequestContext& ctx); + void SetNpadCaptureButtonAssignment(Kernel::HLERequestContext& ctx); + void ClearNpadCaptureButtonAssignment(Kernel::HLERequestContext& ctx); void GetVibrationDeviceInfo(Kernel::HLERequestContext& ctx); void SendVibrationValue(Kernel::HLERequestContext& ctx); void GetActualVibrationValue(Kernel::HLERequestContext& ctx); diff --git a/src/core/hle/service/nvdrv/devices/nvhost_nvdec.cpp b/src/core/hle/service/nvdrv/devices/nvhost_nvdec.cpp index 0d7d4ad03..8314d1ec2 100644 --- a/src/core/hle/service/nvdrv/devices/nvhost_nvdec.cpp +++ b/src/core/hle/service/nvdrv/devices/nvhost_nvdec.cpp @@ -20,8 +20,12 @@ NvResult nvhost_nvdec::Ioctl1(DeviceFD fd, Ioctl command, const std::vector<u8>& switch (command.group) { case 0x0: switch (command.cmd) { - case 0x1: - return Submit(input, output); + case 0x1: { + if (!fd_to_id.contains(fd)) { + fd_to_id[fd] = next_id++; + } + return Submit(fd, input, output); + } case 0x2: return GetSyncpoint(input, output); case 0x3: @@ -66,7 +70,10 @@ void nvhost_nvdec::OnOpen(DeviceFD fd) {} void nvhost_nvdec::OnClose(DeviceFD fd) { LOG_INFO(Service_NVDRV, "NVDEC video stream ended"); - system.GPU().ClearCdmaInstance(); + const auto iter = fd_to_id.find(fd); + if (iter != fd_to_id.end()) { + system.GPU().ClearCdmaInstance(iter->second); + } } } // namespace Service::Nvidia::Devices diff --git a/src/core/hle/service/nvdrv/devices/nvhost_nvdec.h b/src/core/hle/service/nvdrv/devices/nvhost_nvdec.h index 523d96e3a..a507c4d0a 100644 --- a/src/core/hle/service/nvdrv/devices/nvhost_nvdec.h +++ b/src/core/hle/service/nvdrv/devices/nvhost_nvdec.h @@ -24,6 +24,9 @@ public: void OnOpen(DeviceFD fd) override; void OnClose(DeviceFD fd) override; + +private: + u32 next_id{}; }; } // namespace Service::Nvidia::Devices diff --git a/src/core/hle/service/nvdrv/devices/nvhost_nvdec_common.cpp b/src/core/hle/service/nvdrv/devices/nvhost_nvdec_common.cpp index e61261f98..8a05f0668 100644 --- a/src/core/hle/service/nvdrv/devices/nvhost_nvdec_common.cpp +++ b/src/core/hle/service/nvdrv/devices/nvhost_nvdec_common.cpp @@ -59,7 +59,8 @@ NvResult nvhost_nvdec_common::SetNVMAPfd(const std::vector<u8>& input) { return NvResult::Success; } -NvResult nvhost_nvdec_common::Submit(const std::vector<u8>& input, std::vector<u8>& output) { +NvResult nvhost_nvdec_common::Submit(DeviceFD fd, const std::vector<u8>& input, + std::vector<u8>& output) { IoctlSubmit params{}; std::memcpy(¶ms, input.data(), sizeof(IoctlSubmit)); LOG_DEBUG(Service_NVDRV, "called NVDEC Submit, cmd_buffer_count={}", params.cmd_buffer_count); @@ -93,7 +94,7 @@ NvResult nvhost_nvdec_common::Submit(const std::vector<u8>& input, std::vector<u Tegra::ChCommandHeaderList cmdlist(cmd_buffer.word_count); system.Memory().ReadBlock(object->addr + cmd_buffer.offset, cmdlist.data(), cmdlist.size() * sizeof(u32)); - gpu.PushCommandBuffer(cmdlist); + gpu.PushCommandBuffer(fd_to_id[fd], cmdlist); } std::memcpy(output.data(), ¶ms, sizeof(IoctlSubmit)); // Some games expect command_buffers to be written back diff --git a/src/core/hle/service/nvdrv/devices/nvhost_nvdec_common.h b/src/core/hle/service/nvdrv/devices/nvhost_nvdec_common.h index 351625c17..e28c54df6 100644 --- a/src/core/hle/service/nvdrv/devices/nvhost_nvdec_common.h +++ b/src/core/hle/service/nvdrv/devices/nvhost_nvdec_common.h @@ -104,13 +104,14 @@ protected: /// Ioctl command implementations NvResult SetNVMAPfd(const std::vector<u8>& input); - NvResult Submit(const std::vector<u8>& input, std::vector<u8>& output); + NvResult Submit(DeviceFD fd, const std::vector<u8>& input, std::vector<u8>& output); NvResult GetSyncpoint(const std::vector<u8>& input, std::vector<u8>& output); NvResult GetWaitbase(const std::vector<u8>& input, std::vector<u8>& output); NvResult MapBuffer(const std::vector<u8>& input, std::vector<u8>& output); NvResult UnmapBuffer(const std::vector<u8>& input, std::vector<u8>& output); NvResult SetSubmitTimeout(const std::vector<u8>& input, std::vector<u8>& output); + std::unordered_map<DeviceFD, u32> fd_to_id{}; s32_le nvmap_fd{}; u32_le submit_timeout{}; std::shared_ptr<nvmap> nvmap_dev; diff --git a/src/core/hle/service/nvdrv/devices/nvhost_vic.cpp b/src/core/hle/service/nvdrv/devices/nvhost_vic.cpp index eac4dd530..76b39806f 100644 --- a/src/core/hle/service/nvdrv/devices/nvhost_vic.cpp +++ b/src/core/hle/service/nvdrv/devices/nvhost_vic.cpp @@ -21,7 +21,10 @@ NvResult nvhost_vic::Ioctl1(DeviceFD fd, Ioctl command, const std::vector<u8>& i case 0x0: switch (command.cmd) { case 0x1: - return Submit(input, output); + if (!fd_to_id.contains(fd)) { + fd_to_id[fd] = next_id++; + } + return Submit(fd, input, output); case 0x2: return GetSyncpoint(input, output); case 0x3: @@ -65,7 +68,10 @@ NvResult nvhost_vic::Ioctl3(DeviceFD fd, Ioctl command, const std::vector<u8>& i void nvhost_vic::OnOpen(DeviceFD fd) {} void nvhost_vic::OnClose(DeviceFD fd) { - system.GPU().ClearCdmaInstance(); + const auto iter = fd_to_id.find(fd); + if (iter != fd_to_id.end()) { + system.GPU().ClearCdmaInstance(iter->second); + } } } // namespace Service::Nvidia::Devices diff --git a/src/core/hle/service/nvdrv/devices/nvhost_vic.h b/src/core/hle/service/nvdrv/devices/nvhost_vic.h index 6d7fda9d1..c9732c037 100644 --- a/src/core/hle/service/nvdrv/devices/nvhost_vic.h +++ b/src/core/hle/service/nvdrv/devices/nvhost_vic.h @@ -23,5 +23,8 @@ public: void OnOpen(DeviceFD fd) override; void OnClose(DeviceFD fd) override; + +private: + u32 next_id{}; }; } // namespace Service::Nvidia::Devices diff --git a/src/core/hle/service/nvdrv/nvdata.h b/src/core/hle/service/nvdrv/nvdata.h index 3294bc0e7..5ab221fc1 100644 --- a/src/core/hle/service/nvdrv/nvdata.h +++ b/src/core/hle/service/nvdrv/nvdata.h @@ -1,3 +1,7 @@ +// Copyright 2019 yuzu Emulator Project +// Licensed under GPLv2 or any later version +// Refer to the license.txt file included. + #pragma once #include <array> diff --git a/src/core/loader/deconstructed_rom_directory.cpp b/src/core/loader/deconstructed_rom_directory.cpp index 1b5aca65d..b47e3bf69 100644 --- a/src/core/loader/deconstructed_rom_directory.cpp +++ b/src/core/loader/deconstructed_rom_directory.cpp @@ -125,8 +125,9 @@ AppLoader_DeconstructedRomDirectory::LoadResult AppLoader_DeconstructedRomDirect } metadata.Print(); - const auto static_modules = {"rtld", "main", "subsdk0", "subsdk1", "subsdk2", "subsdk3", - "subsdk4", "subsdk5", "subsdk6", "subsdk7", "sdk"}; + const auto static_modules = {"rtld", "main", "subsdk0", "subsdk1", "subsdk2", + "subsdk3", "subsdk4", "subsdk5", "subsdk6", "subsdk7", + "subsdk8", "subsdk9", "sdk"}; // Use the NSO module loader to figure out the code layout std::size_t code_size{}; diff --git a/src/core/memory/cheat_engine.cpp b/src/core/memory/cheat_engine.cpp index 20f0e90f5..12446c9ac 100644 --- a/src/core/memory/cheat_engine.cpp +++ b/src/core/memory/cheat_engine.cpp @@ -19,7 +19,6 @@ namespace Core::Memory { namespace { constexpr auto CHEAT_ENGINE_NS = std::chrono::nanoseconds{1000000000 / 12}; -constexpr u32 KEYPAD_BITMASK = 0x3FFFFFF; std::string_view ExtractName(std::string_view data, std::size_t start_index, char match) { auto end_index = start_index; @@ -61,7 +60,7 @@ u64 StandardVmCallbacks::HidKeysDown() { applet_resource ->GetController<Service::HID::Controller_NPad>(Service::HID::HidController::NPad) .GetAndResetPressState(); - return press_state & KEYPAD_BITMASK; + return static_cast<u64>(press_state & HID::NpadButton::All); } void StandardVmCallbacks::DebugLog(u8 id, u64 value) { diff --git a/src/core/perf_stats.h b/src/core/perf_stats.h index a2541906f..816202588 100644 --- a/src/core/perf_stats.h +++ b/src/core/perf_stats.h @@ -33,7 +33,7 @@ public: explicit PerfStats(u64 title_id_); ~PerfStats(); - using Clock = std::chrono::high_resolution_clock; + using Clock = std::chrono::steady_clock; void BeginSystemFrame(); void EndSystemFrame(); @@ -87,7 +87,7 @@ private: class SpeedLimiter { public: - using Clock = std::chrono::high_resolution_clock; + using Clock = std::chrono::steady_clock; void DoSpeedLimiting(std::chrono::microseconds current_system_time_us); diff --git a/src/input_common/drivers/gc_adapter.cpp b/src/input_common/drivers/gc_adapter.cpp index 8b6574223..7ab4540a8 100644 --- a/src/input_common/drivers/gc_adapter.cpp +++ b/src/input_common/drivers/gc_adapter.cpp @@ -69,7 +69,7 @@ private: libusb_device_handle* handle{}; }; -GCAdapter::GCAdapter(const std::string& input_engine_) : InputEngine(input_engine_) { +GCAdapter::GCAdapter(std::string input_engine_) : InputEngine(std::move(input_engine_)) { if (usb_adapter_handle) { return; } @@ -325,8 +325,8 @@ bool GCAdapter::GetGCEndpoint(libusb_device* device) { return true; } -Common::Input::VibrationError GCAdapter::SetRumble(const PadIdentifier& identifier, - const Common::Input::VibrationStatus vibration) { +Common::Input::VibrationError GCAdapter::SetRumble( + const PadIdentifier& identifier, const Common::Input::VibrationStatus& vibration) { const auto mean_amplitude = (vibration.low_amplitude + vibration.high_amplitude) * 0.5f; const auto processed_amplitude = static_cast<u8>((mean_amplitude + std::pow(mean_amplitude, 0.3f)) * 0.5f * 0x8); diff --git a/src/input_common/drivers/gc_adapter.h b/src/input_common/drivers/gc_adapter.h index 8dc51d2e5..7ce1912a3 100644 --- a/src/input_common/drivers/gc_adapter.h +++ b/src/input_common/drivers/gc_adapter.h @@ -22,13 +22,13 @@ namespace InputCommon { class LibUSBContext; class LibUSBDeviceHandle; -class GCAdapter : public InputCommon::InputEngine { +class GCAdapter : public InputEngine { public: - explicit GCAdapter(const std::string& input_engine_); - ~GCAdapter(); + explicit GCAdapter(std::string input_engine_); + ~GCAdapter() override; Common::Input::VibrationError SetRumble( - const PadIdentifier& identifier, const Common::Input::VibrationStatus vibration) override; + const PadIdentifier& identifier, const Common::Input::VibrationStatus& vibration) override; /// Used for automapping features std::vector<Common::ParamPackage> GetInputDevices() const override; diff --git a/src/input_common/drivers/keyboard.cpp b/src/input_common/drivers/keyboard.cpp index 23b0c0ccf..4c1e5bbec 100644 --- a/src/input_common/drivers/keyboard.cpp +++ b/src/input_common/drivers/keyboard.cpp @@ -24,7 +24,7 @@ constexpr PadIdentifier keyboard_modifier_identifier = { .pad = 1, }; -Keyboard::Keyboard(const std::string& input_engine_) : InputEngine(input_engine_) { +Keyboard::Keyboard(std::string input_engine_) : InputEngine(std::move(input_engine_)) { // Keyboard is broken into 3 diferent sets: // key: Unfiltered intended for controllers. // keyboard_key: Allows only Settings::NativeKeyboard::Keys intended for keyboard emulation. diff --git a/src/input_common/drivers/keyboard.h b/src/input_common/drivers/keyboard.h index ad123b136..3856c882c 100644 --- a/src/input_common/drivers/keyboard.h +++ b/src/input_common/drivers/keyboard.h @@ -12,9 +12,9 @@ namespace InputCommon { * A button device factory representing a keyboard. It receives keyboard events and forward them * to all button devices it created. */ -class Keyboard final : public InputCommon::InputEngine { +class Keyboard final : public InputEngine { public: - explicit Keyboard(const std::string& input_engine_); + explicit Keyboard(std::string input_engine_); /** * Sets the status of all buttons bound with the key to pressed diff --git a/src/input_common/drivers/mouse.cpp b/src/input_common/drivers/mouse.cpp index 752118e97..aa69216c8 100644 --- a/src/input_common/drivers/mouse.cpp +++ b/src/input_common/drivers/mouse.cpp @@ -24,7 +24,7 @@ constexpr PadIdentifier identifier = { .pad = 0, }; -Mouse::Mouse(const std::string& input_engine_) : InputEngine(input_engine_) { +Mouse::Mouse(std::string input_engine_) : InputEngine(std::move(input_engine_)) { PreSetController(identifier); PreSetAxis(identifier, mouse_axis_x); PreSetAxis(identifier, mouse_axis_y); diff --git a/src/input_common/drivers/mouse.h b/src/input_common/drivers/mouse.h index 4a1fd2fd9..040446178 100644 --- a/src/input_common/drivers/mouse.h +++ b/src/input_common/drivers/mouse.h @@ -27,9 +27,9 @@ enum class MouseButton { * A button device factory representing a keyboard. It receives keyboard events and forward them * to all button devices it created. */ -class Mouse final : public InputCommon::InputEngine { +class Mouse final : public InputEngine { public: - explicit Mouse(const std::string& input_engine_); + explicit Mouse(std::string input_engine_); /** * Signals that mouse has moved. diff --git a/src/input_common/drivers/sdl_driver.cpp b/src/input_common/drivers/sdl_driver.cpp index 90128b6cf..0cda9df62 100644 --- a/src/input_common/drivers/sdl_driver.cpp +++ b/src/input_common/drivers/sdl_driver.cpp @@ -88,7 +88,7 @@ public: return true; } - BasicMotion GetMotion() { + const BasicMotion& GetMotion() const { return motion; } @@ -367,7 +367,7 @@ void SDLDriver::HandleGameControllerEvent(const SDL_Event& event) { if (joystick->UpdateMotion(event.csensor)) { const PadIdentifier identifier = joystick->GetPadIdentifier(); SetMotion(identifier, 0, joystick->GetMotion()); - }; + } } break; } @@ -387,9 +387,7 @@ void SDLDriver::CloseJoysticks() { joystick_map.clear(); } -SDLDriver::SDLDriver(const std::string& input_engine_) : InputEngine(input_engine_) { - Common::SetCurrentThreadName("yuzu:input:SDL"); - +SDLDriver::SDLDriver(std::string input_engine_) : InputEngine(std::move(input_engine_)) { if (!Settings::values.enable_raw_input) { // Disable raw input. When enabled this setting causes SDL to die when a web applet opens SDL_SetHint(SDL_HINT_JOYSTICK_RAWINPUT, "0"); @@ -405,10 +403,11 @@ SDLDriver::SDLDriver(const std::string& input_engine_) : InputEngine(input_engin // Use hidapi driver for joycons. This will allow joycons to be detected as a GameController and // not a generic one - SDL_SetHint("SDL_JOYSTICK_HIDAPI_JOY_CONS", "1"); + SDL_SetHint(SDL_HINT_JOYSTICK_HIDAPI_JOY_CONS, "1"); - // Turn off Pro controller home led - SDL_SetHint("SDL_JOYSTICK_HIDAPI_SWITCH_HOME_LED", "0"); + // Disable hidapi driver for xbox. Already default on Windows, this causes conflict with native + // driver on Linux. + SDL_SetHint(SDL_HINT_JOYSTICK_HIDAPI_XBOX, "0"); // If the frontend is going to manage the event loop, then we don't start one here start_thread = SDL_WasInit(SDL_INIT_JOYSTICK | SDL_INIT_GAMECONTROLLER) == 0; @@ -422,6 +421,7 @@ SDLDriver::SDLDriver(const std::string& input_engine_) : InputEngine(input_engin initialized = true; if (start_thread) { poll_thread = std::thread([this] { + Common::SetCurrentThreadName("yuzu:input:SDL"); using namespace std::chrono_literals; while (initialized) { SDL_PumpEvents(); @@ -492,8 +492,9 @@ std::vector<Common::ParamPackage> SDLDriver::GetInputDevices() const { } return devices; } -Common::Input::VibrationError SDLDriver::SetRumble(const PadIdentifier& identifier, - const Common::Input::VibrationStatus vibration) { + +Common::Input::VibrationError SDLDriver::SetRumble( + const PadIdentifier& identifier, const Common::Input::VibrationStatus& vibration) { const auto joystick = GetSDLJoystickByGUID(identifier.guid.Format(), static_cast<int>(identifier.port)); const auto process_amplitude_exp = [](f32 amplitude, f32 factor) { @@ -527,6 +528,7 @@ Common::Input::VibrationError SDLDriver::SetRumble(const PadIdentifier& identifi return Common::Input::VibrationError::None; } + Common::ParamPackage SDLDriver::BuildAnalogParamPackageForButton(int port, std::string guid, s32 axis, float value) const { Common::ParamPackage params{}; diff --git a/src/input_common/drivers/sdl_driver.h b/src/input_common/drivers/sdl_driver.h index d03ff4b84..e9a5d2e26 100644 --- a/src/input_common/drivers/sdl_driver.h +++ b/src/input_common/drivers/sdl_driver.h @@ -19,19 +19,19 @@ using SDL_GameController = struct _SDL_GameController; using SDL_Joystick = struct _SDL_Joystick; using SDL_JoystickID = s32; +namespace InputCommon { + +class SDLJoystick; + using ButtonBindings = std::array<std::pair<Settings::NativeButton::Values, SDL_GameControllerButton>, 17>; using ZButtonBindings = std::array<std::pair<Settings::NativeButton::Values, SDL_GameControllerAxis>, 2>; -namespace InputCommon { - -class SDLJoystick; - -class SDLDriver : public InputCommon::InputEngine { +class SDLDriver : public InputEngine { public: /// Initializes and registers SDL device factories - SDLDriver(const std::string& input_engine_); + explicit SDLDriver(std::string input_engine_); /// Unregisters SDL device factories and shut them down. ~SDLDriver() override; @@ -59,7 +59,7 @@ public: u8 GetHatButtonId(const std::string& direction_name) const override; Common::Input::VibrationError SetRumble( - const PadIdentifier& identifier, const Common::Input::VibrationStatus vibration) override; + const PadIdentifier& identifier, const Common::Input::VibrationStatus& vibration) override; private: void InitJoystick(int joystick_index); diff --git a/src/input_common/drivers/tas_input.cpp b/src/input_common/drivers/tas_input.cpp index 0e01fb0d9..5bdd5dac3 100644 --- a/src/input_common/drivers/tas_input.cpp +++ b/src/input_common/drivers/tas_input.cpp @@ -3,7 +3,6 @@ // Refer to the license.txt file included. #include <cstring> -#include <regex> #include <fmt/format.h> #include "common/fs/file.h" @@ -15,7 +14,7 @@ namespace InputCommon::TasInput { -enum TasAxes : u8 { +enum class Tas::TasAxis : u8 { StickX, StickY, SubstickX, @@ -47,7 +46,7 @@ constexpr std::array<std::pair<std::string_view, TasButton>, 20> text_to_tas_but {"KEY_ZR", TasButton::TRIGGER_ZR}, }; -Tas::Tas(const std::string& input_engine_) : InputCommon::InputEngine(input_engine_) { +Tas::Tas(std::string input_engine_) : InputEngine(std::move(input_engine_)) { for (size_t player_index = 0; player_index < PLAYER_NUMBER; player_index++) { PadIdentifier identifier{ .guid = Common::UUID{}, @@ -66,7 +65,7 @@ Tas::Tas(const std::string& input_engine_) : InputCommon::InputEngine(input_engi Tas::~Tas() { Stop(); -}; +} void Tas::LoadTasFiles() { script_length = 0; @@ -79,43 +78,43 @@ void Tas::LoadTasFiles() { } void Tas::LoadTasFile(size_t player_index, size_t file_index) { - if (!commands[player_index].empty()) { - commands[player_index].clear(); - } + commands[player_index].clear(); + std::string file = Common::FS::ReadStringFromFile( Common::FS::GetYuzuPath(Common::FS::YuzuPath::TASDir) / fmt::format("script{}-{}.txt", file_index, player_index + 1), Common::FS::FileType::BinaryFile); - std::stringstream command_line(file); + std::istringstream command_line(file); std::string line; int frame_no = 0; while (std::getline(command_line, line, '\n')) { if (line.empty()) { continue; } - std::smatch m; - std::stringstream linestream(line); - std::string segment; - std::vector<std::string> seglist; - - while (std::getline(linestream, segment, ' ')) { - seglist.push_back(segment); + std::vector<std::string> seg_list; + { + std::istringstream line_stream(line); + std::string segment; + while (std::getline(line_stream, segment, ' ')) { + seg_list.push_back(std::move(segment)); + } } - if (seglist.size() < 4) { + if (seg_list.size() < 4) { continue; } - while (frame_no < std::stoi(seglist.at(0))) { - commands[player_index].push_back({}); + const auto num_frames = std::stoi(seg_list[0]); + while (frame_no < num_frames) { + commands[player_index].emplace_back(); frame_no++; } TASCommand command = { - .buttons = ReadCommandButtons(seglist.at(1)), - .l_axis = ReadCommandAxis(seglist.at(2)), - .r_axis = ReadCommandAxis(seglist.at(3)), + .buttons = ReadCommandButtons(seg_list[1]), + .l_axis = ReadCommandAxis(seg_list[2]), + .r_axis = ReadCommandAxis(seg_list[3]), }; commands[player_index].push_back(command); frame_no++; @@ -123,16 +122,17 @@ void Tas::LoadTasFile(size_t player_index, size_t file_index) { LOG_INFO(Input, "TAS file loaded! {} frames", frame_no); } -void Tas::WriteTasFile(std::u8string file_name) { +void Tas::WriteTasFile(std::u8string_view file_name) { std::string output_text; for (size_t frame = 0; frame < record_commands.size(); frame++) { const TASCommand& line = record_commands[frame]; output_text += fmt::format("{} {} {} {}\n", frame, WriteCommandButtons(line.buttons), WriteCommandAxis(line.l_axis), WriteCommandAxis(line.r_axis)); } - const auto bytes_written = Common::FS::WriteStringToFile( - Common::FS::GetYuzuPath(Common::FS::YuzuPath::TASDir) / file_name, - Common::FS::FileType::TextFile, output_text); + + const auto tas_file_name = Common::FS::GetYuzuPath(Common::FS::YuzuPath::TASDir) / file_name; + const auto bytes_written = + Common::FS::WriteStringToFile(tas_file_name, Common::FS::FileType::TextFile, output_text); if (bytes_written == output_text.size()) { LOG_INFO(Input, "TAS file written to file!"); } else { @@ -205,10 +205,10 @@ void Tas::UpdateThread() { const int button = static_cast<int>(i); SetButton(identifier, button, button_status); } - SetAxis(identifier, TasAxes::StickX, command.l_axis.x); - SetAxis(identifier, TasAxes::StickY, command.l_axis.y); - SetAxis(identifier, TasAxes::SubstickX, command.r_axis.x); - SetAxis(identifier, TasAxes::SubstickY, command.r_axis.y); + SetTasAxis(identifier, TasAxis::StickX, command.l_axis.x); + SetTasAxis(identifier, TasAxis::StickY, command.l_axis.y); + SetTasAxis(identifier, TasAxis::SubstickX, command.r_axis.x); + SetTasAxis(identifier, TasAxis::SubstickY, command.r_axis.y); } } else { is_running = Settings::values.tas_loop.GetValue(); @@ -224,27 +224,28 @@ void Tas::ClearInput() { } TasAnalog Tas::ReadCommandAxis(const std::string& line) const { - std::stringstream linestream(line); - std::string segment; - std::vector<std::string> seglist; - - while (std::getline(linestream, segment, ';')) { - seglist.push_back(segment); + std::vector<std::string> seg_list; + { + std::istringstream line_stream(line); + std::string segment; + while (std::getline(line_stream, segment, ';')) { + seg_list.push_back(std::move(segment)); + } } - const float x = std::stof(seglist.at(0)) / 32767.0f; - const float y = std::stof(seglist.at(1)) / 32767.0f; + const float x = std::stof(seg_list.at(0)) / 32767.0f; + const float y = std::stof(seg_list.at(1)) / 32767.0f; return {x, y}; } -u64 Tas::ReadCommandButtons(const std::string& data) const { - std::stringstream button_text(data); - std::string line; +u64 Tas::ReadCommandButtons(const std::string& line) const { + std::istringstream button_text(line); + std::string button_line; u64 buttons = 0; - while (std::getline(button_text, line, ';')) { - for (auto [text, tas_button] : text_to_tas_button) { - if (text == line) { + while (std::getline(button_text, button_line, ';')) { + for (const auto& [text, tas_button] : text_to_tas_button) { + if (text == button_line) { buttons |= static_cast<u64>(tas_button); break; } @@ -254,8 +255,8 @@ u64 Tas::ReadCommandButtons(const std::string& data) const { } std::string Tas::WriteCommandButtons(u64 buttons) const { - std::string returns = ""; - for (auto [text_button, tas_button] : text_to_tas_button) { + std::string returns; + for (const auto& [text_button, tas_button] : text_to_tas_button) { if ((buttons & static_cast<u64>(tas_button)) != 0) { returns += fmt::format("{};", text_button); } @@ -267,6 +268,10 @@ std::string Tas::WriteCommandAxis(TasAnalog analog) const { return fmt::format("{};{}", analog.x * 32767, analog.y * 32767); } +void Tas::SetTasAxis(const PadIdentifier& identifier, TasAxis axis, f32 value) { + SetAxis(identifier, static_cast<int>(axis), value); +} + void Tas::StartStop() { if (!Settings::values.tas_enable) { return; diff --git a/src/input_common/drivers/tas_input.h b/src/input_common/drivers/tas_input.h index c95a130fc..4b4e6c417 100644 --- a/src/input_common/drivers/tas_input.h +++ b/src/input_common/drivers/tas_input.h @@ -5,11 +5,11 @@ #pragma once #include <array> +#include <string> +#include <vector> #include "common/common_types.h" -#include "common/settings_input.h" #include "input_common/input_engine.h" -#include "input_common/main.h" /* To play back TAS scripts on Yuzu, select the folder with scripts in the configuration menu below @@ -81,46 +81,46 @@ enum class TasState { Stopped, }; -class Tas final : public InputCommon::InputEngine { +class Tas final : public InputEngine { public: - explicit Tas(const std::string& input_engine_); - ~Tas(); + explicit Tas(std::string input_engine_); + ~Tas() override; /** * Changes the input status that will be stored in each frame - * @param buttons: bitfield with the status of the buttons - * @param left_axis: value of the left axis - * @param right_axis: value of the right axis + * @param buttons Bitfield with the status of the buttons + * @param left_axis Value of the left axis + * @param right_axis Value of the right axis */ void RecordInput(u64 buttons, TasAnalog left_axis, TasAnalog right_axis); // Main loop that records or executes input void UpdateThread(); - // Sets the flag to start or stop the TAS command excecution and swaps controllers profiles + // Sets the flag to start or stop the TAS command execution and swaps controllers profiles void StartStop(); - // Stop the TAS and reverts any controller profile + // Stop the TAS and reverts any controller profile void Stop(); - // Sets the flag to reload the file and start from the begining in the next update + // Sets the flag to reload the file and start from the beginning in the next update void Reset(); /** * Sets the flag to enable or disable recording of inputs - * @return Returns true if the current recording status is enabled + * @returns true if the current recording status is enabled */ bool Record(); /** * Saves contents of record_commands on a file - * @param overwrite_file: Indicates if player 1 should be overwritten + * @param overwrite_file Indicates if player 1 should be overwritten */ void SaveRecording(bool overwrite_file); /** * Returns the current status values of TAS playback/recording - * @return Tuple of + * @returns A Tuple of * TasState indicating the current state out of Running ; * Current playback progress ; * Total length of script file currently loaded or being recorded @@ -128,6 +128,8 @@ public: std::tuple<TasState, size_t, size_t> GetStatus() const; private: + enum class TasAxis : u8; + struct TASCommand { u64 buttons{}; TasAnalog l_axis{}; @@ -137,29 +139,31 @@ private: /// Loads TAS files from all players void LoadTasFiles(); - /** Loads TAS file from the specified player - * @param player_index: player number to save the script - * @param file_index: script number of the file + /** + * Loads TAS file from the specified player + * @param player_index Player number to save the script + * @param file_index Script number of the file */ void LoadTasFile(size_t player_index, size_t file_index); - /** Writes a TAS file from the recorded commands - * @param file_name: name of the file to be written + /** + * Writes a TAS file from the recorded commands + * @param file_name Name of the file to be written */ - void WriteTasFile(std::u8string file_name); + void WriteTasFile(std::u8string_view file_name); /** * Parses a string containing the axis values. X and Y have a range from -32767 to 32767 - * @param line: string containing axis values with the following format "x;y" - * @return Returns a TAS analog object with axis values with range from -1.0 to 1.0 + * @param line String containing axis values with the following format "x;y" + * @returns A TAS analog object with axis values with range from -1.0 to 1.0 */ TasAnalog ReadCommandAxis(const std::string& line) const; /** * Parses a string containing the button values. Each button is represented by it's text format * specified in text_to_tas_button array - * @param line: string containing button name with the following format "a;b;c;d..." - * @return Returns a u64 with each bit representing the status of a button + * @param line string containing button name with the following format "a;b;c;d..." + * @returns A u64 with each bit representing the status of a button */ u64 ReadCommandButtons(const std::string& line) const; @@ -170,17 +174,20 @@ private: /** * Converts an u64 containing the button status into the text equivalent - * @param buttons: bitfield with the status of the buttons - * @return Returns a string with the name of the buttons to be written to the file + * @param buttons Bitfield with the status of the buttons + * @returns A string with the name of the buttons to be written to the file */ std::string WriteCommandButtons(u64 buttons) const; /** * Converts an TAS analog object containing the axis status into the text equivalent - * @param data: value of the axis - * @return A string with the value of the axis to be written to the file + * @param analog Value of the axis + * @returns A string with the value of the axis to be written to the file */ - std::string WriteCommandAxis(TasAnalog data) const; + std::string WriteCommandAxis(TasAnalog analog) const; + + /// Sets an axis for a particular pad to the given value. + void SetTasAxis(const PadIdentifier& identifier, TasAxis axis, f32 value); size_t script_length{0}; bool is_recording{false}; diff --git a/src/input_common/drivers/touch_screen.cpp b/src/input_common/drivers/touch_screen.cpp index 45b3086f6..880781825 100644 --- a/src/input_common/drivers/touch_screen.cpp +++ b/src/input_common/drivers/touch_screen.cpp @@ -13,7 +13,7 @@ constexpr PadIdentifier identifier = { .pad = 0, }; -TouchScreen::TouchScreen(const std::string& input_engine_) : InputEngine(input_engine_) { +TouchScreen::TouchScreen(std::string input_engine_) : InputEngine(std::move(input_engine_)) { PreSetController(identifier); } diff --git a/src/input_common/drivers/touch_screen.h b/src/input_common/drivers/touch_screen.h index 25c11e8bf..bf395c40b 100644 --- a/src/input_common/drivers/touch_screen.h +++ b/src/input_common/drivers/touch_screen.h @@ -12,9 +12,9 @@ namespace InputCommon { * A button device factory representing a keyboard. It receives keyboard events and forward them * to all button devices it created. */ -class TouchScreen final : public InputCommon::InputEngine { +class TouchScreen final : public InputEngine { public: - explicit TouchScreen(const std::string& input_engine_); + explicit TouchScreen(std::string input_engine_); /** * Signals that mouse has moved. diff --git a/src/input_common/drivers/udp_client.cpp b/src/input_common/drivers/udp_client.cpp index d6172527c..a1ce4525d 100644 --- a/src/input_common/drivers/udp_client.cpp +++ b/src/input_common/drivers/udp_client.cpp @@ -136,7 +136,7 @@ static void SocketLoop(Socket* socket) { socket->Loop(); } -UDPClient::UDPClient(const std::string& input_engine_) : InputEngine(input_engine_) { +UDPClient::UDPClient(std::string input_engine_) : InputEngine(std::move(input_engine_)) { LOG_INFO(Input, "Udp Initialization started"); ReloadSockets(); } diff --git a/src/input_common/drivers/udp_client.h b/src/input_common/drivers/udp_client.h index 5d483f26b..1adc947c4 100644 --- a/src/input_common/drivers/udp_client.h +++ b/src/input_common/drivers/udp_client.h @@ -49,10 +49,10 @@ struct DeviceStatus { * A button device factory representing a keyboard. It receives keyboard events and forward them * to all button devices it created. */ -class UDPClient final : public InputCommon::InputEngine { +class UDPClient final : public InputEngine { public: - explicit UDPClient(const std::string& input_engine_); - ~UDPClient(); + explicit UDPClient(std::string input_engine_); + ~UDPClient() override; void ReloadSockets(); diff --git a/src/input_common/helpers/stick_from_buttons.cpp b/src/input_common/helpers/stick_from_buttons.cpp index 77fcd655e..e23394f5f 100644 --- a/src/input_common/helpers/stick_from_buttons.cpp +++ b/src/input_common/helpers/stick_from_buttons.cpp @@ -19,23 +19,36 @@ public: : up(std::move(up_)), down(std::move(down_)), left(std::move(left_)), right(std::move(right_)), modifier(std::move(modifier_)), modifier_scale(modifier_scale_), modifier_angle(modifier_angle_) { - Common::Input::InputCallback button_up_callback{ - [this](Common::Input::CallbackStatus callback_) { UpdateUpButtonStatus(callback_); }}; - Common::Input::InputCallback button_down_callback{ - [this](Common::Input::CallbackStatus callback_) { UpdateDownButtonStatus(callback_); }}; - Common::Input::InputCallback button_left_callback{ - [this](Common::Input::CallbackStatus callback_) { UpdateLeftButtonStatus(callback_); }}; - Common::Input::InputCallback button_right_callback{ - [this](Common::Input::CallbackStatus callback_) { - UpdateRightButtonStatus(callback_); - }}; - Common::Input::InputCallback button_modifier_callback{ - [this](Common::Input::CallbackStatus callback_) { UpdateModButtonStatus(callback_); }}; - up->SetCallback(button_up_callback); - down->SetCallback(button_down_callback); - left->SetCallback(button_left_callback); - right->SetCallback(button_right_callback); - modifier->SetCallback(button_modifier_callback); + up->SetCallback({ + .on_change = + [this](const Common::Input::CallbackStatus& callback_) { + UpdateUpButtonStatus(callback_); + }, + }); + down->SetCallback({ + .on_change = + [this](const Common::Input::CallbackStatus& callback_) { + UpdateDownButtonStatus(callback_); + }, + }); + left->SetCallback({ + .on_change = + [this](const Common::Input::CallbackStatus& callback_) { + UpdateLeftButtonStatus(callback_); + }, + }); + right->SetCallback({ + .on_change = + [this](const Common::Input::CallbackStatus& callback_) { + UpdateRightButtonStatus(callback_); + }, + }); + modifier->SetCallback({ + .on_change = + [this](const Common::Input::CallbackStatus& callback_) { + UpdateModButtonStatus(callback_); + }, + }); last_x_axis_value = 0.0f; last_y_axis_value = 0.0f; } @@ -133,27 +146,27 @@ public: } } - void UpdateUpButtonStatus(Common::Input::CallbackStatus button_callback) { + void UpdateUpButtonStatus(const Common::Input::CallbackStatus& button_callback) { up_status = button_callback.button_status.value; UpdateStatus(); } - void UpdateDownButtonStatus(Common::Input::CallbackStatus button_callback) { + void UpdateDownButtonStatus(const Common::Input::CallbackStatus& button_callback) { down_status = button_callback.button_status.value; UpdateStatus(); } - void UpdateLeftButtonStatus(Common::Input::CallbackStatus button_callback) { + void UpdateLeftButtonStatus(const Common::Input::CallbackStatus& button_callback) { left_status = button_callback.button_status.value; UpdateStatus(); } - void UpdateRightButtonStatus(Common::Input::CallbackStatus button_callback) { + void UpdateRightButtonStatus(const Common::Input::CallbackStatus& button_callback) { right_status = button_callback.button_status.value; UpdateStatus(); } - void UpdateModButtonStatus(Common::Input::CallbackStatus button_callback) { + void UpdateModButtonStatus(const Common::Input::CallbackStatus& button_callback) { modifier_status = button_callback.button_status.value; UpdateStatus(); } @@ -265,18 +278,18 @@ private: Button left; Button right; Button modifier; - float modifier_scale; - float modifier_angle; + float modifier_scale{}; + float modifier_angle{}; float angle{}; float goal_angle{}; float amplitude{}; - bool up_status; - bool down_status; - bool left_status; - bool right_status; - bool modifier_status; - float last_x_axis_value; - float last_y_axis_value; + bool up_status{}; + bool down_status{}; + bool left_status{}; + bool right_status{}; + bool modifier_status{}; + float last_x_axis_value{}; + float last_y_axis_value{}; const Common::Input::AnalogProperties properties{0.0f, 1.0f, 0.5f, 0.0f, false}; std::chrono::time_point<std::chrono::steady_clock> last_update; }; diff --git a/src/input_common/helpers/touch_from_buttons.cpp b/src/input_common/helpers/touch_from_buttons.cpp index 35d60bc90..ece1e3b32 100644 --- a/src/input_common/helpers/touch_from_buttons.cpp +++ b/src/input_common/helpers/touch_from_buttons.cpp @@ -14,10 +14,13 @@ public: using Button = std::unique_ptr<Common::Input::InputDevice>; TouchFromButtonDevice(Button button_, int touch_id_, float x_, float y_) : button(std::move(button_)), touch_id(touch_id_), x(x_), y(y_) { - Common::Input::InputCallback button_up_callback{ - [this](Common::Input::CallbackStatus callback_) { UpdateButtonStatus(callback_); }}; last_button_value = false; - button->SetCallback(button_up_callback); + button->SetCallback({ + .on_change = + [this](const Common::Input::CallbackStatus& callback_) { + UpdateButtonStatus(callback_); + }, + }); button->ForceUpdate(); } @@ -47,7 +50,7 @@ public: return status; } - void UpdateButtonStatus(Common::Input::CallbackStatus button_callback) { + void UpdateButtonStatus(const Common::Input::CallbackStatus& button_callback) { const Common::Input::CallbackStatus status{ .type = Common::Input::InputType::Touch, .touch_status = GetStatus(button_callback.button_status.value), diff --git a/src/input_common/input_engine.cpp b/src/input_common/input_engine.cpp index 2b2105376..9c17ca4f7 100644 --- a/src/input_common/input_engine.cpp +++ b/src/input_common/input_engine.cpp @@ -10,41 +10,31 @@ namespace InputCommon { void InputEngine::PreSetController(const PadIdentifier& identifier) { std::lock_guard lock{mutex}; - if (!controller_list.contains(identifier)) { - controller_list.insert_or_assign(identifier, ControllerData{}); - } + controller_list.try_emplace(identifier); } void InputEngine::PreSetButton(const PadIdentifier& identifier, int button) { std::lock_guard lock{mutex}; ControllerData& controller = controller_list.at(identifier); - if (!controller.buttons.contains(button)) { - controller.buttons.insert_or_assign(button, false); - } + controller.buttons.try_emplace(button, false); } void InputEngine::PreSetHatButton(const PadIdentifier& identifier, int button) { std::lock_guard lock{mutex}; ControllerData& controller = controller_list.at(identifier); - if (!controller.hat_buttons.contains(button)) { - controller.hat_buttons.insert_or_assign(button, u8{0}); - } + controller.hat_buttons.try_emplace(button, u8{0}); } void InputEngine::PreSetAxis(const PadIdentifier& identifier, int axis) { std::lock_guard lock{mutex}; ControllerData& controller = controller_list.at(identifier); - if (!controller.axes.contains(axis)) { - controller.axes.insert_or_assign(axis, 0.0f); - } + controller.axes.try_emplace(axis, 0.0f); } void InputEngine::PreSetMotion(const PadIdentifier& identifier, int motion) { std::lock_guard lock{mutex}; ControllerData& controller = controller_list.at(identifier); - if (!controller.motions.contains(motion)) { - controller.motions.insert_or_assign(motion, BasicMotion{}); - } + controller.motions.try_emplace(motion); } void InputEngine::SetButton(const PadIdentifier& identifier, int button, bool value) { @@ -91,7 +81,7 @@ void InputEngine::SetBattery(const PadIdentifier& identifier, BatteryLevel value TriggerOnBatteryChange(identifier, value); } -void InputEngine::SetMotion(const PadIdentifier& identifier, int motion, BasicMotion value) { +void InputEngine::SetMotion(const PadIdentifier& identifier, int motion, const BasicMotion& value) { { std::lock_guard lock{mutex}; ControllerData& controller = controller_list.at(identifier); @@ -104,85 +94,93 @@ void InputEngine::SetMotion(const PadIdentifier& identifier, int motion, BasicMo bool InputEngine::GetButton(const PadIdentifier& identifier, int button) const { std::lock_guard lock{mutex}; - if (!controller_list.contains(identifier)) { + const auto controller_iter = controller_list.find(identifier); + if (controller_iter == controller_list.cend()) { LOG_ERROR(Input, "Invalid identifier guid={}, pad={}, port={}", identifier.guid.Format(), identifier.pad, identifier.port); return false; } - ControllerData controller = controller_list.at(identifier); - if (!controller.buttons.contains(button)) { + const ControllerData& controller = controller_iter->second; + const auto button_iter = controller.buttons.find(button); + if (button_iter == controller.buttons.cend()) { LOG_ERROR(Input, "Invalid button {}", button); return false; } - return controller.buttons.at(button); + return button_iter->second; } bool InputEngine::GetHatButton(const PadIdentifier& identifier, int button, u8 direction) const { std::lock_guard lock{mutex}; - if (!controller_list.contains(identifier)) { + const auto controller_iter = controller_list.find(identifier); + if (controller_iter == controller_list.cend()) { LOG_ERROR(Input, "Invalid identifier guid={}, pad={}, port={}", identifier.guid.Format(), identifier.pad, identifier.port); return false; } - ControllerData controller = controller_list.at(identifier); - if (!controller.hat_buttons.contains(button)) { + const ControllerData& controller = controller_iter->second; + const auto hat_iter = controller.hat_buttons.find(button); + if (hat_iter == controller.hat_buttons.cend()) { LOG_ERROR(Input, "Invalid hat button {}", button); return false; } - return (controller.hat_buttons.at(button) & direction) != 0; + return (hat_iter->second & direction) != 0; } f32 InputEngine::GetAxis(const PadIdentifier& identifier, int axis) const { std::lock_guard lock{mutex}; - if (!controller_list.contains(identifier)) { + const auto controller_iter = controller_list.find(identifier); + if (controller_iter == controller_list.cend()) { LOG_ERROR(Input, "Invalid identifier guid={}, pad={}, port={}", identifier.guid.Format(), identifier.pad, identifier.port); return 0.0f; } - ControllerData controller = controller_list.at(identifier); - if (!controller.axes.contains(axis)) { + const ControllerData& controller = controller_iter->second; + const auto axis_iter = controller.axes.find(axis); + if (axis_iter == controller.axes.cend()) { LOG_ERROR(Input, "Invalid axis {}", axis); return 0.0f; } - return controller.axes.at(axis); + return axis_iter->second; } BatteryLevel InputEngine::GetBattery(const PadIdentifier& identifier) const { std::lock_guard lock{mutex}; - if (!controller_list.contains(identifier)) { + const auto controller_iter = controller_list.find(identifier); + if (controller_iter == controller_list.cend()) { LOG_ERROR(Input, "Invalid identifier guid={}, pad={}, port={}", identifier.guid.Format(), identifier.pad, identifier.port); return BatteryLevel::Charging; } - ControllerData controller = controller_list.at(identifier); + const ControllerData& controller = controller_iter->second; return controller.battery; } BasicMotion InputEngine::GetMotion(const PadIdentifier& identifier, int motion) const { std::lock_guard lock{mutex}; - if (!controller_list.contains(identifier)) { + const auto controller_iter = controller_list.find(identifier); + if (controller_iter == controller_list.cend()) { LOG_ERROR(Input, "Invalid identifier guid={}, pad={}, port={}", identifier.guid.Format(), identifier.pad, identifier.port); return {}; } - ControllerData controller = controller_list.at(identifier); + const ControllerData& controller = controller_iter->second; return controller.motions.at(motion); } void InputEngine::ResetButtonState() { - for (std::pair<PadIdentifier, ControllerData> controller : controller_list) { - for (std::pair<int, bool> button : controller.second.buttons) { + for (const auto& controller : controller_list) { + for (const auto& button : controller.second.buttons) { SetButton(controller.first, button.first, false); } - for (std::pair<int, bool> button : controller.second.hat_buttons) { + for (const auto& button : controller.second.hat_buttons) { SetHatButton(controller.first, button.first, false); } } } void InputEngine::ResetAnalogState() { - for (std::pair<PadIdentifier, ControllerData> controller : controller_list) { - for (std::pair<int, float> axis : controller.second.axes) { + for (const auto& controller : controller_list) { + for (const auto& axis : controller.second.axes) { SetAxis(controller.first, axis.first, 0.0); } } @@ -190,7 +188,7 @@ void InputEngine::ResetAnalogState() { void InputEngine::TriggerOnButtonChange(const PadIdentifier& identifier, int button, bool value) { std::lock_guard lock{mutex_callback}; - for (const std::pair<int, InputIdentifier> poller_pair : callback_list) { + for (const auto& poller_pair : callback_list) { const InputIdentifier& poller = poller_pair.second; if (!IsInputIdentifierEqual(poller, identifier, EngineInputType::Button, button)) { continue; @@ -218,7 +216,7 @@ void InputEngine::TriggerOnButtonChange(const PadIdentifier& identifier, int but void InputEngine::TriggerOnHatButtonChange(const PadIdentifier& identifier, int button, u8 value) { std::lock_guard lock{mutex_callback}; - for (const std::pair<int, InputIdentifier> poller_pair : callback_list) { + for (const auto& poller_pair : callback_list) { const InputIdentifier& poller = poller_pair.second; if (!IsInputIdentifierEqual(poller, identifier, EngineInputType::HatButton, button)) { continue; @@ -247,7 +245,7 @@ void InputEngine::TriggerOnHatButtonChange(const PadIdentifier& identifier, int void InputEngine::TriggerOnAxisChange(const PadIdentifier& identifier, int axis, f32 value) { std::lock_guard lock{mutex_callback}; - for (const std::pair<int, InputIdentifier> poller_pair : callback_list) { + for (const auto& poller_pair : callback_list) { const InputIdentifier& poller = poller_pair.second; if (!IsInputIdentifierEqual(poller, identifier, EngineInputType::Analog, axis)) { continue; @@ -274,7 +272,7 @@ void InputEngine::TriggerOnAxisChange(const PadIdentifier& identifier, int axis, void InputEngine::TriggerOnBatteryChange(const PadIdentifier& identifier, [[maybe_unused]] BatteryLevel value) { std::lock_guard lock{mutex_callback}; - for (const std::pair<int, InputIdentifier> poller_pair : callback_list) { + for (const auto& poller_pair : callback_list) { const InputIdentifier& poller = poller_pair.second; if (!IsInputIdentifierEqual(poller, identifier, EngineInputType::Battery, 0)) { continue; @@ -286,9 +284,9 @@ void InputEngine::TriggerOnBatteryChange(const PadIdentifier& identifier, } void InputEngine::TriggerOnMotionChange(const PadIdentifier& identifier, int motion, - BasicMotion value) { + const BasicMotion& value) { std::lock_guard lock{mutex_callback}; - for (const std::pair<int, InputIdentifier> poller_pair : callback_list) { + for (const auto& poller_pair : callback_list) { const InputIdentifier& poller = poller_pair.second; if (!IsInputIdentifierEqual(poller, identifier, EngineInputType::Motion, motion)) { continue; @@ -342,7 +340,7 @@ const std::string& InputEngine::GetEngineName() const { int InputEngine::SetCallback(InputIdentifier input_identifier) { std::lock_guard lock{mutex_callback}; - callback_list.insert_or_assign(last_callback_key, input_identifier); + callback_list.insert_or_assign(last_callback_key, std::move(input_identifier)); return last_callback_key++; } diff --git a/src/input_common/input_engine.h b/src/input_common/input_engine.h index 02272b3f8..390581c94 100644 --- a/src/input_common/input_engine.h +++ b/src/input_common/input_engine.h @@ -23,15 +23,15 @@ struct PadIdentifier { friend constexpr bool operator==(const PadIdentifier&, const PadIdentifier&) = default; }; -// Basic motion data containing data from the sensors and a timestamp in microsecons +// Basic motion data containing data from the sensors and a timestamp in microseconds struct BasicMotion { - float gyro_x; - float gyro_y; - float gyro_z; - float accel_x; - float accel_y; - float accel_z; - u64 delta_timestamp; + float gyro_x{}; + float gyro_y{}; + float gyro_z{}; + float accel_x{}; + float accel_y{}; + float accel_z{}; + u64 delta_timestamp{}; }; // Stages of a battery charge @@ -102,9 +102,7 @@ struct InputIdentifier { class InputEngine { public: - explicit InputEngine(const std::string& input_engine_) : input_engine(input_engine_) { - callback_list.clear(); - } + explicit InputEngine(std::string input_engine_) : input_engine{std::move(input_engine_)} {} virtual ~InputEngine() = default; @@ -116,14 +114,12 @@ public: // Sets a led pattern for a controller virtual void SetLeds([[maybe_unused]] const PadIdentifier& identifier, - [[maybe_unused]] const Common::Input::LedStatus led_status) { - return; - } + [[maybe_unused]] const Common::Input::LedStatus& led_status) {} // Sets rumble to a controller virtual Common::Input::VibrationError SetRumble( [[maybe_unused]] const PadIdentifier& identifier, - [[maybe_unused]] const Common::Input::VibrationStatus vibration) { + [[maybe_unused]] const Common::Input::VibrationStatus& vibration) { return Common::Input::VibrationError::NotSupported; } @@ -140,36 +136,36 @@ public: /// Used for automapping features virtual std::vector<Common::ParamPackage> GetInputDevices() const { return {}; - }; + } /// Retrieves the button mappings for the given device - virtual InputCommon::ButtonMapping GetButtonMappingForDevice( + virtual ButtonMapping GetButtonMappingForDevice( [[maybe_unused]] const Common::ParamPackage& params) { return {}; - }; + } /// Retrieves the analog mappings for the given device - virtual InputCommon::AnalogMapping GetAnalogMappingForDevice( + virtual AnalogMapping GetAnalogMappingForDevice( [[maybe_unused]] const Common::ParamPackage& params) { return {}; - }; + } /// Retrieves the motion mappings for the given device - virtual InputCommon::MotionMapping GetMotionMappingForDevice( + virtual MotionMapping GetMotionMappingForDevice( [[maybe_unused]] const Common::ParamPackage& params) { return {}; - }; + } /// Retrieves the name of the given input. virtual Common::Input::ButtonNames GetUIName( [[maybe_unused]] const Common::ParamPackage& params) const { return Common::Input::ButtonNames::Engine; - }; + } /// Retrieves the index number of the given hat button direction virtual u8 GetHatButtonId([[maybe_unused]] const std::string& direction_name) const { return 0; - }; + } void PreSetController(const PadIdentifier& identifier); void PreSetButton(const PadIdentifier& identifier, int button); @@ -194,7 +190,7 @@ protected: void SetHatButton(const PadIdentifier& identifier, int button, u8 value); void SetAxis(const PadIdentifier& identifier, int axis, f32 value); void SetBattery(const PadIdentifier& identifier, BatteryLevel value); - void SetMotion(const PadIdentifier& identifier, int motion, BasicMotion value); + void SetMotion(const PadIdentifier& identifier, int motion, const BasicMotion& value); virtual std::string GetHatButtonName([[maybe_unused]] u8 direction_value) const { return "Unknown"; @@ -206,14 +202,15 @@ private: std::unordered_map<int, u8> hat_buttons; std::unordered_map<int, float> axes; std::unordered_map<int, BasicMotion> motions; - BatteryLevel battery; + BatteryLevel battery{}; }; void TriggerOnButtonChange(const PadIdentifier& identifier, int button, bool value); void TriggerOnHatButtonChange(const PadIdentifier& identifier, int button, u8 value); - void TriggerOnAxisChange(const PadIdentifier& identifier, int button, f32 value); + void TriggerOnAxisChange(const PadIdentifier& identifier, int axis, f32 value); void TriggerOnBatteryChange(const PadIdentifier& identifier, BatteryLevel value); - void TriggerOnMotionChange(const PadIdentifier& identifier, int motion, BasicMotion value); + void TriggerOnMotionChange(const PadIdentifier& identifier, int motion, + const BasicMotion& value); bool IsInputIdentifierEqual(const InputIdentifier& input_identifier, const PadIdentifier& identifier, EngineInputType type, diff --git a/src/input_common/input_mapping.h b/src/input_common/input_mapping.h index 44eb8ad9a..93564b5f8 100644 --- a/src/input_common/input_mapping.h +++ b/src/input_common/input_mapping.h @@ -14,8 +14,8 @@ public: MappingFactory(); /** - * Resets all varables to beggin the mapping process - * @param "type": type of input desired to be returned + * Resets all variables to begin the mapping process + * @param type type of input desired to be returned */ void BeginMapping(Polling::InputType type); @@ -24,8 +24,8 @@ public: /** * Registers mapping input data from the driver - * @param "data": An struct containing all the information needed to create a proper - * ParamPackage + * @param data A struct containing all the information needed to create a proper + * ParamPackage */ void RegisterInput(const MappingData& data); @@ -34,42 +34,42 @@ public: private: /** - * If provided data satisfies the requeriments it will push an element to the input_queue + * If provided data satisfies the requirements it will push an element to the input_queue * Supported input: * - Button: Creates a basic button ParamPackage * - HatButton: Creates a basic hat button ParamPackage * - Analog: Creates a basic analog ParamPackage - * @param "data": An struct containing all the information needed to create a proper + * @param data A struct containing all the information needed to create a proper * ParamPackage */ void RegisterButton(const MappingData& data); /** - * If provided data satisfies the requeriments it will push an element to the input_queue + * If provided data satisfies the requirements it will push an element to the input_queue * Supported input: * - Button, HatButton: Pass the data to RegisterButton * - Analog: Stores the first axis and on the second axis creates a basic stick ParamPackage - * @param "data": An struct containing all the information needed to create a proper - * ParamPackage + * @param data A struct containing all the information needed to create a proper + * ParamPackage */ void RegisterStick(const MappingData& data); /** - * If provided data satisfies the requeriments it will push an element to the input_queue + * If provided data satisfies the requirements it will push an element to the input_queue * Supported input: * - Button, HatButton: Pass the data to RegisterButton * - Analog: Stores the first two axis and on the third axis creates a basic Motion * ParamPackage * - Motion: Creates a basic Motion ParamPackage - * @param "data": An struct containing all the information needed to create a proper - * ParamPackage + * @param data A struct containing all the information needed to create a proper + * ParamPackage */ void RegisterMotion(const MappingData& data); /** * Returns true if driver can be mapped - * @param "data": An struct containing all the information needed to create a proper - * ParamPackage + * @param data A struct containing all the information needed to create a proper + * ParamPackage */ bool IsDriverValid(const MappingData& data) const; diff --git a/src/input_common/input_poller.cpp b/src/input_common/input_poller.cpp index 7e4eafded..7b370335f 100644 --- a/src/input_common/input_poller.cpp +++ b/src/input_common/input_poller.cpp @@ -12,8 +12,7 @@ namespace InputCommon { class DummyInput final : public Common::Input::InputDevice { public: - explicit DummyInput() {} - ~DummyInput() {} + explicit DummyInput() = default; }; class InputFromButton final : public Common::Input::InputDevice { @@ -33,7 +32,7 @@ public: callback_key = input_engine->SetCallback(input_identifier); } - ~InputFromButton() { + ~InputFromButton() override { input_engine->DeleteCallback(callback_key); } @@ -45,7 +44,7 @@ public: }; } - void ForceUpdate() { + void ForceUpdate() override { const Common::Input::CallbackStatus status{ .type = Common::Input::InputType::Button, .button_status = GetStatus(), @@ -94,7 +93,7 @@ public: callback_key = input_engine->SetCallback(input_identifier); } - ~InputFromHatButton() { + ~InputFromHatButton() override { input_engine->DeleteCallback(callback_key); } @@ -106,7 +105,7 @@ public: }; } - void ForceUpdate() { + void ForceUpdate() override { const Common::Input::CallbackStatus status{ .type = Common::Input::InputType::Button, .button_status = GetStatus(), @@ -167,7 +166,7 @@ public: callback_key_y = input_engine->SetCallback(y_input_identifier); } - ~InputFromStick() { + ~InputFromStick() override { input_engine->DeleteCallback(callback_key_x); input_engine->DeleteCallback(callback_key_y); } @@ -190,7 +189,7 @@ public: return status; } - void ForceUpdate() { + void ForceUpdate() override { const Common::Input::CallbackStatus status{ .type = Common::Input::InputType::Stick, .stick_status = GetStatus(), @@ -266,7 +265,7 @@ public: callback_key_y = input_engine->SetCallback(y_input_identifier); } - ~InputFromTouch() { + ~InputFromTouch() override { input_engine->DeleteCallback(callback_key_button); input_engine->DeleteCallback(callback_key_x); input_engine->DeleteCallback(callback_key_y); @@ -352,7 +351,7 @@ public: axis_callback_key = input_engine->SetCallback(axis_input_identifier); } - ~InputFromTrigger() { + ~InputFromTrigger() override { input_engine->DeleteCallback(callback_key_button); input_engine->DeleteCallback(axis_callback_key); } @@ -419,7 +418,7 @@ public: callback_key = input_engine->SetCallback(input_identifier); } - ~InputFromAnalog() { + ~InputFromAnalog() override { input_engine->DeleteCallback(callback_key); } @@ -466,7 +465,7 @@ public: callback_key = input_engine->SetCallback(input_identifier); } - ~InputFromBattery() { + ~InputFromBattery() override { input_engine->DeleteCallback(callback_key); } @@ -474,7 +473,7 @@ public: return static_cast<Common::Input::BatteryLevel>(input_engine->GetBattery(identifier)); } - void ForceUpdate() { + void ForceUpdate() override { const Common::Input::CallbackStatus status{ .type = Common::Input::InputType::Battery, .battery_status = GetStatus(), @@ -518,7 +517,7 @@ public: callback_key = input_engine->SetCallback(input_identifier); } - ~InputFromMotion() { + ~InputFromMotion() override { input_engine->DeleteCallback(callback_key); } @@ -593,7 +592,7 @@ public: callback_key_z = input_engine->SetCallback(z_input_identifier); } - ~InputFromAxisMotion() { + ~InputFromAxisMotion() override { input_engine->DeleteCallback(callback_key_x); input_engine->DeleteCallback(callback_key_y); input_engine->DeleteCallback(callback_key_z); @@ -618,7 +617,7 @@ public: return status; } - void ForceUpdate() { + void ForceUpdate() override { const Common::Input::CallbackStatus status{ .type = Common::Input::InputType::Motion, .motion_status = GetStatus(), @@ -668,16 +667,16 @@ public: explicit OutputFromIdentifier(PadIdentifier identifier_, InputEngine* input_engine_) : identifier(identifier_), input_engine(input_engine_) {} - virtual void SetLED(Common::Input::LedStatus led_status) { + void SetLED(const Common::Input::LedStatus& led_status) override { input_engine->SetLeds(identifier, led_status); } - virtual Common::Input::VibrationError SetVibration( - Common::Input::VibrationStatus vibration_status) { + Common::Input::VibrationError SetVibration( + const Common::Input::VibrationStatus& vibration_status) override { return input_engine->SetRumble(identifier, vibration_status); } - virtual Common::Input::PollingError SetPollingMode(Common::Input::PollingMode polling_mode) { + Common::Input::PollingError SetPollingMode(Common::Input::PollingMode polling_mode) override { return input_engine->SetPollingMode(identifier, polling_mode); } diff --git a/src/input_common/input_poller.h b/src/input_common/input_poller.h index 573f09fde..8a0977d58 100644 --- a/src/input_common/input_poller.h +++ b/src/input_common/input_poller.h @@ -13,9 +13,6 @@ class Factory; namespace InputCommon { class InputEngine; -/** - * An Input factory. It receives input events and forward them to all input devices it created. - */ class OutputFactory final : public Common::Input::Factory<Common::Input::OutputDevice> { public: @@ -24,10 +21,10 @@ public: /** * Creates an output device from the parameters given. * @param params contains parameters for creating the device: - * @param - "guid": text string for identifing controllers - * @param - "port": port of the connected device - * @param - "pad": slot of the connected controller - * @return an unique ouput device with the parameters specified + * - "guid" text string for identifying controllers + * - "port": port of the connected device + * - "pad": slot of the connected controller + * @returns a unique output device with the parameters specified */ std::unique_ptr<Common::Input::OutputDevice> Create( const Common::ParamPackage& params) override; @@ -36,6 +33,9 @@ private: std::shared_ptr<InputEngine> input_engine; }; +/** + * An Input factory. It receives input events and forward them to all input devices it created. + */ class InputFactory final : public Common::Input::Factory<Common::Input::InputDevice> { public: explicit InputFactory(std::shared_ptr<InputEngine> input_engine_); @@ -54,16 +54,16 @@ public: * - battery: Contains "battery" * - output: Contains "output" * @param params contains parameters for creating the device: - * @param - "code": the code of the keyboard key to bind with the input - * @param - "button": same as "code" but for controller buttons - * @param - "hat": similar as "button" but it's a group of hat buttons from SDL - * @param - "axis": the axis number of the axis to bind with the input - * @param - "motion": the motion number of the motion to bind with the input - * @param - "axis_x": same as axis but specifing horizontal direction - * @param - "axis_y": same as axis but specifing vertical direction - * @param - "axis_z": same as axis but specifing forward direction - * @param - "battery": Only used as a placeholder to set the input type - * @return an unique input device with the parameters specified + * - "code": the code of the keyboard key to bind with the input + * - "button": same as "code" but for controller buttons + * - "hat": similar as "button" but it's a group of hat buttons from SDL + * - "axis": the axis number of the axis to bind with the input + * - "motion": the motion number of the motion to bind with the input + * - "axis_x": same as axis but specifying horizontal direction + * - "axis_y": same as axis but specifying vertical direction + * - "axis_z": same as axis but specifying forward direction + * - "battery": Only used as a placeholder to set the input type + * @returns a unique input device with the parameters specified */ std::unique_ptr<Common::Input::InputDevice> Create(const Common::ParamPackage& params) override; @@ -71,14 +71,14 @@ private: /** * Creates a button device from the parameters given. * @param params contains parameters for creating the device: - * @param - "code": the code of the keyboard key to bind with the input - * @param - "button": same as "code" but for controller buttons - * @param - "toggle": press once to enable, press again to disable - * @param - "inverted": inverts the output of the button - * @param - "guid": text string for identifing controllers - * @param - "port": port of the connected device - * @param - "pad": slot of the connected controller - * @return an unique input device with the parameters specified + * - "code": the code of the keyboard key to bind with the input + * - "button": same as "code" but for controller buttons + * - "toggle": press once to enable, press again to disable + * - "inverted": inverts the output of the button + * - "guid": text string for identifying controllers + * - "port": port of the connected device + * - "pad": slot of the connected controller + * @returns a unique input device with the parameters specified */ std::unique_ptr<Common::Input::InputDevice> CreateButtonDevice( const Common::ParamPackage& params); @@ -86,14 +86,14 @@ private: /** * Creates a hat button device from the parameters given. * @param params contains parameters for creating the device: - * @param - "button": the controller hat id to bind with the input - * @param - "direction": the direction id to be detected - * @param - "toggle": press once to enable, press again to disable - * @param - "inverted": inverts the output of the button - * @param - "guid": text string for identifing controllers - * @param - "port": port of the connected device - * @param - "pad": slot of the connected controller - * @return an unique input device with the parameters specified + * - "button": the controller hat id to bind with the input + * - "direction": the direction id to be detected + * - "toggle": press once to enable, press again to disable + * - "inverted": inverts the output of the button + * - "guid": text string for identifying controllers + * - "port": port of the connected device + * - "pad": slot of the connected controller + * @returns a unique input device with the parameters specified */ std::unique_ptr<Common::Input::InputDevice> CreateHatButtonDevice( const Common::ParamPackage& params); @@ -101,19 +101,19 @@ private: /** * Creates a stick device from the parameters given. * @param params contains parameters for creating the device: - * @param - "axis_x": the controller horizontal axis id to bind with the input - * @param - "axis_y": the controller vertical axis id to bind with the input - * @param - "deadzone": the mimimum required value to be detected - * @param - "range": the maximum value required to reach 100% - * @param - "threshold": the mimimum required value to considered pressed - * @param - "offset_x": the amount of offset in the x axis - * @param - "offset_y": the amount of offset in the y axis - * @param - "invert_x": inverts the sign of the horizontal axis - * @param - "invert_y": inverts the sign of the vertical axis - * @param - "guid": text string for identifing controllers - * @param - "port": port of the connected device - * @param - "pad": slot of the connected controller - * @return an unique input device with the parameters specified + * - "axis_x": the controller horizontal axis id to bind with the input + * - "axis_y": the controller vertical axis id to bind with the input + * - "deadzone": the minimum required value to be detected + * - "range": the maximum value required to reach 100% + * - "threshold": the minimum required value to considered pressed + * - "offset_x": the amount of offset in the x axis + * - "offset_y": the amount of offset in the y axis + * - "invert_x": inverts the sign of the horizontal axis + * - "invert_y": inverts the sign of the vertical axis + * - "guid": text string for identifying controllers + * - "port": port of the connected device + * - "pad": slot of the connected controller + * @returns a unique input device with the parameters specified */ std::unique_ptr<Common::Input::InputDevice> CreateStickDevice( const Common::ParamPackage& params); @@ -121,16 +121,16 @@ private: /** * Creates an analog device from the parameters given. * @param params contains parameters for creating the device: - * @param - "axis": the controller axis id to bind with the input - * @param - "deadzone": the mimimum required value to be detected - * @param - "range": the maximum value required to reach 100% - * @param - "threshold": the mimimum required value to considered pressed - * @param - "offset": the amount of offset in the axis - * @param - "invert": inverts the sign of the axis - * @param - "guid": text string for identifing controllers - * @param - "port": port of the connected device - * @param - "pad": slot of the connected controller - * @return an unique input device with the parameters specified + * - "axis": the controller axis id to bind with the input + * - "deadzone": the minimum required value to be detected + * - "range": the maximum value required to reach 100% + * - "threshold": the minimum required value to considered pressed + * - "offset": the amount of offset in the axis + * - "invert": inverts the sign of the axis + * - "guid": text string for identifying controllers + * - "port": port of the connected device + * - "pad": slot of the connected controller + * @returns a unique input device with the parameters specified */ std::unique_ptr<Common::Input::InputDevice> CreateAnalogDevice( const Common::ParamPackage& params); @@ -138,20 +138,20 @@ private: /** * Creates a trigger device from the parameters given. * @param params contains parameters for creating the device: - * @param - "button": the controller hat id to bind with the input - * @param - "direction": the direction id to be detected - * @param - "toggle": press once to enable, press again to disable - * @param - "inverted": inverts the output of the button - * @param - "axis": the controller axis id to bind with the input - * @param - "deadzone": the mimimum required value to be detected - * @param - "range": the maximum value required to reach 100% - * @param - "threshold": the mimimum required value to considered pressed - * @param - "offset": the amount of offset in the axis - * @param - "invert": inverts the sign of the axis - * @param - "guid": text string for identifing controllers - * @param - "port": port of the connected device - * @param - "pad": slot of the connected controller - * @return an unique input device with the parameters specified + * - "button": the controller hat id to bind with the input + * - "direction": the direction id to be detected + * - "toggle": press once to enable, press again to disable + * - "inverted": inverts the output of the button + * - "axis": the controller axis id to bind with the input + * - "deadzone": the minimum required value to be detected + * - "range": the maximum value required to reach 100% + * - "threshold": the minimum required value to considered pressed + * - "offset": the amount of offset in the axis + * - "invert": inverts the sign of the axis + * - "guid": text string for identifying controllers + * - "port": port of the connected device + * - "pad": slot of the connected controller + * @returns a unique input device with the parameters specified */ std::unique_ptr<Common::Input::InputDevice> CreateTriggerDevice( const Common::ParamPackage& params); @@ -159,23 +159,23 @@ private: /** * Creates a touch device from the parameters given. * @param params contains parameters for creating the device: - * @param - "button": the controller hat id to bind with the input - * @param - "direction": the direction id to be detected - * @param - "toggle": press once to enable, press again to disable - * @param - "inverted": inverts the output of the button - * @param - "axis_x": the controller horizontal axis id to bind with the input - * @param - "axis_y": the controller vertical axis id to bind with the input - * @param - "deadzone": the mimimum required value to be detected - * @param - "range": the maximum value required to reach 100% - * @param - "threshold": the mimimum required value to considered pressed - * @param - "offset_x": the amount of offset in the x axis - * @param - "offset_y": the amount of offset in the y axis - * @param - "invert_x": inverts the sign of the horizontal axis - * @param - "invert_y": inverts the sign of the vertical axis - * @param - "guid": text string for identifing controllers - * @param - "port": port of the connected device - * @param - "pad": slot of the connected controller - * @return an unique input device with the parameters specified + * - "button": the controller hat id to bind with the input + * - "direction": the direction id to be detected + * - "toggle": press once to enable, press again to disable + * - "inverted": inverts the output of the button + * - "axis_x": the controller horizontal axis id to bind with the input + * - "axis_y": the controller vertical axis id to bind with the input + * - "deadzone": the minimum required value to be detected + * - "range": the maximum value required to reach 100% + * - "threshold": the minimum required value to considered pressed + * - "offset_x": the amount of offset in the x axis + * - "offset_y": the amount of offset in the y axis + * - "invert_x": inverts the sign of the horizontal axis + * - "invert_y": inverts the sign of the vertical axis + * - "guid": text string for identifying controllers + * - "port": port of the connected device + * - "pad": slot of the connected controller + * @returns a unique input device with the parameters specified */ std::unique_ptr<Common::Input::InputDevice> CreateTouchDevice( const Common::ParamPackage& params); @@ -183,10 +183,10 @@ private: /** * Creates a battery device from the parameters given. * @param params contains parameters for creating the device: - * @param - "guid": text string for identifing controllers - * @param - "port": port of the connected device - * @param - "pad": slot of the connected controller - * @return an unique input device with the parameters specified + * - "guid": text string for identifying controllers + * - "port": port of the connected device + * - "pad": slot of the connected controller + * @returns a unique input device with the parameters specified */ std::unique_ptr<Common::Input::InputDevice> CreateBatteryDevice( const Common::ParamPackage& params); @@ -194,21 +194,21 @@ private: /** * Creates a motion device from the parameters given. * @param params contains parameters for creating the device: - * @param - "axis_x": the controller horizontal axis id to bind with the input - * @param - "axis_y": the controller vertical axis id to bind with the input - * @param - "axis_z": the controller fordward axis id to bind with the input - * @param - "deadzone": the mimimum required value to be detected - * @param - "range": the maximum value required to reach 100% - * @param - "offset_x": the amount of offset in the x axis - * @param - "offset_y": the amount of offset in the y axis - * @param - "offset_z": the amount of offset in the z axis - * @param - "invert_x": inverts the sign of the horizontal axis - * @param - "invert_y": inverts the sign of the vertical axis - * @param - "invert_z": inverts the sign of the fordward axis - * @param - "guid": text string for identifing controllers - * @param - "port": port of the connected device - * @param - "pad": slot of the connected controller - * @return an unique input device with the parameters specified + * - "axis_x": the controller horizontal axis id to bind with the input + * - "axis_y": the controller vertical axis id to bind with the input + * - "axis_z": the controller forward axis id to bind with the input + * - "deadzone": the minimum required value to be detected + * - "range": the maximum value required to reach 100% + * - "offset_x": the amount of offset in the x axis + * - "offset_y": the amount of offset in the y axis + * - "offset_z": the amount of offset in the z axis + * - "invert_x": inverts the sign of the horizontal axis + * - "invert_y": inverts the sign of the vertical axis + * - "invert_z": inverts the sign of the forward axis + * - "guid": text string for identifying controllers + * - "port": port of the connected device + * - "pad": slot of the connected controller + * @returns a unique input device with the parameters specified */ std::unique_ptr<Common::Input::InputDevice> CreateMotionDevice(Common::ParamPackage params); diff --git a/src/shader_recompiler/CMakeLists.txt b/src/shader_recompiler/CMakeLists.txt index bc3df80c8..4c76ce1ea 100644 --- a/src/shader_recompiler/CMakeLists.txt +++ b/src/shader_recompiler/CMakeLists.txt @@ -1,7 +1,5 @@ add_library(shader_recompiler STATIC backend/bindings.h - backend/glasm/emit_context.cpp - backend/glasm/emit_context.h backend/glasm/emit_glasm.cpp backend/glasm/emit_glasm.h backend/glasm/emit_glasm_barriers.cpp @@ -22,10 +20,10 @@ add_library(shader_recompiler STATIC backend/glasm/emit_glasm_special.cpp backend/glasm/emit_glasm_undefined.cpp backend/glasm/emit_glasm_warp.cpp + backend/glasm/glasm_emit_context.cpp + backend/glasm/glasm_emit_context.h backend/glasm/reg_alloc.cpp backend/glasm/reg_alloc.h - backend/glsl/emit_context.cpp - backend/glsl/emit_context.h backend/glsl/emit_glsl.cpp backend/glsl/emit_glsl.h backend/glsl/emit_glsl_atomic.cpp @@ -47,10 +45,10 @@ add_library(shader_recompiler STATIC backend/glsl/emit_glsl_special.cpp backend/glsl/emit_glsl_undefined.cpp backend/glsl/emit_glsl_warp.cpp + backend/glsl/glsl_emit_context.cpp + backend/glsl/glsl_emit_context.h backend/glsl/var_alloc.cpp backend/glsl/var_alloc.h - backend/spirv/emit_context.cpp - backend/spirv/emit_context.h backend/spirv/emit_spirv.cpp backend/spirv/emit_spirv.h backend/spirv/emit_spirv_atomic.cpp @@ -72,6 +70,8 @@ add_library(shader_recompiler STATIC backend/spirv/emit_spirv_special.cpp backend/spirv/emit_spirv_undefined.cpp backend/spirv/emit_spirv_warp.cpp + backend/spirv/spirv_emit_context.cpp + backend/spirv/spirv_emit_context.h environment.h exception.h frontend/ir/abstract_syntax_list.h diff --git a/src/shader_recompiler/backend/glasm/emit_glasm.cpp b/src/shader_recompiler/backend/glasm/emit_glasm.cpp index 004658546..42eff443f 100644 --- a/src/shader_recompiler/backend/glasm/emit_glasm.cpp +++ b/src/shader_recompiler/backend/glasm/emit_glasm.cpp @@ -9,9 +9,9 @@ #include "common/div_ceil.h" #include "common/settings.h" #include "shader_recompiler/backend/bindings.h" -#include "shader_recompiler/backend/glasm/emit_context.h" #include "shader_recompiler/backend/glasm/emit_glasm.h" #include "shader_recompiler/backend/glasm/emit_glasm_instructions.h" +#include "shader_recompiler/backend/glasm/glasm_emit_context.h" #include "shader_recompiler/frontend/ir/ir_emitter.h" #include "shader_recompiler/frontend/ir/program.h" #include "shader_recompiler/profile.h" diff --git a/src/shader_recompiler/backend/glasm/emit_glasm_barriers.cpp b/src/shader_recompiler/backend/glasm/emit_glasm_barriers.cpp index e69de29bb..c0b97683e 100644 --- a/src/shader_recompiler/backend/glasm/emit_glasm_barriers.cpp +++ b/src/shader_recompiler/backend/glasm/emit_glasm_barriers.cpp @@ -0,0 +1,22 @@ +// Copyright 2021 yuzu Emulator Project +// Licensed under GPLv2 or any later version +// Refer to the license.txt file included. + +#include "shader_recompiler/backend/glasm/emit_glasm_instructions.h" +#include "shader_recompiler/backend/glasm/glasm_emit_context.h" + +namespace Shader::Backend::GLASM { + +void EmitBarrier(EmitContext& ctx) { + ctx.Add("BAR;"); +} + +void EmitWorkgroupMemoryBarrier(EmitContext& ctx) { + ctx.Add("MEMBAR.CTA;"); +} + +void EmitDeviceMemoryBarrier(EmitContext& ctx) { + ctx.Add("MEMBAR;"); +} + +} // namespace Shader::Backend::GLASM diff --git a/src/shader_recompiler/backend/glasm/emit_glasm_bitwise_conversion.cpp b/src/shader_recompiler/backend/glasm/emit_glasm_bitwise_conversion.cpp index 9201ccd39..3bfcbbe65 100644 --- a/src/shader_recompiler/backend/glasm/emit_glasm_bitwise_conversion.cpp +++ b/src/shader_recompiler/backend/glasm/emit_glasm_bitwise_conversion.cpp @@ -2,8 +2,8 @@ // Licensed under GPLv2 or any later version // Refer to the license.txt file included. -#include "shader_recompiler/backend/glasm/emit_context.h" #include "shader_recompiler/backend/glasm/emit_glasm_instructions.h" +#include "shader_recompiler/backend/glasm/glasm_emit_context.h" #include "shader_recompiler/frontend/ir/value.h" namespace Shader::Backend::GLASM { diff --git a/src/shader_recompiler/backend/glasm/emit_glasm_composite.cpp b/src/shader_recompiler/backend/glasm/emit_glasm_composite.cpp index bff0b7c1c..babbe6654 100644 --- a/src/shader_recompiler/backend/glasm/emit_glasm_composite.cpp +++ b/src/shader_recompiler/backend/glasm/emit_glasm_composite.cpp @@ -2,8 +2,8 @@ // Licensed under GPLv2 or any later version // Refer to the license.txt file included. -#include "shader_recompiler/backend/glasm/emit_context.h" #include "shader_recompiler/backend/glasm/emit_glasm_instructions.h" +#include "shader_recompiler/backend/glasm/glasm_emit_context.h" #include "shader_recompiler/frontend/ir/value.h" namespace Shader::Backend::GLASM { diff --git a/src/shader_recompiler/backend/glasm/emit_glasm_context_get_set.cpp b/src/shader_recompiler/backend/glasm/emit_glasm_context_get_set.cpp index 02c9dc6d7..081b2c8e0 100644 --- a/src/shader_recompiler/backend/glasm/emit_glasm_context_get_set.cpp +++ b/src/shader_recompiler/backend/glasm/emit_glasm_context_get_set.cpp @@ -4,8 +4,8 @@ #include <string_view> -#include "shader_recompiler/backend/glasm/emit_context.h" #include "shader_recompiler/backend/glasm/emit_glasm_instructions.h" +#include "shader_recompiler/backend/glasm/glasm_emit_context.h" #include "shader_recompiler/frontend/ir/value.h" #include "shader_recompiler/profile.h" #include "shader_recompiler/shader_info.h" @@ -335,6 +335,35 @@ void EmitSetFragDepth(EmitContext& ctx, ScalarF32 value) { ctx.Add("MOV.F result.depth.z,{};", value); } +void EmitWorkgroupId(EmitContext& ctx, IR::Inst& inst) { + ctx.Add("MOV.S {},invocation.groupid;", inst); +} + +void EmitLocalInvocationId(EmitContext& ctx, IR::Inst& inst) { + ctx.Add("MOV.S {},invocation.localid;", inst); +} + +void EmitInvocationId(EmitContext& ctx, IR::Inst& inst) { + ctx.Add("MOV.S {}.x,primitive_invocation.x;", inst); +} + +void EmitSampleId(EmitContext& ctx, IR::Inst& inst) { + ctx.Add("MOV.S {}.x,fragment.sampleid.x;", inst); +} + +void EmitIsHelperInvocation(EmitContext& ctx, IR::Inst& inst) { + ctx.Add("MOV.S {}.x,fragment.helperthread.x;", inst); +} + +void EmitYDirection(EmitContext& ctx, IR::Inst& inst) { + ctx.uses_y_direction = true; + ctx.Add("MOV.F {}.x,y_direction[0].w;", inst); +} + +void EmitResolutionDownFactor(EmitContext& ctx, IR::Inst& inst) { + ctx.Add("MOV.F {}.x,scaling[0].z;", inst); +} + void EmitLoadLocal(EmitContext& ctx, IR::Inst& inst, ScalarU32 word_offset) { ctx.Add("MOV.U {},lmem[{}].x;", inst, word_offset); } diff --git a/src/shader_recompiler/backend/glasm/emit_glasm_control_flow.cpp b/src/shader_recompiler/backend/glasm/emit_glasm_control_flow.cpp index e69de29bb..8a14fc8d9 100644 --- a/src/shader_recompiler/backend/glasm/emit_glasm_control_flow.cpp +++ b/src/shader_recompiler/backend/glasm/emit_glasm_control_flow.cpp @@ -0,0 +1,18 @@ +// Copyright 2021 yuzu Emulator Project +// Licensed under GPLv2 or any later version +// Refer to the license.txt file included. + +#include "shader_recompiler/backend/glasm/emit_glasm_instructions.h" +#include "shader_recompiler/backend/glasm/glasm_emit_context.h" + +namespace Shader::Backend::GLASM { + +void EmitJoin(EmitContext&) { + throw NotImplementedException("Join shouldn't be emitted"); +} + +void EmitDemoteToHelperInvocation(EmitContext& ctx) { + ctx.Add("KIL TR.x;"); +} + +} // namespace Shader::Backend::GLASM diff --git a/src/shader_recompiler/backend/glasm/emit_glasm_convert.cpp b/src/shader_recompiler/backend/glasm/emit_glasm_convert.cpp index ccdf1cbc8..4cff70fe4 100644 --- a/src/shader_recompiler/backend/glasm/emit_glasm_convert.cpp +++ b/src/shader_recompiler/backend/glasm/emit_glasm_convert.cpp @@ -4,8 +4,8 @@ #include <string_view> -#include "shader_recompiler/backend/glasm/emit_context.h" #include "shader_recompiler/backend/glasm/emit_glasm_instructions.h" +#include "shader_recompiler/backend/glasm/glasm_emit_context.h" #include "shader_recompiler/frontend/ir/modifiers.h" #include "shader_recompiler/frontend/ir/value.h" diff --git a/src/shader_recompiler/backend/glasm/emit_glasm_floating_point.cpp b/src/shader_recompiler/backend/glasm/emit_glasm_floating_point.cpp index 4ed58619d..356640471 100644 --- a/src/shader_recompiler/backend/glasm/emit_glasm_floating_point.cpp +++ b/src/shader_recompiler/backend/glasm/emit_glasm_floating_point.cpp @@ -4,8 +4,8 @@ #include <string_view> -#include "shader_recompiler/backend/glasm/emit_context.h" #include "shader_recompiler/backend/glasm/emit_glasm_instructions.h" +#include "shader_recompiler/backend/glasm/glasm_emit_context.h" #include "shader_recompiler/frontend/ir/modifiers.h" #include "shader_recompiler/frontend/ir/value.h" diff --git a/src/shader_recompiler/backend/glasm/emit_glasm_image.cpp b/src/shader_recompiler/backend/glasm/emit_glasm_image.cpp index d325d31c7..237a5af3f 100644 --- a/src/shader_recompiler/backend/glasm/emit_glasm_image.cpp +++ b/src/shader_recompiler/backend/glasm/emit_glasm_image.cpp @@ -4,8 +4,8 @@ #include <utility> -#include "shader_recompiler/backend/glasm/emit_context.h" #include "shader_recompiler/backend/glasm/emit_glasm_instructions.h" +#include "shader_recompiler/backend/glasm/glasm_emit_context.h" #include "shader_recompiler/frontend/ir/modifiers.h" #include "shader_recompiler/frontend/ir/value.h" diff --git a/src/shader_recompiler/backend/glasm/emit_glasm_integer.cpp b/src/shader_recompiler/backend/glasm/emit_glasm_integer.cpp index 8aa494a4d..f698b8b9b 100644 --- a/src/shader_recompiler/backend/glasm/emit_glasm_integer.cpp +++ b/src/shader_recompiler/backend/glasm/emit_glasm_integer.cpp @@ -2,8 +2,8 @@ // Licensed under GPLv2 or any later version // Refer to the license.txt file included. -#include "shader_recompiler/backend/glasm/emit_context.h" #include "shader_recompiler/backend/glasm/emit_glasm_instructions.h" +#include "shader_recompiler/backend/glasm/glasm_emit_context.h" #include "shader_recompiler/frontend/ir/value.h" namespace Shader::Backend::GLASM { diff --git a/src/shader_recompiler/backend/glasm/emit_glasm_logical.cpp b/src/shader_recompiler/backend/glasm/emit_glasm_logical.cpp index e69de29bb..eed7bfec2 100644 --- a/src/shader_recompiler/backend/glasm/emit_glasm_logical.cpp +++ b/src/shader_recompiler/backend/glasm/emit_glasm_logical.cpp @@ -0,0 +1,26 @@ +// Copyright 2021 yuzu Emulator Project +// Licensed under GPLv2 or any later version +// Refer to the license.txt file included. + +#include "shader_recompiler/backend/glasm/emit_glasm_instructions.h" +#include "shader_recompiler/backend/glasm/glasm_emit_context.h" + +namespace Shader::Backend::GLASM { + +void EmitLogicalOr(EmitContext& ctx, IR::Inst& inst, ScalarS32 a, ScalarS32 b) { + ctx.Add("OR.S {},{},{};", inst, a, b); +} + +void EmitLogicalAnd(EmitContext& ctx, IR::Inst& inst, ScalarS32 a, ScalarS32 b) { + ctx.Add("AND.S {},{},{};", inst, a, b); +} + +void EmitLogicalXor(EmitContext& ctx, IR::Inst& inst, ScalarS32 a, ScalarS32 b) { + ctx.Add("XOR.S {},{},{};", inst, a, b); +} + +void EmitLogicalNot(EmitContext& ctx, IR::Inst& inst, ScalarS32 value) { + ctx.Add("SEQ.S {},{},0;", inst, value); +} + +} // namespace Shader::Backend::GLASM diff --git a/src/shader_recompiler/backend/glasm/emit_glasm_memory.cpp b/src/shader_recompiler/backend/glasm/emit_glasm_memory.cpp index af9fac7c1..f135b67f5 100644 --- a/src/shader_recompiler/backend/glasm/emit_glasm_memory.cpp +++ b/src/shader_recompiler/backend/glasm/emit_glasm_memory.cpp @@ -4,8 +4,8 @@ #include <string_view> -#include "shader_recompiler/backend/glasm/emit_context.h" #include "shader_recompiler/backend/glasm/emit_glasm_instructions.h" +#include "shader_recompiler/backend/glasm/glasm_emit_context.h" #include "shader_recompiler/frontend/ir/program.h" #include "shader_recompiler/frontend/ir/value.h" #include "shader_recompiler/runtime_info.h" diff --git a/src/shader_recompiler/backend/glasm/emit_glasm_not_implemented.cpp b/src/shader_recompiler/backend/glasm/emit_glasm_not_implemented.cpp index 681aeda8d..86287ee3f 100644 --- a/src/shader_recompiler/backend/glasm/emit_glasm_not_implemented.cpp +++ b/src/shader_recompiler/backend/glasm/emit_glasm_not_implemented.cpp @@ -4,8 +4,8 @@ #include <string_view> -#include "shader_recompiler/backend/glasm/emit_context.h" #include "shader_recompiler/backend/glasm/emit_glasm_instructions.h" +#include "shader_recompiler/backend/glasm/glasm_emit_context.h" #include "shader_recompiler/frontend/ir/program.h" #include "shader_recompiler/frontend/ir/value.h" @@ -17,110 +17,6 @@ namespace Shader::Backend::GLASM { #define NotImplemented() throw NotImplementedException("GLASM instruction {}", __LINE__) -static void DefinePhi(EmitContext& ctx, IR::Inst& phi) { - switch (phi.Type()) { - case IR::Type::U1: - case IR::Type::U32: - case IR::Type::F32: - ctx.reg_alloc.Define(phi); - break; - case IR::Type::U64: - case IR::Type::F64: - ctx.reg_alloc.LongDefine(phi); - break; - default: - throw NotImplementedException("Phi node type {}", phi.Type()); - } -} - -void EmitPhi(EmitContext& ctx, IR::Inst& phi) { - const size_t num_args{phi.NumArgs()}; - for (size_t i = 0; i < num_args; ++i) { - ctx.reg_alloc.Consume(phi.Arg(i)); - } - if (!phi.Definition<Id>().is_valid) { - // The phi node wasn't forward defined - DefinePhi(ctx, phi); - } -} - -void EmitVoid(EmitContext&) {} - -void EmitReference(EmitContext& ctx, const IR::Value& value) { - ctx.reg_alloc.Consume(value); -} - -void EmitPhiMove(EmitContext& ctx, const IR::Value& phi_value, const IR::Value& value) { - IR::Inst& phi{RegAlloc::AliasInst(*phi_value.Inst())}; - if (!phi.Definition<Id>().is_valid) { - // The phi node wasn't forward defined - DefinePhi(ctx, phi); - } - const Register phi_reg{ctx.reg_alloc.Consume(IR::Value{&phi})}; - const Value eval_value{ctx.reg_alloc.Consume(value)}; - - if (phi_reg == eval_value) { - return; - } - switch (phi.Flags<IR::Type>()) { - case IR::Type::U1: - case IR::Type::U32: - case IR::Type::F32: - ctx.Add("MOV.S {}.x,{};", phi_reg, ScalarS32{eval_value}); - break; - case IR::Type::U64: - case IR::Type::F64: - ctx.Add("MOV.U64 {}.x,{};", phi_reg, ScalarRegister{eval_value}); - break; - default: - throw NotImplementedException("Phi node type {}", phi.Type()); - } -} - -void EmitJoin(EmitContext& ctx) { - NotImplemented(); -} - -void EmitDemoteToHelperInvocation(EmitContext& ctx) { - ctx.Add("KIL TR.x;"); -} - -void EmitBarrier(EmitContext& ctx) { - ctx.Add("BAR;"); -} - -void EmitWorkgroupMemoryBarrier(EmitContext& ctx) { - ctx.Add("MEMBAR.CTA;"); -} - -void EmitDeviceMemoryBarrier(EmitContext& ctx) { - ctx.Add("MEMBAR;"); -} - -void EmitPrologue(EmitContext& ctx) { - // TODO -} - -void EmitEpilogue(EmitContext& ctx) { - // TODO -} - -void EmitEmitVertex(EmitContext& ctx, ScalarS32 stream) { - if (stream.type == Type::U32 && stream.imm_u32 == 0) { - ctx.Add("EMIT;"); - } else { - ctx.Add("EMITS {};", stream); - } -} - -void EmitEndPrimitive(EmitContext& ctx, const IR::Value& stream) { - if (!stream.IsImmediate()) { - LOG_WARNING(Shader_GLASM, "Stream is not immediate"); - } - ctx.reg_alloc.Consume(stream); - ctx.Add("ENDPRIM;"); -} - void EmitGetRegister(EmitContext& ctx) { NotImplemented(); } @@ -185,55 +81,6 @@ void EmitSetOFlag(EmitContext& ctx) { NotImplemented(); } -void EmitWorkgroupId(EmitContext& ctx, IR::Inst& inst) { - ctx.Add("MOV.S {},invocation.groupid;", inst); -} - -void EmitLocalInvocationId(EmitContext& ctx, IR::Inst& inst) { - ctx.Add("MOV.S {},invocation.localid;", inst); -} - -void EmitInvocationId(EmitContext& ctx, IR::Inst& inst) { - ctx.Add("MOV.S {}.x,primitive_invocation.x;", inst); -} - -void EmitSampleId(EmitContext& ctx, IR::Inst& inst) { - ctx.Add("MOV.S {}.x,fragment.sampleid.x;", inst); -} - -void EmitIsHelperInvocation(EmitContext& ctx, IR::Inst& inst) { - ctx.Add("MOV.S {}.x,fragment.helperthread.x;", inst); -} - -void EmitYDirection(EmitContext& ctx, IR::Inst& inst) { - ctx.uses_y_direction = true; - ctx.Add("MOV.F {}.x,y_direction[0].w;", inst); -} - -void EmitResolutionDownFactor(EmitContext& ctx, IR::Inst& inst) { - ctx.Add("MOV.F {}.x,scaling[0].z;", inst); -} - -void EmitUndefU1(EmitContext& ctx, IR::Inst& inst) { - ctx.Add("MOV.S {}.x,0;", inst); -} - -void EmitUndefU8(EmitContext& ctx, IR::Inst& inst) { - ctx.Add("MOV.S {}.x,0;", inst); -} - -void EmitUndefU16(EmitContext& ctx, IR::Inst& inst) { - ctx.Add("MOV.S {}.x,0;", inst); -} - -void EmitUndefU32(EmitContext& ctx, IR::Inst& inst) { - ctx.Add("MOV.S {}.x,0;", inst); -} - -void EmitUndefU64(EmitContext& ctx, IR::Inst& inst) { - ctx.LongAdd("MOV.S64 {}.x,0;", inst); -} - void EmitGetZeroFromOp(EmitContext& ctx) { NotImplemented(); } @@ -258,20 +105,4 @@ void EmitGetInBoundsFromOp(EmitContext& ctx) { NotImplemented(); } -void EmitLogicalOr(EmitContext& ctx, IR::Inst& inst, ScalarS32 a, ScalarS32 b) { - ctx.Add("OR.S {},{},{};", inst, a, b); -} - -void EmitLogicalAnd(EmitContext& ctx, IR::Inst& inst, ScalarS32 a, ScalarS32 b) { - ctx.Add("AND.S {},{},{};", inst, a, b); -} - -void EmitLogicalXor(EmitContext& ctx, IR::Inst& inst, ScalarS32 a, ScalarS32 b) { - ctx.Add("XOR.S {},{},{};", inst, a, b); -} - -void EmitLogicalNot(EmitContext& ctx, IR::Inst& inst, ScalarS32 value) { - ctx.Add("SEQ.S {},{},0;", inst, value); -} - } // namespace Shader::Backend::GLASM diff --git a/src/shader_recompiler/backend/glasm/emit_glasm_select.cpp b/src/shader_recompiler/backend/glasm/emit_glasm_select.cpp index 68fff613c..dc441c56d 100644 --- a/src/shader_recompiler/backend/glasm/emit_glasm_select.cpp +++ b/src/shader_recompiler/backend/glasm/emit_glasm_select.cpp @@ -3,8 +3,8 @@ // Licensed under GPLv2 or any later version // Refer to the license.txt file included. -#include "shader_recompiler/backend/glasm/emit_context.h" #include "shader_recompiler/backend/glasm/emit_glasm_instructions.h" +#include "shader_recompiler/backend/glasm/glasm_emit_context.h" #include "shader_recompiler/frontend/ir/value.h" namespace Shader::Backend::GLASM { diff --git a/src/shader_recompiler/backend/glasm/emit_glasm_shared_memory.cpp b/src/shader_recompiler/backend/glasm/emit_glasm_shared_memory.cpp index c1498f449..39e1c6c3a 100644 --- a/src/shader_recompiler/backend/glasm/emit_glasm_shared_memory.cpp +++ b/src/shader_recompiler/backend/glasm/emit_glasm_shared_memory.cpp @@ -3,8 +3,8 @@ // Licensed under GPLv2 or any later version // Refer to the license.txt file included. -#include "shader_recompiler/backend/glasm/emit_context.h" #include "shader_recompiler/backend/glasm/emit_glasm_instructions.h" +#include "shader_recompiler/backend/glasm/glasm_emit_context.h" #include "shader_recompiler/frontend/ir/value.h" namespace Shader::Backend::GLASM { diff --git a/src/shader_recompiler/backend/glasm/emit_glasm_special.cpp b/src/shader_recompiler/backend/glasm/emit_glasm_special.cpp index e69de29bb..e7a5fb13a 100644 --- a/src/shader_recompiler/backend/glasm/emit_glasm_special.cpp +++ b/src/shader_recompiler/backend/glasm/emit_glasm_special.cpp @@ -0,0 +1,95 @@ +// Copyright 2021 yuzu Emulator Project +// Licensed under GPLv2 or any later version +// Refer to the license.txt file included. + +#include "shader_recompiler/backend/glasm/emit_glasm_instructions.h" +#include "shader_recompiler/backend/glasm/glasm_emit_context.h" +#include "shader_recompiler/frontend/ir/value.h" + +namespace Shader::Backend::GLASM { + +static void DefinePhi(EmitContext& ctx, IR::Inst& phi) { + switch (phi.Type()) { + case IR::Type::U1: + case IR::Type::U32: + case IR::Type::F32: + ctx.reg_alloc.Define(phi); + break; + case IR::Type::U64: + case IR::Type::F64: + ctx.reg_alloc.LongDefine(phi); + break; + default: + throw NotImplementedException("Phi node type {}", phi.Type()); + } +} + +void EmitPhi(EmitContext& ctx, IR::Inst& phi) { + const size_t num_args{phi.NumArgs()}; + for (size_t i = 0; i < num_args; ++i) { + ctx.reg_alloc.Consume(phi.Arg(i)); + } + if (!phi.Definition<Id>().is_valid) { + // The phi node wasn't forward defined + DefinePhi(ctx, phi); + } +} + +void EmitVoid(EmitContext&) {} + +void EmitReference(EmitContext& ctx, const IR::Value& value) { + ctx.reg_alloc.Consume(value); +} + +void EmitPhiMove(EmitContext& ctx, const IR::Value& phi_value, const IR::Value& value) { + IR::Inst& phi{RegAlloc::AliasInst(*phi_value.Inst())}; + if (!phi.Definition<Id>().is_valid) { + // The phi node wasn't forward defined + DefinePhi(ctx, phi); + } + const Register phi_reg{ctx.reg_alloc.Consume(IR::Value{&phi})}; + const Value eval_value{ctx.reg_alloc.Consume(value)}; + + if (phi_reg == eval_value) { + return; + } + switch (phi.Flags<IR::Type>()) { + case IR::Type::U1: + case IR::Type::U32: + case IR::Type::F32: + ctx.Add("MOV.S {}.x,{};", phi_reg, ScalarS32{eval_value}); + break; + case IR::Type::U64: + case IR::Type::F64: + ctx.Add("MOV.U64 {}.x,{};", phi_reg, ScalarRegister{eval_value}); + break; + default: + throw NotImplementedException("Phi node type {}", phi.Type()); + } +} + +void EmitPrologue(EmitContext&) { + // TODO +} + +void EmitEpilogue(EmitContext&) { + // TODO +} + +void EmitEmitVertex(EmitContext& ctx, ScalarS32 stream) { + if (stream.type == Type::U32 && stream.imm_u32 == 0) { + ctx.Add("EMIT;"); + } else { + ctx.Add("EMITS {};", stream); + } +} + +void EmitEndPrimitive(EmitContext& ctx, const IR::Value& stream) { + if (!stream.IsImmediate()) { + LOG_WARNING(Shader_GLASM, "Stream is not immediate"); + } + ctx.reg_alloc.Consume(stream); + ctx.Add("ENDPRIM;"); +} + +} // namespace Shader::Backend::GLASM diff --git a/src/shader_recompiler/backend/glasm/emit_glasm_undefined.cpp b/src/shader_recompiler/backend/glasm/emit_glasm_undefined.cpp index e69de29bb..875e9d991 100644 --- a/src/shader_recompiler/backend/glasm/emit_glasm_undefined.cpp +++ b/src/shader_recompiler/backend/glasm/emit_glasm_undefined.cpp @@ -0,0 +1,30 @@ +// Copyright 2021 yuzu Emulator Project +// Licensed under GPLv2 or any later version +// Refer to the license.txt file included. + +#include "shader_recompiler/backend/glasm/emit_glasm_instructions.h" +#include "shader_recompiler/backend/glasm/glasm_emit_context.h" + +namespace Shader::Backend::GLASM { + +void EmitUndefU1(EmitContext& ctx, IR::Inst& inst) { + ctx.Add("MOV.S {}.x,0;", inst); +} + +void EmitUndefU8(EmitContext& ctx, IR::Inst& inst) { + ctx.Add("MOV.S {}.x,0;", inst); +} + +void EmitUndefU16(EmitContext& ctx, IR::Inst& inst) { + ctx.Add("MOV.S {}.x,0;", inst); +} + +void EmitUndefU32(EmitContext& ctx, IR::Inst& inst) { + ctx.Add("MOV.S {}.x,0;", inst); +} + +void EmitUndefU64(EmitContext& ctx, IR::Inst& inst) { + ctx.LongAdd("MOV.S64 {}.x,0;", inst); +} + +} // namespace Shader::Backend::GLASM diff --git a/src/shader_recompiler/backend/glasm/emit_glasm_warp.cpp b/src/shader_recompiler/backend/glasm/emit_glasm_warp.cpp index 544d475b4..32e0dd923 100644 --- a/src/shader_recompiler/backend/glasm/emit_glasm_warp.cpp +++ b/src/shader_recompiler/backend/glasm/emit_glasm_warp.cpp @@ -2,8 +2,8 @@ // Licensed under GPLv2 or any later version // Refer to the license.txt file included. -#include "shader_recompiler/backend/glasm/emit_context.h" #include "shader_recompiler/backend/glasm/emit_glasm_instructions.h" +#include "shader_recompiler/backend/glasm/glasm_emit_context.h" #include "shader_recompiler/frontend/ir/value.h" #include "shader_recompiler/profile.h" diff --git a/src/shader_recompiler/backend/glasm/emit_context.cpp b/src/shader_recompiler/backend/glasm/glasm_emit_context.cpp index 8fd459dfe..0401953f7 100644 --- a/src/shader_recompiler/backend/glasm/emit_context.cpp +++ b/src/shader_recompiler/backend/glasm/glasm_emit_context.cpp @@ -5,8 +5,8 @@ #include <string_view> #include "shader_recompiler/backend/bindings.h" -#include "shader_recompiler/backend/glasm/emit_context.h" #include "shader_recompiler/backend/glasm/emit_glasm.h" +#include "shader_recompiler/backend/glasm/glasm_emit_context.h" #include "shader_recompiler/frontend/ir/program.h" #include "shader_recompiler/profile.h" #include "shader_recompiler/runtime_info.h" diff --git a/src/shader_recompiler/backend/glasm/emit_context.h b/src/shader_recompiler/backend/glasm/glasm_emit_context.h index 8433e5c00..8433e5c00 100644 --- a/src/shader_recompiler/backend/glasm/emit_context.h +++ b/src/shader_recompiler/backend/glasm/glasm_emit_context.h diff --git a/src/shader_recompiler/backend/glasm/reg_alloc.cpp b/src/shader_recompiler/backend/glasm/reg_alloc.cpp index 4c046db6e..201e428c1 100644 --- a/src/shader_recompiler/backend/glasm/reg_alloc.cpp +++ b/src/shader_recompiler/backend/glasm/reg_alloc.cpp @@ -6,7 +6,7 @@ #include <fmt/format.h> -#include "shader_recompiler/backend/glasm/emit_context.h" +#include "shader_recompiler/backend/glasm/glasm_emit_context.h" #include "shader_recompiler/backend/glasm/reg_alloc.h" #include "shader_recompiler/exception.h" #include "shader_recompiler/frontend/ir/value.h" diff --git a/src/shader_recompiler/backend/glsl/emit_glsl.cpp b/src/shader_recompiler/backend/glsl/emit_glsl.cpp index 8a430d573..78b2eeaa2 100644 --- a/src/shader_recompiler/backend/glsl/emit_glsl.cpp +++ b/src/shader_recompiler/backend/glsl/emit_glsl.cpp @@ -9,9 +9,9 @@ #include "common/div_ceil.h" #include "common/settings.h" -#include "shader_recompiler/backend/glsl/emit_context.h" #include "shader_recompiler/backend/glsl/emit_glsl.h" #include "shader_recompiler/backend/glsl/emit_glsl_instructions.h" +#include "shader_recompiler/backend/glsl/glsl_emit_context.h" #include "shader_recompiler/frontend/ir/ir_emitter.h" namespace Shader::Backend::GLSL { diff --git a/src/shader_recompiler/backend/glsl/emit_glsl_atomic.cpp b/src/shader_recompiler/backend/glsl/emit_glsl_atomic.cpp index 772acc5a4..dc377b053 100644 --- a/src/shader_recompiler/backend/glsl/emit_glsl_atomic.cpp +++ b/src/shader_recompiler/backend/glsl/emit_glsl_atomic.cpp @@ -4,8 +4,8 @@ #include <string_view> -#include "shader_recompiler/backend/glsl/emit_context.h" #include "shader_recompiler/backend/glsl/emit_glsl_instructions.h" +#include "shader_recompiler/backend/glsl/glsl_emit_context.h" #include "shader_recompiler/frontend/ir/value.h" namespace Shader::Backend::GLSL { diff --git a/src/shader_recompiler/backend/glsl/emit_glsl_barriers.cpp b/src/shader_recompiler/backend/glsl/emit_glsl_barriers.cpp index e1d1b558e..8a9faa394 100644 --- a/src/shader_recompiler/backend/glsl/emit_glsl_barriers.cpp +++ b/src/shader_recompiler/backend/glsl/emit_glsl_barriers.cpp @@ -2,8 +2,8 @@ // Licensed under GPLv2 or any later version // Refer to the license.txt file included. -#include "shader_recompiler/backend/glsl/emit_context.h" #include "shader_recompiler/backend/glsl/emit_glsl_instructions.h" +#include "shader_recompiler/backend/glsl/glsl_emit_context.h" #include "shader_recompiler/frontend/ir/value.h" namespace Shader::Backend::GLSL { diff --git a/src/shader_recompiler/backend/glsl/emit_glsl_bitwise_conversion.cpp b/src/shader_recompiler/backend/glsl/emit_glsl_bitwise_conversion.cpp index 3c1714e89..0f2668d9e 100644 --- a/src/shader_recompiler/backend/glsl/emit_glsl_bitwise_conversion.cpp +++ b/src/shader_recompiler/backend/glsl/emit_glsl_bitwise_conversion.cpp @@ -4,8 +4,8 @@ #include <string_view> -#include "shader_recompiler/backend/glsl/emit_context.h" #include "shader_recompiler/backend/glsl/emit_glsl_instructions.h" +#include "shader_recompiler/backend/glsl/glsl_emit_context.h" #include "shader_recompiler/frontend/ir/value.h" namespace Shader::Backend::GLSL { diff --git a/src/shader_recompiler/backend/glsl/emit_glsl_composite.cpp b/src/shader_recompiler/backend/glsl/emit_glsl_composite.cpp index 49a66e3ec..98cc57e58 100644 --- a/src/shader_recompiler/backend/glsl/emit_glsl_composite.cpp +++ b/src/shader_recompiler/backend/glsl/emit_glsl_composite.cpp @@ -4,8 +4,8 @@ #include <string_view> -#include "shader_recompiler/backend/glsl/emit_context.h" #include "shader_recompiler/backend/glsl/emit_glsl_instructions.h" +#include "shader_recompiler/backend/glsl/glsl_emit_context.h" #include "shader_recompiler/frontend/ir/value.h" namespace Shader::Backend::GLSL { diff --git a/src/shader_recompiler/backend/glsl/emit_glsl_context_get_set.cpp b/src/shader_recompiler/backend/glsl/emit_glsl_context_get_set.cpp index 4c26f3829..1920047f4 100644 --- a/src/shader_recompiler/backend/glsl/emit_glsl_context_get_set.cpp +++ b/src/shader_recompiler/backend/glsl/emit_glsl_context_get_set.cpp @@ -4,8 +4,8 @@ #include <string_view> -#include "shader_recompiler/backend/glsl/emit_context.h" #include "shader_recompiler/backend/glsl/emit_glsl_instructions.h" +#include "shader_recompiler/backend/glsl/glsl_emit_context.h" #include "shader_recompiler/frontend/ir/value.h" #include "shader_recompiler/profile.h" #include "shader_recompiler/runtime_info.h" diff --git a/src/shader_recompiler/backend/glsl/emit_glsl_control_flow.cpp b/src/shader_recompiler/backend/glsl/emit_glsl_control_flow.cpp index 53f8896be..c86465e8b 100644 --- a/src/shader_recompiler/backend/glsl/emit_glsl_control_flow.cpp +++ b/src/shader_recompiler/backend/glsl/emit_glsl_control_flow.cpp @@ -4,8 +4,8 @@ #include <string_view> -#include "shader_recompiler/backend/glsl/emit_context.h" #include "shader_recompiler/backend/glsl/emit_glsl_instructions.h" +#include "shader_recompiler/backend/glsl/glsl_emit_context.h" #include "shader_recompiler/exception.h" namespace Shader::Backend::GLSL { diff --git a/src/shader_recompiler/backend/glsl/emit_glsl_convert.cpp b/src/shader_recompiler/backend/glsl/emit_glsl_convert.cpp index eeae6562c..ce6ea1bb7 100644 --- a/src/shader_recompiler/backend/glsl/emit_glsl_convert.cpp +++ b/src/shader_recompiler/backend/glsl/emit_glsl_convert.cpp @@ -4,8 +4,8 @@ #include <string_view> -#include "shader_recompiler/backend/glsl/emit_context.h" #include "shader_recompiler/backend/glsl/emit_glsl_instructions.h" +#include "shader_recompiler/backend/glsl/glsl_emit_context.h" #include "shader_recompiler/frontend/ir/value.h" namespace Shader::Backend::GLSL { diff --git a/src/shader_recompiler/backend/glsl/emit_glsl_floating_point.cpp b/src/shader_recompiler/backend/glsl/emit_glsl_floating_point.cpp index d423bfb1b..b765a251b 100644 --- a/src/shader_recompiler/backend/glsl/emit_glsl_floating_point.cpp +++ b/src/shader_recompiler/backend/glsl/emit_glsl_floating_point.cpp @@ -4,8 +4,8 @@ #include <string_view> -#include "shader_recompiler/backend/glsl/emit_context.h" #include "shader_recompiler/backend/glsl/emit_glsl_instructions.h" +#include "shader_recompiler/backend/glsl/glsl_emit_context.h" #include "shader_recompiler/frontend/ir/modifiers.h" #include "shader_recompiler/frontend/ir/value.h" diff --git a/src/shader_recompiler/backend/glsl/emit_glsl_image.cpp b/src/shader_recompiler/backend/glsl/emit_glsl_image.cpp index 2f78d0267..fae2e397a 100644 --- a/src/shader_recompiler/backend/glsl/emit_glsl_image.cpp +++ b/src/shader_recompiler/backend/glsl/emit_glsl_image.cpp @@ -4,8 +4,8 @@ #include <string_view> -#include "shader_recompiler/backend/glsl/emit_context.h" #include "shader_recompiler/backend/glsl/emit_glsl_instructions.h" +#include "shader_recompiler/backend/glsl/glsl_emit_context.h" #include "shader_recompiler/frontend/ir/modifiers.h" #include "shader_recompiler/frontend/ir/value.h" #include "shader_recompiler/profile.h" diff --git a/src/shader_recompiler/backend/glsl/emit_glsl_integer.cpp b/src/shader_recompiler/backend/glsl/emit_glsl_integer.cpp index 88c1d4c5e..44060df33 100644 --- a/src/shader_recompiler/backend/glsl/emit_glsl_integer.cpp +++ b/src/shader_recompiler/backend/glsl/emit_glsl_integer.cpp @@ -4,8 +4,8 @@ #include <string_view> -#include "shader_recompiler/backend/glsl/emit_context.h" #include "shader_recompiler/backend/glsl/emit_glsl_instructions.h" +#include "shader_recompiler/backend/glsl/glsl_emit_context.h" #include "shader_recompiler/frontend/ir/value.h" namespace Shader::Backend::GLSL { diff --git a/src/shader_recompiler/backend/glsl/emit_glsl_logical.cpp b/src/shader_recompiler/backend/glsl/emit_glsl_logical.cpp index 338ff4bd6..742fec9cf 100644 --- a/src/shader_recompiler/backend/glsl/emit_glsl_logical.cpp +++ b/src/shader_recompiler/backend/glsl/emit_glsl_logical.cpp @@ -4,8 +4,8 @@ #include <string_view> -#include "shader_recompiler/backend/glsl/emit_context.h" #include "shader_recompiler/backend/glsl/emit_glsl_instructions.h" +#include "shader_recompiler/backend/glsl/glsl_emit_context.h" #include "shader_recompiler/frontend/ir/value.h" namespace Shader::Backend::GLSL { diff --git a/src/shader_recompiler/backend/glsl/emit_glsl_memory.cpp b/src/shader_recompiler/backend/glsl/emit_glsl_memory.cpp index e3957491f..9fd41b4fd 100644 --- a/src/shader_recompiler/backend/glsl/emit_glsl_memory.cpp +++ b/src/shader_recompiler/backend/glsl/emit_glsl_memory.cpp @@ -4,8 +4,8 @@ #include <string_view> -#include "shader_recompiler/backend/glsl/emit_context.h" #include "shader_recompiler/backend/glsl/emit_glsl_instructions.h" +#include "shader_recompiler/backend/glsl/glsl_emit_context.h" #include "shader_recompiler/frontend/ir/value.h" #include "shader_recompiler/profile.h" diff --git a/src/shader_recompiler/backend/glsl/emit_glsl_not_implemented.cpp b/src/shader_recompiler/backend/glsl/emit_glsl_not_implemented.cpp index f420fe388..4ebdfb3bc 100644 --- a/src/shader_recompiler/backend/glsl/emit_glsl_not_implemented.cpp +++ b/src/shader_recompiler/backend/glsl/emit_glsl_not_implemented.cpp @@ -4,8 +4,8 @@ #include <string_view> -#include "shader_recompiler/backend/glsl/emit_context.h" #include "shader_recompiler/backend/glsl/emit_glsl_instructions.h" +#include "shader_recompiler/backend/glsl/glsl_emit_context.h" #include "shader_recompiler/frontend/ir/value.h" #ifdef _MSC_VER diff --git a/src/shader_recompiler/backend/glsl/emit_glsl_select.cpp b/src/shader_recompiler/backend/glsl/emit_glsl_select.cpp index 49fba9073..b1e486e5f 100644 --- a/src/shader_recompiler/backend/glsl/emit_glsl_select.cpp +++ b/src/shader_recompiler/backend/glsl/emit_glsl_select.cpp @@ -4,8 +4,8 @@ #include <string_view> -#include "shader_recompiler/backend/glsl/emit_context.h" #include "shader_recompiler/backend/glsl/emit_glsl_instructions.h" +#include "shader_recompiler/backend/glsl/glsl_emit_context.h" #include "shader_recompiler/frontend/ir/value.h" namespace Shader::Backend::GLSL { diff --git a/src/shader_recompiler/backend/glsl/emit_glsl_shared_memory.cpp b/src/shader_recompiler/backend/glsl/emit_glsl_shared_memory.cpp index 518b78f06..74ae345e5 100644 --- a/src/shader_recompiler/backend/glsl/emit_glsl_shared_memory.cpp +++ b/src/shader_recompiler/backend/glsl/emit_glsl_shared_memory.cpp @@ -4,8 +4,8 @@ #include <string_view> -#include "shader_recompiler/backend/glsl/emit_context.h" #include "shader_recompiler/backend/glsl/emit_glsl_instructions.h" +#include "shader_recompiler/backend/glsl/glsl_emit_context.h" #include "shader_recompiler/frontend/ir/value.h" namespace Shader::Backend::GLSL { diff --git a/src/shader_recompiler/backend/glsl/emit_glsl_special.cpp b/src/shader_recompiler/backend/glsl/emit_glsl_special.cpp index 67f9dad68..b8ddafe48 100644 --- a/src/shader_recompiler/backend/glsl/emit_glsl_special.cpp +++ b/src/shader_recompiler/backend/glsl/emit_glsl_special.cpp @@ -4,8 +4,8 @@ #include <string_view> -#include "shader_recompiler/backend/glsl/emit_context.h" #include "shader_recompiler/backend/glsl/emit_glsl_instructions.h" +#include "shader_recompiler/backend/glsl/glsl_emit_context.h" #include "shader_recompiler/frontend/ir/program.h" #include "shader_recompiler/frontend/ir/value.h" #include "shader_recompiler/profile.h" diff --git a/src/shader_recompiler/backend/glsl/emit_glsl_undefined.cpp b/src/shader_recompiler/backend/glsl/emit_glsl_undefined.cpp index 15bf02dd6..cace1db85 100644 --- a/src/shader_recompiler/backend/glsl/emit_glsl_undefined.cpp +++ b/src/shader_recompiler/backend/glsl/emit_glsl_undefined.cpp @@ -4,8 +4,8 @@ #include <string_view> -#include "shader_recompiler/backend/glsl/emit_context.h" #include "shader_recompiler/backend/glsl/emit_glsl_instructions.h" +#include "shader_recompiler/backend/glsl/glsl_emit_context.h" namespace Shader::Backend::GLSL { diff --git a/src/shader_recompiler/backend/glsl/emit_glsl_warp.cpp b/src/shader_recompiler/backend/glsl/emit_glsl_warp.cpp index cd285e2c8..6e01979b4 100644 --- a/src/shader_recompiler/backend/glsl/emit_glsl_warp.cpp +++ b/src/shader_recompiler/backend/glsl/emit_glsl_warp.cpp @@ -4,8 +4,8 @@ #include <string_view> -#include "shader_recompiler/backend/glsl/emit_context.h" #include "shader_recompiler/backend/glsl/emit_glsl_instructions.h" +#include "shader_recompiler/backend/glsl/glsl_emit_context.h" #include "shader_recompiler/frontend/ir/value.h" #include "shader_recompiler/profile.h" diff --git a/src/shader_recompiler/backend/glsl/emit_context.cpp b/src/shader_recompiler/backend/glsl/glsl_emit_context.cpp index 97bd59302..1de017e76 100644 --- a/src/shader_recompiler/backend/glsl/emit_context.cpp +++ b/src/shader_recompiler/backend/glsl/glsl_emit_context.cpp @@ -3,7 +3,7 @@ // Refer to the license.txt file included. #include "shader_recompiler/backend/bindings.h" -#include "shader_recompiler/backend/glsl/emit_context.h" +#include "shader_recompiler/backend/glsl/glsl_emit_context.h" #include "shader_recompiler/frontend/ir/program.h" #include "shader_recompiler/profile.h" #include "shader_recompiler/runtime_info.h" diff --git a/src/shader_recompiler/backend/glsl/emit_context.h b/src/shader_recompiler/backend/glsl/glsl_emit_context.h index d9b639d29..d9b639d29 100644 --- a/src/shader_recompiler/backend/glsl/emit_context.h +++ b/src/shader_recompiler/backend/glsl/glsl_emit_context.h diff --git a/src/shader_recompiler/backend/spirv/emit_spirv.cpp b/src/shader_recompiler/backend/spirv/emit_spirv.cpp index d7a86e270..6ce7ed12a 100644 --- a/src/shader_recompiler/backend/spirv/emit_spirv.cpp +++ b/src/shader_recompiler/backend/spirv/emit_spirv.cpp @@ -11,6 +11,7 @@ #include "common/settings.h" #include "shader_recompiler/backend/spirv/emit_spirv.h" #include "shader_recompiler/backend/spirv/emit_spirv_instructions.h" +#include "shader_recompiler/backend/spirv/spirv_emit_context.h" #include "shader_recompiler/frontend/ir/basic_block.h" #include "shader_recompiler/frontend/ir/program.h" diff --git a/src/shader_recompiler/backend/spirv/emit_spirv.h b/src/shader_recompiler/backend/spirv/emit_spirv.h index 4b25534ce..b412957c7 100644 --- a/src/shader_recompiler/backend/spirv/emit_spirv.h +++ b/src/shader_recompiler/backend/spirv/emit_spirv.h @@ -6,13 +6,11 @@ #include <vector> -#include <sirit/sirit.h> - #include "common/common_types.h" #include "shader_recompiler/backend/bindings.h" -#include "shader_recompiler/backend/spirv/emit_context.h" #include "shader_recompiler/frontend/ir/program.h" #include "shader_recompiler/profile.h" +#include "shader_recompiler/runtime_info.h" namespace Shader::Backend::SPIRV { diff --git a/src/shader_recompiler/backend/spirv/emit_spirv_atomic.cpp b/src/shader_recompiler/backend/spirv/emit_spirv_atomic.cpp index 9af8bb9e1..0d37b405c 100644 --- a/src/shader_recompiler/backend/spirv/emit_spirv_atomic.cpp +++ b/src/shader_recompiler/backend/spirv/emit_spirv_atomic.cpp @@ -4,6 +4,7 @@ #include "shader_recompiler/backend/spirv/emit_spirv.h" #include "shader_recompiler/backend/spirv/emit_spirv_instructions.h" +#include "shader_recompiler/backend/spirv/spirv_emit_context.h" namespace Shader::Backend::SPIRV { namespace { diff --git a/src/shader_recompiler/backend/spirv/emit_spirv_barriers.cpp b/src/shader_recompiler/backend/spirv/emit_spirv_barriers.cpp index e0b52a001..9ce95a41b 100644 --- a/src/shader_recompiler/backend/spirv/emit_spirv_barriers.cpp +++ b/src/shader_recompiler/backend/spirv/emit_spirv_barriers.cpp @@ -4,6 +4,7 @@ #include "shader_recompiler/backend/spirv/emit_spirv.h" #include "shader_recompiler/backend/spirv/emit_spirv_instructions.h" +#include "shader_recompiler/backend/spirv/spirv_emit_context.h" #include "shader_recompiler/frontend/ir/modifiers.h" namespace Shader::Backend::SPIRV { diff --git a/src/shader_recompiler/backend/spirv/emit_spirv_bitwise_conversion.cpp b/src/shader_recompiler/backend/spirv/emit_spirv_bitwise_conversion.cpp index bb11f4f4e..02d1e63f7 100644 --- a/src/shader_recompiler/backend/spirv/emit_spirv_bitwise_conversion.cpp +++ b/src/shader_recompiler/backend/spirv/emit_spirv_bitwise_conversion.cpp @@ -4,6 +4,7 @@ #include "shader_recompiler/backend/spirv/emit_spirv.h" #include "shader_recompiler/backend/spirv/emit_spirv_instructions.h" +#include "shader_recompiler/backend/spirv/spirv_emit_context.h" namespace Shader::Backend::SPIRV { diff --git a/src/shader_recompiler/backend/spirv/emit_spirv_composite.cpp b/src/shader_recompiler/backend/spirv/emit_spirv_composite.cpp index 10ff4ecab..5c3e1ee2b 100644 --- a/src/shader_recompiler/backend/spirv/emit_spirv_composite.cpp +++ b/src/shader_recompiler/backend/spirv/emit_spirv_composite.cpp @@ -4,6 +4,7 @@ #include "shader_recompiler/backend/spirv/emit_spirv.h" #include "shader_recompiler/backend/spirv/emit_spirv_instructions.h" +#include "shader_recompiler/backend/spirv/spirv_emit_context.h" #include "shader_recompiler/frontend/ir/modifiers.h" namespace Shader::Backend::SPIRV { diff --git a/src/shader_recompiler/backend/spirv/emit_spirv_context_get_set.cpp b/src/shader_recompiler/backend/spirv/emit_spirv_context_get_set.cpp index bac683ae1..ad84966b5 100644 --- a/src/shader_recompiler/backend/spirv/emit_spirv_context_get_set.cpp +++ b/src/shader_recompiler/backend/spirv/emit_spirv_context_get_set.cpp @@ -7,6 +7,7 @@ #include "shader_recompiler/backend/spirv/emit_spirv.h" #include "shader_recompiler/backend/spirv/emit_spirv_instructions.h" +#include "shader_recompiler/backend/spirv/spirv_emit_context.h" namespace Shader::Backend::SPIRV { namespace { diff --git a/src/shader_recompiler/backend/spirv/emit_spirv_control_flow.cpp b/src/shader_recompiler/backend/spirv/emit_spirv_control_flow.cpp index d33486f28..1eca3aa85 100644 --- a/src/shader_recompiler/backend/spirv/emit_spirv_control_flow.cpp +++ b/src/shader_recompiler/backend/spirv/emit_spirv_control_flow.cpp @@ -4,6 +4,7 @@ #include "shader_recompiler/backend/spirv/emit_spirv.h" #include "shader_recompiler/backend/spirv/emit_spirv_instructions.h" +#include "shader_recompiler/backend/spirv/spirv_emit_context.h" namespace Shader::Backend::SPIRV { diff --git a/src/shader_recompiler/backend/spirv/emit_spirv_convert.cpp b/src/shader_recompiler/backend/spirv/emit_spirv_convert.cpp index fd42b7a16..832de2452 100644 --- a/src/shader_recompiler/backend/spirv/emit_spirv_convert.cpp +++ b/src/shader_recompiler/backend/spirv/emit_spirv_convert.cpp @@ -4,6 +4,7 @@ #include "shader_recompiler/backend/spirv/emit_spirv.h" #include "shader_recompiler/backend/spirv/emit_spirv_instructions.h" +#include "shader_recompiler/backend/spirv/spirv_emit_context.h" namespace Shader::Backend::SPIRV { namespace { diff --git a/src/shader_recompiler/backend/spirv/emit_spirv_floating_point.cpp b/src/shader_recompiler/backend/spirv/emit_spirv_floating_point.cpp index 61cf25f9c..0cdc46495 100644 --- a/src/shader_recompiler/backend/spirv/emit_spirv_floating_point.cpp +++ b/src/shader_recompiler/backend/spirv/emit_spirv_floating_point.cpp @@ -4,6 +4,7 @@ #include "shader_recompiler/backend/spirv/emit_spirv.h" #include "shader_recompiler/backend/spirv/emit_spirv_instructions.h" +#include "shader_recompiler/backend/spirv/spirv_emit_context.h" #include "shader_recompiler/frontend/ir/modifiers.h" namespace Shader::Backend::SPIRV { diff --git a/src/shader_recompiler/backend/spirv/emit_spirv_image.cpp b/src/shader_recompiler/backend/spirv/emit_spirv_image.cpp index 4d168a96d..d18d5f1d5 100644 --- a/src/shader_recompiler/backend/spirv/emit_spirv_image.cpp +++ b/src/shader_recompiler/backend/spirv/emit_spirv_image.cpp @@ -6,6 +6,7 @@ #include "shader_recompiler/backend/spirv/emit_spirv.h" #include "shader_recompiler/backend/spirv/emit_spirv_instructions.h" +#include "shader_recompiler/backend/spirv/spirv_emit_context.h" #include "shader_recompiler/frontend/ir/modifiers.h" namespace Shader::Backend::SPIRV { diff --git a/src/shader_recompiler/backend/spirv/emit_spirv_image_atomic.cpp b/src/shader_recompiler/backend/spirv/emit_spirv_image_atomic.cpp index d7f1a365a..a96190bc6 100644 --- a/src/shader_recompiler/backend/spirv/emit_spirv_image_atomic.cpp +++ b/src/shader_recompiler/backend/spirv/emit_spirv_image_atomic.cpp @@ -4,6 +4,7 @@ #include "shader_recompiler/backend/spirv/emit_spirv.h" #include "shader_recompiler/backend/spirv/emit_spirv_instructions.h" +#include "shader_recompiler/backend/spirv/spirv_emit_context.h" #include "shader_recompiler/frontend/ir/modifiers.h" namespace Shader::Backend::SPIRV { diff --git a/src/shader_recompiler/backend/spirv/emit_spirv_integer.cpp b/src/shader_recompiler/backend/spirv/emit_spirv_integer.cpp index 50277eec3..44521f539 100644 --- a/src/shader_recompiler/backend/spirv/emit_spirv_integer.cpp +++ b/src/shader_recompiler/backend/spirv/emit_spirv_integer.cpp @@ -4,6 +4,7 @@ #include "shader_recompiler/backend/spirv/emit_spirv.h" #include "shader_recompiler/backend/spirv/emit_spirv_instructions.h" +#include "shader_recompiler/backend/spirv/spirv_emit_context.h" namespace Shader::Backend::SPIRV { namespace { diff --git a/src/shader_recompiler/backend/spirv/emit_spirv_logical.cpp b/src/shader_recompiler/backend/spirv/emit_spirv_logical.cpp index b9a9500fc..47745f7ee 100644 --- a/src/shader_recompiler/backend/spirv/emit_spirv_logical.cpp +++ b/src/shader_recompiler/backend/spirv/emit_spirv_logical.cpp @@ -4,6 +4,7 @@ #include "shader_recompiler/backend/spirv/emit_spirv.h" #include "shader_recompiler/backend/spirv/emit_spirv_instructions.h" +#include "shader_recompiler/backend/spirv/spirv_emit_context.h" namespace Shader::Backend::SPIRV { diff --git a/src/shader_recompiler/backend/spirv/emit_spirv_memory.cpp b/src/shader_recompiler/backend/spirv/emit_spirv_memory.cpp index 679ee2684..175f4be19 100644 --- a/src/shader_recompiler/backend/spirv/emit_spirv_memory.cpp +++ b/src/shader_recompiler/backend/spirv/emit_spirv_memory.cpp @@ -6,6 +6,7 @@ #include "shader_recompiler/backend/spirv/emit_spirv.h" #include "shader_recompiler/backend/spirv/emit_spirv_instructions.h" +#include "shader_recompiler/backend/spirv/spirv_emit_context.h" namespace Shader::Backend::SPIRV { namespace { diff --git a/src/shader_recompiler/backend/spirv/emit_spirv_select.cpp b/src/shader_recompiler/backend/spirv/emit_spirv_select.cpp index c5b4f4720..48caf1ffc 100644 --- a/src/shader_recompiler/backend/spirv/emit_spirv_select.cpp +++ b/src/shader_recompiler/backend/spirv/emit_spirv_select.cpp @@ -4,6 +4,7 @@ #include "shader_recompiler/backend/spirv/emit_spirv.h" #include "shader_recompiler/backend/spirv/emit_spirv_instructions.h" +#include "shader_recompiler/backend/spirv/spirv_emit_context.h" namespace Shader::Backend::SPIRV { diff --git a/src/shader_recompiler/backend/spirv/emit_spirv_shared_memory.cpp b/src/shader_recompiler/backend/spirv/emit_spirv_shared_memory.cpp index 9a79fc7a2..330c9052c 100644 --- a/src/shader_recompiler/backend/spirv/emit_spirv_shared_memory.cpp +++ b/src/shader_recompiler/backend/spirv/emit_spirv_shared_memory.cpp @@ -4,6 +4,7 @@ #include "shader_recompiler/backend/spirv/emit_spirv.h" #include "shader_recompiler/backend/spirv/emit_spirv_instructions.h" +#include "shader_recompiler/backend/spirv/spirv_emit_context.h" namespace Shader::Backend::SPIRV { namespace { diff --git a/src/shader_recompiler/backend/spirv/emit_spirv_special.cpp b/src/shader_recompiler/backend/spirv/emit_spirv_special.cpp index 9e7eb3cb1..d96a17583 100644 --- a/src/shader_recompiler/backend/spirv/emit_spirv_special.cpp +++ b/src/shader_recompiler/backend/spirv/emit_spirv_special.cpp @@ -4,6 +4,7 @@ #include "shader_recompiler/backend/spirv/emit_spirv.h" #include "shader_recompiler/backend/spirv/emit_spirv_instructions.h" +#include "shader_recompiler/backend/spirv/spirv_emit_context.h" namespace Shader::Backend::SPIRV { namespace { diff --git a/src/shader_recompiler/backend/spirv/emit_spirv_undefined.cpp b/src/shader_recompiler/backend/spirv/emit_spirv_undefined.cpp index c9f469e90..b5766fc52 100644 --- a/src/shader_recompiler/backend/spirv/emit_spirv_undefined.cpp +++ b/src/shader_recompiler/backend/spirv/emit_spirv_undefined.cpp @@ -4,6 +4,7 @@ #include "shader_recompiler/backend/spirv/emit_spirv.h" #include "shader_recompiler/backend/spirv/emit_spirv_instructions.h" +#include "shader_recompiler/backend/spirv/spirv_emit_context.h" namespace Shader::Backend::SPIRV { diff --git a/src/shader_recompiler/backend/spirv/emit_spirv_warp.cpp b/src/shader_recompiler/backend/spirv/emit_spirv_warp.cpp index cef52c56e..7034228bf 100644 --- a/src/shader_recompiler/backend/spirv/emit_spirv_warp.cpp +++ b/src/shader_recompiler/backend/spirv/emit_spirv_warp.cpp @@ -4,6 +4,7 @@ #include "shader_recompiler/backend/spirv/emit_spirv.h" #include "shader_recompiler/backend/spirv/emit_spirv_instructions.h" +#include "shader_recompiler/backend/spirv/spirv_emit_context.h" namespace Shader::Backend::SPIRV { namespace { diff --git a/src/shader_recompiler/backend/spirv/emit_context.cpp b/src/shader_recompiler/backend/spirv/spirv_emit_context.cpp index 723455462..4b6f792bf 100644 --- a/src/shader_recompiler/backend/spirv/emit_context.cpp +++ b/src/shader_recompiler/backend/spirv/spirv_emit_context.cpp @@ -13,8 +13,8 @@ #include "common/common_types.h" #include "common/div_ceil.h" -#include "shader_recompiler/backend/spirv/emit_context.h" #include "shader_recompiler/backend/spirv/emit_spirv.h" +#include "shader_recompiler/backend/spirv/spirv_emit_context.h" namespace Shader::Backend::SPIRV { namespace { diff --git a/src/shader_recompiler/backend/spirv/emit_context.h b/src/shader_recompiler/backend/spirv/spirv_emit_context.h index 63f8185d9..63f8185d9 100644 --- a/src/shader_recompiler/backend/spirv/emit_context.h +++ b/src/shader_recompiler/backend/spirv/spirv_emit_context.h diff --git a/src/shader_recompiler/environment.h b/src/shader_recompiler/environment.h index 8369d0d84..b4df73e8a 100644 --- a/src/shader_recompiler/environment.h +++ b/src/shader_recompiler/environment.h @@ -1,3 +1,7 @@ +// Copyright 2021 yuzu Emulator Project +// Licensed under GPLv2 or any later version +// Refer to the license.txt file included. + #pragma once #include <array> diff --git a/src/video_core/CMakeLists.txt b/src/video_core/CMakeLists.txt index 91a30fef7..6a6325e38 100644 --- a/src/video_core/CMakeLists.txt +++ b/src/video_core/CMakeLists.txt @@ -3,6 +3,7 @@ add_subdirectory(host_shaders) if(LIBVA_FOUND) set_source_files_properties(command_classes/codecs/codec.cpp PROPERTIES COMPILE_DEFINITIONS LIBVA_FOUND=1) + list(APPEND FFmpeg_LIBRARIES ${LIBVA_LIBRARIES}) endif() add_library(video_core STATIC diff --git a/src/video_core/command_classes/codecs/codec.cpp b/src/video_core/command_classes/codecs/codec.cpp index 02d309170..2a532b883 100644 --- a/src/video_core/command_classes/codecs/codec.cpp +++ b/src/video_core/command_classes/codecs/codec.cpp @@ -17,12 +17,28 @@ extern "C" { #include <libavutil/opt.h> +#ifdef LIBVA_FOUND +// for querying VAAPI driver information +#include <libavutil/hwcontext_vaapi.h> +#endif } namespace Tegra { namespace { constexpr AVPixelFormat PREFERRED_GPU_FMT = AV_PIX_FMT_NV12; constexpr AVPixelFormat PREFERRED_CPU_FMT = AV_PIX_FMT_YUV420P; +constexpr std::array PREFERRED_GPU_DECODERS = { + AV_HWDEVICE_TYPE_CUDA, +#ifdef _WIN32 + AV_HWDEVICE_TYPE_D3D11VA, + AV_HWDEVICE_TYPE_DXVA2, +#elif defined(__linux__) + AV_HWDEVICE_TYPE_VAAPI, + AV_HWDEVICE_TYPE_VDPAU, +#endif + // last resort for Linux Flatpak (w/ NVIDIA) + AV_HWDEVICE_TYPE_VULKAN, +}; void AVPacketDeleter(AVPacket* ptr) { av_packet_free(&ptr); @@ -61,83 +77,50 @@ Codec::~Codec() { av_buffer_unref(&av_gpu_decoder); } -#ifdef LIBVA_FOUND -// List all the currently loaded Linux modules -static std::vector<std::string> ListLinuxKernelModules() { - using FILEPtr = std::unique_ptr<FILE, decltype(&std::fclose)>; - auto module_listing = FILEPtr{fopen("/proc/modules", "rt"), std::fclose}; - std::vector<std::string> modules{}; - if (!module_listing) { - LOG_WARNING(Service_NVDRV, "Could not open /proc/modules to collect available modules"); - return modules; - } - char* buffer = nullptr; - size_t buf_len = 0; - while (getline(&buffer, &buf_len, module_listing.get()) != -1) { - // format for the module listing file (sysfs) - // <name> <module_size> <depended_by_count> <depended_by_names> <status> <load_address> - auto line = std::string(buffer); - // we are only interested in module names - auto name_pos = line.find_first_of(" "); - if (name_pos == std::string::npos) { - continue; - } - modules.push_back(line.erase(name_pos)); - } - free(buffer); - return modules; +// List all the currently available hwcontext in ffmpeg +static std::vector<AVHWDeviceType> ListSupportedContexts() { + std::vector<AVHWDeviceType> contexts{}; + AVHWDeviceType current_device_type = AV_HWDEVICE_TYPE_NONE; + do { + current_device_type = av_hwdevice_iterate_types(current_device_type); + contexts.push_back(current_device_type); + } while (current_device_type != AV_HWDEVICE_TYPE_NONE); + return contexts; } -#endif bool Codec::CreateGpuAvDevice() { -#if defined(LIBVA_FOUND) - static constexpr std::array<const char*, 3> VAAPI_DRIVERS = { - "i915", - "iHD", - "amdgpu", - }; - AVDictionary* hwdevice_options = nullptr; - const auto loaded_modules = ListLinuxKernelModules(); - av_dict_set(&hwdevice_options, "connection_type", "drm", 0); - for (const auto& driver : VAAPI_DRIVERS) { - // first check if the target driver is loaded in the kernel - bool found = std::any_of(loaded_modules.begin(), loaded_modules.end(), - [&driver](const auto& module) { return module == driver; }); - if (!found) { - LOG_DEBUG(Service_NVDRV, "Kernel driver {} is not loaded, trying the next one", driver); + static constexpr auto HW_CONFIG_METHOD = AV_CODEC_HW_CONFIG_METHOD_HW_DEVICE_CTX; + static const auto supported_contexts = ListSupportedContexts(); + for (const auto& type : PREFERRED_GPU_DECODERS) { + if (std::none_of(supported_contexts.begin(), supported_contexts.end(), + [&type](const auto& context) { return context == type; })) { + LOG_DEBUG(Service_NVDRV, "{} explicitly unsupported", av_hwdevice_get_type_name(type)); continue; } - av_dict_set(&hwdevice_options, "kernel_driver", driver, 0); - const int hwdevice_error = av_hwdevice_ctx_create(&av_gpu_decoder, AV_HWDEVICE_TYPE_VAAPI, - nullptr, hwdevice_options, 0); - if (hwdevice_error >= 0) { - LOG_INFO(Service_NVDRV, "Using VA-API with {}", driver); - av_dict_free(&hwdevice_options); - av_codec_ctx->pix_fmt = AV_PIX_FMT_VAAPI; - return true; - } - LOG_DEBUG(Service_NVDRV, "VA-API av_hwdevice_ctx_create failed {}", hwdevice_error); - } - LOG_DEBUG(Service_NVDRV, "VA-API av_hwdevice_ctx_create failed for all drivers"); - av_dict_free(&hwdevice_options); -#endif - static constexpr auto HW_CONFIG_METHOD = AV_CODEC_HW_CONFIG_METHOD_HW_DEVICE_CTX; - static constexpr std::array GPU_DECODER_TYPES{ -#ifdef linux - AV_HWDEVICE_TYPE_VDPAU, -#endif - AV_HWDEVICE_TYPE_CUDA, -#ifdef _WIN32 - AV_HWDEVICE_TYPE_D3D11VA, -#endif - }; - for (const auto& type : GPU_DECODER_TYPES) { const int hwdevice_res = av_hwdevice_ctx_create(&av_gpu_decoder, type, nullptr, nullptr, 0); if (hwdevice_res < 0) { LOG_DEBUG(Service_NVDRV, "{} av_hwdevice_ctx_create failed {}", av_hwdevice_get_type_name(type), hwdevice_res); continue; } +#ifdef LIBVA_FOUND + if (type == AV_HWDEVICE_TYPE_VAAPI) { + // we need to determine if this is an impersonated VAAPI driver + AVHWDeviceContext* hwctx = + static_cast<AVHWDeviceContext*>(static_cast<void*>(av_gpu_decoder->data)); + AVVAAPIDeviceContext* vactx = static_cast<AVVAAPIDeviceContext*>(hwctx->hwctx); + const char* vendor_name = vaQueryVendorString(vactx->display); + if (strstr(vendor_name, "VDPAU backend")) { + // VDPAU impersonated VAAPI impl's are super buggy, we need to skip them + LOG_DEBUG(Service_NVDRV, "Skipping vdapu impersonated VAAPI driver"); + continue; + } else { + // according to some user testing, certain vaapi driver (Intel?) could be buggy + // so let's log the driver name which may help the developers/supporters + LOG_DEBUG(Service_NVDRV, "Using VAAPI driver: {}", vendor_name); + } + } +#endif for (int i = 0;; i++) { const AVCodecHWConfig* config = avcodec_get_hw_config(av_codec, i); if (!config) { diff --git a/src/video_core/gpu.cpp b/src/video_core/gpu.cpp index ab7c21a49..8788f5148 100644 --- a/src/video_core/gpu.cpp +++ b/src/video_core/gpu.cpp @@ -185,16 +185,6 @@ struct GPU::Impl { return *dma_pusher; } - /// Returns a reference to the GPU CDMA pusher. - [[nodiscard]] Tegra::CDmaPusher& CDmaPusher() { - return *cdma_pusher; - } - - /// Returns a const reference to the GPU CDMA pusher. - [[nodiscard]] const Tegra::CDmaPusher& CDmaPusher() const { - return *cdma_pusher; - } - /// Returns a reference to the underlying renderer. [[nodiscard]] VideoCore::RendererBase& Renderer() { return *renderer; @@ -338,25 +328,27 @@ struct GPU::Impl { } /// Push GPU command buffer entries to be processed - void PushCommandBuffer(Tegra::ChCommandHeaderList& entries) { + void PushCommandBuffer(u32 id, Tegra::ChCommandHeaderList& entries) { if (!use_nvdec) { return; } - if (!cdma_pusher) { - cdma_pusher = std::make_unique<Tegra::CDmaPusher>(gpu); + if (!cdma_pushers.contains(id)) { + cdma_pushers.insert_or_assign(id, std::make_unique<Tegra::CDmaPusher>(gpu)); } // SubmitCommandBuffer would make the nvdec operations async, this is not currently working // TODO(ameerj): RE proper async nvdec operation // gpu_thread.SubmitCommandBuffer(std::move(entries)); - - cdma_pusher->ProcessEntries(std::move(entries)); + cdma_pushers[id]->ProcessEntries(std::move(entries)); } /// Frees the CDMAPusher instance to free up resources - void ClearCdmaInstance() { - cdma_pusher.reset(); + void ClearCdmaInstance(u32 id) { + const auto iter = cdma_pushers.find(id); + if (iter != cdma_pushers.end()) { + cdma_pushers.erase(iter); + } } /// Swap buffers (render frame) @@ -659,7 +651,7 @@ struct GPU::Impl { Core::System& system; std::unique_ptr<Tegra::MemoryManager> memory_manager; std::unique_ptr<Tegra::DmaPusher> dma_pusher; - std::unique_ptr<Tegra::CDmaPusher> cdma_pusher; + std::map<u32, std::unique_ptr<Tegra::CDmaPusher>> cdma_pushers; std::unique_ptr<VideoCore::RendererBase> renderer; VideoCore::RasterizerInterface* rasterizer = nullptr; const bool use_nvdec; @@ -811,14 +803,6 @@ const Tegra::DmaPusher& GPU::DmaPusher() const { return impl->DmaPusher(); } -Tegra::CDmaPusher& GPU::CDmaPusher() { - return impl->CDmaPusher(); -} - -const Tegra::CDmaPusher& GPU::CDmaPusher() const { - return impl->CDmaPusher(); -} - VideoCore::RendererBase& GPU::Renderer() { return impl->Renderer(); } @@ -887,12 +871,12 @@ void GPU::PushGPUEntries(Tegra::CommandList&& entries) { impl->PushGPUEntries(std::move(entries)); } -void GPU::PushCommandBuffer(Tegra::ChCommandHeaderList& entries) { - impl->PushCommandBuffer(entries); +void GPU::PushCommandBuffer(u32 id, Tegra::ChCommandHeaderList& entries) { + impl->PushCommandBuffer(id, entries); } -void GPU::ClearCdmaInstance() { - impl->ClearCdmaInstance(); +void GPU::ClearCdmaInstance(u32 id) { + impl->ClearCdmaInstance(id); } void GPU::SwapBuffers(const Tegra::FramebufferConfig* framebuffer) { diff --git a/src/video_core/gpu.h b/src/video_core/gpu.h index c89a5d693..500411176 100644 --- a/src/video_core/gpu.h +++ b/src/video_core/gpu.h @@ -242,10 +242,10 @@ public: void PushGPUEntries(Tegra::CommandList&& entries); /// Push GPU command buffer entries to be processed - void PushCommandBuffer(Tegra::ChCommandHeaderList& entries); + void PushCommandBuffer(u32 id, Tegra::ChCommandHeaderList& entries); /// Frees the CDMAPusher instance to free up resources - void ClearCdmaInstance(); + void ClearCdmaInstance(u32 id); /// Swap buffers (render frame) void SwapBuffers(const Tegra::FramebufferConfig* framebuffer); diff --git a/src/video_core/renderer_opengl/gl_texture_cache.h b/src/video_core/renderer_opengl/gl_texture_cache.h index 37d5e6a6b..dbf1df79c 100644 --- a/src/video_core/renderer_opengl/gl_texture_cache.h +++ b/src/video_core/renderer_opengl/gl_texture_cache.h @@ -92,7 +92,7 @@ public: void ReinterpretImage(Image& dst, Image& src, std::span<const VideoCommon::ImageCopy> copies); - void ConvertImage(Framebuffer* dst, ImageView& dst_view, ImageView& src_view, bool rescaled) { + void ConvertImage(Framebuffer* dst, ImageView& dst_view, ImageView& src_view) { UNIMPLEMENTED(); } diff --git a/src/video_core/renderer_opengl/renderer_opengl.cpp b/src/video_core/renderer_opengl/renderer_opengl.cpp index 28daacd82..f81c1b233 100644 --- a/src/video_core/renderer_opengl/renderer_opengl.cpp +++ b/src/video_core/renderer_opengl/renderer_opengl.cpp @@ -437,39 +437,29 @@ void RendererOpenGL::DrawScreen(const Layout::FramebufferLayout& layout) { glBindTextureUnit(0, fxaa_texture.handle); } - - // Set projection matrix const std::array ortho_matrix = MakeOrthographicMatrix(static_cast<float>(layout.width), static_cast<float>(layout.height)); - GLuint fragment_handle; - const auto filter = Settings::values.scaling_filter.GetValue(); - switch (filter) { - case Settings::ScalingFilter::NearestNeighbor: - fragment_handle = present_bilinear_fragment.handle; - break; - case Settings::ScalingFilter::Bilinear: - fragment_handle = present_bilinear_fragment.handle; - break; - case Settings::ScalingFilter::Bicubic: - fragment_handle = present_bicubic_fragment.handle; - break; - case Settings::ScalingFilter::Gaussian: - fragment_handle = present_gaussian_fragment.handle; - break; - case Settings::ScalingFilter::ScaleForce: - fragment_handle = present_scaleforce_fragment.handle; - break; - case Settings::ScalingFilter::Fsr: - LOG_WARNING( - Render_OpenGL, - "FidelityFX FSR Super Sampling is not supported in OpenGL, changing to ScaleForce"); - fragment_handle = present_scaleforce_fragment.handle; - break; - default: - fragment_handle = present_bilinear_fragment.handle; - break; - } + const auto fragment_handle = [this]() { + switch (Settings::values.scaling_filter.GetValue()) { + case Settings::ScalingFilter::NearestNeighbor: + case Settings::ScalingFilter::Bilinear: + return present_bilinear_fragment.handle; + case Settings::ScalingFilter::Bicubic: + return present_bicubic_fragment.handle; + case Settings::ScalingFilter::Gaussian: + return present_gaussian_fragment.handle; + case Settings::ScalingFilter::ScaleForce: + return present_scaleforce_fragment.handle; + case Settings::ScalingFilter::Fsr: + LOG_WARNING( + Render_OpenGL, + "FidelityFX Super Resolution is not supported in OpenGL, changing to ScaleForce"); + return present_scaleforce_fragment.handle; + default: + return present_bilinear_fragment.handle; + } + }(); program_manager.BindPresentPrograms(present_vertex.handle, fragment_handle); glProgramUniformMatrix3x2fv(present_vertex.handle, ModelViewMatrixLocation, 1, GL_FALSE, ortho_matrix.data()); diff --git a/src/video_core/renderer_vulkan/blit_image.cpp b/src/video_core/renderer_vulkan/blit_image.cpp index 9a38b6b34..cd5995897 100644 --- a/src/video_core/renderer_vulkan/blit_image.cpp +++ b/src/video_core/renderer_vulkan/blit_image.cpp @@ -4,6 +4,7 @@ #include <algorithm> +#include "common/settings.h" #include "video_core/host_shaders/convert_abgr8_to_d24s8_frag_spv.h" #include "video_core/host_shaders/convert_d24s8_to_abgr8_frag_spv.h" #include "video_core/host_shaders/convert_depth_to_float_frag_spv.h" @@ -335,6 +336,17 @@ void BindBlitState(vk::CommandBuffer cmdbuf, VkPipelineLayout layout, const Regi cmdbuf.SetScissor(0, scissor); cmdbuf.PushConstants(layout, VK_SHADER_STAGE_VERTEX_BIT, push_constants); } + +VkExtent2D GetConversionExtent(const ImageView& src_image_view) { + const auto& resolution = Settings::values.resolution_info; + const bool is_rescaled = src_image_view.IsRescaled(); + u32 width = src_image_view.size.width; + u32 height = src_image_view.size.height; + return VkExtent2D{ + .width = is_rescaled ? resolution.ScaleUp(width) : width, + .height = is_rescaled ? resolution.ScaleUp(height) : height, + }; +} } // Anonymous namespace BlitImageHelper::BlitImageHelper(const Device& device_, VKScheduler& scheduler_, @@ -425,61 +437,52 @@ void BlitImageHelper::BlitDepthStencil(const Framebuffer* dst_framebuffer, } void BlitImageHelper::ConvertD32ToR32(const Framebuffer* dst_framebuffer, - const ImageView& src_image_view, u32 up_scale, - u32 down_shift) { + const ImageView& src_image_view) { ConvertDepthToColorPipeline(convert_d32_to_r32_pipeline, dst_framebuffer->RenderPass()); - Convert(*convert_d32_to_r32_pipeline, dst_framebuffer, src_image_view, up_scale, down_shift); + Convert(*convert_d32_to_r32_pipeline, dst_framebuffer, src_image_view); } void BlitImageHelper::ConvertR32ToD32(const Framebuffer* dst_framebuffer, - const ImageView& src_image_view, u32 up_scale, - u32 down_shift) { + const ImageView& src_image_view) { ConvertColorToDepthPipeline(convert_r32_to_d32_pipeline, dst_framebuffer->RenderPass()); - Convert(*convert_r32_to_d32_pipeline, dst_framebuffer, src_image_view, up_scale, down_shift); + Convert(*convert_r32_to_d32_pipeline, dst_framebuffer, src_image_view); } void BlitImageHelper::ConvertD16ToR16(const Framebuffer* dst_framebuffer, - const ImageView& src_image_view, u32 up_scale, - u32 down_shift) { + const ImageView& src_image_view) { ConvertDepthToColorPipeline(convert_d16_to_r16_pipeline, dst_framebuffer->RenderPass()); - Convert(*convert_d16_to_r16_pipeline, dst_framebuffer, src_image_view, up_scale, down_shift); + Convert(*convert_d16_to_r16_pipeline, dst_framebuffer, src_image_view); } void BlitImageHelper::ConvertR16ToD16(const Framebuffer* dst_framebuffer, - const ImageView& src_image_view, u32 up_scale, - u32 down_shift) { + const ImageView& src_image_view) { ConvertColorToDepthPipeline(convert_r16_to_d16_pipeline, dst_framebuffer->RenderPass()); - Convert(*convert_r16_to_d16_pipeline, dst_framebuffer, src_image_view, up_scale, down_shift); + Convert(*convert_r16_to_d16_pipeline, dst_framebuffer, src_image_view); } void BlitImageHelper::ConvertABGR8ToD24S8(const Framebuffer* dst_framebuffer, - ImageView& src_image_view, u32 up_scale, u32 down_shift) { + const ImageView& src_image_view) { ConvertPipelineDepthTargetEx(convert_abgr8_to_d24s8_pipeline, dst_framebuffer->RenderPass(), - convert_abgr8_to_d24s8_frag, true); - ConvertColor(*convert_abgr8_to_d24s8_pipeline, dst_framebuffer, src_image_view, up_scale, - down_shift); + convert_abgr8_to_d24s8_frag); + Convert(*convert_abgr8_to_d24s8_pipeline, dst_framebuffer, src_image_view); } void BlitImageHelper::ConvertD24S8ToABGR8(const Framebuffer* dst_framebuffer, - ImageView& src_image_view, u32 up_scale, u32 down_shift) { + ImageView& src_image_view) { ConvertPipelineColorTargetEx(convert_d24s8_to_abgr8_pipeline, dst_framebuffer->RenderPass(), - convert_d24s8_to_abgr8_frag, false); - ConvertDepthStencil(*convert_d24s8_to_abgr8_pipeline, dst_framebuffer, src_image_view, up_scale, - down_shift); + convert_d24s8_to_abgr8_frag); + ConvertDepthStencil(*convert_d24s8_to_abgr8_pipeline, dst_framebuffer, src_image_view); } void BlitImageHelper::Convert(VkPipeline pipeline, const Framebuffer* dst_framebuffer, - const ImageView& src_image_view, u32 up_scale, u32 down_shift) { + const ImageView& src_image_view) { const VkPipelineLayout layout = *one_texture_pipeline_layout; const VkImageView src_view = src_image_view.Handle(Shader::TextureType::Color2D); const VkSampler sampler = *nearest_sampler; - const VkExtent2D extent{ - .width = std::max((src_image_view.size.width * up_scale) >> down_shift, 1U), - .height = std::max((src_image_view.size.height * up_scale) >> down_shift, 1U), - }; + const VkExtent2D extent = GetConversionExtent(src_image_view); + scheduler.RequestRenderpass(dst_framebuffer); - scheduler.Record([pipeline, layout, sampler, src_view, extent, up_scale, down_shift, - this](vk::CommandBuffer cmdbuf) { + scheduler.Record([pipeline, layout, sampler, src_view, extent, this](vk::CommandBuffer cmdbuf) { const VkOffset2D offset{ .x = 0, .y = 0, @@ -563,18 +566,16 @@ void BlitImageHelper::ConvertColor(VkPipeline pipeline, const Framebuffer* dst_f } void BlitImageHelper::ConvertDepthStencil(VkPipeline pipeline, const Framebuffer* dst_framebuffer, - ImageView& src_image_view, u32 up_scale, u32 down_shift) { + ImageView& src_image_view) { const VkPipelineLayout layout = *two_textures_pipeline_layout; const VkImageView src_depth_view = src_image_view.DepthView(); const VkImageView src_stencil_view = src_image_view.StencilView(); const VkSampler sampler = *nearest_sampler; - const VkExtent2D extent{ - .width = std::max((src_image_view.size.width * up_scale) >> down_shift, 1U), - .height = std::max((src_image_view.size.height * up_scale) >> down_shift, 1U), - }; + const VkExtent2D extent = GetConversionExtent(src_image_view); + scheduler.RequestRenderpass(dst_framebuffer); - scheduler.Record([pipeline, layout, sampler, src_depth_view, src_stencil_view, extent, up_scale, - down_shift, this](vk::CommandBuffer cmdbuf) { + scheduler.Record([pipeline, layout, sampler, src_depth_view, src_stencil_view, extent, + this](vk::CommandBuffer cmdbuf) { const VkOffset2D offset{ .x = 0, .y = 0, @@ -695,11 +696,14 @@ VkPipeline BlitImageHelper::FindOrEmplaceDepthStencilPipeline(const BlitImagePip return *blit_depth_stencil_pipelines.back(); } -void BlitImageHelper::ConvertDepthToColorPipeline(vk::Pipeline& pipeline, VkRenderPass renderpass) { +void BlitImageHelper::ConvertPipeline(vk::Pipeline& pipeline, VkRenderPass renderpass, + bool is_target_depth) { if (pipeline) { return; } - const std::array stages = MakeStages(*full_screen_vert, *convert_depth_to_float_frag); + VkShaderModule frag_shader = + is_target_depth ? *convert_float_to_depth_frag : *convert_depth_to_float_frag; + const std::array stages = MakeStages(*full_screen_vert, frag_shader); pipeline = device.GetLogical().CreateGraphicsPipeline({ .sType = VK_STRUCTURE_TYPE_GRAPHICS_PIPELINE_CREATE_INFO, .pNext = nullptr, @@ -712,8 +716,9 @@ void BlitImageHelper::ConvertDepthToColorPipeline(vk::Pipeline& pipeline, VkRend .pViewportState = &PIPELINE_VIEWPORT_STATE_CREATE_INFO, .pRasterizationState = &PIPELINE_RASTERIZATION_STATE_CREATE_INFO, .pMultisampleState = &PIPELINE_MULTISAMPLE_STATE_CREATE_INFO, - .pDepthStencilState = nullptr, - .pColorBlendState = &PIPELINE_COLOR_BLEND_STATE_GENERIC_CREATE_INFO, + .pDepthStencilState = is_target_depth ? &PIPELINE_DEPTH_STENCIL_STATE_CREATE_INFO : nullptr, + .pColorBlendState = is_target_depth ? &PIPELINE_COLOR_BLEND_STATE_EMPTY_CREATE_INFO + : &PIPELINE_COLOR_BLEND_STATE_GENERIC_CREATE_INFO, .pDynamicState = &PIPELINE_DYNAMIC_STATE_CREATE_INFO, .layout = *one_texture_pipeline_layout, .renderPass = renderpass, @@ -723,37 +728,17 @@ void BlitImageHelper::ConvertDepthToColorPipeline(vk::Pipeline& pipeline, VkRend }); } +void BlitImageHelper::ConvertDepthToColorPipeline(vk::Pipeline& pipeline, VkRenderPass renderpass) { + ConvertPipeline(pipeline, renderpass, false); +} + void BlitImageHelper::ConvertColorToDepthPipeline(vk::Pipeline& pipeline, VkRenderPass renderpass) { - if (pipeline) { - return; - } - const std::array stages = MakeStages(*full_screen_vert, *convert_float_to_depth_frag); - pipeline = device.GetLogical().CreateGraphicsPipeline({ - .sType = VK_STRUCTURE_TYPE_GRAPHICS_PIPELINE_CREATE_INFO, - .pNext = nullptr, - .flags = 0, - .stageCount = static_cast<u32>(stages.size()), - .pStages = stages.data(), - .pVertexInputState = &PIPELINE_VERTEX_INPUT_STATE_CREATE_INFO, - .pInputAssemblyState = &PIPELINE_INPUT_ASSEMBLY_STATE_CREATE_INFO, - .pTessellationState = nullptr, - .pViewportState = &PIPELINE_VIEWPORT_STATE_CREATE_INFO, - .pRasterizationState = &PIPELINE_RASTERIZATION_STATE_CREATE_INFO, - .pMultisampleState = &PIPELINE_MULTISAMPLE_STATE_CREATE_INFO, - .pDepthStencilState = &PIPELINE_DEPTH_STENCIL_STATE_CREATE_INFO, - .pColorBlendState = &PIPELINE_COLOR_BLEND_STATE_EMPTY_CREATE_INFO, - .pDynamicState = &PIPELINE_DYNAMIC_STATE_CREATE_INFO, - .layout = *one_texture_pipeline_layout, - .renderPass = renderpass, - .subpass = 0, - .basePipelineHandle = VK_NULL_HANDLE, - .basePipelineIndex = 0, - }); + ConvertPipeline(pipeline, renderpass, true); } void BlitImageHelper::ConvertPipelineEx(vk::Pipeline& pipeline, VkRenderPass renderpass, - vk::ShaderModule& module, bool is_target_depth, - bool single_texture) { + vk::ShaderModule& module, bool single_texture, + bool is_target_depth) { if (pipeline) { return; } @@ -782,13 +767,13 @@ void BlitImageHelper::ConvertPipelineEx(vk::Pipeline& pipeline, VkRenderPass ren } void BlitImageHelper::ConvertPipelineColorTargetEx(vk::Pipeline& pipeline, VkRenderPass renderpass, - vk::ShaderModule& module, bool single_texture) { - ConvertPipelineEx(pipeline, renderpass, module, false, single_texture); + vk::ShaderModule& module) { + ConvertPipelineEx(pipeline, renderpass, module, false, false); } void BlitImageHelper::ConvertPipelineDepthTargetEx(vk::Pipeline& pipeline, VkRenderPass renderpass, - vk::ShaderModule& module, bool single_texture) { - ConvertPipelineEx(pipeline, renderpass, module, true, single_texture); + vk::ShaderModule& module) { + ConvertPipelineEx(pipeline, renderpass, module, true, true); } } // namespace Vulkan diff --git a/src/video_core/renderer_vulkan/blit_image.h b/src/video_core/renderer_vulkan/blit_image.h index b1a717090..1d9f61a52 100644 --- a/src/video_core/renderer_vulkan/blit_image.h +++ b/src/video_core/renderer_vulkan/blit_image.h @@ -44,50 +44,46 @@ public: const Region2D& src_region, Tegra::Engines::Fermi2D::Filter filter, Tegra::Engines::Fermi2D::Operation operation); - void ConvertD32ToR32(const Framebuffer* dst_framebuffer, const ImageView& src_image_view, - u32 up_scale, u32 down_shift); + void ConvertD32ToR32(const Framebuffer* dst_framebuffer, const ImageView& src_image_view); - void ConvertR32ToD32(const Framebuffer* dst_framebuffer, const ImageView& src_image_view, - u32 up_scale, u32 down_shift); + void ConvertR32ToD32(const Framebuffer* dst_framebuffer, const ImageView& src_image_view); - void ConvertD16ToR16(const Framebuffer* dst_framebuffer, const ImageView& src_image_view, - u32 up_scale, u32 down_shift); + void ConvertD16ToR16(const Framebuffer* dst_framebuffer, const ImageView& src_image_view); - void ConvertR16ToD16(const Framebuffer* dst_framebuffer, const ImageView& src_image_view, - u32 up_scale, u32 down_shift); + void ConvertR16ToD16(const Framebuffer* dst_framebuffer, const ImageView& src_image_view); - void ConvertABGR8ToD24S8(const Framebuffer* dst_framebuffer, ImageView& src_image_view, - u32 up_scale, u32 down_shift); + void ConvertABGR8ToD24S8(const Framebuffer* dst_framebuffer, const ImageView& src_image_view); - void ConvertD24S8ToABGR8(const Framebuffer* dst_framebuffer, ImageView& src_image_view, - u32 up_scale, u32 down_shift); + void ConvertD24S8ToABGR8(const Framebuffer* dst_framebuffer, ImageView& src_image_view); private: void Convert(VkPipeline pipeline, const Framebuffer* dst_framebuffer, - const ImageView& src_image_view, u32 up_scale, u32 down_shift); + const ImageView& src_image_view); void ConvertColor(VkPipeline pipeline, const Framebuffer* dst_framebuffer, ImageView& src_image_view, u32 up_scale, u32 down_shift); void ConvertDepthStencil(VkPipeline pipeline, const Framebuffer* dst_framebuffer, - ImageView& src_image_view, u32 up_scale, u32 down_shift); + ImageView& src_image_view); [[nodiscard]] VkPipeline FindOrEmplaceColorPipeline(const BlitImagePipelineKey& key); [[nodiscard]] VkPipeline FindOrEmplaceDepthStencilPipeline(const BlitImagePipelineKey& key); + void ConvertPipeline(vk::Pipeline& pipeline, VkRenderPass renderpass, bool is_target_depth); + void ConvertDepthToColorPipeline(vk::Pipeline& pipeline, VkRenderPass renderpass); void ConvertColorToDepthPipeline(vk::Pipeline& pipeline, VkRenderPass renderpass); void ConvertPipelineEx(vk::Pipeline& pipeline, VkRenderPass renderpass, - vk::ShaderModule& module, bool is_target_depth, bool single_texture); + vk::ShaderModule& module, bool single_texture, bool is_target_depth); void ConvertPipelineColorTargetEx(vk::Pipeline& pipeline, VkRenderPass renderpass, - vk::ShaderModule& module, bool single_texture); + vk::ShaderModule& module); void ConvertPipelineDepthTargetEx(vk::Pipeline& pipeline, VkRenderPass renderpass, - vk::ShaderModule& module, bool single_texture); + vk::ShaderModule& module); const Device& device; VKScheduler& scheduler; diff --git a/src/video_core/renderer_vulkan/maxwell_to_vk.cpp b/src/video_core/renderer_vulkan/maxwell_to_vk.cpp index 31adada56..751e4792b 100644 --- a/src/video_core/renderer_vulkan/maxwell_to_vk.cpp +++ b/src/video_core/renderer_vulkan/maxwell_to_vk.cpp @@ -162,7 +162,7 @@ struct FormatTuple { {VK_FORMAT_UNDEFINED}, // R16_SINT {VK_FORMAT_R16G16_UNORM, Attachable | Storage}, // R16G16_UNORM {VK_FORMAT_R16G16_SFLOAT, Attachable | Storage}, // R16G16_FLOAT - {VK_FORMAT_UNDEFINED}, // R16G16_UINT + {VK_FORMAT_R16G16_UINT, Attachable | Storage}, // R16G16_UINT {VK_FORMAT_R16G16_SINT, Attachable | Storage}, // R16G16_SINT {VK_FORMAT_R16G16_SNORM, Attachable | Storage}, // R16G16_SNORM {VK_FORMAT_UNDEFINED}, // R32G32B32_FLOAT @@ -176,8 +176,8 @@ struct FormatTuple { {VK_FORMAT_R32_UINT, Attachable | Storage}, // R32_UINT {VK_FORMAT_R32_SINT, Attachable | Storage}, // R32_SINT {VK_FORMAT_ASTC_8x8_UNORM_BLOCK}, // ASTC_2D_8X8_UNORM - {VK_FORMAT_UNDEFINED}, // ASTC_2D_8X5_UNORM - {VK_FORMAT_UNDEFINED}, // ASTC_2D_5X4_UNORM + {VK_FORMAT_ASTC_8x5_UNORM_BLOCK}, // ASTC_2D_8X5_UNORM + {VK_FORMAT_ASTC_5x4_UNORM_BLOCK}, // ASTC_2D_5X4_UNORM {VK_FORMAT_B8G8R8A8_SRGB, Attachable}, // B8G8R8A8_SRGB {VK_FORMAT_BC1_RGBA_SRGB_BLOCK}, // BC1_RGBA_SRGB {VK_FORMAT_BC2_SRGB_BLOCK}, // BC2_SRGB diff --git a/src/video_core/renderer_vulkan/vk_blit_screen.cpp b/src/video_core/renderer_vulkan/vk_blit_screen.cpp index 1e447e621..c71a1f44d 100644 --- a/src/video_core/renderer_vulkan/vk_blit_screen.cpp +++ b/src/video_core/renderer_vulkan/vk_blit_screen.cpp @@ -391,28 +391,23 @@ VkSemaphore VKBlitScreen::Draw(const Tegra::FramebufferConfig& framebuffer, .offset = {0, 0}, .extent = size, }; - const auto filter = Settings::values.scaling_filter.GetValue(); cmdbuf.BeginRenderPass(renderpass_bi, VK_SUBPASS_CONTENTS_INLINE); - switch (filter) { - case Settings::ScalingFilter::NearestNeighbor: - cmdbuf.BindPipeline(VK_PIPELINE_BIND_POINT_GRAPHICS, *bilinear_pipeline); - break; - case Settings::ScalingFilter::Bilinear: - cmdbuf.BindPipeline(VK_PIPELINE_BIND_POINT_GRAPHICS, *bilinear_pipeline); - break; - case Settings::ScalingFilter::Bicubic: - cmdbuf.BindPipeline(VK_PIPELINE_BIND_POINT_GRAPHICS, *bicubic_pipeline); - break; - case Settings::ScalingFilter::Gaussian: - cmdbuf.BindPipeline(VK_PIPELINE_BIND_POINT_GRAPHICS, *gaussian_pipeline); - break; - case Settings::ScalingFilter::ScaleForce: - cmdbuf.BindPipeline(VK_PIPELINE_BIND_POINT_GRAPHICS, *scaleforce_pipeline); - break; - default: - cmdbuf.BindPipeline(VK_PIPELINE_BIND_POINT_GRAPHICS, *bilinear_pipeline); - break; - } + auto graphics_pipeline = [this]() { + switch (Settings::values.scaling_filter.GetValue()) { + case Settings::ScalingFilter::NearestNeighbor: + case Settings::ScalingFilter::Bilinear: + return *bilinear_pipeline; + case Settings::ScalingFilter::Bicubic: + return *bicubic_pipeline; + case Settings::ScalingFilter::Gaussian: + return *gaussian_pipeline; + case Settings::ScalingFilter::ScaleForce: + return *scaleforce_pipeline; + default: + return *bilinear_pipeline; + } + }(); + cmdbuf.BindPipeline(VK_PIPELINE_BIND_POINT_GRAPHICS, graphics_pipeline); cmdbuf.SetViewport(0, viewport); cmdbuf.SetScissor(0, scissor); diff --git a/src/video_core/renderer_vulkan/vk_texture_cache.cpp b/src/video_core/renderer_vulkan/vk_texture_cache.cpp index 197cba8e3..1941170cb 100644 --- a/src/video_core/renderer_vulkan/vk_texture_cache.cpp +++ b/src/video_core/renderer_vulkan/vk_texture_cache.cpp @@ -1057,37 +1057,37 @@ void TextureCacheRuntime::BlitImage(Framebuffer* dst_framebuffer, ImageView& dst }); } -void TextureCacheRuntime::ConvertImage(Framebuffer* dst, ImageView& dst_view, ImageView& src_view, - bool rescaled) { - const u32 up_scale = rescaled ? resolution.up_scale : 1; - const u32 down_shift = rescaled ? resolution.down_shift : 0; +void TextureCacheRuntime::ConvertImage(Framebuffer* dst, ImageView& dst_view, ImageView& src_view) { switch (dst_view.format) { case PixelFormat::R16_UNORM: if (src_view.format == PixelFormat::D16_UNORM) { - return blit_image_helper.ConvertD16ToR16(dst, src_view, up_scale, down_shift); + return blit_image_helper.ConvertD16ToR16(dst, src_view); } break; case PixelFormat::A8B8G8R8_UNORM: if (src_view.format == PixelFormat::S8_UINT_D24_UNORM) { - return blit_image_helper.ConvertD24S8ToABGR8(dst, src_view, up_scale, down_shift); + return blit_image_helper.ConvertD24S8ToABGR8(dst, src_view); } break; case PixelFormat::R32_FLOAT: if (src_view.format == PixelFormat::D32_FLOAT) { - return blit_image_helper.ConvertD32ToR32(dst, src_view, up_scale, down_shift); + return blit_image_helper.ConvertD32ToR32(dst, src_view); } break; case PixelFormat::D16_UNORM: if (src_view.format == PixelFormat::R16_UNORM) { - return blit_image_helper.ConvertR16ToD16(dst, src_view, up_scale, down_shift); + return blit_image_helper.ConvertR16ToD16(dst, src_view); } break; case PixelFormat::S8_UINT_D24_UNORM: - return blit_image_helper.ConvertABGR8ToD24S8(dst, src_view, up_scale, down_shift); + if (src_view.format == PixelFormat::A8B8G8R8_UNORM || + src_view.format == PixelFormat::B8G8R8A8_UNORM) { + return blit_image_helper.ConvertABGR8ToD24S8(dst, src_view); + } break; case PixelFormat::D32_FLOAT: if (src_view.format == PixelFormat::R32_FLOAT) { - return blit_image_helper.ConvertR32ToD32(dst, src_view, up_scale, down_shift); + return blit_image_helper.ConvertR32ToD32(dst, src_view); } break; default: @@ -1329,6 +1329,10 @@ void Image::DownloadMemory(const StagingBufferRef& map, std::span<const BufferIm } } +bool Image::IsRescaled() const noexcept { + return True(flags & ImageFlagBits::Rescaled); +} + bool Image::ScaleUp(bool ignore) { if (True(flags & ImageFlagBits::Rescaled)) { return false; @@ -1469,7 +1473,8 @@ bool Image::BlitScaleHelper(bool scale_up) { ImageView::ImageView(TextureCacheRuntime& runtime, const VideoCommon::ImageViewInfo& info, ImageId image_id_, Image& image) : VideoCommon::ImageViewBase{info, image.info, image_id_}, device{&runtime.device}, - image_handle{image.Handle()}, samples{ConvertSampleCount(image.info.num_samples)} { + src_image{&image}, image_handle{image.Handle()}, + samples(ConvertSampleCount(image.info.num_samples)) { using Shader::TextureType; const VkImageAspectFlags aspect_mask = ImageViewAspectMask(info); @@ -1607,6 +1612,13 @@ VkImageView ImageView::StorageView(Shader::TextureType texture_type, return *view; } +bool ImageView::IsRescaled() const noexcept { + if (!src_image) { + return false; + } + return src_image->IsRescaled(); +} + vk::ImageView ImageView::MakeView(VkFormat vk_format, VkImageAspectFlags aspect_mask) { return device->GetLogical().CreateImageView({ .sType = VK_STRUCTURE_TYPE_IMAGE_VIEW_CREATE_INFO, diff --git a/src/video_core/renderer_vulkan/vk_texture_cache.h b/src/video_core/renderer_vulkan/vk_texture_cache.h index 753e3e8a1..c592f2666 100644 --- a/src/video_core/renderer_vulkan/vk_texture_cache.h +++ b/src/video_core/renderer_vulkan/vk_texture_cache.h @@ -65,7 +65,7 @@ public: void ReinterpretImage(Image& dst, Image& src, std::span<const VideoCommon::ImageCopy> copies); - void ConvertImage(Framebuffer* dst, ImageView& dst_view, ImageView& src_view, bool rescaled); + void ConvertImage(Framebuffer* dst, ImageView& dst_view, ImageView& src_view); bool CanAccelerateImageUpload(Image&) const noexcept { return false; @@ -139,6 +139,8 @@ public: return std::exchange(initialized, true); } + bool IsRescaled() const noexcept; + bool ScaleUp(bool ignore = false); bool ScaleDown(bool ignore = false); @@ -189,6 +191,8 @@ public: [[nodiscard]] VkImageView StorageView(Shader::TextureType texture_type, Shader::ImageFormat image_format); + [[nodiscard]] bool IsRescaled() const noexcept; + [[nodiscard]] VkImageView Handle(Shader::TextureType texture_type) const noexcept { return *image_views[static_cast<size_t>(texture_type)]; } @@ -222,6 +226,8 @@ private: [[nodiscard]] vk::ImageView MakeView(VkFormat vk_format, VkImageAspectFlags aspect_mask); const Device* device = nullptr; + const Image* src_image{}; + std::array<vk::ImageView, Shader::NUM_TEXTURE_TYPES> image_views; std::unique_ptr<StorageViews> storage_views; vk::ImageView depth_view; diff --git a/src/video_core/shader_notify.cpp b/src/video_core/shader_notify.cpp index dc6995b46..bcaf5f575 100644 --- a/src/video_core/shader_notify.cpp +++ b/src/video_core/shader_notify.cpp @@ -18,7 +18,7 @@ int ShaderNotify::ShadersBuilding() noexcept { const int now_complete = num_complete.load(std::memory_order::relaxed); const int now_building = num_building.load(std::memory_order::relaxed); if (now_complete == now_building) { - const auto now = std::chrono::high_resolution_clock::now(); + const auto now = std::chrono::steady_clock::now(); if (completed && num_complete == num_when_completed) { if (now - complete_time > TIME_TO_STOP_REPORTING) { report_base = now_complete; diff --git a/src/video_core/shader_notify.h b/src/video_core/shader_notify.h index ad363bfb5..4d8d52071 100644 --- a/src/video_core/shader_notify.h +++ b/src/video_core/shader_notify.h @@ -28,6 +28,6 @@ private: bool completed{}; int num_when_completed{}; - std::chrono::high_resolution_clock::time_point complete_time; + std::chrono::steady_clock::time_point complete_time; }; } // namespace VideoCore diff --git a/src/video_core/texture_cache/format_lookup_table.cpp b/src/video_core/texture_cache/format_lookup_table.cpp index ddfb726fe..afa807d5d 100644 --- a/src/video_core/texture_cache/format_lookup_table.cpp +++ b/src/video_core/texture_cache/format_lookup_table.cpp @@ -139,6 +139,8 @@ PixelFormat PixelFormatFromTextureInfo(TextureFormat format, ComponentType red, return PixelFormat::D16_UNORM; case Hash(TextureFormat::S8D24, UINT, UNORM, UNORM, UNORM, LINEAR): return PixelFormat::S8_UINT_D24_UNORM; + case Hash(TextureFormat::S8D24, UINT, UNORM, UINT, UINT, LINEAR): + return PixelFormat::S8_UINT_D24_UNORM; case Hash(TextureFormat::R8G24, UINT, UNORM, UNORM, UNORM, LINEAR): return PixelFormat::S8_UINT_D24_UNORM; case Hash(TextureFormat::D32S8, FLOAT, UINT, UNORM, UNORM, LINEAR): diff --git a/src/video_core/texture_cache/texture_cache.h b/src/video_core/texture_cache/texture_cache.h index 565b99254..2e19fced2 100644 --- a/src/video_core/texture_cache/texture_cache.h +++ b/src/video_core/texture_cache/texture_cache.h @@ -1122,7 +1122,7 @@ typename TextureCache<P>::BlitImages TextureCache<P>::GetBlitImages( break; } if (can_be_depth_blit) { - const ImageBase* const dst_image = src_id ? &slot_images[src_id] : nullptr; + const ImageBase* const dst_image = dst_id ? &slot_images[dst_id] : nullptr; DeduceBlitImages(dst_info, src_info, dst_image, src_image); if (GetFormatType(dst_info.format) != GetFormatType(src_info.format)) { continue; @@ -1135,8 +1135,16 @@ typename TextureCache<P>::BlitImages TextureCache<P>::GetBlitImages( dst_id = InsertImage(dst_info, dst_addr, RelaxedOptions{}); } } while (has_deleted_images); - if (GetFormatType(dst_info.format) != SurfaceType::ColorTexture) { - // Make sure the images are depth and/or stencil textures. + const ImageBase& src_image = slot_images[src_id]; + const ImageBase& dst_image = slot_images[dst_id]; + const bool native_bgr = runtime.HasNativeBgr(); + if (GetFormatType(dst_info.format) != GetFormatType(dst_image.info.format) || + GetFormatType(src_info.format) != GetFormatType(src_image.info.format) || + !VideoCore::Surface::IsViewCompatible(dst_info.format, dst_image.info.format, false, + native_bgr) || + !VideoCore::Surface::IsViewCompatible(src_info.format, src_image.info.format, false, + native_bgr)) { + // Make sure the images match the expected format. do { has_deleted_images = false; src_id = FindOrInsertImage(src_info, src_addr, RelaxedOptions{}); @@ -1847,9 +1855,20 @@ void TextureCache<P>::CopyImage(ImageId dst_id, ImageId src_id, std::vector<Imag .height = std::min(dst_view.size.height, src_view.size.height), .depth = std::min(dst_view.size.depth, src_view.size.depth), }; - UNIMPLEMENTED_IF(copy.extent != expected_size); + const Extent3D scaled_extent = [is_rescaled, expected_size]() { + if (!is_rescaled) { + return expected_size; + } + const auto& resolution = Settings::values.resolution_info; + return Extent3D{ + .width = resolution.ScaleUp(expected_size.width), + .height = resolution.ScaleUp(expected_size.height), + .depth = expected_size.depth, + }; + }(); + UNIMPLEMENTED_IF(copy.extent != scaled_extent); - runtime.ConvertImage(dst_framebuffer, dst_view, src_view, is_rescaled); + runtime.ConvertImage(dst_framebuffer, dst_view, src_view); } } diff --git a/src/video_core/vulkan_common/vulkan_device.cpp b/src/video_core/vulkan_common/vulkan_device.cpp index 70c52aaac..7bf5b6578 100644 --- a/src/video_core/vulkan_common/vulkan_device.cpp +++ b/src/video_core/vulkan_common/vulkan_device.cpp @@ -130,6 +130,7 @@ std::unordered_map<VkFormat, VkFormatProperties> GetFormatProperties(vk::Physica VK_FORMAT_R16G16_UNORM, VK_FORMAT_R16G16_SNORM, VK_FORMAT_R16G16_SFLOAT, + VK_FORMAT_R16G16_UINT, VK_FORMAT_R16G16_SINT, VK_FORMAT_R16_UNORM, VK_FORMAT_R16_SNORM, diff --git a/src/yuzu/CMakeLists.txt b/src/yuzu/CMakeLists.txt index a44815e71..732e8c276 100644 --- a/src/yuzu/CMakeLists.txt +++ b/src/yuzu/CMakeLists.txt @@ -152,6 +152,8 @@ add_executable(yuzu main.ui uisettings.cpp uisettings.h + util/controller_navigation.cpp + util/controller_navigation.h util/limitable_input_dialog.cpp util/limitable_input_dialog.h util/overlay_dialog.cpp diff --git a/src/yuzu/applets/qt_controller.cpp b/src/yuzu/applets/qt_controller.cpp index 589e0577a..c5685db2e 100644 --- a/src/yuzu/applets/qt_controller.cpp +++ b/src/yuzu/applets/qt_controller.cpp @@ -139,7 +139,6 @@ QtControllerSelectorDialog::QtControllerSelectorDialog( DisableUnsupportedPlayers(); for (std::size_t player_index = 0; player_index < NUM_PLAYERS; ++player_index) { - system.HIDCore().GetEmulatedControllerByIndex(player_index)->EnableConfiguration(); SetEmulatedControllers(player_index); } @@ -218,7 +217,9 @@ QtControllerSelectorDialog::QtControllerSelectorDialog( resize(0, 0); } -QtControllerSelectorDialog::~QtControllerSelectorDialog() = default; +QtControllerSelectorDialog::~QtControllerSelectorDialog() { + system.HIDCore().DisableAllControllerConfiguration(); +} int QtControllerSelectorDialog::exec() { if (parameters_met && parameters.enable_single_mode) { @@ -234,12 +235,11 @@ void QtControllerSelectorDialog::ApplyConfiguration() { Settings::values.vibration_enabled.SetValue(ui->vibrationGroup->isChecked()); Settings::values.motion_enabled.SetValue(ui->motionGroup->isChecked()); - for (std::size_t player_index = 0; player_index < NUM_PLAYERS; ++player_index) { - system.HIDCore().GetEmulatedControllerByIndex(player_index)->DisableConfiguration(); - } } void QtControllerSelectorDialog::LoadConfiguration() { + system.HIDCore().EnableAllControllerConfiguration(); + const auto* handheld = system.HIDCore().GetEmulatedController(Core::HID::NpadIdType::Handheld); for (std::size_t index = 0; index < NUM_PLAYERS; ++index) { const auto* controller = system.HIDCore().GetEmulatedControllerByIndex(index); diff --git a/src/yuzu/applets/qt_controller.h b/src/yuzu/applets/qt_controller.h index cc343e5ae..7ab9ced3d 100644 --- a/src/yuzu/applets/qt_controller.h +++ b/src/yuzu/applets/qt_controller.h @@ -7,7 +7,6 @@ #include <array> #include <memory> #include <QDialog> -#include "core/core.h" #include "core/frontend/applets/controller.h" class GMainWindow; @@ -32,8 +31,9 @@ class System; } namespace Core::HID { +class HIDCore; enum class NpadStyleIndex : u8; -} +} // namespace Core::HID class QtControllerSelectorDialog final : public QDialog { Q_OBJECT diff --git a/src/yuzu/applets/qt_profile_select.cpp b/src/yuzu/applets/qt_profile_select.cpp index a56638e21..7b19f1f8d 100644 --- a/src/yuzu/applets/qt_profile_select.cpp +++ b/src/yuzu/applets/qt_profile_select.cpp @@ -3,6 +3,7 @@ // Refer to the license.txt file included. #include <mutex> +#include <QApplication> #include <QDialogButtonBox> #include <QHeaderView> #include <QLabel> @@ -16,6 +17,7 @@ #include "core/hle/lock.h" #include "yuzu/applets/qt_profile_select.h" #include "yuzu/main.h" +#include "yuzu/util/controller_navigation.h" namespace { QString FormatUserEntryText(const QString& username, Common::UUID uuid) { @@ -45,7 +47,7 @@ QPixmap GetIcon(Common::UUID uuid) { } } // Anonymous namespace -QtProfileSelectionDialog::QtProfileSelectionDialog(QWidget* parent) +QtProfileSelectionDialog::QtProfileSelectionDialog(Core::HID::HIDCore& hid_core, QWidget* parent) : QDialog(parent), profile_manager(std::make_unique<Service::Account::ProfileManager>()) { outer_layout = new QVBoxLayout; @@ -65,6 +67,7 @@ QtProfileSelectionDialog::QtProfileSelectionDialog(QWidget* parent) tree_view = new QTreeView; item_model = new QStandardItemModel(tree_view); tree_view->setModel(item_model); + controller_navigation = new ControllerNavigation(hid_core, this); tree_view->setAlternatingRowColors(true); tree_view->setSelectionMode(QHeaderView::SingleSelection); @@ -91,6 +94,14 @@ QtProfileSelectionDialog::QtProfileSelectionDialog(QWidget* parent) scroll_area->setLayout(layout); connect(tree_view, &QTreeView::clicked, this, &QtProfileSelectionDialog::SelectUser); + connect(controller_navigation, &ControllerNavigation::TriggerKeyboardEvent, + [this](Qt::Key key) { + if (!this->isActiveWindow()) { + return; + } + QKeyEvent* event = new QKeyEvent(QEvent::KeyPress, key, Qt::NoModifier); + QCoreApplication::postEvent(tree_view, event); + }); const auto& profiles = profile_manager->GetAllUsers(); for (const auto& user : profiles) { @@ -113,7 +124,9 @@ QtProfileSelectionDialog::QtProfileSelectionDialog(QWidget* parent) resize(550, 400); } -QtProfileSelectionDialog::~QtProfileSelectionDialog() = default; +QtProfileSelectionDialog::~QtProfileSelectionDialog() { + controller_navigation->UnloadController(); +}; int QtProfileSelectionDialog::exec() { // Skip profile selection when there's only one. diff --git a/src/yuzu/applets/qt_profile_select.h b/src/yuzu/applets/qt_profile_select.h index 4e9037488..56496ed31 100644 --- a/src/yuzu/applets/qt_profile_select.h +++ b/src/yuzu/applets/qt_profile_select.h @@ -11,6 +11,7 @@ #include "core/frontend/applets/profile_select.h" #include "core/hle/service/acc/profile_manager.h" +class ControllerNavigation; class GMainWindow; class QDialogButtonBox; class QGraphicsScene; @@ -20,11 +21,15 @@ class QStandardItem; class QStandardItemModel; class QVBoxLayout; +namespace Core::HID { +class HIDCore; +} // namespace Core::HID + class QtProfileSelectionDialog final : public QDialog { Q_OBJECT public: - explicit QtProfileSelectionDialog(QWidget* parent); + explicit QtProfileSelectionDialog(Core::HID::HIDCore& hid_core, QWidget* parent); ~QtProfileSelectionDialog() override; int exec() override; @@ -51,6 +56,7 @@ private: QDialogButtonBox* buttons; std::unique_ptr<Service::Account::ProfileManager> profile_manager; + ControllerNavigation* controller_navigation = nullptr; }; class QtProfileSelector final : public QObject, public Core::Frontend::ProfileSelectApplet { diff --git a/src/yuzu/applets/qt_software_keyboard.cpp b/src/yuzu/applets/qt_software_keyboard.cpp index de7f98c4f..c3857fc98 100644 --- a/src/yuzu/applets/qt_software_keyboard.cpp +++ b/src/yuzu/applets/qt_software_keyboard.cpp @@ -475,11 +475,26 @@ void QtSoftwareKeyboardDialog::open() { row = 0; column = 0; - const auto* const curr_button = - keyboard_buttons[static_cast<int>(bottom_osk_index)][row][column]; + switch (bottom_osk_index) { + case BottomOSKIndex::LowerCase: + case BottomOSKIndex::UpperCase: { + const auto* const curr_button = + keyboard_buttons[static_cast<std::size_t>(bottom_osk_index)][row][column]; + + // This is a workaround for setFocus() randomly not showing focus in the UI + QCursor::setPos(curr_button->mapToGlobal(curr_button->rect().center())); + break; + } + case BottomOSKIndex::NumberPad: { + const auto* const curr_button = numberpad_buttons[row][column]; - // This is a workaround for setFocus() randomly not showing focus in the UI - QCursor::setPos(curr_button->mapToGlobal(curr_button->rect().center())); + // This is a workaround for setFocus() randomly not showing focus in the UI + QCursor::setPos(curr_button->mapToGlobal(curr_button->rect().center())); + break; + } + default: + break; + } StartInputThread(); } diff --git a/src/yuzu/configuration/config.cpp b/src/yuzu/configuration/config.cpp index 463d500c2..0f679c37e 100644 --- a/src/yuzu/configuration/config.cpp +++ b/src/yuzu/configuration/config.cpp @@ -776,6 +776,7 @@ void Config::ReadUIGamelistValues() { ReadBasicSetting(UISettings::values.row_1_text_id); ReadBasicSetting(UISettings::values.row_2_text_id); ReadBasicSetting(UISettings::values.cache_game_list); + ReadBasicSetting(UISettings::values.favorites_expanded); const int favorites_size = qt_config->beginReadArray(QStringLiteral("favorites")); for (int i = 0; i < favorites_size; i++) { qt_config->setArrayIndex(i); @@ -1300,6 +1301,7 @@ void Config::SaveUIGamelistValues() { WriteBasicSetting(UISettings::values.row_1_text_id); WriteBasicSetting(UISettings::values.row_2_text_id); WriteBasicSetting(UISettings::values.cache_game_list); + WriteBasicSetting(UISettings::values.favorites_expanded); qt_config->beginWriteArray(QStringLiteral("favorites")); for (int i = 0; i < UISettings::values.favorited_ids.size(); i++) { qt_config->setArrayIndex(i); diff --git a/src/yuzu/configuration/configure_input_player.cpp b/src/yuzu/configuration/configure_input_player.cpp index 16284d5a6..8a8be8e40 100644 --- a/src/yuzu/configuration/configure_input_player.cpp +++ b/src/yuzu/configuration/configure_input_player.cpp @@ -246,15 +246,15 @@ ConfigureInputPlayer::ConfigureInputPlayer(QWidget* parent, std::size_t player_i if (player_index == 0) { auto* emulated_controller_p1 = hid_core.GetEmulatedController(Core::HID::NpadIdType::Player1); - auto* emulated_controller_hanheld = + auto* emulated_controller_handheld = hid_core.GetEmulatedController(Core::HID::NpadIdType::Handheld); emulated_controller_p1->SaveCurrentConfig(); emulated_controller_p1->EnableConfiguration(); - emulated_controller_hanheld->SaveCurrentConfig(); - emulated_controller_hanheld->EnableConfiguration(); - if (emulated_controller_hanheld->IsConnected(true)) { + emulated_controller_handheld->SaveCurrentConfig(); + emulated_controller_handheld->EnableConfiguration(); + if (emulated_controller_handheld->IsConnected(true)) { emulated_controller_p1->Disconnect(); - emulated_controller = emulated_controller_hanheld; + emulated_controller = emulated_controller_handheld; } else { emulated_controller = emulated_controller_p1; } @@ -590,19 +590,19 @@ ConfigureInputPlayer::ConfigureInputPlayer(QWidget* parent, std::size_t player_i if (player_index == 0) { auto* emulated_controller_p1 = hid_core.GetEmulatedController(Core::HID::NpadIdType::Player1); - auto* emulated_controller_hanheld = + auto* emulated_controller_handheld = hid_core.GetEmulatedController(Core::HID::NpadIdType::Handheld); bool is_connected = emulated_controller->IsConnected(true); emulated_controller_p1->SetNpadStyleIndex(type); - emulated_controller_hanheld->SetNpadStyleIndex(type); + emulated_controller_handheld->SetNpadStyleIndex(type); if (is_connected) { if (type == Core::HID::NpadStyleIndex::Handheld) { emulated_controller_p1->Disconnect(); - emulated_controller_hanheld->Connect(); - emulated_controller = emulated_controller_hanheld; + emulated_controller_handheld->Connect(); + emulated_controller = emulated_controller_handheld; } else { - emulated_controller_hanheld->Disconnect(); + emulated_controller_handheld->Disconnect(); emulated_controller_p1->Connect(); emulated_controller = emulated_controller_p1; } @@ -650,10 +650,10 @@ ConfigureInputPlayer::~ConfigureInputPlayer() { if (player_index == 0) { auto* emulated_controller_p1 = hid_core.GetEmulatedController(Core::HID::NpadIdType::Player1); - auto* emulated_controller_hanheld = + auto* emulated_controller_handheld = hid_core.GetEmulatedController(Core::HID::NpadIdType::Handheld); emulated_controller_p1->DisableConfiguration(); - emulated_controller_hanheld->DisableConfiguration(); + emulated_controller_handheld->DisableConfiguration(); } else { emulated_controller->DisableConfiguration(); } @@ -663,14 +663,14 @@ void ConfigureInputPlayer::ApplyConfiguration() { if (player_index == 0) { auto* emulated_controller_p1 = hid_core.GetEmulatedController(Core::HID::NpadIdType::Player1); - auto* emulated_controller_hanheld = + auto* emulated_controller_handheld = hid_core.GetEmulatedController(Core::HID::NpadIdType::Handheld); emulated_controller_p1->DisableConfiguration(); emulated_controller_p1->SaveCurrentConfig(); emulated_controller_p1->EnableConfiguration(); - emulated_controller_hanheld->DisableConfiguration(); - emulated_controller_hanheld->SaveCurrentConfig(); - emulated_controller_hanheld->EnableConfiguration(); + emulated_controller_handheld->DisableConfiguration(); + emulated_controller_handheld->SaveCurrentConfig(); + emulated_controller_handheld->EnableConfiguration(); return; } emulated_controller->DisableConfiguration(); @@ -907,88 +907,79 @@ void ConfigureInputPlayer::UpdateUI() { } void ConfigureInputPlayer::SetConnectableControllers() { - const auto add_controllers = [this](bool enable_all, - Core::HID::NpadStyleTag npad_style_set = {}) { - index_controller_type_pairs.clear(); - ui->comboControllerType->clear(); - - if (enable_all || npad_style_set.fullkey == 1) { - index_controller_type_pairs.emplace_back(ui->comboControllerType->count(), - Core::HID::NpadStyleIndex::ProController); - ui->comboControllerType->addItem(tr("Pro Controller")); - } - - if (enable_all || npad_style_set.joycon_dual == 1) { - index_controller_type_pairs.emplace_back(ui->comboControllerType->count(), - Core::HID::NpadStyleIndex::JoyconDual); - ui->comboControllerType->addItem(tr("Dual Joycons")); - } + Core::HID::NpadStyleTag npad_style_set = hid_core.GetSupportedStyleTag(); + index_controller_type_pairs.clear(); + ui->comboControllerType->clear(); - if (enable_all || npad_style_set.joycon_left == 1) { - index_controller_type_pairs.emplace_back(ui->comboControllerType->count(), - Core::HID::NpadStyleIndex::JoyconLeft); - ui->comboControllerType->addItem(tr("Left Joycon")); - } + if (npad_style_set.fullkey == 1) { + index_controller_type_pairs.emplace_back(ui->comboControllerType->count(), + Core::HID::NpadStyleIndex::ProController); + ui->comboControllerType->addItem(tr("Pro Controller")); + } - if (enable_all || npad_style_set.joycon_right == 1) { - index_controller_type_pairs.emplace_back(ui->comboControllerType->count(), - Core::HID::NpadStyleIndex::JoyconRight); - ui->comboControllerType->addItem(tr("Right Joycon")); - } + if (npad_style_set.joycon_dual == 1) { + index_controller_type_pairs.emplace_back(ui->comboControllerType->count(), + Core::HID::NpadStyleIndex::JoyconDual); + ui->comboControllerType->addItem(tr("Dual Joycons")); + } - if (player_index == 0 && (enable_all || npad_style_set.handheld == 1)) { - index_controller_type_pairs.emplace_back(ui->comboControllerType->count(), - Core::HID::NpadStyleIndex::Handheld); - ui->comboControllerType->addItem(tr("Handheld")); - } + if (npad_style_set.joycon_left == 1) { + index_controller_type_pairs.emplace_back(ui->comboControllerType->count(), + Core::HID::NpadStyleIndex::JoyconLeft); + ui->comboControllerType->addItem(tr("Left Joycon")); + } - if (enable_all || npad_style_set.gamecube == 1) { - index_controller_type_pairs.emplace_back(ui->comboControllerType->count(), - Core::HID::NpadStyleIndex::GameCube); - ui->comboControllerType->addItem(tr("GameCube Controller")); - } + if (npad_style_set.joycon_right == 1) { + index_controller_type_pairs.emplace_back(ui->comboControllerType->count(), + Core::HID::NpadStyleIndex::JoyconRight); + ui->comboControllerType->addItem(tr("Right Joycon")); + } - // Disable all unsupported controllers - if (!Settings::values.enable_all_controllers) { - return; - } - if (enable_all || npad_style_set.palma == 1) { - index_controller_type_pairs.emplace_back(ui->comboControllerType->count(), - Core::HID::NpadStyleIndex::Pokeball); - ui->comboControllerType->addItem(tr("Poke Ball Plus")); - } + if (player_index == 0 && npad_style_set.handheld == 1) { + index_controller_type_pairs.emplace_back(ui->comboControllerType->count(), + Core::HID::NpadStyleIndex::Handheld); + ui->comboControllerType->addItem(tr("Handheld")); + } - if (enable_all || npad_style_set.lark == 1) { - index_controller_type_pairs.emplace_back(ui->comboControllerType->count(), - Core::HID::NpadStyleIndex::NES); - ui->comboControllerType->addItem(tr("NES Controller")); - } + if (npad_style_set.gamecube == 1) { + index_controller_type_pairs.emplace_back(ui->comboControllerType->count(), + Core::HID::NpadStyleIndex::GameCube); + ui->comboControllerType->addItem(tr("GameCube Controller")); + } - if (enable_all || npad_style_set.lucia == 1) { - index_controller_type_pairs.emplace_back(ui->comboControllerType->count(), - Core::HID::NpadStyleIndex::SNES); - ui->comboControllerType->addItem(tr("SNES Controller")); - } + // Disable all unsupported controllers + if (!Settings::values.enable_all_controllers) { + return; + } + if (npad_style_set.palma == 1) { + index_controller_type_pairs.emplace_back(ui->comboControllerType->count(), + Core::HID::NpadStyleIndex::Pokeball); + ui->comboControllerType->addItem(tr("Poke Ball Plus")); + } - if (enable_all || npad_style_set.lagoon == 1) { - index_controller_type_pairs.emplace_back(ui->comboControllerType->count(), - Core::HID::NpadStyleIndex::N64); - ui->comboControllerType->addItem(tr("N64 Controller")); - } + if (npad_style_set.lark == 1) { + index_controller_type_pairs.emplace_back(ui->comboControllerType->count(), + Core::HID::NpadStyleIndex::NES); + ui->comboControllerType->addItem(tr("NES Controller")); + } - if (enable_all || npad_style_set.lager == 1) { - index_controller_type_pairs.emplace_back(ui->comboControllerType->count(), - Core::HID::NpadStyleIndex::SegaGenesis); - ui->comboControllerType->addItem(tr("Sega Genesis")); - } - }; + if (npad_style_set.lucia == 1) { + index_controller_type_pairs.emplace_back(ui->comboControllerType->count(), + Core::HID::NpadStyleIndex::SNES); + ui->comboControllerType->addItem(tr("SNES Controller")); + } - if (!is_powered_on) { - add_controllers(true); - return; + if (npad_style_set.lagoon == 1) { + index_controller_type_pairs.emplace_back(ui->comboControllerType->count(), + Core::HID::NpadStyleIndex::N64); + ui->comboControllerType->addItem(tr("N64 Controller")); } - add_controllers(false, hid_core.GetSupportedStyleTag()); + if (npad_style_set.lager == 1) { + index_controller_type_pairs.emplace_back(ui->comboControllerType->count(), + Core::HID::NpadStyleIndex::SegaGenesis); + ui->comboControllerType->addItem(tr("Sega Genesis")); + } } Core::HID::NpadStyleIndex ConfigureInputPlayer::GetControllerTypeFromIndex(int index) const { diff --git a/src/yuzu/debugger/profiler.cpp b/src/yuzu/debugger/profiler.cpp index a8b254199..33110685a 100644 --- a/src/yuzu/debugger/profiler.cpp +++ b/src/yuzu/debugger/profiler.cpp @@ -163,7 +163,7 @@ void MicroProfileWidget::mouseReleaseEvent(QMouseEvent* ev) { } void MicroProfileWidget::wheelEvent(QWheelEvent* ev) { - const auto wheel_position = ev->pos(); + const auto wheel_position = ev->position().toPoint(); MicroProfileMousePosition(wheel_position.x() / x_scale, wheel_position.y() / y_scale, ev->angleDelta().y() / 120); ev->accept(); diff --git a/src/yuzu/game_list.cpp b/src/yuzu/game_list.cpp index 2af95dbe5..8b5c4a10a 100644 --- a/src/yuzu/game_list.cpp +++ b/src/yuzu/game_list.cpp @@ -17,6 +17,7 @@ #include <fmt/format.h> #include "common/common_types.h" #include "common/logging/log.h" +#include "core/core.h" #include "core/file_sys/patch_manager.h" #include "core/file_sys/registered_cache.h" #include "yuzu/compatibility_list.h" @@ -25,6 +26,7 @@ #include "yuzu/game_list_worker.h" #include "yuzu/main.h" #include "yuzu/uisettings.h" +#include "yuzu/util/controller_navigation.h" GameListSearchField::KeyReleaseEater::KeyReleaseEater(GameList* gamelist, QObject* parent) : QObject(parent), gamelist{gamelist} {} @@ -171,13 +173,17 @@ void GameList::OnItemExpanded(const QModelIndex& item) { const bool is_dir = type == GameListItemType::CustomDir || type == GameListItemType::SdmcDir || type == GameListItemType::UserNandDir || type == GameListItemType::SysNandDir; - - if (!is_dir) { + const bool is_fave = type == GameListItemType::Favorites; + if (!is_dir && !is_fave) { return; } - - UISettings::values.game_dirs[item.data(GameListDir::GameDirRole).toInt()].expanded = - tree_view->isExpanded(item); + const bool is_expanded = tree_view->isExpanded(item); + if (is_fave) { + UISettings::values.favorites_expanded = is_expanded; + return; + } + const int item_dir_index = item.data(GameListDir::GameDirRole).toInt(); + UISettings::values.game_dirs[item_dir_index].expanded = is_expanded; } // Event in order to filter the gamelist after editing the searchfield @@ -312,6 +318,7 @@ GameList::GameList(FileSys::VirtualFilesystem vfs, FileSys::ManualContentProvide this->main_window = parent; layout = new QVBoxLayout; tree_view = new QTreeView; + controller_navigation = new ControllerNavigation(system.HIDCore(), this); search_field = new GameListSearchField(this); item_model = new QStandardItemModel(tree_view); tree_view->setModel(item_model); @@ -341,6 +348,18 @@ GameList::GameList(FileSys::VirtualFilesystem vfs, FileSys::ManualContentProvide connect(tree_view, &QTreeView::customContextMenuRequested, this, &GameList::PopupContextMenu); connect(tree_view, &QTreeView::expanded, this, &GameList::OnItemExpanded); connect(tree_view, &QTreeView::collapsed, this, &GameList::OnItemExpanded); + connect(controller_navigation, &ControllerNavigation::TriggerKeyboardEvent, + [this](Qt::Key key) { + // Avoid pressing buttons while playing + if (system.IsPoweredOn()) { + return; + } + if (!this->isActiveWindow()) { + return; + } + QKeyEvent* event = new QKeyEvent(QEvent::KeyPress, key, Qt::NoModifier); + QCoreApplication::postEvent(tree_view, event); + }); // We must register all custom types with the Qt Automoc system so that we are able to use // it with signals/slots. In this case, QList falls under the umbrells of custom types. @@ -353,7 +372,12 @@ GameList::GameList(FileSys::VirtualFilesystem vfs, FileSys::ManualContentProvide setLayout(layout); } +void GameList::UnloadController() { + controller_navigation->UnloadController(); +} + GameList::~GameList() { + UnloadController(); emit ShouldCancelWorker(); } @@ -438,10 +462,13 @@ void GameList::DonePopulating(const QStringList& watch_list) { emit ShowList(!IsEmpty()); item_model->invisibleRootItem()->appendRow(new GameListAddDir()); + + // Add favorites row item_model->invisibleRootItem()->insertRow(0, new GameListFavorites()); tree_view->setRowHidden(0, item_model->invisibleRootItem()->index(), UISettings::values.favorited_ids.size() == 0); - tree_view->expand(item_model->invisibleRootItem()->child(0)->index()); + tree_view->setExpanded(item_model->invisibleRootItem()->child(0)->index(), + UISettings::values.favorites_expanded.GetValue()); for (const auto id : UISettings::values.favorited_ids) { AddFavorite(id); } diff --git a/src/yuzu/game_list.h b/src/yuzu/game_list.h index 675469e66..a94ea1477 100644 --- a/src/yuzu/game_list.h +++ b/src/yuzu/game_list.h @@ -24,6 +24,7 @@ #include "uisettings.h" #include "yuzu/compatibility_list.h" +class ControllerNavigation; class GameListWorker; class GameListSearchField; class GameListDir; @@ -88,6 +89,9 @@ public: void SaveInterfaceLayout(); void LoadInterfaceLayout(); + /// Disables events from the emulated controller + void UnloadController(); + static const QStringList supported_file_extensions; signals: @@ -143,6 +147,7 @@ private: QStandardItemModel* item_model = nullptr; GameListWorker* current_worker = nullptr; QFileSystemWatcher* watcher = nullptr; + ControllerNavigation* controller_navigation = nullptr; CompatibilityList compatibility_list; friend class GameListSearchField; diff --git a/src/yuzu/loading_screen.cpp b/src/yuzu/loading_screen.cpp index ae842306c..b001b8c23 100644 --- a/src/yuzu/loading_screen.cpp +++ b/src/yuzu/loading_screen.cpp @@ -136,7 +136,7 @@ void LoadingScreen::OnLoadComplete() { void LoadingScreen::OnLoadProgress(VideoCore::LoadCallbackStage stage, std::size_t value, std::size_t total) { using namespace std::chrono; - const auto now = high_resolution_clock::now(); + const auto now = steady_clock::now(); // reset the timer if the stage changes if (stage != previous_stage) { ui->progress_bar->setStyleSheet(QString::fromUtf8(progressbar_style[stage])); @@ -160,7 +160,7 @@ void LoadingScreen::OnLoadProgress(VideoCore::LoadCallbackStage stage, std::size // If theres a drastic slowdown in the rate, then display an estimate if (now - previous_time > milliseconds{50} || slow_shader_compile_start) { if (!slow_shader_compile_start) { - slow_shader_start = high_resolution_clock::now(); + slow_shader_start = steady_clock::now(); slow_shader_compile_start = true; slow_shader_first_value = value; } diff --git a/src/yuzu/loading_screen.h b/src/yuzu/loading_screen.h index 801d08e1a..29155a77c 100644 --- a/src/yuzu/loading_screen.h +++ b/src/yuzu/loading_screen.h @@ -84,8 +84,8 @@ private: // shaders, it will start quickly but end slow if new shaders were added since previous launch. // These variables are used to detect the change in speed so we can generate an ETA bool slow_shader_compile_start = false; - std::chrono::high_resolution_clock::time_point slow_shader_start; - std::chrono::high_resolution_clock::time_point previous_time; + std::chrono::steady_clock::time_point slow_shader_start; + std::chrono::steady_clock::time_point previous_time; std::size_t slow_shader_first_value = 0; }; diff --git a/src/yuzu/main.cpp b/src/yuzu/main.cpp index 9bd0db10a..b7bb43348 100644 --- a/src/yuzu/main.cpp +++ b/src/yuzu/main.cpp @@ -77,6 +77,7 @@ static FileSys::VirtualFile VfsDirectoryCreateFileWrapper(const FileSys::Virtual #include "common/fs/fs.h" #include "common/fs/fs_paths.h" #include "common/fs/path_util.h" +#include "common/literals.h" #include "common/logging/backend.h" #include "common/logging/filter.h" #include "common/logging/log.h" @@ -134,6 +135,8 @@ static FileSys::VirtualFile VfsDirectoryCreateFileWrapper(const FileSys::Virtual #include "yuzu/main.h" #include "yuzu/uisettings.h" +using namespace Common::Literals; + #ifdef USE_DISCORD_PRESENCE #include "yuzu/discord_impl.h" #endif @@ -259,10 +262,9 @@ GMainWindow::GMainWindow() LOG_INFO(Frontend, "Host CPU: {}", cpu_string); #endif LOG_INFO(Frontend, "Host OS: {}", QSysInfo::prettyProductName().toStdString()); - LOG_INFO(Frontend, "Host RAM: {:.2f} GB", - Common::GetMemInfo().TotalPhysicalMemory / 1024.0f / 1024 / 1024); - LOG_INFO(Frontend, "Host Swap: {:.2f} GB", - Common::GetMemInfo().TotalSwapMemory / 1024.0f / 1024 / 1024); + LOG_INFO(Frontend, "Host RAM: {:.2f} GiB", + Common::GetMemInfo().TotalPhysicalMemory / f64{1_GiB}); + LOG_INFO(Frontend, "Host Swap: {:.2f} GiB", Common::GetMemInfo().TotalSwapMemory / f64{1_GiB}); UpdateWindowTitle(); show(); @@ -449,7 +451,7 @@ void GMainWindow::ControllerSelectorReconfigureControllers( } void GMainWindow::ProfileSelectorSelectProfile() { - QtProfileSelectionDialog dialog(this); + QtProfileSelectionDialog dialog(system->HIDCore(), this); dialog.setWindowFlags(Qt::Dialog | Qt::CustomizeWindowHint | Qt::WindowStaysOnTopHint | Qt::WindowTitleHint | Qt::WindowSystemMenuHint | Qt::WindowCloseButtonHint); @@ -1082,14 +1084,15 @@ void GMainWindow::OnAppFocusStateChanged(Qt::ApplicationState state) { state != Qt::ApplicationActive) { LOG_DEBUG(Frontend, "ApplicationState unusual flag: {} ", state); } - if (ui->action_Pause->isEnabled() && - (state & (Qt::ApplicationHidden | Qt::ApplicationInactive))) { - auto_paused = true; - OnPauseGame(); - } else if (emulation_running && !emu_thread->IsRunning() && auto_paused && - state == Qt::ApplicationActive) { - auto_paused = false; - OnStartGame(); + if (emulation_running) { + if (emu_thread->IsRunning() && + (state & (Qt::ApplicationHidden | Qt::ApplicationInactive))) { + auto_paused = true; + OnPauseGame(); + } else if (!emu_thread->IsRunning() && auto_paused && state == Qt::ApplicationActive) { + auto_paused = false; + OnStartGame(); + } } } @@ -1301,16 +1304,13 @@ bool GMainWindow::LoadROM(const QString& filename, u64 program_id, std::size_t p case Core::SystemResultStatus::ErrorVideoCore: QMessageBox::critical( this, tr("An error occurred initializing the video core."), - tr("yuzu has encountered an error while running the video core, please see the " - "log for more details." + tr("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://community.citra-emu.org/t/how-to-upload-the-log-file/296'>How " - "to " - "Upload the Log File</a>." - "Ensure that you have the latest graphics drivers for your GPU.")); - + "<a href='https://yuzu-emu.org/help/reference/log-files/'>" + "How to Upload the Log File</a>. ")); break; - default: if (result > Core::SystemResultStatus::ErrorLoader) { const u16 loader_id = static_cast<u16>(Core::SystemResultStatus::ErrorLoader); @@ -1346,7 +1346,7 @@ bool GMainWindow::LoadROM(const QString& filename, u64 program_id, std::size_t p } void GMainWindow::SelectAndSetCurrentUser() { - QtProfileSelectionDialog dialog(this); + QtProfileSelectionDialog dialog(system->HIDCore(), this); dialog.setWindowFlags(Qt::Dialog | Qt::CustomizeWindowHint | Qt::WindowTitleHint | Qt::WindowSystemMenuHint | Qt::WindowCloseButtonHint); dialog.setWindowModality(Qt::WindowModal); @@ -1516,6 +1516,9 @@ void GMainWindow::ShutdownGame() { input_subsystem->GetTas()->Stop(); OnTasStateChanged(); + // Enable all controllers + system->HIDCore().SetSupportedStyleTag({Core::HID::NpadStyleSet::All}); + render_window->removeEventFilter(render_window); render_window->setAttribute(Qt::WA_Hover, false); @@ -1608,7 +1611,7 @@ void GMainWindow::OnGameListOpenFolder(u64 program_id, GameListOpenTarget target if (has_user_save) { // User save data const auto select_profile = [this] { - QtProfileSelectionDialog dialog(this); + QtProfileSelectionDialog dialog(system->HIDCore(), this); dialog.setWindowFlags(Qt::Dialog | Qt::CustomizeWindowHint | Qt::WindowTitleHint | Qt::WindowSystemMenuHint | Qt::WindowCloseButtonHint); dialog.setWindowModality(Qt::WindowModal); @@ -3376,7 +3379,10 @@ void GMainWindow::closeEvent(QCloseEvent* event) { UpdateUISettings(); game_list->SaveInterfaceLayout(); hotkey_registry.SaveHotkeys(); + + // Unload controllers early controller_dialog->UnloadController(); + game_list->UnloadController(); system->HIDCore().UnloadInputDevices(); // Shutdown session if the emu thread is active... diff --git a/src/yuzu/uisettings.h b/src/yuzu/uisettings.h index 936914ef3..a610e7e25 100644 --- a/src/yuzu/uisettings.h +++ b/src/yuzu/uisettings.h @@ -74,7 +74,6 @@ struct Values { QString game_dir_deprecated; bool game_dir_deprecated_deepscan; QVector<UISettings::GameDir> game_dirs; - QVector<u64> favorited_ids; QStringList recent_files; QString language; @@ -96,6 +95,8 @@ struct Values { Settings::BasicSetting<uint8_t> row_2_text_id{2, "row_2_text_id"}; std::atomic_bool is_game_list_reload_pending{false}; Settings::BasicSetting<bool> cache_game_list{true, "cache_game_list"}; + Settings::BasicSetting<bool> favorites_expanded{true, "favorites_expanded"}; + QVector<u64> favorited_ids; bool configuration_applied; bool reset_to_defaults; diff --git a/src/yuzu/util/controller_navigation.cpp b/src/yuzu/util/controller_navigation.cpp new file mode 100644 index 000000000..86fb28b9f --- /dev/null +++ b/src/yuzu/util/controller_navigation.cpp @@ -0,0 +1,177 @@ +// Copyright 2021 yuzu Emulator Project +// Licensed under GPLv2 or any later version +// Refer to the license.txt file included + +#include "common/settings_input.h" +#include "core/hid/emulated_controller.h" +#include "core/hid/hid_core.h" +#include "yuzu/util/controller_navigation.h" + +ControllerNavigation::ControllerNavigation(Core::HID::HIDCore& hid_core, QWidget* parent) { + player1_controller = hid_core.GetEmulatedController(Core::HID::NpadIdType::Player1); + handheld_controller = hid_core.GetEmulatedController(Core::HID::NpadIdType::Handheld); + Core::HID::ControllerUpdateCallback engine_callback{ + .on_change = [this](Core::HID::ControllerTriggerType type) { ControllerUpdateEvent(type); }, + .is_npad_service = false, + }; + player1_callback_key = player1_controller->SetCallback(engine_callback); + handheld_callback_key = handheld_controller->SetCallback(engine_callback); + is_controller_set = true; +} + +ControllerNavigation::~ControllerNavigation() { + UnloadController(); +} + +void ControllerNavigation::UnloadController() { + if (is_controller_set) { + player1_controller->DeleteCallback(player1_callback_key); + handheld_controller->DeleteCallback(handheld_callback_key); + is_controller_set = false; + } +} + +void ControllerNavigation::TriggerButton(Settings::NativeButton::Values native_button, + Qt::Key key) { + if (button_values[native_button].value && !button_values[native_button].locked) { + emit TriggerKeyboardEvent(key); + } +} + +void ControllerNavigation::ControllerUpdateEvent(Core::HID::ControllerTriggerType type) { + std::lock_guard lock{mutex}; + if (type == Core::HID::ControllerTriggerType::Button) { + ControllerUpdateButton(); + return; + } + + if (type == Core::HID::ControllerTriggerType::Stick) { + ControllerUpdateStick(); + return; + } +} + +void ControllerNavigation::ControllerUpdateButton() { + const auto controller_type = player1_controller->GetNpadStyleIndex(); + const auto& player1_buttons = player1_controller->GetButtonsValues(); + const auto& handheld_buttons = handheld_controller->GetButtonsValues(); + + for (std::size_t i = 0; i < player1_buttons.size(); ++i) { + const bool button = player1_buttons[i].value || handheld_buttons[i].value; + // Trigger only once + button_values[i].locked = button == button_values[i].value; + button_values[i].value = button; + } + + switch (controller_type) { + case Core::HID::NpadStyleIndex::ProController: + case Core::HID::NpadStyleIndex::JoyconDual: + case Core::HID::NpadStyleIndex::Handheld: + case Core::HID::NpadStyleIndex::GameCube: + TriggerButton(Settings::NativeButton::A, Qt::Key_Enter); + TriggerButton(Settings::NativeButton::B, Qt::Key_Escape); + TriggerButton(Settings::NativeButton::DDown, Qt::Key_Down); + TriggerButton(Settings::NativeButton::DLeft, Qt::Key_Left); + TriggerButton(Settings::NativeButton::DRight, Qt::Key_Right); + TriggerButton(Settings::NativeButton::DUp, Qt::Key_Up); + break; + case Core::HID::NpadStyleIndex::JoyconLeft: + TriggerButton(Settings::NativeButton::DDown, Qt::Key_Enter); + TriggerButton(Settings::NativeButton::DLeft, Qt::Key_Escape); + break; + case Core::HID::NpadStyleIndex::JoyconRight: + TriggerButton(Settings::NativeButton::X, Qt::Key_Enter); + TriggerButton(Settings::NativeButton::A, Qt::Key_Escape); + break; + default: + break; + } +} + +void ControllerNavigation::ControllerUpdateStick() { + const auto controller_type = player1_controller->GetNpadStyleIndex(); + const auto& player1_sticks = player1_controller->GetSticksValues(); + const auto& handheld_sticks = player1_controller->GetSticksValues(); + bool update = false; + + for (std::size_t i = 0; i < player1_sticks.size(); ++i) { + const Common::Input::StickStatus stick{ + .left = player1_sticks[i].left || handheld_sticks[i].left, + .right = player1_sticks[i].right || handheld_sticks[i].right, + .up = player1_sticks[i].up || handheld_sticks[i].up, + .down = player1_sticks[i].down || handheld_sticks[i].down, + }; + // Trigger only once + if (stick.down != stick_values[i].down || stick.left != stick_values[i].left || + stick.right != stick_values[i].right || stick.up != stick_values[i].up) { + update = true; + } + stick_values[i] = stick; + } + + if (!update) { + return; + } + + switch (controller_type) { + case Core::HID::NpadStyleIndex::ProController: + case Core::HID::NpadStyleIndex::JoyconDual: + case Core::HID::NpadStyleIndex::Handheld: + case Core::HID::NpadStyleIndex::GameCube: + if (stick_values[Settings::NativeAnalog::LStick].down) { + emit TriggerKeyboardEvent(Qt::Key_Down); + return; + } + if (stick_values[Settings::NativeAnalog::LStick].left) { + emit TriggerKeyboardEvent(Qt::Key_Left); + return; + } + if (stick_values[Settings::NativeAnalog::LStick].right) { + emit TriggerKeyboardEvent(Qt::Key_Right); + return; + } + if (stick_values[Settings::NativeAnalog::LStick].up) { + emit TriggerKeyboardEvent(Qt::Key_Up); + return; + } + break; + case Core::HID::NpadStyleIndex::JoyconLeft: + if (stick_values[Settings::NativeAnalog::LStick].left) { + emit TriggerKeyboardEvent(Qt::Key_Down); + return; + } + if (stick_values[Settings::NativeAnalog::LStick].up) { + emit TriggerKeyboardEvent(Qt::Key_Left); + return; + } + if (stick_values[Settings::NativeAnalog::LStick].down) { + emit TriggerKeyboardEvent(Qt::Key_Right); + return; + } + if (stick_values[Settings::NativeAnalog::LStick].right) { + emit TriggerKeyboardEvent(Qt::Key_Up); + return; + } + break; + case Core::HID::NpadStyleIndex::JoyconRight: + if (stick_values[Settings::NativeAnalog::RStick].right) { + emit TriggerKeyboardEvent(Qt::Key_Down); + return; + } + if (stick_values[Settings::NativeAnalog::RStick].down) { + emit TriggerKeyboardEvent(Qt::Key_Left); + return; + } + if (stick_values[Settings::NativeAnalog::RStick].up) { + emit TriggerKeyboardEvent(Qt::Key_Right); + return; + } + if (stick_values[Settings::NativeAnalog::RStick].left) { + emit TriggerKeyboardEvent(Qt::Key_Up); + return; + } + break; + default: + break; + } +} diff --git a/src/yuzu/util/controller_navigation.h b/src/yuzu/util/controller_navigation.h new file mode 100644 index 000000000..7c616a088 --- /dev/null +++ b/src/yuzu/util/controller_navigation.h @@ -0,0 +1,51 @@ +// Copyright 2021 yuzu Emulator Project +// Licensed under GPLv2 or any later version +// Refer to the license.txt file included + +#pragma once + +#include <QKeyEvent> +#include <QObject> + +#include "common/input.h" +#include "common/settings_input.h" + +namespace Core::HID { +using ButtonValues = std::array<Common::Input::ButtonStatus, Settings::NativeButton::NumButtons>; +using SticksValues = std::array<Common::Input::StickStatus, Settings::NativeAnalog::NumAnalogs>; +enum class ControllerTriggerType; +class EmulatedController; +class HIDCore; +} // namespace Core::HID + +class ControllerNavigation : public QObject { + Q_OBJECT + +public: + explicit ControllerNavigation(Core::HID::HIDCore& hid_core, QWidget* parent = nullptr); + ~ControllerNavigation(); + + /// Disables events from the emulated controller + void UnloadController(); + +signals: + void TriggerKeyboardEvent(Qt::Key key); + +private: + void TriggerButton(Settings::NativeButton::Values native_button, Qt::Key key); + void ControllerUpdateEvent(Core::HID::ControllerTriggerType type); + + void ControllerUpdateButton(); + + void ControllerUpdateStick(); + + Core::HID::ButtonValues button_values{}; + Core::HID::SticksValues stick_values{}; + + int player1_callback_key{}; + int handheld_callback_key{}; + bool is_controller_set{}; + mutable std::mutex mutex; + Core::HID::EmulatedController* player1_controller; + Core::HID::EmulatedController* handheld_controller; +}; |