diff --git a/.gitmodules b/.gitmodules
index 89f2ad924..9f96b70be 100644
--- a/.gitmodules
+++ b/.gitmodules
@@ -2,35 +2,35 @@
# SPDX-License-Identifier: GPL-2.0-or-later
[submodule "enet"]
- path = externals/enet
- url = https://github.com/lsalzman/enet.git
+ path = externals/enet
+ url = https://github.com/lsalzman/enet.git
[submodule "inih"]
- path = externals/inih/inih
- url = https://github.com/benhoyt/inih.git
+ path = externals/inih/inih
+ url = https://github.com/benhoyt/inih.git
[submodule "cubeb"]
- path = externals/cubeb
- url = https://github.com/mozilla/cubeb.git
+ path = externals/cubeb
+ url = https://github.com/mozilla/cubeb.git
[submodule "dynarmic"]
- path = externals/dynarmic
- url = https://github.com/MerryMage/dynarmic.git
+ path = externals/dynarmic
+ url = https://github.com/merryhime/dynarmic.git
[submodule "libusb"]
path = externals/libusb/libusb
url = https://github.com/libusb/libusb.git
[submodule "discord-rpc"]
- path = externals/discord-rpc
- url = https://github.com/yuzu-emu/discord-rpc.git
+ path = externals/discord-rpc
+ url = https://github.com/yuzu-emu/discord-rpc.git
[submodule "Vulkan-Headers"]
- path = externals/Vulkan-Headers
- url = https://github.com/KhronosGroup/Vulkan-Headers.git
+ path = externals/Vulkan-Headers
+ url = https://github.com/KhronosGroup/Vulkan-Headers.git
[submodule "sirit"]
- path = externals/sirit
- url = https://github.com/yuzu-emu/sirit
+ path = externals/sirit
+ url = https://github.com/yuzu-emu/sirit.git
[submodule "mbedtls"]
- path = externals/mbedtls
- url = https://github.com/yuzu-emu/mbedtls
+ path = externals/mbedtls
+ url = https://github.com/yuzu-emu/mbedtls.git
[submodule "xbyak"]
- path = externals/xbyak
- url = https://github.com/herumi/xbyak.git
+ path = externals/xbyak
+ url = https://github.com/herumi/xbyak.git
[submodule "opus"]
path = externals/opus/opus
url = https://github.com/xiph/opus.git
@@ -45,13 +45,16 @@
url = https://github.com/FFmpeg/FFmpeg.git
[submodule "vcpkg"]
path = externals/vcpkg
- url = https://github.com/Microsoft/vcpkg.git
+ url = https://github.com/microsoft/vcpkg.git
[submodule "cpp-jwt"]
path = externals/cpp-jwt
url = https://github.com/arun11299/cpp-jwt.git
[submodule "libadrenotools"]
path = externals/libadrenotools
- url = https://github.com/bylaws/libadrenotools
+ url = https://github.com/bylaws/libadrenotools.git
[submodule "tzdb_to_nx"]
path = externals/nx_tzdb/tzdb_to_nx
url = https://github.com/lat9nq/tzdb_to_nx.git
+[submodule "VulkanMemoryAllocator"]
+ path = externals/vma/VulkanMemoryAllocator
+ url = https://github.com/GPUOpen-LibrariesAndSDKs/VulkanMemoryAllocator.git
diff --git a/CMakeLists.txt b/CMakeLists.txt
index 51b35d31a..7e74733d6 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -504,7 +504,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.18")
+ set(SDL2_VER "SDL2-2.28.0")
else()
message(FATAL_ERROR "No bundled SDL2 binaries for your toolchain. Disable YUZU_USE_BUNDLED_SDL2 and provide your own.")
endif()
@@ -524,7 +524,7 @@ if (ENABLE_SDL2)
elseif (YUZU_USE_EXTERNAL_SDL2)
message(STATUS "Using SDL2 from externals.")
else()
- find_package(SDL2 2.0.18 REQUIRED)
+ find_package(SDL2 2.26.4 REQUIRED)
endif()
endif()
diff --git a/dist/languages/ca.ts b/dist/languages/ca.ts
index 7964da0d2..770b80a96 100644
--- a/dist/languages/ca.ts
+++ b/dist/languages/ca.ts
@@ -249,42 +249,42 @@ This would ban both their forum username and their IP address.
-
+ Sí El joc supera la introducció/menú i entra en la part jugable.
-
+ No El joc pot fallar o es bloqueja mentre es carrega o s'utilitza el menú
-
+ <html><head/><body><p>El joc arriba a ser jugable?</p></body></html>
-
+ Sí El joc funciona sense errors
-
+ No El joc pot fallar o es pot bloquejar durant la part jugable.
-
+ <html><head/><body><p>Funciona el joc sense fallar, bloquejar-se o en bucle durant la part jugable?</p></body></html>
-
+ Sí El joc es pot acabar sense ninguna configuració extra especifica .
-
+ No El joc no pot avançar més enllà d'una zona determinada
@@ -294,12 +294,12 @@ This would ban both their forum username and their IP address.
-
+ Important El joc té errors gràfics importants
-
+ Menys important El joc té errors gràfics menors
@@ -1126,78 +1126,78 @@ This would ban both their forum username and their IP address.
Configuració de yuzu
-
-
+
+
Àudio
-
-
+
+
CPU
-
+
Depuració
-
+
Sistema de fitxers
-
-
+
+
General
-
-
+
+
Gràfics
-
+
GràficsAvançat
-
+
Tecles d'accés ràpid
-
-
+
+
Controls
-
+
Perfils
-
+
Xarxa
-
-
+
+
Sistema
-
+
Llista de jocs
-
+
Web
@@ -1391,17 +1391,22 @@ This would ban both their forum username and their IP address.
Ocultar el cursor del ratolí en cas d'inactivitat
-
+
+
+
+
+
+
Reiniciar tots els paràmetres
-
+
yuzu
-
+
Això restablirà tota la configuració i eliminarà totes les configuracions dels jocs. No eliminarà ni els directoris de jocs, ni els perfils, ni els perfils dels controladors. Procedir?
@@ -1689,43 +1694,43 @@ Immediate (no synchronization) just presents whatever is available and can exhib
Color de fons:
-
+
GLASM (Assembly Shaders, només NVIDIA)
-
+
-
+
FSR sharpening percentage (e.g. 50%)
%1%
-
+
-
+
-
+
-
+
-
+
@@ -1849,37 +1854,57 @@ Compute pipelines are always enabled on all other drivers.
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Filtrat anisotròpic:
-
+
Automàtic
-
+
Valor predeterminat
-
+
2x
-
+
4x
-
+
8x
-
+
16x
@@ -2262,7 +2287,7 @@ Compute pipelines are always enabled on all other drivers.
-
+
Configurar
@@ -2329,22 +2354,7 @@ Compute pipelines are always enabled on all other drivers.
-
-
- Activar desplaçament del ratolí
-
-
-
-
- Sensibilitat del ratolí
-
-
-
-
- %
-
-
-
+
Moviment / Tàctil
@@ -2456,7 +2466,7 @@ Compute pipelines are always enabled on all other drivers.
-
+
Palanca esquerra
@@ -2550,14 +2560,14 @@ Compute pipelines are always enabled on all other drivers.
-
+
L
-
+
ZL
@@ -2576,7 +2586,7 @@ Compute pipelines are always enabled on all other drivers.
-
+
Més
@@ -2589,15 +2599,15 @@ Compute pipelines are always enabled on all other drivers.
-
-
+
+
R
-
+
ZR
@@ -2654,247 +2664,257 @@ Compute pipelines are always enabled on all other drivers.
-
+
Palanca dreta
-
-
-
-
+
+
+
+
+
+
+
+ Configurar
+
+
+
+
+
+
Esborrar
-
-
-
-
-
+
+
+
+
+
[no establert]
-
-
-
+
+
+
Botó d'inversió
-
-
+
+
Botó commutador
-
+
-
-
+
+
Invertir eixos
-
-
-
+
+
+
Configurar llindar
-
-
+
+
Esculli un valor entre 0% i 100%
-
+
-
+
Configurar llindar giroscopi
-
+
-
+
Configuració de palanca analògica
-
+
Després de prémer D'acord, primer moveu el joystick horitzontalment i després verticalment.
Per invertir els eixos, primer moveu el joystick verticalment i després horitzontalment.
-
+
Centrar eixos
-
-
+
+
Zona morta: %1%
-
-
+
+
Rang del modificador: %1%
-
-
+
+
Controlador Pro
-
+
Joycons duals
-
+
Joycon esquerra
-
+
Joycon dret
-
+
Portàtil
-
+
Controlador de GameCube
-
+
Poke Ball Plus
-
+
Controlador NES
-
+
Controlador SNES
-
+
Controlador N64
-
+
Sega Genesis
-
+
Inici / Pausa
-
+
Z
-
+
Palanca de control
-
+
C-Stick
-
+
Sacseja!
-
+
[esperant]
-
+
Nou perfil
-
+
Introdueixi un nom de perfil:
-
-
+
+
Crear perfil d'entrada
-
+
El nom de perfil introduït no és vàlid!
-
+
Error al crear el perfil d'entrada "%1"
-
+
Eliminar perfil d'entrada
-
+
Error al eliminar el perfil d'entrada "%1"
-
+
Carregar perfil d'entrada
-
+
Error al carregar el perfil d'entrada "%1"
-
+
Guardar perfil d'entrada
-
+
Error al guardar el perfil d'entrada "%1"
@@ -3073,6 +3093,81 @@ Per invertir els eixos, primer moveu el joystick verticalment i després horitzo
La prova del UDP o la configuració de la calibració està en curs.<br>Si us plau, esperi a que acabi el procés.
+
+ ConfigureMousePanning
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ %
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Valor predeterminat
+
+
ConfigureNetwork
@@ -3149,47 +3244,47 @@ Per invertir els eixos, primer moveu el joystick verticalment i després horitzo
Desenvolupador
-
+
Complements
-
+
General
-
+
Sistema
-
+
CPU
-
+
Gràfics
-
+
Gràfics avanç.
-
+
Àudio
-
+
-
+
Propietats
@@ -3391,7 +3486,7 @@ UUID: %2
-
+
@@ -3428,7 +3523,7 @@ UUID: %2
-
+
@@ -3495,12 +3590,17 @@ UUID: %2
-
+
+
+
+
+
+
-
+
[esperant]
@@ -4610,560 +4710,575 @@ Arrossegui els punts per a canviar la posició, o faci doble clic a les cel·les
GMainWindow
-
+
<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?
-
+
Telemetria
-
+
-
+
-
+
+
+ TRANSLATORS: This string is shown to the user to explain why yuzu needs to prevent the computer from sleeping
+
+
+
+
Carregant Web applet...
-
-
+
+
Desactivar el Web Applet
-
+
Desactivar l'Applet Web pot provocar comportaments indefinits i només hauria d'utilitzar-se amb Super Mario 3D All-Stars. Estàs segur de que vols desactivar l'Applet Web?
(Això pot ser reactivat als paràmetres Debug.)
-
+
La quantitat de shaders que s'estan compilant actualment
-
+
El multiplicador d'escala de resolució seleccionat actualment.
-
+
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.
-
+
Quants fotogrames per segon està mostrant el joc actualment. Això variarà d'un joc a un altre i d'una escena a una altra.
-
+
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.
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
&Esborrar arxius recents
-
+
-
+
-
+
&Continuar
-
+
&Pausar
-
-
- TRANSLATORS: This string is shown to the user to explain why yuzu needs to prevent the computer from sleeping
- yuzu està executant un joc
-
-
-
+
Advertència format del joc desfasat
-
+
Està utilitzant el format de directori de ROM deconstruït per a aquest joc, que és un format desactualitzat que ha sigut reemplaçat per altres, com NCA, NAX, XCI o NSP. Els directoris de ROM deconstruïts careixen d'icones, metadades i suport d'actualitzacions.<br><br>Per a obtenir una explicació dels diversos formats de Switch que suporta yuzu,<a href='https://yuzu-emu.org/wiki/overview-of-switch-game-formats'>faci una ullada a la nostra wiki</a>. Aquest missatge no es tornarà a mostrar.
-
-
+
+
Error carregant la ROM!
-
+
El format de la ROM no està suportat.
-
+
S'ha produït un error inicialitzant el nucli de vídeo.
-
+
yuzu ha trobat un error mentre executava el nucli de vídeo. Això sol ser causat per controladors de la GPU obsolets, inclosos els integrats. Si us plau, consulti el registre per a més detalls. Per obtenir més informació sobre com accedir al registre, consulti la següent pàgina: <a href='https://yuzu-emu.org/help/reference/log-files/'>Com carregar el fitxer de registre</a>.
-
+
%1 signifies a numeric error code.
Error al carregar la ROM! %1
-
+
%1 signifies an error string.
%1<br>Si us plau, segueixi <a href='https://yuzu-emu.org/help/quickstart/'>la guia d'inici de yuzu</a> per a bolcar de nou els seus fitxers.<br>Pot consultar la wiki de yuzu wiki</a> o el Discord de yuzu</a> per obtenir ajuda.
-
+
S'ha produït un error desconegut. Si us plau, consulti el registre per a més detalls.
-
+
(64-bit)
-
+
(32-bit)
-
+
%1 is the title name. %2 indicates if the title is 64-bit or 32-bit
%1 %2
-
+
-
+ S'està tancant el programari
-
+
Dades de partides guardades
-
+
Dades de mods
-
+
Error obrint la carpeta %1
-
-
+
+
La carpeta no existeix!
-
+
Error obrint la cache transferible de shaders
-
+
No s'ha pogut crear el directori de la cache dels shaders per aquest títol.
-
+
-
+
-
+
-
+
-
+
-
+
-
+
Eliminar entrada
-
-
-
-
-
-
+
+
+
+
+
+
S'ha eliminat correctament
-
+
S'ha eliminat correctament el joc base instal·lat.
-
+
El joc base no està instal·lat a la NAND i no pot ser eliminat.
-
+
S'ha eliminat correctament l'actualització instal·lada.
-
+
No hi ha cap actualització instal·lada per aquest títol.
-
+
No hi ha cap DLC instal·lat per aquest títol.
-
+
S'ha eliminat correctament %1 DLC instal·lat/s.
-
+
Desitja eliminar la cache transferible de shaders d'OpenGL?
-
+
Desitja eliminar la cache transferible de shaders de Vulkan?
-
+
Desitja eliminar totes les caches transferibles de shaders?
-
+
Desitja eliminar la configuració personalitzada del joc?
-
+
-
+
Eliminar arxiu
-
-
+
+
Error eliminant la cache transferible de shaders
-
-
+
+
No existeix una cache de shaders per aquest títol.
-
+
S'ha eliminat correctament la cache transferible de shaders.
-
+
No s'ha pogut eliminar la cache transferible de shaders.
-
+
-
+
-
-
+
+
Error al eliminar les caches de shaders transferibles
-
+
Caches de shaders transferibles eliminades correctament.
-
+
No s'ha pogut eliminar el directori de caches de shaders transferibles.
-
-
+
+
Error eliminant la configuració personalitzada
-
+
No existeix una configuració personalitzada per aquest joc.
-
+
S'ha eliminat correctament la configuració personalitzada del joc.
-
+
No s'ha pogut eliminar la configuració personalitzada del joc.
-
-
+
+
La extracció de RomFS ha fallat!
-
+
S'ha produït un error copiant els arxius RomFS o l'usuari ha cancel·lat la operació.
-
+
Completa
-
+
Esquelet
-
+
Seleccioni el mode de bolcat de RomFS
-
+
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.
-
+
No hi ha suficient espai lliure a %1 per extreure el RomFS. Si us plau, alliberi espai o esculli un altre directori de bolcat a Emulació > Configuració > Sistema > Sistema d'arxius > Carpeta arrel de bolcat
-
+
Extraient RomFS...
-
-
+
+
Cancel·la
-
+
Extracció de RomFS completada correctament!
-
+
L'operació s'ha completat correctament.
-
-
-
-
-
+
+
+
+
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
Error obrint %1
-
+
Seleccionar directori
-
+
Propietats
-
+
Les propietats del joc no s'han pogut carregar.
-
+
%1 is an identifier for the Switch executable file extensions.
Executable de Switch (%1);;Tots els Arxius (*.*)
-
+
Carregar arxiu
-
+
Obrir el directori de la ROM extreta
-
+
Directori seleccionat invàlid
-
+
El directori que ha seleccionat no conté un arxiu 'main'.
-
+
Arxiu de Switch Instal·lable (*.nca *.nsp *.xci);;Arxiu de Continguts Nintendo (*.nca);;Paquet d'enviament Nintendo (*.nsp);;Imatge de Cartutx NX (*.xci)
-
+
Instal·lar arxius
-
+
%n arxiu(s) restants%n arxiu(s) restants
-
+
Instal·lant arxiu "%1"...
-
-
+
+
Resultats instal·lació
-
+
Per evitar possibles conflictes, no recomanem als usuaris que instal·lin jocs base a la NAND.
Si us plau, utilitzi aquesta funció només per a instal·lar actualitzacions i DLCs.
-
+
%n nou(s) arxiu(s) s'ha(n) instal·lat
@@ -5171,7 +5286,7 @@ Si us plau, utilitzi aquesta funció només per a instal·lar actualitzacions i
-
+
%n arxiu(s) s'han sobreescrit
@@ -5179,7 +5294,7 @@ Si us plau, utilitzi aquesta funció només per a instal·lar actualitzacions i
-
+
%n arxiu(s) no s'han instal·lat
@@ -5187,388 +5302,312 @@ Si us plau, utilitzi aquesta funció només per a instal·lar actualitzacions i
-
+
Aplicació del sistema
-
+
Arxiu del sistema
-
+
Actualització de l'aplicació del sistema
-
+
Paquet de firmware (Tipus A)
-
+
Paquet de firmware (Tipus B)
-
+
Joc
-
+
Actualització de joc
-
+
DLC del joc
-
+
Títol delta
-
+
Seleccioni el tipus d'instal·lació NCA...
-
+
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é.)
-
+
Ha fallat la instal·lació
-
+
El tipus de títol seleccionat per el NCA és invàlid.
-
+
Arxiu no trobat
-
+
Arxiu "%1" no trobat
-
+
D'acord
-
-
+
+
-
-
+
+
-
+
Falta el compte de yuzu
-
+
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.
-
+
Error obrint URL
-
+
No es pot obrir la URL "%1".
-
+
Gravació TAS
-
+
Sobreescriure l'arxiu del jugador 1?
-
+
Configuració invàlida detectada
-
+
El controlador del mode portàtil no es pot fer servir en el mode acoblat. Es seleccionarà el controlador Pro en el seu lloc.
-
-
+
+
Amiibo
-
-
+
+
L'amiibo actual ha sigut eliminat
-
+
Error
-
-
+
+
El joc actual no està buscant amiibos
-
+
Arxiu Amiibo (%1);; Tots els Arxius (*.*)
-
+
Carregar Amiibo
-
+
Error al carregar les dades d'Amiibo
-
+
-
+
-
+
-
+
Captura de pantalla
-
+
Imatge PNG (*.png)
-
+
Estat TAS: executant %1/%2
-
+
Estat TAS: gravant %1
-
+
Estat TAS: inactiu %1/%2
-
+
Estat TAS: invàlid
-
+
&Parar l'execució
-
+
&Iniciar
-
+
Parar g&ravació
-
+
G&ravar
-
+
Construint: %n shader(s)Construint: %n shader(s)
-
+
%1 is the resolution scaling factor
Escala: %1x
-
+
Velocitat: %1% / %2%
-
+
Velocitat: %1%
-
+
Joc: %1 FPS (desbloquejat)
-
+
Joc: %1 FPS
-
+
Fotograma: %1 ms
-
-
- GPU NORMAL
+
+
+ %1 %2
-
-
- GPU ALTA
-
-
-
-
- GPU EXTREMA
-
-
-
-
- ERROR GPU
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- OPENGL
-
-
-
-
- VULKAN
-
-
-
-
-
-
-
-
-
- MÉS PROPER
-
-
-
-
-
- BILINEAL
-
-
-
-
- BICÚBIC
-
-
-
-
- GAUSSIÀ
-
-
-
-
- SCALEFORCE
-
-
-
+
+
FSR
-
-
+
SENSE AA
-
-
- FXAA
-
-
-
-
-
-
-
-
+
-
+
Volume percentage (e.g. 50%)
-
+
Confirmi la clau de rederivació
-
+
-
+
Falten fusibles
-
+
- Falta BOOT0
-
+
- Falta BCPKG2-1-Normal-Main
-
+
- Falta PRODINFO
-
+
Falten components de derivació
-
+
Falten les claus d'encriptació. <br>Si us plau, segueixi <a href='https://yuzu-emu.org/help/quickstart/'>la guia ràpida de yuzu</a> per a obtenir totes les seves claus, firmware i jocs.<br><br><small>(%1)</small>
-
+
@@ -5624,49 +5663,49 @@ Això pot prendre fins a un minut depenent
del rendiment del seu sistema.
-
+
Derivant claus
-
+
-
+
-
+
Seleccioni el destinatari per a bolcar el RomFS
-
+
Si us plau, seleccioni quin RomFS desitja bolcar.
-
+
Està segur de que vol tancar yuzu?
-
-
-
+
+
+
yuzu
-
+
Està segur de que vol aturar l'emulació? Qualsevol progrés no guardat es perdrà.
-
+
@@ -5674,48 +5713,143 @@ Would you like to bypass this and exit anyway?
Desitja tancar-lo de totes maneres?
+
+
+
+ Cap
+
+
+
+
+ FXAA
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Bilineal
+
+
+
+
+ Bicúbic
+
+
+
+
+ Gaussià
+
+
+
+
+ ScaleForce
+
+
+
+
+ Acoblada
+
+
+
+
+ Portàtil
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
GRenderWindow
-
-
+
+
OpenGL no disponible!
-
+
-
+
yuzu no ha estat compilat amb suport per OpenGL.
-
-
+
+
Error al inicialitzar OpenGL!
-
+
La seva GPU no suporta OpenGL, o no té instal·lat els últims controladors gràfics.
-
+
Error inicialitzant OpenGL 4.6!
-
+
La seva GPU no suporta OpenGL 4.6, o no té instal·lats els últims controladors gràfics.<br><br>GL Renderer:<br>%1
-
+
És possible que la seva GPU no suporti una o més extensions necessàries d'OpenGL. Si us plau, asseguris de tenir els últims controladors de la tarjeta gràfica.<br><br>GL Renderer:<br>%1<br><br>Extensions no suportades:<br>%2
@@ -6068,138 +6202,138 @@ Debug Message:
Hotkeys
-
+
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
-
+
-
+
-
+
Captura de pantalla
-
+
-
+
-
+
-
+
-
+
-
+
-
+
Pantalla Completa
-
+
Carregar arxiu
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
@@ -6938,30 +7072,30 @@ p, li { white-space: pre-wrap; }
-
+
Shift
-
+
Ctrl
-
+
Alt
-
-
-
-
+
+
+
+
[no establert]
@@ -6972,14 +7106,14 @@ p, li { white-space: pre-wrap; }
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
Eix %1%2
@@ -6990,320 +7124,320 @@ p, li { white-space: pre-wrap; }
-
-
-
-
-
-
+
+
+
+
+
+
[desconegut]
-
-
+
+
Esquerra
-
-
+
+
Dreta
-
-
+
+
Avall
-
-
+
+
Amunt
-
+
Z
-
+
R
-
+
L
-
+
A
-
+
B
-
+
X
-
+
Y
-
+
Inici
-
+
L1
-
+
L2
-
+
L3
-
+
R1
-
+
R2
-
+
R3
-
+
Cercle
-
+
Creu
-
+
Cuadrat
-
+
Triangle
-
+
Compartir
-
+
Opcions
-
+
[indefinit]
-
+
%1%2
-
-
+
+
[invàlid]
-
-
+
+
%1%2Rotació %3
-
-
+
-
+
+
%1%2Eix %3
-
-
+
+
%1%2Eixos %3,%4,%5
-
-
+
+
%1%2Moviment %3
-
-
+
+
%1%2Botó %3
-
-
+
+
[sense ús]
-
+
ZR
-
+
ZL
-
+
SR
-
+
SL
-
+
-
+
-
+
Més
-
+
Menys
-
-
+
+
Inici
-
+
Captura
-
+
Tàctil
-
+
Indicates the mouse wheel
Roda
-
+
Enrere
-
+
Endavant
-
+
Tasca
-
+
Extra
-
+
-
-
+
+
-
-
+
+
-
-
+
+
diff --git a/dist/languages/cs.ts b/dist/languages/cs.ts
index 486a812d9..a932dabed 100644
--- a/dist/languages/cs.ts
+++ b/dist/languages/cs.ts
@@ -1118,78 +1118,78 @@ Tato možnost zlepšuje rychlost díky závislosti na sémantice cmpxchg pro zaj
Nastavení yuzu.
-
-
+
+
Zvuk
-
-
+
+
CPU
-
+
Ladění
-
+
Souborový systém
-
-
+
+
Obecné
-
-
+
+
Grafika
-
+
GrafickyPokročilé
-
+
Zkratky
-
-
+
+
Ovládání
-
+
Profily
-
+
Síť
-
-
+
+
Systém
-
+
Seznam her
-
+
Web
@@ -1383,17 +1383,22 @@ Tato možnost zlepšuje rychlost díky závislosti na sémantice cmpxchg pro zaj
Skrýt myš při neaktivitě
-
+
+
+
+
+
+
Resetovat všechna nastavení
-
+
yuzu
-
+
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?
@@ -1552,7 +1557,7 @@ Immediate (no synchronization) just presents whatever is available and can exhib
-
+ 1X (720p/1080p)
@@ -1637,12 +1642,12 @@ Immediate (no synchronization) just presents whatever is available and can exhib
-
+ FXAA
-
+ SMAA
@@ -1681,43 +1686,43 @@ Immediate (no synchronization) just presents whatever is available and can exhib
Barva Pozadí:
-
+
-
+
-
+
FSR sharpening percentage (e.g. 50%)
%1%
-
+
-
+
-
+
-
+
-
+
@@ -1841,37 +1846,57 @@ Compute pipelines are always enabled on all other drivers.
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Anizotropní filtrování:
-
+
-
+
Výchozí
-
+
2x
-
+
4x
-
+
8x
-
+
16x
@@ -2254,7 +2279,7 @@ Compute pipelines are always enabled on all other drivers.
-
+
Nastavení
@@ -2321,22 +2346,7 @@ Compute pipelines are always enabled on all other drivers.
-
-
- Povolit naklánění myší
-
-
-
-
- Citlivost myši
-
-
-
-
- %
-
-
-
+
Pohyb / Dotyk
@@ -2448,7 +2458,7 @@ Compute pipelines are always enabled on all other drivers.
-
+
Levá Páčka
@@ -2542,14 +2552,14 @@ Compute pipelines are always enabled on all other drivers.
-
+
L
-
+
ZL
@@ -2568,7 +2578,7 @@ Compute pipelines are always enabled on all other drivers.
-
+
Plus
@@ -2581,15 +2591,15 @@ Compute pipelines are always enabled on all other drivers.
-
-
+
+
R
-
+
ZR
@@ -2646,247 +2656,257 @@ Compute pipelines are always enabled on all other drivers.
-
+
Pravá páčka
-
-
-
-
+
+
+
+
+
+
+
+ Nastavení
+
+
+
+
+
+
Vyčistit
-
-
-
-
-
+
+
+
+
+
[nenastaveno]
-
-
-
+
+
+
-
-
+
+
Přepnout tlačítko
-
+
-
-
+
+
Převrátit osy
-
-
-
+
+
+
-
-
+
+
-
+
-
+
-
+
-
+
Namapovat analogovou páčku
-
+
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ě.
-
+
-
-
+
+
Deadzone: %1%
-
-
+
+
Rozsah modifikátoru: %1%
-
-
+
+
Pro Controller
-
+
Dual Joycons
-
+
Levý Joycon
-
+
Pravý Joycon
-
+
V rukou
-
+
Ovladač GameCube
-
+
-
+
-
+
-
+
-
+
-
+
Start / Pause
-
+
Z
-
+
Control Stick
-
+
C-Stick
-
+
Shake!
-
+
[čekání]
-
+
Nový profil
-
+
Zadejte název profilu:
-
-
+
+
Vytvořit profil vstupu
-
+
Zadaný název profilu není platný!
-
+
Nepodařilo se vytvořit profil vstupu "%1"
-
+
Odstranit profil vstupu
-
+
Nepodařilo se odstranit profil vstupu "%1"
-
+
Načíst profil vstupu
-
+
Nepodařilo se načíst profil vstupu "%1"
-
+
Uložit profil vstupu
-
+
Nepodařilo se uložit profil vstupu "%1"
@@ -3065,6 +3085,81 @@ Pro převrácení os nejprve posuňte joystick vertikálně, poté horizontáln
Probíhá test UDP nebo konfigurace kalibrace.<br>Prosím vyčkejte na dokončení.
+
+ ConfigureMousePanning
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ %
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Výchozí
+
+
ConfigureNetwork
@@ -3141,47 +3236,47 @@ Pro převrácení os nejprve posuňte joystick vertikálně, poté horizontáln
Vývojář
-
+
Doplňky
-
+
Obecné
-
+
Systém
-
+
CPU
-
+
Grafika
-
+
Pokroč. grafika
-
+
Zvuk
-
+
-
+
Vlastnosti
@@ -3383,7 +3478,7 @@ UUID: %2
-
+
@@ -3420,7 +3515,7 @@ UUID: %2
-
+
@@ -3487,12 +3582,17 @@ UUID: %2
-
+
+
+
+
+
+
-
+
[čekání]
@@ -4602,958 +4702,897 @@ Táhněte body pro změnu pozice nebo dvojitě klikněte na buňky tabulky pro z
GMainWindow
-
+
<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?
-
+
Telemetry
-
+
-
+
-
+
+
+ TRANSLATORS: This string is shown to the user to explain why yuzu needs to prevent the computer from sleeping
+
+
+
+
Načítání Web Appletu...
-
-
+
+
Zakázat Web Applet
-
+
-
+
Počet aktuálně sestavovaných shaderů
-
+
-
+
Aktuální emulační rychlost. Hodnoty vyšší než 100% indikují, že emulace běží rychleji nebo pomaleji než na Switchi.
-
+
Kolik snímků za sekundu aktuálně hra zobrazuje. Tohle závisí na hře od hry a scény od scény.
-
+
Č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.
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
&Vymazat poslední soubory
-
+
-
+
-
+
&Pokračovat
-
+
&Pauza
-
-
- TRANSLATORS: This string is shown to the user to explain why yuzu needs to prevent the computer from sleeping
-
-
-
-
+
Varování Zastaralý Formát Hry
-
+
Používáte rozbalený formát hry, který je zastaralý a byl nahrazen jinými jako NCA, NAX, XCI, nebo NSP. Rozbalená ROM nemá ikony, metadata, a podporu updatů.<br><br>Pro vysvětlení všech možných podporovaných typů, <a href='https://yuzu-emu.org/wiki/overview-of-switch-game-formats'>zkoukni naší wiki</a>. Tato zpráva se nebude znova zobrazovat.
-
-
+
+
Chyba při načítání ROM!
-
+
Tento formát ROM není podporován.
-
+
Nastala chyba při inicializaci jádra videa.
-
+
-
+
%1 signifies a numeric error code.
Chyba při načítání ROM! %1
-
+
%1 signifies an error string.
%1<br>Pro extrakci souborů postupujte podle <a href='https://yuzu-emu.org/help/quickstart/'>rychlého průvodce yuzu</a>. Nápovědu naleznete na <br>wiki</a> nebo na Discordu</a>.
-
+
Nastala chyba. Koukni do logu.
-
+
(64-bit)
-
+
(32-bit)
-
+
%1 is the title name. %2 indicates if the title is 64-bit or 32-bit
%1 %2
-
+
-
+
Uložit data
-
+
Módovat Data
-
+
Chyba otevírání složky %1
-
-
+
+
Složka neexistuje!
-
+
Chyba při otevírání přenositelné mezipaměti shaderů
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
Odebrat položku
-
-
-
-
-
-
+
+
+
+
+
+
Úspěšně odebráno
-
+
Úspěšně odebrán nainstalovaný základ hry.
-
+
Základ hry není nainstalovaný na NAND a nemůže být odstraněn.
-
+
Úspěšně odebrána nainstalovaná aktualizace.
-
+
Není nainstalovaná žádná aktualizace pro tento titul.
-
+
Není nainstalované žádné DLC pro tento titul.
-
+
Úspěšně odstraněno %1 nainstalovaných DLC.
-
+
-
+
-
+
-
+
Odstranit vlastní konfiguraci hry?
-
+
-
+
Odstranit soubor
-
-
+
+
Chyba při odstraňování přenositelné mezipaměti shaderů
-
-
+
+
Mezipaměť shaderů pro tento titul neexistuje.
-
+
Přenositelná mezipaměť shaderů úspěšně odstraněna
-
+
Nepodařilo se odstranit přenositelnou mezipaměť shaderů
-
+
-
+
-
-
+
+
-
+
-
+
-
-
+
+
Chyba při odstraňování vlastní konfigurace hry
-
+
Vlastní konfigurace hry pro tento titul neexistuje.
-
+
Úspěšně odstraněna vlastní konfigurace hry.
-
+
Nepodařilo se odstranit vlastní konfiguraci hry.
-
-
+
+
Extrakce RomFS se nepovedla!
-
+
Nastala chyba při kopírování RomFS souborů, nebo uživatel operaci zrušil.
-
+
Plný
-
+
Kostra
-
+
Vyber RomFS Dump Mode
-
+
Vyber jak by si chtěl RomFS vypsat.<br>Plné zkopíruje úplně všechno, ale<br>kostra zkopíruje jen strukturu složky.
-
+
-
+
Extrahuji RomFS...
-
-
+
+
Zrušit
-
+
Extrakce RomFS se povedla!
-
+
Operace byla dokončena úspěšně.
-
-
-
-
-
+
+
+
+
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
Chyba při otevírání %1
-
+
Vybraná Složka
-
+
Vlastnosti
-
+
Herní vlastnosti nemohly být načteny.
-
+
%1 is an identifier for the Switch executable file extensions.
Switch Executable (%1);;Všechny soubory (*.*)
-
+
Načíst soubor
-
+
Otevřít složku s extrahovanou ROM
-
+
Vybraná složka je neplatná
-
+
Složka kterou jste vybrali neobsahuje soubor "main"
-
+
Instalovatelný soubor pro Switch (*.nca *.nsp *.xci);;Nintendo Content Archive (*.nca);;Nintendo Submission Package (*.nsp);;NX Cartridge Image (*.xci)
-
+
Instalovat Soubory
-
+
-
+
Instalování souboru "%1"...
-
-
+
+
Výsledek instalace
-
+
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.
-
+
-
+
-
+
-
+
Systémová Aplikace
-
+
Systémový archív
-
+
Systémový Update Aplikace
-
+
Firmware-ový baliček (Typu A)
-
+
Firmware-ový baliček (Typu B)
-
+
Hra
-
+
Update Hry
-
+
Herní DLC
-
+
Delta Title
-
+
Vyberte typ instalace NCA...
-
+
Vyberte typ title-u, který chcete nainstalovat tenhle NCA jako:
(Většinou základní "game" stačí.)
-
+
Chyba v instalaci
-
+
Tento typ pro tento NCA není platný.
-
+
Soubor nenalezen
-
+
Soubor "%1" nenalezen
-
+
OK
-
-
+
+
-
-
+
+
-
+
Chybí účet yuzu
-
+
Pro přidání recenze kompatibility je třeba mít účet yuzu<br><br/>Pro nalinkování yuzu účtu jdi do Emulace > Konfigurace > Web.
-
+
Chyba při otevírání URL
-
+
Nelze otevřít URL "%1".
-
+
-
+
-
+
Zjištěno neplatné nastavení
-
+
Ruční ovladač nelze používat v dokovacím režimu. Bude vybrán ovladač Pro Controller.
-
-
+
+
-
-
+
+
-
+
-
-
+
+
-
+
Soubor Amiibo (%1);; Všechny Soubory (*.*)
-
+
Načíst Amiibo
-
+
Chyba načítání Amiiba
-
+
-
+
-
+
-
+
Pořídit Snímek Obrazovky
-
+
PNG Image (*.png)
-
+
-
+
-
+
-
+
-
+
-
+
&Start
-
+
-
+
-
+
-
+
%1 is the resolution scaling factor
-
+
Rychlost: %1% / %2%
-
+
Rychlost: %1%
-
+
-
+
Hra: %1 FPS
-
+
Frame: %1 ms
-
-
- GPU NORMÁLNÍ
+
+
+ %1 %2
-
-
- GPU VYSOKÝ
-
-
-
-
- GPU EXTRÉMNÍ
-
-
-
-
- GPU ERROR
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- OPENGL
-
-
-
-
- VULKAN
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
-
-
+
-
-
-
-
-
-
-
-
-
-
-
+
-
+
Volume percentage (e.g. 50%)
-
+
Potvďte Rederivaci Klíčů
-
+
-
+
Chybí Fuses
-
+
- Chybí BOOT0
-
+
- Chybí BCPKG2-1-Normal-Main
-
+
- Chybí PRODINFO
-
+
Chybé odvozené komponenty
-
+
-
+
@@ -5609,49 +5648,49 @@ Tohle může zabrat až minutu
podle výkonu systému.
-
+
Derivuji Klíče
-
+
-
+
-
+
Vyberte Cíl vypsaní RomFS
-
+
Vyberte, kterou RomFS chcete vypsat.
-
+
Jste si jist, že chcete zavřít yuzu?
-
-
-
+
+
+
yuzu
-
+
Jste si jist, že chcete ukončit emulaci? Jakýkolic neuložený postup bude ztracen.
-
+
@@ -5659,48 +5698,143 @@ Would you like to bypass this and exit anyway?
Opravdu si přejete ukončit tuto aplikaci?
+
+
+
+ Žádné
+
+
+
+
+ FXAA
+
+
+
+
+ SMAA
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Zadokovaná
+
+
+
+
+ Příruční
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Vulkan
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
GRenderWindow
-
-
+
+
OpenGL není k dispozici!
-
+
-
+
yuzu nebylo sestaveno s OpenGL podporou.
-
-
+
+
Chyba při inicializaci OpenGL!
-
+
Vaše grafická karta pravděpodobně nepodporuje OpenGL nebo nejsou nainstalovány nejnovější ovladače.
-
+
Chyba při inicializaci OpenGL 4.6!
-
+
Vaše grafická karta pravděpodobně nepodporuje OpenGL 4.6 nebo nejsou nainstalovány nejnovější ovladače.<br><br>GL Renderer:<br>%1
-
+
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
@@ -6053,138 +6187,138 @@ Debug Message:
Hotkeys
-
+
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
-
+
-
+
-
+
Pořídit Snímek Obrazovky
-
+
-
+
-
+
-
+
-
+
-
+
-
+
Celá Obrazovka
-
+
Načíst soubor
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
@@ -6280,7 +6414,7 @@ Debug Message:
-
+ Hledat
@@ -6922,30 +7056,30 @@ p, li { white-space: pre-wrap; }
-
+
Shift
-
+
Ctrl
-
+
Alt
-
-
-
-
+
+
+
+
[Nenastaveno]
@@ -6956,14 +7090,14 @@ p, li { white-space: pre-wrap; }
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
Osa %1%2
@@ -6974,320 +7108,320 @@ p, li { white-space: pre-wrap; }
-
-
-
-
-
-
+
+
+
+
+
+
[Neznámá]
-
-
+
+
Doleva
-
-
+
+
Doprava
-
-
+
+
Dolů
-
-
+
+
Nahoru
-
+
Z
-
+
R
-
+
L
-
+
A
-
+
B
-
+
X
-
+
Y
-
+
Start
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
%1%2
-
-
+
+
-
-
+
+
-
-
+
-
+
+
-
-
+
+
-
-
+
+
-
-
+
+
-
-
+
+
[nepoužito]
-
+
ZR
-
+
ZL
-
+
SR
-
+
SL
-
+
-
+
-
+
Plus
-
+
Minus
-
-
+
+
Home
-
+
Capture
-
+
Dotyk
-
+
Indicates the mouse wheel
-
+
-
+
-
+
-
+
-
+
-
-
+
+
-
-
+
+
-
-
+
+
diff --git a/dist/languages/da.ts b/dist/languages/da.ts
index 082f839cf..7a16e813c 100644
--- a/dist/languages/da.ts
+++ b/dist/languages/da.ts
@@ -1134,78 +1134,78 @@ Dette vil bandlyse både vedkommendes forum-brugernavn og IP-adresse.yuzu Konfiguration
-
-
+
+
Lyd
-
-
+
+
CPU
-
+
Fejlfind
-
+
Filsystem
-
-
+
+
Generelt
-
-
+
+
Grafik
-
+
GrafikAvanceret
-
+
Genvejstaster
-
-
+
+
Styring
-
+
Profiler
-
+
Netværk
-
-
+
+
System
-
+
Spilliste
-
+
Net
@@ -1399,17 +1399,22 @@ Dette vil bandlyse både vedkommendes forum-brugernavn og IP-adresse.Skjul mus ved inaktivitet
-
+
+
+
+
+
+
Nulstil Alle Indstillinger
-
+
yuzu
-
+
dette nulstiller alle indstillinger og fjerner alle pr-spil-konfigurationer. Dette vil ikke slette spilmapper, -profiler, eller input-profiler. Fortsæt?
@@ -1697,43 +1702,43 @@ Immediate (no synchronization) just presents whatever is available and can exhib
Baggrundsfarve:
-
+
GLASM (Assembly-Shadere, kun NVIDIA)
-
+
-
+
FSR sharpening percentage (e.g. 50%)
%1%
-
+
-
+
-
+
-
+
-
+
@@ -1857,37 +1862,57 @@ Compute pipelines are always enabled on all other drivers.
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Anisotropisk Filtrering:
-
+
-
+
Standard
-
+
-
+
-
+
-
+
@@ -2270,7 +2295,7 @@ Compute pipelines are always enabled on all other drivers.
-
+
Konfigurér
@@ -2337,22 +2362,7 @@ Compute pipelines are always enabled on all other drivers.
-
-
- Aktivér kig med mus
-
-
-
-
- Mus-følsomhed
-
-
-
-
- %
-
-
-
+
Bevægelse / Berøring
@@ -2464,7 +2474,7 @@ Compute pipelines are always enabled on all other drivers.
-
+
Venstre Styrepind
@@ -2558,14 +2568,14 @@ Compute pipelines are always enabled on all other drivers.
-
+
L
-
+
ZL
@@ -2584,7 +2594,7 @@ Compute pipelines are always enabled on all other drivers.
-
+
Plus
@@ -2597,15 +2607,15 @@ Compute pipelines are always enabled on all other drivers.
-
-
+
+
R
-
+
ZR
@@ -2662,247 +2672,257 @@ Compute pipelines are always enabled on all other drivers.
-
+
Højre Styrepind
-
-
-
-
+
+
+
+
+
+
+
+ Konfigurér
+
+
+
+
+
+
Ryd
-
-
-
-
-
+
+
+
+
+
[ikke indstillet]
-
-
-
+
+
+
-
-
+
+
Funktionsskifteknap
-
+
-
-
+
+
Omvend akser
-
-
-
+
+
+
Angiv tærskel
-
-
+
+
Vælg en værdi imellem 0% og 100%
-
+
-
+
-
+
-
+
Tilsted Analog Pind
-
+
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.
-
+
-
-
+
+
Dødzone: %1%
-
-
+
+
Forandringsrækkevidde: %1%
-
-
+
+
Pro-Styringsenhed
-
+
Dobbelt-Joycon
-
+
Venstre Joycon
-
+
Højre Joycon
-
+
Håndholdt
-
+
GameCube-Styringsenhed
-
+
-
+
-
+
-
+
-
+
-
+
Start / Pause
-
+
Z
-
+
Styrepind
-
+
C-Pind
-
+
Ryst!
-
+
[venter]
-
+
Ny Profil
-
+
Indtast et profilnavn:
-
-
+
+
Opret Input-Profil
-
+
Det angivne profilnavn er ikke gyldigt!
-
+
Oprettelse af input-profil "%1" mislykkedes
-
+
Slet Input-Profil
-
+
Sletning af input-profil "%1" mislykkedes
-
+
Indlæs Input-Profil
-
+
Indlæsning af input-profil "%1" mislykkedes
-
+
Gem Input-Profil
-
+
Lagring af input-profil "%1" mislykkedes
@@ -3081,6 +3101,81 @@ Bevæg, for at omvende akserne, først din styrepind lodret og så vandret.UDP-Afprøvnings- eller -kalibreringskonfiguration er i gang.<br>vent venligst på, at de bliver færdige.
+
+ ConfigureMousePanning
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ %
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Standard
+
+
ConfigureNetwork
@@ -3157,47 +3252,47 @@ Bevæg, for at omvende akserne, først din styrepind lodret og så vandret.Udvikler
-
+
Tilføjelser
-
+
Generelt
-
+
System
-
+
CPU
-
+
Grafik
-
+
-
+
Lyd
-
+
-
+
Egenskaber
@@ -3399,7 +3494,7 @@ UUID: %2
-
+
@@ -3436,7 +3531,7 @@ UUID: %2
-
+
@@ -3503,12 +3598,17 @@ UUID: %2
-
+
+
+
+
+
+
-
+
[venter]
@@ -4618,956 +4718,895 @@ Træk punkter, for at skifte position, eller dobbeltklik i tabelceller, for at r
GMainWindow
-
+
<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?
-
+
Telemetri
-
+
-
+
-
+
+
+ TRANSLATORS: This string is shown to the user to explain why yuzu needs to prevent the computer from sleeping
+
+
+
+
Indlæser Net-Applet...
-
-
+
+
Deaktivér Net-Applet
-
+
-
+
-
+
-
+
Aktuel emuleringshastighed. Værdier højere eller lavere end 100% indikerer, at emulering kører hurtigere eller langsommere end en Switch.
-
+
-
+
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
-
+
-
+
-
+
-
+
-
-
- TRANSLATORS: This string is shown to the user to explain why yuzu needs to prevent the computer from sleeping
-
-
-
-
+
Advarsel, Forældet Spilformat
-
+
-
-
+
+
Fejl under indlæsning af ROM!
-
+
ROM-formatet understøttes ikke.
-
+
Der skete en fejl under initialisering af video-kerne.
-
+
-
+
%1 signifies a numeric error code.
-
+
%1 signifies an error string.
-
+
-
+
-
+
-
+
%1 is the title name. %2 indicates if the title is 64-bit or 32-bit
-
+
-
+
-
+
-
+
Fejl ved Åbning af %1 Mappe
-
-
+
+
Mappe eksisterer ikke!
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
-
-
-
-
-
+
+
+
+
+
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
-
+
+
-
-
+
+
-
+
-
+
-
+
-
+
-
-
+
+
-
+
-
+
-
-
+
+
-
+
-
+
-
+
-
-
+
+
RomFS-Udpakning Mislykkedes!
-
+
Der skete en fejl ved kopiering af RomFS-filerne, eller brugeren afbrød opgaven.
-
+
Fuld
-
+
Skelet
-
+
Vælg RomFS-Nedfældelsestilstand
-
+
-
+
-
+
Udpakker RomFS...
-
-
+
+
Afbryd
-
+
RomFS-Udpakning Lykkedes!
-
+
Fuldførelse af opgaven lykkedes.
-
-
-
-
-
+
+
+
+
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
Fejl ved Åbning af %1
-
+
Vælg Mappe
-
+
Egenskaber
-
+
Spil-egenskaberne kunne ikke indlæses.
-
+
%1 is an identifier for the Switch executable file extensions.
Switch-Eksekverbar (%1);;Alle filer (*.*)
-
+
Indlæs Fil
-
+
Åbn Udpakket ROM-Mappe
-
+
Ugyldig Mappe Valgt
-
+
-
+
-
+
-
+
-
+
Installér fil "%1"...
-
-
+
+
-
+
-
+
-
+
-
+
-
+
Systemapplikation
-
+
Systemarkiv
-
+
Systemapplikationsopdatering
-
+
Firmwarepakke (Type A)
-
+
Firmwarepakke (Type B)
-
+
Spil
-
+
Spilopdatering
-
+
Spiludvidelse
-
+
Delta-Titel
-
+
Vælg NCA-Installationstype...
-
+
-
+
Installation mislykkedes
-
+
-
+
Fil ikke fundet
-
+
Fil "%1" ikke fundet
-
+
OK
-
-
+
+
-
-
+
+
-
+
Manglende yuzu-Konto
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
-
+
+
-
-
+
+
-
+
-
-
+
+
-
+
Amiibo-Fil (%1);; Alle Filer (*.*)
-
+
Indlæs Amiibo
-
+
Fejl ved indlæsning af Amiibo-data
-
+
-
+
-
+
-
+
Optag Skærmbillede
-
+
PNG-Billede (*.png)
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
%1 is the resolution scaling factor
-
+
Hastighed: %1% / %2%
-
+
Hastighed: %1%
-
+
-
+
Spil: %1 FPS
-
+
Billede: %1 ms
-
-
+
+
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
-
-
+
-
-
- FXAA
-
-
-
-
-
-
-
-
+
-
+
Volume percentage (e.g. 50%)
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
Er du sikker på, at du vil lukke yuzu?
-
-
-
+
+
+
yuzu
-
+
Er du sikker på, at du vil stoppe emulereingen? Enhver ulagret data, vil gå tabt.
-
+
+
+
+
+ Ingen
+
+
+
+
+ FXAA
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Bilineær
+
+
+
+
+ Bikubisk
+
+
+
+
+ Gausisk
+
+
+
+
+ ScaleForce
+
+
+
+
+ Dokket
+
+
+
+
+ Håndholdt
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
GRenderWindow
-
-
+
+
-
+
-
+
-
-
+
+
-
+
-
+
-
+
-
+
@@ -6057,138 +6191,138 @@ Debug Message:
Hotkeys
-
+
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
-
+
-
+
-
+
Optag Skærmbillede
-
+
-
+
-
+
-
+
-
+
-
+
-
+
Fuldskærm
-
+
Indlæs Fil
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
@@ -6922,30 +7056,30 @@ p, li { white-space: pre-wrap; }
-
+
Skift
-
+
Ctrl
-
+
Alt
-
-
-
-
+
+
+
+
[ikke indstillet]
@@ -6956,14 +7090,14 @@ p, li { white-space: pre-wrap; }
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
Akse %1%2
@@ -6974,320 +7108,320 @@ p, li { white-space: pre-wrap; }
-
-
-
-
-
-
+
+
+
+
+
+
[ukendt]
-
-
+
+
Venstre
-
-
+
+
Højre
-
-
+
+
ed
-
-
+
+
Op
-
+
Z
-
+
R
-
+
L
-
+
A
-
+
B
-
+
X
-
+
Y
-
+
Start
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
-
+
+
-
-
+
+
-
-
+
-
+
+
-
-
+
+
-
-
+
+
-
-
+
+
-
-
+
+
[ubrugt]
-
+
ZR
-
+
ZL
-
+
SR
-
+
SL
-
+
-
+
-
+
Plus
-
+
Minus
-
-
+
+
Hjem
-
+
Optag
-
+
Berøring
-
+
Indicates the mouse wheel
-
+
-
+
-
+
-
+
-
+
-
-
+
+
-
-
+
+
-
-
+
+
diff --git a/dist/languages/de.ts b/dist/languages/de.ts
index 817f03fb8..500dce5f2 100644
--- a/dist/languages/de.ts
+++ b/dist/languages/de.ts
@@ -138,7 +138,7 @@ p, li { white-space: pre-wrap; }
-
+ Wenn du einen Spieler blockierst, wirst du keine Chatnachricht mehr von Ihm erhalten. <br><br> Bist du sicher mit der Blockierung von %1?
@@ -212,7 +212,7 @@ Dies würde deren Forum Benutzernamen und deren IP-Adresse sperren.
-
+ %1 - %2 (%3/%4 Mitglieder) - verbunden
@@ -251,22 +251,22 @@ Dies würde deren Forum Benutzernamen und deren IP-Adresse sperren.
-
+ Das Spiel kommt nicht über den "Starten..."-Bildschirm hinaus
-
+ Ja Das Spiel kommt über das Intro/Menü hinaus und ins Gameplay
-
+ Nein das Spiel stürzt ab oder friert ein während des Ladens des Menüs.
-
+ <html><head/><body><p>Erreicht das Spiel den Spielverlauf?</p></body></html>
@@ -276,12 +276,12 @@ Dies würde deren Forum Benutzernamen und deren IP-Adresse sperren.
- Nein Das Spiel funktioniert nicht fehlerfrei. (Stürzt ab oder freezed)
+ Nein Das Spiel stürzt ab oder freezed während des spielen.
-
+ <html><head/><body><p>Funktioniert das Spiel ohne Abstürze, einfrieren oder dass es sich während des Spielverlaufs aufhängt?</p></body></html>
@@ -296,7 +296,7 @@ Dies würde deren Forum Benutzernamen und deren IP-Adresse sperren.
-
+ <html><head/><body><p>Ist das Spiel komplett spielbar von Anfang bis Ende?</p></body></html>
@@ -316,7 +316,7 @@ Dies würde deren Forum Benutzernamen und deren IP-Adresse sperren.
-
+ <html><head/><body><p>Hat das Spiel irgendwelche grafischen Störungen?</p></body></html>
@@ -336,7 +336,7 @@ Dies würde deren Forum Benutzernamen und deren IP-Adresse sperren.
-
+ <html><head/><body><p>Hat das Spiel irgendwelche Tonstörungen / fehlende Effekte?</p></body></html>
@@ -390,7 +390,7 @@ Dies würde deren Forum Benutzernamen und deren IP-Adresse sperren.
-
+ Tonausgangsmodus:
@@ -577,7 +577,8 @@ Dies würde deren Forum Benutzernamen und deren IP-Adresse sperren.
<div>This option improves the speed of 32 bits ASIMD floating-point functions by running with incorrect rounding modes.</div>
-
+
+Diese Option steigert die Geschwindigkeit von 32-Bit-ASMID-Gleitkomma-Funktionen indem diese mit ungenauen Rundungsmodellen laufen.
@@ -602,19 +603,23 @@ Dies würde deren Forum Benutzernamen und deren IP-Adresse sperren.
<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>
-
+
+<div>Diese option verbessert die Geschwindigkeit durch ausschalten eines Sicherheits Check, bevor jeder speicher lesen/schreiben im Gast. Ausschalten erlaubt den Spiel vielleicht den Emulators Speicher zu lesen/schreiben.</div>
+
-
+ Adressraumprüfungen deaktivieren
-
+
+ <div>Diese Option verbessert die Geschwindigkeit, indem sie sich nur auf die Semantik von cmpxchg (compare and swap) verlässt, um die Sicherheit von Anweisungen mit exklusivem Zugriff zu gewährleisten. Bitte beachten Sie, dass dies zu Deadlocks und anderen Race Conditions führen kann.</div>
+
@@ -647,7 +652,7 @@ Dies würde deren Forum Benutzernamen und deren IP-Adresse sperren.
-
+ <html><head/><body><p><span style=" font-weight:600;">Nur für debugging.</span><br/>Wenn du nicht sicher bist was sie tun, dann lasse sie alle an. <br/>Diese Einstellung wenn ausgeschaltet, funktionieren nur wen CPU debugging an ist.</p></body></html>
@@ -774,12 +779,14 @@ Dies würde deren Forum Benutzernamen und deren IP-Adresse sperren.
-
+
+ <div style="white-space: nowrap">Diese Optimierung verschnellert Zugriff auf den Speicher durch ein Gast programm.</div>
+ <div style="white-space: nowrap">
-
+ Aktiviert Host MMU Emulation (Generale Speicher Anweisung)
@@ -788,7 +795,11 @@ Dies würde deren Forum Benutzernamen und deren IP-Adresse sperren.
-
+
+<div style="white-space: nowrap"> Diese Optimierung beschleunigt exklusive Speicherzugriffe durch das Gastprogramm.</div>
+<div style="white-space: nowrap"> Die Aktivierung führt dazu, dass gastexklusive Speicherlese- und -schreibvorgänge direkt im Speicher erfolgen und die MMU des Hosts verwendet wird.</div>
+<div style="white-space: nowrap"> Die Deaktivierung dieser Funktion zwingt alle exklusiven Speicherzugriffe zur Verwendung der Software-MMU-Emulation.</div>
+
@@ -801,12 +812,15 @@ Dies würde deren Forum Benutzernamen und deren IP-Adresse sperren.
-
+
+<div style="white-space: nowrap"> Diese Optimierung beschleunigt exklusive Speicherzugriffe durch das Gastprogramm.</div>
+<div style="white-space: nowrap"> Durch die Aktivierung wird der Overhead von Fastmem-Fehlern bei exklusiven Speicherzugriffen reduziert.</div>
+
-
+ Neukompilierung von Anweisungen mit exklusivem Speicher aktivieren
@@ -814,12 +828,15 @@ Dies würde deren Forum Benutzernamen und deren IP-Adresse sperren.
-
+
+<div style="white-space: nowrap"> Diese Optimierung beschleunigt die Speicherzugriffe, indem sie ungültige Speicherzugriffe zulässt.</div>
+<div style="white-space: nowrap"> Die Aktivierung reduziert den Overhead aller Speicherzugriffe und hat keine Auswirkungen auf Programme, die nicht auf ungültigen Speicher zugreifen.</div>
+
-
+ Fallbacks für ungültige Speicherzugriffe einschalten
@@ -902,7 +919,7 @@ Dies würde deren Forum Benutzernamen und deren IP-Adresse sperren.
-
+ Wenn diese Option aktiviert ist, werden Nsight Aftermath-Crash-Dumps zugelassen.
@@ -912,7 +929,7 @@ Dies würde deren Forum Benutzernamen und deren IP-Adresse sperren.
-
+ Wenn diese Option aktiviert ist, werden alle Original-Assembler-Shader aus dem Festplatten-Shader-Cache oder welche von dem Spiel gefunden gefunden gedumpt.
@@ -922,7 +939,7 @@ Dies würde deren Forum Benutzernamen und deren IP-Adresse sperren.
-
+ Wenn diese Option aktiviert ist, werden alle Makroprogramme der GPU gedumpt
@@ -942,7 +959,7 @@ Dies würde deren Forum Benutzernamen und deren IP-Adresse sperren.
-
+ When checked, it disables the macro HLE functions. Enabling this makes games run slower
@@ -962,7 +979,7 @@ Dies würde deren Forum Benutzernamen und deren IP-Adresse sperren.
-
+ Wenn diese Option aktiviert ist, werden Shader ohne Änderungen der looplogik ausgeführt.
@@ -977,7 +994,7 @@ Dies würde deren Forum Benutzernamen und deren IP-Adresse sperren.
-
+ Ausführliche Berichtsdienste aktivieren**
@@ -987,17 +1004,17 @@ Dies würde deren Forum Benutzernamen und deren IP-Adresse sperren.
-
+ Aktivieren Sie diese Option, um den zuletzt generierten Audio-Log auf der Konsole auszugeben. Betrifft nur Spiele, die den Audio-Renderer verwenden.
-
+ Audio-Befehle auf die Konsole als Dump abspeichern**
-
+ Minidump nach Absturz erstellen
@@ -1027,7 +1044,7 @@ Dies würde deren Forum Benutzernamen und deren IP-Adresse sperren.
-
+ Aktiviere alle Arten von Controllern
@@ -1037,12 +1054,12 @@ Dies würde deren Forum Benutzernamen und deren IP-Adresse sperren.
-
+ Ermöglicht es yuzu, beim Programmstart nach einer funktionierenden Vulkan-Umgebung zu suchen. Deaktivieren Sie dies, wenn dies zu Problemen mit externen Programmen führt, die yuzu sehen.
-
+ Vulkan-Prüfung beim Start durchführen
@@ -1067,7 +1084,7 @@ Dies würde deren Forum Benutzernamen und deren IP-Adresse sperren.
-
+ MiniDump-Erstellung nicht kompiliert
@@ -1115,78 +1132,78 @@ Dies würde deren Forum Benutzernamen und deren IP-Adresse sperren.yuzu-Konfiguration
-
-
+
+
Audio
-
-
+
+
CPU
-
+
Debug
-
+
Dateisystem
-
-
+
+
Allgemein
-
-
+
+
Grafik
-
+
GraphicsAdvanced
-
+
Hotkeys
-
-
+
+
Steuerung
-
+
Nutzer
-
+
Netzwerk
-
-
+
+
System
-
+
Spieleliste
-
+
Web
@@ -1380,17 +1397,22 @@ Dies würde deren Forum Benutzernamen und deren IP-Adresse sperren.Mauszeiger verstecken
-
+
+
+
+
+
+
Setze alle Einstellungen zurück
-
+
yuzu
-
+
Hierdurch werden alle Einstellungen zurückgesetzt und alle spielspezifischen Konfigurationen gelöscht. Spiel-Ordner, Profile oder Eingabeprofile werden nicht gelöscht. Fortfahren?
@@ -1464,7 +1486,10 @@ Dies würde deren Forum Benutzernamen und deren IP-Adresse sperren.
-
+ FIFO (VSync) lässt keine Bilder fallen und zeigt kein Tearing, ist aber durch die Bildwiederholfrequenz begrenzt.
+FIFO Relaxed ist ähnlich wie FIFO, lässt aber Tearing zu, wenn es sich von einer Verlangsamung erholt.
+Mailbox kann eine geringere Latenz als FIFO haben und zeigt kein Tearing, kann aber Bilder fallen lassen.
+Immediate (keine Synchronisierung) zeigt direkt, was verfügbar ist und kann Tearing zeigen.
@@ -1594,7 +1619,7 @@ Immediate (no synchronization) just presents whatever is available and can exhib
-
+ Bildschirmanpassungsfilter:
@@ -1678,43 +1703,43 @@ Immediate (no synchronization) just presents whatever is available and can exhib
Hintergrundfarbe:
-
+
GLASM (Assembly Shaders, Nur NVIDIA)
-
+
SPIR-V (Experimentell, Nur Mesa)
-
+
FSR sharpening percentage (e.g. 50%)
%1%
-
+
Aus
-
+
Vsync Aus
-
+
Empfohlen
-
+
An
-
+
Vsync An
@@ -1789,12 +1814,12 @@ Immediate (no synchronization) just presents whatever is available and can exhib
-
+ Verwendet reaktives Flushing anstelle von prädiktivem Flushing. Ermöglicht eine genauere Synchronisierung des Speichers.
-
+ Aktiviere Reactives Flushing
@@ -1809,7 +1834,7 @@ Immediate (no synchronization) just presents whatever is available and can exhib
-
+ Aktiviert Schnelle GPU-Zeit. Diese Option zwingt die meisten Spiele dazu, mit ihrer höchsten nativen Auflösung zu laufen.
@@ -1819,7 +1844,7 @@ Immediate (no synchronization) just presents whatever is available and can exhib
-
+ Aktiviert den GPU-anbieterspezifischen Pipeline-Cache. Diese Option kann die Shader-Ladezeit in Fällen, in denen der Vulkan-Treiber die Pipeline-Cache-Dateien nicht intern speichert, erheblich verbessern.
@@ -1830,45 +1855,66 @@ Immediate (no synchronization) just presents whatever is available and can exhib
-
+ Aktiviert Compute Pipelines, die von einigen Spielen benötigt werden. Diese Einstellung existiert nur für proprietäre Intel-Treiber und kann bei Aktivierung zum Absturz führen.
+Compute-Pipelines sind bei allen anderen Treibern immer aktiviert.
+ Aktiviere Compute Pipelines (nur Intel Vulkan)
+
+
+
+
+ Lasse das Spiel in der normalen Geschwindigkeit abspielen, trotz freigeschalteter Bildrade (FPS)
+
+
+
+
+ Synchronisiere die Bildrate mit der Zwischensequenz
+
+
+
+
+ Verbessert das Rendering von Transparenzeffekten in bestimmten Spielen.
+
+
+
+
-
+
Anisotrope Filterung:
-
+
Automatisch
-
+
Standard
-
+
2x
-
+
4x
-
+
8x
-
+
16x
@@ -1951,12 +1997,12 @@ Compute pipelines are always enabled on all other drivers.
-
+ Widersprüchliche Tastenfolge
-
+ Die Standard Tastenfolge ist bereits belegt von: %1
@@ -2251,7 +2297,7 @@ Compute pipelines are always enabled on all other drivers.
-
+
Konfigurieren
@@ -2285,7 +2331,7 @@ Compute pipelines are always enabled on all other drivers.
-
+ Unterstützung für XInput 8-Player aktivieren (deaktiviert das Web-Applet)
@@ -2310,7 +2356,7 @@ Compute pipelines are always enabled on all other drivers.
-
+ Ermöglicht die unbegrenzte Nutzung des gleichen Amiibo's welches andernfalls durch das Spiel limitiert wird.
@@ -2318,22 +2364,7 @@ Compute pipelines are always enabled on all other drivers.
Zufällige Amiibo-ID verwenden
-
-
- Maus-Panning aktivieren
-
-
-
-
- Maus-Empfindlichkeit
-
-
-
-
- %
-
-
-
+
Bewegung / Touch
@@ -2445,7 +2476,7 @@ Compute pipelines are always enabled on all other drivers.
-
+
Linker Analogstick
@@ -2539,14 +2570,14 @@ Compute pipelines are always enabled on all other drivers.
-
+
L
-
+
ZL
@@ -2565,7 +2596,7 @@ Compute pipelines are always enabled on all other drivers.
-
+
Plus
@@ -2578,15 +2609,15 @@ Compute pipelines are always enabled on all other drivers.
-
-
+
+
R
-
+
ZR
@@ -2643,247 +2674,257 @@ Compute pipelines are always enabled on all other drivers.
-
+
Rechter Analogstick
-
-
-
-
+
+
+
+
+
+
+
+ Konfigurieren
+
+
+
+
+
+
Löschen
-
-
-
-
-
+
+
+
+
+
[nicht belegt]
-
-
-
+
+
+
Knopf invertieren
-
-
+
+
Taste umschalten
-
+
Turbo Knopf
-
-
+
+
Achsen umkehren
-
-
-
+
+
+
-
+ Schwellwert festlegen
-
-
+
+
Wert zwischen 0% und 100% wählen
-
+
-
+
-
+ Gyro-Schwelle einstellen
-
+
Kalibriere den Sensor
-
+
Analog-Stick festlegen
-
+
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.
-
+
Achse zentrieren
-
-
+
+
Deadzone: %1%
-
-
+
+
Modifikator-Radius: %1%
-
-
+
+
Pro Controller
-
+
Zwei Joycons
-
+
Linker Joycon
-
+
Rechter Joycon
-
+
Handheld
-
+
GameCube-Controller
-
+
Poke-Ball Plus
-
+
NES Controller
-
+
SNES Controller
-
+
N64 Controller
-
+
Sega Genesis
-
+
Start / Pause
-
+
Z
-
+
Analog Stick
-
+
C-Stick
-
+
Schütteln!
-
+
[wartet]
-
+
Neues Profil
-
+
Profilnamen eingeben:
-
-
+
+
Eingabeprofil erstellen
-
+
Angegebener Profilname ist nicht gültig!
-
+
Erstellen des Eingabeprofils "%1" ist fehlgeschlagen
-
+
Eingabeprofil löschen
-
+
Löschen des Eingabeprofils "%1" ist fehlgeschlagen
-
+
Eingabeprofil laden
-
+
Laden des Eingabeprofils "%1" ist fehlgeschlagen
-
+
Eingabeprofil speichern
-
+
Speichern des Eingabeprofils "%1" ist fehlgeschlagen
@@ -3062,6 +3103,81 @@ Um die Achsen umzukehren, bewege den Joystick zuerst vertikal und dann horizonta
UDP-Test oder Kalibration wird gerade durchgeführt.<br>Bitte warte einen Moment.
+
+ ConfigureMousePanning
+
+
+
+
+
+
+
+
+ Aktiviere
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ %
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Standard
+
+
ConfigureNetwork
@@ -3138,47 +3254,47 @@ Um die Achsen umzukehren, bewege den Joystick zuerst vertikal und dann horizonta
Entwickler
-
+
Add-Ons
-
+
Allgemeines
-
+
System
-
+
CPU
-
+
Grafik
-
+
Erw. Grafik
-
+
Audio
-
+
Eingabe-Profile
-
+
Einstellungen
@@ -3344,12 +3460,12 @@ Um die Achsen umzukehren, bewege den Joystick zuerst vertikal und dann horizonta
-
+ Fehler bei der Größenänderung des Benutzerbildes
-
+ Die Bildgröße kann nicht angepasst werden.
@@ -3380,13 +3496,13 @@ UUID: %2
-
+
-
+ Parameter für den virtuellen Ringsensor
@@ -3417,14 +3533,14 @@ UUID: %2
-
+
Aktiviere
-
+ Ringsensor-Wert
@@ -3461,7 +3577,7 @@ UUID: %2
-
+ Fehler beim Aktivieren des Ring-Inputs
@@ -3484,12 +3600,17 @@ UUID: %2
-
-
+
+
-
+
+
+ Unerwartetes Treiber Ergebnis %1
+
+
+
[wartet]
@@ -3910,7 +4031,7 @@ UUID: %2
-
+ Achtung: "%1" ist keine valide Sprache für die Region "%2"
@@ -3923,17 +4044,17 @@ UUID: %2
-
+ <html><head/><body><p>Liest Controller-Eingaben von Skripten im gleichen Format wie TAS-nx-Skripte.<br/>Für eine detailliertere Erklärung, konsultiere bitte die <a href="https://yuzu-emu.org/help/feature/tas/"><span style=" text-decoration: underline; color:#039be5;"> Hilfe Seite </span></a> auf der yuzu website.</p></body></html>
-
+ Um zu überprüfen, welche Hotkeys die Wiedergabe/Aufnahme steuern, sehen Sie bitte in den Hotkey-Einstellungen nach (Konfigurieren -> Allgemein -> Hotkeys).
-
+ ACHTUNG: Dies ist ein experimentes Feature.<br/>Es wird scripts nicht perfekt mit der momentanen, unperfekten Synchronisationsmethode abspielen.
@@ -4555,7 +4676,7 @@ Ziehe die Punkte mit deiner Maus, um ihre Position zu ändern. Doppelklicke auf
-
+ <html><head/><body><p>Serveradresse des Hosts</p></body></html>
@@ -4599,559 +4720,576 @@ Ziehe die Punkte mit deiner Maus, um ihre Position zu ändern. Doppelklicke auf
GMainWindow
-
+
<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?
-
+
Telemetrie
-
+
Defekte Vulkan-Installation erkannt
-
+
+ Vulkan Initialisierung fehlgeschlagen.<br><br>Klicken Sie auf <a href='https://yuzu-emu.org/wiki/faq/#yuzu-starts-with-the-error-broken-vulkan-installation-detected'>für Instruktionen zur Problembehebung.</a>.
+
+
+
+
+ TRANSLATORS: This string is shown to the user to explain why yuzu needs to prevent the computer from sleeping
-
+
Lade Web-Applet...
-
-
+
+
Deaktiviere die Web Applikation
-
+
-
+
Wie viele Shader im Moment kompiliert werden
-
+
-
+ Der momentan ausgewählte Auflösungsskalierung Multiplikator.
-
+
Derzeitige Emulations-Geschwindigkeit. Werte höher oder niedriger als 100% zeigen, dass die Emulation scheller oder langsamer läuft als auf einer Switch.
-
+
Wie viele Bilder pro Sekunde angezeigt werden variiert von Spiel zu Spiel und von Szene zu Szene.
-
+
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.
-
+
+
+ Ton aktivieren
+
+
+
+
+ Stummschalten
+
+
+
+
+ Ton zurücksetzen
+
+
+
&Zuletzt geladene Dateien leeren
-
+
Emulierte Maus ist aktiviert
-
+
-
+ Echte Mauseingabe und Mausschwenken sind nicht kompatibel. Bitte deaktivieren Sie die emulierte Maus in den erweiterten Eingabeeinstellungen, um das Schwenken der Maus zu ermöglichen.
-
+
&Fortsetzen
-
+
&Pause
-
-
- TRANSLATORS: This string is shown to the user to explain why yuzu needs to prevent the computer from sleeping
- yuzu betreibt ein Speil
-
-
-
+
Warnung veraltetes Spielformat
-
+
Du nutzt eine entpackte ROM-Ordnerstruktur für dieses Spiel, welches ein veraltetes Format ist und von anderen Formaten wie NCA, NAX, XCI oder NSP überholt wurde. Entpackte ROM-Ordner unterstützen keine Icons, Metadaten oder Updates.<br><br><a href='https://yuzu-emu.org/wiki/overview-of-switch-game-formats'>Unser Wiki</a> enthält eine Erklärung der verschiedenen Formate, die yuzu unterstützt. Diese Nachricht wird nicht noch einmal angezeigt.
-
-
+
+
ROM konnte nicht geladen werden!
-
+
ROM-Format wird nicht unterstützt.
-
+
Beim Initialisieren des Video-Kerns ist ein Fehler aufgetreten.
-
+
-
+ Yuzu ist auf einen Fehler gestoßen beim Ausführen des Videokerns.
+Dies ist in der Regel auf veraltete GPU Treiber zurückzuführen, integrierte GPUs eingeschlossen.
+Bitte öffnen Sie die Log Datei für weitere Informationen. Für weitere Informationen wie Sie auf die Log Datei zugreifen, öffnen Sie bitte die folgende Seite: <a href='https://yuzu-emu.org/help/reference/log-files/'>Wie wird eine Log Datei hochgeladen?</a>.
-
+
%1 signifies a numeric error code.
ROM konnte nicht geladen werden! %1
-
+
%1 signifies an error string.
%1<br>Bitte folge der <a href='https://yuzu-emu.org/help/quickstart/'>yuzu-Schnellstart-Anleitung</a> um deine Dateien zu extrahieren.<br>Hilfe findest du im yuzu-Wiki</a> oder dem yuzu-Discord</a>.
-
+
Ein unbekannter Fehler ist aufgetreten. Bitte prüfe die Log-Dateien auf mögliche Fehlermeldungen.
-
+
(64-Bit)
-
+
(32-Bit)
-
+
%1 is the title name. %2 indicates if the title is 64-bit or 32-bit
%1 %2
-
+
Schließe Software...
-
+
Speicherdaten
-
+
Mod-Daten
-
+
Konnte Verzeichnis %1 nicht öffnen
-
-
+
+
Verzeichnis existiert nicht!
-
+
Fehler beim Öffnen des transferierbaren Shader-Caches
-
+
Fehler beim erstellen des Shader-Cache-Ordner für den ausgewählten Titel.
-
+
Fehler beim Entfernen des Inhalts
-
+
Fehler beim Entfernen des Updates
-
+
Fehler beim Entfernen des DLCs
-
+
Installierten Spiele-Content entfernen?
-
+
Installierte Spiele-Updates entfernen?
-
+
Installierte Spiele-DLCs entfernen?
-
+
Eintrag entfernen
-
-
-
-
-
-
+
+
+
+
+
+
Erfolgreich entfernt
-
+
Das Spiel wurde entfernt.
-
+
Das Spiel ist nicht im NAND installiert und kann somit nicht entfernt werden.
-
+
Das Update wurde entfernt.
-
+
Es ist kein Update für diesen Titel installiert.
-
+
Es sind keine DLC für diesen Titel installiert.
-
+
%1 DLC entfernt.
-
+
Transferierbaren OpenGL Shader Cache löschen?
-
+
Transferierbaren Vulkan Shader Cache löschen?
-
+
Alle transferierbaren Shader Caches löschen?
-
+
Spiel-Einstellungen entfernen?
-
+
Cache-Speicher entfernen?
-
+
Datei entfernen
-
-
+
+
Fehler beim Entfernen
-
-
+
+
Es existiert kein Shader-Cache für diesen Titel.
-
+
Der transferierbare Shader-Cache wurde entfernt.
-
+
Konnte den transferierbaren Shader-Cache nicht entfernen.
-
+
Fehler beim Entfernen des Vulkan-Pipeline-Cache
-
+
Fehler beim Entfernen des Driver-Pipeline-Cache
-
-
+
+
Fehler beim Entfernen der transferierbaren Shader Caches
-
+
-
+ Die übertragbaren Shader-Caches wurden erfolgreich entfernt.
-
+
-
-
+
+
Fehler beim Entfernen
-
+
Es existieren keine Spiel-Einstellungen für dieses Spiel.
-
+
Die Spiel-Einstellungen wurden entfernt.
-
+
Die Spiel-Einstellungen konnten nicht entfernt werden.
-
-
+
+
RomFS-Extraktion fehlgeschlagen!
-
+
Das RomFS konnte wegen eines Fehlers oder Abbruchs nicht kopiert werden.
-
+
Komplett
-
+
Nur Ordnerstruktur
-
+
RomFS Extraktions-Modus auswählen
-
+
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.
-
+
Es ist nicht genügend Speicher (%1) vorhanden um das RomFS zu entpacken. Bitte sorge für genügend Speicherplatze oder wähle ein anderes Verzeichnis aus. (Emulation > Konfiguration > System > Dateisystem > Dump Root)
-
+
RomFS wird extrahiert...
-
-
+
+
Abbrechen
-
+
RomFS wurde extrahiert!
-
+
Der Vorgang wurde erfolgreich abgeschlossen.
-
-
-
-
-
+
+
+
+
+
Verknüpfung erstellen
-
+
-
+
-
+
-
+
Icon erstellen
-
+
-
+ Symboldatei konnte nicht erstellt werden. Der Pfad "%1" existiert nicht oder kann nicht erstellt werden.
-
+
-
+
-
+ Verknüpfung konnte nicht unter %1 erstellt werden.
-
+
-
+ Verknüpfung wurde erfolgreich erstellt unter %1
-
+
Fehler beim Öffnen von %1
-
+
Verzeichnis auswählen
-
+
Einstellungen
-
+
Spiel-Einstellungen konnten nicht geladen werden.
-
+
%1 is an identifier for the Switch executable file extensions.
Switch-Programme (%1);;Alle Dateien (*.*)
-
+
Datei laden
-
+
Öffne das extrahierte ROM-Verzeichnis
-
+
Ungültiges Verzeichnis ausgewählt
-
+
Das Verzeichnis, das du ausgewählt hast, enthält keine 'main'-Datei.
-
+
Installierbares Switch-Programm (*.nca *.nsp *.xci);;Nintendo Content Archive (*.nca);;Nintendo Submissions Package (*.nsp);;NX Cartridge Image (*.xci)
-
+
Dateien installieren
-
+
%n Datei verbleibend%n Dateien verbleibend
-
+
Datei "%1" wird installiert...
-
-
+
+
NAND-Installation
-
+
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.
-
+
%n file was newly installed
@@ -5159,400 +5297,324 @@ Bitte nutze diese Funktion nur zum Installieren von Updates und DLC.
-
+
-
+
-
+
Systemanwendung
-
+
Systemarchiv
-
+
Systemanwendungsupdate
-
+
Firmware-Paket (Typ A)
-
+
Firmware-Paket (Typ B)
-
+
Spiel
-
+
Spiel-Update
-
+
Spiel-DLC
-
+
Delta-Titel
-
+
Wähle den NCA-Installationstyp aus...
-
+
Bitte wähle, als was diese NCA installiert werden soll:
(In den meisten Fällen sollte die Standardeinstellung 'Spiel' ausreichen.)
-
+
Installation fehlgeschlagen
-
+
Der Titel-Typ, den du für diese NCA ausgewählt hast, ist ungültig.
-
+
Datei nicht gefunden
-
+
Datei "%1" nicht gefunden
-
+
OK
-
-
+
+
Hardwareanforderungen nicht erfüllt
-
-
+
+
Dein System erfüllt nicht die empfohlenen Mindestanforderungen der Hardware. Meldung der Komptabilität wurde deaktiviert.
-
+
Fehlender yuzu-Account
-
+
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 > Konfiguration > Web.
-
+
Fehler beim Öffnen der URL
-
+
URL "%1" kann nicht geöffnet werden.
-
+
TAS Aufnahme
-
+
Datei von Spieler 1 überschreiben?
-
+
Ungültige Konfiguration erkannt
-
+
Handheld-Controller können nicht im Dock verwendet werden. Der Pro-Controller wird verwendet.
-
-
+
+
Amiibo
-
-
+
+
Das aktuelle Amiibo wurde entfernt
-
+
Fehler
-
-
+
+
Das aktuelle Spiel sucht nicht nach Amiibos
-
+
Amiibo-Datei (%1);; Alle Dateien (*.*)
-
+
Amiibo laden
-
+
Fehler beim Laden der Amiibo-Daten
-
+
Die ausgewählte Datei ist keine gültige Amiibo
-
+
Die ausgewählte Datei wird bereits verwendet
-
+
Ein unbekannter Fehler ist aufgetreten
-
+
Screenshot aufnehmen
-
+
PNG Bild (*.png)
-
+
TAS Zustand: Läuft %1/%2
-
+
TAS Zustand: Aufnahme %1
-
+
-
+
TAS Zustand: Ungültig
-
+
-
+
&Start
-
+
-
+ Aufnahme stoppen
-
+
-
+ Aufnahme
-
+
-
+
%1 is the resolution scaling factor
Skalierung: %1x
-
+
Geschwindigkeit: %1% / %2%
-
+
Geschwindigkeit: %1%
-
+
Spiel: %1 FPS (Unbegrenzt)
-
+
Spiel: %1 FPS
-
+
Frame: %1 ms
-
-
- GPU NORMAL
+
+
+ %1 %2
-
-
- GPU HOCH
-
-
-
-
- GPU EXTREM
-
-
-
-
- GPU FEHLER
-
-
-
-
- DOCKED
-
-
-
-
- HANDHELD
-
-
-
-
- OPENGL
-
-
-
-
- VULKAN
-
-
-
-
- NULL
-
-
-
-
- NÄCHSTER
-
-
-
-
-
- BILINEAR
-
-
-
-
- BIKUBISCH
-
-
-
-
- GAUSSIAN
-
-
-
-
- SCALEFORCE
-
-
-
+
+
FSR
-
-
+
KEIN AA
-
-
- FXAA
-
-
-
-
- SMAA
-
-
-
+
LAUTSTÄRKE: STUMM
-
+
Volume percentage (e.g. 50%)
LAUTSTÄRKE: %1%
-
+
Schlüsselableitung bestätigen
-
+
-
+
Fuses fehlen
-
+
- BOOT0 fehlt
-
+
- BCPKG2-1-Normal-Main fehlt
-
+
- PRODINFO fehlt
-
+
Derivationskomponenten fehlen
-
+
-
+ Die Verschlüsselungsschlüssel fehlen. <br>Bitte folgen Sie <a href='https://yuzu-emu.org/help/quickstart/'>dem Yuzu Schnellstart Guide</a> um ihre benötigten Schlüssel, Firmware und Spiele zu erhalten.<br><br><small>(%1)</small>
-
+
@@ -5603,49 +5665,49 @@ on your system's performance.
Dies könnte, je nach Leistung deines Systems, bis zu einer Minute dauern.
-
+
Schlüsselableitung
-
+
-
+ Die Systemarchiventschlüsselung ist gescheitert.
-
+
-
+
RomFS wählen
-
+
Wähle, welches RomFS du speichern möchtest.
-
+
Bist du sicher, dass du yuzu beenden willst?
-
-
-
+
+
+
yuzu
-
+
Bist du sicher, dass du die Emulation stoppen willst? Jeder nicht gespeicherte Fortschritt geht verloren.
-
+
@@ -5653,48 +5715,143 @@ Would you like to bypass this and exit anyway?
Möchtest du dies umgehen und sie trotzdem beenden?
+
+
+
+ Keiner
+
+
+
+
+ FXAA
+
+
+
+
+ SMAA
+
+
+
+
+
+
+
+
+
+ Bilinear
+
+
+
+
+ Bikubisch
+
+
+
+
+ Gaussian
+
+
+
+
+ ScaleForce
+
+
+
+
+ Im Dock
+
+
+
+
+ Handheld
+
+
+
+
+ Normal
+
+
+
+
+ Hoch
+
+
+
+
+
+
+
+
+
+ Vulkan
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
GRenderWindow
-
-
+
+
OpenGL nicht verfügbar!
-
+
-
+ Gemeinsame OpenGL-Kontexte werden nicht unterstützt.
-
+
yuzu wurde nicht mit OpenGL-Unterstützung kompiliert.
-
-
+
+
Fehler beim Initialisieren von OpenGL!
-
+
Deine Grafikkarte unterstützt kein OpenGL oder du hast nicht den neusten Treiber installiert.
-
+
Fehler beim Initialisieren von OpenGL 4.6!
-
+
Deine Grafikkarte unterstützt OpenGL 4.6 nicht, oder du benutzt nicht die neuste Treiberversion.<br><br>GL Renderer:<br>%1
-
+
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
@@ -5903,7 +6060,7 @@ Möchtest du dies umgehen und sie trotzdem beenden?
-
+ Das Spiel funktioniert mit minimalen grafischen oder Tonstörungen und ist komplett spielbar.
@@ -5913,7 +6070,7 @@ Möchtest du dies umgehen und sie trotzdem beenden?
-
+ Das Spiel lädt, ist jedoch nicht im Stande den Startbildschirm zu passieren.
@@ -5949,7 +6106,7 @@ Möchtest du dies umgehen und sie trotzdem beenden?
- %1 von %n Ergebnis%1 von %n Ergebnisse
+ %1 von %n Ergebnis%1 von %n Ergebnisse(n)
@@ -6047,138 +6204,138 @@ Debug Message:
Hotkeys
-
+
Audio aktivieren / deaktivieren
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Hauptfenster
-
+
Lautstärke verringern
-
+
Lautstärke erhöhen
-
+
Screenshot aufnehmen
-
+
Adaptiven Filter ändern
-
+
-
+
GPU-Genauigkeit ändern
-
+
Emulation fortsetzen/pausieren
-
+
Vollbild verlassen
-
+
yuzu verlassen
-
+
Vollbild
-
+
Datei laden
-
+
Amiibo laden/entfernen
-
+
Emulation neustarten
-
+
Emulation stoppen
-
+
TAS aufnehmen
-
+
TAS neustarten
-
+
TAS starten/stoppen
-
+
-
+ Filterleiste umschalten
-
+
Aktiviere Bildraten Limitierung
-
+
-
+ Mausschwenk umschalten
-
+
@@ -6587,7 +6744,7 @@ Debug Message:
-
+ Aufnahme
@@ -6789,7 +6946,8 @@ Eventuell hat dieser den Raum verlassen.
-
+ Es ist keine gültige Netzwerkschnittstelle ausgewählt.
+Bitte gehen Sie zu Konfigurieren -> System -> Netzwerk und treffen Sie eine Auswahl.
@@ -6917,30 +7075,30 @@ p, li { white-space: pre-wrap; }
-
+
Shift
-
+
Strg
-
+
Alt
-
-
-
-
+
+
+
+
[nicht gesetzt]
@@ -6951,14 +7109,14 @@ p, li { white-space: pre-wrap; }
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
Achse %1%2
@@ -6969,320 +7127,320 @@ p, li { white-space: pre-wrap; }
-
-
-
-
-
-
+
+
+
+
+
+
[unbekannt]
-
-
+
+
Links
-
-
+
+
Rechts
-
-
+
+
Runter
-
-
+
+
Hoch
-
+
Z
-
+
R
-
+
L
-
+
A
-
+
B
-
+
X
-
+
Y
-
+
Start
-
+
L1
-
+
L2
-
+
L3
-
+
R1
-
+
R2
-
+
R3
-
+
Kreis
-
+
Kreuz
-
+
Quadrat
-
+
Dreieck
-
+
Teilen
-
+
Optionen
-
+
[undefiniert]
-
+
%1%2
-
-
+
+
[ungültig]
-
-
+
+
-
-
+
-
+
+
%1%2Achse %3
-
-
+
+
%1%2Achse %3,%4,%5
-
-
+
+
%1%2Bewegung %3
-
-
+
+
%1%2Knopf %3
-
-
+
+
[unbenutzt]
-
+
ZR
-
+
ZL
-
+
SR
-
+
SL
-
+
Stick L
-
+
Stick R
-
+
Plus
-
+
Minus
-
-
+
+
Home
-
+
Screenshot
-
+
Touch
-
+
Indicates the mouse wheel
Mausrad
-
+
Rückwärts
-
+
Vorwärts
-
+
Aufgabe
-
+
Extra
-
+
-
-
+
+
-
-
+
+
-
-
+
+
@@ -7362,7 +7520,7 @@ p, li { white-space: pre-wrap; }
-
+ Amiibo einbinden
diff --git a/dist/languages/el.ts b/dist/languages/el.ts
index 2d16da565..712f5241e 100644
--- a/dist/languages/el.ts
+++ b/dist/languages/el.ts
@@ -485,7 +485,7 @@ This would ban both their forum username and their IP address.
-
+ Αυτόματη
@@ -513,7 +513,7 @@ This would ban both their forum username and their IP address.
-
+ Αυτόματη
@@ -1126,78 +1126,78 @@ This would ban both their forum username and their IP address.
Διαμόρφωση yuzu
-
-
+
+
Ήχος
-
-
+
+
CPU
-
+
Αποσφαλμάτωση
-
+
Σύστημα Αρχείων
-
-
+
+
Γενικά
-
-
+
+
Γραφικά
-
+
-
+
Πλήκτρα Συντόμευσης
-
-
+
+
Χειρισμός
-
+
Τα προφίλ
-
+
Δίκτυο
-
-
+
+
Σύστημα
-
+
Λίστα Παιχνιδιών
-
+
Ιστός
@@ -1391,17 +1391,22 @@ This would ban both their forum username and their IP address.
Απόκρυψη δρομέα ποντικιού στην αδράνεια
-
+
+
+
+
+
+
Επαναφορά Όλων των Ρυθμίσεων
-
+
yuzu
-
+
Επαναφέρει όλες τις ρυθμίσεις και καταργεί όλες τις επιλογές ανά παιχνίδι. Δεν θα διαγράψει καταλόγους παιχνιδιών, προφίλ ή προφίλ εισόδου. Συνέχιση;
@@ -1689,43 +1694,43 @@ Immediate (no synchronization) just presents whatever is available and can exhib
Χρώμα Φόντου:
-
+
GLASM (Shaders Γλώσσας Μηχανής, μόνο NVIDIA)
-
+
-
+
FSR sharpening percentage (e.g. 50%)
%1%
-
+
-
+
-
+
-
+
-
+
@@ -1849,37 +1854,57 @@ Compute pipelines are always enabled on all other drivers.
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Ανισοτροπικό Φιλτράρισμα:
-
+
Αυτόματα
-
+
Προεπιλεγμένο
-
+
2x
-
+
4x
-
+
8x
-
+
16x
@@ -2262,7 +2287,7 @@ Compute pipelines are always enabled on all other drivers.
-
+
Διαμόρφωση
@@ -2329,22 +2354,7 @@ Compute pipelines are always enabled on all other drivers.
-
-
- Ενεργοποιήστε τη μετατόπιση του ποντικιού
-
-
-
-
- Ευαισθησία ποντικιού
-
-
-
-
- %
-
-
-
+
@@ -2456,7 +2466,7 @@ Compute pipelines are always enabled on all other drivers.
-
+
Αριστερό Stick
@@ -2550,14 +2560,14 @@ Compute pipelines are always enabled on all other drivers.
-
+
L
-
+
ZL
@@ -2576,7 +2586,7 @@ Compute pipelines are always enabled on all other drivers.
-
+
Συν
@@ -2589,15 +2599,15 @@ Compute pipelines are always enabled on all other drivers.
-
-
+
+
R
-
+
ZR
@@ -2654,247 +2664,257 @@ Compute pipelines are always enabled on all other drivers.
-
+
Δεξιός Μοχλός
-
-
-
-
+
+
+
+
+
+
+
+ Διαμόρφωση
+
+
+
+
+
+
Καθαρισμός
-
-
-
-
-
+
+
+
+
+
[άδειο]
-
-
-
+
+
+
Κουμπί αντιστροφής
-
-
+
+
Κουμπί εναλλαγής
-
+
-
-
+
+
Αντιστροφή άξονα
-
-
-
+
+
+
Ορισμός ορίου
-
-
+
+
Επιλέξτε μια τιμή μεταξύ 0% και 100%
-
+
Εναλλαγή αξόνων
-
+
Ρύθμιση κατωφλίου γυροσκοπίου
-
+
-
+
Χαρτογράφηση Αναλογικού Stick
-
+
Αφού πατήσετε OK, μετακινήστε πρώτα το joystick σας οριζόντια και μετά κατακόρυφα.
Για να αντιστρέψετε τους άξονες, μετακινήστε πρώτα το joystick κατακόρυφα και μετά οριζόντια.
-
+
Κεντρικός άξονας
-
-
+
+
Νεκρή Ζώνη: %1%
-
-
+
+
Εύρος Τροποποιητή: %1%
-
-
+
+
Pro Controller
-
+
Διπλά Joycons
-
+
Αριστερό Joycon
-
+
Δεξί Joycon
-
+
Handheld
-
+
Χειριστήριο GameCube
-
+
Poke Ball Plus
-
+
Χειριστήριο NES
-
+
Χειριστήριο SNES
-
+
Χειριστήριο N64
-
+
Sega Genesis
-
+
-
+
Z
-
+
-
+
C-Stick
-
+
-
+
[αναμονή]
-
+
Νέο Προφίλ
-
+
Εισαγάγετε ένα όνομα προφίλ:
-
-
+
+
Δημιουργία Προφίλ Χειρισμού
-
+
Το όνομα του προφίλ δεν είναι έγκυρο!
-
+
Η δημιουργία του προφίλ χειρισμού "%1" απέτυχε
-
+
Διαγραφή Προφίλ Χειρισμού
-
+
Η διαγραφή του προφίλ χειρισμού "%1" απέτυχε
-
+
Φόρτωση Προφίλ Χειρισμού
-
+
Η φόρτωση του προφίλ χειρισμού "%1" απέτυχε
-
+
Αποθήκευση Προφίλ Χειρισμού
-
+
Η αποθήκευση του προφίλ χειρισμού "%1" απέτυχε
@@ -3073,6 +3093,81 @@ To invert the axes, first move your joystick vertically, and then horizontally.<
Η δοκιμή UDP ή η διαμόρφωση βαθμονόμησης είναι σε εξέλιξη.<br>Παρακαλώ περιμένετε να τελειώσουν.
+
+ ConfigureMousePanning
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ %
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Προεπιλεγμένο
+
+
ConfigureNetwork
@@ -3149,47 +3244,47 @@ To invert the axes, first move your joystick vertically, and then horizontally.<
Προγραμματιστής
-
+
Πρόσθετα
-
+
Γενικά
-
+
Σύστημα
-
+
CPU
-
+
Γραφικά
-
+
Προχ. Γραφικά
-
+
Ήχος
-
+
-
+
Ιδιότητες
@@ -3391,7 +3486,7 @@ UUID: %2
-
+
@@ -3428,7 +3523,7 @@ UUID: %2
-
+
@@ -3495,12 +3590,17 @@ UUID: %2
-
+
+
+
+
+
+
-
+
[αναμονή]
@@ -3530,7 +3630,7 @@ UUID: %2
-
+ Αυτόματη
@@ -4609,105 +4709,120 @@ Drag points to change position, or double-click table cells to edit values.
GMainWindow
-
+
-
+
Τηλεμετρία
-
+
-
+
-
+
+
+ TRANSLATORS: This string is shown to the user to explain why yuzu needs to prevent the computer from sleeping
+
+
+
+
-
-
+
+
-
+
-
+
-
+
-
+
-
+
Πόσα καρέ ανά δευτερόλεπτο εμφανίζει το παιχνίδι αυτή τη στιγμή. Αυτό διαφέρει από παιχνίδι σε παιχνίδι και από σκηνή σε σκηνή.
-
+
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
-
+
-
+
-
+
&Συνέχεια
-
+
&Παύση
-
-
- TRANSLATORS: This string is shown to the user to explain why yuzu needs to prevent the computer from sleeping
-
-
-
-
+
-
+
Μη μεταφρασμένη συμβολοσειρά
@@ -4715,855 +4830,779 @@ Drag points to change position, or double-click table cells to edit values.
-
-
+
+
Σφάλμα κατά τη φόρτωση της ROM!
-
+
-
+
-
+
-
+
%1 signifies a numeric error code.
-
+
%1 signifies an error string.
-
+
Εμφανίστηκε ένα απροσδιόριστο σφάλμα. Ανατρέξτε στο αρχείο καταγραφής για περισσότερες λεπτομέρειες.
-
+
(64-bit)
-
+
(32-bit)
-
+
%1 is the title name. %2 indicates if the title is 64-bit or 32-bit
%1 %2
-
+
-
+
Αποθήκευση δεδομένων
-
+
-
+
-
-
+
+
Ο φάκελος δεν υπάρχει!
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
-
-
-
-
-
+
+
+
+
+
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
Αφαίρεση Αρχείου
-
-
+
+
-
-
+
+
-
+
-
+
-
+
-
+
-
-
+
+
-
+
-
+
-
-
+
+
-
+
-
+
-
+
-
-
+
+
-
+
-
+
-
+
-
+
Επιλογή λειτουργίας απόρριψης RomFS
-
+
Μη αποθηκευμένη μετάφραση.
Παρακαλούμε επιλέξτε τον τρόπο με τον οποίο θα θέλατε να γίνει η απόρριψη της RomFS.<br>
Η επιλογή Πλήρης θα αντιγράψει όλα τα αρχεία στο νέο κατάλογο, ενώ η επιλογή <br> Σκελετός θα δημιουργήσει μόνο τη δομή του καταλόγου.
-
+
-
+
-
-
+
+
Ακύρωση
-
+
-
+
Η επέμβαση ολοκληρώθηκε με επιτυχία.
-
-
-
-
-
+
+
+
+
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
Επιλογή καταλόγου
-
+
Ιδιότητες
-
+
-
+
%1 is an identifier for the Switch executable file extensions.
-
+
Φόρτωση αρχείου
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
-
+
+
Αποτελέσματα εγκατάστασης
-
+
-
+
-
+
-
+
-
+
Εφαρμογή συστήματος
-
+
-
+
-
+
-
+
-
+
Παιχνίδι
-
+
Ενημέρωση παιχνιδιού
-
+
DLC παιχνιδιού
-
+
-
+
Επιλέξτε τον τύπο εγκατάστασης NCA...
-
+
-
+
-
+
-
+
Το αρχείο δεν βρέθηκε
-
+
Το αρχείο "%1" δεν βρέθηκε
-
+
OK
-
-
+
+
-
-
+
+
-
+
-
+
-
+
Σφάλμα κατα το άνοιγμα του URL
-
+
Αδυναμία ανοίγματος του URL "%1".
-
+
-
+
-
+
-
+
-
-
+
+
Amiibo
-
-
+
+
-
+
Σφάλμα
-
-
+
+
-
+
-
+
Φόρτωση Amiibo
-
+
Σφάλμα φόρτωσης δεδομένων Amiibo
-
+
Το επιλεγμένο αρχείο δεν αποτελεί έγκυρο amiibo
-
+
Το επιλεγμένο αρχείο χρησιμοποιείται ήδη
-
+
-
+
Λήψη στιγμιότυπου οθόνης
-
+
Εικόνα PBG (*.png)
-
+
-
+
-
+
-
+
-
+
-
+
&Έναρξη
-
+
-
+
-
+
-
+
%1 is the resolution scaling factor
Κλίμακα: %1x
-
+
Ταχύτητα: %1% / %2%
-
+
Ταχύτητα: %1%
-
+
-
+
-
+
Καρέ: %1 ms
-
-
-
+
+
+ %1 %2
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- OPENGL
-
-
-
-
- VULKAN
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
FSR
-
-
+
-
-
- FXAA
-
-
-
-
- SMAA
-
-
-
+
-
+
Volume percentage (e.g. 50%)
-
+
-
+
-
+
-
+
- Λείπει το BOOT0
-
+
- Λείπει το BCPKG2-1-Normal-Main
-
+
- Λείπει το PRODINFO
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
Είστε σίγουροι ότι θέλετε να κλείσετε το yuzu;
-
-
-
+
+
+
yuzu
-
+
-
+
+
+
+
+ Κανένα
+
+
+
+
+ FXAA
+
+
+
+
+ SMAA
+
+
+
+
+
+
+
+
+
+ Διγραμμικό
+
+
+
+
+ Δικυβικό
+
+
+
+
+ Gaussian
+
+
+
+
+ ScaleForce
+
+
+
+
+ Docked
+
+
+
+
+ Handheld
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Vulkan
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
GRenderWindow
-
-
+
+
Το OpenGL δεν είναι διαθέσιμο!
-
+
-
+
-
-
+
+
Σφάλμα κατα την αρχικοποίηση του OpenGL!
-
+
-
+
-
+
-
+
@@ -6053,138 +6187,138 @@ Debug Message:
Hotkeys
-
+
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
-
+
-
+
-
+
Λήψη στιγμιότυπου οθόνης
-
+
-
+
-
+
-
+
-
+
-
+
-
+
Πλήρη Οθόνη
-
+
Φόρτωση αρχείου
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
@@ -6280,7 +6414,7 @@ Debug Message:
-
+ Αναζήτηση
@@ -6921,30 +7055,30 @@ p, li { white-space: pre-wrap; }
-
+
Shift
-
+
Ctrl
-
+
Alt
-
-
-
-
+
+
+
+
[μη ορισμένο]
@@ -6955,14 +7089,14 @@ p, li { white-space: pre-wrap; }
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
Άξονας%1%2
@@ -6973,320 +7107,320 @@ p, li { white-space: pre-wrap; }
-
-
-
-
-
-
+
+
+
+
+
+
[άγνωστο]
-
-
+
+
Αριστερά
-
-
+
+
Δεξιά
-
-
+
+
Κάτω
-
-
+
+
Πάνω
-
+
Z
-
+
R
-
+
L
-
+
A
-
+
B
-
+
Χ
-
+
Υ
-
+
-
+
L1
-
+
L2
-
+
L3
-
+
R1
-
+
R2
-
+
R3
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
-
+
+
-
-
+
+
-
-
+
-
+
+
-
-
+
+
-
-
+
+
-
-
+
+
-
-
+
+
[άδειο]
-
+
ZR
-
+
ZL
-
+
SR
-
+
SL
-
+
-
+
-
+
Συν
-
+
Μείον
-
-
+
+
Αρχική
-
+
Στιγμιότυπο
-
+
-
+
Indicates the mouse wheel
-
+
-
+
-
+
-
+
-
+
-
-
+
+
-
-
+
+
-
-
+
+
diff --git a/dist/languages/es.ts b/dist/languages/es.ts
index f57671af8..7032c726e 100644
--- a/dist/languages/es.ts
+++ b/dist/languages/es.ts
@@ -1137,78 +1137,78 @@ Esto banearía su nombre del foro y su dirección IP.
Configuración de yuzu
-
-
+
+
Audio
-
-
+
+
CPU
-
+
Depuración
-
+
Sistema de archivos
-
-
+
+
General
-
-
+
+
Gráficos
-
+
Gráficosavanzados
-
+
Teclas de acceso rápido
-
-
+
+
Controles
-
+
Perfiles
-
+
Red
-
-
+
+
Sistema
-
+
Lista de juegos
-
+
Web
@@ -1402,17 +1402,22 @@ Esto banearía su nombre del foro y su dirección IP.
Ocultar el cursor en caso de inactividad.
-
+
+
+ Desactivar applet de control
+
+
+
Reiniciar todos los ajustes
-
+
yuzu
-
+
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?
@@ -1703,43 +1708,43 @@ Inmediato (sin sincronización) sólo muestra lo que está disponible y puede mo
Color de fondo:
-
+
GLASM (Shaders de ensamblado, sólo NVIDIA)
-
+
SPIR-V (Experimental, sólo Mesa)
-
+
FSR sharpening percentage (e.g. 50%)
%1%
-
+
Desactivado
-
+
VSync Desactivado
-
+
Recomendado
-
+
Activado
-
+
VSync Activado
@@ -1864,37 +1869,57 @@ Las canalizaciones de cómputo están siempre activadas en los otros drivers.Activar canalizaciones de cómputo (sólo Intel Vulkan)
-
+
+
+ Corre el juego a la velocidad normal durante la reproducción de vídeos, incluso cuando no hay límite de fotogramas.
+
+
+
+
+ Sincronizar a fotogramas de reproducción de vídeo
+
+
+
+
+ Mejora la renderización de los efectos de transparencia en ciertos juegos.
+
+
+
+
+ Bucles de feedback de barrera
+
+
+
Filtrado anisotrópico:
-
+
Automático
-
+
Valor predeterminado
-
+
x2
-
+
x4
-
+
x8
-
+
x16
@@ -2277,7 +2302,7 @@ Las canalizaciones de cómputo están siempre activadas en los otros drivers.
-
+
Configurar
@@ -2344,22 +2369,7 @@ Las canalizaciones de cómputo están siempre activadas en los otros drivers.Usar un ID de Amiibo aleatorio
-
-
- Activar desplazamiento del ratón
-
-
-
-
- Sensibilidad del ratón
-
-
-
-
- %
-
-
-
+
Movimiento / táctil
@@ -2471,7 +2481,7 @@ Las canalizaciones de cómputo están siempre activadas en los otros drivers.
-
+
Palanca izquierda
@@ -2565,14 +2575,14 @@ Las canalizaciones de cómputo están siempre activadas en los otros drivers.
-
+
L
-
+
ZL
@@ -2591,7 +2601,7 @@ Las canalizaciones de cómputo están siempre activadas en los otros drivers.
-
+
Más
@@ -2604,15 +2614,15 @@ Las canalizaciones de cómputo están siempre activadas en los otros drivers.
-
-
+
+
R
-
+
ZR
@@ -2669,247 +2679,257 @@ Las canalizaciones de cómputo están siempre activadas en los otros drivers.
-
+
Palanca derecha
-
-
-
-
+
+
+ Desplazamiento del ratón
+
+
+
+
+ Configurar
+
+
+
+
+
+
Borrar
-
-
-
-
-
+
+
+
+
+
[no definido]
-
-
-
+
+
+
Invertir botón
-
-
+
+
Alternar botón
-
+
Botón turbo
-
-
+
+
Invertir ejes
-
-
-
+
+
+
Configurar umbral
-
-
+
+
Seleccione un valor entre 0% y 100%.
-
+
Alternar ejes
-
+
Configurar umbral del Giroscopio
-
+
Calibrar sensor
-
+
Configuración de palanca analógico
-
+
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.
-
+
Centrar ejes
-
-
+
+
Punto muerto: %1%
-
-
+
+
Rango del modificador: %1%
-
-
+
+
Controlador Pro
-
+
Joycons duales
-
+
Joycon izquierdo
-
+
Joycon derecho
-
+
Portátil
-
+
Controlador de GameCube
-
+
Poke Ball Plus
-
+
Controlador NES
-
+
Controlador SNES
-
+
Controlador N64
-
+
Sega Genesis
-
+
Inicio / Pausa
-
+
Z
-
+
Palanca de control
-
+
C-Stick
-
+
¡Agita!
-
+
[esperando]
-
+
Nuevo perfil
-
+
Introduce un nombre de perfil:
-
-
+
+
Crear perfil de entrada
-
+
¡El nombre de perfil introducido no es válido!
-
+
Error al crear el perfil de entrada "%1"
-
+
Eliminar perfil de entrada
-
+
Error al eliminar el perfil de entrada "%1"
-
+
Cargar perfil de entrada
-
+
Error al cargar el perfil de entrada "%1"
-
+
Guardar perfil de entrada
-
+
Error al guardar el perfil de entrada "%1"
@@ -3088,6 +3108,81 @@ Para invertir los ejes, mueve primero el joystick de manera vertical, y luego ho
La prueba de UDP o la configuración de la calibración está en curso.<br>Por favor, espera a que termine el proceso.
+
+ ConfigureMousePanning
+
+
+
+ Configurar desplazamiento del ratón
+
+
+
+
+ Activar
+
+
+
+
+ Puede ser activada con una tecla de acceso rápido
+
+
+
+
+ Sensibilidad
+
+
+
+
+
+ Horizontal
+
+
+
+
+
+
+
+
+
+ %
+
+
+
+
+
+ Vertical
+
+
+
+
+ Contrapeso de la zona muerta
+
+
+
+
+ Contrarresta la zona muerta por defecto de un juego
+
+
+
+
+ Decaída del stick
+
+
+
+
+ Fuerza
+
+
+
+
+ Mínimo
+
+
+
+
+ Predeterminado
+
+
ConfigureNetwork
@@ -3164,47 +3259,47 @@ Para invertir los ejes, mueve primero el joystick de manera vertical, y luego ho
Desarrollador
-
+
Extras / Add-Ons
-
+
General
-
+
Sistema
-
+
CPU
-
+
Gráficos
-
+
Gráficos avanz.
-
+
Audio
-
+
Perfiles de entrada
-
+
Propiedades
@@ -3407,8 +3502,8 @@ UUID: %2
-
- Si quieres usar este control configura el jugador 1 como el control derecho y el jugador 2 como joycon dual antes de iniciar el juego para permitir al control ser detectado apropiadamente.
+
+ Para usar el Ring-Con, configura al jugador 1 como el Joy-Con derecho (tanto físico como emulado) y al jugador 2 como el Joy-Con izquierdo (tanto físico como emulado) antes de correr el juego.
@@ -3444,7 +3539,7 @@ UUID: %2
-
+
Activar
@@ -3511,12 +3606,17 @@ UUID: %2
El dispositivo de entrada actual no tiene el Ring incorporado
-
+
+
+
+
+
+
Resultado inesperado del driver %1
-
+
[esperando]
@@ -4626,560 +4726,575 @@ Arrastra los puntos para cambiar de posición, o haz doble clic en las celdas de
GMainWindow
-
+
<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?
-
+
Telemetría
-
+
Se ha detectado una instalación corrupta de Vulkan
-
+
La inicialización de Vulkan ha fallado durante la ejecución. Haz clic <a href='https://yuzu-emu.org/wiki/faq/#yuzu-starts-with-the-error-broken-vulkan-installation-detected'>aquí para más información sobre como arreglar el problema</a>.
-
+
+
+ TRANSLATORS: This string is shown to the user to explain why yuzu needs to prevent the computer from sleeping
+ Ejecutando un juego
+
+
+
Cargando Web applet...
-
-
+
+
Desactivar Web applet
-
+
Deshabilitar el Applet Web puede causar comportamientos imprevistos y debería solo ser usado con Super Mario 3D All-Stars. ¿Estas seguro que quieres deshabilitar el Applet Web?
(Puede ser reactivado en las configuraciones de Depuración.)
-
+
La cantidad de shaders que se están construyendo actualmente
-
+
El multiplicador de escala de resolución seleccionado actualmente.
-
+
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.
-
+
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.
-
+
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.
-
+
+
+ Desmutear
+
+
+
+
+ Mutear
+
+
+
+
+ Restablecer Volumen
+
+
+
&Eliminar archivos recientes
-
+
El ratón emulado está activado
-
+
La entrada de un ratón real y la panoramización del ratón son incompatibles. Por favor, desactive el ratón emulado en la configuración avanzada de entrada para permitir así la panoramización del ratón.
-
+
&Continuar
-
+
&Pausar
-
-
- TRANSLATORS: This string is shown to the user to explain why yuzu needs to prevent the computer from sleeping
- yuzu está ejecutando un juego
-
-
-
+
Advertencia: formato del juego obsoleto
-
+
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.
-
-
+
+
¡Error al cargar la ROM!
-
+
El formato de la ROM no es compatible.
-
+
Se ha producido un error al inicializar el núcleo de video.
-
+
yuzu ha encontrado un error al ejecutar el núcleo de video. Esto suele ocurrir al no tener los controladores de la GPU actualizados, incluyendo los integrados. Por favor, revisa el registro para más detalles. Para más información sobre cómo acceder al registro, por favor, consulta la siguiente página: <a href='https://yuzu-emu.org/help/reference/log-files/'>Como cargar el archivo de registro</a>.
-
+
%1 signifies a numeric error code.
¡Error al cargar la ROM! %1
-
+
%1 signifies an error string.
%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.
-
+
Error desconocido. Por favor, consulte el archivo de registro para ver más detalles.
-
+
(64-bit)
-
+
(32-bit)
-
+
%1 is the title name. %2 indicates if the title is 64-bit or 32-bit
%1 %2
-
+
Cerrando software...
-
+
Datos de guardado
-
+
Datos de mods
-
+
Error al abrir la carpeta %1
-
-
+
+
¡La carpeta no existe!
-
+
Error al abrir el caché transferible de shaders
-
+
No se pudo crear el directorio de la caché de los shaders para este título.
-
+
Error al eliminar el contenido
-
+
Error al eliminar la actualización
-
+
Error al eliminar el DLC
-
+
¿Eliminar contenido del juego instalado?
-
+
¿Eliminar actualización del juego instalado?
-
+
¿Eliminar el DLC del juego instalado?
-
+
Eliminar entrada
-
-
-
-
-
-
+
+
+
+
+
+
Se ha eliminado con éxito
-
+
Se ha eliminado con éxito el juego base instalado.
-
+
El juego base no está instalado en el NAND y no se puede eliminar.
-
+
Se ha eliminado con éxito la actualización instalada.
-
+
No hay ninguna actualización instalada para este título.
-
+
No hay ningún DLC instalado para este título.
-
+
Se ha eliminado con éxito %1 DLC instalado(s).
-
+
¿Deseas eliminar el caché transferible de shaders de OpenGL?
-
+
¿Deseas eliminar el caché transferible de shaders de Vulkan?
-
+
¿Deseas eliminar todo el caché transferible de shaders?
-
+
¿Deseas eliminar la configuración personalizada del juego?
-
+
-
+ ¿Quitar almacenamiento de caché?
-
+
Eliminar archivo
-
-
+
+
Error al eliminar la caché de shaders transferibles
-
-
+
+
No existe caché de shaders para este título.
-
+
El caché de shaders transferibles se ha eliminado con éxito.
-
+
No se ha podido eliminar la caché de shaders transferibles.
-
+
Error al eliminar la caché de canalización del controlador Vulkan
-
+
No se ha podido eliminar la caché de canalización del controlador.
-
-
+
+
Error al eliminar las cachés de shaders transferibles
-
+
Cachés de shaders transferibles eliminadas con éxito.
-
+
No se ha podido eliminar el directorio de cachés de shaders transferibles.
-
-
+
+
Error al eliminar la configuración personalizada del juego
-
+
No existe una configuración personalizada para este título.
-
+
Se eliminó con éxito la configuración personalizada del juego.
-
+
No se ha podido eliminar la configuración personalizada del juego.
-
-
+
+
¡La extracción de RomFS ha fallado!
-
+
Se ha producido un error al copiar los archivos RomFS o el usuario ha cancelado la operación.
-
+
Completo
-
+
En secciones
-
+
Elegir método de volcado de RomFS
-
+
Por favor, selecciona el método en que quieres volcar el RomFS.<br>Completo copiará todos los archivos al nuevo directorio <br> mientras que en secciones solo creará la estructura del directorio.
-
+
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
-
+
Extrayendo RomFS...
-
-
+
+
Cancelar
-
+
¡La extracción RomFS ha tenido éxito!
-
+
La operación se completó con éxito.
-
-
-
-
-
+
+
+
+
+
Crear acceso directo
-
+
Esto creará un acceso directo a la AppImage actual. Esto puede no funcionar bien si se actualiza. ¿Continuar?
-
+
No se puede crear un acceso directo en el escritorio. La ruta "%1" no existe.
-
+
No se puede crear un acceso directo en el menú de aplicaciones. La ruta "%1" no existe y no se puede crear.
-
+
Crear icono
-
+
No se puede crear el archivo de icono. La ruta "%1" no existe y no se ha podido crear.
-
+
Iniciar %1 con el Emulador yuzu
-
+
Error al crear un acceso directo en %1
-
+
Se ha creado un acceso directo a %1
-
+
Error al intentar abrir %1
-
+
Seleccionar directorio
-
+
Propiedades
-
+
No se pueden cargar las propiedades del juego.
-
+
%1 is an identifier for the Switch executable file extensions.
Ejecutable de Switch (%1);;Todos los archivos (*.*)
-
+
Cargar archivo
-
+
Abrir el directorio de la ROM extraída
-
+
Directorio seleccionado no válido
-
+
El directorio que ha seleccionado no contiene ningún archivo 'main'.
-
+
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)
-
+
Instalar archivos
-
+
%n archivo(s) restantes%n archivo(s) restantes%n archivo(s) restantes
-
+
Instalando el archivo "%1"...
-
-
+
+
Instalar resultados
-
+
Para evitar posibles conflictos, no se recomienda a los usuarios que instalen juegos base en el NAND.
Por favor, utiliza esta función sólo para instalar actualizaciones y DLCs.
-
+
%n archivo(s) recién instalado/s
@@ -5188,7 +5303,7 @@ Por favor, utiliza esta función sólo para instalar actualizaciones y DLCs.
-
+
%n archivo(s) recién sobreescrito/s
@@ -5197,7 +5312,7 @@ Por favor, utiliza esta función sólo para instalar actualizaciones y DLCs.
-
+
%n archivo(s) no se instaló/instalaron
@@ -5206,388 +5321,312 @@ Por favor, utiliza esta función sólo para instalar actualizaciones y DLCs.
-
+
Aplicación del sistema
-
+
Archivo del sistema
-
+
Actualización de la aplicación del sistema
-
+
Paquete de firmware (Tipo A)
-
+
Paquete de firmware (Tipo B)
-
+
Juego
-
+
Actualización de juego
-
+
DLC del juego
-
+
Titulo delta
-
+
Seleccione el tipo de instalación NCA...
-
+
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).
-
+
Fallo en la instalación
-
+
El tipo de título que seleccionó para el NCA no es válido.
-
+
Archivo no encontrado
-
+
Archivo "%1" no encontrado
-
+
Aceptar
-
-
+
+
No se cumplen los requisitos de hardware
-
-
+
+
El sistema no cumple con los requisitos de hardware recomendados. Los informes de compatibilidad se han desactivado.
-
+
Falta la cuenta de Yuzu
-
+
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 > Configuración > Web.
-
+
Error al abrir la URL
-
+
No se puede abrir la URL "%1".
-
+
Grabación TAS
-
+
¿Sobrescribir archivo del jugador 1?
-
+
Configuración no válida detectada
-
+
El controlador del modo portátil no puede ser usado en el modo sobremesa. Se seleccionará el controlador Pro en su lugar.
-
-
+
+
Amiibo
-
-
+
+
El amiibo actual ha sido eliminado
-
+
Error
-
-
+
+
El juego actual no está buscando amiibos
-
+
Archivo amiibo (%1);; Todos los archivos (*.*)
-
+
Cargar amiibo
-
+
Error al cargar los datos Amiibo
-
+
El archivo seleccionado no es un amiibo válido
-
+
El archivo seleccionado ya se encuentra en uso
-
+
Ha ocurrido un error inesperado
-
+
Captura de pantalla
-
+
Imagen PNG (*.png)
-
+
Estado TAS: ejecutando %1/%2
-
+
Estado TAS: grabando %1
-
+
Estado TAS: inactivo %1/%2
-
+
Estado TAS: nulo
-
+
&Parar de ejecutar
-
+
&Iniciar
-
+
Pausar g&rabación
-
+
G&rabar
-
+
Creando: %n shader(s)Construyendo: %n shader(s)Construyendo: %n shader(s)
-
+
%1 is the resolution scaling factor
Escalado: %1x
-
+
Velocidad: %1% / %2%
-
+
Velocidad: %1%
-
+
Juego: %1 FPS (desbloqueado)
-
+
Juego: %1 FPS
-
+
Fotogramas: %1 ms
-
-
- GPU NORMAL
+
+
+ %1 %2
-
-
- GPU ALTA
-
-
-
-
- GPU EXTREMA
-
-
-
-
- GPU ERROR
-
-
-
-
- SOBREMESA
-
-
-
-
- PORTÁTIL
-
-
-
-
- OPENGL
-
-
-
-
- VULKAN
-
-
-
-
- NULL
-
-
-
-
- PRÓXIMO
-
-
-
-
-
- BILINEAL
-
-
-
-
- BICÚBICO
-
-
-
-
- GAUSSIANO
-
-
-
-
- SCALEFORCE
-
-
-
+
+
FSR
-
-
+
NO AA
-
-
- FXAA
-
-
-
-
- SMAA
-
-
-
+
VOLUMEN: SILENCIO
-
+
Volume percentage (e.g. 50%)
VOLUMEN: %1%
-
+
Confirmar la clave de rederivación
-
+
-
+
Faltan fuses
-
+
- Falta BOOT0
-
+
- Falta BCPKG2-1-Normal-Main
-
+
- Falta PRODINFO
-
+
Faltan componentes de derivación
-
+
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>
-
+
@@ -5643,49 +5682,49 @@ Esto puede llevar unos minutos dependiendo
del rendimiento de su sistema.
-
+
Obtención de claves
-
+
Desencriptación del Sistema de Archivos Fallida
-
+
Las claves de encriptación no han podido desencriptar el firmware. <br>Por favor, siga<a href='https://yuzu-emu.org/help/quickstart/'>la guía de inicio rápido de yuzu</a> para obtener todas tus claves, firmware y juegos.
-
+
Selecciona el destinatario para volcar el RomFS
-
+
Por favor, seleccione los RomFS que deseas volcar.
-
+
¿Estás seguro de que quieres cerrar yuzu?
-
-
-
+
+
+
yuzu
-
+
¿Estás seguro de que quieres detener la emulación? Cualquier progreso no guardado se perderá.
-
+
@@ -5693,48 +5732,143 @@ Would you like to bypass this and exit anyway?
¿Quieres salir de todas formas?
+
+
+
+ Ninguno
+
+
+
+
+ FXAA
+
+
+
+
+ SMAA
+
+
+
+
+ Mas cercano
+
+
+
+
+ Bilineal
+
+
+
+
+ Bicúbico
+
+
+
+
+ Gaussiano
+
+
+
+
+ ScaleForce
+
+
+
+
+ Sobremesa
+
+
+
+
+ Portátil
+
+
+
+
+ Normal
+
+
+
+
+ Alto
+
+
+
+
+ Extremo
+
+
+
+
+ Vulkan
+
+
+
+
+ OpenGL
+
+
+
+
+ Null
+
+
+
+
+ GLSL
+
+
+
+
+ GLASM
+
+
+
+
+ SPIRV
+
GRenderWindow
-
-
+
+
¡OpenGL no está disponible!
-
+
Los contextos compartidos de OpenGL no son compatibles.
-
+
yuzu no ha sido compilado con soporte de OpenGL.
-
-
+
+
¡Error al inicializar OpenGL!
-
+
Tu GPU no soporta OpenGL, o no tienes instalados los últimos controladores gráficos.
-
+
¡Error al iniciar OpenGL 4.6!
-
+
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
-
+
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
@@ -5794,7 +5928,7 @@ Would you like to bypass this and exit anyway?
-
+ Quitar almacenamiento de caché
@@ -6088,138 +6222,138 @@ Mensaje de depuración:
Hotkeys
-
+
Activar/Desactivar audio
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Ventana principal
-
+
Bajar volumen del audio
-
+
Subir volumen del audio
-
+
Captura de pantalla
-
+
Cambiar filtro adaptable
-
+
Cambiar a modo sobremesa
-
+
Cambiar precisión de GPU
-
+
Continuar/Pausar emulación
-
+
Salir de pantalla completa
-
+
Cerrar yuzu
-
+
Pantalla completa
-
+
Cargar archivo
-
+
Cargar/Eliminar Amiibo
-
+
Reiniciar emulación
-
+
Detener emulación
-
+
Grabar TAS
-
+
Reiniciar TAS
-
+
Iniciar/detener TAS
-
+
Alternar barra de filtro
-
+
Alternar limite de fotogramas
-
+
Alternar desplazamiento del ratón
-
+
Alternar barra de estado
@@ -6962,30 +7096,30 @@ p, li { white-space: pre-wrap; }
-
+
Shift
-
+
Ctrl
-
+
Alt
-
-
-
-
+
+
+
+
[no definido]
@@ -6996,14 +7130,14 @@ p, li { white-space: pre-wrap; }
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
Eje %1%2
@@ -7014,320 +7148,320 @@ p, li { white-space: pre-wrap; }
-
-
-
-
-
-
+
+
+
+
+
+
[desconocido]
-
-
+
+
Izquierda
-
-
+
+
Derecha
-
-
+
+
Abajo
-
-
+
+
Arriba
-
+
Z
-
+
R
-
+
L
-
+
A
-
+
B
-
+
X
-
+
Y
-
+
Comenzar
-
+
L1
-
+
L2
-
+
L3
-
+
R1
-
+
R2
-
+
R3
-
+
Círculo
-
+
Cruz
-
+
Cuadrado
-
+
Triángulo
-
+
Compartir
-
+
Opciones
-
+
[sin definir]
-
+
%1%2
-
-
+
+
[inválido]
-
-
+
+
%1%2Rotación %3
-
-
+
-
+
+
%1%2Eje %3
-
-
+
+
%1%2Eje %3,%4,%5
-
-
+
+
%1%2Movimiento %3
-
-
+
+
%1%2Botón %3
-
-
+
+
[no usado]
-
+
ZR
-
+
ZL
-
+
SR
-
+
SL
-
+
Palanca L
-
+
Palanca R
-
+
Más
-
+
Menos
-
-
+
+
Inicio
-
+
Captura
-
+
Táctil
-
+
Indicates the mouse wheel
Rueda
-
+
Atrás
-
+
Adelante
-
+
Tarea
-
+
Extra
-
+
%1%2%3%4
-
-
+
+
%1%2%3Rotación %4
-
-
+
+
%1%2%3Axis %4
-
-
+
+
%1%2%3Botón %4
diff --git a/dist/languages/fr.ts b/dist/languages/fr.ts
index 0046c3128..49d30137f 100644
--- a/dist/languages/fr.ts
+++ b/dist/languages/fr.ts
@@ -1136,78 +1136,78 @@ Cette option améliore la vitesse en réduisant la précision des instructions f
Configuration de yuzu
-
-
+
+
Son
-
-
+
+
CPU
-
+
Débogage
-
+
Système de fichiers
-
-
+
+
Général
-
-
+
+
Vidéo
-
+
Graphismes avancés
-
+
Raccourcis clavier
-
-
+
+
Contrôles
-
+
Profils
-
+
Réseau
-
-
+
+
Système
-
+
Liste des jeux
-
+
Web
@@ -1401,17 +1401,22 @@ Cette option améliore la vitesse en réduisant la précision des instructions f
Cacher la souris en cas d'inactivité
-
+
+
+ Désactiver l'applet du contrôleur
+
+
+
Réinitialiser tous les paramètres
-
+
yuzu
-
+
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 ?
@@ -1702,43 +1707,43 @@ Immédiat (sans synchronisation) présente simplement ce qui est disponible et p
Couleur de L’arrière plan :
-
+
GLASM (Shaders en Assembleur, NVIDIA Seulement)
-
+
SPIR-V (Expérimental, Mesa seulement)
-
+
FSR sharpening percentage (e.g. 50%)
%1%
-
+
Désactivé
-
+
VSync Désactivée
-
+
Recommandé
-
+
Activé
-
+
VSync Activée
@@ -1863,37 +1868,58 @@ Les pipelines de calcul sont toujours activés sur tous les autres pilotes.Activer les pipelines de calcul (uniquement pour Intel Vulkan)
-
+
+
+ Éxécuter le jeu à une vitesse normale pendant la relecture du vidéo,
+même-ci la fréquence d'image est dévérouillée.
+
+
+
+
+ Synchro la fréquence d'image de la relecture du vidéo
+
+
+
+
+ Améliore le rendu des effets de transparence dans des jeux spécifiques.
+
+
+
+
+ Boucles de rétroaction de barrière
+
+
+
Filtrage anisotropique :
-
+
Automatique
-
+
Défaut
-
+
2x
-
+
4x
-
+
8x
-
+
16x
@@ -2276,7 +2302,7 @@ Les pipelines de calcul sont toujours activés sur tous les autres pilotes.
-
+
Configurer
@@ -2343,22 +2369,7 @@ Les pipelines de calcul sont toujours activés sur tous les autres pilotes.Utiliser un ID d'Amiibo aléatoire
-
-
- Activer le mouvement panorama avec la souris
-
-
-
-
- Sensibilité de la souris
-
-
-
-
- %
-
-
-
+
La motion / Toucher
@@ -2470,7 +2481,7 @@ Les pipelines de calcul sont toujours activés sur tous les autres pilotes.
-
+
Stick Gauche
@@ -2564,14 +2575,14 @@ Les pipelines de calcul sont toujours activés sur tous les autres pilotes.
-
+
L
-
+
ZL
@@ -2590,7 +2601,7 @@ Les pipelines de calcul sont toujours activés sur tous les autres pilotes.
-
+
Plus
@@ -2603,15 +2614,15 @@ Les pipelines de calcul sont toujours activés sur tous les autres pilotes.
-
-
+
+
R
-
+
ZR
@@ -2668,247 +2679,257 @@ Les pipelines de calcul sont toujours activés sur tous les autres pilotes.
-
+
Stick Droit
-
-
-
-
+
+
+ Panoramique de la souris
+
+
+
+
+ Configurer
+
+
+
+
+
+
Effacer
-
-
-
-
-
+
+
+
+
+
[non défini]
-
-
-
+
+
+
Inverser les boutons
-
-
+
+
Bouton d'activation
-
+
Bouton Turbo
-
-
+
+
Inverser l'axe
-
-
-
+
+
+
Définir le seuil
-
-
+
+
Choisissez une valeur entre 0% et 100%
-
+
Basculer les axes
-
+
Définir le seuil du gyroscope
-
+
Calibrer le capteur
-
+
Mapper le stick analogique
-
+
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.
-
+
Axe central
-
-
+
+
Zone morte : %1%
-
-
+
+
Modification de la course : %1%
-
-
+
+
Pro Controller
-
+
Deux Joycons
-
+
Joycon de gauche
-
+
Joycon de droit
-
+
Mode Portable
-
+
Manette GameCube
-
+
Poké Ball Plus
-
+
Manette NES
-
+
Manette SNES
-
+
Manette N64
-
+
Sega Genesis
-
+
Start / Pause
-
+
Z
-
+
Stick de contrôle
-
+
C-Stick
-
+
Secouez !
-
+
[en attente]
-
+
Nouveau Profil
-
+
Entrez un nom de profil :
-
-
+
+
Créer un profil d'entrée
-
+
Le nom de profil donné est invalide !
-
+
Échec de la création du profil d'entrée "%1"
-
+
Supprimer le profil d'entrée
-
+
Échec de la suppression du profil d'entrée "%1"
-
+
Charger le profil d'entrée
-
+
Échec du chargement du profil d'entrée "%1"
-
+
Sauvegarder le profil d'entrée
-
+
Échec de la sauvegarde du profil d'entrée "%1"
@@ -3087,6 +3108,81 @@ Pour inverser les axes, bougez d'abord votre joystick verticalement, puis h
Le test UDP ou la configuration de l'étalonnage est en cours.<br>Veuillez attendre qu'ils se terminent.
+
+ ConfigureMousePanning
+
+
+
+ Configurer le panoramique de la souris
+
+
+
+
+ Activer
+
+
+
+
+ Peut être activé/désactivé via un raccourci clavier
+
+
+
+
+ Sensibilité
+
+
+
+
+
+ Horizontal
+
+
+
+
+
+
+
+
+
+ %
+
+
+
+
+
+ Vertical
+
+
+
+
+ Contrepoids de zone morte
+
+
+
+
+ Contrebalance la zone morte intégrée d'un jeu
+
+
+
+
+ Dégradation du stick
+
+
+
+
+ Force
+
+
+
+
+ Minimum
+
+
+
+
+ Défaut
+
+
ConfigureNetwork
@@ -3163,47 +3259,47 @@ Pour inverser les axes, bougez d'abord votre joystick verticalement, puis h
Développeur
-
+
Extensions
-
+
Général
-
+
Système
-
+
CPU
-
+
Graphiques
-
+
Adv. Graphiques
-
+
Audio
-
+
Profils d'entrée
-
+
Propriétés
@@ -3406,8 +3502,8 @@ UUID : %2
-
- Si vous souhaitez utiliser cette manette, configurez le joueur 1 comme manette droite et le joueur 2 comme double joycon avant de lancer le jeu pour permettre à cette manette d'être détectée correctement.
+
+ Pour utiliser le Ring-Con, configurez le joueur 1 comme Joy-Con droit (à la fois physique et émulé), et le joueur 2 comme Joy-Con gauche (gauche physique et double émulé) avant de démarrer le jeu.
@@ -3443,7 +3539,7 @@ UUID : %2
-
+
Activer
@@ -3510,12 +3606,17 @@ UUID : %2
L'appareil actuellement mappé n'a pas d'anneau attaché
-
+
+
+ L'appareil actuellement mappé n'est pas connecté
+
+
+
Résultat de pilote inattendu %1
-
+
[En attente]
@@ -4625,959 +4726,898 @@ Faites glisser les points pour modifier la position ou double-cliquez sur les ce
GMainWindow
-
+
<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 ?
-
+
Télémétrie
-
+
Installation Vulkan Cassée Détectée
-
+
L'initialisation de Vulkan a échoué lors du démarrage.<br><br>Cliquez <a href='https://yuzu-emu.org/wiki/faq/#yuzu-starts-with-the-error-broken-vulkan-installation-detected'>ici pour obtenir des instructions pour résoudre le problème</a>.
-
+
+
+ TRANSLATORS: This string is shown to the user to explain why yuzu needs to prevent the computer from sleeping
+ Exécution d'un jeu
+
+
+
Chargement du Web Applet...
-
-
+
+
Désactiver l'applet web
-
+
La désactivation de l'applet Web peut entraîner un comportement indéfini et ne doit être utilisée qu'avec Super Mario 3D All-Stars. Voulez-vous vraiment désactiver l'applet Web ?
(Cela peut être réactivé dans les paramètres de débogage.)
-
+
La quantité de shaders en cours de construction
-
+
Le multiplicateur de mise à l'échelle de résolution actuellement sélectionné.
-
+
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.
-
+
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.
-
+
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.
-
+
+
+ Remettre le son
+
+
+
+
+ Couper le son
+
+
+
+
+ Réinitialiser le volume
+
+
+
&Effacer les fichiers récents
-
+
La souris émulée est activée
-
+
La saisie réelle de la souris et le panoramique de la souris sont incompatibles. Veuillez désactiver la souris émulée dans les paramètres avancés d'entrée pour permettre le panoramique de la souris.
-
+
&Continuer
-
+
&Pause
-
-
- TRANSLATORS: This string is shown to the user to explain why yuzu needs to prevent the computer from sleeping
- yuzu exécute un jeu
-
-
-
+
Avertissement : Le Format de jeu est dépassé
-
+
Vous utilisez un format de ROM déconstruite pour ce jeu, qui est donc un format dépassé qui à été remplacer par d'autre. Par exemple les formats NCA, NAX, XCI, ou NSP. Les destinations de ROM déconstruites manque des icônes, des métadonnée et du support de mise à jour.<br><br>Pour une explication des divers formats Switch que yuzu supporte, <a href='https://yuzu-emu.org/wiki/overview-of-switch-game-formats'>Regardez dans le wiki</a>. Ce message ne sera pas montré une autre fois.
-
-
+
+
Erreur lors du chargement de la ROM !
-
+
Le format de la ROM n'est pas supporté.
-
+
Une erreur s'est produite lors de l'initialisation du noyau dédié à la vidéo.
-
+
yuzu a rencontré une erreur en exécutant le cœur vidéo. Cela est généralement causé par des pilotes graphiques trop anciens. Veuillez consulter les logs pour plus d'informations. Pour savoir comment accéder aux logs, veuillez vous référer à la page suivante : <a href='https://yuzu-emu.org/help/reference/log-files/'>Comment partager un fichier de log </a>.
-
+
%1 signifies a numeric error code.
Erreur lors du chargement de la ROM ! %1
-
+
%1 signifies an error string.
%1<br>Veuillez suivre <a href='https://yuzu-emu.org/help/quickstart/'>le guide de démarrage rapide yuzu</a> pour retransférer vos fichiers.<br>Vous pouvez vous référer au wiki yuzu</a> ou le Discord yuzu</a> pour de l'assistance.
-
+
Une erreur inconnue est survenue. Veuillez consulter le journal des logs pour plus de détails.
-
+
(64-bit)
-
+
(32-bit)
-
+
%1 is the title name. %2 indicates if the title is 64-bit or 32-bit
%1 %2
-
+
Fermeture du logiciel...
-
+
Enregistrer les données
-
+
Donnés du Mod
-
+
Erreur dans l'ouverture du dossier %1.
-
-
+
+
Le dossier n'existe pas !
-
+
Erreur lors de l'ouverture des Shader Cache Transferable
-
+
Impossible de créer le dossier de cache du shader pour ce jeu.
-
+
Erreur en enlevant le contenu
-
+
Erreur en enlevant la Mise à Jour
-
+
Erreur en enlevant le DLC
-
+
Enlever les données du jeu installé ?
-
+
Enlever la mise à jour du jeu installé ?
-
+
Enlever le DLC du jeu installé ?
-
+
Supprimer l'entrée
-
-
-
-
-
-
+
+
+
+
+
+
Supprimé avec succès
-
+
Suppression du jeu de base installé avec succès.
-
+
Le jeu de base n'est pas installé dans la NAND et ne peut pas être supprimé.
-
+
Suppression de la mise à jour installée avec succès.
-
+
Il n'y a pas de mise à jour installée pour ce titre.
-
+
Il n'y a pas de DLC installé pour ce titre.
-
+
Suppression de %1 DLC installé(s) avec succès.
-
+
Supprimer la Cache OpenGL de Shader Transférable?
-
+
Supprimer la Cache Vulkan de Shader Transférable?
-
+
Supprimer Toutes les Caches de Shader Transférable?
-
+
Supprimer la configuration personnalisée du jeu?
-
+
Supprimer le stockage du cache ?
-
+
Supprimer fichier
-
-
+
+
Erreur lors de la suppression du cache de shader transférable
-
-
+
+
Un shader cache pour ce titre n'existe pas.
-
+
Suppression du cache de shader transférable avec succès.
-
+
Échec de la suppression du cache de shader transférable.
-
+
Erreur lors de la suppression du cache de pipeline de pilotes Vulkan
-
+
Échec de la suppression du cache de pipeline de pilotes.
-
-
+
+
Erreur durant la Suppression des Caches de Shader Transférable
-
+
Suppression des caches de shader transférable effectuée avec succès.
-
+
Impossible de supprimer le dossier de la cache de shader transférable.
-
-
+
+
Erreur lors de la suppression de la configuration personnalisée
-
+
Il n'existe pas de configuration personnalisée pour ce titre.
-
+
Suppression de la configuration de jeu personnalisée avec succès.
-
+
Échec de la suppression de la configuration personnalisée du jeu.
-
-
+
+
L'extraction de la RomFS a échoué !
-
+
Une erreur s'est produite lors de la copie des fichiers RomFS ou l'utilisateur a annulé l'opération.
-
+
Plein
-
+
Squelette
-
+
Sélectionnez le mode d'extraction de la RomFS
-
+
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.
-
+
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 > Configurer > Système > Système de fichiers > Extraire la racine
-
+
Extraction de la RomFS ...
-
-
+
+
Annuler
-
+
Extraction de la RomFS réussi !
-
+
L'opération s'est déroulée avec succès.
-
-
-
-
-
+
+
+
+
+
Créer un raccourci
-
+
Cela créera un raccourci vers l'AppImage actuelle. Cela peut ne pas fonctionner correctement si vous mettez à jour. Continuer ?
-
+
Impossible de créer un raccourci sur le bureau. Le chemin "%1" n'existe pas.
-
+
Impossible de créer un raccourci dans le menu des applications. Le chemin "%1" n'existe pas et ne peut pas être créé.
-
+
Créer une icône
-
+
Impossible de créer le fichier d'icône. Le chemin "%1" n'existe pas et ne peut pas être créé.
-
+
Démarrer %1 avec l'émulateur Yuzu
-
+
Impossible de créer un raccourci vers %1
-
+
Création réussie d'un raccourci vers %1
-
+
Erreur lors de l'ouverture %1
-
+
Sélectionner un répertoire
-
+
Propriétés
-
+
Les propriétés du jeu n'ont pas pu être chargées.
-
+
%1 is an identifier for the Switch executable file extensions.
Exécutable Switch (%1);;Tous les fichiers (*.*)
-
+
Charger un fichier
-
+
Ouvrir le dossier des ROM extraites
-
+
Destination sélectionnée invalide
-
+
Le répertoire que vous avez sélectionné ne contient pas de fichier "main".
-
+
Fichier Switch installable (*.nca *.nsp *.xci);;Nintendo Content Archive (*.nca);;Nintendo Submission Package (*.nsp);;NX Cartridge Image (*.xci)
-
+
Installer les fichiers
-
+
%n fichier restant%n fichiers restants%n fichiers restants
-
+
Installation du fichier "%1" ...
-
-
+
+
Résultats d'installation
-
+
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.
-
+
%n fichier a été nouvellement installé%n fichiers ont été nouvellement installés%n fichiers ont été nouvellement installés
-
+
%n fichier a été écrasé%n fichiers ont été écrasés%n fichiers ont été écrasés
-
+
%n fichier n'a pas pu être installé%n fichiers n'ont pas pu être installés%n fichiers n'ont pas pu être installés
-
+
Application Système
-
+
Archive Système
-
+
Mise à jour de l'application système
-
+
Paquet micrologiciel (Type A)
-
+
Paquet micrologiciel (Type B)
-
+
Jeu
-
+
Mise à jour de jeu
-
+
DLC de jeu
-
+
Titre Delta
-
+
Sélectionner le type d'installation du NCA...
-
+
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.)
-
+
Échec de l'installation
-
+
Le type de titre que vous avez sélectionné pour le NCA n'est pas valide.
-
+
Fichier non trouvé
-
+
Fichier "%1" non trouvé
-
+
OK
-
-
+
+
Éxigences matérielles non respectées
-
-
+
+
Votre système ne correspond pas aux éxigences matérielles. Les rapports de comptabilité ont été désactivés.
-
+
Compte yuzu manquant
-
+
Pour soumettre un test de compatibilité pour un jeu, vous devez lier votre compte yuzu.<br><br/>Pour lier votre compte yuzu, aller à Emulation > Configuration> Web.
-
+
Erreur lors de l'ouverture de l'URL
-
+
Impossible d'ouvrir l'URL "%1".
-
+
Enregistrement TAS
-
+
Écraser le fichier du joueur 1 ?
-
+
Configuration invalide détectée
-
+
Contrôleur portable ne peut pas être utilisé en mode téléviseur. La manette Pro sera sélectionnée.
-
-
+
+
Amiibo
-
-
+
+
L'amiibo actuel a été retiré
-
+
Erreur
-
-
+
+
Le jeu actuel ne cherche pas d'amiibos.
-
+
Fichier Amiibo (%1);; Tous les fichiers (*.*)
-
+
Charger un Amiibo
-
+
Erreur lors du chargement des données Amiibo
-
+
Le fichier choisi n'est pas un amiibo valide
-
+
Le fichier sélectionné est déjà utilisé
-
+
Une erreur inconnue s'est produite
-
+
Capture d'écran
-
+
Image PNG (*.png)
-
+
État du TAS : En cours d'exécution %1/%2
-
+
État du TAS : Enregistrement %1
-
+
État du TAS : Inactif %1:%2
-
+
État du TAS : Invalide
-
+
&Stopper l'exécution
-
+
&Start
-
+
Stopper l'en®istrement
-
+
En®istrer
-
+
Compilation: %n shaderCompilation : %n shadersCompilation : %n shaders
-
+
%1 is the resolution scaling factor
Échelle : %1x
-
+
Vitesse : %1% / %2%
-
+
Vitesse : %1%
-
+
Jeu : %1 IPS (Débloqué)
-
+
Jeu : %1 FPS
-
+
Frame : %1 ms
-
-
- GPU NORMAL
+
+
+ %1 %2
-
-
- GPU HAUT
-
-
-
-
- GPU EXTRÊME
-
-
-
-
- GPU ERREUR
-
-
-
-
- MODE TV
-
-
-
-
- PORTABLE
-
-
-
-
- OPENGL
-
-
-
-
- VULKAN
-
-
-
-
- NULL
-
-
-
-
- PLUS PROCHE
-
-
-
-
-
- BILINÉAIRE
-
-
-
-
- BICUBIQUE
-
-
-
-
- GAUSSIEN
-
-
-
-
- SCALEFORCE
-
-
-
+
+
FSR
-
-
+
AUCUN AA
-
-
- FXAA
-
-
-
-
- SMAA
-
-
-
+
VOLUME: MUET
-
+
Volume percentage (e.g. 50%)
VOLUME: %1%
-
+
Confirmer la réinstallation de la clé
-
+
-
+
Fusibles manquants
-
+
- BOOT0 manquant
-
+
- BCPKG2-1-Normal-Main manquant
-
+
- PRODINFO manquant
-
+
Composants de dérivation manquants
-
+
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>
-
+
@@ -5633,49 +5673,49 @@ Cela peut prendre jusqu'à une minute en fonction
des performances de votre système.
-
+
Installation des clés
-
+
Échec du déchiffrement de l'archive système.
-
+
Les clés de chiffrement n'ont pas réussi à déchiffrer le firmware. <br>Veuillez suivre <a href='https://yuzu-emu.org/help/quickstart/'>le guide de démarrage rapide du yuzu</a> pour obtenir toutes vos clés, firmware et jeux.
-
+
Sélectionner la cible d'extraction du RomFS
-
+
Veuillez sélectionner quel RomFS vous voulez extraire.
-
+
Êtes vous sûr de vouloir fermer yuzu ?
-
-
-
+
+
+
yuzu
-
+
Êtes-vous sûr d'arrêter l'émulation ? Tout progrès non enregistré sera perdu.
-
+
@@ -5683,48 +5723,143 @@ Would you like to bypass this and exit anyway?
Voulez-vous ignorer ceci and quitter quand même ?
+
+
+
+ Aucune
+
+
+
+
+ FXAA
+
+
+
+
+ SMAA
+
+
+
+
+ Le plus proche
+
+
+
+
+ Bilinéaire
+
+
+
+
+ Bicubique
+
+
+
+
+ Gaussien
+
+
+
+
+ ScaleForce
+
+
+
+
+ Mode TV
+
+
+
+
+ Mode Portable
+
+
+
+
+ Normal
+
+
+
+
+ Haut
+
+
+
+
+ Extême
+
+
+
+
+ Vulkan
+
+
+
+
+ OpenGL
+
+
+
+
+ Nul
+
+
+
+
+ GLSL
+
+
+
+
+ GLASM
+
+
+
+
+ SPIRV
+
GRenderWindow
-
-
+
+
OpenGL n'est pas disponible !
-
+
Les contextes OpenGL partagés ne sont pas pris en charge.
-
+
yuzu n'a pas été compilé avec le support OpenGL.
-
-
+
+
Erreur lors de l'initialisation d'OpenGL!
-
+
Votre GPU peut ne pas prendre en charge OpenGL, ou vous n'avez pas les derniers pilotes graphiques.
-
+
Erreur lors de l'initialisation d'OpenGL 4.6!
-
+
Votre GPU peut ne pas prendre en charge OpenGL 4.6 ou vous ne disposez pas du dernier pilote graphique: %1
-
+
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
@@ -6078,138 +6213,138 @@ Message de débogage :
Hotkeys
-
+
Désactiver/Activer le Son
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Fenêtre Principale
-
+
Baisser le volume audio
-
+
Augmenter le volume audio
-
+
Prendre une capture d'ecran
-
+
Modifier le filtre d'adaptation
-
+
Changer le mode de la station d'accueil
-
+
Modifier la précision du GPU
-
+
Continuer/Suspendre l'Émulation
-
+
Quitter le plein écran
-
+
Quitter yuzu
-
+
Plein écran
-
+
Charger un fichier
-
+
Charger/Supprimer un Amiibo
-
+
Redémarrer l'Émulation
-
+
Arrêter l'Émulation
-
+
Enregistrement TAS
-
+
Réinitialiser le TAS
-
+
Démarrer/Arrêter le TAS
-
+
Activer la barre de filtre
-
+
Activer la limite de fréquence d'images
-
+
Activer le panoramique de la souris
-
+
Activer la barre d'état
@@ -6952,30 +7087,30 @@ p, li { white-space: pre-wrap; }
-
+
Maj
-
+
Ctrl
-
+
Alt
-
-
-
-
+
+
+
+
[non défini]
@@ -6986,14 +7121,14 @@ p, li { white-space: pre-wrap; }
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
Axe %1%2
@@ -7004,320 +7139,320 @@ p, li { white-space: pre-wrap; }
-
-
-
-
-
-
+
+
+
+
+
+
[inconnu]
-
-
+
+
Gauche
-
-
+
+
Droite
-
-
+
+
Bas
-
-
+
+
Haut
-
+
Z
-
+
R
-
+
L
-
+
A
-
+
B
-
+
X
-
+
Y
-
+
Start
-
+
L1
-
+
L2
-
+
L3
-
+
R1
-
+
R2
-
+
R3
-
+
Cercle
-
+
Croix
-
+
Carré
-
+
Triangle
-
+
Partager
-
+
Options
-
+
[non défini]
-
+
%1%2
-
-
+
+
[invalide]
-
-
+
+
%1%2Chapeau %3
-
-
+
-
+
+
%1%2Axe %3
-
-
+
+
%1%2Axe %3,%4,%5
-
-
+
+
%1%2Mouvement %3
-
-
+
+
%1%2Bouton %3
-
-
+
+
[inutilisé]
-
+
ZR
-
+
ZL
-
+
SR
-
+
SL
-
+
Stick Gauche
-
+
Stick Droit
-
+
Plus
-
+
Moins
-
-
+
+
Home
-
+
Capturer
-
+
Tactile
-
+
Indicates the mouse wheel
Molette
-
+
Reculer
-
+
Avancer
-
+
Tâche
-
+
Extra
-
+
%1%2%3%4
-
-
+
+
%1%2%3Chapeau %4
-
-
+
+
%1%2%3Axe %4
-
-
+
+
%1%2%3Bouton %4
diff --git a/dist/languages/id.ts b/dist/languages/id.ts
index eefc9de49..374b18402 100644
--- a/dist/languages/id.ts
+++ b/dist/languages/id.ts
@@ -1093,78 +1093,78 @@ Memungkinkan berbagai macam optimasi IR.
Komfigurasi yuzu
-
-
+
+
Audio
-
-
+
+
CPU
-
+
Awakutu
-
+
Sistem berkas
-
-
+
+
Umum
-
-
+
+
Grafis
-
+
GrafisLanjutan
-
+
Pintasan
-
-
+
+
Kendali
-
+
Profil
-
+
Jaringan
-
-
+
+
Sistem
-
+
Daftar Permainan
-
+
Jejaring
@@ -1358,17 +1358,22 @@ Memungkinkan berbagai macam optimasi IR.
Sembunyikan mouse saat tidak aktif
-
+
+
+
+
+
+
Atur Ulang Semua Pengaturan
-
+
yuzu
-
+
@@ -1656,43 +1661,43 @@ Immediate (no synchronization) just presents whatever is available and can exhib
Warna Latar:
-
+
GLASM (Shader perakit, hanya NVIDIA)
-
+
-
+
FSR sharpening percentage (e.g. 50%)
%1%
-
+
-
+
-
+
-
+
-
+
@@ -1816,37 +1821,57 @@ Compute pipelines are always enabled on all other drivers.
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Anisotropic Filtering:
-
+
Otomatis
-
+
Bawaan
-
+
2x
-
+
4x
-
+
8x
-
+
16x
@@ -2229,7 +2254,7 @@ Compute pipelines are always enabled on all other drivers.
-
+
Konfigurasi
@@ -2296,22 +2321,7 @@ Compute pipelines are always enabled on all other drivers.
-
-
- Nyalakan geseran tetikus
-
-
-
-
- Sensitivitas mouse
-
-
-
-
- %
-
-
-
+
Gerakan / Sentuhan
@@ -2423,7 +2433,7 @@ Compute pipelines are always enabled on all other drivers.
-
+
Stik Kiri
@@ -2517,14 +2527,14 @@ Compute pipelines are always enabled on all other drivers.
-
+
L
-
+
ZL
@@ -2543,7 +2553,7 @@ Compute pipelines are always enabled on all other drivers.
-
+
Tambah
@@ -2556,15 +2566,15 @@ Compute pipelines are always enabled on all other drivers.
-
-
+
+
R
-
+
ZR
@@ -2621,247 +2631,257 @@ Compute pipelines are always enabled on all other drivers.
-
+
Stik Kanan
-
-
-
-
+
+
+
+
+
+
+
+ Konfigurasi
+
+
+
+
+
+
Bersihkan
-
-
-
-
-
+
+
+
+
+
[belum diatur]
-
-
-
+
+
+
Balikkan tombol
-
-
+
+
Atur tombol
-
+
-
-
+
+
Balikkan poros
-
-
-
+
+
+
Atur batasan
-
-
+
+
Pilih sebuah angka diantara 0% dan 100%
-
+
-
+
-
+
-
+
Petakan Stik Analog
-
+
Setelah menekan OK, pertama gerakkan joystik secara mendatar, lalu tegak lurus.
Untuk membalikkan sumbu, pertama gerakkan joystik secara tegak lurus, lalu mendatar.
-
+
-
-
+
+
Titik Mati: %1%
-
-
+
+
Rentang Pengubah: %1%
-
-
+
+
Kontroler Pro
-
+
Joycon Dual
-
+
Joycon Kiri
-
+
Joycon Kanan
-
+
Jinjing
-
+
Kontroler GameCube
-
+
Poke Ball Plus
-
+
Kontroler NES
-
+
Kontroler SNES
-
+
Kontroler N64
-
+
Sega Genesis
-
+
Mulai / Jeda
-
+
Z
-
+
Stik Kendali
-
+
C-Stick
-
+
Getarkan!
-
+
[menunggu]
-
+
Profil Baru
-
+
Masukkan nama profil:
-
-
+
+
Ciptakan Profil Masukan
-
+
Nama profil yang diberi tidak sah!
-
+
Gagal membuat profil masukan "%1"
-
+
Hapus Profil Masukan
-
+
Gagal menghapus profil masukan "%1"
-
+
Muat Profil Masukan
-
+
Gagal memuat profil masukan "%1"
-
+
Simpat Profil Masukan
-
+
Gagal menyimpan profil masukan "%1"
@@ -3040,6 +3060,81 @@ Untuk membalikkan sumbu, pertama gerakkan joystik secara tegak lurus, lalu menda
Uji coba UDP atau kalibrasi konfigurasi sedang berjalan.<br>Mohon tunggu hingga selesai.
+
+ ConfigureMousePanning
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ %
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Bawaan
+
+
ConfigureNetwork
@@ -3116,47 +3211,47 @@ Untuk membalikkan sumbu, pertama gerakkan joystik secara tegak lurus, lalu menda
Pengembang
-
+
Pengaya (Add-On)
-
+
Umum
-
+
Sistem
-
+
CPU
-
+
Grafis
-
+
Ljtan. Grafik
-
+
Audio
-
+
-
+
Properti
@@ -3358,7 +3453,7 @@ UUID: %2
-
+
@@ -3395,7 +3490,7 @@ UUID: %2
-
+
@@ -3462,12 +3557,17 @@ UUID: %2
-
+
+
+
+
+
+
-
+
[menunggu]
@@ -4576,960 +4676,899 @@ Drag points to change position, or double-click table cells to edit values.
GMainWindow
-
+
<a href='https://yuzu-emu.org/help/feature/telemetry/'>Data anonim dikumpulkan</a> untuk membantu yuzu. <br/><br/>Apa Anda ingin membagi data penggunaan dengan kami?
-
+
Telemetri
-
+
-
+
-
+
+
+ TRANSLATORS: This string is shown to the user to explain why yuzu needs to prevent the computer from sleeping
+
+
+
+
Memuat Applet Web...
-
-
+
+
Matikan Applet Web
-
+
-
+
Jumlah shader yang sedang dibuat
-
+
Pengali skala resolusi yang terpilih.
-
+
Kecepatan emulasi saat ini. Nilai yang lebih tinggi atau rendah dari 100% menandakan pengemulasian berjalan lebih cepat atau lambat dibanding Switch aslinya.
-
+
Berapa banyak frame per second (bingkai per detik) permainan akan ditampilkan. Ini akan berubah dari berbagai permainan dan pemandangan.
-
+
Waktu yang diperlukan untuk mengemulasikan bingkai Switch, tak menghitung pembatas bingkai atau v-sync. Agar emulasi berkecepatan penuh, ini harus 16.67 mdtk.
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
&Bersihkan Berkas Baru-baru Ini
-
+
-
+
-
+
&Lanjutkan
-
+
&Jeda
-
-
- TRANSLATORS: This string is shown to the user to explain why yuzu needs to prevent the computer from sleeping
- yuzu sedang menjalankan game
-
-
-
+
Peringatan Format Permainan yang Usang
-
+
Anda menggunakan format direktori ROM yang sudah didekonstruksi untuk permainan ini, yang mana itu merupakan format lawas yang sudah tergantikan oleh yang lain seperti NCA, NAX, XCI, atau NSP. Direktori ROM yang sudah didekonstruksi kekurangan ikon, metadata, dan dukungan pembaruan.<br><br>Untuk penjelasan berbagai format Switch yang didukung yuzu, <a href='https://yuzu-emu.org/wiki/overview-of-switch-game-formats'>periksa wiki kami</a>. Pesan ini tidak akan ditampilkan lagi.
-
-
+
+
Kesalahan ketika memuat ROM!
-
+
Format ROM tak didukung.
-
+
Terjadi kesalahan ketika menginisialisasi inti video.
-
+
yuzu telah mengalami error saat menjalankan inti video. Ini biasanya disebabkan oleh pemicu piranti (driver) GPU yang usang, termasuk yang terintegrasi. Mohon lihat catatan untuk informasi lebih rinci. Untuk informasi cara mengakses catatan, mohon lihat halaman berikut: <a href='https://yuzu-emu.org/help/reference/log-files/'>Cara Mengupload Berkas Catatan</a>.
-
+
%1 signifies a numeric error code.
-
+
%1 signifies an error string.
-
+
Terjadi kesalahan yang tak diketahui. Mohon lihat catatan untuk informasi lebih rinci.
-
+
(64-bit)
-
+
(32-bit)
-
+
%1 is the title name. %2 indicates if the title is 64-bit or 32-bit
%1 %2
-
+
-
+
Simpan Data
-
+
Mod Data
-
+
Gagal Membuka Folder %1
-
-
+
+
Folder tak ada!
-
+
Gagal Ketika Membuka Tembolok Shader yang Dapat Ditransfer
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
Hapus Masukan
-
-
-
-
-
-
+
+
+
+
+
+
-
+
-
+
-
+
-
+
-
+
Tidak ada DLC yang terinstall untuk judul ini.
-
+
-
+
-
+
-
+
-
+
-
+
-
+
Hapus File
-
-
+
+
Kesalahan Menghapus Transferable Shader Cache
-
-
+
+
Cache shader bagi judul ini tidak ada
-
+
-
+
-
+
-
+
-
-
+
+
-
+
-
+
-
-
+
+
Kesalahan Menghapus Konfigurasi Buatan
-
+
-
+
-
+
-
-
+
+
Pengekstrakan RomFS Gagal!
-
+
Terjadi kesalahan ketika menyalin berkas RomFS atau dibatalkan oleh pengguna.
-
+
Penuh
-
+
Skeleton
-
+
Pilih Mode Dump RomFS
-
+
Mohon pilih cara RomFS akan di-dump.<br>FPenuh akan menyalin seluruh berkas ke dalam direktori baru sementara <br>jerangkong hanya akan menciptakan struktur direktorinya saja.
-
+
-
+
Mengekstrak RomFS...
-
-
+
+
Batal
-
+
Pengekstrakan RomFS Berhasil!
-
+
Operasi selesai dengan sukses,
-
-
-
-
-
+
+
+
+
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
Gagal membuka %1
-
+
Pilih Direktori
-
+
Properti
-
+
Properti permainan tak dapat dimuat.
-
+
%1 is an identifier for the Switch executable file extensions.
Eksekutabel Switch (%1);;Semua Berkas (*.*)
-
+
Muat Berkas
-
+
Buka Direktori ROM Terekstrak
-
+
Direktori Terpilih Tidak Sah
-
+
Direktori yang Anda pilih tak memiliki berkas 'utama.'
-
+
-
+
Install File
-
+
-
+
Memasang berkas "%1"...
-
-
+
+
Hasil Install
-
+
-
+
%n file(s) baru diinstall
-
+
%n file(s) telah ditimpa
-
+
%n file(s) gagal di install
-
+
Aplikasi Sistem
-
+
Arsip Sistem
-
+
Pembaruan Aplikasi Sistem
-
+
Paket Perangkat Tegar (Tipe A)
-
+
Paket Perangkat Tegar (Tipe B)
-
+
Permainan
-
+
Pembaruan Permainan
-
+
DLC Permainan
-
+
Judul Delta
-
+
Pilih Tipe Pemasangan NCA...
-
+
Mohon pilih jenis judul yang Anda ingin pasang sebagai NCA ini:
(Dalam kebanyakan kasus, pilihan bawaan 'Permainan' tidak apa-apa`.)
-
+
Gagal Memasang
-
+
Jenis judul yang Anda pilih untuk NCA tidak sah.
-
+
Berkas tak ditemukan
-
+
Berkas "%1" tak ditemukan
-
+
OK
-
-
+
+
-
-
+
+
-
+
Akun yuzu Hilang
-
+
Agar dapat mengirimkan berkas uju kompatibilitas permainan, Anda harus menautkan akun yuzu Anda.<br><br/>TUntuk mennautkan akun yuzu Anda, pergi ke Emulasi > Konfigurasi > Web.
-
+
Kesalahan saat membuka URL
-
+
Tidak dapat membuka URL "%1".
-
+
Rekaman TAS
-
+
Timpa file pemain 1?
-
+
Konfigurasi tidak sah terdeteksi
-
+
Kontroller jinjing tidak bisa digunakan dalam mode dock. Kontroller Pro akan dipilih
-
-
+
+
-
-
+
+
-
+
-
-
+
+
-
+
Berkas Amiibo (%1);; Semua Berkas (*.*)
-
+
Muat Amiibo
-
+
Gagal memuat data Amiibo
-
+
-
+
-
+
-
+
Tangkapan Layar
-
+
Berkas PNG (*.png)
-
+
Status TAS: Berjalan %1/%2
-
+
Status TAS: Merekam %1
-
+
Status TAS: Diam %1/%2
-
+
Status TAS: Tidak Valid
-
+
&Matikan
-
+
&Mulai
-
+
Berhenti Mer&ekam
-
+
R&ekam
-
+
Membangun: %n shader(s)
-
+
%1 is the resolution scaling factor
Skala: %1x
-
+
Kecepatan: %1% / %2%
-
+
Kecepatan: %1%
-
+
-
+
Permainan: %1 FPS
-
+
Frame: %1 ms
-
-
- GPU NORMAL
+
+
+ %1 %2
-
-
- GPU TINGGI
-
-
-
-
- GPU EKSTRIM
-
-
-
-
- KESALAHAN GPU
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- OPENGL
-
-
-
-
- VULKAN
-
-
-
-
-
-
-
-
-
- NEAREST
-
-
-
-
-
- BILINEAR
-
-
-
-
- BICUBIC
-
-
-
-
- GAUSSIAN
-
-
-
-
- SCALEFORCE
-
-
-
+
+
FSR
-
-
+
TANPA AA
-
-
- FXAA
-
-
-
-
-
-
-
-
+
-
+
Volume percentage (e.g. 50%)
-
+
-
+
-
+
-
+
- Kehilangan BOOT0
-
+
- Kehilangan BCPKG2-1-Normal-Main
-
+
- Kehilangan PRODINFO
-
+
-
+
-
+
-
+ Memuat kunci...
+Ini mungkin memakan waktu hingga satu menit
+tergantung dari sistem performa Anda.
-
+
-
+
-
+
-
+
-
+ Pilih Target Dump RomFS
-
+
-
+ Silahkan pilih jenis RomFS yang ingin Anda buang.
-
+
Apakah anda yakin ingin menutup yuzu?
-
-
-
+
+
+
yuzu
-
+
-
+ Apakah Anda yakin untuk menghentikan emulasi? Setiap progres yang tidak tersimpan akan hilang.
-
+
+
+
+
+ Tak ada
+
+
+
+
+ FXAA
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Biliner
+
+
+
+
+ Bikubik
+
+
+
+
+ Gaussian
+
+
+
+
+ ScaleForce
+
+
+
+
+ Terpasang
+
+
+
+
+ Jinjing
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
GRenderWindow
-
-
+
+
OpenGL tidak tersedia!
-
+
-
+
-
-
+
+
Terjadi kesalahan menginisialisasi OpenGL!
-
+
VGA anda mungkin tidak mendukung OpenGL, atau anda tidak memiliki pemacu piranti (driver) grafis terbaharu.
-
+
Terjadi kesalahan menginisialisasi OpenGL 4.6!
-
+
VGA anda mungkin tidak mendukung OpenGL 4.6, atau anda tidak memiliki pemacu piranti (driver) grafis terbaharu.<br><br>Pemuat GL:<br>%1
-
+
VGA anda mungkin tidak mendukung satu atau lebih ekstensi OpenGL. Mohon pastikan bahwa anda memiliki pemacu piranti (driver) grafis terbaharu.<br><br>Pemuat GL:<br>%1<br><br>Ekstensi yang tidak didukung:<br>%2
@@ -5746,13 +5882,13 @@ Would you like to bypass this and exit anyway?
-
+ Hapus semua konten terinstall.
-
+ Dump RomFS
@@ -5762,12 +5898,12 @@ Would you like to bypass this and exit anyway?
-
+ Salin Judul ID ke Clipboard.
-
+ Pindah ke tampilan GameDB
@@ -5812,7 +5948,7 @@ Would you like to bypass this and exit anyway?
-
+ Buka Lokasi Direktori
@@ -5837,7 +5973,7 @@ Would you like to bypass this and exit anyway?
-
+ Tipe berkas
@@ -5895,17 +6031,17 @@ Would you like to bypass this and exit anyway?
-
+ Gim rusak saat mencoba untuk memulai.
-
+ Belum dites
-
+ Gim belum pernah dites.
@@ -5913,7 +6049,7 @@ Would you like to bypass this and exit anyway?
-
+ Klik dua kali untuk menambahkan folder sebagai daftar permainan.
@@ -5931,7 +6067,7 @@ Would you like to bypass this and exit anyway?
-
+ Masukkan pola untuk memfilter
@@ -6019,138 +6155,138 @@ Debug Message:
Hotkeys
-
+
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
-
+
-
+
-
+
Tangkapan Layar
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
Muat Berkas
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
@@ -6202,7 +6338,7 @@ Debug Message:
-
+ Waktu yang diperlukan 5m 4d
@@ -6464,7 +6600,7 @@ Debug Message:
-
+ Munculkan Status Bar
@@ -6874,7 +7010,7 @@ p, li { white-space: pre-wrap; }
-
+ Tambahkan direktori permainan
@@ -6884,30 +7020,30 @@ p, li { white-space: pre-wrap; }
-
+
-
+ Ubah
-
+
-
+
-
+ Alt
-
-
-
-
+
+
+
+
[belum diatur]
@@ -6918,14 +7054,14 @@ p, li { white-space: pre-wrap; }
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
@@ -6936,320 +7072,320 @@ p, li { white-space: pre-wrap; }
-
-
-
-
-
-
+
+
+
+
+
+
-
+ [tidak diketahui]
-
-
+
+
Kiri
-
-
+
+
Kanan
-
-
+
+
Bawah
-
-
+
+
Atas
-
+
Z
-
+
R
-
+
L
-
+
A
-
+
B
-
+
X
-
+
Y
-
+
Mulai
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
-
+
+
-
-
+
+
-
-
+
-
+
+
-
-
+
+
-
-
+
+
%1%2Gerakan %3
-
-
+
+
-
-
+
+
-
+
ZR
-
+
ZL
-
+
SR
-
+
SL
-
+
-
+
-
+
Tambah
-
+
Kurang
-
-
+
+
Home
-
+
Tangkapan
-
+
Sentuh
-
+
Indicates the mouse wheel
-
+
-
+
-
+
-
+
-
+
-
-
+
+
-
-
+
+
-
-
+
+
@@ -7672,7 +7808,7 @@ Please try again or contact the developer of the software.
-
+ Pemilih Profil
@@ -7732,7 +7868,7 @@ Please try again or contact the developer of the software.
-
+ Pilih akun:
@@ -7773,7 +7909,7 @@ p, li { white-space: pre-wrap; }
-
+ Masukkan hotkey.
@@ -7817,12 +7953,12 @@ p, li { white-space: pre-wrap; }
-
+ menunggu respon IPC
-
+ Menunggu objek
diff --git a/dist/languages/it.ts b/dist/languages/it.ts
index ab3aa7611..fbd1247f6 100644
--- a/dist/languages/it.ts
+++ b/dist/languages/it.ts
@@ -242,67 +242,67 @@ Questo bannerà sia il suo nome utente del forum che il suo indirizzo IP.
-
+ il gioco parte?
-
+ Sì Il gioco inizia a produrre video o audio
-
+ No il gioco non passa avanti la schermata d'avvio
-
+ sì il gioco passa l'intro/menu e va nel gameplay
-
+ no il gioco si freeza e crasha durante il caricamento o usando il menu
-
+ il gioco arriva al gameplay?
-
+ si il gioco funziona senza crashare
-
+ no il gioco crasha/si blocca durante il gameplay
-
+ Il gioco funziona senza crashare o bloccarsi durante il gameplay?
-
+ Sì Il gioco può essere finito senza alcuna soluzione alternativa
-
+ no il gioco non va avanti dopo una certa area
-
+ Il gioco è completamente giocabile dall'inizio alla fine?
-
+ il gioco ha gravi errori grafici
@@ -1122,78 +1122,78 @@ Questo bannerà sia il suo nome utente del forum che il suo indirizzo IP.Configurazione di yuzu
-
-
+
+
Audio
-
-
+
+
CPU
-
+
Debug
-
+
Filesystem
-
-
+
+
Generale
-
-
+
+
Grafica
-
+
Grafica avanzata
-
+
Scorciatoie
-
-
+
+
Comandi
-
+
Profili
-
+
Rete
-
-
+
+
Sistema
-
+
Lista dei giochi
-
+
Web
@@ -1387,17 +1387,22 @@ Questo bannerà sia il suo nome utente del forum che il suo indirizzo IP.Nascondi il puntatore del mouse se inattivo
-
+
+
+
+
+
+
Ripristina tutte le impostazioni
-
+
yuzu
-
+
Tutte le impostazioni verranno ripristinate e tutte le configurazioni dei giochi verranno rimosse. Le cartelle di gioco, i profili e i profili di input non saranno cancellati. Vuoi procedere?
@@ -1463,7 +1468,7 @@ Questo bannerà sia il suo nome utente del forum che il suo indirizzo IP.
-
+ Modalità VSync:
@@ -1685,43 +1690,43 @@ Immediate (no synchronization) just presents whatever is available and can exhib
Colore dello sfondo:
-
+
GLASM (shader assembly, solo NVIDIA)
-
+
SPIR-V (sperimentale, solo Mesa)
-
+
FSR sharpening percentage (e.g. 50%)
%1%
-
+
-
+
-
+
-
+
-
+
@@ -1751,27 +1756,27 @@ Immediate (no synchronization) just presents whatever is available and can exhib
-
+ Ricompressione ASTC:
-
+ Nessuna compressione (qualità migliore)
-
+ BC1 (qualità bassa)
-
+ BC3 (qualità media)
-
+ Abilita la presentazione asincrona (solo Vulkan)
@@ -1845,37 +1850,57 @@ Compute pipelines are always enabled on all other drivers.
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Filtro anisotropico:
-
+
Automatico
-
+
Predefinito
-
+
2x
-
+
4x
-
+
8x
-
+
16x
@@ -2258,7 +2283,7 @@ Compute pipelines are always enabled on all other drivers.
-
+
Configura
@@ -2325,22 +2350,7 @@ Compute pipelines are always enabled on all other drivers.
-
-
- Abilita il mouse panning
-
-
-
-
- Sensibilità del mouse
-
-
-
-
- %
-
-
-
+
Movimento/tocco
@@ -2452,7 +2462,7 @@ Compute pipelines are always enabled on all other drivers.
-
+
Levetta sinistra
@@ -2546,14 +2556,14 @@ Compute pipelines are always enabled on all other drivers.
-
+
L
-
+
ZL
@@ -2572,7 +2582,7 @@ Compute pipelines are always enabled on all other drivers.
-
+
Più
@@ -2585,15 +2595,15 @@ Compute pipelines are always enabled on all other drivers.
-
-
+
+
R
-
+
ZR
@@ -2650,247 +2660,257 @@ Compute pipelines are always enabled on all other drivers.
-
+
Levetta destra
-
-
-
-
+
+
+
+
+
+
+
+ Configura
+
+
+
+
+
+
Cancella
-
-
-
-
-
+
+
+
+
+
[non impost.]
-
-
-
+
+
+
Inverti pulsante
-
-
+
+
Premi il pulsante
-
+
-
-
+
+
Inverti asse
-
-
-
+
+
+
Imposta soglia
-
-
+
+
Scegli un valore compreso tra 0% e 100%
-
+
-
+
-
+
-
+
Mappa la levetta analogica
-
+
Dopo aver premuto OK, prima muovi la levetta orizzontalmente, e poi verticalmente.
Per invertire gli assi, prima muovi la levetta verticalmente, e poi orizzontalmente.
-
+
Centra asse
-
-
+
+
Zona morta: %1%
-
-
+
+
Modifica raggio: %1%
-
-
+
+
Pro Controller
-
+
Due Joycon
-
+
Joycon sinistro
-
+
Joycon destro
-
+
Portatile
-
+
Controller GameCube
-
+
Poké Ball Plus
-
+
Controller NES
-
+
Controller SNES
-
+
Controller N64
-
+
Sega Genesis
-
+
Avvia / Metti in pausa
-
+
Z
-
+
Levetta di Controllo
-
+
Levetta C
-
+
Scuoti!
-
+
[in attesa]
-
+
Nuovo profilo
-
+
Inserisci un nome profilo:
-
-
+
+
Crea un profilo di input
-
+
Il nome profilo inserito non è valido!
-
+
Impossibile creare il profilo di input "%1"
-
+
Elimina un profilo di input
-
+
Impossibile eliminare il profilo di input "%1"
-
+
Carica un profilo di input
-
+
Impossibile caricare il profilo di input "%1"
-
+
Salva un profilo di Input
-
+
Impossibile creare il profilo di input "%1"
@@ -3069,6 +3089,81 @@ Per invertire gli assi, prima muovi la levetta verticalmente, e poi orizzontalme
È in corso il test UDP o la configurazione della calibrazione,<br> attendere che finiscano.
+
+ ConfigureMousePanning
+
+
+
+
+
+
+
+
+ Abilita
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ %
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Predefinito
+
+
ConfigureNetwork
@@ -3145,47 +3240,47 @@ Per invertire gli assi, prima muovi la levetta verticalmente, e poi orizzontalme
Sviluppatore
-
+
Add-on
-
+
Generale
-
+
Sistema
-
+
CPU
-
+
Grafica
-
+
Grafica (Avanzate)
-
+
Audio
-
+
Profili di input
-
+
Proprietà
@@ -3388,7 +3483,7 @@ UUID: %2
-
+
@@ -3425,7 +3520,7 @@ UUID: %2
-
+
Abilita
@@ -3492,12 +3587,17 @@ UUID: %2
L'attuale dispositivo mappato non è collegato a un Ring-Con
-
+
+
+
+
+
+
Risultato imprevisto del driver: %1
-
+
[in attesa]
@@ -3908,7 +4008,7 @@ UUID: %2
-
+ Layout di memoria esteso non sicuro (8GB DRAM)
@@ -4607,559 +4707,574 @@ Trascina i punti per cambiare posizione, oppure clicca due volte la cella in tab
GMainWindow
-
+
<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?
-
+
Telemetria
-
+
Rilevata installazione di Vulkan non funzionante
-
+
L'inizializzazione di Vulkan è fallita durante l'avvio.<br><br>Clicca <a href='https://yuzu-emu.org/wiki/faq/#yuzu-starts-with-the-error-broken-vulkan-installation-detected'>qui per istruzioni su come risolvere il problema</a>.
-
+
+
+ TRANSLATORS: This string is shown to the user to explain why yuzu needs to prevent the computer from sleeping
+
+
+
+
Caricamento dell'applet web...
-
-
+
+
Disabilita l'applet web
-
+
-
+
Il numero di shaders al momento in costruzione
-
+
-
+
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.
-
+
Il numero di fotogrammi al secondo che il gioco visualizza attualmente. Può variare in base al gioco e alla situazione.
-
+
Tempo necessario per emulare un fotogramma della Switch, senza tenere conto del limite al framerate o del V-Sync. Per un'emulazione alla massima velocità, il valore non dovrebbe essere superiore a 16.67 ms.
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
&Cancella i file recenti
-
+
-
+
-
+
&Continua
-
+
&Pausa
-
-
- TRANSLATORS: This string is shown to the user to explain why yuzu needs to prevent the computer from sleeping
-
-
-
-
+
Formato del gioco obsoleto
-
+
Stai usando una cartella con dentro una ROM decostruita come formato per avviare questo gioco, è un formato obsoleto ed è stato sostituito da altri come NCA, NAX, XCI o NSP. Le ROM decostruite non hanno icone, metadata e non supportano gli aggiornamenti. <br><br>Per una spiegazione sui vari formati di Switch che yuzu supporta, <a href='https://yuzu-emu.org/wiki/overview-of-switch-game-formats'>controlla la nostra wiki</a>. Questo messaggio non verrà più mostrato.
-
-
+
+
Errore nel caricamento della ROM!
-
+
Il formato della ROM non è supportato.
-
+
È stato riscontrato un errore nell'inizializzazione del core video.
-
+
-
+
%1 signifies a numeric error code.
Errore nel caricamento della ROM! %1
-
+
%1 signifies an error string.
%1<br>Segui <a href='https://yuzu-emu.org/help/quickstart/'>la guida introduttiva di yuzu</a> per rifare il dump dei file.<br>Puoi fare riferimento alla wiki di yuzu</a> o al server Discord di yuzu</a> per assistenza.
-
+
Si è verificato un errore sconosciuto. Visualizza il log per maggiori dettagli.
-
+
(64-bit)
-
+
(32-bit)
-
+
%1 is the title name. %2 indicates if the title is 64-bit or 32-bit
%1 %2
-
+
Chiusura del software in corso...
-
+
Dati di salvataggio
-
+
Dati delle mod
-
+
Impossibile aprire la cartella %1
-
-
+
+
La cartella non esiste!
-
+
Impossibile aprire la cache trasferibile degli shader
-
+
Impossibile creare la cartella della cache degli shader per questo titolo.
-
+
Impossibile rimuovere il contentuto
-
+
Impossibile rimuovere l'aggiornamento
-
+
Impossibile rimuovere il DLC
-
+
Rimuovere il contenuto del gioco installato?
-
+
Rimuovere l'aggiornamento installato?
-
+
Rimuovere il DLC installato?
-
+
Rimuovi voce
-
-
-
-
-
-
+
+
+
+
+
+
Rimozione completata
-
+
Il gioco base installato è stato rimosso con successo.
-
+
Il gioco base non è installato su NAND e non può essere rimosso.
-
+
Aggiornamento rimosso con successo.
-
+
Non c'è alcun aggiornamento installato per questo gioco.
-
+
Non c'è alcun DLC installato per questo gioco.
-
+
%1 DLC rimossi con successo.
-
+
Vuoi rimuovere la cache trasferibile degli shader OpenGL?
-
+
Vuoi rimuovere la cache trasferibile degli shader Vulkan?
-
+
Vuoi rimuovere tutte le cache trasferibili degli shader?
-
+
Rimuovere la configurazione personalizzata del gioco?
-
+
-
+
Rimuovi file
-
-
+
+
Impossibile rimuovere la cache trasferibile degli shader
-
-
+
+
Per questo titolo non esiste una cache degli shader.
-
+
La cache trasferibile degli shader è stata rimossa con successo.
-
+
Impossibile rimuovere la cache trasferibile degli shader.
-
+
Impossibile rimuovere la cache delle pipeline del driver Vulkan
-
+
Impossibile rimuovere la cache delle pipeline del driver.
-
-
+
+
Impossibile rimuovere le cache trasferibili degli shader
-
+
Le cache trasferibili degli shader sono state rimosse con successo.
-
+
Impossibile rimuovere la cartella della cache trasferibile degli shader.
-
-
+
+
Impossibile rimuovere la configurazione personalizzata
-
+
Non esiste una configurazione personalizzata per questo gioco.
-
+
La configurazione personalizzata del gioco è stata rimossa con successo.
-
+
Impossibile rimuovere la configurazione personalizzata del gioco.
-
-
+
+
Estrazione RomFS fallita!
-
+
C'è stato un errore nella copia dei file del RomFS o l'operazione è stata annullata dall'utente.
-
+
Completa
-
+
Cartelle
-
+
Seleziona la modalità di estrazione della RomFS
-
+
Seleziona come vorresti estrarre la RomFS. <br>La modalità Completa copierà tutti i file in una nuova cartella mentre<br>la modalità Cartelle creerà solamente le cartelle e le sottocartelle.
-
+
-
+
Estrazione RomFS in corso...
-
-
+
+
Annulla
-
+
Estrazione RomFS riuscita!
-
+
L'operazione è stata completata con successo.
-
-
-
-
-
+
+
+
+
+
Crea scorciatoia
-
+
Verrà creata una scorciatoia all'AppImage attuale. Potrebbe non funzionare correttamente se effettui un aggiornamento. Vuoi continuare?
-
+
Impossibile creare la scorciatoia sul desktop. Il percorso "%1" non esiste.
-
+
Impossibile creare la scorciatoia nel menù delle applicazioni. Il percorso "%1" non esiste e non può essere creato.
-
+
Crea icona
-
+
Impossibile creare il file dell'icona. Il percorso "%1" non esiste e non può essere creato.
-
+
Avvia %1 con l'emulatore yuzu
-
+
Impossibile creare la scorciatoia in %1
-
+
Scorciatoia creata con successo in %1
-
+
Impossibile aprire %1
-
+
Seleziona cartella
-
+
Proprietà
-
+
Non è stato possibile caricare le proprietà del gioco.
-
+
%1 is an identifier for the Switch executable file extensions.
Eseguibile Switch (%1);;Tutti i file (*.*)
-
+
Carica file
-
+
Apri cartella ROM estratta
-
+
Cartella selezionata non valida
-
+
La cartella che hai selezionato non contiene un file "main".
-
+
File installabili Switch (*.nca *.nsp *.xci);;Nintendo Content Archive (*.nca);;Nintendo Submission Package (*.nsp);;NX Cartridge Image (*.xci)
-
+
Installa file
-
+
%n file rimanente%n file rimanenti%n file rimanenti
-
+
Installazione del file "%1"...
-
-
+
+
Risultati dell'installazione
-
+
Per evitare possibli conflitti, sconsigliamo di installare i giochi base su NAND.
Usa questa funzione solo per installare aggiornamenti e DLC.
-
+
%n nuovo file è stato installato
@@ -5168,7 +5283,7 @@ Usa questa funzione solo per installare aggiornamenti e DLC.
-
+
%n file è stato sovrascritto
@@ -5177,7 +5292,7 @@ Usa questa funzione solo per installare aggiornamenti e DLC.
-
+
%n file non è stato installato a causa di errori
@@ -5186,389 +5301,313 @@ Usa questa funzione solo per installare aggiornamenti e DLC.
-
+
Applicazione di sistema
-
+
Archivio di sistema
-
+
Aggiornamento di un'applicazione di sistema
-
+
Pacchetto firmware (tipo A)
-
+
Pacchetto firmware (tipo B)
-
+
Gioco
-
+
Aggiornamento di gioco
-
+
DLC
-
+
Titolo delta
-
+
Seleziona il tipo di installazione NCA
-
+
Seleziona il tipo del file NCA da installare:
(Nella maggior parte dei casi, il valore predefinito 'Gioco' va bene.)
-
+
Installazione fallita
-
+
Il tipo che hai selezionato per l'NCA non è valido.
-
+
File non trovato
-
+
File "%1" non trovato
-
+
OK
-
-
+
+
Requisiti hardware non soddisfatti
-
-
+
+
Il tuo sistema non soddisfa i requisiti hardware consigliati. La funzionalità di segnalazione della compatibilità è stata disattivata.
-
+
Account di yuzu non trovato
-
+
Per segnalare la compatibilità di un gioco, devi collegare il tuo account yuzu. <br><br/>Per collegare il tuo account yuzu, vai su Emulazione >
Configurazione > Web.
-
+
Impossibile aprire l'URL
-
+
Non è stato possibile aprire l'URL "%1".
-
+
-
+
Vuoi sovrascrivere il file del giocatore 1?
-
+
Trovata configurazione invalida
-
+
Il controller portatile non può essere utilizzato in modalità dock. Verrà selezionato il controller Pro.
-
-
+
+
Amiibo
-
-
+
+
L'Amiibo corrente è stato rimosso
-
+
Errore
-
-
+
+
-
+
File Amiibo (%1);; Tutti i file (*.*)
-
+
Carica Amiibo
-
+
Impossibile caricare i dati dell'Amiibo
-
+
Il file selezionato non è un Amiibo valido
-
+
Il file selezionato è già in uso
-
+
Si è verificato un errore sconosciuto
-
+
Cattura screenshot
-
+
Immagine PNG (*.png)
-
+
-
+
-
+
-
+
-
+
&Interrompi
-
+
&Avvia
-
+
Interrompi r&egistrazione
-
+
R&egistra
-
+
Compilazione di %n shaderCompilazione di %n shaderCompilazione di %n shader
-
+
%1 is the resolution scaling factor
Risoluzione: %1x
-
+
Velocità: %1% / %2%
-
+
Velocità: %1%
-
+
Gioco: %1 FPS (Sbloccati)
-
+
Gioco: %1 FPS
-
+
Frame: %1 ms
-
-
- GPU NORMALE
+
+
+ %1 %2
-
-
- GPU ALTA
-
-
-
-
- GPU ESTREMA
-
-
-
-
- ERRORE GPU
-
-
-
-
- DOCK
-
-
-
-
- PORTATILE
-
-
-
-
- OPENGL
-
-
-
-
- VULKAN
-
-
-
-
- NULL
-
-
-
-
- NEAREST
-
-
-
-
-
- BILINEARE
-
-
-
-
- BICUBICO
-
-
-
-
- GAUSSIANO
-
-
-
-
- SCALEFORCE
-
-
-
+
+
FSR
-
-
+
NO AA
-
-
- FXAA
-
-
-
-
- SMAA
-
-
-
+
VOLUME: MUTO
-
+
Volume percentage (e.g. 50%)
VOLUME: %1%
-
+
Conferma ri-derivazione chiavi
-
+
-
+
Fusi mancanti
-
+
- BOOT0 mancante
-
+
- BCPKG2-1-Normal-Main mancante
-
+
- PRODINFO mancante
-
+
Componenti di derivazione mancanti
-
+
Chiavi di crittografia mancanti. <br>Segui <a href='https://yuzu-emu.org/help/quickstart/'>la guida introduttiva di yuzu</a> per ottenere tutte le tue chiavi, il tuo firmware e i tuoi giochi.<br><br><small>(%1)</small>
-
+
@@ -5624,49 +5663,49 @@ Questa operazione potrebbe durare fino a un minuto in
base alle prestazioni del tuo sistema.
-
+
Derivazione chiavi
-
+
-
+
-
+
Seleziona Target dell'Estrazione del RomFS
-
+
Seleziona quale RomFS vorresti estrarre.
-
+
Sei sicuro di voler chiudere yuzu?
-
-
-
+
+
+
yuzu
-
+
Sei sicuro di voler arrestare l'emulazione? Tutti i progressi non salvati verranno perduti.
-
+
@@ -5674,48 +5713,143 @@ Would you like to bypass this and exit anyway?
Desideri uscire comunque?
+
+
+
+ Nessuna
+
+
+
+
+ FXAA
+
+
+
+
+ SMAA
+
+
+
+
+ Nearest
+
+
+
+
+ Bilineare
+
+
+
+
+ Bicubico
+
+
+
+
+ Gaussiano
+
+
+
+
+ ScaleForce
+
+
+
+
+ Dock
+
+
+
+
+ Portatile
+
+
+
+
+ Normale
+
+
+
+
+ Alta
+
+
+
+
+ Estrema
+
+
+
+
+ Vulkan
+
+
+
+
+ OpenGL
+
+
+
+
+
+
+
+
+
+ GLSL
+
+
+
+
+ GLASM
+
+
+
+
+ SPIRV
+
GRenderWindow
-
-
+
+
OpenGL non disponibile!
-
+
Gli shared context di OpenGL non sono supportati.
-
+
yuzu è stato compilato senza il supporto a OpenGL.
-
-
+
+
Errore durante l'inizializzazione di OpenGL!
-
+
La tua GPU potrebbe non supportare OpenGL, o non hai installato l'ultima versione dei driver video.
-
+
Errore durante l'inizializzazione di OpenGL 4.6!
-
+
La tua GPU potrebbe non supportare OpenGL 4.6, o non hai installato l'ultima versione dei driver video.<br><br>Renderer GL:<br>%1
-
+
La tua GPU potrebbe non supportare una o più estensioni OpenGL richieste. Assicurati di aver installato i driver video più recenti.<br><br>Renderer GL:<br>%1<br><br>Estensioni non supportate:<br>%2
@@ -6069,138 +6203,138 @@ Messaggio di debug:
Hotkeys
-
+
Attiva/disattiva l'audio
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Finestra principale
-
+
Abbassa il volume dell'audio
-
+
Alza il volume dell'audio
-
+
Cattura screenshot
-
+
Cambia filtro di adattamento
-
+
Cambia modalità console
-
+
Cambia accuratezza GPU
-
+
Continua/Metti in pausa l'emulazione
-
+
Esci dalla modalità schermo intero
-
+
Esci da yuzu
-
+
Schermo intero
-
+
Carica file
-
+
Carica/Rimuovi Amiibo
-
+
Riavvia l'emulazione
-
+
Arresta l'emulazione
-
+
Registra TAS
-
+
Reimposta TAS
-
+
Avvia/interrompi TAS
-
+
Mostra/nascondi la barra del filtro
-
+
Attiva/disattiva il limite del framerate
-
+
Attiva/disattiva il mouse panning
-
+
Mostra/nascondi la barra di stato
@@ -6942,30 +7076,30 @@ p, li { white-space: pre-wrap; }
-
+
Shift
-
+
Ctrl
-
+
Alt
-
-
-
-
+
+
+
+
[non impost.]
@@ -6976,14 +7110,14 @@ p, li { white-space: pre-wrap; }
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
Asse %1%2
@@ -6994,320 +7128,320 @@ p, li { white-space: pre-wrap; }
-
-
-
-
-
-
+
+
+
+
+
+
[sconosciuto]
-
-
+
+
Sinistra
-
-
+
+
Destra
-
-
+
+
Giù
-
-
+
+
Su
-
+
Z
-
+
R
-
+
L
-
+
A
-
+
B
-
+
X
-
+
Y
-
+
Start
-
+
L1
-
+
L2
-
+
L3
-
+
R1
-
+
R2
-
+
R3
-
+
Cerchio
-
+
Croce
-
+
Quadrato
-
+
Triangolo
-
+
Condividi
-
+
Opzioni
-
+
-
+
%1%2
-
-
+
+
[non valido]
-
-
+
+
-
-
+
-
+
+
%1%2Asse %3
-
-
+
+
%1%2Asse %3,%4,%5
-
-
+
+
-
+ %1%2Movimento %3
-
-
+
+
%1%2Pulsante %3
-
-
+
+
[inutilizzato]
-
+
ZR
-
+
ZL
-
+
SR
-
+
SL
-
+
Levetta L
-
+
Levetta R
-
+
Più
-
+
Meno
-
-
+
+
Home
-
+
Cattura
-
+
Touch
-
+
Indicates the mouse wheel
Rotella
-
+
Indietro
-
+
Avanti
-
+
-
+
Extra
-
+
-
+ %1%2%3%4
-
-
+
+
-
-
+
+
-
+ %1%2%3Asse %4
-
-
+
+
%1%2%3Pulsante %4
diff --git a/dist/languages/ja_JP.ts b/dist/languages/ja_JP.ts
index 282855584..74094f48b 100644
--- a/dist/languages/ja_JP.ts
+++ b/dist/languages/ja_JP.ts
@@ -381,17 +381,17 @@ This would ban both their forum username and their IP address.
-
+ 出力デバイス:
-
+ 入力デバイス:
-
+ 音声出力モード:
@@ -1137,78 +1137,78 @@ This would ban both their forum username and their IP address.
yuzuの設定
-
-
+
+
サウンド
-
-
+
+
CPU
-
+
デバッグ
-
+
ファイルシステム
-
-
+
+
全般
-
-
+
+
グラフィック
-
+
拡張グラフィック
-
+
ホットキー
-
-
+
+
操作
-
+
プロファイル
-
+
ネットワーク
-
-
+
+
システム
-
+
ゲームリスト
-
+
Web
@@ -1402,17 +1402,22 @@ This would ban both their forum username and their IP address.
非アクティブ時にマウスカーソルを隠す
-
+
+
+
+
+
+
すべての設定をリセット
-
+
yuzu
-
+
すべての設定がリセットされ、ゲームごとの設定もすべて削除されます。ゲームディレクトリ、プロファイル、入力プロファイルは削除されません。続行しますか?
@@ -1700,45 +1705,45 @@ Immediate (no synchronization) just presents whatever is available and can exhib
背景色:
-
+
GLASM (アセンブリシェーダ、NVIDIA のみ)
-
+
SPIR-V (実験的, Mesa のみ)
-
+
FSR sharpening percentage (e.g. 50%)
%1%
-
+
-
+ オフ
+
+
+
+
+ VSync オフ
+
+
+
+
+ 推奨
-
-
-
-
-
-
-
-
-
-
-
+ オン
-
+
-
+ VSync オン
@@ -1766,22 +1771,22 @@ Immediate (no synchronization) just presents whatever is available and can exhib
-
+ ASTC 再圧縮:
-
+ 圧縮しない (最高品質)
-
+ BC1 (低品質)
-
+ BC3 (中品質)
@@ -1860,37 +1865,57 @@ Compute pipelines are always enabled on all other drivers.
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
異方性フィルタリング:
-
+
自動
-
+
デフォルト
-
+
2x
-
+
4x
-
+
8x
-
+
16x
@@ -2273,7 +2298,7 @@ Compute pipelines are always enabled on all other drivers.
-
+
設定
@@ -2337,25 +2362,10 @@ Compute pipelines are always enabled on all other drivers.
-
+ ランダムな Amiibo ID を使用
-
-
-
-
-
-
-
- マウス感度
-
-
-
-
- %
-
-
-
+
モーション / タッチ
@@ -2420,7 +2430,7 @@ Compute pipelines are always enabled on all other drivers.
-
+ グローバル入力設定を使用
@@ -2467,7 +2477,7 @@ Compute pipelines are always enabled on all other drivers.
-
+
Lスティック
@@ -2561,14 +2571,14 @@ Compute pipelines are always enabled on all other drivers.
-
+
L
-
+
ZL
@@ -2587,7 +2597,7 @@ Compute pipelines are always enabled on all other drivers.
-
+
+
@@ -2600,15 +2610,15 @@ Compute pipelines are always enabled on all other drivers.
-
-
+
+
R
-
+
ZR
@@ -2665,247 +2675,257 @@ Compute pipelines are always enabled on all other drivers.
-
+
Rスティック
-
-
-
-
+
+
+
+
+
+
+
+ 設定
+
+
+
+
+
+
クリア
-
-
-
-
-
+
+
+
+
+
[未設定]
-
-
-
+
+
+
ボタンを反転
-
-
+
+
-
+
-
+ ターボボタン
-
-
+
+
軸を反転
-
-
-
+
+
+
しきい値を設定
-
-
+
+
0%から100%の間の値を選択してください
-
+
-
+
ジャイロのしきい値を設定
-
+
センサーを補正
-
+
アナログスティックをマップ
-
+
OKを押した後、スティックを水平方向に動かし、次に垂直方向に動かしてください。
軸を反転させる場合、 最初に垂直方向に動かし、次に水平方向に動かしてください。
-
+
-
-
+
+
デッドゾーン:%1%
-
-
+
+
変更範囲:%1%
-
-
+
+
Proコントローラ
-
+
Joy-Con(L/R)
-
+
Joy-Con(L)
-
+
Joy-Con(R)
-
+
携帯モード
-
+
ゲームキューブコントローラ
-
+
モンスターボールプラス
-
+
ファミコン・コントローラー
-
+
スーパーファミコン・コントローラー
-
+
ニンテンドウ64・コントローラー
-
+
メガドライブ
-
+
スタート/ ポーズ
-
+
Z
-
+
-
+
Cスティック
-
+
振ってください
-
+
[待機中]
-
+
新規プロファイル
-
+
プロファイル名を入力:
-
-
+
+
入力プロファイルを作成
-
+
プロファイル名が無効です!
-
+
入力プロファイル "%1" の作成に失敗しました
-
+
入力プロファイルを削除
-
+
入力プロファイル "%1" の削除に失敗しました
-
+
入力プロファイルをロード
-
+
入力プロファイル "%1" のロードに失敗しました
-
+
入力プロファイルをセーブ
-
+
入力プロファイル "%1" のセーブに失敗しました
@@ -3084,6 +3104,81 @@ To invert the axes, first move your joystick vertically, and then horizontally.<
UDPテストまたはキャリブレーション実行中です。<br>完了までお待ちください。
+
+ ConfigureMousePanning
+
+
+
+
+
+
+
+
+ 有効
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ %
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ デフォルト
+
+
ConfigureNetwork
@@ -3160,47 +3255,47 @@ To invert the axes, first move your joystick vertically, and then horizontally.<
開発元
-
+
アドオン
-
+
全般
-
+
システム
-
+
CPU
-
+
グラフィック
-
+
高度なグラフィック
-
+
サウンド
-
+
入力プロファイル
-
+
プロパティ
@@ -3403,8 +3498,8 @@ UUID: %2
-
- このコントローラを使用する場合は、ゲームを開始する前に、プレイヤー1を右コントローラ、プレイヤー2をデュアルジョイコンに設定し、このコントローラを正しく認識させるようにしてください。
+
+
@@ -3436,18 +3531,18 @@ UUID: %2
-
+ リングコン入力を有効化
-
+
有効
-
+ リングコン センサー値
@@ -3484,7 +3579,7 @@ UUID: %2
-
+ リングコン入力の有効化エラー
@@ -3507,12 +3602,17 @@ UUID: %2
-
+
+
+
+
+
+
-
+
[入力待ち]
@@ -4622,962 +4722,901 @@ Drag points to change position, or double-click table cells to edit values.
GMainWindow
-
+
yuzuの改善に役立てるため、<a href='https://yuzu-emu.org/help/feature/telemetry/'>匿名データが収集されます</a>。<br/><br/>統計情報を共有しますか?
-
+
テレメトリ
-
+
壊れたVulkanのインストールが検出されました。
-
+
起動時にVulkanの初期化に失敗しました。<br><br>この問題を解決するための手順は<a href='https://yuzu-emu.org/wiki/faq/#yuzu-starts-with-the-error-broken-vulkan-installation-detected'>こちら</a>。
-
+
+
+ TRANSLATORS: This string is shown to the user to explain why yuzu needs to prevent the computer from sleeping
+
+
+
+
Webアプレットをロード中...
-
-
+
+
Webアプレットの無効化
-
+
Webアプレットを無効にすると、未定義の動作になる可能性があるため、スーパーマリオ3Dオールスターズでのみ使用するようにしてください。本当にWebアプレットを無効化しますか?
(デバッグ設定で再度有効にすることができます)。
-
+
ビルド中のシェーダー数
-
+
現在選択されている解像度の倍率。
-
+
現在のエミュレーション速度。値が100%より高いか低い場合、エミュレーション速度がSwitchより速いか遅いことを示します。
-
+
ゲームが現在表示している1秒あたりのフレーム数。これはゲームごと、シーンごとに異なります。
-
+
Switchフレームをエミュレートするのにかかる時間で、フレームリミットやV-Syncは含まれません。フルスピードエミュレーションの場合、最大で16.67ミリ秒になります。
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
最近のファイルをクリア(&C)
-
+
-
+
-
+
再開(&C)
-
+
中断(&P)
-
-
- TRANSLATORS: This string is shown to the user to explain why yuzu needs to prevent the computer from sleeping
- yuzuはゲームを起動しています
-
-
-
+
古いゲームフォーマットの警告
-
+
このゲームでは、分解されたROMディレクトリフォーマットを使用しています。これは、NCA、NAX、XCI、またはNSPなどに取って代わられた古いフォーマットです。分解されたROMディレクトリには、アイコン、メタデータ、およびアップデートサポートがありません。<br><br>yuzuがサポートするSwitchフォーマットの説明については、<a href='https://yuzu-emu.org/wiki/overview-of-switch-game-formats'>wikiをチェックしてください</a>。このメッセージは二度と表示されません。
-
-
+
+
ROMロード中にエラーが発生しました!
-
+
このROMフォーマットはサポートされていません。
-
+
ビデオコア初期化中にエラーが発生しました。
-
+
yuzuは、ビデオコアの実行中にエラーが発生しました。これは通常、内蔵GPUも含め、古いGPUドライバが原因です。詳しくはログをご覧ください。ログへのアクセス方法については、以下のページをご覧ください:<a href='https://yuzu-emu.org/help/reference/log-files/'>ログファイルのアップロード方法について</a>。
-
+
%1 signifies a numeric error code.
ROMのロード中にエラー! %1
-
+
%1 signifies an error string.
%1<br><a href='https://yuzu-emu.org/help/quickstart/'>yuzuクイックスタートガイド</a>を参照してファイルを再ダンプしてください。<br>またはyuzu wiki及び</a>yuzu Discord</a>を参照するとよいでしょう。
-
+
不明なエラーが発生しました。詳細はログを確認して下さい。
-
+
(64-bit)
-
+
(32-bit)
-
+
%1 is the title name. %2 indicates if the title is 64-bit or 32-bit
%1 %2
-
+
-
+ ソフトウェアを終了中...
-
+
データのセーブ
-
+
Modデータ
-
+
”%1”フォルダを開けませんでした
-
-
+
+
フォルダが存在しません!
-
+
シェーダキャッシュを開けませんでした
-
+
このタイトル用のシェーダキャッシュディレクトリの作成に失敗しました
-
+
コンテンツの削除エラー
-
+
アップデートの削除エラー
-
+
DLC の削除エラー
-
+
インストールされたゲームのコンテンツを削除しますか?
-
+
インストールされたゲームのアップデートを削除しますか?
-
+
インストールされたゲームの DLC を削除しますか?
-
+
エントリ削除
-
-
-
-
-
-
+
+
+
+
+
+
削除しました
-
+
インストールされたゲームを正常に削除しました。
-
+
ゲームはNANDにインストールされていないため、削除できません。
-
+
インストールされたアップデートを正常に削除しました。
-
+
このタイトルのアップデートはインストールされていません。
-
+
このタイトルにはDLCがインストールされていません。
-
+
%1にインストールされたDLCを正常に削除しました。
-
+
転送可能なOpenGLシェーダキャッシュを削除しますか?
-
+
転送可能なVulkanシェーダキャッシュを削除しますか?
-
+
転送可能なすべてのシェーダキャッシュを削除しますか?
-
+
このタイトルのカスタム設定を削除しますか?
-
+
-
+ キャッシュストレージを削除しますか?
-
+
ファイル削除
-
-
+
+
転送可能なシェーダーキャッシュの削除エラー
-
-
+
+
このタイトル用のシェーダキャッシュは存在しません。
-
+
転送可能なシェーダーキャッシュが正常に削除されました。
-
+
転送可能なシェーダーキャッシュを削除できませんでした。
-
+
-
+
-
-
+
+
転送可能なシェーダキャッシュの削除エラー
-
+
転送可能なシェーダキャッシュを正常に削除しました。
-
+
転送可能なシェーダキャッシュディレクトリの削除に失敗しました。
-
-
+
+
カスタム設定の削除エラー
-
+
このタイトルのカスタム設定は存在しません。
-
+
カスタム設定を正常に削除しました。
-
+
カスタム設定の削除に失敗しました。
-
-
+
+
RomFSの抽出に失敗しました!
-
+
RomFSファイルをコピー中にエラーが発生したか、ユーザー操作によりキャンセルされました。
-
+
フル
-
+
スケルトン
-
+
RomFSダンプモードの選択
-
+
RomFSのダンプ方法を選択してください。<br>”完全”はすべてのファイルが新しいディレクトリにコピーされます。<br>”スケルトン”はディレクトリ構造を作成するだけです。
-
+
%1 に RomFS を展開するための十分な空き領域がありません。Emulation > Configure > System > Filesystem > Dump Root で、空き容量を確保するか、別のダンプディレクトリを選択してください。
-
+
RomFSを抽出中...
-
-
+
+
キャンセル
-
+
RomFS抽出成功!
-
+
操作は成功しました。
-
-
-
-
-
+
+
+
+
+
ショートカットを作成
-
+
-
+
-
+
-
+
アイコンを作成
-
+
-
+
-
+
-
+
-
+
”%1”を開けませんでした
-
+
ディレクトリの選択
-
+
プロパティ
-
+
ゲームプロパティをロード出来ませんでした。
-
+
%1 is an identifier for the Switch executable file extensions.
Switch実行ファイル (%1);;すべてのファイル (*.*)
-
+
ファイルのロード
-
+
展開されているROMディレクトリを開く
-
+
無効なディレクトリが選択されました
-
+
選択されたディレクトリに”main”ファイルが見つかりませんでした。
-
+
インストール可能なスイッチファイル (*.nca *.nsp *.xci);;任天堂コンテンツアーカイブ (*.nca);;任天堂サブミッションパッケージ (*.nsp);;NXカートリッジイメージ (*.xci)
-
+
ファイルのインストール
-
+
残り %n ファイル
-
+
"%1"ファイルをインストールしています・・・
-
-
+
+
インストール結果
-
+
競合を避けるため、NANDにゲーム本体をインストールすることはお勧めしません。
この機能は、アップデートやDLCのインストールにのみ使用してください。
-
+
%n ファイルが新たにインストールされました
-
+
%n ファイルが上書きされました
-
+
%n ファイルのインストールに失敗しました
-
+
システムアプリケーション
-
+
システムアーカイブ
-
+
システムアプリケーションアップデート
-
+
ファームウェアパッケージ(Type A)
-
+
ファームウェアパッケージ(Type B)
-
+
ゲーム
-
+
ゲームアップデート
-
+
ゲームDLC
-
+
差分タイトル
-
+
NCAインストール種別を選択・・・
-
+
インストールするNCAタイトル種別を選択して下さい:
(ほとんどの場合、デフォルトの”ゲーム”で問題ありません。)
-
+
インストール失敗
-
+
選択されたNCAのタイトル種別が無効です。
-
+
ファイルが存在しません
-
+
ファイル”%1”が存在しません
-
+
OK
-
-
+
+
-
-
+
+
-
+
yuzuアカウントが存在しません
-
+
ゲームの互換性テストケースを送信するには、yuzuアカウントをリンクする必要があります。<br><br/>yuzuアカウントをリンクするには、エミュレーション > 設定 > Web から行います。
-
+
URLオープンエラー
-
+
URL"%1"を開けません。
-
+
TAS 記録中
-
+
プレイヤー1のファイルを上書きしますか?
-
+
無効な設定を検出しました
-
+
携帯コントローラはドックモードで使用できないため、Proコントローラが選択されます。
-
-
+
+
Amiibo
-
-
+
+
現在の amiibo は削除されました
-
+
エラー
-
-
+
+
現在のゲームはamiiboを要求しません
-
+
amiiboファイル (%1);;すべてのファイル (*.*)
-
+
amiiboのロード
-
+
amiiboデータ読み込み中にエラーが発生しました
-
+
-
+
-
+
-
+ 不明なエラーが発生しました
-
+
スクリーンショットのキャプチャ
-
+
PNG画像 (*.png)
-
+
TAS 状態: 実行中 %1/%2
-
+
TAS 状態: 記録中 %1
-
+
TAS 状態: アイドル %1/%2
-
+
TAS 状態: 無効
-
+
実行停止(&S)
-
+
実行(&S)
-
+
記録停止(&R)
-
+
記録(&R)
-
+
構築中: %n 個のシェーダー
-
+
%1 is the resolution scaling factor
拡大率: %1x
-
+
速度:%1% / %2%
-
+
速度:%1%
-
+
Game: %1 FPS(制限解除)
-
+
ゲーム:%1 FPS
-
+
フレーム:%1 ms
-
-
- GPU NORMAL
+
+
+ %1 %2
-
-
- GPU HIGH
-
-
-
-
- GPU EXTREME
-
-
-
-
- GPU ERROR
-
-
-
-
- DOCKED
-
-
-
-
- HANDHELD
-
-
-
-
- OPENGL
-
-
-
-
- VULKAN
-
-
-
-
- NULL
-
-
-
-
- NEAREST
-
-
-
-
-
- BILINEAR
-
-
-
-
- BICUBIC
-
-
-
-
- GAUSSIAN
-
-
-
-
- SCALEFORCE
-
-
-
+
+
FSR
-
-
+
NO AA
-
-
- FXAA
-
-
-
-
- SMAA
-
-
-
+
音量: ミュート
-
+
Volume percentage (e.g. 50%)
音量: %1%
-
+
キーの再取得確認
-
+
-
+
ヒューズがありません
-
+
- BOOT0がありません
-
+
- BCPKG2-1-Normal-Mainがありません
-
+
- PRODINFOがありません
-
+
派生コンポーネントがありません
-
+
暗号化キーがありません。<br>キー、ファームウェア、ゲームを取得するには<a href='https://yuzu-emu.org/help/quickstart/'>yuzu クイックスタートガイド</a>を参照ください。<br><br><small>(%1)</small>
-
+
@@ -5633,49 +5672,49 @@ on your system's performance.
1分以上かかります。
-
+
派生キー
-
+
-
+ システムアーカイブの復号に失敗しました
-
+
-
+
RomFSダンプターゲットの選択
-
+
ダンプしたいRomFSを選択して下さい。
-
+
yuzuを終了しますか?
-
-
-
+
+
+
yuzu
-
+
エミュレーションを停止しますか?セーブされていない進行状況は失われます。
-
+
@@ -5683,48 +5722,143 @@ Would you like to bypass this and exit anyway?
無視してとにかく終了しますか?
+
+
+
+ なし
+
+
+
+
+ FXAA
+
+
+
+
+ SMAA
+
+
+
+
+
+
+
+
+
+ Bilinear
+
+
+
+
+ Bicubic
+
+
+
+
+ Gaussian
+
+
+
+
+ ScaleForce
+
+
+
+
+ Docked
+
+
+
+
+ 携帯モード
+
+
+
+
+ 標準
+
+
+
+
+ 高い
+
+
+
+
+
+
+
+
+
+ Vulkan
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
GRenderWindow
-
-
+
+
OpenGLは使用できません!
-
+
-
+
yuzuはOpenGLサポート付きでコンパイルされていません。
-
-
+
+
OpenGL初期化エラー
-
+
GPUがOpenGLをサポートしていないか、グラフィックスドライバーが最新ではありません。
-
+
OpenGL4.6初期化エラー!
-
+
GPUがOpenGL4.6をサポートしていないか、グラフィックスドライバーが最新ではありません。<br><br>GL レンダラ:<br>%1
-
+
GPUが1つ以上の必要なOpenGL拡張機能をサポートしていない可能性があります。最新のグラフィックドライバを使用していることを確認してください。<br><br>GL レンダラ:<br>%1<br><br>サポートされていない拡張機能:<br>%2
@@ -5784,7 +5918,7 @@ Would you like to bypass this and exit anyway?
-
+ キャッシュストレージを削除
@@ -6078,138 +6212,138 @@ Debug Message:
Hotkeys
-
+
音声ミュート/解除
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
メイン画面
-
+
音量を下げる
-
+
音量を上げる
-
+
スクリーンショットを撮る
-
+
アダプティングフィルターの変更
-
+
ドックモードを変更
-
+
GPU精度を変更
-
+
エミュレーションの一時停止/再開
-
+
フルスクリーンをやめる
-
+
yuzuを終了
-
+
フルスクリーン
-
+
ファイルのロード
-
+
読み込み/解除 Amiibo
-
+
エミュレーションをリスタート
-
+
エミュレーションをやめる
-
+
TAS 記録
-
+
TAS リセット
-
+
TAS 開始/停止
-
+
フィルタバー切り替え
-
+
フレームレート制限切り替え
-
+
-
+
ステータスバー切り替え
@@ -6951,30 +7085,30 @@ p, li { white-space: pre-wrap; }
-
+
Shift
-
+
Ctrl
-
+
Alt
-
-
-
-
+
+
+
+
[未設定]
@@ -6985,14 +7119,14 @@ p, li { white-space: pre-wrap; }
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
スティック %1%2
@@ -7003,320 +7137,320 @@ p, li { white-space: pre-wrap; }
-
-
-
-
-
-
+
+
+
+
+
+
[不明]
-
-
+
+
左
-
-
+
+
右
-
-
+
+
下
-
-
+
+
上
-
+
Z
-
+
R
-
+
L
-
+
A
-
+
B
-
+
X
-
+
Y
-
+
開始
-
+
L1
-
+
L2
-
+
L3
-
+
R1
-
+
R2
-
+
R3
-
+
マル
-
+
バツ
-
+
四角
-
+
三角
-
+
Share
-
+
Options
-
+
[未定義]
-
+
%1%2
-
-
+
+
[無効]
-
-
+
+
-
-
+
-
+
+
-
-
+
+
-
-
+
+
-
-
+
+
%1%2ボタン %3
-
-
+
+
[未使用]
-
+
ZR
-
+
ZL
-
+
SR
-
+
SL
-
+
L スティック
-
+
R スティック
-
+
+
-
+
-
-
-
+
+
HOME
-
+
キャプチャ
-
+
タッチの設定
-
+
Indicates the mouse wheel
ホイール
-
+
後ろ
-
+
前
-
+
-
+ タスク
-
+
-
+
%1%2%3%4
-
-
+
+
-
-
+
+
-
-
+
+
@@ -7361,7 +7495,7 @@ p, li { white-space: pre-wrap; }
-
+ オーナー
@@ -7750,12 +7884,12 @@ Please try again or contact the developer of the software.
-
+ プロファイル アイコンエディタ
-
+ プロファイル ニックネームエディタ
diff --git a/dist/languages/ko_KR.ts b/dist/languages/ko_KR.ts
index 573d5e77b..8ebdf1d04 100644
--- a/dist/languages/ko_KR.ts
+++ b/dist/languages/ko_KR.ts
@@ -1138,78 +1138,78 @@ This would ban both their forum username and their IP address.
yuzu 설정
-
-
+
+
오디오
-
-
+
+
CPU
-
+
디버그
-
+
파일 시스템
-
-
+
+
일반
-
-
+
+
그래픽
-
+
그래픽 고급
-
+
단축키
-
-
+
+
조작
-
+
프로필
-
+
네트워크
-
-
+
+
시스템
-
+
게임 목록
-
+
웹
@@ -1403,17 +1403,22 @@ This would ban both their forum username and their IP address.
비활성 상태일 때 마우스 숨기기
-
+
+
+
+
+
+
모든 설정 초기화
-
+
yuzu
-
+
모든 환경 설정과 게임별 맞춤 설정이 초기화됩니다. 게임 디렉토리나 프로필, 또는 입력 프로필은 삭제되지 않습니다. 진행하시겠습니까?
@@ -1487,7 +1492,10 @@ This would ban both their forum username and their IP address.
FIFO Relaxed is similar to FIFO but allows tearing as it recovers from a slow down.
Mailbox can have lower latency than FIFO and does not tear but may drop frames.
Immediate (no synchronization) just presents whatever is available and can exhibit tearing.
-
+ FIFO (수직동기화)는 프레임이 떨어지거나 티어링 현상이 나타나지 않지만 화면 재생률에 의해 제한됩니다.
+FIFO 릴랙스드는 FIFO와 유사하지만 속도가 느려진 후 복구할 때 끊김 현상이 발생할 수 있습니다.
+메일박스는 FIFO보다 지연 시간이 짧고 티어링이 발생하지 않지만 프레임이 떨어질 수 있습니다.
+즉시 (동기화 없음)는 사용 가능한 모든 것을 표시하며 티어링이 나타날 수 있습니다.
@@ -1701,45 +1709,45 @@ Immediate (no synchronization) just presents whatever is available and can exhib
배경색:
-
+
GLASM(어셈블리 셰이더, NVIDIA 전용)
-
+
SPIR-V (실험적, Mesa 전용)
-
+
FSR sharpening percentage (e.g. 50%)
%1%
-
+
-
+ 끔
+
+
+
+
+ 수직동기화 끔
+
+
+
+
+ 추천
-
-
-
-
-
-
-
-
-
-
-
+ 켬
-
+
-
+ 수직동기화 켬
@@ -1862,37 +1870,57 @@ Compute pipelines are always enabled on all other drivers.
컴퓨팅 파이프라인 활성화(Intel Vulkan만 해당)
-
+
+
+ 프레임 속도가 잠금 해제된 상태에서도 동영상 재생 중에 일반 속도로 게임을 실행합니다.
+
+
+
+
+ 동영상 재생 프레임 속도에 동기화
+
+
+
+
+ 특정 게임에서 투명도 효과의 렌더링을 개선합니다.
+
+
+
+
+ 차단 피드백 루프
+
+
+
비등방성 필터링:
-
+
자동
-
+
기본값
-
+
2x
-
+
4x
-
+
8x
-
+
16x
@@ -2275,7 +2303,7 @@ Compute pipelines are always enabled on all other drivers.
-
+
설정
@@ -2334,30 +2362,15 @@ Compute pipelines are always enabled on all other drivers.
-
+ 한 번으로 사용이 제한되는 게임에서 동일한 아미보를 무제한으로 사용할 수 있습니다.
-
+ 무작위 아미보 ID 사용
-
-
- 마우스 패닝 활성화
-
-
-
-
- 마우스 감도
-
-
-
-
- %
-
-
-
+
모션 컨트롤/ 터치
@@ -2469,7 +2482,7 @@ Compute pipelines are always enabled on all other drivers.
-
+
L 스틱
@@ -2563,14 +2576,14 @@ Compute pipelines are always enabled on all other drivers.
-
+
L
-
+
ZL
@@ -2589,7 +2602,7 @@ Compute pipelines are always enabled on all other drivers.
-
+
+
@@ -2602,15 +2615,15 @@ Compute pipelines are always enabled on all other drivers.
-
-
+
+
R
-
+
ZR
@@ -2667,247 +2680,257 @@ Compute pipelines are always enabled on all other drivers.
-
+
R 스틱
-
-
-
-
+
+
+
+
+
+
+
+ 설정
+
+
+
+
+
+
초기화
-
-
-
-
-
+
+
+
+
+
[설정 안 됨]
-
-
-
+
+
+
버튼 반전
-
-
+
+
토글 버튼
-
+
-
+ 터보 버튼
-
-
+
+
축 뒤집기
-
-
-
+
+
+
임계값 설정
-
-
+
+
0%에서 100% 안의 값을 고르세요
-
+
axis 토글
-
+
자이로 임계값 설정
-
+
-
+ 센서 보정
-
+
아날로그 스틱 맵핑
-
+
OK 버튼을 누른 후에 먼저 조이스틱을 수평으로 움직이고, 그 다음 수직으로 움직이세요.
축을 뒤집으려면 수직으로 먼저 움직인 뒤에 수평으로 움직이세요.
-
+
중심축
-
-
+
+
데드존: %1%
-
-
+
+
수정자 범위: %1%
-
-
+
+
프로 컨트롤러
-
+
듀얼 조이콘
-
+
왼쪽 조이콘
-
+
오른쪽 조이콘
-
+
휴대 모드
-
+
GameCube 컨트롤러
-
+
몬스터볼 Plus
-
+
NES 컨트롤러
-
+
SNES 컨트롤러
-
+
N64 컨트롤러
-
+
세가 제네시스
-
+
시작 / 일시중지
-
+
Z
-
+
컨트롤 스틱
-
+
C-Stick
-
+
흔드세요!
-
+
[대기중]
-
+
새 프로필
-
+
프로필 이름을 입력하세요:
-
-
+
+
입력 프로필 생성
-
+
해당 프로필 이름은 사용할 수 없습니다!
-
+
"%1" 입력 프로필 생성 실패
-
+
입력 프로필 삭제
-
+
"%1" 입력 프로필 삭제 실패
-
+
입력 프로필 불러오기
-
+
"%1" 입력 프로필 불러오기 실패
-
+
입력 프로필 저장
-
+
"%1" 입력 프로필 저장 실패
@@ -3086,6 +3109,81 @@ To invert the axes, first move your joystick vertically, and then horizontally.<
UDP 테스트와 교정 설정이 진행 중입니다.<br>끝날 때까지 기다려주세요.
+
+ ConfigureMousePanning
+
+
+
+
+
+
+
+
+ 활성화
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ %
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 기본값
+
+
ConfigureNetwork
@@ -3162,47 +3260,47 @@ To invert the axes, first move your joystick vertically, and then horizontally.<
개발자
-
+
부가 기능
-
+
일반
-
+
시스템
-
+
CPU
-
+
그래픽
-
+
고급 그래픽
-
+
오디오
-
+
입력 프로파일
-
+
속성
@@ -3405,13 +3503,13 @@ UUID: %2
-
- 이 컨트롤러를 사용하려면 이 컨트롤러가 제대로 감지될 수 있도록 게임을 시작하기 전에 플레이어 1을 오른쪽 컨트롤러로, 플레이어 2를 듀얼 조이콘으로 구성하십시오.
+
+
-
+ 가상 링 센서 파라미터
@@ -3433,29 +3531,29 @@ UUID: %2
-
+ 다이렉트 조이콘 드라이버
-
+ 링 입력 활성화
-
+
-
+ 활성화
-
+ 링 센서 값
-
+ 연결되지 않음
@@ -3486,12 +3584,12 @@ UUID: %2
-
+ 링 입력 활성화 오류
-
+ 다이렉트 조이콘 드라이버가 활성화되지 않았음
@@ -3501,20 +3599,25 @@ UUID: %2
-
+ 현재 매핑된 장치가 링 컨트롤러를 지원하지 않음
+ 현재 매핑된 장치에 링이 연결되어 있지 않음
+
+
+
+
-
+
-
+ 예기치 않은 드라이버 결과 %1
-
+
[대기중]
@@ -3925,7 +4028,7 @@ UUID: %2
-
+ 안전하지 않은 확장 메모리 레이아웃 (8GB DRAM)
@@ -4575,12 +4678,12 @@ Drag points to change position, or double-click table cells to edit values.
-
+ 서버 주소
-
+ <html><head/><body><p>호스트의 서버 주소</p></body></html>
@@ -4624,962 +4727,901 @@ Drag points to change position, or double-click table cells to edit values.
GMainWindow
-
+
yuzu를 개선하기 위해 <a href='https://yuzu-emu.org/help/feature/telemetry/'>익명 데이터가 수집됩니다.</a> <br/><br/>사용 데이터를 공유하시겠습니까?
-
+
원격 측정
-
+
망가진 Vulkan 설치 감지됨
-
+
부팅하는 동안 Vulkan 초기화에 실패했습니다.<br><br>문제 해결 지침을 보려면 <a href='https://yuzu-emu.org/wiki/faq/#yuzu-starts-with-the-error-broken-vulkan-installation-detected'>여기</a>를 클릭하세요.
-
+
+
+ TRANSLATORS: This string is shown to the user to explain why yuzu needs to prevent the computer from sleeping
+
+
+
+
웹 애플릿을 로드하는 중...
-
-
+
+
웹 애플릿 비활성화
-
+
웹 애플릿을 비활성화하면 정의되지 않은 동작이 발생할 수 있으며 Super Mario 3D All-Stars에서만 사용해야 합니다. 웹 애플릿을 비활성화하시겠습니까?
(디버그 설정에서 다시 활성화할 수 있습니다.)
-
+
현재 생성중인 셰이더의 양
-
+
현재 선택된 해상도 배율입니다.
-
+
현재 에뮬레이션 속도. 100%보다 높거나 낮은 값은 에뮬레이션이 Switch보다 빠르거나 느린 것을 나타냅니다.
-
+
게임이 현재 표시하고 있는 초당 프레임 수입니다. 이것은 게임마다 다르고 장면마다 다릅니다.
-
+
프레임 제한이나 수직 동기화를 계산하지 않고 Switch 프레임을 에뮬레이션 하는 데 걸린 시간. 최대 속도로 에뮬레이트 중일 때에는 대부분 16.67 ms 근처입니다.
-
+
+
+ 음소거 해제
+
+
+
+
+ 음소거
+
+
+
+
+ 볼륨 재설정
+
+
+
Clear Recent Files(&C)
-
+
-
+ 에뮬레이트 마우스 사용
-
+
-
+ 실제 마우스 입력과 마우스 패닝은 호환되지 않습니다. 마우스 패닝을 허용하려면 입력 고급 설정에서 에뮬레이트 마우스를 비활성화하세요.
-
+
재개(&C)
-
+
일시중지(&P)
-
-
- TRANSLATORS: This string is shown to the user to explain why yuzu needs to prevent the computer from sleeping
- yuzu가 게임을 실행중입니다
-
-
-
+
오래된 게임 포맷 경고
-
+
이 게임 파일은 '분해된 ROM 디렉토리'라는 오래된 포맷을 사용하고 있습니다. 해당 포맷은 NCA, NAX, XCI 또는 NSP와 같은 다른 포맷으로 대체되었으며 분해된 ROM 디렉토리에는 아이콘, 메타 데이터 및 업데이트가 지원되지 않습니다.<br><br>yuzu가 지원하는 다양한 Switch 포맷에 대한 설명은 <a href='https://yuzu-emu.org/wiki/overview-of-switch-game-formats'>위키를 확인하세요.</a> 이 메시지는 다시 표시되지 않습니다.
-
-
+
+
ROM 로드 중 오류 발생!
-
+
지원되지 않는 롬 포맷입니다.
-
+
비디오 코어를 초기화하는 동안 오류가 발생했습니다.
-
+
비디오 코어를 실행하는 동안 yuzu에 오류가 발생했습니다. 이것은 일반적으로 통합 드라이버를 포함하여 오래된 GPU 드라이버로 인해 발생합니다. 자세한 내용은 로그를 참조하십시오. 로그 액세스에 대한 자세한 내용은 <a href='https://yuzu-emu.org/help/reference/log-files/'>로그 파일 업로드 방법</a> 페이지를 참조하세요.
-
+
%1 signifies a numeric error code.
ROM 불러오는 중 오류 발생! %1
-
+
%1 signifies an error string.
%1<br>파일들을 다시 덤프하기 위해<a href='https://yuzu-emu.org/help/quickstart/'>yuzu 빠른 시작 가이드</a> 를 따라주세요.<br>도움이 필요할 시 yuzu 위키</a> 를 참고하거나 yuzu 디스코드</a> 를 이용해보세요.
-
+
알 수 없는 오류가 발생했습니다. 자세한 내용은 로그를 참고하십시오.
-
+
(64비트)
-
+
(32비트)
-
+
%1 is the title name. %2 indicates if the title is 64-bit or 32-bit
%1 %2
-
+
소프트웨어를 닫는 중...
-
+
세이브 데이터
-
+
모드 데이터
-
+
%1 폴더 열기 오류
-
-
+
+
폴더가 존재하지 않습니다!
-
+
전송 가능한 셰이더 캐시 열기 오류
-
+
이 타이틀에 대한 셰이더 캐시 디렉토리를 생성하지 못했습니다.
-
+
콘텐츠 제거 중 오류 발생
-
+
업데이트 제거 오류
-
+
DLC 제거 오류
-
+
설치된 게임 콘텐츠를 제거하겠습니까?
-
+
설치된 게임 업데이트를 제거하겠습니까?
-
+
설치된 게임 DLC를 제거하겠습니까?
-
+
항목 제거
-
-
-
-
-
-
+
+
+
+
+
+
삭제 완료
-
+
설치된 기본 게임을 성공적으로 제거했습니다.
-
+
기본 게임은 NAND에 설치되어 있지 않으며 제거 할 수 없습니다.
-
+
설치된 업데이트를 성공적으로 제거했습니다.
-
+
이 타이틀에 대해 설치된 업데이트가 없습니다.
-
+
이 타이틀에 설치된 DLC가 없습니다.
-
+
설치된 %1 DLC를 성공적으로 제거했습니다.
-
+
OpenGL 전송 가능한 셰이더 캐시를 삭제하시겠습니까?
-
+
Vulkan 전송 가능한 셰이더 캐시를 삭제하시겠습니까?
-
+
모든 전송 가능한 셰이더 캐시를 삭제하시겠습니까?
-
+
사용자 지정 게임 구성을 제거 하시겠습니까?
-
+
-
+ 캐시 저장소를 제거하겠습니까?
-
+
파일 제거
-
-
+
+
전송 가능한 셰이더 캐시 제거 오류
-
-
+
+
이 타이틀에 대한 셰이더 캐시가 존재하지 않습니다.
-
+
전송 가능한 셰이더 캐시를 성공적으로 제거했습니다.
-
+
전송 가능한 셰이더 캐시를 제거하지 못했습니다.
-
+
Vulkan 드라이버 파이프라인 캐시 제거 오류
-
+
드라이버 파이프라인 캐시를 제거하지 못했습니다.
-
-
+
+
전송 가능한 셰이더 캐시 제거 오류
-
+
전송 가능한 셰이더 캐시를 성공적으로 제거했습니다.
-
+
전송 가능한 셰이더 캐시 디렉토리를 제거하지 못했습니다.
-
-
+
+
사용자 지정 구성 제거 오류
-
+
이 타이틀에 대한 사용자 지정 구성이 존재하지 않습니다.
-
+
사용자 지정 게임 구성을 성공적으로 제거했습니다.
-
+
사용자 지정 게임 구성을 제거하지 못했습니다.
-
-
+
+
RomFS 추출 실패!
-
+
RomFS 파일을 복사하는 중에 오류가 발생했거나 사용자가 작업을 취소했습니다.
-
+
전체
-
+
뼈대
-
+
RomFS 덤프 모드 선택
-
+
RomFS 덤프 방법을 선택하십시오.<br>전체는 모든 파일을 새 디렉토리에 복사하고<br>뼈대는 디렉토리 구조 만 생성합니다.
-
+
%1에 RomFS를 추출하기에 충분한 여유 공간이 없습니다. 공간을 확보하거나 에뮬레이견 > 설정 > 시스템 > 파일시스템 > 덤프 경로에서 다른 덤프 디렉토리를 선택하십시오.
-
+
RomFS 추출 중...
-
-
+
+
취소
-
+
RomFS 추출이 성공했습니다!
-
+
작업이 성공적으로 완료되었습니다.
-
-
-
-
-
+
+
+
+
+
바로가기 만들기
-
+
현재 AppImage에 대한 바로 가기가 생성됩니다. 업데이트하면 제대로 작동하지 않을 수 있습니다. 계속합니까?
-
+
바탕 화면에 바로가기를 만들 수 없습니다. 경로 "%1"이(가) 존재하지 않습니다.
-
+
애플리케이션 메뉴에서 바로가기를 만들 수 없습니다. 경로 "%1"이(가) 존재하지 않으며 생성할 수 없습니다.
-
+
아이콘 만들기
-
+
아이콘 파일을 만들 수 없습니다. 경로 "%1"이(가) 존재하지 않으며 생성할 수 없습니다.
-
+
yuzu 에뮬레이터로 %1 시작
-
+
%1에서 바로가기를 만들기 실패
-
+
%1 바로가기를 성공적으로 만듬
-
+
%1 열기 오류
-
+
경로 선택
-
+
속성
-
+
게임 속성을 로드 할 수 없습니다.
-
+
%1 is an identifier for the Switch executable file extensions.
Switch 실행파일 (%1);;모든 파일 (*.*)
-
+
파일 로드
-
+
추출된 ROM 디렉토리 열기
-
+
잘못된 디렉토리 선택
-
+
선택한 디렉토리에 'main'파일이 없습니다.
-
+
설치 가능한 Switch 파일 (*.nca *.nsp *.xci);;Nintendo 컨텐츠 아카이브 (*.nca);;Nintendo 서브미션 패키지 (*.nsp);;NX 카트리지 이미지 (*.xci)
-
+
파일 설치
-
+
%n개의 파일이 남음
-
+
파일 "%1" 설치 중...
-
-
+
+
설치 결과
-
+
충돌을 피하기 위해, 낸드에 베이스 게임을 설치하는 것을 권장하지 않습니다.
이 기능은 업데이트나 DLC를 설치할 때에만 사용해주세요.
-
+
%n개의 파일이 새로 설치되었습니다.
-
+
%n개의 파일을 덮어썼습니다.
-
+
%n개의 파일을 설치하지 못했습니다.
-
+
시스템 애플리케이션
-
+
시스템 아카이브
-
+
시스템 애플리케이션 업데이트
-
+
펌웨어 패키지 (A타입)
-
+
펌웨어 패키지 (B타입)
-
+
게임
-
+
게임 업데이트
-
+
게임 DLC
-
+
델타 타이틀
-
+
NCA 설치 유형 선택...
-
+
이 NCA를 설치할 타이틀 유형을 선택하세요:
(대부분의 경우 기본값인 '게임'이 괜찮습니다.)
-
+
설치 실패
-
+
NCA 타이틀 유형이 유효하지 않습니다.
-
+
파일을 찾을 수 없음
-
+
파일 "%1"을 찾을 수 없습니다
-
+
OK
-
-
+
+
하드웨어 요구 사항이 충족되지 않음
-
-
+
+
시스템이 권장 하드웨어 요구 사항을 충족하지 않습니다. 호환성 보고가 비활성화되었습니다.
-
+
yuzu 계정 누락
-
+
게임 호환성 테스트 결과를 제출하려면 yuzu 계정을 연결해야합니다.<br><br/>yuzu 계정을 연결하려면 에뮬레이션 > 설정 > 웹으로 가세요.
-
+
URL 열기 오류
-
+
URL "%1"을 열 수 없습니다.
-
+
TAS 레코딩
-
+
플레이어 1의 파일을 덮어쓰시겠습니까?
-
+
유효하지 않은 설정 감지
-
+
휴대 모드용 컨트롤러는 거치 모드에서 사용할 수 없습니다. 프로 컨트롤러로 대신 선택됩니다.
-
-
+
+
Amiibo
-
-
+
+
현재 amiibo가 제거되었습니다.
-
+
오류
-
-
+
+
현재 게임은 amiibo를 찾고 있지 않습니다
-
+
Amiibo 파일 (%1);; 모든 파일 (*.*)
-
+
Amiibo 로드
-
+
Amiibo 데이터 로드 오류
-
+
선택한 파일은 유효한 amiibo가 아닙니다
-
+
선택한 파일은 이미 사용 중입니다
-
+
알수없는 오류가 발생했습니다
-
+
스크린샷 캡처
-
+
PNG 이미지 (*.png)
-
+
TAS 상태: %1/%2 실행 중
-
+
TAS 상태: 레코딩 %1
-
+
TAS 상태: 유휴 %1/%2
-
+
TAS 상태: 유효하지 않음
-
+
실행 중지(&S)
-
+
시작(&S)
-
+
레코딩 중지(&e)
-
+
레코드(&R)
-
+
빌드중: %n개 셰이더
-
+
%1 is the resolution scaling factor
스케일: %1x
-
+
속도: %1% / %2%
-
+
속도: %1%
-
+
게임: %1 FPS (제한없음)
-
+
게임: %1 FPS
-
+
프레임: %1 ms
-
-
- GPU 보통
+
+
+ %1 %2
-
-
- GPU 높음
-
-
-
-
- GPU 굉장함
-
-
-
-
- GPU 오류
-
-
-
-
- 거치 모드
-
-
-
-
- 휴대 모드
-
-
-
-
- OPENGL
-
-
-
-
- VULKAN
-
-
-
-
- NULL
-
-
-
-
- NEAREST
-
-
-
-
-
- BILINEAR
-
-
-
-
- BICUBIC
-
-
-
-
- GAUSSIAN
-
-
-
-
- SCALEFORCE
-
-
-
+
+
FSR
-
-
+
AA 없음
-
-
- FXAA
-
-
-
-
- SMAA
-
-
-
+
볼륨: 음소거
-
+
Volume percentage (e.g. 50%)
볼륨: %1%
-
+
키 재생성 확인
-
+
-
+
fuses 누락
-
+
- BOOT0 누락
-
+
- BCPKG2-1-Normal-Main 누락
-
+
- PRODINFO 누락
-
+
파생 구성 요소 누락
-
+
암호화 키가 없습니다. <br>모든 키, 펌웨어 및 게임을 얻으려면 <a href='https://yuzu-emu.org/help/quickstart/'>yuzu 빠른 시작 가이드</a>를 따르세요.<br><br> <small>(%1)</small>
-
+
@@ -5635,49 +5677,49 @@ on your system's performance.
소요될 수 있습니다.
-
+
파생 키
-
+
시스템 아카이브 암호 해독 실패
-
+
-
+ 암호화 키가 펌웨어를 해독하지 못했습니다. <br> 모든 키, 펌웨어 및 게임을 받으려면<a href='https://yuzu-emu.org/help/quickstart/'> Yuzu 빠른 시작 가이드 </a>를 따르세요.
-
+
RomFS 덤프 대상 선택
-
+
덤프할 RomFS를 선택하십시오.
-
+
yuzu를 닫으시겠습니까?
-
-
-
+
+
+
yuzu
-
+
에뮬레이션을 중지하시겠습니까? 모든 저장되지 않은 진행 상황은 사라집니다.
-
+
@@ -5685,48 +5727,143 @@ Would you like to bypass this and exit anyway?
이를 무시하고 나가시겠습니까?
+
+
+
+ 없음
+
+
+
+
+ FXAA
+
+
+
+
+ SMAA
+
+
+
+
+ 가장 가까운
+
+
+
+
+ 이중선형
+
+
+
+
+ 고등차수보간
+
+
+
+
+ 가우시안
+
+
+
+
+ 스케일포스
+
+
+
+
+ 거치 모드
+
+
+
+
+ 휴대 모드
+
+
+
+
+ 보통
+
+
+
+
+ 높음
+
+
+
+
+ 익스트림
+
+
+
+
+ 불칸
+
+
+
+
+ OpenGL
+
+
+
+
+ Null
+
+
+
+
+ GLSL
+
+
+
+
+ GLASM
+
+
+
+
+ SPIRV
+
GRenderWindow
-
-
+
+
OpenGL을 사용할 수 없습니다!
-
+
OpenGL 공유 컨텍스트는 지원되지 않습니다.
-
+
yuzu는 OpenGL 지원으로 컴파일되지 않았습니다.
-
-
+
+
OpenGL을 초기화하는 동안 오류가 발생했습니다!
-
+
사용하시는 GPU가 OpenGL을 지원하지 않거나, 최신 그래픽 드라이버가 설치되어 있지 않습니다.
-
+
OpenGL 4.6 초기화 중 오류 발생!
-
+
사용하시는 GPU가 OpenGL 4.6을 지원하지 않거나 최신 그래픽 드라이버가 설치되어 있지 않습니다. <br><br>GL 렌더링 장치:<br>%1
-
+
사용하시는 GPU가 1개 이상의 OpenGL 확장 기능을 지원하지 않습니다. 최신 그래픽 드라이버가 설치되어 있는지 확인하세요. <br><br>GL 렌더링 장치:<br>%1<br><br>지원하지 않는 확장 기능:<br>%2
@@ -5786,7 +5923,7 @@ Would you like to bypass this and exit anyway?
-
+ 캐시 스토리지 제거
@@ -6080,138 +6217,138 @@ Debug Message:
Hotkeys
-
+
오디오 음소거/음소거 해제
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
메인 윈도우
-
+
오디오 볼륨 낮추기
-
+
오디오 볼륨 키우기
-
+
스크린샷 캡처
-
+
적응형 필터 변경
-
+
독 모드 변경
-
+
GPU 정확성 변경
-
+
재개/에뮬레이션 일시중지
-
+
전체화면 종료
-
+
yuzu 종료
-
+
전체화면
-
+
파일 로드
-
+
Amiibo 로드/제거
-
+
에뮬레이션 재시작
-
+
에뮬레이션 중단
-
+
TAS 기록
-
+
TAS 리셋
-
+
TAS 시작/멈춤
-
+
상태 표시줄 전환
-
+
프레임속도 제한 토글
-
+
마우스 패닝 활성화
-
+
상태 표시줄 전환
@@ -6954,30 +7091,30 @@ p, li { white-space: pre-wrap; }
-
+
Shift
-
+
Ctrl
-
+
Alt
-
-
-
-
+
+
+
+
[설정 안 됨]
@@ -6988,14 +7125,14 @@ p, li { white-space: pre-wrap; }
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
축 %1%2
@@ -7006,320 +7143,320 @@ p, li { white-space: pre-wrap; }
-
-
-
-
-
-
+
+
+
+
+
+
[알 수 없음]
-
-
+
+
왼쪽
-
-
+
+
오른쪽
-
-
+
+
아래
-
-
+
+
위
-
+
Z
-
+
R
-
+
L
-
+
A
-
+
B
-
+
X
-
+
Y
-
+
Start
-
+
L1
-
+
L2
-
+
L3
-
+
R1
-
+
R2
-
+
R3
-
+
동그라미
-
+
엑스
-
+
네모
-
+
세모
-
+
Share
-
+
Options
-
+
[설정안됨]
-
+
%1%2
-
-
+
+
[유효하지않음]
-
-
+
+
%1%2방향키 %3
-
-
+
-
+
+
%1%2Axis %3
-
-
+
+
%1%2Axis %3,%4,%5
-
-
+
+
%1%2모션 %3
-
-
+
+
%1%2버튼 %3
-
-
+
+
[미사용]
-
+
ZR
-
+
ZL
-
+
SR
-
+
SL
-
+
L 스틱
-
+
R 스틱
-
+
Plus
-
+
Minus
-
-
+
+
홈
-
+
캡쳐
-
+
터치
-
+
Indicates the mouse wheel
휠
-
+
뒤로가기
-
+
앞으로가기
-
+
Task
-
+
Extra
-
+
%1%2%3%4
-
-
+
+
%1%2%3방향키%4
-
-
+
+
%1%2%3Axis %4
-
-
+
+
%1%2%3버튼%4
diff --git a/dist/languages/nb.ts b/dist/languages/nb.ts
index f6f79ca02..6e86588f6 100644
--- a/dist/languages/nb.ts
+++ b/dist/languages/nb.ts
@@ -1137,78 +1137,78 @@ Dette vil bannlyse både deres forum brukernavn og deres IP adresse.yuzu Konfigurasjon
-
-
+
+
Lyd
-
-
+
+
CPU
-
+
Feilsøk
-
+
Filsystem
-
-
+
+
Generelt
-
-
+
+
Grafikk
-
+
AvnsertGrafikk
-
+
Hurtigtaster
-
-
+
+
Kontrollere
-
+
Profiler
-
+
Nettverk
-
-
+
+
System
-
+
Spill Liste
-
+
Nett
@@ -1402,17 +1402,22 @@ Dette vil bannlyse både deres forum brukernavn og deres IP adresse.Gjem mus under inaktivitet
-
+
+
+ Deaktiver kontroller-appleten
+
+
+
Tilbakestill alle innstillinger
-
+
yuzu
-
+
Dette tilbakestiller alle innstillinger og fjerner alle spillinnstillinger. Spillmapper, profiler og inndataprofiler blir ikke slettet. Fortsett?
@@ -1703,43 +1708,43 @@ Umiddelbar (ingen synkronisering) presenterer bare det som er tilgjengelig og ka
Bakgrunnsfarge:
-
+
GLASM (assembly-shader-e, kun med NVIDIA)
-
+
SPIR-V (Eksperimentell, Kun Mesa)
-
+
FSR sharpening percentage (e.g. 50%)
%1%
-
+
Av
-
+
VSync Av
-
+
Anbefalt
-
+
På
-
+
VSync På
@@ -1864,37 +1869,57 @@ Beregningsrørledninger er alltid aktivert på alle andre drivere.
Aktiver beregningsrørledninger (kun Intel Vulkan)
-
+
+
+ Kjør spillet i normal hastighet under videoavspilling, selv når bildefrekvensen er låst opp.
+
+
+
+
+ Synkroniser med bildefrekvensen for videoavspilling
+
+
+
+
+ Forbedrer gjengivelsen av transparenseffekter i spesifikke spill.
+
+
+
+
+ Tilbakekoblingssløyfer for barrierer
+
+
+
Anisotropisk filtrering:
-
+
Automatisk
-
+
Standard
-
+
2x
-
+
4x
-
+
8x
-
+
16x
@@ -2277,7 +2302,7 @@ Beregningsrørledninger er alltid aktivert på alle andre drivere.
-
+
Konfigurer
@@ -2344,22 +2369,7 @@ Beregningsrørledninger er alltid aktivert på alle andre drivere.
Bruk tilfeldig Amiibo ID
-
-
- Slå på musepanorering
-
-
-
-
- Musesensitivitet
-
-
-
-
- %
-
-
-
+
Bevegelse / Touch
@@ -2471,7 +2481,7 @@ Beregningsrørledninger er alltid aktivert på alle andre drivere.
-
+
Venstre Pinne
@@ -2565,14 +2575,14 @@ Beregningsrørledninger er alltid aktivert på alle andre drivere.
-
+
L
-
+
ZL
@@ -2591,7 +2601,7 @@ Beregningsrørledninger er alltid aktivert på alle andre drivere.
-
+
Pluss
@@ -2604,15 +2614,15 @@ Beregningsrørledninger er alltid aktivert på alle andre drivere.
-
-
+
+
R
-
+
ZR
@@ -2669,247 +2679,257 @@ Beregningsrørledninger er alltid aktivert på alle andre drivere.
-
+
Høyre Pinne
-
-
-
-
+
+
+ Musepanorering
+
+
+
+
+ Konfigurer
+
+
+
+
+
+
Fjern
-
-
-
-
-
+
+
+
+
+
[ikke satt]
-
-
-
+
+
+
Inverter knapp
-
-
+
+
Veksle knapp
-
+
Turbo-Knapp
-
-
+
+
Inverter akse
-
-
-
+
+
+
Set grense
-
-
+
+
Velg en verdi mellom 0% og 100%
-
+
veksle akse
-
+
Angi gyroterskel
-
+
Kalibrer sensor
-
+
Kartlegg Analog Spak
-
+
Etter du har trykker på OK, flytt først stikken horisontalt, og så vertikalt.
For å invertere aksene, flytt først stikken vertikalt, og så horistonalt.
-
+
Senterakse
-
-
+
+
Dødsone: %1%
-
-
+
+
Modifikatorområde: %1%
-
-
+
+
Pro-Kontroller
-
+
Doble Joycons
-
+
Venstre Joycon
-
+
Høyre Joycon
-
+
Håndholdt
-
+
GameCube-kontroller
-
+
Poke Ball Plus
-
+
NES-kontroller
-
+
SNES-kontroller
-
+
N64-kontroller
-
+
Sega Genesis
-
+
Start / paus
-
+
Z
-
+
Kontrollstikke
-
+
C-stikke
-
+
Rist!
-
+
[venter]
-
+
Ny Profil
-
+
Skriv inn et profilnavn:
-
-
+
+
Lag inndataprofil
-
+
Det oppgitte profilenavnet er ugyldig!
-
+
Klarte ikke lage inndataprofil "%1"
-
+
Slett inndataprofil
-
+
Klarte ikke slette inndataprofil "%1"
-
+
Last inn inndataprofil
-
+
Klarte ikke laste inn inndataprofil "%1"
-
+
Lagre inndataprofil
-
+
Klarte ikke lagre inndataprofil "%1"
@@ -3088,6 +3108,81 @@ For å invertere aksene, flytt først stikken vertikalt, og så horistonalt.UDP-Test eller kalibrasjonskonfigurering er i fremgang.<br>Vennligst vent for dem til å bli ferdig.
+
+ ConfigureMousePanning
+
+
+
+ Konfigurer musepanorering
+
+
+
+
+ Aktiver
+
+
+
+
+ Kan veksles via en hurtigtast
+
+
+
+
+ Følsomhet
+
+
+
+
+
+ Horisontal
+
+
+
+
+
+
+
+
+
+ %
+
+
+
+
+
+ Vertikal
+
+
+
+
+ Motvekt for dødssone
+
+
+
+
+ Motvirker spillets innebygde dødsone
+
+
+
+
+ Forfall av spaken
+
+
+
+
+ Styrke
+
+
+
+
+ Minimum
+
+
+
+
+ Standard
+
+
ConfigureNetwork
@@ -3164,47 +3259,47 @@ For å invertere aksene, flytt først stikken vertikalt, og så horistonalt.Utvikler
-
+
Tillegg
-
+
Generelt
-
+
System
-
+
CPU
-
+
Grafikk
-
+
Avn. Grafikk
-
+
Lyd
-
+
Inndataprofiler
-
+
Egenskaper
@@ -3407,8 +3502,8 @@ UUID: %2
-
- Hvis du vil bruke denne kontrolleren, må du konfigurere spiller 1 som høyre kontroller og spiller 2 som dobbel joycon før du starter spillet, slik at denne kontrolleren kan oppdages riktig.
+
+ For å bruke Ring-Con konfigurerer du spiller 1 som høyre Joy-Con (både fysisk og emulert) og spiller 2 som venstre Joy-Con (venstre fysisk og dobbelt emulert) før du starter spillet.
@@ -3444,7 +3539,7 @@ UUID: %2
-
+
Aktiver
@@ -3511,12 +3606,17 @@ UUID: %2
Den gjeldende kartlagte enheten har ikke en ring festet
-
+
+
+ Den tilordnede enheten er ikke tilkoblet
+
+
+
Uventet driverresultat %1
-
+
[venter]
@@ -4626,560 +4726,575 @@ Dra punkter for å endre posisjon, eller dobbelttrykk på tabellfelter for å re
GMainWindow
-
+
<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?
-
+
Telemetri
-
+
Ødelagt Vulkan-installasjon oppdaget
-
+
Vulkan-initialisering mislyktes under oppstart.<br><br>Klikk<a href='https://yuzu-emu.org/wiki/faq/#yuzu-starts-with-the-error-broken-vulkan-installation-detected'>her for instruksjoner for å løse problemet</a>.
-
+
+
+ TRANSLATORS: This string is shown to the user to explain why yuzu needs to prevent the computer from sleeping
+ Kjører et spill
+
+
+
Laster web-applet...
-
-
+
+
Slå av web-applet
-
+
Deaktivering av webappleten kan føre til udefinert oppførsel og bør bare brukes med Super Mario 3D All-Stars. Er du sikker på at du vil deaktivere webappleten?
(Dette kan aktiveres på nytt i feilsøkingsinnstillingene).
-
+
Antall shader-e som bygges for øyeblikket
-
+
Den valgte oppløsningsskaleringsfaktoren.
-
+
Nåværende emuleringshastighet. Verdier høyere eller lavere en 100% indikerer at emuleringen kjører raskere eller tregere enn en Switch.
-
+
Hvor mange bilder per sekund spiller viser. Dette vil variere fra spill til spill og scene til scene.
-
+
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.
-
+
+
+ Slå på lyden
+
+
+
+
+ Lydløs
+
+
+
+
+ Tilbakestill volum
+
+
+
&Tøm Nylige Filer
-
+
Emulert mus er aktivert
-
+
Ekte museinndata og musepanning er inkompatible. Deaktiver den emulerte musen i avanserte innstillinger for inndata for å tillate musepanning.
-
+
&Fortsett
-
+
&Paus
-
-
- TRANSLATORS: This string is shown to the user to explain why yuzu needs to prevent the computer from sleeping
- Et spill kjører i yuzu
-
-
-
+
Advarsel: Utdatert Spillformat
-
+
Du bruker en dekonstruert ROM-mappe for dette spillet, som er et utdatert format som har blitt erstattet av andre formater som NCA, NAX, XCI, eller NSP. Dekonstruerte ROM-mapper mangler ikoner, metadata, og oppdateringsstøtte.<br><br>For en forklaring på diverse Switch-formater som yuzu støtter,<a href='https://yuzu-emu.org/wiki/overview-of-switch-game-formats'>sjekk vår wiki</a>. Denne meldingen vil ikke bli vist igjen.
-
-
+
+
Feil under innlasting av ROM!
-
+
Dette ROM-formatet er ikke støttet.
-
+
En feil oppstod under initialisering av videokjernen.
-
+
yuzu har oppdaget en feil under kjøring av videokjernen. Dette er vanligvis forårsaket av utdaterte GPU-drivere, inkludert for integrert grafikk. Vennligst sjekk loggen for flere detaljer. For mer informasjon om å finne loggen, besøk følgende side: <a href='https://yuzu-emu.org/help/reference/log-files/'>How to Uploadd the Log File</a>.
-
+
%1 signifies a numeric error code.
Feil under lasting av ROM! %1
-
+
%1 signifies an error string.
%1<br>Vennligst følg <a href='https://yuzu-emu.org/help/quickstart/'>hurtigstartsguiden</a> for å redumpe filene dine. <br>Du kan henvise til yuzu wikien</a> eller yuzu Discorden</a> for hjelp.
-
+
En ukjent feil oppstod. Se loggen for flere detaljer.
-
+
(64-bit)
-
+
(32-bit)
-
+
%1 is the title name. %2 indicates if the title is 64-bit or 32-bit
%1 %2
-
+
Lukker programvare...
-
+
Lagre Data
-
+
Mod Data
-
+
Feil Under Åpning av %1 Mappen
-
-
+
+
Mappen eksisterer ikke!
-
+
Feil ved åpning av overførbar shaderbuffer
-
+
Kunne ikke opprette shader cache-katalogen for denne tittelen.
-
+
Feil ved fjerning av innhold
-
+
Feil ved fjerning av oppdatering
-
+
Feil ved fjerning av DLC
-
+
Fjern Innstallert Spillinnhold?
-
+
Fjern Installert Spilloppdatering?
-
+
Fjern Installert Spill DLC?
-
+
Fjern oppføring
-
-
-
-
-
-
+
+
+
+
+
+
Fjerning lykkes
-
+
Vellykket fjerning av det installerte basisspillet.
-
+
Grunnspillet er ikke installert i NAND og kan ikke bli fjernet.
-
+
Fjernet vellykket den installerte oppdateringen.
-
+
Det er ingen oppdatering installert for denne tittelen.
-
+
Det er ingen DLC installert for denne tittelen.
-
+
Fjernet vellykket %1 installerte DLC-er.
-
+
Slette OpenGL Overførbar Shaderbuffer?
-
+
Slette Vulkan Overførbar Shaderbuffer?
-
+
Slette Alle Overførbare Shaderbuffere?
-
+
Fjern Tilpasset Spillkonfigurasjon?
-
+
Fjerne Hurtiglagringen?
-
+
Fjern Fil
-
-
+
+
Feil under fjerning av overførbar shader cache
-
-
+
+
En shaderbuffer for denne tittelen eksisterer ikke.
-
+
Lykkes i å fjerne den overførbare shader cachen.
-
+
Feil under fjerning av den overførbare shader cachen.
-
+
Feil ved fjerning av Vulkan Driver-Rørledningsbuffer
-
+
Kunne ikke fjerne driverens rørledningsbuffer.
-
-
+
+
Feil ved fjerning av overførbare shaderbuffere
-
+
Vellykket fjerning av overførbare shaderbuffere.
-
+
Feil ved fjerning av overførbar shaderbuffer katalog.
-
-
+
+
Feil Under Fjerning Av Tilpasset Konfigurasjon
-
+
En tilpasset konfigurasjon for denne tittelen finnes ikke.
-
+
Fjernet vellykket den tilpassede spillkonfigurasjonen.
-
+
Feil under fjerning av den tilpassede spillkonfigurasjonen.
-
-
+
+
Utvinning av RomFS Feilet!
-
+
Det oppstod en feil under kopiering av RomFS filene eller så kansellerte brukeren operasjonen.
-
+
Fullstendig
-
+
Skjelett
-
+
Velg RomFS Dump Modus
-
+
Velg hvordan du vil dumpe RomFS.<br>Fullstendig vil kopiere alle filene til en ny mappe mens <br>skjelett vil bare skape mappestrukturen.
-
+
Det er ikke nok ledig plass på %1 til å pakke ut RomFS. Vennligst frigjør plass eller velg en annen dump-katalog under Emulering > Konfigurer > System > Filsystem > Dump Root.
-
+
Utvinner RomFS...
-
-
+
+
Avbryt
-
+
RomFS Utpakking lyktes!
-
+
Operasjonen fullført vellykket.
-
-
-
-
-
+
+
+
+
+
Lag Snarvei
-
+
Dette vil opprette en snarvei til gjeldende AppImage. Dette fungerer kanskje ikke bra hvis du oppdaterer. Fortsette?
-
+
Kan ikke opprette snarvei på skrivebordet. Stien "%1" finnes ikke.
-
+
Kan ikke opprette snarvei i applikasjonsmenyen. Stien "%1" finnes ikke og kan ikke opprettes.
-
+
Lag Ikon
-
+
Kan ikke opprette ikonfil. Stien "%1" finnes ikke og kan ikke opprettes.
-
+
Start %1 med yuzu-emulatoren
-
+
Mislyktes i å opprette en snarvei ved %1
-
+
Opprettet en snarvei til %1
-
+
Feil ved åpning av %1
-
+
Velg Mappe
-
+
Egenskaper
-
+
Spillets egenskaper kunne ikke bli lastet inn.
-
+
%1 is an identifier for the Switch executable file extensions.
Switch Kjørbar Fil (%1);;Alle Filer (*.*)
-
+
Last inn Fil
-
+
Åpne Utpakket ROM Mappe
-
+
Ugyldig Mappe Valgt
-
+
Mappen du valgte inneholder ikke en 'main' fil.
-
+
Installerbar Switch-Fil (*.nca *.nsp *.xci);;Nintendo Content Archive (*.nca);;Nintendo Submission Package (*.nsp);;NX Cartridge Image (*.xcI)
-
+
Installer Filer
-
+
%n fil gjenstår%n filer gjenstår
-
+
Installerer fil "%1"...
-
-
+
+
Insallasjonsresultater
-
+
For å unngå mulige konflikter fraråder vi brukere å installere basisspill på NAND.
Bruk kun denne funksjonen til å installere oppdateringer og DLC.
-
+
%n fil ble nylig installert
@@ -5187,7 +5302,7 @@ Bruk kun denne funksjonen til å installere oppdateringer og DLC.
-
+
%n fil ble overskrevet
@@ -5195,7 +5310,7 @@ Bruk kun denne funksjonen til å installere oppdateringer og DLC.
-
+
%n fil ble ikke installert
@@ -5203,388 +5318,312 @@ Bruk kun denne funksjonen til å installere oppdateringer og DLC.
-
+
Systemapplikasjon
-
+
Systemarkiv
-
+
Systemapplikasjonsoppdatering
-
+
Firmware Pakke (Type A)
-
+
Firmware-Pakke (Type B)
-
+
Spill
-
+
Spilloppdatering
-
+
Spill tilleggspakke
-
+
Delta Tittel
-
+
Velg NCA Installasjonstype...
-
+
Vennligst velg typen tittel du vil installere denne NCA-en som:
(I de fleste tilfellene, standarden 'Spill' fungerer.)
-
+
Feil under Installasjon
-
+
Titteltypen du valgte for NCA-en er ugyldig.
-
+
Fil ikke funnet
-
+
Filen "%1" ikke funnet
-
+
OK
-
-
+
+
Krav til maskinvare ikke oppfylt
-
-
+
+
Systemet ditt oppfyller ikke de anbefalte maskinvarekravene. Kompatibilitetsrapportering er deaktivert.
-
+
Mangler yuzu Bruker
-
+
For å sende inn et testtilfelle for spillkompatibilitet, må du linke yuzu-brukeren din.<br><br/>For å linke yuzu-brukeren din, gå til Emulasjon > Konfigurasjon > Nett.
-
+
Feil under åpning av URL
-
+
Kunne ikke åpne URL "%1".
-
+
TAS-innspilling
-
+
Overskriv filen til spiller 1?
-
+
Ugyldig konfigurasjon oppdaget
-
+
Håndholdt kontroller kan ikke brukes i dokket modus. Pro-kontroller vil bli valgt.
-
-
+
+
Amiibo
-
-
+
+
Den valgte amiibo-en har blitt fjernet
-
+
Feil
-
-
+
+
Det kjørende spillet sjekker ikke for amiibo-er
-
+
Amiibo-Fil (%1);; Alle Filer (*.*)
-
+
Last inn Amiibo
-
+
Feil ved lasting av Amiibo data
-
+
Den valgte filen er ikke en gyldig amiibo
-
+
Den valgte filen er allerede i bruk
-
+
En ukjent feil oppso
-
+
Ta Skjermbilde
-
+
PNG Bilde (*.png)
-
+
TAS-tilstand: Kjører %1/%2
-
+
TAS-tilstand: Spiller inn %1
-
+
TAS-tilstand: Venter %1%2
-
+
TAS-tilstand: Ugyldig
-
+
&Stopp kjøring
-
+
&Start
-
+
Stopp innspilling (&E)
-
+
Spill inn (%E)
-
+
Bygger: %n shaderBygger: %n shader-e
-
+
%1 is the resolution scaling factor
Skala: %1x
-
+
Hastighet: %1% / %2%
-
+
Hastighet: %1%
-
+
Spill: %1 FPS (ubegrenset)
-
+
Spill: %1 FPS
-
+
Ramme: %1 ms
-
-
- GPU NORMAL
+
+
+ %1 %2
-
-
- GPU HØY
-
-
-
-
- GPU EKSTREM
-
-
-
-
- GPU FEIL
-
-
-
-
- FORANKRET
-
-
-
-
- HÅNDHOLDT
-
-
-
-
- OPENGL
-
-
-
-
- VULKAN
-
-
-
-
- NULL
-
-
-
-
- NÆRMESTE
-
-
-
-
-
- BILINEÆR
-
-
-
-
- BIKUBISK
-
-
-
-
- GAUSSISK
-
-
-
-
- SCALEFORCE
-
-
-
+
+
FSR
-
-
+
INGEN AA
-
-
- FXAA
-
-
-
-
- SMAA
-
-
-
+
VOLUM: DEMPET
-
+
Volume percentage (e.g. 50%)
VOLUM: %1%
-
+
Bekreft Nøkkel-Redirevasjon
-
+
-
+
Mangler fuses
-
+
- Mangler BOOT0
-
+
- Mangler BCPKG2-1-Normal-Main
-
+
- Mangler PRODINFO
-
+
Derivasjonskomponenter Mangler
-
+
Krypteringsnøkler mangler. <br>Vennligst følg <a href='https://yuzu-emu.org/help/quickstart/'>yuzus oppstartsguide</a> for å få alle nøklene, fastvaren og spillene dine.<br><br><small>(%1)</small>
-
+
@@ -5640,49 +5679,49 @@ Dette kan ta opp til et minutt avhengig
av systemytelsen din.
-
+
Deriverer Nøkler
-
+
Dekryptering av systemarkiv mislyktes
-
+
Krypteringsnøkler klarte ikke å dekryptere firmware. <br>Vennligst følg <a href='https://yuzu-emu.org/help/quickstart/'>quickstartguiden for yuzu </a> for å få alle nøkler, firmware og spill.
-
+
Velg RomFS Dump-Mål
-
+
Vennligst velg hvilken RomFS du vil dumpe.
-
+
Er du sikker på at du vil lukke yuzu?
-
-
-
+
+
+
yuzu
-
+
Er du sikker på at du vil stoppe emulasjonen? All ulagret fremgang vil bli tapt.
-
+
@@ -5690,48 +5729,143 @@ Would you like to bypass this and exit anyway?
Vil du overstyre dette og lukke likevel?
+
+
+
+ Ingen
+
+
+
+
+ FXAA
+
+
+
+
+ SMAA
+
+
+
+
+ Nærmest
+
+
+
+
+ Bilineær
+
+
+
+
+ Bikubisk
+
+
+
+
+ Gaussisk
+
+
+
+
+ ScaleForce
+
+
+
+
+ Dokket
+
+
+
+
+ Håndholdt
+
+
+
+
+ Normal
+
+
+
+
+ Høy
+
+
+
+
+ Ekstrem
+
+
+
+
+ Vulkan
+
+
+
+
+ OpenGL
+
+
+
+
+ Null
+
+
+
+
+ GLSL
+
+
+
+
+ GLASM
+
+
+
+
+ SPIRV
+
GRenderWindow
-
-
+
+
OpenGL ikke tilgjengelig!
-
+
Delte OpenGL-kontekster støttes ikke.
-
+
yuzu har ikke blitt kompilert med OpenGL-støtte.
-
-
+
+
Feil under initialisering av OpenGL!
-
+
Det kan hende at GPU-en din ikke støtter OpenGL, eller at du ikke har den nyeste grafikkdriveren.
-
+
Feil under initialisering av OpenGL 4.6!
-
+
Det kan hende at GPU-en din ikke støtter OpenGL 4.6, eller at du ikke har den nyeste grafikkdriveren.<br><br>GL-renderer:<br>%1
-
+
Det kan hende at GPU-en din ikke støtter én eller flere nødvendige OpenGL-utvidelser. Vennligst sørg for at du har den nyeste grafikkdriveren.<br><br>GL-renderer: <br>%1<br><br>Ikke-støttede utvidelser:<br>%2
@@ -6085,138 +6219,138 @@ Feilmelding:
Hotkeys
-
+
Lyd av/på
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Hovedvindu
-
+
Lydvolum Ned
-
+
Lydvolum Opp
-
+
Ta Skjermbilde
-
+
Endre tilpasningsfilter
-
+
Endre forankret modus
-
+
Endre GPU-nøyaktighet
-
+
Fortsett/Pause Emuleringen
-
+
Avslutt fullskjerm
-
+
Avslutt yuzu
-
+
Fullskjerm
-
+
Last inn Fil
-
+
Last/Fjern Amiibo
-
+
Omstart Emuleringen
-
+
Stopp Emuleringen
-
+
Spill inn TAS
-
+
Tilbakestill TAS
-
+
Start/Stopp TAS
-
+
Veksle Filterlinje
-
+
Veksle Bildefrekvensgrense
-
+
Veksle Muspanorering
-
+
Veksle Statuslinje
@@ -6959,30 +7093,30 @@ p, li { white-space: pre-wrap; }
-
+
Shift
-
+
Ctrl
-
+
Alt
-
-
-
-
+
+
+
+
[ikke satt]
@@ -6993,14 +7127,14 @@ p, li { white-space: pre-wrap; }
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
Akse %1%2
@@ -7011,320 +7145,320 @@ p, li { white-space: pre-wrap; }
-
-
-
-
-
-
+
+
+
+
+
+
[ukjent]
-
-
+
+
Venstre
-
-
+
+
Høyre
-
-
+
+
Ned
-
-
+
+
Opp
-
+
Z
-
+
R
-
+
L
-
+
A
-
+
B
-
+
X
-
+
Y
-
+
Start
-
+
L1
-
+
L2
-
+
L3
-
+
R1
-
+
R2
-
+
R3
-
+
Sirkel
-
+
Kryss
-
+
Firkant
-
+
Trekant
-
+
Del
-
+
Instillinger
-
+
[udefinert]
-
+
%1%2
-
-
+
+
[ugyldig]
-
-
+
+
%1%2Hat %3
-
-
+
-
+
+
%1%2Akse %3
-
-
+
+
%1%2Akse %3,%4,%5
-
-
+
+
%1%2Bevegelse %3
-
-
+
+
%1%2Knapp %3
-
-
+
+
[ubrukt]
-
+
ZR
-
+
ZL
-
+
SR
-
+
SL
-
+
Venstre Stikke
-
+
Høyre Stikke
-
+
Pluss
-
+
Minus
-
-
+
+
Hjem
-
+
Opptak
-
+
Touch
-
+
Indicates the mouse wheel
Hjul
-
+
Bakover
-
+
Fremover
-
+
oppgave
-
+
Ekstra
-
+
%1%2%3%4
-
-
+
+
%1%2%3Hat %4
-
-
+
+
%1%2%3Akse %4
-
-
+
+
%1%2%3Knapp %4
diff --git a/dist/languages/nl.ts b/dist/languages/nl.ts
index b2fe2669e..070e4dba7 100644
--- a/dist/languages/nl.ts
+++ b/dist/languages/nl.ts
@@ -1119,78 +1119,78 @@ Dit zou zowel hun forum gebruikersnaam als hun IP-adres verbannen.
yuzu-configuratie
-
-
+
+
Audio
-
-
+
+
CPU
-
+
Debug
-
+
Bestandssysteem
-
-
+
+
Algemeen
-
-
+
+
Graphics
-
+
Geavanceerde Graphics
-
+
Sneltoetsen
-
-
+
+
Bediening
-
+
Profielen
-
+
Netwerk
-
-
+
+
Systeem
-
+
Spellijst
-
+
Web
@@ -1384,17 +1384,22 @@ Dit zou zowel hun forum gebruikersnaam als hun IP-adres verbannen.
Verberg muis wanneer inactief
-
+
+
+
+
+
+
Reset Alle Instellingen
-
+
yuzu
-
+
Hiermee worden alle instellingen gereset en alle configuraties per game verwijderd. Hiermee worden gamedirectory's, profielen of invoerprofielen niet verwijderd. Doorgaan?
@@ -1685,43 +1690,43 @@ Immediate (geen synchronisatie) presenteert gewoon wat beschikbaar is en kan sch
Achtergrondkleur:
-
+
GLASM (Assembly Shaders, alleen NVIDIA)
-
+
SPIR-V (Experimenteel, alleen Mesa)
-
+
FSR sharpening percentage (e.g. 50%)
%1%
-
+
Uit
-
+
VSync Uit
-
+
Aanbevolen
-
+
Aan
-
+
VSync Aan
@@ -1761,12 +1766,12 @@ Immediate (geen synchronisatie) presenteert gewoon wat beschikbaar is en kan sch
-
+ BC1 (Lage Kwaliteit)
-
+ BC3 (Gemiddelde kwaliteit)
@@ -1846,37 +1851,57 @@ Compute pipelines is altijd ingeschakeld bij alle andere drivers.
Schakel Compute Pipelines in (alleen Intel Vulkan)
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Anisotrope Filtering:
-
+
Automatisch
-
+
Standaard
-
+
2x
-
+
4x
-
+
8x
-
+
16x
@@ -2259,7 +2284,7 @@ Compute pipelines is altijd ingeschakeld bij alle andere drivers.
-
+
Configureer
@@ -2326,22 +2351,7 @@ Compute pipelines is altijd ingeschakeld bij alle andere drivers.
Gebruik willekeurige Amiibo-ID
-
-
- Schakel muispanning in
-
-
-
-
- Muisgevoeligheid
-
-
-
-
- %
-
-
-
+
Beweging / Touch
@@ -2453,7 +2463,7 @@ Compute pipelines is altijd ingeschakeld bij alle andere drivers.
-
+
Linker Stick
@@ -2547,14 +2557,14 @@ Compute pipelines is altijd ingeschakeld bij alle andere drivers.
-
+
L
-
+
ZL
@@ -2573,7 +2583,7 @@ Compute pipelines is altijd ingeschakeld bij alle andere drivers.
-
+
Plus
@@ -2586,15 +2596,15 @@ Compute pipelines is altijd ingeschakeld bij alle andere drivers.
-
-
+
+
R
-
+
ZR
@@ -2651,247 +2661,257 @@ Compute pipelines is altijd ingeschakeld bij alle andere drivers.
-
+
Rechter Stick
-
-
-
-
+
+
+
+
+
+
+
+ Configureer
+
+
+
+
+
+
Wis
-
-
-
-
-
+
+
+
+
+
[niet ingesteld]
-
-
-
+
+
+
Knop omkeren
-
-
+
+
Schakel-knop
-
+
Turbo-knop
-
-
+
+
Spiegel as
-
-
-
+
+
+
Stel drempel in
-
-
+
+
Kies een waarde tussen 0% en 100%
-
+
Schakel as
-
+
Stel gyro-drempel in
-
+
Kalibreer sensor
-
+
Analoge Stick Toewijzen
-
+
Nadat je op OK hebt gedrukt, beweeg je de joystick eerst horizontaal en vervolgens verticaal.
Om de assen om te keren, beweeg je de joystick eerst verticaal en vervolgens horizontaal.
-
+
Midden as
-
-
+
+
Deadzone: %1%
-
-
+
+
Modificatorbereik: %1%
-
-
+
+
Pro Controller
-
+
Twee Joycons
-
+
Linker Joycon
-
+
Rechter Joycon
-
+
Handheld
-
+
GameCube-controller
-
+
Poke Ball Plus
-
+
NES-controller
-
+
SNES-controller
-
+
N64-controller
-
+
Sega Genesis
-
+
Begin / Onderbreken
-
+
Z
-
+
Control Stick
-
+
C-Stick
-
+
Schud!
-
+
[aan het wachten]
-
+
Nieuw Profiel
-
+
Voer een profielnaam in:
-
-
+
+
Maak Invoerprofiel
-
+
De ingevoerde profielnaam is niet geldig!
-
+
Kon invoerprofiel "%1" niet maken
-
+
Verwijder Invoerprofiel
-
+
Kon invoerprofiel "%1" niet verwijderen
-
+
Laad Invoerprofiel
-
+
Kon invoerprofiel "%1" niet laden
-
+
Sla Invoerprofiel op
-
+
Kon invoerprofiel "%1" niet opslaan
@@ -3070,6 +3090,81 @@ Om de assen om te keren, beweeg je de joystick eerst verticaal en vervolgens hor
UDP-test of kalibratieconfiguratie is bezig.<br>Wacht tot ze klaar zijn.
+
+ ConfigureMousePanning
+
+
+
+
+
+
+
+
+ Inschakelen
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ %
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Standaard
+
+
ConfigureNetwork
@@ -3146,47 +3241,47 @@ Om de assen om te keren, beweeg je de joystick eerst verticaal en vervolgens hor
Ontwikkelaar
-
+
Add-Ons
-
+
Algemeen
-
+
Systeem
-
+
CPU
-
+
Graphics
-
+
Adv. Graphics
-
+
Audio
-
+
Invoerprofielen
-
+
Eigenschappen
@@ -3389,8 +3484,8 @@ UUID: %2
-
- Als je deze controller wilt gebruiken, configureer dan speler 1 als rechter controller en speler 2 als dual joycon voordat je het spel start, zodat deze controller goed wordt gedetecteerd.
+
+
@@ -3426,7 +3521,7 @@ UUID: %2
-
+
Inschakelen
@@ -3493,12 +3588,17 @@ UUID: %2
Het huidige apparaat heeft geen ring
-
+
+
+
+
+
+
Onverwacht driverresultaat %1
-
+
[aan het wachten]
@@ -4608,560 +4708,575 @@ Versleep punten om de positie te veranderen, of dubbelklik op tabelcellen om waa
GMainWindow
-
+
<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?
-
+
Telemetrie
-
+
Beschadigde Vulkan-installatie gedetecteerd
-
+
Vulkan-initialisatie mislukt tijdens het opstarten.<br><br>Klik <a href='https://yuzu-emu.org/wiki/faq/#yuzu-starts-with-the-error-broken-vulkan-installation-detected'>hier voor instructies om het probleem op te lossen</a>.
-
+
+
+ TRANSLATORS: This string is shown to the user to explain why yuzu needs to prevent the computer from sleeping
+
+
+
+
Web Applet Laden...
-
-
+
+
Schakel Webapplet uit
-
+
Het uitschakelen van de webapplet kan leiden tot ongedefinieerd gedrag en mag alleen gebruikt worden met Super Mario 3D All-Stars. Weet je zeker dat je de webapplet wilt uitschakelen?
(Deze kan opnieuw worden ingeschakeld in de Debug-instellingen).
-
+
Het aantal shaders dat momenteel wordt gebouwd
-
+
De huidige geselecteerde resolutieschaalmultiplier.
-
+
Huidige emulatiesnelheid. Waarden hoger of lager dan 100% geven aan dat de emulatie sneller of langzamer werkt dan een Switch.
-
+
Hoeveel beelden per seconde het spel momenteel weergeeft. Dit varieert van spel tot spel en van scène tot scène.
-
+
Tijd die nodig is om een Switch-beeld te emuleren, beeldbeperking of v-sync niet meegerekend. Voor emulatie op volle snelheid mag dit maximaal 16,67 ms zijn.
-
+
+
+ Dempen opheffen
+
+
+
+
+ Dempen
+
+
+
+
+ Volume resetten
+
+
+
&Wis Recente Bestanden
-
+
Geëmuleerde muis is ingeschakeld
-
+
Echte muisinvoer en muispanning zijn niet compatibel. Schakel de geëmuleerde muis uit in de geavanceerde invoerinstellingen om muispanning mogelijk te maken.
-
+
&Doorgaan
-
+
&Onderbreken
-
-
- TRANSLATORS: This string is shown to the user to explain why yuzu needs to prevent the computer from sleeping
- yuzu is een spel aan het uitvoeren
-
-
-
+
Waarschuwing Verouderd Spelformaat
-
+
Je gebruikt het gedeconstrueerde ROM-mapformaat voor dit spel, wat een verouderd formaat is dat vervangen is door andere zoals NCA, NAX, XCI, of NSP. Deconstructed ROM-mappen missen iconen, metadata, en update-ondersteuning.<br><br>Voor een uitleg van de verschillende Switch-formaten die yuzu ondersteunt,<a href='https://yuzu-emu.org/wiki/overview-of-switch-game-formats'> bekijk onze wiki</a>. Dit bericht wordt niet meer getoond.
-
-
+
+
Fout tijdens het laden van een ROM!
-
+
Het ROM-formaat wordt niet ondersteund.
-
+
Er is een fout opgetreden tijdens het initialiseren van de videokern.
-
+
yuzu is een fout tegengekomen tijdens het uitvoeren van de videokern. Dit wordt meestal veroorzaakt door verouderde GPU-drivers, inclusief geïntegreerde. Zie het logboek voor meer details. Voor meer informatie over toegang tot het log, zie de volgende pagina: <a href='https://yuzu-emu.org/help/reference/log-files/'>Hoe upload je het logbestand</a>.
-
+
%1 signifies a numeric error code.
Fout tijdens het laden van ROM! %1
-
+
%1 signifies an error string.
%1<br>Volg de <a href='https://yuzu-emu.org/help/quickstart/'>yuzu snelstartgids</a> om je bestanden te redumpen.<br>Je kunt de yuzu-wiki</a>of de yuzu-Discord</a> raadplegen voor hulp.
-
+
Een onbekende fout heeft plaatsgevonden. Kijk in de log voor meer details.
-
+
(64-bit)
-
+
(32-bit)
-
+
%1 is the title name. %2 indicates if the title is 64-bit or 32-bit
%1 %2
-
+
Software sluiten...
-
+
Save Data
-
+
Mod Data
-
+
Fout tijdens het openen van %1 map
-
-
+
+
Map bestaat niet!
-
+
Fout bij het openen van overdraagbare shader-cache
-
+
Kon de shader-cache-map voor dit spel niet aanmaken.
-
+
Fout bij het verwijderen van de inhoud
-
+
Fout bij het verwijderen van de update
-
+
Fout bij het verwijderen van DLC
-
+
Geïnstalleerde Spelinhoud Verwijderen?
-
+
Geïnstalleerde Spel-update Verwijderen?
-
+
Geïnstalleerde Spel-DLC Verwijderen?
-
+
Verwijder Invoer
-
-
-
-
-
-
+
+
+
+
+
+
Met Succes Verwijderd
-
+
Het geïnstalleerde basisspel is succesvol verwijderd.
-
+
Het basisspel is niet geïnstalleerd in de NAND en kan niet worden verwijderd.
-
+
De geïnstalleerde update is succesvol verwijderd.
-
+
Er is geen update geïnstalleerd voor dit spel.
-
+
Er is geen DLC geïnstalleerd voor dit spel.
-
+
%1 geïnstalleerde DLC met succes verwijderd.
-
+
Overdraagbare OpenGL-shader-cache Verwijderen?
-
+
Overdraagbare Vulkan-shader-cache Verwijderen?
-
+
Alle Overdraagbare Shader-caches Verwijderen?
-
+
Aangepaste Spelconfiguratie Verwijderen?
-
+
-
+ Cache-opslag verwijderen
-
+
Verwijder Bestand
-
-
+
+
Fout bij het verwijderen van Overdraagbare Shader-cache
-
-
+
+
Er bestaat geen shader-cache voor dit spel.
-
+
De overdraagbare shader-cache is verwijderd.
-
+
Kon de overdraagbare shader-cache niet verwijderen.
-
+
Fout bij het verwijderen van Pijplijn-cache van Vulkan-driver
-
+
Kon de pijplijn-cache van de driver niet verwijderen.
-
-
+
+
Fout bij het verwijderen van overdraagbare shader-caches
-
+
De overdraagbare shader-caches zijn verwijderd.
-
+
Kon de overdraagbare shader-cache-map niet verwijderen.
-
-
+
+
Fout bij het verwijderen van aangepaste configuratie
-
+
Er bestaat geen aangepaste configuratie voor dit spel.
-
+
De aangepaste spelconfiguratie is verwijderd.
-
+
Kon de aangepaste spelconfiguratie niet verwijderen.
-
-
+
+
RomFS-extractie Mislukt!
-
+
Er is een fout opgetreden bij het kopiëren van de RomFS-bestanden of de gebruiker heeft de bewerking geannuleerd.
-
+
Volledig
-
+
Skelet
-
+
Selecteer RomFS-dumpmodus
-
+
Selecteer hoe je de RomFS gedumpt wilt hebben.<br>Volledig zal alle bestanden naar de nieuwe map kopiëren, terwijl <br>Skelet alleen de mapstructuur zal aanmaken.
-
+
Er is niet genoeg vrije ruimte op %1 om de RomFS uit te pakken. Maak ruimte vrij of kies een andere dumpmap bij Emulatie > Configuratie > Systeem > Bestandssysteem > Dump Root.
-
+
RomFS uitpakken...
-
-
+
+
Annuleren
-
+
RomFS-extractie Geslaagd!
-
+
De bewerking is succesvol voltooid.
-
-
-
-
-
+
+
+
+
+
Maak Snelkoppeling
-
+
Dit maakt een snelkoppeling naar de huidige AppImage. Dit werkt mogelijk niet goed als je een update uitvoert. Doorgaan?
-
+
Kan geen snelkoppeling op het bureaublad maken. Pad "%1" bestaat niet.
-
+
Kan geen snelkoppeling maken in toepassingen menu. Pad "%1" bestaat niet en kan niet worden aangemaakt.
-
+
Maak Icoon
-
+
Kan geen icoonbestand maken. Pad "%1" bestaat niet en kan niet worden aangemaakt.
-
+
Voer %1 uiit met de yuzu-emulator
-
+
Er is geen snelkoppeling gemaakt op %1
-
+
Succesvol een snelkoppeling naar %1 gemaakt
-
+
Fout bij openen %1
-
+
Selecteer Map
-
+
Eigenschappen
-
+
De speleigenschappen kunnen niet geladen worden.
-
+
%1 is an identifier for the Switch executable file extensions.
Switch Executable (%1);;Alle Bestanden (*.*)
-
+
Laad Bestand
-
+
Open Uitgepakte ROM-map
-
+
Ongeldige Map Geselecteerd
-
+
De map die je hebt geselecteerd bevat geen 'main'-bestand.
-
+
Installeerbaar Switch-bestand (*.nca *.nsp *.xci);;Nintendo Content Archive (*.nca);;Nintendo Submission Package (*.nsp);;NX Cartridge Image (*.xci)
-
+
Installeer Bestanden
-
+
%n bestand(en) resterend%n bestand(en) resterend
-
+
Bestand "%1" Installeren...
-
-
+
+
Installeerresultaten
-
+
Om mogelijke conflicten te voorkomen, raden we gebruikers af om basisgames te installeren op de NAND.
Gebruik deze functie alleen om updates en DLC te installeren.
-
+
%n bestand(en) zijn recent geïnstalleerd
@@ -5169,7 +5284,7 @@ Gebruik deze functie alleen om updates en DLC te installeren.
-
+
%n bestand(en) werden overschreven
@@ -5177,7 +5292,7 @@ Gebruik deze functie alleen om updates en DLC te installeren.
-
+
%n bestand(en) niet geïnstalleerd
@@ -5185,388 +5300,312 @@ Gebruik deze functie alleen om updates en DLC te installeren.
-
+
Systeemapplicatie
-
+
Systeemarchief
-
+
Systeemapplicatie-update
-
+
Filmware-pakket (Type A)
-
+
Filmware-pakket (Type B)
-
+
Spel
-
+
Spelupdate
-
+
Spel-DLC
-
+
Delta Titel
-
+
Selecteer NCA-installatiesoort...
-
+
Selecteer het type titel waarin je deze NCA wilt installeren:
(In de meeste gevallen is de standaard "Spel" prima).
-
+
Installatie Mislukt
-
+
Het soort title dat je hebt geselecteerd voor de NCA is ongeldig.
-
+
Bestand niet gevonden
-
+
Bestand "%1" niet gevonden
-
+
OK
-
-
+
+
Er is niet voldaan aan de hardwarevereisten
-
-
+
+
Je systeem voldoet niet aan de aanbevolen hardwarevereisten. Compatibiliteitsrapportage is uitgeschakeld.
-
+
yuzu-account Ontbreekt
-
+
Om een spelcompatibiliteitstest in te dienen, moet je je yuzu-account koppelen.<br><br/>Om je yuzu-account te koppelen, ga naar Emulatie > Configuratie > Web.
-
+
Fout bij het openen van URL
-
+
Kan de URL "%1" niet openen.
-
+
TAS-opname
-
+
Het bestand van speler 1 overschrijven?
-
+
Ongeldige configuratie gedetecteerd
-
+
Handheld-controller kan niet gebruikt worden in docked-modus. Pro controller wordt geselecteerd.
-
-
+
+
Amiibo
-
-
+
+
De huidige amiibo is verwijderd
-
+
Fout
-
-
+
+
Het huidige spel is niet op zoek naar amiibo's
-
+
Amiibo-bestand (%1);; Alle Bestanden (*.*)
-
+
Laad Amiibo
-
+
Fout tijdens het laden van de Amiibo-gegevens
-
+
Het geselecteerde bestand is geen geldige amiibo
-
+
Het geselecteerde bestand is al in gebruik
-
+
Er is een onbekende fout opgetreden
-
+
Leg Schermafbeelding Vast
-
+
PNG-afbeelding (*.png)
-
+
TAS-status: %1/%2 In werking
-
+
TAS-status: %1 Aan het opnemen
-
+
TAS-status: %1/%2 Inactief
-
+
TAS-status: Ongeldig
-
+
&Stop Uitvoering
-
+
&Start
-
+
Stop Opname
-
+
Opnemen
-
+
Bouwen: %n shader(s)Bouwen: %n shader(s)
-
+
%1 is the resolution scaling factor
Schaal: %1x
-
+
Snelheid: %1% / %2%
-
+
Snelheid: %1%
-
+
Spel: %1 FPS (Ontgrendeld)
-
+
Game: %1 FPS
-
+
Frame: %1 ms
-
-
- GPU NORMAAL
+
+
+ %1 %2
-
-
- GPU HOOG
-
-
-
-
- GPU EXTREEM
-
-
-
-
- GPU FOUT
-
-
-
-
- DOCKED
-
-
-
-
- HANDHELD
-
-
-
-
- OPENGL
-
-
-
-
- VULKAN
-
-
-
-
- NULL
-
-
-
-
- NEAREST
-
-
-
-
-
- BILINEAR
-
-
-
-
- BICUBIC
-
-
-
-
- GAUSSIAN
-
-
-
-
- SCALEFORCE
-
-
-
+
+
FSR
-
-
+
GEEN AA
-
-
- FXAA
-
-
-
-
- SMAA
-
-
-
+
VOLUME: GEDEMPT
-
+
Volume percentage (e.g. 50%)
VOLUME: %1%
-
+
Bevestig Sleutelherhaling
-
+
-
+
Missing fuses
-
+
- BOOT0 Ontbreekt
-
+
- BCPKG2-1-Normal-Main Ontbreekt
-
+
- PRODINFO Ontbreekt
-
+
Afleidingscomponenten ontbreken
-
+
Encryptiesleutels ontbreken. <br>Volg <a href='https://yuzu-emu.org/help/quickstart/'>de yuzu-snelstartgids</a> om al je sleutels, firmware en spellen te krijgen.<br><br><small>(%1)</small>
-
+
@@ -5622,49 +5661,49 @@ Dit kan tot een minuut duren,
afhankelijk van de prestaties van je systeem.
-
+
Sleutels Afleiden
-
+
Decryptie van Systeemarchief Mislukt
-
+
Encryptiesleutels zijn mislukt om firmware te decoderen. <br>Volg <a href='https://yuzu-emu.org/help/quickstart/'>de yuzu-snelstartgids</a> om al je sleutels, firmware en games te krijgen.
-
+
Selecteer RomFS-dumpdoel
-
+
Selecteer welke RomFS je zou willen dumpen.
-
+
Weet je zeker dat je yuzu wilt sluiten?
-
-
-
+
+
+
yuzu
-
+
Weet je zeker dat je de emulatie wilt stoppen? Alle niet opgeslagen voortgang zal verloren gaan.
-
+
@@ -5672,48 +5711,143 @@ Would you like to bypass this and exit anyway?
Wil je toch afsluiten?
+
+
+
+ Geen
+
+
+
+
+ FXAA
+
+
+
+
+ SMAA
+
+
+
+
+
+
+
+
+
+ Bilinear
+
+
+
+
+ Bicubic
+
+
+
+
+ Gaussian
+
+
+
+
+ ScaleForce
+
+
+
+
+ Docked
+
+
+
+
+ Handheld
+
+
+
+
+ Normaal
+
+
+
+
+ Hoog
+
+
+
+
+ Extreem
+
+
+
+
+ Vulkan
+
+
+
+
+ OpenGL
+
+
+
+
+ Nul
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
GRenderWindow
-
-
+
+
OpenGL niet beschikbaar!
-
+
OpenGL gedeelde contexten worden niet ondersteund.
-
+
yuzu is niet gecompileerd met OpenGL-ondersteuning.
-
-
+
+
Fout tijdens het initialiseren van OpenGL!
-
+
Je GPU ondersteunt mogelijk geen OpenGL, of je hebt niet de laatste grafische stuurprogramma.
-
+
Fout tijdens het initialiseren van OpenGL 4.6!
-
+
Je GPU ondersteunt mogelijk OpenGL 4.6 niet, of je hebt niet het laatste grafische stuurprogramma.<br><br>GL Renderer:<br>%1
-
+
Je GPU ondersteunt mogelijk een of meer vereiste OpenGL-extensies niet. Zorg ervoor dat je het laatste grafische stuurprogramma hebt.<br><br>GL Renderer:<br>%1<br><br>Ondersteunde extensies:<br>%2
@@ -5773,7 +5907,7 @@ Wil je toch afsluiten?
-
+ Cache-opslag verwijderen
@@ -6067,138 +6201,138 @@ Debug-bericht:
Hotkeys
-
+
Audio Dempen/Dempen Opheffen
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Hoofdvenster
-
+
Audiovolume Omlaag
-
+
Audiovolume Omhoog
-
+
Leg Schermafbeelding Vast
-
+
Wijzig Aanpassingsfilter
-
+
Wijzig Docked-modus
-
+
Wijzig GPU-nauwkeurigheid
-
+
Emulatie Doorgaan/Onderbreken
-
+
Volledig Scherm Afsluiten
-
+
yuzu afsluiten
-
+
Volledig Scherm
-
+
Laad Bestand
-
+
Laad/Verwijder Amiibo
-
+
Herstart Emulatie
-
+
Stop Emulatie
-
+
TAS Opname
-
+
TAS Reset
-
+
TAS Start/Stop
-
+
Schakel Filterbalk
-
+
Schakel Frameratelimiet
-
+
Schakel Muispanning
-
+
Schakel Statusbalk
@@ -6941,30 +7075,30 @@ p, li { white-space: pre-wrap; }
-
+
Shift
-
+
Ctrl
-
+
Alt
-
-
-
-
+
+
+
+
[niet aangegeven]
@@ -6975,14 +7109,14 @@ p, li { white-space: pre-wrap; }
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
Axis %1%2
@@ -6993,320 +7127,320 @@ p, li { white-space: pre-wrap; }
-
-
-
-
-
-
+
+
+
+
+
+
[onbekend]
-
-
+
+
Links
-
-
+
+
Rechts
-
-
+
+
Omlaag
-
-
+
+
Omhoog
-
+
Z
-
+
R
-
+
L
-
+
A
-
+
B
-
+
X
-
+
Y
-
+
Start
-
+
L1
-
+
L2
-
+
L3
-
+
R1
-
+
R2
-
+
R3
-
+
Cirkel
-
+
Kruis
-
+
Vierkant
-
+
Driehoek
-
+
Deel
-
+
Opties
-
+
[ongedefinieerd]
-
+
%1%2
-
-
+
+
[ongeldig]
-
-
+
+
%1%2Hat %3
-
-
+
-
+
+
%1%2As %3
-
-
+
+
%1%2As %3,%4,%5
-
-
+
+
%1%2Beweging %3
-
-
+
+
%1%2Knop %3
-
-
+
+
[ongebruikt]
-
+
ZR
-
+
ZL
-
+
SR
-
+
SL
-
+
Stick L
-
+
Stick R
-
+
Plus
-
+
Min
-
-
+
+
Home
-
+
Vastleggen
-
+
Touch
-
+
Indicates the mouse wheel
Wiel
-
+
Achteruit
-
+
Vooruit
-
+
Taak
-
+
Extra
-
+
%1%2%3%4
-
-
+
+
%1%2%3Hat %4
-
-
+
+
%1%2%3As %4
-
-
+
+
%1%2%3Knop %4
diff --git a/dist/languages/pl.ts b/dist/languages/pl.ts
index 19132bf95..2ee8cef47 100644
--- a/dist/languages/pl.ts
+++ b/dist/languages/pl.ts
@@ -381,17 +381,17 @@ To zbanuje jego/jej nick na forum, oraz jego/jej adres IP.
-
+ Urządzenie wyjściowe:
-
+ Urządzenie wejściowe:
-
+ Tryb wyjścia dźwięku:
@@ -1131,78 +1131,78 @@ Gdy ta opcja jest włączona, niedopasowanie jest uruchamiane tylko wtedy, gdy d
Ustawienia yuzu
-
-
+
+
Dźwięk
-
-
+
+
CPU
-
+
Wyszukiwanie usterek
-
+
System plików
-
-
+
+
Ogólne
-
-
+
+
Grafika
-
+
Zaawansowana grafika
-
+
Skróty klawiszowe
-
-
+
+
Sterowanie
-
+
Profile
-
+
Sieć
-
-
+
+
System
-
+
Lista Gier
-
+
Web
@@ -1396,17 +1396,22 @@ Gdy ta opcja jest włączona, niedopasowanie jest uruchamiane tylko wtedy, gdy d
Ukryj mysz przy braku aktywności
-
+
+
+
+
+
+
Resetuj wszystkie ustawienia
-
+
yuzu
-
+
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ć?
@@ -1472,7 +1477,7 @@ Gdy ta opcja jest włączona, niedopasowanie jest uruchamiane tylko wtedy, gdy d
-
+ Tryb synchronizacji pionowej:
@@ -1570,7 +1575,7 @@ Immediate (no synchronization) just presents whatever is available and can exhib
-
+ 1.5X (1080p/1620p) [Ekperymentalnie]
@@ -1600,12 +1605,12 @@ Immediate (no synchronization) just presents whatever is available and can exhib
-
+ 7X (5040p/7560p)
-
+ 8X (5760p/8640p)
@@ -1640,7 +1645,7 @@ Immediate (no synchronization) just presents whatever is available and can exhib
-
+ AMD FidelityFX™️ Super Resolution
@@ -1694,45 +1699,45 @@ Immediate (no synchronization) just presents whatever is available and can exhib
Kolor tła
-
+
GLASM (Zgromadzone Shadery, tylko NVIDIA)
-
+
SPIR-V (Eksperymentalne, Tylko Mesa)
-
+
FSR sharpening percentage (e.g. 50%)
%1%
-
+
-
+ Wyłączone
+
+
+
+
+ VSync wyłączony
+
+
+
+
+ Zalecane
-
-
-
-
-
-
-
-
-
-
-
+ Włączone
-
+
-
+ VSync aktywny
@@ -1760,22 +1765,22 @@ Immediate (no synchronization) just presents whatever is available and can exhib
-
+ Rekompresja ASTC:
-
+ Brak (najlepsza jakość)
-
+ BC1 (niska jakość)
-
+ BC3 (średnia jakość)
@@ -1800,7 +1805,7 @@ Immediate (no synchronization) just presents whatever is available and can exhib
-
+ Dekoduj tekstury ASTC asynchronicznie (Hack)
@@ -1854,37 +1859,57 @@ Compute pipelines are always enabled on all other drivers.
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Filtrowanie anizotropowe:
-
+
Automatyczne
-
+
Domyślne
-
+
2x
-
+
4x
-
+
8x
-
+
16x
@@ -2267,7 +2292,7 @@ Compute pipelines are always enabled on all other drivers.
-
+
Konfiguruj
@@ -2334,22 +2359,7 @@ Compute pipelines are always enabled on all other drivers.
-
-
- Włącz panoramowanie myszą
-
-
-
-
- Czułość myszy
-
-
-
-
- %
-
-
-
+
Ruch / Dotyk
@@ -2461,7 +2471,7 @@ Compute pipelines are always enabled on all other drivers.
-
+
Lewa gałka
@@ -2555,14 +2565,14 @@ Compute pipelines are always enabled on all other drivers.
-
+
L
-
+
ZL
@@ -2581,7 +2591,7 @@ Compute pipelines are always enabled on all other drivers.
-
+
Plus
@@ -2594,15 +2604,15 @@ Compute pipelines are always enabled on all other drivers.
-
-
+
+
R
-
+
ZR
@@ -2659,247 +2669,257 @@ Compute pipelines are always enabled on all other drivers.
-
+
Prawa gałka
-
-
-
-
+
+
+
+
+
+
+
+ Konfiguruj
+
+
+
+
+
+
Wyczyść
-
-
-
-
-
+
+
+
+
+
[nie ustawione]
-
-
-
+
+
+
Odwróć przycisk
-
-
+
+
Przycisk Toggle
-
+
-
+ Przycisk TURBO
-
-
+
+
Odwróć oś
-
-
-
+
+
+
Ustaw próg
-
-
+
+
Wybierz wartość od 0% do 100%
-
+
Przełącz oś
-
+
Ustaw próg gyro
-
+
-
+ Kalibracja sensora
-
+
Przypisz Drążek Analogowy
-
+
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.
-
+
Środkowa oś
-
-
+
+
Martwa strefa: %1%
-
-
+
+
Zasięg Modyfikatora: %1%
-
-
+
+
Pro Controller
-
+
Para Joyconów
-
+
Lewy Joycon
-
+
Prawy Joycon
-
+
Handheld
-
+
Kontroler GameCube
-
+
Poke Ball Plus
-
+
Kontroler NES/Pegasus
-
+
Kontroler SNES
-
+
Kontroler N64
-
+
Sega Mega Drive
-
+
Start / Pauza
-
+
Z
-
+
Lewa gałka
-
+
C-gałka
-
+
Potrząśnij!
-
+
[oczekiwanie]
-
+
Nowy profil
-
+
Wpisz nazwę profilu:
-
-
+
+
Utwórz profil wejściowy
-
+
Podana nazwa profilu jest nieprawidłowa!
-
+
Nie udało się utworzyć profilu wejściowego "%1"
-
+
Usuń profil wejściowy
-
+
Nie udało się usunąć profilu wejściowego "%1"
-
+
Załaduj profil wejściowy
-
+
Nie udało się wczytać profilu wejściowego "%1"
-
+
Zapisz profil wejściowy
-
+
Nie udało się zapisać profilu wejściowego "%1"
@@ -3078,6 +3098,81 @@ Aby odwrócić osie, najpierw przesuń joystick pionowo, a następnie poziomo.
Trwa konfiguracja testu UDP lub kalibracji.<br>Poczekaj na zakończenie.
+
+ ConfigureMousePanning
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ %
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Domyślny
+
+
ConfigureNetwork
@@ -3154,47 +3249,47 @@ Aby odwrócić osie, najpierw przesuń joystick pionowo, a następnie poziomo.
Deweloper
-
+
Dodatki
-
+
Ogólne
-
+
System
-
+
CPU
-
+
Grafika
-
+
Zaaw. Grafika
-
+
Dźwięk
-
+
Profil wejściowy
-
+
Właściwości
@@ -3397,8 +3492,8 @@ UUID: %2
-
- Jeżeli zamierzasz używać tego kontrolera, skonfiguruj Gracza 1 jako prawy kontroler oraz Gracza 2 jako podwójnego JoyCona przed uruchomieniem gry aby zezwolić temu kontrolerowi na jego poprawne wykrycie.
+
+
@@ -3434,7 +3529,7 @@ UUID: %2
-
+
@@ -3447,7 +3542,7 @@ UUID: %2
-
+ Niepodłączony
@@ -3501,12 +3596,17 @@ UUID: %2
-
+
+
+
+
+
+
-
+
[oczekiwanie]
@@ -4616,561 +4716,576 @@ Przeciągnij punkty, aby zmienić pozycję, lub kliknij dwukrotnie komórki tabe
GMainWindow
-
+
<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?
-
+
Telemetria
-
+
Wykryto uszkodzoną instalację Vulkana
-
+
Inicjalizacja Vulkana nie powiodła się podczas uruchamiania.<br><br>Kliknij<a href='https://yuzu-emu.org/wiki/faq/#yuzu-starts-with-the-error-broken-vulkan-installation-detected'>tutaj aby uzyskać instrukcje dotyczące rozwiązania tego problemu</a>.
-
+
+
+ TRANSLATORS: This string is shown to the user to explain why yuzu needs to prevent the computer from sleeping
+
+
+
+
Ładowanie apletu internetowego...
-
-
+
+
Wyłącz Aplet internetowy
-
+
Wyłączanie web appletu może doprowadzić do nieokreślonych zachowań - wyłączyć applet należy jedynie grając w Super Mario 3D All-Stars. Na pewno chcesz wyłączyć web applet?
(Można go ponownie włączyć w ustawieniach debug.)
-
+
Ilość budowanych shaderów
-
+
Obecnie wybrany mnożnik rozdzielczości.
-
+
Aktualna prędkość emulacji. Wartości większe lub niższe niż 100% wskazują, że emulacja działa szybciej lub wolniej niż Switch.
-
+
Ile klatek na sekundę gra aktualnie wyświetla. To będzie się różnić w zależności od gry, od sceny do sceny.
-
+
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.
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
&Usuń Ostatnie pliki
-
+
-
+ Emulacja myszki jest aktywna
-
+
-
+
&Kontynuuj
-
+
&Pauza
-
-
- TRANSLATORS: This string is shown to the user to explain why yuzu needs to prevent the computer from sleeping
- yuzu jest w trakcie gry
-
-
-
+
OSTRZEŻENIE! Nieaktualny format gry
-
+
Używasz zdekonstruowanego formatu katalogu ROM dla tej gry, który jest przestarzałym formatem, który został zastąpiony przez inne, takie jak NCA, NAX, XCI lub NSP. W zdekonstruowanych katalogach ROM brakuje ikon, metadanych i obsługi aktualizacji.<br><br> Aby znaleźć wyjaśnienie różnych formatów Switch obsługiwanych przez yuzu,<a href='https://yuzu-emu.org/wiki/overview-of-switch-game-formats'> sprawdź nasze wiki</a>. Ta wiadomość nie pojawi się ponownie.
-
-
+
+
Błąd podczas wczytywania ROMu!
-
+
Ten format ROMu nie jest wspierany.
-
+
Wystąpił błąd podczas inicjowania rdzenia wideo.
-
+
yuzu napotkał błąd podczas uruchamiania rdzenia wideo. Jest to zwykle spowodowane przestarzałymi sterownikami GPU, w tym zintegrowanymi. Więcej szczegółów znajdziesz w pliku log. Więcej informacji na temat dostępu do log-u można znaleźć na następującej stronie: <a href='https://yuzu-emu.org/help/reference/log-files/'>Jak przesłać plik log</a>.
-
+
%1 signifies a numeric error code.
Błąd podczas wczytywania ROMu! %1
-
+
%1 signifies an error string.
%1<br>Postępuj zgodnie z<a href='https://yuzu-emu.org/help/quickstart/'>yuzu quickstart guide</a> aby zrzucić ponownie swoje pliki.<br>Możesz odwołać się do wiki yuzu</a>lub discord yuzu </a> po pomoc.
-
+
Wystąpił nieznany błąd. Więcej informacji można znaleźć w pliku log.
-
+
(64-bit)
-
+
(32-bit)
-
+
%1 is the title name. %2 indicates if the title is 64-bit or 32-bit
%1 %2
-
+
Zamykanie aplikacji...
-
+
Zapis danych
-
+
Dane modów
-
+
Błąd podczas otwarcia folderu %1
-
-
+
+
Folder nie istnieje!
-
+
Błąd podczas otwierania przenośnej pamięci podręcznej Shaderów.
-
+
Nie udało się stworzyć ścieżki shaderów dla tego tytułu.
-
+
Błąd podczas usuwania zawartości
-
+
Błąd podczas usuwania aktualizacji
-
+
Błąd podczas usuwania dodatków
-
+
Czy usunąć zainstalowaną zawartość gry?
-
+
Czy usunąć zainstalowaną aktualizację gry?
-
+
Czy usunąć zainstalowane dodatki gry?
-
+
Usuń wpis
-
-
-
-
-
-
+
+
+
+
+
+
Pomyślnie usunięto
-
+
Pomyślnie usunięto zainstalowaną grę.
-
+
Gra nie jest zainstalowana w NAND i nie może zostać usunięta.
-
+
Pomyślnie usunięto zainstalowaną łatkę.
-
+
Brak zainstalowanych łatek dla tego tytułu.
-
+
Brak zainstalowanych DLC dla tego tytułu.
-
+
Pomyślnie usunięto %1 zainstalowane DLC.
-
+
Usunąć Transferowalne Shadery OpenGL?
-
+
Usunąć Transferowalne Shadery Vulkan?
-
+
Usunąć Wszystkie Transferowalne Shadery?
-
+
Usunąć niestandardową konfigurację gry?
-
+
-
+ Usunąć pamięć podręczną?
-
+
Usuń plik
-
-
+
+
Błąd podczas usuwania przenośnej pamięci podręcznej Shaderów.
-
-
+
+
Pamięć podręczna Shaderów dla tego tytułu nie istnieje.
-
+
Pomyślnie usunięto przenośną pamięć podręczną Shaderów.
-
+
Nie udało się usunąć przenośnej pamięci Shaderów.
-
+
Błąd podczas usuwania pamięci podręcznej strumienia sterownika Vulkana
-
+
Błąd podczas usuwania pamięci podręcznej strumienia sterownika.
-
-
+
+
Błąd podczas usuwania Transferowalnych Shaderów
-
+
Pomyślnie usunięto transferowalne shadery.
-
+
Nie udało się usunąć ścieżki transferowalnych shaderów.
-
-
+
+
Błąd podczas usuwania niestandardowej konfiguracji
-
+
Niestandardowa konfiguracja nie istnieje dla tego tytułu.
-
+
Pomyślnie usunięto niestandardową konfiguracje gry.
-
+
Nie udało się usunąć niestandardowej konfiguracji gry.
-
-
+
+
Wypakowanie RomFS nieudane!
-
+
Wystąpił błąd podczas kopiowania plików RomFS lub użytkownik anulował operację.
-
+
Pełny
-
+
Szkielet
-
+
Wybierz tryb zrzutu RomFS
-
+
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.
-
+
Nie ma wystarczająco miejsca w %1 aby wyodrębnić RomFS.
Zwolnij trochę miejsca, albo zmień ścieżkę zrzutu RomFs w Emulacja> Konfiguruj> System> System Plików> Źródło Zrzutu
-
+
Wypakowywanie RomFS...
-
-
+
+
Anuluj
-
+
Wypakowanie RomFS zakończone pomyślnie!
-
+
Operacja zakończona sukcesem.
-
-
-
-
-
+
+
+
+
+
Utwórz skrót
-
+
Utworzy to skrót do obecnego AppImage. Może nie działać dobrze po aktualizacji. Kontynuować?
-
+
Nie można utworzyć skrótu na pulpicie. Ścieżka "%1" nie istnieje.
-
+
Nie można utworzyć skrótu w menu aplikacji. Ścieżka "%1" nie istnieje oraz nie może być utworzona.
-
+
Utwórz ikonę
-
+
Nie można utworzyć pliku ikony. Ścieżka "%1" nie istnieje oraz nie może być utworzona.
-
+
Włącz %1 z emulatorem yuzu
-
+
Nie udało się utworzyć skrótu pod %1
-
+
Pomyślnie utworzono skrót do %1
-
+
Błąd podczas otwierania %1
-
+
Wybierz folder...
-
+
Właściwości
-
+
Właściwości tej gry nie mogły zostać załadowane.
-
+
%1 is an identifier for the Switch executable file extensions.
Plik wykonywalny Switcha (%1);;Wszystkie pliki (*.*)
-
+
Załaduj plik...
-
+
Otwórz folder wypakowanego ROMu
-
+
Wybrano niewłaściwy folder
-
+
Folder wybrany przez ciebie nie zawiera 'głownego' pliku.
-
+
Instalacyjne pliki Switch'a (*.nca *.nsp *.xci);;Archiwum zawartości Nintendo (*.nca);;Pakiet poddany Nintendo (*.nsp);;Obraz z kartridża NX (*.xci)
-
+
Zainstaluj pliki
-
+
1 plik został%n plików zostało%n plików zostało%n plików zostało
-
+
Instalowanie pliku "%1"...
-
-
+
+
Wynik instalacji
-
+
Aby uniknąć ewentualnych konfliktów, odradzamy użytkownikom instalowanie gier na NAND.
Proszę, używaj tej funkcji tylko do instalowania łatek i DLC.
-
+
1 nowy plik został zainstalowany
@@ -5180,400 +5295,324 @@ Proszę, używaj tej funkcji tylko do instalowania łatek i DLC.
-
+
1 plik został nadpisany%n plików zostało nadpisane%n plików zostało nadpisane%n plików zostało nadpisane
-
+
1 pliku nie udało się zainstalować%n plików nie udało się zainstalować%n plików nie udało się zainstalować%n plików nie udało się zainstalować
-
+
Aplikacja systemowa
-
+
Archiwum systemu
-
+
Aktualizacja aplikacji systemowej
-
+
Paczka systemowa (Typ A)
-
+
Paczka systemowa (Typ B)
-
+
Gra
-
+
Aktualizacja gry
-
+
Dodatek do gry
-
+
Tytuł Delta
-
+
Wybierz typ instalacji NCA...
-
+
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.)
-
+
Instalacja nieudana
-
+
Typ tytułu wybrany dla NCA jest nieprawidłowy.
-
+
Nie znaleziono pliku
-
+
Nie znaleziono pliku "%1"
-
+
OK
-
-
+
+
Wymagania sprzętowe nie są spełnione
-
-
+
+
Twój system nie spełnia rekomendowanych wymagań sprzętowych. Raportowanie kompatybilności zostało wyłączone.
-
+
Brakuje konta Yuzu
-
+
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 > Konfiguracja > Sieć.
-
+
Błąd otwierania adresu URL
-
+
Nie można otworzyć adresu URL "%1".
-
+
Nagrywanie TAS
-
+
Nadpisać plik gracza 1?
-
+
Wykryto nieprawidłową konfigurację
-
+
Nie można używać kontrolera handheld w trybie zadokowanym. Zostanie wybrany kontroler Pro.
-
-
+
+
Amiibo
-
-
+
+
Amiibo zostało "zdjęte"
-
+
Błąd
-
-
+
+
Ta gra nie szuka amiibo
-
+
Plik Amiibo (%1);;Wszyskie pliki (*.*)
-
+
Załaduj Amiibo
-
+
Błąd podczas ładowania pliku danych Amiibo
-
+
Wybrany plik nie jest poprawnym amiibo
-
+
Wybrany plik jest już w użyciu
-
+
Wystąpił nieznany błąd
-
+
Zrób zrzut ekranu
-
+
Obrazek PNG (*.png)
-
+
Status TAS: Działa %1%2
-
+
Status TAS: Nagrywa %1
-
+
Status TAS: Bezczynny %1%2
-
+
Status TAS: Niepoprawny
-
+
&Wyłącz
-
+
&Start
-
+
Przestań N&agrywać
-
+
N&agraj
-
+
Budowanie shaderaBudowanie: %n shaderówBudowanie: %n shaderówBudowanie: %n shaderów
-
+
%1 is the resolution scaling factor
Skala: %1x
-
+
Prędkość: %1% / %2%
-
+
Prędkość: %1%
-
+
Gra: %1 FPS (Odblokowane)
-
+
Gra: %1 FPS
-
+
Klatka: %1 ms
-
-
- GPU NORMALNE
+
+
+ %1 %2
-
-
- GPU WYSOKIE
-
-
-
-
- GPU EKSTREMALNE
-
-
-
-
- BŁĄD GPU
-
-
-
-
- TRYB ZADOKOWANY
-
-
-
-
- TRYB PRZENOŚNY
-
-
-
-
- OPENGL
-
-
-
-
- VULKAN
-
-
-
-
- Zero
-
-
-
-
- NAJBLIŻSZY
-
-
-
-
-
- BILINEARNY
-
-
-
-
- BIKUBICZNY
-
-
-
-
- GAUSSIAN
-
-
-
-
- SCALEFORCE
-
-
-
+
+
FSR
-
-
+
BEZ AA
-
-
- FXAA
-
-
-
-
- SMAA
-
-
-
+
-
+ Głośność: Wyciszony
-
+
Volume percentage (e.g. 50%)
-
+ Głośność: %1%
-
+
Potwierdź ponowną aktywacje klucza
-
+
-
+
Brakujące bezpieczniki
-
+
- Brak BOOT0
-
+
- Brak BCPKG2-1-Normal-Main
-
+
- Brak PRODINFO
-
+
Brak komponentów wyprowadzania
-
+
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>
-
+
@@ -5629,49 +5668,49 @@ Zależnie od tego może potrwać do minuty
na wydajność twojego systemu.
-
+
Wyprowadzanie kluczy...
-
+
-
+
-
+
Wybierz cel zrzutu RomFS
-
+
Proszę wybrać RomFS, jakie chcesz zrzucić.
-
+
Czy na pewno chcesz zamknąć yuzu?
-
-
-
+
+
+
yuzu
-
+
Czy na pewno chcesz zatrzymać emulację? Wszystkie niezapisane postępy zostaną utracone.
-
+
@@ -5679,48 +5718,143 @@ Would you like to bypass this and exit anyway?
Czy chcesz to ominąć i mimo to wyjść?
+
+
+
+ Żadna (wyłączony)
+
+
+
+
+ FXAA
+
+
+
+
+ SMAA
+
+
+
+
+
+
+
+
+
+ Bilinearny
+
+
+
+
+ Bikubiczny
+
+
+
+
+ Kulisty
+
+
+
+
+ ScaleForce
+
+
+
+
+ Zadokowany
+
+
+
+
+ Przenośnie
+
+
+
+
+ Normalny
+
+
+
+
+ Wysoki
+
+
+
+
+
+
+
+
+
+ Vulkan
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
GRenderWindow
-
-
+
+
OpenGL niedostępny!
-
+
Współdzielone konteksty OpenGL nie są obsługiwane.
-
+
yuzu nie zostało skompilowane z obsługą OpenGL.
-
-
+
+
Błąd podczas inicjowania OpenGL!
-
+
Twoja karta graficzna może nie obsługiwać OpenGL lub nie masz najnowszych sterowników karty graficznej.
-
+
Błąd podczas inicjowania OpenGL 4.6!
-
+
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
-
+
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
@@ -5780,7 +5914,7 @@ Czy chcesz to ominąć i mimo to wyjść?
-
+ Usuń pamięć podręczną
@@ -6074,138 +6208,138 @@ Komunikat debugowania:
Hotkeys
-
+
Wycisz/Odcisz Audio
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Okno główne
-
+
Zmniejsz głośność dźwięku
-
+
Zwiększ głośność dźwięku
-
+
Zrób zrzut ekranu
-
+
Zmień filtr adaptacyjny
-
+
Zmień tryb dokowania
-
+
Zmień dokładność GPU
-
+
Kontynuuj/Zatrzymaj Emulację
-
+
Wyłącz Pełny Ekran
-
+
Wyjdź z yuzu
-
+
Pełny ekran
-
+
Załaduj plik...
-
+
Załaduj/Usuń Amiibo
-
+
Zrestartuj Emulację
-
+
Zatrzymaj Emulację
-
+
Nagrywanie TAS
-
+
Reset TAS
-
+
TAS Start/Stop
-
+
Pokaż pasek filtrowania
-
+
Przełącz limit liczby klatek na sekundę
-
+
Włącz przesuwanie myszką
-
+
Przełącz pasek stanu
@@ -6948,30 +7082,30 @@ p, li { white-space: pre-wrap; }
-
+
Shift
-
+
Ctrl
-
+
Alt
-
-
-
-
+
+
+
+
[nie ustawione]
@@ -6982,14 +7116,14 @@ p, li { white-space: pre-wrap; }
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
Oś %1%2
@@ -7000,322 +7134,322 @@ p, li { white-space: pre-wrap; }
-
-
-
-
-
-
+
+
+
+
+
+
[nieznane]
-
-
+
+
Lewo
-
-
+
+
Prawo
-
-
+
+
Dół
-
-
+
+
Góra
-
+
Z
-
+
R
-
+
L
-
+
A
-
+
B
-
+
X
-
+
Y
-
+
Start
-
+
L1
-
+
L2
-
+
L3
-
+
R1
-
+
R2
-
+
R3
-
+
Kółko
-
+
Krzyż
-
+
Kwadrat
-
+
Trójkąt
-
+
Udostępnij
-
+
Opcje
-
+
[niezdefiniowane]
-
+
%1%2
-
-
+
+
[niepoprawne]
-
-
+
+
%1%2Drążek %3
-
-
+
-
+
+
%1%2Oś %3
-
-
+
+
%1%2Oś %3,%4,%5
-
-
+
+
%1%2Ruch %3
-
-
+
+
%1%2Przycisk %3
-
-
+
+
[nieużywane]
-
+
ZR
-
+
ZL
-
+
SR
-
+
SL
-
+
-
+ Lewa gałka
-
+
-
+ Prawa gałka
-
+
Plus
-
+
Minus
-
-
+
+
Home
-
+
Zrzut ekranu
-
+
Dotyk
-
+
Indicates the mouse wheel
Kółko
-
+
Do tyłu
-
+
Do przodu
-
+
Zadanie
-
+
Dodatkowe
-
+
-
+ %1%2%3%4
-
-
+
+
-
+ %1%2%3Krzyżak %4
-
-
+
+
-
+ %1%2%3Oś %4
-
-
+
+
-
+ %1%2%3Przycisk %4
@@ -7736,7 +7870,7 @@ Spróbuj ponownie lub skontaktuj się z twórcą oprogramowania.
-
+ Kreator profilu
@@ -7747,12 +7881,12 @@ Spróbuj ponownie lub skontaktuj się z twórcą oprogramowania.
-
+ Edytor ikony profilu
-
+ Edytor ksywki profilowej
diff --git a/dist/languages/pt_BR.ts b/dist/languages/pt_BR.ts
index a81ba4c22..05545c04d 100644
--- a/dist/languages/pt_BR.ts
+++ b/dist/languages/pt_BR.ts
@@ -381,17 +381,17 @@ Isto banirá tanto o nome de usuário do fórum como o endereço IP.
-
+ Dispositivo de Saída
-
+ Dispositivo de Entrada
-
+ Modo de saída de som
@@ -1137,78 +1137,78 @@ Isto banirá tanto o nome de usuário do fórum como o endereço IP.Configurações do yuzu
-
-
+
+
Áudio
-
-
+
+
CPU
-
+
Depuração
-
+
Sistema de arquivos
-
-
+
+
Geral
-
-
+
+
Gráficos
-
+
GráficosAvançado
-
+
Teclas de atalho
-
-
+
+
Controles
-
+
Perfis
-
+
Rede
-
-
+
+
Sistema
-
+
Lista de jogos
-
+
Rede
@@ -1402,17 +1402,22 @@ Isto banirá tanto o nome de usuário do fórum como o endereço IP.Esconder cursor do mouse quando em inatividade
-
+
+
+
+
+
+
Redefinir todas as configurações
-
+
yuzu
-
+
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?
@@ -1478,7 +1483,7 @@ Isto banirá tanto o nome de usuário do fórum como o endereço IP.
-
+ Modo de Sincronização vertical:
@@ -1700,45 +1705,45 @@ Immediate (no synchronization) just presents whatever is available and can exhib
Cor de fundo:
-
+
GLASM (Shaders Assembly, apenas NVIDIA)
-
+
SPIR-V (Experimental, Somente Mesa)
-
+
FSR sharpening percentage (e.g. 50%)
%1%
-
+
-
+ Desligado
+
+
+
+
+ Sincronização vertical desligada
+
+
+
+
+ Recomendado
-
-
-
-
-
-
-
-
-
-
-
+ Ligado
-
+
-
+ Sincronização vertical ligada
@@ -1766,27 +1771,27 @@ Immediate (no synchronization) just presents whatever is available and can exhib
-
+ Recompressão ASTC:
-
+ Descompactado (Melhor qualidade)
-
+ BC1 (Baixa qualidade)
-
+ BC3 (Média qualidade)
-
+ Ativar apresentação assíncrona (Somente Vulkan)
@@ -1857,40 +1862,60 @@ Compute pipelines are always enabled on all other drivers.
+ Ativar Compute Pipelines (Intel Vulkan only)
+
+
+
+
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Filtragem anisotrópica:
-
+
Automático
-
+
Padrão
-
+
2x
-
+
4x
-
+
8x
-
+
16x
@@ -2273,7 +2298,7 @@ Compute pipelines are always enabled on all other drivers.
-
+
Configurar
@@ -2332,30 +2357,15 @@ Compute pipelines are always enabled on all other drivers.
-
+ Permite acesso ilimitado ao mesmo Amiibo que limitam o seu uso.
-
+ Utilizar ID Amiibo aleatório
-
-
- Ativar o giro do mouse
-
-
-
-
- Sensibilidade do mouse
-
-
-
-
- %
-
-
-
+
Movimento/toque
@@ -2467,7 +2477,7 @@ Compute pipelines are always enabled on all other drivers.
-
+
Analógico esquerdo
@@ -2561,14 +2571,14 @@ Compute pipelines are always enabled on all other drivers.
-
+
L
-
+
ZL
@@ -2587,7 +2597,7 @@ Compute pipelines are always enabled on all other drivers.
-
+
Mais
@@ -2600,15 +2610,15 @@ Compute pipelines are always enabled on all other drivers.
-
-
+
+
R
-
+
ZR
@@ -2665,247 +2675,257 @@ Compute pipelines are always enabled on all other drivers.
-
+
Analógico direito
-
-
-
-
+
+
+
+
+
+
+
+ Configurar
+
+
+
+
+
+
Limpar
-
-
-
-
-
+
+
+
+
+
[não definido]
-
-
-
+
+
+
Inverter botão
-
-
+
+
Alternar pressionamento do botão
-
+
Botão Turbo
-
-
+
+
Inverter eixo
-
-
-
+
+
+
Definir limite
-
-
+
+
Escolha um valor entre 0% e 100%
-
+
Alternar eixos
-
+
Definir limite do giroscópio
-
+
-
+ Calibrar sensor
-
+
Mapear analógico
-
+
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.
-
+
Eixo central
-
-
+
+
Zona morta: %1%
-
-
+
+
Alcance de modificador: %1%
-
-
+
+
Pro Controller
-
+
Par de Joycons
-
+
Joycon Esquerdo
-
+
Joycon Direito
-
+
Portátil
-
+
Controle de GameCube
-
+
Poke Ball Plus
-
+
Controle NES
-
+
Controle SNES
-
+
Controle N64
-
+
Mega Drive
-
+
Iniciar / Pausar
-
+
Z
-
+
Direcional de controle
-
+
C-Stick
-
+
Balance!
-
+
[esperando]
-
+
Novo perfil
-
+
Insira um nome para o perfil:
-
-
+
+
Criar perfil de controle
-
+
O nome de perfil inserido não é válido!
-
+
Falha ao criar o perfil de controle "%1"
-
+
Excluir perfil de controle
-
+
Falha ao excluir o perfil de controle "%1"
-
+
Carregar perfil de controle
-
+
Falha ao carregar o perfil de controle "%1"
-
+
Salvar perfil de controle
-
+
Falha ao salvar o perfil de controle "%1"
@@ -3084,6 +3104,81 @@ Para inverter os eixos, mova seu analógico primeiro verticalmente e depois hori
Um teste UDP ou configuração de calibração está em curso no momento.<br>Aguarde até a sua conclusão.
+
+ ConfigureMousePanning
+
+
+
+
+
+
+
+
+ Habilitar
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ %
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Padrão
+
+
ConfigureNetwork
@@ -3160,47 +3255,47 @@ Para inverter os eixos, mova seu analógico primeiro verticalmente e depois hori
Desenvolvedor
-
+
Adicionais
-
+
Geral
-
+
Sistema
-
+
CPU
-
+
Gráficos
-
+
Gráf. avançados
-
+
Áudio
-
+
Perfis de controle
-
+
Propriedades
@@ -3403,8 +3498,8 @@ UUID: %2
-
- Caso queira usar este controle, configure o jogador 1 como Joycon direito e o jogador 2 como par de Joycons antes de iniciar o jogo. Isso permitirá que o controle seja detectado corretamente.
+
+
@@ -3440,7 +3535,7 @@ UUID: %2
-
+
Habilitar
@@ -3507,12 +3602,17 @@ UUID: %2
O dispositivo mapeado não tem um anel conectado
-
+
+
+
+
+
+
Resultado inesperado do driver %1
-
+
[aguardando]
@@ -3923,7 +4023,7 @@ UUID: %2
-
+ Layout de memória estendida inseguro (8GB DRAM)
@@ -4622,560 +4722,575 @@ Mova os pontos para mudar a posição, ou clique duas vezes nas células da tabe
GMainWindow
-
+
<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?
-
+
Telemetria
-
+
Detectada Instalação Defeituosa do Vulkan
-
+
A inicialização do Vulkan falhou durante a carga do programa. <br><br>Clique <a href='https://yuzu-emu.org/wiki/faq/#yuzu-starts-with-the-error-broken-vulkan-installation-detected'>aqui para instruções de como resolver o problema</a>.
-
+
+
+ TRANSLATORS: This string is shown to the user to explain why yuzu needs to prevent the computer from sleeping
+
+
+
+
Carregando applet web...
-
-
+
+
Desativar o applet da web
-
+
A desativação do applet da web pode causar comportamento inesperado e deve apenas ser usada com Super Mario 3D All-Stars. Você deseja mesmo desativar o applet da web?
(Ele pode ser reativado nas configurações de depuração.)
-
+
A quantidade de shaders sendo construídos
-
+
O atualmente multiplicador de escala de resolução selecionado.
-
+
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.
-
+
Quantos quadros por segundo o jogo está exibindo atualmente. Isto irá variar de jogo para jogo e cena para cena.
-
+
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.
-
+
+
+ Unmute
+
+
+
+
+ Mute
+
+
+
+
+ Redefinir volume
+
+
+
&Limpar arquivos recentes
-
+
Mouse emulado está habilitado
-
+
Controle de mouse real e controle panorâmico do mouse são incompatíveis. Por favor desabilite a emulação do mouse em configurações avançadas de controles para permitir o controle panorâmico do mouse.
-
+
&Continuar
-
+
&Pausar
-
-
- TRANSLATORS: This string is shown to the user to explain why yuzu needs to prevent the computer from sleeping
- yuzu está rodando um jogo
-
-
-
+
Aviso - formato de jogo desatualizado
-
+
Você está usando neste jogo o formato de ROM desconstruída e extraída em uma pasta, que é um formato desatualizado que foi substituído por outros, como NCA, NAX, XCI ou NSP. Pastas desconstruídas de ROMs não possuem ícones, metadados e suporte a atualizações.<br><br>Para saber mais sobre os vários formatos de ROMs de Switch compatíveis com o yuzu, <a href='https://yuzu-emu.org/wiki/overview-of-switch-game-formats'>confira a nossa wiki</a>. Esta mensagem não será exibida novamente.
-
-
+
+
Erro ao carregar a ROM!
-
+
O formato da ROM não é suportado.
-
+
Ocorreu um erro ao inicializar o núcleo de vídeo.
-
+
yuzu encontrou um erro enquanto rodando o núcleo de vídeo. Normalmente isto é causado por drivers de GPU desatualizados, incluindo integrados. Por favor veja o registro para mais detalhes. Para mais informações em acesso ao registro por favor veja a seguinte página: <a href='https://yuzu-emu.org/help/reference/log-files/'>Como fazer envio de arquivo de registro</a>.
-
+
%1 signifies a numeric error code.
Erro ao carregar a ROM! %1
-
+
%1 signifies an error string.
%1<br>Por favor, siga <a href='https://yuzu-emu.org/help/quickstart/'>o guia de início rápido</a> para reextrair os seus arquivos.<br>Você pode consultar a wiki do yuzu</a> ou o Discord do yuzu</a> para obter ajuda.
-
+
Ocorreu um erro desconhecido. Consulte o registro para mais detalhes.
-
+
(64-bit)
-
+
(32-bit)
-
+
%1 is the title name. %2 indicates if the title is 64-bit or 32-bit
%1 %2
-
+
Encerrando software...
-
+
Dados de jogos salvos
-
+
Dados de mods
-
+
Erro ao abrir a pasta %1
-
-
+
+
A pasta não existe!
-
+
Erro ao abrir o cache de shaders transferível
-
+
Falha ao criar o diretório de cache de shaders para este título.
-
+
Erro ao Remover Conteúdos
-
+
Erro ao Remover Atualização
-
+
Erro ao Remover DLC
-
+
Remover Conteúdo Instalado do Jogo?
-
+
Remover Atualização Instalada do Jogo?
-
+
Remover DLC Instalada do Jogo?
-
+
Remover item
-
-
-
-
-
-
+
+
+
+
+
+
Removido com sucesso
-
+
O jogo base foi removido com sucesso.
-
+
O jogo base não está instalado na NAND e não pode ser removido.
-
+
A atualização instalada foi removida com sucesso.
-
+
Não há nenhuma atualização instalada para este título.
-
+
Não há nenhum DLC instalado para este título.
-
+
%1 DLC(s) instalados foram removidos com sucesso.
-
+
Apagar o cache de shaders transferível do OpenGL?
-
+
Apagar o cache de shaders transferível do Vulkan?
-
+
Apagar todos os caches de shaders transferíveis?
-
+
Remover configurações customizadas do jogo?
-
+
-
+ Remover Armazenamento da Cache?
-
+
Remover arquivo
-
-
+
+
Erro ao remover cache de shaders transferível
-
-
+
+
Não existe um cache de shaders para este título.
-
+
O cache de shaders transferível foi removido com sucesso.
-
+
Falha ao remover o cache de shaders transferível.
-
+
Erro ao Remover Cache de Pipeline do Driver Vulkan
-
+
Falha ao remover o pipeline de cache do driver.
-
-
+
+
Erro ao remover os caches de shaders transferíveis
-
+
Os caches de shaders transferíveis foram removidos com sucesso.
-
+
Falha ao remover o diretório do cache de shaders transferível.
-
-
+
+
Erro ao remover as configurações customizadas do jogo.
-
+
Não há uma configuração customizada para este título.
-
+
As configurações customizadas do jogo foram removidas com sucesso.
-
+
Falha ao remover as configurações customizadas do jogo.
-
-
+
+
Falha ao extrair RomFS!
-
+
Houve um erro ao copiar os arquivos RomFS ou o usuário cancelou a operação.
-
+
Extração completa
-
+
Apenas estrutura
-
+
Selecione o modo de extração do RomFS
-
+
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.
-
+
Não há espaço suficiente em %1 para extrair o RomFS. Por favor abra espaço ou selecione um diretório diferente em Emulação > Configurar > Sistema > Sistema de arquivos > Extrair raiz
-
+
Extraindo RomFS...
-
-
+
+
Cancelar
-
+
Extração do RomFS concluida!
-
+
A operação foi concluída com sucesso.
-
-
-
-
-
+
+
+
+
+
Criar Atalho
-
+
Isso irá criar um atalho para o AppImage atual. Isso pode não funcionar corretamente se você fizer uma atualização. Continuar?
-
+
Não foi possível criar um atalho na área de trabalho. O caminho "%1" não existe.
-
+
Não foi possível criar um atalho no menu de aplicativos. O caminho "%1" não existe e não pode ser criado.
-
+
Criar Ícone
-
+
Não foi possível criar o arquivo de ícone. O caminho "%1" não existe e não pode ser criado.
-
+
Iniciar %1 com o Emulador yuzu
-
+
Falha ao criar um atalho em %1
-
+
Atalho criado com sucesso em %1
-
+
Erro ao abrir %1
-
+
Selecionar pasta
-
+
Propriedades
-
+
As propriedades do jogo não puderam ser carregadas.
-
+
%1 is an identifier for the Switch executable file extensions.
Executável do Switch (%1);;Todos os arquivos (*.*)
-
+
Carregar arquivo
-
+
Abrir pasta da ROM extraída
-
+
Pasta inválida selecionada
-
+
A pasta que você selecionou não contém um arquivo 'main'.
-
+
Arquivo de Switch instalável (*.nca *.nsp *.xci);; Nintendo Content Archive (*.nca);;Nintendo Submission Package (*.nsp);;NX Cartridge Image (*.xci)
-
+
Instalar arquivos
-
+
%n arquivo restante%n arquivo(s) restante(s)%n arquivo(s) restante(s)
-
+
Instalando arquivo "%1"...
-
-
+
+
Resultados da instalação
-
+
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 DLCs.
-
+
%n arquivo(s) instalado(s)
@@ -5184,7 +5299,7 @@ Por favor, use esse recurso apenas para instalar atualizações e DLCs.
-
+
%n arquivo(s) sobrescrito(s)
@@ -5193,7 +5308,7 @@ Por favor, use esse recurso apenas para instalar atualizações e DLCs.
-
+
%n arquivo(s) não instalado(s)
@@ -5202,388 +5317,312 @@ Por favor, use esse recurso apenas para instalar atualizações e DLCs.
-
+
Aplicativo do sistema
-
+
Arquivo do sistema
-
+
Atualização de aplicativo do sistema
-
+
Pacote de firmware (tipo A)
-
+
Pacote de firmware (tipo B)
-
+
Jogo
-
+
Atualização de jogo
-
+
DLC de jogo
-
+
Título delta
-
+
Selecione o tipo de instalação do NCA...
-
+
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.)
-
+
Falha ao instalar
-
+
O tipo de título que você selecionou para o NCA é inválido.
-
+
Arquivo não encontrado
-
+
Arquivo "%1" não encontrado
-
+
OK
-
-
+
+
Requisitos de hardware não atendidos
-
-
+
+
Seu sistema não atende os requisitos de harwdare. O relatório de compatibilidade foi desabilitado.
-
+
Conta do yuzu faltando
-
+
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 > Configurar... > Rede.
-
+
Erro ao abrir URL
-
+
Não foi possível abrir o URL "%1".
-
+
Gravando TAS
-
+
Sobrescrever arquivo do jogador 1?
-
+
Configuração inválida detectada
-
+
O controle portátil não pode ser usado no modo encaixado na base. O Pro Controller será selecionado.
-
-
+
+
Amiibo
-
-
+
+
O amiibo atual foi removido
-
+
Erro
-
-
+
+
O jogo atual não está procurando amiibos
-
+
Arquivo Amiibo (%1);; Todos os arquivos (*.*)
-
+
Carregar Amiibo
-
+
Erro ao carregar dados do Amiibo
-
+
O arquivo selecionado não é um amiibo válido
-
+
O arquivo selecionado já está em uso
-
+
Ocorreu um erro desconhecido
-
+
Capturar tela
-
+
Imagem PNG (*.png)
-
+
Situação TAS: Rodando %1%2
-
+
Situação TAS: Gravando %1
-
+
Situação TAS: Repouso %1%2
-
+
Situação TAS: Inválido
-
+
&Parar de rodar
-
+
&Iniciar
-
+
Parar G&ravação
-
+
G&ravação
-
+
Compilando: %n shader(s)Compilando: %n shader(s)Compilando: %n shader(s)
-
+
%1 is the resolution scaling factor
Escala: %1x
-
+
Velocidade: %1% / %2%
-
+
Velocidade: %1%
-
+
Jogo: %1 FPS (Desbloqueado)
-
+
Jogo: %1 FPS
-
+
Quadro: %1 ms
-
-
- GPU NORMAL
+
+
+ %1 %2
-
-
- GPU ALTA
-
-
-
-
- GPU EXTREMA
-
-
-
-
- ERRO DE GPU
-
-
-
-
- ANCORADO
-
-
-
-
- PORTÁTIL
-
-
-
-
- OPENGL
-
-
-
-
- VULKAN
-
-
-
-
- NULO
-
-
-
-
- VIZINHO
-
-
-
-
-
- BILINEAR
-
-
-
-
- BICÚBICO
-
-
-
-
- GAUSSIANO
-
-
-
-
- SCALEFORCE
-
-
-
+
+
FSR
-
-
+
Sem AA
-
-
- FXAA
-
-
-
-
- SMAA
-
-
-
+
VOLUME: MUDO
-
+
Volume percentage (e.g. 50%)
VOLUME: %1%
-
+
Confirmar rederivação de chave
-
+
-
+
Faltando fusíveis
-
+
- Faltando BOOT0
-
+
- Faltando BCPKG2-1-Normal-Main
-
+
- Faltando PRODINFO
-
+
Faltando componentes de derivação
-
+
Chaves de encriptação faltando. <br>Por favor, siga <a href='https://yuzu-emu.org/help/quickstart/'>o guia de início rápido</a> para extrair suas chaves, firmware e jogos. <br><br><small>(%1)</small>
-
+
@@ -5639,49 +5678,49 @@ Isto pode demorar até um minuto, dependendo
do desempenho do seu sistema.
-
+
Derivando chaves
-
+
-
+ Falha a desencriptar o arquivo do sistema
-
+
-
+ Chaves de encriptação falharam a desencriptar o firmware. <br>Por favor segue <a href='https://yuzu-emu.org/help/quickstart/'>the yuzu quickstart guide</a> para obter todas as tuas chaves, firmware e jogos.
-
+
Selecionar alvo de extração do RomFS
-
+
Selecione qual RomFS você quer extrair.
-
+
Você deseja mesmo fechar o yuzu?
-
-
-
+
+
+
yuzu
-
+
Deseja mesmo parar a emulação? Qualquer progresso não salvo será perdido.
-
+
@@ -5689,48 +5728,143 @@ Would you like to bypass this and exit anyway?
Deseja ignorar isso e sair mesmo assim?
+
+
+
+ Nenhum
+
+
+
+
+ FXAA
+
+
+
+
+ SMAA
+
+
+
+
+
+
+
+
+
+ Bilinear
+
+
+
+
+ Bicúbico
+
+
+
+
+ Gaussiano
+
+
+
+
+ ScaleForce
+
+
+
+
+ Na base
+
+
+
+
+ Portátil
+
+
+
+
+ Normal
+
+
+
+
+ Alto
+
+
+
+
+
+
+
+
+
+ Vulcano
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
GRenderWindow
-
-
+
+
OpenGL não disponível!
-
+
Shared contexts do OpenGL não são suportados.
-
+
O yuzu não foi compilado com suporte para OpenGL.
-
-
+
+
Erro ao inicializar o OpenGL!
-
+
Sua GPU pode não suportar OpenGL, ou você não possui o driver gráfico mais recente.
-
+
Erro ao inicializar o OpenGL 4.6!
-
+
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
-
+
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
@@ -5790,7 +5924,7 @@ Deseja ignorar isso e sair mesmo assim?
-
+ Remove a Cache do Armazenamento
@@ -6084,138 +6218,138 @@ Mensagem de depuração:
Hotkeys
-
+
Mutar/Desmutar Áudio
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Janela Principal
-
+
Volume Menos
-
+
Volume Mais
-
+
Capturar Tela
-
+
Alterar Filtro de Adaptação
-
+
Alterar Modo de Ancoragem
-
+
Alterar Precisão da GPU
-
+
Continuar/Pausar Emulação
-
+
Sair da Tela Cheia
-
+
Sair do yuzu
-
+
Tela Cheia
-
+
Carregar Arquivo
-
+
Carregar/Remover Amiibo
-
+
Reiniciar Emulação
-
+
Parar Emulação
-
+
Gravar TAS
-
+
Reiniciar TAS
-
+
Iniciar/Parar TAS
-
+
Alternar Barra de Filtro
-
+
Alternar Limite de Quadros por Segundo
-
+
Alternar o Giro do Mouse
-
+
Alternar Barra de Status
@@ -6955,30 +7089,30 @@ p, li { white-space: pre-wrap; }
-
+
Shift
-
+
Ctrl
-
+
Alt
-
-
-
-
+
+
+
+
[não definido]
@@ -6989,14 +7123,14 @@ p, li { white-space: pre-wrap; }
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
Eixo %1%2
@@ -7007,320 +7141,320 @@ p, li { white-space: pre-wrap; }
-
-
-
-
-
-
+
+
+
+
+
+
[desconhecido]
-
-
+
+
Esquerda
-
-
+
+
Direita
-
-
+
+
Baixo
-
-
+
+
Cima
-
+
Z
-
+
R
-
+
L
-
+
A
-
+
B
-
+
X
-
+
Y
-
+
Start
-
+
L1
-
+
L2
-
+
L3
-
+
R1
-
+
R2
-
+
R3
-
+
Círculo
-
+
Cruz
-
+
Quadrado
-
+
Triângulo
-
+
Compartilhar
-
+
Opções
-
+
[indefinido]
-
+
%1%2
-
-
+
+
[inválido]
-
-
+
+
%1%2Direcional %3
-
-
+
-
+
+
%1%2Eixo %3
-
-
+
+
%1%2Eixo %3,%4,%5
-
-
+
+
%1%2Movimentação %3
-
-
+
+
%1%2Botão %3
-
-
+
+
[não utilizado]
-
+
ZR
-
+
ZL
-
+
SR
-
+
SL
-
+
-
+
-
+
Mais
-
+
Menos
-
-
+
+
Botão Home
-
+
Capturar
-
+
Toque
-
+
Indicates the mouse wheel
Volante
-
+
Para trás
-
+
Para a frente
-
+
Tarefa
-
+
Extra
-
+
-
-
+
+
-
-
+
+
-
-
+
+
diff --git a/dist/languages/pt_PT.ts b/dist/languages/pt_PT.ts
index 0a526cb12..704ffa0c4 100644
--- a/dist/languages/pt_PT.ts
+++ b/dist/languages/pt_PT.ts
@@ -381,17 +381,17 @@ Isto banirá tanto o nome de usuário do fórum como o endereço IP.
-
+ Dispositivo de Saída
-
+ Dispositivo de Entrada
-
+ Modo de saída de som
@@ -1127,78 +1127,78 @@ Isto banirá tanto o nome de usuário do fórum como o endereço IP.Configuração yuzu
-
-
+
+
Audio
-
-
+
+
CPU
-
+
Depurar
-
+
Sistema de Ficheiros
-
-
+
+
Geral
-
-
+
+
Gráficos
-
+
GráficosAvançados
-
+
Teclas de Atalhos
-
-
+
+
Controlos
-
+
Perfis
-
+
Rede
-
-
+
+
Sistema
-
+
Lista de Jogos
-
+
Rede
@@ -1392,17 +1392,22 @@ Isto banirá tanto o nome de usuário do fórum como o endereço IP.Esconder rato quando inactivo.
-
+
+
+
+
+
+
Restaurar todas as configurações
-
+
yuzu
-
+
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?
@@ -1468,7 +1473,7 @@ Isto banirá tanto o nome de usuário do fórum como o endereço IP.
-
+ Modo de Sincronização vertical:
@@ -1690,45 +1695,45 @@ Immediate (no synchronization) just presents whatever is available and can exhib
Cor de fundo:
-
+
GLASM (Shaders Assembly, apenas NVIDIA)
-
+
SPIR-V (Experimental, Somente Mesa)
-
+
FSR sharpening percentage (e.g. 50%)
%1%
-
+
-
+ Desligado
+
+
+
+
+ Sincronização vertical desligada
+
+
+
+
+ Recomendado
-
-
-
-
-
-
-
-
-
-
-
+ Ligado
-
+
-
+ Sincronização vertical ligada
@@ -1756,27 +1761,27 @@ Immediate (no synchronization) just presents whatever is available and can exhib
-
+ Recompressão ASTC:
-
+ Descompactado (Melhor Q
-
+ BC1 (Baixa qualidade)
-
+ BC3 (Média qualidade)
-
+ Ativar apresentação assíncrona (Somente Vulkan)
@@ -1847,40 +1852,60 @@ Compute pipelines are always enabled on all other drivers.
+ Ativar Compute Pipelines (Intel Vulkan only)
+
+
+
+
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Filtro Anisotrópico:
-
+
Automático
-
+
Padrão
-
+
2x
-
+
4x
-
+
8x
-
+
16x
@@ -2263,7 +2288,7 @@ Compute pipelines are always enabled on all other drivers.
-
+
Configurar
@@ -2322,30 +2347,15 @@ Compute pipelines are always enabled on all other drivers.
-
+ Permite acesso ilimitado ao mesmo Amiibo que limitam o seu uso.
-
+ Utilizar ID Amiibo aleatório
-
-
- Ativar o giro do mouse
-
-
-
-
- Sensibilidade do rato
-
-
-
-
- %
-
-
-
+
Movimento / Toque
@@ -2457,7 +2467,7 @@ Compute pipelines are always enabled on all other drivers.
-
+
Analógico Esquerdo
@@ -2551,14 +2561,14 @@ Compute pipelines are always enabled on all other drivers.
-
+
L
-
+
ZL
@@ -2577,7 +2587,7 @@ Compute pipelines are always enabled on all other drivers.
-
+
Mais
@@ -2590,15 +2600,15 @@ Compute pipelines are always enabled on all other drivers.
-
-
+
+
R
-
+
ZR
@@ -2655,247 +2665,257 @@ Compute pipelines are always enabled on all other drivers.
-
+
Analógico Direito
-
-
-
-
+
+
+
+
+
+
+
+ Configurar
+
+
+
+
+
+
Limpar
-
-
-
-
-
+
+
+
+
+
[não definido]
-
-
-
+
+
+
Inverter botão
-
-
+
+
Alternar pressionamento do botão
-
+
Botão Turbo
-
-
+
+
Inverter eixo
-
-
-
+
+
+
Definir limite
-
-
+
+
Escolha um valor entre 0% e 100%
-
+
Alternar eixos
-
+
Definir limite do giroscópio
-
+
-
+ Calibrar sensor
-
+
Mapear analógicos
-
+
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.
-
+
Eixo central
-
-
+
+
Ponto Morto: %1%
-
-
+
+
Modificador de Alcance: %1%
-
-
+
+
Comando Pro
-
+
Joycons Duplos
-
+
Joycon Esquerdo
-
+
Joycon Direito
-
+
Portátil
-
+
Controlador de depuração
-
+
Poke Ball Plus
-
+
Controle NES
-
+
Controle SNES
-
+
Controle N64
-
+
Mega Drive
-
+
Iniciar / Pausar
-
+
Z
-
+
Direcional de controle
-
+
C-Stick
-
+
Abane!
-
+
[em espera]
-
+
Novo Perfil
-
+
Introduza um novo nome de perfil:
-
-
+
+
Criar perfil de controlo
-
+
O nome de perfil dado não é válido!
-
+
Falha ao criar o perfil de controlo "%1"
-
+
Apagar Perfil de Controlo
-
+
Falha ao apagar o perfil de controlo "%1"
-
+
Carregar perfil de controlo
-
+
Falha ao carregar o perfil de controlo "%1"
-
+
Guardar perfil de controlo
-
+
Falha ao guardar o perfil de controlo "%1"
@@ -3074,6 +3094,81 @@ Para inverter os eixos, mova o seu analógico primeiro verticalmente e depois ho
Teste UDP ou configuração de calibragem em progresso.<br> Por favor espera que termine.
+
+ ConfigureMousePanning
+
+
+
+
+
+
+
+
+ Habilitar
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ %
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Padrão
+
+
ConfigureNetwork
@@ -3150,47 +3245,47 @@ Para inverter os eixos, mova o seu analógico primeiro verticalmente e depois ho
Desenvolvedor
-
+
Add-Ons
-
+
Geral
-
+
Sistema
-
+
CPU
-
+
Gráficos
-
+
Gráficos Avç.
-
+
Audio
-
+
Perfis de controle
-
+
Propriedades
@@ -3393,8 +3488,8 @@ UUID: %2
-
- Caso queira usar este controle, configure o jogador 1 como Joycon direito e o jogador 2 como par de Joycons antes de iniciar o jogo. Isso permitirá que o controle seja detectado corretamente.
+
+
@@ -3430,7 +3525,7 @@ UUID: %2
-
+
Habilitar
@@ -3497,12 +3592,17 @@ UUID: %2
O dispositivo mapeado não tem um anel conectado
-
+
+
+
+
+
+
Resultado inesperado do driver %1
-
+
[em espera]
@@ -3913,7 +4013,7 @@ UUID: %2
-
+ Layout de memória estendida inseguro (8GB DRAM)
@@ -4612,959 +4712,898 @@ Arrasta os pontos para mudar a posição, ou dá duplo-clique nas células da ta
GMainWindow
-
+
<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?
-
+
Telemetria
-
+
Detectada Instalação Defeituosa do Vulkan
-
+
A inicialização do Vulkan falhou durante a carga do programa. <br><br>Clique <a href='https://yuzu-emu.org/wiki/faq/#yuzu-starts-with-the-error-broken-vulkan-installation-detected'>aqui para instruções de como resolver o problema</a>.
-
+
+
+ TRANSLATORS: This string is shown to the user to explain why yuzu needs to prevent the computer from sleeping
+
+
+
+
A Carregar o Web Applet ...
-
-
+
+
Desativar Web Applet
-
+
A desativação do applet da web pode causar comportamento inesperado e deve apenas ser usada com Super Mario 3D All-Stars. Você deseja mesmo desativar o applet da web?
(Ele pode ser reativado nas configurações de depuração.)
-
+
Quantidade de shaders a serem construídos
-
+
O atualmente multiplicador de escala de resolução selecionado.
-
+
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
-
+
Quantos quadros por segundo o jogo está exibindo de momento. Isto irá variar de jogo para jogo e de cena para cena.
-
+
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.
-
+
+
+ Unmute
+
+
+
+
+ Mute
+
+
+
+
+ Redefinir volume
+
+
+
&Limpar arquivos recentes
-
+
Mouse emulado está habilitado
-
+
Controle de mouse real e controle panorâmico do mouse são incompatíveis. Por favor desabilite a emulação do mouse em configurações avançadas de controles para permitir o controle panorâmico do mouse.
-
+
&Continuar
-
+
&Pausa
-
-
- TRANSLATORS: This string is shown to the user to explain why yuzu needs to prevent the computer from sleeping
- yuzu está rodando um jogo
-
-
-
+
Aviso de Formato de Jogo Desactualizado
-
+
Você está usando o formato de directório ROM desconstruído para este jogo, que é um formato desactualizado que foi substituído por outros, como NCA, NAX, XCI ou NSP. Os directórios de ROM não construídos não possuem ícones, metadados e suporte de actualização.<br><br>Para uma explicação dos vários formatos de Switch que o yuzu suporta,<a href='https://yuzu-emu.org/wiki/overview-of-switch-game-formats'>Verifique a nossa Wiki</a>. Esta mensagem não será mostrada novamente.
-
-
+
+
Erro ao carregar o ROM!
-
+
O formato do ROM não é suportado.
-
+
Ocorreu um erro ao inicializar o núcleo do vídeo.
-
+
yuzu encontrou um erro enquanto rodando o núcleo de vídeo. Normalmente isto é causado por drivers de GPU desatualizados, incluindo integrados. Por favor veja o registro para mais detalhes. Para mais informações em acesso ao registro por favor veja a seguinte página: <a href='https://yuzu-emu.org/help/reference/log-files/'>Como fazer envio de arquivo de registro</a>.
-
+
%1 signifies a numeric error code.
Erro ao carregar a ROM! %1
-
+
%1 signifies an error string.
%1<br>Por favor, siga <a href='https://yuzu-emu.org/help/quickstart/'>a guia de início rápido do yuzu</a> para fazer o redespejo dos seus arquivos.<br>Você pode consultar a wiki do yuzu</a> ou o Discord do yuzu</a> para obter ajuda.
-
+
Ocorreu um erro desconhecido. Por favor, veja o log para mais detalhes.
-
+
(64-bit)
-
+
(32-bit)
-
+
%1 is the title name. %2 indicates if the title is 64-bit or 32-bit
%1 %2
-
+
Encerrando software...
-
+
Save Data
-
+
Mod Data
-
+
Erro ao abrir a pasta %1
-
-
+
+
A Pasta não existe!
-
+
Erro ao abrir os Shader Cache transferíveis
-
+
Falha ao criar o diretório de cache de shaders para este título.
-
+
Erro Removendo Conteúdos
-
+
Erro ao Remover Atualização
-
+
Erro Removendo DLC
-
+
Remover Conteúdo Instalado do Jogo?
-
+
Remover Atualização Instalada do Jogo?
-
+
Remover DLC Instalada do Jogo?
-
+
Remover Entrada
-
-
-
-
-
-
+
+
+
+
+
+
Removido com Sucesso
-
+
Removida a instalação do jogo base com sucesso.
-
+
O jogo base não está instalado no NAND e não pode ser removido.
-
+
Removida a actualização instalada com sucesso.
-
+
Não há actualização instalada neste título.
-
+
Não há DLC instalado neste título.
-
+
Removido DLC instalado %1 com sucesso.
-
+
Apagar o cache de shaders transferível do OpenGL?
-
+
Apagar o cache de shaders transferível do Vulkan?
-
+
Apagar todos os caches de shaders transferíveis?
-
+
Remover Configuração Personalizada do Jogo?
-
+
-
+ Remover Armazenamento da Cache?
-
+
Remover Ficheiro
-
-
+
+
Error ao Remover Cache de Shader Transferível
-
-
+
+
O Shader Cache para este titulo não existe.
-
+
Removido a Cache de Shader Transferível com Sucesso.
-
+
Falha ao remover a cache de shader transferível.
-
+
Erro ao Remover Cache de Pipeline do Driver Vulkan
-
+
Falha ao remover o pipeline de cache do driver.
-
-
+
+
Erro ao remover os caches de shaders transferíveis
-
+
Os caches de shaders transferíveis foram removidos com sucesso.
-
+
Falha ao remover o diretório do cache de shaders transferível.
-
-
+
+
Erro ao Remover Configuração Personalizada
-
+
Não existe uma configuração personalizada para este titúlo.
-
+
Removida a configuração personalizada do jogo com sucesso.
-
+
Falha ao remover a configuração personalizada do jogo.
-
-
+
+
A Extração de RomFS falhou!
-
+
Houve um erro ao copiar os arquivos RomFS ou o usuário cancelou a operação.
-
+
Cheio
-
+
Esqueleto
-
+
Selecione o modo de despejo do RomFS
-
+
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.
-
+
Não há espaço suficiente em %1 para extrair o RomFS. Por favor abra espaço ou selecione um diretório diferente em Emulação > Configurar > Sistema > Sistema de arquivos > Extrair raiz
-
+
Extraindo o RomFS ...
-
-
+
+
Cancelar
-
+
Extração de RomFS Bem-Sucedida!
-
+
A operação foi completa com sucesso.
-
-
-
-
-
+
+
+
+
+
Criar Atalho
-
+
Isso irá criar um atalho para o AppImage atual. Isso pode não funcionar corretamente se você fizer uma atualização. Continuar?
-
+
Não foi possível criar um atalho na área de trabalho. O caminho "%1" não existe.
-
+
Não foi possível criar um atalho no menu de aplicativos. O caminho "%1" não existe e não pode ser criado.
-
+
Criar Ícone
-
+
Não foi possível criar o arquivo de ícone. O caminho "%1" não existe e não pode ser criado.
-
+
Iniciar %1 com o Emulador Yuzu
-
+
Falha ao criar um atalho em %1
-
+
Atalho criado com sucesso em %1
-
+
Erro ao abrir %1
-
+
Selecione o Diretório
-
+
Propriedades
-
+
As propriedades do jogo não puderam ser carregadas.
-
+
%1 is an identifier for the Switch executable file extensions.
Executáveis Switch (%1);;Todos os Ficheiros (*.*)
-
+
Carregar Ficheiro
-
+
Abrir o directório ROM extraído
-
+
Diretório inválido selecionado
-
+
O diretório que você selecionou não contém um arquivo 'Main'.
-
+
Ficheiro Switch Instalável (*.nca *.nsp *.xci);;Arquivo de Conteúdo Nintendo (*.nca);;Pacote de Envio Nintendo (*.nsp);;Imagem de Cartucho NX (*.xci)
-
+
Instalar Ficheiros
-
+
-
+ %n arquivo restante%n ficheiro(s) remanescente(s)%n ficheiro(s) remanescente(s)
-
+
Instalando arquivo "%1"...
-
-
+
+
Instalar Resultados
-
+
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.
-
+
-
+
-
+
-
+
Aplicação do sistema
-
+
Arquivo do sistema
-
+
Atualização do aplicativo do sistema
-
+
Pacote de Firmware (Tipo A)
-
+
Pacote de Firmware (Tipo B)
-
+
Jogo
-
+
Actualização do Jogo
-
+
DLC do Jogo
-
+
Título Delta
-
+
Selecione o tipo de instalação do NCA ...
-
+
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).
-
+
Falha na instalação
-
+
O tipo de título que você selecionou para o NCA é inválido.
-
+
Arquivo não encontrado
-
+
Arquivo "%1" não encontrado
-
+
OK
-
-
+
+
Requisitos de hardware não atendidos
-
-
+
+
Seu sistema não atende os requisitos de harwdare. O relatório de compatibilidade foi desabilitado.
-
+
Conta Yuzu Ausente
-
+
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 > Configuração > Rede.
-
+
Erro ao abrir URL
-
+
Não foi possível abrir o URL "%1".
-
+
Gravando TAS
-
+
Sobrescrever arquivo do jogador 1?
-
+
Configação inválida detectada
-
+
O comando portátil não pode ser usado no modo encaixado na base. O Pro controller será selecionado.
-
-
+
+
Amiibo
-
-
+
+
O amiibo atual foi removido
-
+
Erro
-
-
+
+
O jogo atual não está procurando amiibos
-
+
Arquivo Amiibo (%1);; Todos os Arquivos (*.*)
-
+
Carregar Amiibo
-
+
Erro ao carregar dados do Amiibo
-
+
O arquivo selecionado não é um amiibo válido
-
+
O arquivo selecionado já está em uso
-
+
Ocorreu um erro desconhecido
-
+
Captura de Tela
-
+
Imagem PNG (*.png)
-
+
Situação TAS: Rodando %1%2
-
+
Situação TAS: Gravando %1
-
+
Situação TAS: Repouso %1%2
-
+
Situação TAS: Inválido
-
+
&Parar de rodar
-
+
&Começar
-
+
Parar G&ravação
-
+
G&ravação
-
+
-
+
%1 is the resolution scaling factor
Escala: %1x
-
+
Velocidade: %1% / %2%
-
+
Velocidade: %1%
-
+
Jogo: %1 FPS (Desbloqueado)
-
+
Jogo: %1 FPS
-
+
Quadro: %1 ms
-
-
- GPU NORMAL
+
+
+ %1 %2
-
-
- GPU ALTA
-
-
-
-
- GPU EXTREMA
-
-
-
-
- ERRO DE GPU
-
-
-
-
- ANCORADO
-
-
-
-
- PORTÁTIL
-
-
-
-
- OPENGL
-
-
-
-
- VULKAN
-
-
-
-
- NULO
-
-
-
-
- VIZINHO
-
-
-
-
-
- BILINEAR
-
-
-
-
- BICÚBICO
-
-
-
-
- GAUSSIANO
-
-
-
-
- SCALEFORCE
-
-
-
+
+
FSR
-
-
+
Sem AA
-
-
- FXAA
-
-
-
-
- SMAA
-
-
-
+
VOLUME: MUDO
-
+
Volume percentage (e.g. 50%)
VOLUME: %1%
-
+
Confirme a rederivação da chave
-
+
-
+
Fusíveis em Falta
-
+
- BOOT0 em Falta
-
+
- BCPKG2-1-Normal-Main em Falta
-
+
- PRODINFO em Falta
-
+
Componentes de Derivação em Falta
-
+
Chaves de encriptação faltando. <br>Por favor, siga <a href='https://yuzu-emu.org/help/quickstart/'>o guia de início rápido</a> para extrair suas chaves, firmware e jogos. <br><br><small>(%1)</small>
-
+
@@ -5620,49 +5659,49 @@ Isto pode demorar até um minuto, dependendo
do desempenho do seu sistema.
-
+
Derivando Chaves
-
+
-
+ Falha a desencriptar o arquivo do sistema
-
+
-
+ Chaves de encriptação falharam a desencriptar o firmware. <br>Por favor segue <a href='https://yuzu-emu.org/help/quickstart/'>the yuzu quickstart guide</a> para obter todas as tuas chaves, firmware e jogos.
-
+
Selecione o destino de despejo do RomFS
-
+
Por favor, selecione qual o RomFS que você gostaria de despejar.
-
+
Tem a certeza que quer fechar o yuzu?
-
-
-
+
+
+
yuzu
-
+
Tem a certeza de que quer parar a emulação? Qualquer progresso não salvo será perdido.
-
+
@@ -5670,48 +5709,143 @@ Would you like to bypass this and exit anyway?
Deseja ignorar isso e sair mesmo assim?
+
+
+
+ Nenhum
+
+
+
+
+ FXAA
+
+
+
+
+ SMAA
+
+
+
+
+
+
+
+
+
+ Bilinear
+
+
+
+
+ Bicúbico
+
+
+
+
+ Gaussiano
+
+
+
+
+ ScaleForce
+
+
+
+
+ Ancorado
+
+
+
+
+ Portátil
+
+
+
+
+ Normal
+
+
+
+
+ Alto
+
+
+
+
+
+
+
+
+
+ Vulcano
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
GRenderWindow
-
-
+
+
OpenGL não está disponível!
-
+
Shared contexts do OpenGL não são suportados.
-
+
yuzu não foi compilado com suporte OpenGL.
-
-
+
+
Erro ao inicializar OpenGL!
-
+
O seu GPU pode não suportar OpenGL, ou não tem os drivers gráficos mais recentes.
-
+
Erro ao inicializar o OpenGL 4.6!
-
+
O teu GPU pode não suportar OpenGL 4.6, ou não tem os drivers gráficos mais recentes.
-
+
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
@@ -5771,7 +5905,7 @@ Deseja ignorar isso e sair mesmo assim?
-
+ Remove a Cache do Armazenamento
@@ -6065,138 +6199,138 @@ Mensagem de depuração:
Hotkeys
-
+
Mutar/Desmutar Áudio
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Janela Principal
-
+
Volume Menos
-
+
Volume Mais
-
+
Captura de Tela
-
+
Alterar Filtro de Adaptação
-
+
Alterar Modo de Ancoragem
-
+
Alterar Precisão da GPU
-
+
Continuar/Pausar Emulação
-
+
Sair da Tela Cheia
-
+
Sair do yuzu
-
+
Tela Cheia
-
+
Carregar Ficheiro
-
+
Carregar/Remover Amiibo
-
+
Reiniciar Emulação
-
+
Parar Emulação
-
+
Gravar TAS
-
+
Reiniciar TAS
-
+
Iniciar/Parar TAS
-
+
Alternar Barra de Filtro
-
+
Alternar Limite de Quadros por Segundo
-
+
Alternar o Giro do Mouse
-
+
Alternar Barra de Status
@@ -6936,30 +7070,30 @@ p, li { white-space: pre-wrap; }
-
+
Shift
-
+
Ctrl
-
+
Alt
-
-
-
-
+
+
+
+
[não configurado]
@@ -6970,14 +7104,14 @@ p, li { white-space: pre-wrap; }
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
Eixo %1%2
@@ -6988,320 +7122,320 @@ p, li { white-space: pre-wrap; }
-
-
-
-
-
-
+
+
+
+
+
+
[Desconhecido]
-
-
+
+
Esquerda
-
-
+
+
Direita
-
-
+
+
Baixo
-
-
+
+
Cima
-
+
Z
-
+
R
-
+
L
-
+
A
-
+
B
-
+
X
-
+
Y
-
+
Começar
-
+
L1
-
+
L2
-
+
L3
-
+
R1
-
+
R2
-
+
R3
-
+
Círculo
-
+
Cruz
-
+
Quadrado
-
+
Triângulo
-
+
Compartilhar
-
+
Opções
-
+
[indefinido]
-
+
%1%2
-
-
+
+
[inválido]
-
-
+
+
%1%2Direcional %3
-
-
+
-
+
+
%1%2Eixo %3
-
-
+
+
%1%2Eixo %3,%4,%5
-
-
+
+
%1%2Movimentação %3
-
-
+
+
%1%2Botão %3
-
-
+
+
[sem uso]
-
+
ZR
-
+
ZL
-
+
SR
-
+
SL
-
+
-
+
-
+
Mais
-
+
Menos
-
-
+
+
Home
-
+
Capturar
-
+
Toque
-
+
Indicates the mouse wheel
Volante
-
+
Para trás
-
+
Para a frente
-
+
Tarefa
-
+
Extra
-
+
-
-
+
+
-
-
+
+
-
-
+
+
diff --git a/dist/languages/ru_RU.ts b/dist/languages/ru_RU.ts
index 672fa78b0..b623a5dbd 100644
--- a/dist/languages/ru_RU.ts
+++ b/dist/languages/ru_RU.ts
@@ -36,7 +36,7 @@ p, li { white-space: pre-wrap; }
- <html><head/><body><p><a href="https://yuzu-emu.org/"><span style=" text-decoration: underline; color:#039be5;">Веб-сайт</span></a> | <a href="https://github.com/yuzu-emu"><span style=" text-decoration: underline; color:#039be5;">Исходный код</span></a> | <a href="https://github.com/yuzu-emu/yuzu/graphs/contributors"><span style=" text-decoration: underline; color:#039be5;">Соавторы</span></a> | <a href="https://github.com/yuzu-emu/yuzu/blob/master/LICENSE.txt"><span style=" text-decoration: underline; color:#039be5;">Лицензия</span></a></p></body></html>
+ <html><head/><body><p><a href="https://yuzu-emu.org/"><span style=" text-decoration: underline; color:#039be5;">Веб-сайт</span></a> | <a href="https://github.com/yuzu-emu"><span style=" text-decoration: underline; color:#039be5;">Исходный код</span></a> | <a href="https://github.com/yuzu-emu/yuzu/graphs/contributors"><span style=" text-decoration: underline; color:#039be5;">Контрибьюторы</span></a> | <a href="https://github.com/yuzu-emu/yuzu/blob/master/LICENSE.txt"><span style=" text-decoration: underline; color:#039be5;">Лицензия</span></a></p></body></html>
@@ -1137,78 +1137,78 @@ This would ban both their forum username and their IP address.
Параметры yuzu
-
-
+
+
Звук
-
-
+
+
ЦП
-
+
Отладка
-
+
Файловая система
-
-
+
+
Общие
-
-
+
+
Графика
-
+
ГрафикаРасширенные
-
+
Горячие клавиши
-
-
+
+
Управление
-
+
Профили
-
+
Сеть
-
-
+
+
Система
-
+
Список игр
-
+
Сеть
@@ -1402,17 +1402,22 @@ This would ban both their forum username and their IP address.
Спрятать мышь при неактивности
-
+
+
+
+
+
+
Сбросить все настройки
-
+
yuzu
-
+
Это сбросит все настройки и удалит все конфигурации под отдельные игры. При этом не будут удалены пути для игр, профили или профили ввода. Продолжить?
@@ -1486,10 +1491,10 @@ This would ban both their forum username and their IP address.
FIFO Relaxed is similar to FIFO but allows tearing as it recovers from a slow down.
Mailbox can have lower latency than FIFO and does not tear but may drop frames.
Immediate (no synchronization) just presents whatever is available and can exhibit tearing.
- FIFO (VSync) не пропускает кадры и не имеет разрывов, но ограничен частотой обновления экрана.
+ FIFO (Верт. синхронизация) не пропускает кадры и не имеет разрывов, но ограничен частотой обновления экрана.
FIFO Relaxed похож на FIFO, но может иметь разрывы при восстановлении после просадок.
Mailbox может иметь меньшую задержку, чем FIFO, и не имеет разрывов, но может пропускать кадры.
-Моментальный (без синхронизации) просто показывает все кадры и может иметь разрывы.
+Моментальная (без синхронизации) просто показывает все кадры и может иметь разрывы.
@@ -1703,43 +1708,43 @@ Mailbox может иметь меньшую задержку, чем FIFO, и
Фоновый цвет:
-
+
GLASM (ассемблерные шейдеры, только для NVIDIA)
-
+
SPIR-V (Экспериментально, только для Mesa)
-
+
FSR sharpening percentage (e.g. 50%)
%1%
-
+
Отключена
-
+
Верт. синхронизация отключена
-
+
Рекомендуется
-
+
Включена
-
+
Верт. синхронизация включена
@@ -1864,37 +1869,57 @@ Compute pipelines are always enabled on all other drivers.
Включить вычислительные конвейеры (только для Intel Vulkan)
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Анизотропная фильтрация:
-
+
Автоматически
-
+
Стандартная
-
+
2x
-
+
4x
-
+
8x
-
+
16x
@@ -2277,7 +2302,7 @@ Compute pipelines are always enabled on all other drivers.
-
+
Настроить
@@ -2344,22 +2369,7 @@ Compute pipelines are always enabled on all other drivers.
Использовать случайный идентификатор Amiibo
-
-
- Включить панорамирование мыши
-
-
-
-
- Чувствительность мыши
-
-
-
-
- %
-
-
-
+
Движение и сенсор
@@ -2471,7 +2481,7 @@ Compute pipelines are always enabled on all other drivers.
-
+
Левый мини-джойстик
@@ -2560,19 +2570,19 @@ Compute pipelines are always enabled on all other drivers.
- Кнопки направлений
+ Крестовина
-
+
L
-
+
ZL
@@ -2591,7 +2601,7 @@ Compute pipelines are always enabled on all other drivers.
-
+
Плюс
@@ -2604,15 +2614,15 @@ Compute pipelines are always enabled on all other drivers.
-
-
+
+
R
-
+
ZR
@@ -2669,247 +2679,257 @@ Compute pipelines are always enabled on all other drivers.
-
+
Правый мини-джойстик
-
-
-
-
+
+
+
+
+
+
+
+ Настроить
+
+
+
+
+
+
Очистить
-
-
-
-
-
+
+
+
+
+
[не задано]
-
-
-
+
+
+
Инвертировать кнопку
-
-
+
+
Переключить кнопку
-
+
Турбо кнопка
-
-
+
+
Инвертировать оси
-
-
-
+
+
+
Установить порог
-
-
+
+
Выберите значение между 0% и 100%
-
+
Переключить оси
-
+
Установить порог гироскопа
-
+
Калибровка датчика
-
+
Задать аналоговый мини-джойстик
-
+
После нажатия на ОК, двигайте ваш мини-джойстик горизонтально, а затем вертикально.
Чтобы инвертировать оси, сначала двигайте ваш мини-джойстик вертикально, а затем горизонтально.
-
+
Центрировать оси
-
-
+
+
Мёртвая зона: %1%
-
-
+
+
Диапазон модификатора: %1%
-
-
+
+
Контроллер Pro
-
+
Двойные Joy-Con'ы
-
+
Левый Joy-Сon
-
+
Правый Joy-Сon
-
+
Портативный
-
+
Контроллер GameCube
-
+
Poke Ball Plus
-
+
Контроллер NES
-
+
Контроллер SNES
-
+
Контроллер N64
-
+
Sega Genesis
-
+
Старт / Пауза
-
+
Z
-
+
Мини-джойстик управления
-
+
C-Джойстик
-
+
Встряхните!
-
+
[ожидание]
-
+
Новый профиль
-
+
Введите имя профиля:
-
-
+
+
Создать профиль управления
-
+
Заданное имя профиля недействительно!
-
+
Не удалось создать профиль управления "%1"
-
+
Удалить профиль управления
-
+
Не удалось удалить профиль управления "%1"
-
+
Загрузить профиль управления
-
+
Не удалось загрузить профиль управления "%1"
-
+
Сохранить профиль управления
-
+
Не удалось сохранить профиль управления "%1"
@@ -3088,6 +3108,81 @@ To invert the axes, first move your joystick vertically, and then horizontally.<
Тест UDP или калибрация в процессе.<br>Пожалуйста, подождите завершения.
+
+ ConfigureMousePanning
+
+
+
+
+
+
+
+
+ Включить
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ %
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ По умолчанию
+
+
ConfigureNetwork
@@ -3164,47 +3259,47 @@ To invert the axes, first move your joystick vertically, and then horizontally.<
Разработчик
-
+
Дополнения
-
+
Общие
-
+
Система
-
+
ЦП
-
+
Графика
-
+
Расш. Графика
-
+
Звук
-
+
Профили управления
-
+
Свойства
@@ -3407,8 +3502,8 @@ UUID: %2
-
- Если вы хотите использовать этот контроллер, настройте игрока 1 как правый контроллер, а игрока 2 как двойной Joy-Сon перед началом игры, чтобы этот контроллер был обнаружен правильно.
+
+
@@ -3444,7 +3539,7 @@ UUID: %2
-
+
Включить
@@ -3511,12 +3606,17 @@ UUID: %2
К текущему устройству не прикреплено кольцо
-
+
+
+
+
+
+
Неожиданный результат драйвера %1
-
+
[ожидание]
@@ -3822,7 +3922,7 @@ UUID: %2
- Американский Английский
+ Американский английский
@@ -3877,32 +3977,32 @@ UUID: %2
- Британский Английский
+ Британский английский
- Канадский Французский
+ Канадский французский
- Латиноамериканский Испанский
+ Латиноамериканский испанский
- Упрощённый Китайский
+ Упрощённый китайский
- Традиционный Китайский (正體中文)
+ Традиционный китайский (正體中文)
- Бразильский Португальский (português do Brasil)
+ Бразильский португальский (português do Brasil)
@@ -4626,560 +4726,575 @@ Drag points to change position, or double-click table cells to edit values.
GMainWindow
-
+
<a href='https://yuzu-emu.org/help/feature/telemetry/'>Анонимные данные собираются для того,</a> чтобы помочь улучшить работу yuzu. <br/><br/>Хотели бы вы делиться данными об использовании с нами?
-
+
Телеметрия
-
+
Обнаружена поврежденная установка Vulkan
-
+
Не удалось выполнить инициализацию Vulkan во время загрузки.<br><br>Нажмите <a href='https://yuzu-emu.org/wiki/faq/#yuzu-starts-with-the-error-broken-vulkan-installation-detected'>здесь для получения инструкций по устранению проблемы</a>.
-
+
+
+ TRANSLATORS: This string is shown to the user to explain why yuzu needs to prevent the computer from sleeping
+
+
+
+
Загрузка веб-апплета...
-
-
+
+
Отключить веб-апплет
-
+
Отключение веб-апплета может привести к неожиданному поведению и должно использоваться только с Super Mario 3D All-Stars. Вы уверены, что хотите отключить веб-апплет?
(Его можно снова включить в настройках отладки.)
-
+
Количество создаваемых шейдеров на данный момент
-
+
Текущий выбранный множитель масштабирования разрешения.
-
+
Текущая скорость эмуляции. Значения выше или ниже 100% указывают на то, что эмуляция идет быстрее или медленнее, чем на Switch.
-
+
Количество кадров в секунду в данный момент. Значение будет меняться между играми и сценами.
-
+
Время, которое нужно для эмуляции 1 кадра Switch, не принимая во внимание ограничение FPS или вертикальную синхронизацию. Для эмуляции в полной скорости значение должно быть не больше 16,67 мс.
-
+
+
+ Включить звук
+
+
+
+
+ Выключить звук
+
+
+
+
+ Сбросить громкость
+
+
+
[&C] Очистить недавние файлы
-
+
Эмулированная мышь включена
-
+
Ввод реальной мыши и панорамирование мышью несовместимы. Пожалуйста, отключите эмулированную мышь в расширенных настройках ввода, чтобы разрешить панорамирование мышью.
-
+
[&C] Продолжить
-
+
[&P] Пауза
-
-
- TRANSLATORS: This string is shown to the user to explain why yuzu needs to prevent the computer from sleeping
- В yuzu запущена игра
-
-
-
+
Предупреждение устаревший формат игры
-
+
Для этой игры вы используете разархивированный формат ROM'а, который является устаревшим и был заменен другими, такими как NCA, NAX, XCI или NSP. В разархивированных каталогах ROM'а отсутствуют иконки, метаданные и поддержка обновлений. <br><br>Для получения информации о различных форматах Switch, поддерживаемых yuzu, <a href='https://yuzu-emu.org/wiki/overview-of-switch-game-formats'>просмотрите нашу вики</a>. Это сообщение больше не будет отображаться.
-
-
+
+
Ошибка при загрузке ROM'а!
-
+
Формат ROM'а не поддерживается.
-
+
Произошла ошибка при инициализации видеоядра.
-
+
yuzu столкнулся с ошибкой при запуске видеоядра. Обычно это вызвано устаревшими драйверами ГП, включая интегрированные. Проверьте журнал для получения более подробной информации. Дополнительную информацию о доступе к журналу смотрите на следующей странице: <a href='https://yuzu-emu.org/help/reference/log-files/'>Как загрузить файл журнала</a>.
-
+
%1 signifies a numeric error code.
Ошибка при загрузке ROM'а! %1
-
+
%1 signifies an error string.
%1<br>Пожалуйста, следуйте <a href='https://yuzu-emu.org/help/quickstart/'>краткому руководству пользователя yuzu</a> чтобы пере-дампить ваши файлы<br>Вы можете обратиться к вики yuzu</a> или Discord yuzu</a> для помощи.
-
+
Произошла неизвестная ошибка. Пожалуйста, проверьте журнал для подробностей.
-
+
(64-х битный)
-
+
(32-х битный)
-
+
%1 is the title name. %2 indicates if the title is 64-bit or 32-bit
%1 %2
-
+
Закрываем программу...
-
+
Сохранения
-
+
Данные модов
-
+
Ошибка при открытии папки %1
-
-
+
+
Папка не существует!
-
+
Ошибка при открытии переносного кэша шейдеров
-
+
Не удалось создать папку кэша шейдеров для этой игры.
-
+
Ошибка при удалении содержимого
-
+
Ошибка при удалении обновлений
-
+
Ошибка при удалении DLC
-
+
Удалить установленное содержимое игр?
-
+
Удалить установленные обновления игры?
-
+
Удалить установленные DLC игры?
-
+
Удалить запись
-
-
-
-
-
-
+
+
+
+
+
+
Успешно удалено
-
+
Установленная игра успешно удалена.
-
+
Игра не установлена в NAND и не может быть удалена.
-
+
Установленное обновление успешно удалено.
-
+
Для этой игры не было установлено обновление.
-
+
Для этой игры не были установлены DLC.
-
+
Установленное DLC %1 было успешно удалено
-
+
Удалить переносной кэш шейдеров OpenGL?
-
+
Удалить переносной кэш шейдеров Vulkan?
-
+
Удалить весь переносной кэш шейдеров?
-
+
Удалить пользовательскую настройку игры?
-
+
-
+ Убрать хранилище Cache?
-
+
Удалить файл
-
-
+
+
Ошибка при удалении переносного кэша шейдеров
-
-
+
+
Кэш шейдеров для этой игры не существует.
-
+
Переносной кэш шейдеров успешно удалён.
-
+
Не удалось удалить переносной кэш шейдеров.
-
+
Ошибка при удалении конвейерного кэша Vulkan
-
+
Не удалось удалить конвейерный кэш шейдеров.
-
-
+
+
Ошибка при удалении переносного кэша шейдеров
-
+
Переносной кэш шейдеров успешно удален.
-
+
Ошибка при удалении папки переносного кэша шейдеров.
-
-
+
+
Ошибка при удалении пользовательской настройки
-
+
Пользовательская настройка для этой игры не существует.
-
+
Пользовательская настройка игры успешно удалена.
-
+
Не удалось удалить пользовательскую настройку игры.
-
-
+
+
Не удалось извлечь RomFS!
-
+
Произошла ошибка при копировании файлов RomFS или пользователь отменил операцию.
-
+
Полный
-
+
Скелет
-
+
Выберите режим дампа RomFS
-
+
Пожалуйста, выберите, как вы хотите выполнить дамп RomFS. <br>Полный скопирует все файлы в новую папку, в то время как <br>скелет создаст только структуру папок.
-
+
В %1 недостаточно свободного места для извлечения RomFS. Пожалуйста, освободите место или выберите другую папку для дампа в Эмуляция > Настройка > Система > Файловая система > Корень дампа
-
+
Извлечение RomFS...
-
-
+
+
Отмена
-
+
Извлечение RomFS прошло успешно!
-
+
Операция выполнена.
-
-
-
-
-
+
+
+
+
+
Создать ярлык
-
+
Это создаст ярлык для текущего AppImage. Он может не работать после обновлений. Продолжить?
-
+
Не удается создать ярлык на рабочем столе. Путь "%1" не существует.
-
+
Невозможно создать ярлык в меню приложений. Путь "%1" не существует и не может быть создан.
-
+
Создать иконку
-
+
Невозможно создать файл иконки. Путь "%1" не существует и не может быть создан.
-
+
Запустить %1 с помощью эмулятора yuzu
-
+
Не удалось создать ярлык в %1
-
+
Успешно создан ярлык в %1
-
+
Ошибка открытия %1
-
+
Выбрать папку
-
+
Свойства
-
+
Не удалось загрузить свойства игры.
-
+
%1 is an identifier for the Switch executable file extensions.
Исполняемый файл Switch (%1);;Все файлы (*.*)
-
+
Загрузить файл
-
+
Открыть папку извлечённого ROM'а
-
+
Выбрана недопустимая папка
-
+
Папка, которую вы выбрали, не содержит файла 'main'.
-
+
Устанавливаемый файл Switch (*.nca, *.nsp, *.xci);;Архив контента Nintendo (*.nca);;Пакет подачи Nintendo (*.nsp);;Образ картриджа NX (*.xci)
-
+
Установить файлы
-
+
Остался %n файлОсталось %n файл(ов)Осталось %n файл(ов)Осталось %n файл(ов)
-
+
Установка файла "%1"...
-
-
+
+
Результаты установки
-
+
Чтобы избежать возможных конфликтов, мы не рекомендуем пользователям устанавливать игры в NAND.
Пожалуйста, используйте эту функцию только для установки обновлений и DLC.
-
+
%n файл был недавно установлен
@@ -5189,7 +5304,7 @@ Please, only use this feature to install updates and DLC.
-
+
%n файл был перезаписан
@@ -5199,7 +5314,7 @@ Please, only use this feature to install updates and DLC.
-
+
%n файл не удалось установить
@@ -5209,388 +5324,312 @@ Please, only use this feature to install updates and DLC.
-
+
Системное приложение
-
+
Системный архив
-
+
Обновление системного приложения
-
+
Пакет прошивки (Тип А)
-
+
Пакет прошивки (Тип Б)
-
+
Игра
-
+
Обновление игры
-
+
DLC игры
-
+
Дельта-титул
-
+
Выберите тип установки NCA...
-
+
Пожалуйста, выберите тип приложения, который вы хотите установить для этого NCA:
(В большинстве случаев, подходит стандартный выбор «Игра».)
-
+
Ошибка установки
-
+
Тип приложения, который вы выбрали для NCA, недействителен.
-
+
Файл не найден
-
+
Файл "%1" не найден
-
+
ОК
-
-
+
+
Не удовлетворены системные требования
-
-
+
+
Ваша система не соответствует рекомендуемым системным требованиям. Отчеты о совместимости были отключены.
-
+
Отсутствует аккаунт yuzu
-
+
Чтобы отправить отчет о совместимости игры, необходимо привязать свою учетную запись yuzu.<br><br/>Чтобы привязать свою учетную запись yuzu, перейдите в раздел Эмуляция > Параметры > Сеть.
-
+
Ошибка при открытии URL
-
+
Не удалось открыть URL: "%1".
-
+
Запись TAS
-
+
Перезаписать файл игрока 1?
-
+
Обнаружена недопустимая конфигурация
-
+
Портативный контроллер не может быть использован в режиме док-станции. Будет выбран контроллер Pro.
-
-
+
+
Amiibo
-
-
+
+
Текущий amiibo был убран
-
+
Ошибка
-
-
+
+
Текущая игра не ищет amiibo
-
+
Файл Amiibo (%1);; Все Файлы (*.*)
-
+
Загрузить Amiibo
-
+
Ошибка загрузки данных Amiibo
-
+
Выбранный файл не является допустимым amiibo
-
+
Выбранный файл уже используется
-
+
Произошла неизвестная ошибка
-
+
Сделать скриншот
-
+
Изображение PNG (*.png)
-
+
Состояние TAS: Выполняется %1/%2
-
+
Состояние TAS: Записывается %1
-
+
Состояние TAS: Простой %1/%2
-
+
Состояние TAS: Неверное
-
+
[&S] Остановка
-
+
[&S] Начать
-
+
[&E] Закончить запись
-
+
[&E] Запись
-
+
Постройка: %n шейдерПостройка: %n шейдер(ов)Постройка: %n шейдер(ов)Постройка: %n шейдер(ов)
-
+
%1 is the resolution scaling factor
Масштаб: %1x
-
+
Скорость: %1% / %2%
-
+
Скорость: %1%
-
+
Игра: %1 FPS (Неограниченно)
-
+
Игра: %1 FPS
-
+
Кадр: %1 мс
-
-
- ГП НОРМАЛЬНО
+
+
+ %1 %2
-
-
- ГП ВЫСОКО
-
-
-
-
- ГП ЭКСТРИМ
-
-
-
-
- ГП ОШИБКА
-
-
-
-
- В ДОК-СТАНЦИИ
-
-
-
-
- ПОРТАТИВНЫЙ
-
-
-
-
- OPENGL
-
-
-
-
- VULKAN
-
-
-
-
- NULL
-
-
-
-
- БЛИЖАЙШИЙ
-
-
-
-
-
- БИЛИНЕЙНЫЙ
-
-
-
-
- БИКУБИЧЕСКИЙ
-
-
-
-
- ГАУСС
-
-
-
-
- SCALEFORCE
-
-
-
+
+
FSR
-
-
+
БЕЗ СГЛАЖИВАНИЯ
-
-
- FXAA
-
-
-
-
- SMAA
-
-
-
+
ГРОМКОСТЬ: ЗАГЛУШЕНА
-
+
Volume percentage (e.g. 50%)
ГРОМКОСТЬ: %1%
-
+
Подтвердите перерасчет ключа
-
+
-
+
Отсутствуют предохранители
-
+
- Отсутствует BOOT0
-
+
- Отсутствует BCPKG2-1-Normal-Main
-
+
- Отсутствует PRODINFO
-
+
Компоненты расчета отсутствуют
-
+
Ключи шифрования отсутствуют. <br>Пожалуйста, следуйте <a href='https://yuzu-emu.org/help/quickstart/'>краткому руководству пользователя yuzu</a>, чтобы получить все ваши ключи, прошивку и игры.<br><br><small>(%1)</small>
-
+
@@ -5646,49 +5685,49 @@ on your system's performance.
от производительности вашей системы.
-
+
Получение ключей
-
+
Не удалось расшифровать системный архив
-
+
Ключи шифрования не смогли расшифровать прошивку. <br>Пожалуйста, следуйте <a href='https://yuzu-emu.org/help/quickstart/'>краткому руководству пользователя yuzu</a> чтобы получить все ваши ключи, прошивку и игры.
-
+
Выберите цель для дампа RomFS
-
+
Пожалуйста, выберите, какой RomFS вы хотите сдампить.
-
+
Вы уверены, что хотите закрыть yuzu?
-
-
-
+
+
+
yuzu
-
+
Вы уверены, что хотите остановить эмуляцию? Любой несохраненный прогресс будет потерян.
-
+
@@ -5696,48 +5735,143 @@ Would you like to bypass this and exit anyway?
Хотите ли вы обойти это и выйти в любом случае?
+
+
+
+ Никакой
+
+
+
+
+ FXAA
+
+
+
+
+ SMAA
+
+
+
+
+ Ближайший
+
+
+
+
+ Билинейный
+
+
+
+
+ Бикубический
+
+
+
+
+ Гаусс
+
+
+
+
+ ScaleForce
+
+
+
+
+ В док-станции
+
+
+
+
+ Портативный
+
+
+
+
+ Нормальная
+
+
+
+
+ Высокая
+
+
+
+
+ Экстрим
+
+
+
+
+ Vulkan
+
+
+
+
+ OpenGL
+
+
+
+
+ Null
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
GRenderWindow
-
-
+
+
OpenGL не доступен!
-
+
Общие контексты OpenGL не поддерживаются.
-
+
yuzu не был скомпилирован с поддержкой OpenGL.
-
-
+
+
Ошибка при инициализации OpenGL!
-
+
Ваш ГП может не поддерживать OpenGL, или у вас установлен устаревший графический драйвер.
-
+
Ошибка при инициализации OpenGL 4.6!
-
+
Ваш ГП может не поддерживать OpenGL 4.6, или у вас установлен устаревший графический драйвер.<br><br>Рендерер GL:<br>%1
-
+
Ваш ГП может не поддерживать одно или несколько требуемых расширений OpenGL. Пожалуйста, убедитесь в том, что у вас установлен последний графический драйвер.<br><br>Рендерер GL:<br>%1<br><br>Неподдерживаемые расширения:<br>%2
@@ -5797,7 +5931,7 @@ Would you like to bypass this and exit anyway?
-
+ Убрать хранилище Cache
@@ -6091,138 +6225,138 @@ Debug Message:
Hotkeys
-
+
Включение/отключение звука
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Основное окно
-
+
Уменьшить громкость звука
-
+
Повысить громкость звука
-
+
Сделать скриншот
-
+
Изменить адаптирующий фильтр
-
+
Изменить режим консоли
-
+
Изменить точность ГП
-
+
Продолжение/Пауза эмуляции
-
+
Выйти из полноэкранного режима
-
+
Выйти из yuzu
-
+
Полный экран
-
+
Загрузить файл
-
+
Загрузить/удалить Amiibo
-
+
Перезапустить эмуляцию
-
+
Остановить эмуляцию
-
+
Запись TAS
-
+
Сброс TAS
-
+
Старт/Стоп TAS
-
+
Переключить панель поиска
-
+
Переключить ограничение частоты кадров
-
+
Переключить панорамирование мыши
-
+
Переключить панель состояния
@@ -6965,30 +7099,30 @@ p, li { white-space: pre-wrap; }
-
+
Shift
-
+
Ctrl
-
+
Alt
-
-
-
-
+
+
+
+
[не задано]
@@ -6999,14 +7133,14 @@ p, li { white-space: pre-wrap; }
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
Ось %1%2
@@ -7017,320 +7151,320 @@ p, li { white-space: pre-wrap; }
-
-
-
-
-
-
+
+
+
+
+
+
[неизвестно]
-
-
+
+
Влево
-
-
+
+
Вправо
-
-
+
+
Вниз
-
-
+
+
Вверх
-
+
Z
-
+
R
-
+
L
-
+
A
-
+
B
-
+
X
-
+
Y
-
+
Start
-
+
L1
-
+
L2
-
+
L3
-
+
R1
-
+
R2
-
+
R3
-
+
Круг
-
+
Крестик
-
+
Квадрат
-
+
Треугольник
-
+
Share
-
+
Options
-
+
[не определено]
-
+
%1%2
-
-
+
+
[недопустимо]
-
-
+
+
%1%2Крест. %3
-
-
+
-
+
+
%1%2Ось %3
-
-
+
+
%1%2Ось %3,%4,%5
-
-
+
+
%1%2Движение %3
-
-
+
+
%1%2Кнопка %3
-
-
+
+
[не используется]
-
+
ZR
-
+
ZL
-
+
SR
-
+
SL
-
+
Левый стик
-
+
Правый стик
-
+
Плюс
-
+
Минус
-
-
+
+
Home
-
+
Захват
-
+
Сенсор
-
+
Indicates the mouse wheel
Колёсико
-
+
Назад
-
+
Вперёд
-
+
Задача
-
+
Дополнительная
-
+
%1%2%3%4
-
-
+
+
%1%2%3Крест. %4
-
-
+
+
%1%2%3Ось %4
-
-
+
+
%1%2%3Кнопка %4
diff --git a/dist/languages/sv.ts b/dist/languages/sv.ts
index 7aa5f082e..245a1f764 100644
--- a/dist/languages/sv.ts
+++ b/dist/languages/sv.ts
@@ -1114,78 +1114,78 @@ avgjord kod.</div>
yuzu Konfigurering
-
-
+
+
Ljud
-
-
+
+
CPU
-
+
Debug
-
+
Filsystem
-
-
+
+
Allmänt
-
-
+
+
Grafik
-
+
Avancerade grafikinställningar
-
+
Snabbknappar
-
-
+
+
Kontroller
-
+
Profiler
-
+
Nätverk
-
-
+
+
System
-
+
Spellista
-
+
Webb
@@ -1379,17 +1379,22 @@ avgjord kod.</div>
Göm mus när inaktiv
-
+
+
+
+
+
+
Återställ Alla Inställningar
-
+
yuzu
-
+
@@ -1677,43 +1682,43 @@ Immediate (no synchronization) just presents whatever is available and can exhib
Bakgrundsfärg:
-
+
-
+
-
+
FSR sharpening percentage (e.g. 50%)
%1%
-
+
-
+
-
+
-
+
-
+
@@ -1837,37 +1842,57 @@ Compute pipelines are always enabled on all other drivers.
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Anisotropisk filtrering:
-
+
-
+
Standard
-
+
2x
-
+
4x
-
+
8x
-
+
16x
@@ -2250,7 +2275,7 @@ Compute pipelines are always enabled on all other drivers.
-
+
Konfigurera
@@ -2317,22 +2342,7 @@ Compute pipelines are always enabled on all other drivers.
-
-
-
-
-
-
-
-
-
-
-
-
- %
-
-
-
+
Rörelse / Touch
@@ -2444,7 +2454,7 @@ Compute pipelines are always enabled on all other drivers.
-
+
Vänster Spak
@@ -2538,14 +2548,14 @@ Compute pipelines are always enabled on all other drivers.
-
+
L
-
+
ZL
@@ -2564,7 +2574,7 @@ Compute pipelines are always enabled on all other drivers.
-
+
Pluss
@@ -2577,15 +2587,15 @@ Compute pipelines are always enabled on all other drivers.
-
-
+
+
R
-
+
ZR
@@ -2642,246 +2652,256 @@ Compute pipelines are always enabled on all other drivers.
-
+
Höger Spak
-
-
-
-
+
+
+
+
+
+
+
+ Konfigurera
+
+
+
+
+
+
Rensa
-
-
-
-
-
+
+
+
+
+
[ej angett]
-
-
-
+
+
+
-
-
+
+
-
+
-
-
+
+
-
-
-
+
+
+
-
-
+
+
-
+
-
+
-
+
-
+
-
+
-
+
-
-
+
+
Dödzon: %1%
-
-
+
+
Modifieringsräckvidd: %1%
-
-
+
+
Prokontroller
-
+
Dubbla Joycons
-
+
Vänster Joycon
-
+
Höger Joycon
-
+
Handhållen
-
+
GameCube-kontroll
-
+
Poke Ball Plus
-
+
NES-kontroll
-
+
SNES-kontroll
-
+
N64-kontroll
-
+
Sega Genesis
-
+
-
+
Z
-
+
-
+
-
+
-
+
[väntar]
-
+
Ny profil
-
+
-
-
+
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
@@ -3060,6 +3080,81 @@ To invert the axes, first move your joystick vertically, and then horizontally.<
UDP Test eller kalibreringskonfiguration är igång.<br>Var vänlig vänta för dem att slutföras.
+
+ ConfigureMousePanning
+
+
+
+
+
+
+
+
+ Aktivera
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ %
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Standard
+
+
ConfigureNetwork
@@ -3136,47 +3231,47 @@ To invert the axes, first move your joystick vertically, and then horizontally.<
Utvecklare
-
+
Tillägg
-
+
Allmänt
-
+
System
-
+
CPU
-
+
Grafik
-
+
Avancerade Grafikinställningar
-
+
Ljud
-
+
-
+
egenskaper
@@ -3378,7 +3473,7 @@ UUID: %2
-
+
@@ -3415,7 +3510,7 @@ UUID: %2
-
+
Aktivera
@@ -3482,12 +3577,17 @@ UUID: %2
-
+
+
+
+
+
+
-
+
[väntar]
@@ -4597,957 +4697,896 @@ Dra punkter för att ändra position, eller dubbelklicka tabellceller för att r
GMainWindow
-
+
<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?
-
+
Telemetri
-
+
Felaktig Vulkaninstallation Upptäckt
-
+
-
+
+
+ TRANSLATORS: This string is shown to the user to explain why yuzu needs to prevent the computer from sleeping
+
+
+
+
Laddar WebApplet...
-
-
+
+
Avaktivera Webbappletten
-
+
-
+
Mängden shaders som just nu byggs
-
+
-
+
Nuvarande emuleringshastighet. Värden över eller under 100% indikerar på att emulationen körs snabbare eller långsammare än en Switch.
-
+
Hur många bilder per sekund som spelet just nu visar. Detta varierar från spel till spel och scen till scen.
-
+
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.
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
-
+
Emulerad datormus är aktiverad
-
+
-
+
-
+
&Paus
-
-
- TRANSLATORS: This string is shown to the user to explain why yuzu needs to prevent the computer from sleeping
-
-
-
-
+
Varning Föråldrat Spelformat
-
+
Du använder det dekonstruerade ROM-formatet för det här spelet. Det är ett föråldrat format som har överträffats av andra som NCA, NAX, XCI eller NSP. Dekonstruerade ROM-kataloger saknar ikoner, metadata och uppdatering.<br><br>För en förklaring av de olika format som yuzu stöder, <a href='https://yuzu-emu.org/wiki/overview-of-switch-game-formats'>kolla in vår wiki</a>. Det här meddelandet visas inte igen.
-
-
+
+
Fel vid laddning av ROM!
-
+
ROM-formatet stöds inte.
-
+
Ett fel inträffade vid initiering av videokärnan.
-
+
-
+
%1 signifies a numeric error code.
-
+
%1 signifies an error string.
-
+
Ett okänt fel har uppstått. Se loggen för mer information.
-
+
-
+
-
+
%1 is the title name. %2 indicates if the title is 64-bit or 32-bit
-
+
-
+
Spardata
-
+
Mod-data
-
+
Fel Öppnar %1 Mappen
-
-
+
+
Mappen finns inte!
-
+
Fel Under Öppning Av Överförbar Shadercache
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
Ta bort katalog
-
-
-
-
-
-
+
+
+
+
+
+
Framgångsrikt borttagen
-
+
Tog bort det installerade basspelet framgångsrikt.
-
+
Basspelet är inte installerat i NAND och kan inte tas bort.
-
+
Tog bort den installerade uppdateringen framgångsrikt.
-
+
Det finns ingen uppdatering installerad för denna titel.
-
+
Det finns inga DLC installerade för denna titel.
-
+
Tog framgångsrikt bort den %1 installerade DLCn.
-
+
-
+
-
+
-
+
Ta Bort Anpassad Spelkonfiguration?
-
+
-
+
Radera fil
-
-
+
+
Fel När Överförbar Shader Cache Raderades
-
-
+
+
En shader cache för denna titel existerar inte.
-
+
Raderade den överförbara shadercachen framgångsrikt.
-
+
Misslyckades att ta bort den överförbara shadercache
-
+
-
+
-
-
+
+
-
+
-
+
-
-
+
+
Fel När Anpassad Konfiguration Raderades
-
+
En anpassad konfiguration för denna titel existerar inte.
-
+
Tog bort den anpassade spelkonfigurationen framgångsrikt.
-
+
Misslyckades att ta bort den anpassade spelkonfigurationen.
-
-
+
+
RomFS Extraktion Misslyckades!
-
+
Det uppstod ett fel vid kopiering av RomFS filer eller användaren avbröt operationen.
-
+
Full
-
+
Skelett
-
+
Välj RomFS Dump-Läge
-
+
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.
-
+
-
+
Extraherar RomFS...
-
-
+
+
Avbryt
-
+
RomFS Extraktion Lyckades!
-
+
Operationen var lyckad.
-
-
-
-
-
+
+
+
+
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
Fel under öppning av %1
-
+
Välj Katalog
-
+
Egenskaper
-
+
Spelegenskaperna kunde inte laddas.
-
+
%1 is an identifier for the Switch executable file extensions.
Switch Körbar (%1);;Alla Filer (*.*)
-
+
Ladda Fil
-
+
Öppna Extraherad ROM-Katalog
-
+
Ogiltig Katalog Vald
-
+
Katalogen du har valt innehåller inte en 'main'-fil.
-
+
Installerbar Switch-fil (*.nca *.nsp *.xci);;Nintendo Content Archive (*.nca);;Nintendo Submission Package (*.nsp);;NX Cartridge Image (*.xci)
-
+
Installera filer
-
+
-
+
Installerar Fil "%1"...
-
-
+
+
Installera resultat
-
+
-
+
-
+
-
+
-
+
Systemapplikation
-
+
Systemarkiv
-
+
Systemapplikationsuppdatering
-
+
Firmwarepaket (Typ A)
-
+
Firmwarepaket (Typ B)
-
+
Spel
-
+
Speluppdatering
-
+
Spel DLC
-
+
Delta Titel
-
+
Välj NCA-Installationsläge...
-
+
Välj vilken typ av titel du vill installera som:
(I de flesta fallen, standard 'Spel' är bra.)
-
+
Misslyckades med Installationen
-
+
Den titeltyp du valt för NCA är ogiltig.
-
+
Filen hittades inte
-
+
Filen "%1" hittades inte
-
+
OK
-
-
+
+
Hårdvarukraven uppfylls ej
-
-
+
+
-
+
yuzu Konto hittades inte
-
+
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 >, Konfigurering >, Web.
-
+
Fel när URL öppnades
-
+
Oförmögen att öppna URL:en "%1".
-
+
TAS Inspelning
-
+
Överskriv spelare 1:s fil?
-
+
Ogiltig konfiguration upptäckt
-
+
-
-
+
+
Amiibo
-
-
+
+
Den aktuella amiibon har avlägsnats
-
+
Fel
-
-
+
+
Det aktuella spelet letar ej efter amiibos
-
+
Amiibo Fil (%1);; Alla Filer (*.*)
-
+
Ladda Amiibo
-
+
Fel vid laddning av Amiibodata
-
+
Den valda filen är inte en giltig amiibo
-
+
Den valda filen är redan använd
-
+
Ett okänt fel har inträffat
-
+
Skärmdump
-
+
PNG Bild (*.png)
-
+
TAStillstånd: pågående %1/%2
-
+
TAStillstånd: spelar in %1
-
+
TAStillstånd: inaktiv %1/%2
-
+
TAStillstånd: ogiltigt
-
+
-
+
&Start
-
+
-
+
-
+
-
+
%1 is the resolution scaling factor
-
+
Hastighet: %1% / %2%
-
+
Hastighet: %1%
-
+
-
+
Spel: %1 FPS
-
+
Ruta: %1 ms
-
-
+
+
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- OPENGL
-
-
-
-
- VULKAN
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
-
-
+
-
-
-
-
-
-
-
-
-
-
-
+
-
+
Volume percentage (e.g. 50%)
-
+
Bekräfta Nyckel Rederivering
-
+
-
+
Saknade säkringar
-
+
- Saknar BOOT0
-
+
- Saknar BCPKG2-1-Normal-Main
-
+
- Saknar PRODINFO
-
+
Deriveringsdelar saknas
-
+
-
+
@@ -5603,49 +5642,49 @@ Detta kan ta upp till en minut beroende
på systemets prestanda.
-
+
Härleda Nycklar
-
+
-
+
-
+
Välj RomFS Dumpa Mål
-
+
Välj vilken RomFS du vill dumpa.
-
+
Är du säker på att du vill stänga yuzu?
-
-
-
+
+
+
yuzu
-
+
Är du säker på att du vill stoppa emuleringen? Du kommer att förlora osparade framsteg.
-
+
@@ -5653,48 +5692,143 @@ Would you like to bypass this and exit anyway?
Vill du strunta i detta och avsluta ändå?
+
+
+
+ Ingen
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Dockad
+
+
+
+
+ Handheld
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
GRenderWindow
-
-
+
+
OpenGL inte tillgängligt!
-
+
-
+
yuzu har inte komilerats med OpenGL support.
-
-
+
+
Fel under initialisering av OpenGL!
-
+
-
+
-
+
-
+
@@ -6047,138 +6181,138 @@ Debug Message:
Hotkeys
-
+
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
-
+
-
+
-
+
Skärmdump
-
+
-
+
-
+
-
+
-
+
-
+
-
+
Fullskärm
-
+
Ladda Fil
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
@@ -6912,30 +7046,30 @@ p, li { white-space: pre-wrap; }
-
+
Shift
-
+
Ctrl
-
+
Alt
-
-
-
-
+
+
+
+
[inte inställd]
@@ -6946,14 +7080,14 @@ p, li { white-space: pre-wrap; }
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
Axel %1%2
@@ -6964,320 +7098,320 @@ p, li { white-space: pre-wrap; }
-
-
-
-
-
-
+
+
+
+
+
+
[okänd]
-
-
+
+
Vänster
-
-
+
+
Höger
-
-
+
+
Ner
-
-
+
+
Upp
-
+
Z
-
+
R
-
+
L
-
+
A
-
+
B
-
+
X
-
+
Y
-
+
Start
-
+
L1
-
+
L2
-
+
L3
-
+
R1
-
+
R2
-
+
R3
-
+
Cirkel
-
+
Kors
-
+
Fyrkant
-
+
Triangel
-
+
Dela
-
+
Val
-
+
[odefinerad]
-
+
%1%2
-
-
+
+
[felaktig]
-
-
+
+
%1%2Hatt %3
-
-
+
-
+
+
%1%2Axel %3
-
-
+
+
%1%2Axel %3,%4%5
-
-
+
+
%1%2Rörelse %3
-
-
+
+
%1%2Knapp %3
-
-
+
+
[oanvänd]
-
+
ZR
-
+
ZL
-
+
SR
-
+
SL
-
+
-
+
-
+
Pluss
-
+
Minus
-
-
+
+
Hem
-
+
Fånga
-
+
Touch
-
+
Indicates the mouse wheel
Hjul
-
+
Bakåt
-
+
Framåt
-
+
Åtgärd
-
+
Extra
-
+
-
-
+
+
-
-
+
+
-
-
+
+
diff --git a/dist/languages/tr_TR.ts b/dist/languages/tr_TR.ts
index 8a1ebdc7e..c98e78ddb 100644
--- a/dist/languages/tr_TR.ts
+++ b/dist/languages/tr_TR.ts
@@ -1130,78 +1130,78 @@ Bu seçenek belleğe yazma/okuma işlemlerindeki güvenlik kontrolünü kaldıra
yuzu Yapılandırması
-
-
+
+
Ses
-
-
+
+
CPU
-
+
Hata Ayıklama
-
+
Dosya sistemi
-
-
+
+
Genel
-
-
+
+
Grafikler
-
+
Gelişmiş Grafik Ayarları
-
+
Kısayollar
-
-
+
+
Kontroller
-
+
Profiller
-
+
Ağ
-
-
+
+
Sistem
-
+
Oyun Listesi
-
+
Web
@@ -1395,17 +1395,22 @@ Bu seçenek belleğe yazma/okuma işlemlerindeki güvenlik kontrolünü kaldıra
Hareketsizlik durumunda imleci gizle
-
+
+
+
+
+
+
Tüm Ayarları Sıfırla
-
+
yuzu
-
+
Bu seçenek tüm genel ve oyuna özgü ayarları silecektir. Oyun dizinleri, profiller ve giriş profilleri silinmeyecektir. Devam etmek istiyor musunuz?
@@ -1693,43 +1698,43 @@ Immediate (no synchronization) just presents whatever is available and can exhib
Arkaplan Rengi:
-
+
GLASM (Assembly Shaderları, Yalnızca NVIDIA için)
-
+
SPIR-V (Deneysel, Yalnızca Mesa için)
-
+
FSR sharpening percentage (e.g. 50%)
%1%
-
+
-
+
-
+
-
+
-
+
@@ -1853,37 +1858,57 @@ Compute pipelines are always enabled on all other drivers.
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Anisotropic Filtering:
-
+
Otomatik
-
+
Varsayılan
-
+
2x
-
+
4x
-
+
8x
-
+
16x
@@ -2266,7 +2291,7 @@ Compute pipelines are always enabled on all other drivers.
-
+
Yapılandır
@@ -2333,22 +2358,7 @@ Compute pipelines are always enabled on all other drivers.
-
-
- Mouse ile kaydırmayı etkinleştir
-
-
-
-
- Fare hassasiyeti
-
-
-
-
- %
-
-
-
+
Hareket / Dokunmatik
@@ -2460,7 +2470,7 @@ Compute pipelines are always enabled on all other drivers.
-
+
Sol Analog
@@ -2554,14 +2564,14 @@ Compute pipelines are always enabled on all other drivers.
-
+
L
-
+
ZL
@@ -2580,7 +2590,7 @@ Compute pipelines are always enabled on all other drivers.
-
+
Artı
@@ -2593,15 +2603,15 @@ Compute pipelines are always enabled on all other drivers.
-
-
+
+
R
-
+
ZR
@@ -2658,247 +2668,257 @@ Compute pipelines are always enabled on all other drivers.
-
+
Sağ Analog
-
-
-
-
+
+
+
+
+
+
+
+ Yapılandır
+
+
+
+
+
+
Temizle
-
-
-
-
-
+
+
+
+
+
[belirlenmedi]
-
-
-
+
+
+
Tuşları ters çevir
-
-
+
+
Tuşu Aç/Kapa
-
+
Turbo tuşu
-
-
+
+
Ekseni ters çevir
-
-
-
+
+
+
Alt sınır ayarla
-
-
+
+
%0 ve %100 arasında bir değer seçin
-
+
Ekseni aç/kapa
-
+
Gyro alt sınırı ayarla
-
+
-
+
Analog Çubuğu Ayarla
-
+
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.
-
+
Ekseni merkezle
-
-
+
+
Ölü Bölge: %1%
-
-
+
+
Düzenleyici Aralığı: %1%
-
-
+
+
Pro Controller
-
+
İkili Joyconlar
-
+
Sol Joycon
-
+
Sağ Joycon
-
+
Handheld
-
+
GameCube Kontrolcüsü
-
+
Poke Ball Plus
-
+
NES Kontrolcüsü
-
+
SNES Kontrolcüsü
-
+
N64 Kontrolcüsü
-
+
Sega Genesis
-
+
Başlat / Duraklat
-
+
Z
-
+
Kontrol Çubuğu
-
+
C-Çubuğu
-
+
Salla!
-
+
[bekleniyor]
-
+
Yeni Profil
-
+
Bir profil ismi girin:
-
-
+
+
Kontrol Profili Oluştur
-
+
Girilen profil ismi geçerli değil!
-
+
"%1" kontrol profili oluşturulamadı
-
+
Kontrol Profilini Kaldır
-
+
"%1" kontrol profili kaldırılamadı
-
+
Kontrol Profilini Yükle
-
+
"%1" kontrol profili yüklenemedi
-
+
Kontrol Profilini Kaydet
-
+
"%1" kontrol profili kaydedilemedi
@@ -3077,6 +3097,81 @@ Eksenleri ters çevirmek için, önce joystickinizi dikey sonra yatay olarak har
UDP testi ya da yapılandırılması devrede.<br>Lütfen bitmesini bekleyin.
+
+ ConfigureMousePanning
+
+
+
+
+
+
+
+
+ Aç
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ %
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Varsayılan
+
+
ConfigureNetwork
@@ -3153,47 +3248,47 @@ Eksenleri ters çevirmek için, önce joystickinizi dikey sonra yatay olarak har
Geliştirici
-
+
Eklentiler
-
+
Genel
-
+
Sistem
-
+
CPU
-
+
Grafikler
-
+
Gelişmiş Grafikler
-
+
Ses
-
+
Kontrol Profilleri
-
+
Özellikler
@@ -3396,8 +3491,8 @@ UUID: %2
-
- Eğer bu kontrolcüyü kullanmak istiyorsanız oyunun doğru düzgün kontrolcüyü algılaması için oyunu açmadan önce oyuncu 1'i sağ kontrolcü ve oyuncu 2'yi çift joycon olarak ayarlayın.
+
+
@@ -3433,7 +3528,7 @@ UUID: %2
-
+
Aç
@@ -3500,12 +3595,17 @@ UUID: %2
Atanmış cihaza ring takılı değil
-
+
+
+
+
+
+
Beklenmeyen sürücü sonucu %1
-
+
[bekleniyor]
@@ -4615,560 +4715,575 @@ Noktanın konumunu değiştirmek için sürükleyin ya da sayıların üstüne
GMainWindow
-
+
<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?
-
+
Telemetri
-
+
Bozuk Vulkan Kurulumu Algılandı
-
+
Açılışta Vulkan başlatılırken hata. Hata yardımını görüntülemek için <a href='https://yuzu-emu.org/wiki/faq/#yuzu-starts-with-the-error-broken-vulkan-installation-detected'>buraya tıklayın</a>.
-
+
+
+ TRANSLATORS: This string is shown to the user to explain why yuzu needs to prevent the computer from sleeping
+
+
+
+
Web Uygulaması Yükleniyor...
-
-
+
+
Web Uygulamasını Devre Dışı Bırak
-
+
Web uygulamasını kapatmak bilinmeyen hatalara neden olabileceğinden dolayı sadece Super Mario 3D All-Stars için kapatılması önerilir. Web uygulamasını kapatmak istediğinize emin misiniz?
(Hata ayıklama ayarlarından tekrar açılabilir)
-
+
Şu anda derlenen shader miktarı
-
+
Geçerli seçili çözünürlük ölçekleme çarpanı.
-
+
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.
-
+
Oyunun şuanda saniye başına kaç kare gösterdiği. Bu oyundan oyuna ve sahneden sahneye değişiklik gösterir.
-
+
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ı.
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
&Son Dosyaları Temizle
-
+
-
+
-
+
&Devam Et
-
+
&Duraklat
-
-
- TRANSLATORS: This string is shown to the user to explain why yuzu needs to prevent the computer from sleeping
- yuzu şu anda bir oyun çalıştırıyor
-
-
-
+
Uyarı, Eski Oyun Formatı
-
+
Bu oyun için dekonstrükte ROM formatı kullanıyorsunuz, bu fromatın yerine NCA, NAX, XCI ve NSP formatları kullanılmaktadır. Dekonstrükte ROM formatları ikon, üst veri ve güncelleme desteği içermemektedir.<br><br>Yuzu'nun desteklediği çeşitli Switch formatları için<a href='https://yuzu-emu.org/wiki/overview-of-switch-game-formats'>Wiki'yi ziyaret edin</a>. Bu mesaj yeniden gösterilmeyecektir.
-
-
+
+
ROM yüklenirken hata oluştu!
-
+
Bu ROM biçimi desteklenmiyor.
-
+
Video çekirdeğini başlatılırken bir hata oluştu.
-
+
yuzu video çekirdeğini çalıştırırken bir hatayla karşılaştı. Bu sorun genellikle eski GPU sürücüleri sebebiyle ortaya çıkar. Daha fazla detay için lütfen log dosyasına bakın. Log dosyasını incelemeye dair daha fazla bilgi için lütfen bu sayfaya ulaşın: <a href='https://yuzu-emu.org/help/reference/log-files/'>Log dosyası nasıl yüklenir</a>.
-
+
%1 signifies a numeric error code.
ROM yüklenirken hata oluştu! %1
-
+
%1 signifies an error string.
%1<br>Lütfen dosyalarınızı yeniden dump etmek için<a href='https://yuzu-emu.org/help/quickstart/'>yuzu hızlı başlangıç kılavuzu'nu</a> takip edin.<br> Yardım için yuzu wiki</a>veya yuzu Discord'una</a> bakabilirsiniz.
-
+
Bilinmeyen bir hata oluştu. Lütfen daha fazla detay için kütüğe göz atınız.
-
+
(64-bit)
-
+
(32-bit)
-
+
%1 is the title name. %2 indicates if the title is 64-bit or 32-bit
%1 %2
-
+
Yazılım kapatılıyor...
-
+
Kayıt Verisi
-
+
Mod Verisi
-
+
%1 klasörü açılırken hata
-
-
+
+
Klasör mevcut değil!
-
+
Transfer Edilebilir Shader Cache'ini Açarken Bir Hata Oluştu
-
+
Bu oyun için shader cache konumu oluşturulamadı.
-
+
İçerik Kaldırma Hatası
-
+
Güncelleme Kaldırma hatası
-
+
DLC Kaldırma Hatası
-
+
Yüklenmiş Oyun İçeriğini Kaldırmak İstediğinize Emin Misiniz?
-
+
Yüklenmiş Oyun Güncellemesini Kaldırmak İstediğinize Emin Misiniz?
-
+
Yüklenmiş DLC'yi Kaldırmak İstediğinize Emin Misiniz?
-
+
Girdiyi Kaldır
-
-
-
-
-
-
+
+
+
+
+
+
Başarıyla Kaldırıldı
-
+
Yüklenmiş oyun başarıyla kaldırıldı.
-
+
Asıl oyun NAND'de kurulu değil ve kaldırılamaz.
-
+
Yüklenmiş güncelleme başarıyla kaldırıldı.
-
+
Bu oyun için yüklenmiş bir güncelleme yok.
-
+
Bu oyun için yüklenmiş bir DLC yok.
-
+
%1 yüklenmiş DLC başarıyla kaldırıldı.
-
+
OpenGL Transfer Edilebilir Shader Cache'ini Kaldırmak İstediğinize Emin Misiniz?
-
+
Vulkan Transfer Edilebilir Shader Cache'ini Kaldırmak İstediğinize Emin Misiniz?
-
+
Tüm Transfer Edilebilir Shader Cache'leri Kaldırmak İstediğinize Emin Misiniz?
-
+
Oyuna Özel Yapılandırmayı Kaldırmak İstediğinize Emin Misiniz?
-
+
-
+
Dosyayı Sil
-
-
+
+
Transfer Edilebilir Shader Cache Kaldırılırken Bir Hata Oluştu
-
-
+
+
Bu oyun için oluşturulmuş bir shader cache yok.
-
+
Transfer edilebilir shader cache başarıyla kaldırıldı.
-
+
Transfer edilebilir shader cache kaldırılamadı.
-
+
Vulkan Pipeline Önbelleği Kaldırılırken Hata
-
+
Sürücü pipeline önbelleği kaldırılamadı.
-
-
+
+
Transfer Edilebilir Shader Cache'ler Kaldırılırken Bir Hata Oluştu
-
+
Transfer edilebilir shader cacheler başarıyla kaldırıldı.
-
+
Transfer edilebilir shader cache konumu kaldırılamadı.
-
-
+
+
Oyuna Özel Yapılandırma Kaldırılırken Bir Hata Oluştu.
-
+
Bu oyun için bir özel yapılandırma yok.
-
+
Oyuna özel yapılandırma başarıyla kaldırıldı.
-
+
Oyuna özel yapılandırma kaldırılamadı.
-
-
+
+
RomFS Çıkartımı Başarısız!
-
+
RomFS dosyaları kopyalanırken bir hata oluştu veya kullanıcı işlemi iptal etti.
-
+
Full
-
+
Çerçeve
-
+
RomFS Dump Modunu Seçiniz
-
+
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.
-
+
%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.
-
+
RomFS çıkartılıyor...
-
-
+
+
İptal
-
+
RomFS Çıkartımı Başarılı!
-
+
İşlem başarıyla tamamlandı.
-
-
-
-
-
+
+
+
+
+
Kısayol Oluştur
-
+
Bu seçenek, şu anki AppImage dosyasının kısayolunu oluşturacak. Uygulama güncellenirse kısayol çalışmayabilir. Devam edilsin mi?
-
+
Masaüstünde kısayol oluşturulamadı. "%1" dizini yok.
-
+
Uygulamalar menüsünde kısayol oluşturulamadı. "%1" dizini yok ve oluşturulamıyor.
-
+
Simge Oluştur
-
+
Simge dosyası oluşturulamadı. "%1" dizini yok ve oluşturulamıyor.
-
+
yuzu Emülatörü başlatılırken %1 başlatılsın
-
+
%1 dizininde kısayol oluşturulamadı
-
+
%1 dizinine kısayol oluşturuldu
-
+
%1 Açılırken Bir Hata Oluştu
-
+
Klasör Seç
-
+
Özellikler
-
+
Oyun özellikleri yüklenemedi.
-
+
%1 is an identifier for the Switch executable file extensions.
Switch Çalıştırılabilir Dosyası (%1);;Tüm Dosyalar (*.*)
-
+
Dosya Aç
-
+
Çıkartılmış ROM klasörünü aç
-
+
Geçersiz Klasör Seçildi
-
+
Seçtiğiniz klasör bir "main" dosyası içermiyor.
-
+
Yüklenilebilir Switch Dosyası (*.nca *.nsp *.xci);;Nintendo Content Archive (*.nca);;Nintendo Submissions Package (*.nsp);;NX Cartridge Image (*.xci)
-
+
Dosya Kur
-
+
%n dosya kaldı%n dosya kaldı
-
+
"%1" dosyası kuruluyor...
-
-
+
+
Kurulum Sonuçları
-
+
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.
-
+
%n dosya güncel olarak yüklendi
@@ -5176,7 +5291,7 @@ Lütfen bu özelliği sadece güncelleme ve DLC yüklemek için kullanın.
-
+
%n dosyanın üstüne yazıldı
@@ -5184,7 +5299,7 @@ Lütfen bu özelliği sadece güncelleme ve DLC yüklemek için kullanın.
-
+
%n dosya yüklenemedi
@@ -5192,388 +5307,312 @@ Lütfen bu özelliği sadece güncelleme ve DLC yüklemek için kullanın.
-
+
Sistem Uygulaması
-
+
Sistem Arşivi
-
+
Sistem Uygulama Güncellemesi
-
+
Yazılım Paketi (Tür A)
-
+
Yazılım Paketi (Tür B)
-
+
Oyun
-
+
Oyun Güncellemesi
-
+
Oyun DLC'si
-
+
Delta Başlık
-
+
NCA Kurulum Tipi Seçin...
-
+
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.)
-
+
Kurulum Başarısız Oldu
-
+
NCA için seçtiğiniz başlık türü geçersiz
-
+
Dosya Bulunamadı
-
+
Dosya "%1" Bulunamadı
-
+
Tamam
-
-
+
+
Donanım gereksinimleri karşılanmıyor
-
-
+
+
Sisteminiz, önerilen donanım gereksinimlerini karşılamıyor. Uyumluluk raporlayıcı kapatıldı.
-
+
Kayıp yuzu Hesabı
-
+
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 > Yapılandırma > Web'e gidiniz.
-
+
URL açılırken bir hata oluştu
-
+
URL "%1" açılamıyor.
-
+
TAS kayıtta
-
+
Oyuncu 1'in dosyasının üstüne yazılsın mı?
-
+
Geçersiz yapılandırma tespit edildi
-
+
Handheld kontrolcü dock modunda kullanılamaz. Pro kontrolcü seçilecek.
-
-
+
+
Amiibo
-
-
+
+
Amiibo kaldırıldı
-
+
Hata
-
-
+
+
Aktif oyun amiibo beklemiyor
-
+
Amiibo Dosyası (%1);; Tüm Dosyalar (*.*)
-
+
Amiibo Yükle
-
+
Amiibo verisi yüklenirken hata
-
+
Seçtiğiniz dosya geçerli bir amiibo değil
-
+
Seçtiğiniz dosya hali hazırda kullanılıyor
-
+
Bilinmeyen bir hata oluştu
-
+
Ekran Görüntüsü Al
-
+
PNG görüntüsü (*.png)
-
+
TAS durumu: %1%2 çalışıyor
-
+
TAS durumu: %1 kaydediliyor
-
+
TAS durumu: %1%2 boşta
-
+
TAS durumu: Geçersiz
-
+
&Çalıştırmayı durdur
-
+
&Başlat
-
+
K&aydetmeyi Durdur
-
+
K&aydet
-
+
Oluşturuluyor: %n shaderOluşturuluyor: %n shader
-
+
%1 is the resolution scaling factor
Ölçek: %1x
-
+
Hız %1% / %2%
-
+
Hız: %1%
-
+
Oyun: %1 FPS (Sınırsız)
-
+
Oyun: %1 FPS
-
+
Kare: %1 ms
-
-
- GPU NORMAL
+
+
+ %1 %2
-
-
- GPU YÜKSEK
-
-
-
-
- GPU EKSTREM
-
-
-
-
- GPU HATASI
-
-
-
-
- TAKILI MOD
-
-
-
-
- TAŞIMA MODU
-
-
-
-
- OPENGL
-
-
-
-
- VULKAN
-
-
-
-
- YOK
-
-
-
-
- EN YAKIN
-
-
-
-
-
- BILINEAR
-
-
-
-
- BICUBIC
-
-
-
-
- GAUSYEN
-
-
-
-
- SCALEFORCE
-
-
-
+
+
FSR
-
-
+
AA YOK
-
-
- FXAA
-
-
-
-
- SMAA
-
-
-
+
SES: KAPALI
-
+
Volume percentage (e.g. 50%)
SES: %%1
-
+
Anahtar Yeniden Türetimini Onayla
-
+
-
+
Anahtarlar Kayıp
-
+
- BOOT0 Kayıp
-
+
- BCPKG2-1-Normal-Main Kayıp
-
+
- PRODINFO Kayıp
-
+
Türeten Bileşenleri Kayıp
-
+
Ş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>
-
+
@@ -5629,49 +5668,49 @@ Bu sistem performansınıza bağlı olarak
bir dakika kadar zaman alabilir.
-
+
Anahtarlar Türetiliyor
-
+
-
+
-
+
RomFS Dump Hedefini Seçiniz
-
+
Lütfen dump etmek istediğiniz RomFS'i seçiniz.
-
+
yuzu'yu kapatmak istediğinizden emin misiniz?
-
-
-
+
+
+
yuzu
-
+
Emülasyonu durdurmak istediğinizden emin misiniz? Kaydedilmemiş veriler kaybolur.
-
+
@@ -5679,48 +5718,143 @@ Would you like to bypass this and exit anyway?
Görmezden gelip kapatmak ister misiniz?
+
+
+
+ Yok
+
+
+
+
+ FXAA
+
+
+
+
+ SMAA
+
+
+
+
+
+
+
+
+
+ Bilinear
+
+
+
+
+ Bicubic
+
+
+
+
+ Gausyen
+
+
+
+
+ ScaleForce
+
+
+
+
+ Dock Modu Aktif
+
+
+
+
+ Taşınabilir
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
GRenderWindow
-
-
+
+
OpenGL kullanıma uygun değil!
-
+
OpenGL paylaşılan bağlam desteklenmiyor.
-
+
Yuzu OpenGL desteklememektedir.
-
-
+
+
OpenGl başlatılırken bir hata oluştu!
-
+
GPU'nuz OpenGL desteklemiyor veya güncel bir grafik sürücüsüne sahip değilsiniz.
-
+
OpenGl 4.6 başlatılırken bir hata oluştu!
-
+
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
-
+
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
@@ -6073,138 +6207,138 @@ Debug Message:
Hotkeys
-
+
Sesi Sustur/Aç
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Ana Pencere
-
+
Ses Kapa
-
+
Ses Aç
-
+
Ekran Görüntüsü Al
-
+
Uyarlanan Filtreyi Değiştir
-
+
Takılı Modu Kullan
-
+
GPU Doğruluğunu Değiştir
-
+
Sürdür/Emülasyonu duraklat
-
+
Tam Ekrandan Çık
-
+
Yuzu'dan çık
-
+
Tam Ekran
-
+
Dosya Aç
-
+
Amiibo Yükle/Kaldır
-
+
Emülasyonu Yeniden Başlat
-
+
Emülasyonu Durdur
-
+
TAS Kaydet
-
+
TAS Sıfırla
-
+
TAS Başlat/Durdur
-
+
Filtre Çubuğunu Aç/Kapa
-
+
FPS Limitini Aç/Kapa
-
+
Mouse ile Kaydırmayı Aç/Kapa
-
+
Durum Çubuğunu Aç/Kapa
@@ -6947,30 +7081,30 @@ p, li { white-space: pre-wrap; }
-
+
Shift
-
+
Ctrl
-
+
Alt
-
-
-
-
+
+
+
+
[belirlenmedi]
@@ -6981,14 +7115,14 @@ p, li { white-space: pre-wrap; }
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
Eksen %1%2
@@ -6999,320 +7133,320 @@ p, li { white-space: pre-wrap; }
-
-
-
-
-
-
+
+
+
+
+
+
[bilinmeyen]
-
-
+
+
Sol
-
-
+
+
Sağ
-
-
+
+
Aşağı
-
-
+
+
Yukarı
-
+
Z
-
+
R
-
+
L
-
+
A
-
+
B
-
+
X
-
+
Y
-
+
Start
-
+
L1
-
+
L2
-
+
L3
-
+
R1
-
+
R2
-
+
R3
-
+
Yuvarlak
-
+
Çarpı
-
+
Kare
-
+
Üçgen
-
+
Share
-
+
Options
-
+
[belirsiz]
-
+
%1%2
-
-
+
+
[geçersiz]
-
-
+
+
%1%2Hat %3
-
-
+
-
+
+
%1%2Eksen %3
-
-
+
+
%1%2Eksen %3,%4,%5
-
-
+
+
%1%2Hareket %3
-
-
+
+
%1%2Tuş %3
-
-
+
+
[kullanılmayan]
-
+
ZR
-
+
ZL
-
+
SR
-
+
SL
-
+
L Çubuğu
-
+
R Çubuğu
-
+
Artı
-
+
Eksi
-
-
+
+
Home
-
+
Kaydet
-
+
Dokunmatik
-
+
Indicates the mouse wheel
Fare Tekerleği
-
+
Geri
-
+
İleri
-
+
Görev
-
+
Ekstra
-
+
%1%2%3%4
-
-
+
+
%1%2%3Hat %4
-
-
+
+
-
-
+
+
%1%2%3Tuş %4
diff --git a/dist/languages/uk.ts b/dist/languages/uk.ts
index d82fc1e66..6c5762e8d 100644
--- a/dist/languages/uk.ts
+++ b/dist/languages/uk.ts
@@ -1137,78 +1137,78 @@ This would ban both their forum username and their IP address.
Налаштування yuzu
-
-
+
+
Аудіо
-
-
+
+
ЦП
-
+
Налагодження
-
+
Файлова система
-
-
+
+
Загальні
-
-
+
+
Графіка
-
+
ГрафікаРозширені
-
+
Гарячі клавіші
-
-
+
+
Керування
-
+
Профілі
-
+
Мережа
-
-
+
+
Система
-
+
Список ігор
-
+
Мережа
@@ -1402,17 +1402,22 @@ This would ban both their forum username and their IP address.
Приховування миші при бездіяльності
-
+
+
+
+
+
+
Скинути всі налаштування
-
+
yuzu
-
+
Це скине всі налаштування і видалить усі конфігурації під окремі ігри. При цьому не будуть видалені шляхи до ігор, профілів або профілів вводу. Продовжити?
@@ -1703,43 +1708,43 @@ Mailbox може мати меншу затримку, ніж FIFO, і не ма
Фоновий колір:
-
+
GLASM (асемблерні шейдери, лише для NVIDIA)
-
+
SPIR-V (Експериментально, лише для Mesa)
-
+
FSR sharpening percentage (e.g. 50%)
%1%
-
+
Вимкнено
-
+
Верт. синхронізацію вимкнено
-
+
Рекомендовано
-
+
Увімкнено
-
+
Верт. синхронізація увімкнена
@@ -1864,37 +1869,57 @@ Compute pipelines are always enabled on all other drivers.
Увімкнути обчислювальні конвеєри (тільки для Intel Vulkan)
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Анізотропна фільтрація:
-
+
Автоматично
-
+
За замовчуванням
-
+
2x
-
+
4x
-
+
8x
-
+
16x
@@ -2277,7 +2302,7 @@ Compute pipelines are always enabled on all other drivers.
-
+
Налаштувати
@@ -2344,22 +2369,7 @@ Compute pipelines are always enabled on all other drivers.
Використовувати випадкове Amiibo ID
-
-
- Увімкнути панорамування миші
-
-
-
-
- Чутливість миші
-
-
-
-
- %
-
-
-
+
Рух і сенсор
@@ -2471,7 +2481,7 @@ Compute pipelines are always enabled on all other drivers.
-
+
Лівий міні-джойстик
@@ -2565,14 +2575,14 @@ Compute pipelines are always enabled on all other drivers.
-
+
L
-
+
ZL
@@ -2591,7 +2601,7 @@ Compute pipelines are always enabled on all other drivers.
-
+
Плюс
@@ -2604,15 +2614,15 @@ Compute pipelines are always enabled on all other drivers.
-
-
+
+
R
-
+
ZR
@@ -2669,247 +2679,257 @@ Compute pipelines are always enabled on all other drivers.
-
+
Правий міні-джойстик
-
-
-
-
+
+
+
+
+
+
+
+ Налаштувати
+
+
+
+
+
+
Очистити
-
-
-
-
-
+
+
+
+
+
[не задано]
-
-
-
+
+
+
Інвертувати кнопку
-
-
+
+
Переключити кнопку
-
+
Турбо кнопка
-
-
+
+
Інвертувати осі
-
-
-
+
+
+
Встановити поріг
-
-
+
+
Оберіть значення між 0% і 100%
-
+
Переключити осі
-
+
Встановити поріг гіроскопа
-
+
Калібрувати сенсор
-
+
Задати аналоговий міні-джойстик
-
+
Після натискання на ОК, рухайте ваш міні-джойстик горизонтально, а потім вертикально.
Щоб інвертувати осі, спочатку рухайте ваш міні-джойстик вертикально, а потім горизонтально.
-
+
Центрувати осі
-
-
+
+
Мертва зона: %1%
-
-
+
+
Діапазон модифікатора: %1%
-
-
+
+
Контролер Pro
-
+
Подвійні Joy-Con'и
-
+
Лівий Joy-Con
-
+
Правий Joy-Con
-
+
Портативний
-
+
Контролер GameCube
-
+
Poke Ball Plus
-
+
Контролер NES
-
+
Контролер SNES
-
+
Контролер N64
-
+
Sega Genesis
-
+
Старт / Пауза
-
+
Z
-
+
Міні-джойстик керування
-
+
C-Джойстик
-
+
Потрусіть!
-
+
[очікування]
-
+
Новий профіль
-
+
Введіть ім'я профілю:
-
-
+
+
Створити профіль контролю
-
+
Задане ім'я профілю недійсне!
-
+
Не вдалося створити профіль контролю "%1"
-
+
Видалити профіль контролю
-
+
Не вдалося видалити профіль контролю "%1"
-
+
Завантажити профіль контролю
-
+
Не вдалося завантажити профіль контролю "%1"
-
+
Зберегти профіль контролю
-
+
Не вдалося зберегти профіль контролю "%1"
@@ -3088,6 +3108,81 @@ To invert the axes, first move your joystick vertically, and then horizontally.<
Тест UDP або калібрація в процесі.<br>Будь ласка, зачекайте завершення.
+
+ ConfigureMousePanning
+
+
+
+
+
+
+
+
+ Увімкнути
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ %
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ За замовчуванням
+
+
ConfigureNetwork
@@ -3164,47 +3259,47 @@ To invert the axes, first move your joystick vertically, and then horizontally.<
Розробник
-
+
Доповнення
-
+
Загальні
-
+
Система
-
+
ЦП
-
+
Графіка
-
+
Розш. Графіка
-
+
Аудіо
-
+
Профілі вводу
-
+
Властивості
@@ -3407,8 +3502,8 @@ UUID: %2
-
- Якщо ви хочете використовувати цей контролер, налаштуйте гравця 1 як правий контролер, а гравця 2 як подвійний Joy-Соп перед початком гри, щоб цей контролер був виявлений правильно.
+
+
@@ -3444,7 +3539,7 @@ UUID: %2
-
+
Увімкнути
@@ -3511,12 +3606,17 @@ UUID: %2
До поточного пристрою не прикріплено кільце
-
+
+
+
+
+
+
Несподіваний результат драйвера %1
-
+
[очікування]
@@ -3822,7 +3922,7 @@ UUID: %2
- Американська Англійська
+ Американська англійська
@@ -3877,32 +3977,32 @@ UUID: %2
- Британська Англійська
+ Британська англійська
- Канадська Французька
+ Канадська французька
- Латиноамериканська Іспанська
+ Латиноамериканська іспанська
- Спрощена Китайська
+ Спрощена китайська
- Традиційна Китайська (正體中文)
+ Традиційна китайська (正體中文)
- Бразильська Португальська (português do Brasil)
+ Бразильська португальська (português do Brasil)
@@ -4626,560 +4726,575 @@ Drag points to change position, or double-click table cells to edit values.
GMainWindow
-
+
<a href='https://yuzu-emu.org/help/feature/telemetry/'>Анонімні дані збираються для того,</a> щоб допомогти поліпшити роботу yuzu. <br/><br/>Хотіли б ви ділитися даними про використання з нами?
-
+
Телеметрія
-
+
Виявлено пошкоджену інсталяцію Vulkan
-
+
Не вдалося виконати ініціалізацію Vulkan під час завантаження.<br><br>Натисніть <a href='https://yuzu-emu.org/wiki/faq/#yuzu-starts-with-the-error-broken-vulkan-installation-detected'>тут для отримання інструкцій щодо усунення проблеми</a>.
-
+
+
+ TRANSLATORS: This string is shown to the user to explain why yuzu needs to prevent the computer from sleeping
+
+
+
+
Завантаження веб-аплета...
-
-
+
+
Вимкнути веб-аплет
-
+
Вимкнення веб-апплета може призвести до несподіваної поведінки, і його слід вимикати лише заради Super Mario 3D All-Stars. Ви впевнені, що хочете вимкнути веб-апплет?
(Його можна знову ввімкнути в налаштуваннях налагодження.)
-
+
Кількість створюваних шейдерів на цей момент
-
+
Поточний обраний множник масштабування роздільної здатності.
-
+
Поточна швидкість емуляції. Значення вище або нижче 100% вказують на те, що емуляція йде швидше або повільніше, ніж на Switch.
-
+
Кількість кадрів на секунду в цей момент. Значення буде змінюватися між іграми та сценами.
-
+
Час, який потрібен для емуляції 1 кадру Switch, не беручи до уваги обмеження FPS або вертикальну синхронізацію. Для емуляції в повній швидкості значення має бути не більше 16,67 мс.
-
+
+
+ Увімкнути звук
+
+
+
+
+ Вимкнути звук
+
+
+
+
+ Скинути гучність
+
+
+
[&C] Очистити нещодавні файли
-
+
Емульована мишка увімкнена
-
+
Введення реальної миші та панорамування мишею несумісні. Будь ласка, вимкніть емульовану мишу в розширених налаштуваннях введення, щоб дозволити панорамування мишею.
-
+
[&C] Продовжити
-
+
[&P] Пауза
-
-
- TRANSLATORS: This string is shown to the user to explain why yuzu needs to prevent the computer from sleeping
- В yuzu запущено гру
-
-
-
+
Попередження застарілий формат гри
-
+
Для цієї гри ви використовуєте розархівований формат ROM'а, який є застарілим і був замінений іншими, такими як NCA, NAX, XCI або NSP. У розархівованих каталогах ROM'а відсутні іконки, метадані та підтримка оновлень. <br><br>Для отримання інформації про різні формати Switch, підтримувані yuzu, <a href='https://yuzu-emu.org/wiki/overview-of-switch-game-formats'>перегляньте нашу вікі</a>. Це повідомлення більше не буде відображатися.
-
-
+
+
Помилка під час завантаження ROM!
-
+
Формат ROM'а не підтримується.
-
+
Сталася помилка під час ініціалізації відеоядра.
-
+
yuzu зіткнувся з помилкою під час запуску відеоядра. Зазвичай це спричинено застарілими драйверами ГП, включно з інтегрованими. Перевірте журнал для отримання більш детальної інформації. Додаткову інформацію про доступ до журналу дивіться на наступній сторінці: <a href='https://yuzu-emu.org/help/reference/log-files/'>Як завантажити файл журналу</a>.
-
+
%1 signifies a numeric error code.
Помилка під час завантаження ROM'а! %1
-
+
%1 signifies an error string.
%1<br>Будь ласка, дотримуйтесь <a href='https://yuzu-emu.org/help/quickstart/'>короткого керівництва користувача yuzu</a> щоб пере-дампити ваші файли<br>Ви можете звернутися до вікі yuzu</a> або Discord yuzu</a> для допомоги
-
+
Сталася невідома помилка. Будь ласка, перевірте журнал для подробиць.
-
+
(64-бітний)
-
+
(32-бітний)
-
+
%1 is the title name. %2 indicates if the title is 64-bit or 32-bit
%1 %2
-
+
Закриваємо програму...
-
+
Збереження
-
+
Дані модів
-
+
Помилка під час відкриття папки %1
-
-
+
+
Папка не існує!
-
+
Помилка під час відкриття переносного кешу шейдерів
-
+
Не вдалося створити папку кешу шейдерів для цієї гри.
-
+
Помилка під час видалення вмісту
-
+
Помилка під час видалення оновлень
-
+
Помилка під час видалення DLC
-
+
Видалити встановлений вміст ігор?
-
+
Видалити встановлені оновлення гри?
-
+
Видалити встановлені DLC гри?
-
+
Видалити запис
-
-
-
-
-
-
+
+
+
+
+
+
Успішно видалено
-
+
Встановлену гру успішно видалено.
-
+
Гру не встановлено в NAND і не може буде видалено.
-
+
Встановлене оновлення успішно видалено.
-
+
Для цієї гри не було встановлено оновлення.
-
+
Для цієї гри не було встановлено DLC.
-
+
Встановлений DLC %1 було успішно видалено
-
+
Видалити переносний кеш шейдерів OpenGL?
-
+
Видалити переносний кеш шейдерів Vulkan?
-
+
Видалити весь переносний кеш шейдерів?
-
+
Видалити користувацьке налаштування гри?
-
+
-
+ Видалити кеш-сховище?
-
+
Видалити файл
-
-
+
+
Помилка під час видалення переносного кешу шейдерів
-
-
+
+
Кеш шейдерів для цієї гри не існує.
-
+
Переносний кеш шейдерів успішно видалено.
-
+
Не вдалося видалити переносний кеш шейдерів.
-
+
Помилка під час видалення конвеєрного кешу Vulkan
-
+
Не вдалося видалити конвеєрний кеш шейдерів.
-
-
+
+
Помилка під час видалення переносного кешу шейдерів
-
+
Переносний кеш шейдерів успішно видалено.
-
+
Помилка під час видалення папки переносного кешу шейдерів.
-
-
+
+
Помилка під час видалення користувацького налаштування
-
+
Користувацьких налаштувань для цієї гри не існує.
-
+
Користувацьке налаштування гри успішно видалено.
-
+
Не вдалося видалити користувацьке налаштування гри.
-
-
+
+
Не вдалося вилучити RomFS!
-
+
Сталася помилка під час копіювання файлів RomFS або користувач скасував операцію.
-
+
Повний
-
+
Скелет
-
+
Виберіть режим дампа RomFS
-
+
Будь ласка, виберіть, як ви хочете виконати дамп RomFS <br>Повний скопіює всі файли в нову папку, тоді як <br>скелет створить лише структуру папок.
-
+
В %1 недостатньо вільного місця для вилучення RomFS. Будь ласка, звільніть місце або виберіть іншу папку для дампа в Емуляція > Налаштування > Система > Файлова система > Корінь дампа
-
+
Вилучення RomFS...
-
-
+
+
Скасувати
-
+
Вилучення RomFS пройшло успішно!
-
+
Операція завершилася успішно.
-
-
-
-
-
+
+
+
+
+
Створити ярлик
-
+
Це створить ярлик для поточного AppImage. Він може не працювати після оновлень. Продовжити?
-
+
Не вдається створити ярлик на робочому столі. Шлях "%1" не існує.
-
+
Неможливо створити ярлик у меню додатків. Шлях "%1" не існує і не може бути створений.
-
+
Створити іконку
-
+
Неможливо створити файл іконки. Шлях "%1" не існує і не може бути створений.
-
+
Запустити %1 за допомогою емулятора yuzu
-
+
Не вдалося створити ярлик у %1
-
+
Успішно створено ярлик у %1
-
+
Помилка відкриття %1
-
+
Обрати папку
-
+
Властивості
-
+
Не вдалося завантажити властивості гри.
-
+
%1 is an identifier for the Switch executable file extensions.
Виконуваний файл Switch (%1);;Усі файли (*.*)
-
+
Завантажити файл
-
+
Відкрити папку вилученого ROM'а
-
+
Вибрано неприпустиму папку
-
+
Папка, яку ви вибрали, не містить файлу 'main'.
-
+
Встановлюваний файл Switch (*.nca, *.nsp, *.xci);;Архів контенту Nintendo (*.nca);;Пакет подачі Nintendo (*.nsp);;Образ картриджа NX (*.xci)
-
+
Встановити файли
-
+
Залишився %n файлЗалишилося %n файл(ів)Залишилося %n файл(ів)Залишилося %n файл(ів)
-
+
Встановлення файлу "%1"...
-
-
+
+
Результати встановлення
-
+
Щоб уникнути можливих конфліктів, ми не рекомендуємо користувачам встановлювати ігри в NAND.
Будь ласка, використовуйте цю функцію тільки для встановлення оновлень і завантажуваного контенту.
-
+
%n файл було нещодавно встановлено
@@ -5189,7 +5304,7 @@ Please, only use this feature to install updates and DLC.
-
+
%n файл було перезаписано
@@ -5199,7 +5314,7 @@ Please, only use this feature to install updates and DLC.
-
+
%n файл не вдалося встановити
@@ -5209,388 +5324,312 @@ Please, only use this feature to install updates and DLC.
-
+
Системний додаток
-
+
Системний архів
-
+
Оновлення системного додатку
-
+
Пакет прошивки (Тип А)
-
+
Пакет прошивки (Тип Б)
-
+
Гра
-
+
Оновлення гри
-
+
DLC до гри
-
+
Дельта-титул
-
+
Виберіть тип установки NCA...
-
+
Будь ласка, виберіть тип додатку, який ви хочете встановити для цього NCA:
(У більшості випадків, підходить стандартний вибір "Гра".)
-
+
Помилка встановлення
-
+
Тип додатку, який ви вибрали для NCA, недійсний.
-
+
Файл не знайдено
-
+
Файл "%1" не знайдено
-
+
ОК
-
-
+
+
Не задоволені системні вимоги
-
-
+
+
Ваша система не відповідає рекомендованим системним вимогам. Звіти про сумісність було вимкнено.
-
+
Відсутній обліковий запис yuzu
-
+
Щоб надіслати звіт про сумісність гри, необхідно прив'язати свій обліковий запис yuzu. <br><br/>Щоб прив'язати свій обліковий запис yuzu, перейдіть у розділ Емуляція > Параметри > Мережа.
-
+
Помилка під час відкриття URL
-
+
Не вдалося відкрити URL: "%1".
-
+
Запис TAS
-
+
Перезаписати файл гравця 1?
-
+
Виявлено неприпустиму конфігурацію
-
+
Портативний контролер не може бути використаний у режимі док-станції. Буде обрано контролер Pro.
-
-
+
+
Amiibo
-
-
+
+
Поточний amiibo було прибрано
-
+
Помилка
-
-
+
+
Поточна гра не шукає amiibo
-
+
Файл Amiibo (%1);; Всі Файли (*.*)
-
+
Завантажити Amiibo
-
+
Помилка під час завантаження даних Amiibo
-
+
Обраний файл не є допустимим amiibo
-
+
Обраний файл уже використовується
-
+
Виникла невідома помилка
-
+
Зробити знімок екрану
-
+
Зображення PNG (*.png)
-
+
Стан TAS: Виконується %1/%2
-
+
Стан TAS: Записується %1
-
+
Стан TAS: Простий %1/%2
-
+
Стан TAS: Неприпустимий
-
+
[&S] Зупинка
-
+
[&S] Почати
-
+
[&E] Закінчити запис
-
+
[&E] Запис
-
+
Побудова: %n шейдерПобудова: %n шейдер(ів)Побудова: %n шейдер(ів)Побудова: %n шейдер(ів)
-
+
%1 is the resolution scaling factor
Масштаб: %1x
-
+
Швидкість: %1% / %2%
-
+
Швидкість: %1%
-
+
Гра: %1 FPS (Необмежено)
-
+
Гра: %1 FPS
-
+
Кадр: %1 мс
-
-
- ГП НОРМАЛЬНО
+
+
+ %1 %2
-
-
- ГП ВИСОКО
-
-
-
-
- ГП ЕКСТРИМ
-
-
-
-
- ГП ПОМИЛКА
-
-
-
-
- В ДОК-СТАНЦІЇ
-
-
-
-
- ПОРТАТИВНИЙ
-
-
-
-
- OPENGL
-
-
-
-
- VULKAN
-
-
-
-
- NULL
-
-
-
-
- НАЙБЛИЖЧІЙ
-
-
-
-
-
- БІЛІНІЙНИЙ
-
-
-
-
- БІКУБІЧНИЙ
-
-
-
-
- ГАУС
-
-
-
-
- SCALEFORCE
-
-
-
+
+
FSR
-
-
+
БЕЗ ЗГЛАДЖУВАННЯ
-
-
- FXAA
-
-
-
-
- SMAA
-
-
-
+
ГУЧНІСТЬ: ЗАГЛУШЕНА
-
+
Volume percentage (e.g. 50%)
ГУЧНІСТЬ: %1%
-
+
Підтвердіть перерахунок ключа
-
+
-
+
Відсутні запобіжники
-
+
- Відсутній BOOT0
-
+
- Відсутній BCPKG2-1-Normal-Main
-
+
- Відсутній PRODINFO
-
+
Компоненти розрахунку відсутні
-
+
Ключі шифрування відсутні.<br>Будь ласка, дотримуйтесь <a href='https://yuzu-emu.org/help/quickstart/'>короткого керівництва користувача yuzu</a>, щоб отримати всі ваші ключі, прошивку та ігри<br><br><small>(%1)</small>
-
+
@@ -5646,49 +5685,49 @@ on your system's performance.
від продуктивності вашої системи.
-
+
Отримання ключів
-
+
Не вдалося розшифрувати системний архів
-
+
Ключі шифрування не змогли розшифрувати прошивку.<br>Будь ласка, дотримуйтесь <a href='https://yuzu-emu.org/help/quickstart/'>короткого керівництва користувача yuzu</a> щоб отримати всі ваші ключі, прошивку та ігри.
-
+
Оберіть ціль для дампа RomFS
-
+
Будь ласка, виберіть, який RomFS ви хочете здампити.
-
+
Ви впевнені, що хочете закрити yuzu?
-
-
-
+
+
+
yuzu
-
+
Ви впевнені, що хочете зупинити емуляцію? Будь-який незбережений прогрес буде втрачено.
-
+
@@ -5696,48 +5735,143 @@ Would you like to bypass this and exit anyway?
Чи хочете ви обійти це і вийти в будь-якому випадку?
+
+
+
+ Вимкнено
+
+
+
+
+ FXAA
+
+
+
+
+ SMAA
+
+
+
+
+ Найближчий
+
+
+
+
+ Білінійне
+
+
+
+
+ Бікубічне
+
+
+
+
+ Гауса
+
+
+
+
+ ScaleForce
+
+
+
+
+ У док-станції
+
+
+
+
+ Портативний
+
+
+
+
+ Нормальна
+
+
+
+
+ Висока
+
+
+
+
+ Екстрим
+
+
+
+
+ Vulkan
+
+
+
+
+ OpenGL
+
+
+
+
+ Null
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
GRenderWindow
-
-
+
+
OpenGL недоступний!
-
+
Загальні контексти OpenGL не підтримуються.
-
+
yuzu не було зібрано з підтримкою OpenGL.
-
-
+
+
Помилка під час ініціалізації OpenGL!
-
+
Ваш ГП може не підтримувати OpenGL, або у вас встановлено застарілий графічний драйвер.
-
+
Помилка під час ініціалізації OpenGL 4.6!
-
+
Ваш ГП може не підтримувати OpenGL 4.6, або у вас встановлено застарілий графічний драйвер.<br><br>Рендерер GL:<br>%1
-
+
Ваш ГП може не підтримувати одне або кілька необхідних розширень OpenGL. Будь ласка, переконайтеся в тому, що у вас встановлено останній графічний драйвер.<br><br>Рендерер GL:<br>%1<br><br>Розширення, що не підтримуються:<br>%2
@@ -5797,7 +5931,7 @@ Would you like to bypass this and exit anyway?
-
+ Видалити кеш-сховище
@@ -6091,138 +6225,138 @@ Debug Message:
Hotkeys
-
+
Увімкнення/вимкнення звуку
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Основне вікно
-
+
Зменшити гучність звуку
-
+
Підвищити гучність звуку
-
+
Зробити знімок екрану
-
+
Змінити адаптуючий фільтр
-
+
Змінити режим консолі
-
+
Змінити точність ГП
-
+
Продовження/Пауза емуляції
-
+
Вийти з повноекранного режиму
-
+
Вийти з yuzu
-
+
Повний екран
-
+
Завантажити файл
-
+
Завантажити/видалити Amiibo
-
+
Перезапустити емуляцію
-
+
Зупинити емуляцію
-
+
Запис TAS
-
+
Скидання TAS
-
+
Старт/Стоп TAS
-
+
Переключити панель пошуку
-
+
Переключити обмеження частоти кадрів
-
+
Переключити панорамування миші
-
+
Переключити панель стану
@@ -6965,30 +7099,30 @@ p, li { white-space: pre-wrap; }
-
+
Shift
-
+
Ctrl
-
+
Alt
-
-
-
-
+
+
+
+
[не задано]
@@ -6999,14 +7133,14 @@ p, li { white-space: pre-wrap; }
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
Ось %1%2
@@ -7017,320 +7151,320 @@ p, li { white-space: pre-wrap; }
-
-
-
-
-
-
+
+
+
+
+
+
[невідомо]
-
-
+
+
Вліво
-
-
+
+
Вправо
-
-
+
+
Вниз
-
-
+
+
Вгору
-
+
Z
-
+
R
-
+
L
-
+
A
-
+
B
-
+
X
-
+
Y
-
+
Start
-
+
L1
-
+
L2
-
+
L3
-
+
R1
-
+
R2
-
+
R3
-
+
Кружечок
-
+
Хрестик
-
+
Квадратик
-
+
Трикутничок
-
+
Share
-
+
Options
-
+
[невизначено]
-
+
%1%2
-
-
+
+
[неприпустимо]
-
-
+
+
%1%2Напр. %3
-
-
+
-
+
+
%1%2Ось %3
-
-
+
+
%1%2Ось %3,%4,%5
-
-
+
+
%1%2Рух %3
-
-
+
+
%1%2Кнопка %3
-
-
+
+
[не використаний]
-
+
ZR
-
+
ZL
-
+
SR
-
+
SL
-
+
Лівий стік
-
+
Правий стік
-
+
Плюс
-
+
Мінус
-
-
+
+
Home
-
+
Захоплення
-
+
Сенсор
-
+
Indicates the mouse wheel
Коліщатко
-
+
Назад
-
+
Вперед
-
+
Задача
-
+
Додаткова
-
+
%1%2%3%4
-
-
+
+
%1%2%3Напр. %4
-
-
+
+
%1%2%3Вісь %4
-
-
+
+
%1%2%3Кнопка %4
diff --git a/dist/languages/vi.ts b/dist/languages/vi.ts
index 2829ef62a..a9674f644 100644
--- a/dist/languages/vi.ts
+++ b/dist/languages/vi.ts
@@ -1108,78 +1108,78 @@ This would ban both their forum username and their IP address.
Thiết lập yuzu
-
-
+
+
Âm thanh
-
-
+
+
CPU
-
+
Gỡ lỗi
-
+
Hệ thống tệp tin
-
-
+
+
Chung
-
-
+
+
Đồ hoạ
-
+
Đồ họa Nâng cao
-
+
Phím tắt
-
-
+
+
Phím
-
+
Hồ sơ
-
+
Mạng
-
-
+
+
Hệ thống
-
+
Danh sách trò chơi
-
+
Web
@@ -1373,17 +1373,22 @@ This would ban both their forum username and their IP address.
Ẩn con trỏ chuột khi không dùng
-
+
+
+
+
+
+
Đặt lại mọi tùy chỉnh
-
+
yuzu
-
+
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?
@@ -1517,7 +1522,7 @@ Immediate (no synchronization) just presents whatever is available and can exhib
-
+ Dung 16:10
@@ -1542,7 +1547,7 @@ Immediate (no synchronization) just presents whatever is available and can exhib
-
+ 1X (720p/1080p)
@@ -1592,27 +1597,27 @@ Immediate (no synchronization) just presents whatever is available and can exhib
-
+ Nearest Neighbor
-
+ Bilinear
-
+ Bicubic
-
+ ScaleForce
-
+ ScaleForce
@@ -1627,12 +1632,12 @@ Immediate (no synchronization) just presents whatever is available and can exhib
-
+ FXAA
-
+ SMAA
@@ -1671,43 +1676,43 @@ Immediate (no synchronization) just presents whatever is available and can exhib
Màu nền:
-
+
GLASM (Assembly Shaders, Chỉ Cho NVIDIA)
-
+
-
+
FSR sharpening percentage (e.g. 50%)
%1%
-
+
-
+
-
+
-
+
-
+
@@ -1831,37 +1836,57 @@ Compute pipelines are always enabled on all other drivers.
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Bộ lọc góc nghiêng:
-
+
-
+
Mặc định
-
+
2x
-
+
4x
-
+
8x
-
+
16x
@@ -2244,7 +2269,7 @@ Compute pipelines are always enabled on all other drivers.
-
+
Thiết lập
@@ -2311,22 +2336,7 @@ Compute pipelines are always enabled on all other drivers.
-
-
-
-
-
-
-
- Độ nhạy chuột
-
-
-
-
- %
-
-
-
+
Chuyển động / Cảm ứng
@@ -2438,7 +2448,7 @@ Compute pipelines are always enabled on all other drivers.
-
+
Cần trái
@@ -2532,14 +2542,14 @@ Compute pipelines are always enabled on all other drivers.
-
+
L
-
+
ZL
@@ -2558,7 +2568,7 @@ Compute pipelines are always enabled on all other drivers.
-
+
Cộng
@@ -2571,15 +2581,15 @@ Compute pipelines are always enabled on all other drivers.
-
-
+
+
R
-
+
ZR
@@ -2636,247 +2646,257 @@ Compute pipelines are always enabled on all other drivers.
-
+
Cần phải
-
-
-
-
+
+
+
+
+
+
+
+ Thiết lập
+
+
+
+
+
+
Bỏ trống
-
-
-
-
-
+
+
+
+
+
[không đặt]
-
-
-
+
+
+
-
-
+
+
-
+
-
-
+
+
-
-
-
+
+
+
-
-
+
+
Chọn một giá trị giữa 0% và 100%
-
+
-
+
-
+
-
+
Thiết lập Cần Điều Khiển
-
+
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.
-
+
-
-
+
+
-
-
+
+
-
-
+
+
Tay cầm Pro Controller
-
+
Joycon đôi
-
+
Joycon Trái
-
+
Joycon Phải
-
+
Cầm tay
-
+
Tay cầm GameCube
-
+
-
+
-
+
-
+
-
+
-
+
Bắt đầu / Tạm ngưng
-
+
Z
-
+
-
+
C-Stick
-
+
Lắc!
-
+
[Chờ]
-
+
Hồ sơ mới
-
+
Nhập tên hồ sơ:
-
-
+
+
Tạo Hồ Sơ Phím
-
+
Tên hồ sơ không hợp lệ!
-
+
Quá trình tạo hồ sơ phím "%1" thất bại
-
+
Xóa Hồ Sơ Phím
-
+
Quá trình xóa hồ sơ phím "%1" thất bại
-
+
Nạp Hồ Sơ Phím
-
+
Quá trình nạp hồ sơ phím "%1" thất bại
-
+
Lưu Hồ Sơ Phím
-
+
Quá trình lưu hồ sơ phím "%1" thất bại
@@ -3055,6 +3075,81 @@ Nếu muốn đảo ngược hướng cần điều khiển, di chuyển cần s
+
+ ConfigureMousePanning
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ %
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Mặc định
+
+
ConfigureNetwork
@@ -3131,47 +3226,47 @@ Nếu muốn đảo ngược hướng cần điều khiển, di chuyển cần s
Nhà Phát Hành
-
+
Bổ Sung
-
+
Chung
-
+
Hệ thống
-
+
CPU
-
+
Đồ hoạ
-
+
Đồ Họa Nâng Cao
-
+
Âm thanh
-
+
-
+
Thuộc tính
@@ -3373,7 +3468,7 @@ UUID: %2
-
+
@@ -3410,7 +3505,7 @@ UUID: %2
-
+
@@ -3477,12 +3572,17 @@ UUID: %2
-
+
+
+
+
+
+
-
+
[Chờ]
@@ -3628,7 +3728,7 @@ UUID: %2
-
+ Nhật Bản
@@ -3743,32 +3843,32 @@ UUID: %2
-
+ Hoa Kỳ
-
+ Châu Âu
-
+ Châu Úc
-
+ Trung Quốc
-
+ Hàn Quốc
-
+ Đài Loan
@@ -3931,7 +4031,7 @@ UUID: %2
-
+ Cài đặt
@@ -4351,7 +4451,7 @@ Drag points to change position, or double-click table cells to edit values.
-
+ Cài đặt
@@ -4591,957 +4691,896 @@ Drag points to change position, or double-click table cells to edit values.
GMainWindow
-
+
<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?
-
+
Viễn trắc
-
+
-
+
-
+
+
+ TRANSLATORS: This string is shown to the user to explain why yuzu needs to prevent the computer from sleeping
+
+
+
+
-
-
+
+
-
+
-
+
-
+
-
+
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
-
+
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ừ giữa các trò chơi và các khung cảnh khác nhau.
-
+
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.
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
-
+
-
+
-
+
-
+
&Tạm dừng
-
-
- TRANSLATORS: This string is shown to the user to explain why yuzu needs to prevent the computer from sleeping
-
-
-
-
+
Chú ý định dạng trò chơi đã lỗi thời
-
+
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 các icon, metadata, và hỗ trợ cập nhật.<br><br>Để hiểu thêm 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.
-
-
+
+
Lỗi xảy ra khi nạp ROM!
-
+
Định dạng ROM này không hỗ trợ.
-
+
Đã xảy ra lỗi khi khởi tạo lõi đồ hoạ.
-
+
-
+
%1 signifies a numeric error code.
-
+
%1 signifies an error string.
-
+
Đã xảy ra lỗi không xác định. Hãy kiểm tra phần báo cáo để biết thêm chi tiết.
-
+
-
+
-
+
%1 is the title name. %2 indicates if the title is 64-bit or 32-bit
-
+
-
+
-
+
-
+
Xảy ra lỗi khi mở %1 thư mục
-
-
+
+
Thư mục này không tồn tại!
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
-
-
-
-
-
+
+
+
+
+
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
-
+
+
-
-
+
+
-
+
-
+
-
+
-
+
-
-
+
+
-
+
-
+
-
-
+
+
-
+
-
+
-
+
-
-
+
+
Khai thác RomFS không thành công!
-
+
Đã 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.
-
+
-
+
Sườn
-
+
Chọn chế độ kết xuất RomFS
-
+
Vui lòng chọn cách mà bạn muốn RomFS kết xuất.<br>Chế độ Đầy Đủ sẽ sao chép toàn bộ tệp tin vào một danh mục mới trong khi <br>chế độ Sườn chỉ tạo kết cấu danh mục.
-
+
-
+
Khai thác RomFS...
-
-
+
+
Hủy bỏ
-
+
Khai thác RomFS thành công!
-
+
Các hoạt động đã hoàn tất thành công.
-
-
-
-
-
+
+
+
+
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
Chọn danh mục
-
+
Thuộc tính
-
+
Không thể tải thuộc tính của trò chơi.
-
+
%1 is an identifier for the Switch executable file extensions.
Thực thi Switch (%1);;Tất cả tệp tin (*.*)
-
+
Nạp tệp tin
-
+
Mở danh mục ROM đã trích xuất
-
+
Danh mục đã chọn không hợp lệ
-
+
Danh mục mà bạn đã chọn không có chứa tệp tin 'main'.
-
+
Những tệp tin Switch cài được (*.nca *.nsp *.xci);;Nintendo Content Archive (*.nca);;Nintendo Submission Package (*.nsp);;NX Cartridge Image (*.xci)
-
+
-
+
-
+
Đang cài đặt tệp tin "%1"...
-
-
+
+
-
+
-
+
-
+
-
+
-
+
Ứng dụng hệ thống
-
+
Hệ thống lưu trữ
-
+
Cập nhật hệ thống ứng dụng
-
+
Gói phần mềm hệ thống (Loại A)
-
+
Gói phần mềm (Loại B)
-
+
Trò chơi
-
+
Cập nhật trò chơi
-
+
Nội dung trò chơi có thể tải xuống
-
+
Tiêu đề Delta
-
+
Chọn cách cài đặt NCA...
-
+
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.)
-
+
Cài đặt đã không thành công
-
+
Loại tiêu đề NCA mà bạn chọn nó không hợp lệ.
-
+
Không tìm thấy tệp tin
-
+
Không tìm thấy tệp tin "%1"
-
+
OK
-
-
+
+
-
-
+
+
-
+
Thiếu tài khoản yuzu
-
+
Để 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 > Thiết lập > Web.
-
+
-
+
-
+
-
+
-
+
-
+
-
-
+
+
-
-
+
+
-
+
-
-
+
+
-
+
Tệp tin Amiibo (%1);; Tất cả tệp tin (*.*)
-
+
Nạp dữ liệu Amiibo
-
+
Xảy ra lỗi khi nạp dữ liệu Amiibo
-
+
-
+
-
+
-
+
Chụp ảnh màn hình
-
+
Hình ảnh PNG (*.png)
-
+
-
+
-
+
-
+
-
+
-
+
&Bắt đầu
-
+
-
+
-
+
-
+
%1 is the resolution scaling factor
-
+
Tốc độ: %1% / %2%
-
+
Tốc độ: %1%
-
+
-
+
Trò chơi: %1 FPS
-
+
Khung hình: %1 ms
-
-
+
+
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- OPENGL
-
-
-
-
- VULKAN
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
-
-
+
-
-
-
-
-
-
-
-
-
-
-
+
-
+
Volume percentage (e.g. 50%)
-
+
Xác nhận mã khóa Rederivation
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
@@ -5597,49 +5636,49 @@ on your system's performance.
hệ thống của bạn.
-
+
Mã khóa xuất phát
-
+
-
+
-
+
Chọn thư mục để sao chép RomFS
-
+
Vui lòng chọn RomFS mà bạn muốn chiết xuất.
-
+
Bạn có chắc chắn muốn đóng yuzu?
-
-
-
+
+
+
yuzu
-
+
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.
-
+
@@ -5647,48 +5686,143 @@ Would you like to bypass this and exit anyway?
Bạn có muốn bỏ qua yêu cầu đó và thoát luôn không?
+
+
+
+ Trống
+
+
+
+
+ FXAA
+
+
+
+
+ SMAA
+
+
+
+
+
+
+
+
+
+ Bilinear
+
+
+
+
+ Bicubic
+
+
+
+
+ ScaleForce
+
+
+
+
+ ScaleForce
+
+
+
+
+ Chế độ cắm TV
+
+
+
+
+ Cầm tay
+
+
+
+
+ Trung bình
+
+
+
+
+ Khỏe
+
+
+
+
+
+
+
+
+
+ Vulkan
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
GRenderWindow
-
-
+
+
Không có sẵn OpenGL!
-
+
-
+
-
-
+
+
Đã xảy ra lỗi khi khởi tạo OpenGL!
-
+
-
+
-
+
-
+
@@ -6041,138 +6175,138 @@ Debug Message:
Hotkeys
-
+
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
-
+
-
+
-
+
Chụp ảnh màn hình
-
+
-
+
-
+
-
+
-
+
-
+
-
+
Toàn màn hình
-
+
Nạp tệp tin
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
@@ -6268,7 +6402,7 @@ Debug Message:
-
+ Tìm
@@ -6906,30 +7040,30 @@ p, li { white-space: pre-wrap; }
-
+
Shift
-
+
Ctrl
-
+
Alt
-
-
-
-
+
+
+
+
[chưa đặt nút]
@@ -6940,14 +7074,14 @@ p, li { white-space: pre-wrap; }
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
Trục %1%2
@@ -6958,320 +7092,320 @@ p, li { white-space: pre-wrap; }
-
-
-
-
-
-
+
+
+
+
+
+
[không xác định]
-
-
+
+
Trái
-
-
+
+
Phải
-
-
+
+
Xuống
-
-
+
+
Lên
-
+
Z
-
+
R
-
+
L
-
+
A
-
+
B
-
+
X
-
+
Y
-
+
Bắt đầu
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
-
+
+
-
-
+
+
-
-
+
-
+
+
-
-
+
+
-
-
+
+
-
-
+
+
-
-
+
+
[không sử dụng]
-
+
ZR
-
+
ZL
-
+
SR
-
+
SL
-
+
-
+
-
+
Cộng
-
+
Trừ
-
-
+
+
Home
-
+
-
+
Cảm Ứng
-
+
Indicates the mouse wheel
-
+
-
+
-
+
-
+
-
+
-
-
+
+
-
-
+
+
-
-
+
+
diff --git a/dist/languages/vi_VN.ts b/dist/languages/vi_VN.ts
index c09edc5d6..4c5961689 100644
--- a/dist/languages/vi_VN.ts
+++ b/dist/languages/vi_VN.ts
@@ -1108,78 +1108,78 @@ This would ban both their forum username and their IP address.
Thiết lập yuzu
-
-
+
+
Âm thanh
-
-
+
+
CPU
-
+
Gỡ lỗi
-
+
Hệ thống tệp tin
-
-
+
+
Chung
-
-
+
+
Đồ hoạ
-
+
Đồ họa Nâng cao
-
+
Phím tắt
-
-
+
+
Phím
-
+
Hồ sơ
-
+
Mạng
-
-
+
+
Hệ thống
-
+
Danh sách trò chơi
-
+
Web
@@ -1373,17 +1373,22 @@ This would ban both their forum username and their IP address.
Ẩn con trỏ chuột khi không dùng
-
+
+
+
+
+
+
Đặt lại mọi tùy chỉnh
-
+
yuzu
-
+
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?
@@ -1517,7 +1522,7 @@ Immediate (no synchronization) just presents whatever is available and can exhib
-
+ Dung 16:10
@@ -1542,7 +1547,7 @@ Immediate (no synchronization) just presents whatever is available and can exhib
-
+ 1X (720p/1080p)
@@ -1592,27 +1597,27 @@ Immediate (no synchronization) just presents whatever is available and can exhib
-
+ Nearest Neighbor
-
+ Bilinear
-
+ Bicubic
-
+ ScaleForce
-
+ ScaleForce
@@ -1627,12 +1632,12 @@ Immediate (no synchronization) just presents whatever is available and can exhib
-
+ FXAA
-
+ SMAA
@@ -1671,43 +1676,43 @@ Immediate (no synchronization) just presents whatever is available and can exhib
Màu nền:
-
+
GLASM (Assembly Shaders, Chỉ Cho NVIDIA)
-
+
-
+
FSR sharpening percentage (e.g. 50%)
%1%
-
+
-
+
-
+
-
+
-
+
@@ -1831,37 +1836,57 @@ Compute pipelines are always enabled on all other drivers.
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Bộ lọc góc nghiêng:
-
+
-
+
Mặc định
-
+
2x
-
+
4x
-
+
8x
-
+
16x
@@ -2244,7 +2269,7 @@ Compute pipelines are always enabled on all other drivers.
-
+
Thiết lập
@@ -2311,22 +2336,7 @@ Compute pipelines are always enabled on all other drivers.
-
-
-
-
-
-
-
- Độ nhạy chuột
-
-
-
-
- %
-
-
-
+
Chuyển động / Cảm ứng
@@ -2438,7 +2448,7 @@ Compute pipelines are always enabled on all other drivers.
-
+
Cần trái
@@ -2532,14 +2542,14 @@ Compute pipelines are always enabled on all other drivers.
-
+
L
-
+
ZL
@@ -2558,7 +2568,7 @@ Compute pipelines are always enabled on all other drivers.
-
+
Cộng
@@ -2571,15 +2581,15 @@ Compute pipelines are always enabled on all other drivers.
-
-
+
+
R
-
+
ZR
@@ -2636,247 +2646,257 @@ Compute pipelines are always enabled on all other drivers.
-
+
Cần phải
-
-
-
-
+
+
+
+
+
+
+
+ Cài đặt
+
+
+
+
+
+
Bỏ trống
-
-
-
-
-
+
+
+
+
+
[không đặt]
-
-
-
+
+
+
-
-
+
+
-
+
-
-
+
+
-
-
-
+
+
+
-
-
+
+
Chọn một giá trị giữa 0% và 100%
-
+
-
+
-
+
-
+
Thiết lập Cần Điều Khiển
-
+
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.
-
+
-
-
+
+
-
-
+
+
-
-
+
+
Tay cầm Pro Controller
-
+
Joycon đôi
-
+
Joycon Trái
-
+
Joycon Phải
-
+
Cầm tay
-
+
Tay cầm GameCube
-
+
-
+
-
+
-
+
-
+
-
+
Bắt đầu / Tạm ngưng
-
+
Z
-
+
-
+
C-Stick
-
+
Lắc!
-
+
[Chờ]
-
+
Hồ sơ mới
-
+
Nhập tên hồ sơ:
-
-
+
+
Tạo Hồ Sơ Phím
-
+
Tên hồ sơ không hợp lệ!
-
+
Quá trình tạo hồ sơ phím "%1" thất bại
-
+
Xóa Hồ Sơ Phím
-
+
Quá trình xóa hồ sơ phím "%1" thất bại
-
+
Nạp Hồ Sơ Phím
-
+
Quá trình nạp hồ sơ phím "%1" thất bại
-
+
Lưu Hồ Sơ Phím
-
+
Quá trình lưu hồ sơ phím "%1" thất bại
@@ -3055,6 +3075,81 @@ Nếu muốn đảo ngược hướng cần điều khiển, di chuyển cần s
+
+ ConfigureMousePanning
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ %
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Mặc định
+
+
ConfigureNetwork
@@ -3131,47 +3226,47 @@ Nếu muốn đảo ngược hướng cần điều khiển, di chuyển cần s
Nhà Phát Hành
-
+
Bổ Sung
-
+
Tổng Quan
-
+
Hệ Thống
-
+
CPU
-
+
Đồ Họa
-
+
Đồ Họa Nâng Cao
-
+
Âm Thanh
-
+
-
+
Thuộc tính
@@ -3373,7 +3468,7 @@ UUID: %2
-
+
@@ -3410,7 +3505,7 @@ UUID: %2
-
+
@@ -3477,12 +3572,17 @@ UUID: %2
-
+
+
+
+
+
+
-
+
[Chờ]
@@ -3628,7 +3728,7 @@ UUID: %2
-
+ Nhật Bản
@@ -3743,32 +3843,32 @@ UUID: %2
-
+ Hoa Kỳ
-
+ Châu Âu
-
+ Châu Úc
-
+ Trung Quốc
-
+ Hàn Quốc
-
+ Đài Loan
@@ -3931,7 +4031,7 @@ UUID: %2
-
+ Cài đặt
@@ -4351,7 +4451,7 @@ Drag points to change position, or double-click table cells to edit values.
-
+ Cài đặt
@@ -4591,957 +4691,896 @@ Drag points to change position, or double-click table cells to edit values.
GMainWindow
-
+
<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?
-
+
Viễn trắc
-
+
-
+
-
+
+
+ TRANSLATORS: This string is shown to the user to explain why yuzu needs to prevent the computer from sleeping
+
+
+
+
-
-
+
+
-
+
-
+
-
+
-
+
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
-
+
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.
-
+
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.
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
-
+
-
+
-
+
-
+
&Tạm dừng
-
-
- TRANSLATORS: This string is shown to the user to explain why yuzu needs to prevent the computer from sleeping
-
-
-
-
+
Chú ý định dạng trò chơi đã lỗi thời
-
+
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.
-
-
+
+
Xảy ra lỗi khi đang nạp ROM!
-
+
Định dạng ROM này không hỗ trợ.
-
+
Đã xảy ra lỗi khi khởi tạo lõi video.
-
+
-
+
%1 signifies a numeric error code.
-
+
%1 signifies an error string.
-
+
Đã 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.
-
+
-
+
-
+
%1 is the title name. %2 indicates if the title is 64-bit or 32-bit
-
+
-
+
-
+
-
+
Xảy ra lỗi khi mở %1 thư mục
-
-
+
+
Thư mục này không tồn tại!
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
-
-
-
-
-
+
+
+
+
+
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
-
+
+
-
-
+
+
-
+
-
+
-
+
-
+
-
-
+
+
-
+
-
+
-
-
+
+
-
+
-
+
-
+
-
-
+
+
Khai thác RomFS không thành công!
-
+
Đã 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.
-
+
-
+
Sườn
-
+
Chọn chế độ kết xuất RomFS
-
+
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.
-
+
-
+
Khai thác RomFS...
-
-
+
+
Hủy bỏ
-
+
Khai thác RomFS thành công!
-
+
Các hoạt động đã hoàn tất thành công.
-
-
-
-
-
+
+
+
+
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
Chọn danh mục
-
+
Thuộc tính
-
+
Thuộc tính của trò chơi không thể nạp được.
-
+
%1 is an identifier for the Switch executable file extensions.
Thực thi Switch (%1);;Tất cả tệp tin (*.*)
-
+
Nạp tệp tin
-
+
Mở danh mục ROM đã trích xuất
-
+
Danh mục đã chọn không hợp lệ
-
+
Danh mục mà bạn đã chọn không có chứa tệp tin 'main'.
-
+
Những tệp tin Switch cài được (*.nca *.nsp *.xci);;Nintendo Content Archive (*.nca);;Nintendo Submission Package (*.nsp);;NX Cartridge Image (*.xci)
-
+
-
+
-
+
Đang cài đặt tệp tin "%1"...
-
-
+
+
-
+
-
+
-
+
-
+
-
+
Hệ thống ứng dụng
-
+
Hệ thống lưu trữ
-
+
Cập nhật hệ thống ứng dụng
-
+
Gói phần mềm (Loại A)
-
+
Gói phần mềm (Loại B)
-
+
Trò chơi
-
+
Cập nhật trò chơi
-
+
Nội dung trò chơi có thể tải xuống
-
+
Tiêu đề Delta
-
+
Chọn loại NCA để cài đặt...
-
+
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.)
-
+
Cài đặt đã không thành công
-
+
Loại tiêu đề NCA mà bạn chọn nó không hợp lệ.
-
+
Không tìm thấy tệp tin
-
+
Không tìm thấy "%1" tệp tin
-
+
OK
-
-
+
+
-
-
+
+
-
+
Thiếu tài khoản yuzu
-
+
Để 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 > Thiết lập > Web.
-
+
-
+
-
+
-
+
-
+
-
+
-
-
+
+
-
-
+
+
-
+
-
-
+
+
-
+
Tệp tin Amiibo (%1);; Tất cả tệp tin (*.*)
-
+
Nạp dữ liệu Amiibo
-
+
Xảy ra lỗi khi nạp dữ liệu Amiibo
-
+
-
+
-
+
-
+
Chụp ảnh màn hình
-
+
Hình ảnh PNG (*.png)
-
+
-
+
-
+
-
+
-
+
-
+
&Bắt đầu
-
+
-
+
-
+
-
+
%1 is the resolution scaling factor
-
+
Tốc độ: %1% / %2%
-
+
Tốc độ: %1%
-
+
-
+
Trò chơi: %1 FPS
-
+
Khung hình: %1 ms
-
-
+
+
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- OPENGL
-
-
-
-
- VULKAN
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
-
-
+
-
-
-
-
-
-
-
-
-
-
-
+
-
+
Volume percentage (e.g. 50%)
-
+
Xác nhận mã khóa Rederivation
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
@@ -5597,49 +5636,49 @@ on your system's performance.
vào hiệu suất hệ thống của bạn.
-
+
Mã khóa xuất phát
-
+
-
+
-
+
Chọn thư mục để sao chép RomFS
-
+
Vui lòng chọn RomFS mà bạn muốn sao chép.
-
+
Bạn có chắc chắn muốn đóng yuzu?
-
-
-
+
+
+
yuzu
-
+
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.
-
+
@@ -5647,48 +5686,143 @@ Would you like to bypass this and exit anyway?
Bạn có muốn bỏ qua yêu cầu đó và thoát luôn không?
+
+
+
+ Trống
+
+
+
+
+ FXAA
+
+
+
+
+ SMAA
+
+
+
+
+
+
+
+
+
+ Bilinear
+
+
+
+
+ Bicubic
+
+
+
+
+ ScaleForce
+
+
+
+
+ ScaleForce
+
+
+
+
+ Chế độ cắm TV
+
+
+
+
+ Cầm tay
+
+
+
+
+ Trung bình
+
+
+
+
+ Khỏe
+
+
+
+
+
+
+
+
+
+ Vulkan
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
GRenderWindow
-
-
+
+
Không có sẵn OpenGL!
-
+
-
+
-
-
+
+
Đã xảy ra lỗi khi khởi tạo OpenGL!
-
+
-
+
-
+
-
+
@@ -6041,138 +6175,138 @@ Debug Message:
Hotkeys
-
+
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
-
+
-
+
-
+
Chụp ảnh màn hình
-
+
-
+
-
+
-
+
-
+
-
+
-
+
Toàn màn hình
-
+
Nạp tệp tin
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
@@ -6268,7 +6402,7 @@ Debug Message:
-
+ Tìm
@@ -6906,30 +7040,30 @@ p, li { white-space: pre-wrap; }
-
+
Shift
-
+
Ctrl
-
+
Alt
-
-
-
-
+
+
+
+
[chưa đặt nút]
@@ -6940,14 +7074,14 @@ p, li { white-space: pre-wrap; }
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
Trục %1%2
@@ -6958,320 +7092,320 @@ p, li { white-space: pre-wrap; }
-
-
-
-
-
-
+
+
+
+
+
+
[không xác định]
-
-
+
+
Trái
-
-
+
+
Phải
-
-
+
+
Xuống
-
-
+
+
Lên
-
+
Z
-
+
R
-
+
L
-
+
A
-
+
B
-
+
X
-
+
Y
-
+
Bắt đầu
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
-
+
+
-
-
+
+
-
-
+
-
+
+
-
-
+
+
-
-
+
+
-
-
+
+
-
-
+
+
[không sử dụng]
-
+
ZR
-
+
ZL
-
+
SR
-
+
SL
-
+
-
+
-
+
Cộng
-
+
Trừ
-
-
+
+
Home
-
+
-
+
Cảm Ứng
-
+
Indicates the mouse wheel
-
+
-
+
-
+
-
+
-
+
-
-
+
+
-
-
+
+
-
-
+
+
diff --git a/dist/languages/zh_CN.ts b/dist/languages/zh_CN.ts
index 50b88e2b4..2c0885dfa 100644
--- a/dist/languages/zh_CN.ts
+++ b/dist/languages/zh_CN.ts
@@ -1134,78 +1134,78 @@ This would ban both their forum username and their IP address.
yuzu 设置
-
-
+
+
声音
-
-
+
+
CPU
-
+
调试
-
+
文件系统
-
-
+
+
通用
-
-
+
+
图形
-
+
高级图形选项
-
+
热键
-
-
+
+
控制
-
+
用户配置
-
+
网络
-
-
+
+
系统
-
+
游戏列表
-
+
网络
@@ -1399,17 +1399,22 @@ This would ban both their forum username and their IP address.
自动隐藏鼠标光标
-
+
+
+ 禁用控制器程序
+
+
+
重置所有设置项
-
+
yuzu
-
+
将重置模拟器所有设置并删除所有游戏的单独设置。这不会删除游戏目录、个人文件及输入配置文件。是否继续?
@@ -1700,43 +1705,43 @@ Immediate (无同步)只显示可用内容,并可能产生撕裂。背景颜色:
-
+
GLASM (汇编着色器,仅限 NVIDIA 显卡)
-
+
SPIR-V (实验性,仅限 Mesa)
-
+
FSR sharpening percentage (e.g. 50%)
%1%
-
+
关闭
-
+
垂直同步关
-
+
推荐
-
+
开启
-
+
垂直同步开
@@ -1861,37 +1866,57 @@ Compute pipelines are always enabled on all other drivers.
启用计算管线 (仅限 Intel 显卡 Vulkan 模式)
-
+
+
+ 在视频播放期间以正常速度运行游戏,即使帧率未锁定。
+
+
+
+
+ 播放视频时帧率同步
+
+
+
+
+ 改进某些游戏中透明效果的渲染。
+
+
+
+
+ 屏障反馈环路
+
+
+
各向异性过滤:
-
+
自动
-
+
系统默认
-
+
2x
-
+
4x
-
+
8x
-
+
16x
@@ -2274,7 +2299,7 @@ Compute pipelines are always enabled on all other drivers.
-
+
设置
@@ -2341,22 +2366,7 @@ Compute pipelines are always enabled on all other drivers.
使用 Amiibo 随机 ID
-
-
- 启用鼠标平移
-
-
-
-
- 鼠标灵敏度
-
-
-
-
- %
-
-
-
+
体感/触摸
@@ -2468,7 +2478,7 @@ Compute pipelines are always enabled on all other drivers.
-
+
左摇杆
@@ -2562,14 +2572,14 @@ Compute pipelines are always enabled on all other drivers.
-
+
L
-
+
ZL
@@ -2588,7 +2598,7 @@ Compute pipelines are always enabled on all other drivers.
-
+
+
@@ -2601,15 +2611,15 @@ Compute pipelines are always enabled on all other drivers.
-
-
+
+
R
-
+
ZR
@@ -2666,247 +2676,257 @@ Compute pipelines are always enabled on all other drivers.
-
+
右摇杆
-
-
-
-
+
+
+ 鼠标平移
+
+
+
+
+ 设置
+
+
+
+
+
+
清除
-
-
-
-
-
+
+
+
+
+
[未设置]
-
-
-
+
+
+
反转按键
-
-
+
+
切换键
-
+
连发键
-
-
+
+
体感方向倒置
-
-
-
+
+
+
阈值设定
-
-
+
+
选择一个介于 0% 和 100% 之间的值
-
+
切换轴
-
+
陀螺仪阈值设定
-
+
校准传感器
-
+
映射摇杆
-
+
在按下确定后,首先水平移动你的手柄,然后垂直移动它。
如果要使体感方向倒置,首先垂直移动你的手柄,然后水平移动它。
-
+
中心轴
-
-
+
+
摇杆死区:%1%
-
-
+
+
摇杆灵敏度:%1%
-
-
+
+
Pro Controller
-
+
双 Joycons 手柄
-
+
左 Joycon 手柄
-
+
右 Joycon 手柄
-
+
掌机模式
-
+
GameCube 控制器
-
+
精灵球 PLUS
-
+
NES 控制器
-
+
SNES 控制器
-
+
N64 控制器
-
+
世嘉创世纪
-
+
开始 / 暂停
-
+
Z
-
+
控制摇杆
-
+
C 摇杆
-
+
摇动!
-
+
[等待中]
-
+
新建自定义设置
-
+
输入配置文件名称:
-
-
+
+
新建输入配置文件
-
+
输入的配置文件名称无效!
-
+
新建输入配置文件 "%1" 失败
-
+
删除输入配置文件
-
+
删除输入配置文件 "%1" 失败
-
+
加载输入配置文件
-
+
加载输入配置文件 "%1" 失败
-
+
保存输入配置文件
-
+
保存输入配置文件 "%1" 失败
@@ -3085,6 +3105,81 @@ To invert the axes, first move your joystick vertically, and then horizontally.<
UDP 测试或触摸校准正在进行中。<br>请耐心等待。
+
+ ConfigureMousePanning
+
+
+
+ 设置鼠标平移
+
+
+
+
+ 启用
+
+
+
+
+ 可通过热键进行切换
+
+
+
+
+ 灵敏度
+
+
+
+
+
+ 水平方向
+
+
+
+
+
+
+
+
+
+ %
+
+
+
+
+
+ 垂直方向
+
+
+
+
+ 调整死区平衡
+
+
+
+
+ 抵消游戏内置的死区
+
+
+
+
+ 摇杆漂移
+
+
+
+
+ 强烈程度
+
+
+
+
+ 最小值
+
+
+
+
+ 系统默认
+
+
ConfigureNetwork
@@ -3161,47 +3256,47 @@ To invert the axes, first move your joystick vertically, and then horizontally.<
开发商
-
+
附加项
-
+
通用
-
+
系统
-
+
CPU
-
+
图形
-
+
高级图形
-
+
声音
-
+
输入配置文件
-
+
属性
@@ -3404,8 +3499,8 @@ UUID: %2
-
- 如果您想使用这个控制器,请在游戏开始前为玩家 1 设置使用右控制器,玩家 2 使用双 joycon 控制器,从而允许该控制器被正确检测。
+
+ 要使用健身环控制器,请在游戏开始前将玩家 1 设置使用右 Joy-Con 控制器(包括物理和模拟层面),玩家 2 使用左 Joy-Con 控制器(物理和模拟层面)。
@@ -3441,7 +3536,7 @@ UUID: %2
-
+
启用
@@ -3508,12 +3603,17 @@ UUID: %2
当前映射的设备未连接健身环控制器
-
+
+
+ 当前映射的设备未连接
+
+
+
意外的驱动结果: %1
-
+
[请按键]
@@ -4623,962 +4723,901 @@ Drag points to change position, or double-click table cells to edit values.
GMainWindow
-
+
<a href='https://yuzu-emu.org/help/feature/telemetry/'>我们收集匿名数据</a>来帮助改进 yuzu 。<br/><br/>您愿意和我们分享您的使用数据吗?
-
+
使用数据共享
-
+
检测到 Vulkan 的安装已损坏
-
+
Vulkan 初始化失败。<br><br>点击<a href='https://yuzu-emu.org/wiki/faq/#yuzu-starts-with-the-error-broken-vulkan-installation-detected'>这里</a>获取此问题的相关信息。
-
+
+
+ TRANSLATORS: This string is shown to the user to explain why yuzu needs to prevent the computer from sleeping
+ 游戏正在运行
+
+
+
正在加载 Web 应用程序...
-
-
+
+
禁用 Web 应用程序
-
+
禁用 Web 应用程序可能会发生未知的行为,且只能在《超级马里奥 3D 全明星》中使用。您确定要禁用 Web 应用程序吗?
(您可以在调试选项中重新启用它。)
-
+
当前正在构建的着色器数量
-
+
当前选定的分辨率缩放比例。
-
+
当前的模拟速度。高于或低于 100% 的值表示运行速度比实际的 Switch 更快或更慢。
-
+
游戏当前运行的帧率。这将因游戏和场景的不同而有所变化。
-
+
在不计算速度限制和垂直同步的情况下,模拟一个 Switch 帧的实际时间。若要进行全速模拟,这个数值不应超过 16.67 毫秒。
-
+
+
+ 取消静音
+
+
+
+
+ 静音
+
+
+
+
+ 重置音量
+
+
+
清除最近文件 (&C)
-
+
已启用模拟鼠标
-
+
实体鼠标输入与鼠标平移不兼容。请在高级输入设置中禁用模拟鼠标以使用鼠标平移。
-
+
继续 (&C)
-
+
暂停 (&P)
-
-
- TRANSLATORS: This string is shown to the user to explain why yuzu needs to prevent the computer from sleeping
- yuzu 正在运行中
-
-
-
+
过时游戏格式警告
-
+
目前使用的游戏为解体的 ROM 目录格式,这是一种过时的格式,已被其他格式替代,如 NCA,NAX,XCI 或 NSP。解体的 ROM 目录缺少图标、元数据和更新支持。<br><br>有关 yuzu 支持的各种 Switch 格式的说明,<a href='https://yuzu-emu.org/wiki/overview-of-switch-game-formats'>请查看我们的 wiki</a>。此消息将不会再次出现。
-
-
+
+
加载 ROM 时出错!
-
+
该 ROM 格式不受支持。
-
+
初始化视频核心时发生错误
-
+
yuzu 在运行视频核心时发生错误。这可能是由 GPU 驱动程序过旧造成的。有关详细信息,请参阅日志文件。关于日志文件的更多信息,请参考以下页面:<a href='https://yuzu-emu.org/help/reference/log-files/'>如何上传日志文件</a>。
-
+
%1 signifies a numeric error code.
加载 ROM 时出错! %1
-
+
%1 signifies an error string.
%1<br>请参考<a href='https://yuzu-emu.org/help/quickstart/'>yuzu 快速导航</a>以获取相关文件。<br>您可以参考 yuzu 的 wiki 页面</a>或 Discord 社区</a>以获得帮助。
-
+
发生了未知错误。请查看日志了解详情。
-
+
(64-bit)
-
+
(32-bit)
-
+
%1 is the title name. %2 indicates if the title is 64-bit or 32-bit
%1 %2
-
+
正在关闭…
-
+
保存数据
-
+
Mod 数据
-
+
打开 %1 文件夹时出错
-
-
+
+
文件夹不存在!
-
+
打开可转移着色器缓存时出错
-
+
为该游戏创建着色器缓存目录时失败。
-
+
删除内容时出错
-
+
删除更新时出错
-
+
删除 DLC 时出错
-
+
删除已安装的游戏内容?
-
+
删除已安装的游戏更新?
-
+
删除已安装的游戏 DLC 内容?
-
+
删除项目
-
-
-
-
-
-
+
+
+
+
+
+
删除成功
-
+
成功删除已安装的游戏。
-
+
该游戏未安装于 NAND 中,无法删除。
-
+
成功删除已安装的游戏更新。
-
+
这个游戏没有任何已安装的更新。
-
+
这个游戏没有任何已安装的 DLC 。
-
+
成功删除游戏 %1 安装的 DLC 。
-
+
删除 OpenGL 模式的着色器缓存?
-
+
删除 Vulkan 模式的着色器缓存?
-
+
删除所有的着色器缓存?
-
+
移除自定义游戏设置?
-
+
移除缓存?
-
+
删除文件
-
-
+
+
删除着色器缓存时出错
-
-
+
+
这个游戏的着色器缓存不存在。
-
+
成功删除着色器缓存。
-
+
删除着色器缓存失败。
-
+
删除 Vulkan 驱动程序管线缓存时出错
-
+
删除驱动程序管线缓存失败。
-
-
+
+
删除着色器缓存时出错
-
+
着色器缓存删除成功。
-
+
删除着色器缓存目录失败。
-
-
+
+
移除自定义游戏设置时出错
-
+
这个游戏的自定义设置不存在。
-
+
成功移除自定义游戏设置。
-
+
移除自定义游戏设置失败。
-
-
+
+
RomFS 提取失败!
-
+
复制 RomFS 文件时出错,或用户取消了操作。
-
+
完整
-
+
框架
-
+
选择 RomFS 转储模式
-
+
请选择 RomFS 转储的方式。<br>“完整” 会将所有文件复制到新目录中,而<br>“框架” 只会创建目录结构。
-
+
%1 没有足够的空间用于提取 RomFS。请保持足够的空间或于模拟—>设置—>系统—>文件系统—>转储根目录中选择一个其他目录。
-
+
正在提取 RomFS...
-
-
+
+
取消
-
+
RomFS 提取成功!
-
+
操作成功完成。
-
-
-
-
-
+
+
+
+
+
创建快捷方式
-
+
这将为当前的游戏创建快捷方式。但在其更新后,快捷方式可能无法正常工作。是否继续?
-
+
无法在桌面创建快捷方式。路径“ %1 ”不存在。
-
+
无法在应用程序菜单中创建快捷方式。路径“ %1 ”不存在且无法被创建。
-
+
创建图标
-
+
无法创建图标文件。路径“ %1 ”不存在且无法被创建。
-
+
使用 yuzu 启动 %1
-
+
在 %1 处创建快捷方式时失败
-
+
成功地在 %1 处创建快捷方式
-
+
打开 %1 时出错
-
+
选择目录
-
+
属性
-
+
无法加载该游戏的属性信息。
-
+
%1 is an identifier for the Switch executable file extensions.
Switch 可执行文件 (%1);;所有文件 (*.*)
-
+
加载文件
-
+
打开提取的 ROM 目录
-
+
选择的目录无效
-
+
选择的目录不包含 “main” 文件。
-
+
可安装 Switch 文件 (*.nca *.nsp *.xci);;任天堂内容档案 (*.nca);;任天堂应用包 (*.nsp);;NX 卡带镜像 (*.xci)
-
+
安装文件
-
+
剩余 %n 个文件
-
+
正在安装文件 "%1"...
-
-
+
+
安装结果
-
+
为了避免可能存在的冲突,我们不建议将游戏本体安装到 NAND 中。
此功能仅用于安装游戏更新和 DLC 。
-
+
最近安装了 %n 个文件
-
+
%n 个文件被覆盖
-
+
%n 个文件安装失败
-
+
系统应用
-
+
系统档案
-
+
系统应用更新
-
+
固件包 (A型)
-
+
固件包 (B型)
-
+
游戏
-
+
游戏更新
-
+
游戏 DLC
-
+
差量程序
-
+
选择 NCA 安装类型...
-
+
请选择此 NCA 的程序类型:
(在大多数情况下,选择默认的“游戏”即可。)
-
+
安装失败
-
+
选择的 NCA 程序类型无效。
-
+
找不到文件
-
+
文件 "%1" 未找到
-
+
确定
-
-
+
+
硬件不满足要求
-
-
+
+
您的系统不满足运行 yuzu 的推荐配置。兼容性报告已被禁用。
-
+
未设置 yuzu 账户
-
+
要提交游戏兼容性测试用例,您必须设置您的 yuzu 帐户。<br><br/>要设置您的 yuzu 帐户,请转到模拟 > 设置 > 网络。
-
+
打开 URL 时出错
-
+
无法打开 URL : "%1" 。
-
+
TAS 录制中
-
+
覆盖玩家 1 的文件?
-
+
检测到无效配置
-
+
掌机手柄无法在主机模式中使用。将会选择 Pro controller。
-
-
+
+
Amiibo
-
-
+
+
当前的 Amiibo 已被移除。
-
+
错误
-
-
+
+
当前游戏并没有在寻找 Amiibos
-
+
Amiibo 文件 (%1);; 全部文件 (*.*)
-
+
加载 Amiibo
-
+
加载 Amiibo 数据时出错
-
+
选择的文件并不是有效的 amiibo
-
+
选择的文件已在使用中
-
+
发生了未知错误
-
+
捕获截图
-
+
PNG 图像 (*.png)
-
+
TAS 状态:正在运行 %1/%2
-
+
TAS 状态:正在录制 %1
-
+
TAS 状态:空闲 %1/%2
-
+
TAS 状态:无效
-
+
停止运行 (&S)
-
+
开始 (&S)
-
+
停止录制 (&E)
-
+
录制 (&E)
-
+
正在编译 %n 个着色器文件
-
+
%1 is the resolution scaling factor
缩放比例: %1x
-
+
速度: %1% / %2%
-
+
速度: %1%
-
+
FPS: %1 (未锁定)
-
+
FPS: %1
-
+
帧延迟: %1 毫秒
-
-
- GPU NORMAL
+
+
+ %1 %2
-
-
- GPU HIGH
-
-
-
-
- GPU EXTREME
-
-
-
-
- GPU ERROR
-
-
-
-
- 主机模式
-
-
-
-
- 掌机模式
-
-
-
-
- OPENGL
-
-
-
-
- VULKAN
-
-
-
-
- 无
-
-
-
-
- 邻近取样
-
-
-
-
-
- 双线性过滤
-
-
-
-
- 双三线过滤
-
-
-
-
- 高斯模糊
-
-
-
-
- 强制缩放
-
-
-
+
+
FSR
-
-
+
抗锯齿关
-
-
- FXAA
-
-
-
-
- SMAA
-
-
-
+
音量: 静音
-
+
Volume percentage (e.g. 50%)
音量: %1%
-
+
确认重新生成密钥
-
+
-
+
项目丢失
-
+
- 丢失 BOOT0
-
+
- 丢失 BCPKG2-1-Normal-Main
-
+
- 丢失 PRODINFO
-
+
组件丢失
-
+
密钥缺失。<br>请查看<a href='https://yuzu-emu.org/help/quickstart/'>yuzu 快速导航</a>以获得你的密钥、固件和游戏。<br><br><small>(%1)</small>
-
+
@@ -5633,49 +5672,49 @@ on your system's performance.
您的系统性能。
-
+
生成密钥
-
+
系统固件解密失败
-
+
当前密钥无法解密系统固件。<br>请查看<a href='https://yuzu-emu.org/help/quickstart/'>yuzu 快速导航</a>以获得你的密钥、固件和游戏。
-
+
选择 RomFS 转储目标
-
+
请选择希望转储的 RomFS。
-
+
您确定要关闭 yuzu 吗?
-
-
-
+
+
+
yuzu
-
+
您确定要停止模拟吗?未保存的进度将会丢失。
-
+
@@ -5683,48 +5722,143 @@ Would you like to bypass this and exit anyway?
您希望忽略并退出吗?
+
+
+
+ 无
+
+
+
+
+ FXAA
+
+
+
+
+ SMAA
+
+
+
+
+ 邻近取样
+
+
+
+
+ 双线性过滤
+
+
+
+
+ 双三线过滤
+
+
+
+
+ 高斯模糊
+
+
+
+
+ 强制缩放
+
+
+
+
+ 主机模式
+
+
+
+
+ 掌机模式
+
+
+
+
+ 正常
+
+
+
+
+ 高
+
+
+
+
+ Extreme
+
+
+
+
+ Vulkan
+
+
+
+
+ OpenGL
+
+
+
+
+ 无
+
+
+
+
+ GLSL
+
+
+
+
+ GLASM
+
+
+
+
+ SPIRV
+
GRenderWindow
-
-
+
+
OpenGL 模式不可用!
-
+
不支持 OpenGL 共享上下文。
-
+
yuzu 没有使用 OpenGL 进行编译。
-
-
+
+
初始化 OpenGL 时出错!
-
+
您的 GPU 可能不支持 OpenGL ,或者您没有安装最新的显卡驱动。
-
+
初始化 OpenGL 4.6 时出错!
-
+
您的 GPU 可能不支持 OpenGL 4.6 ,或者您没有安装最新的显卡驱动。<br><br>GL 渲染器:<br>%1
-
+
您的 GPU 可能不支持某些必需的 OpenGL 扩展。请确保您已经安装最新的显卡驱动。<br><br>GL 渲染器:<br>%1<br><br>不支持的扩展:<br>%2
@@ -6078,138 +6212,138 @@ Debug Message:
Hotkeys
-
+
开启/关闭静音
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
主窗口
-
+
调低音量
-
+
调高音量
-
+
捕获截图
-
+
更改窗口滤镜
-
+
更改主机运行模式
-
+
更改 GPU 精度
-
+
继续/暂停模拟
-
+
退出全屏
-
+
退出 yuzu
-
+
全屏
-
+
加载文件
-
+
加载/移除 Amiibo
-
+
重新启动模拟
-
+
停止模拟
-
+
TAS 录制
-
+
重置 TAS
-
+
TAS 开始/停止
-
+
切换搜索栏
-
+
切换帧率限制
-
+
切换鼠标平移
-
+
切换状态栏
@@ -6952,30 +7086,30 @@ p, li { white-space: pre-wrap; }
-
+
Shift
-
+
Ctrl
-
+
Alt
-
-
-
-
+
+
+
+
[未设置]
@@ -6986,14 +7120,14 @@ p, li { white-space: pre-wrap; }
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
轴 %1%2
@@ -7004,320 +7138,320 @@ p, li { white-space: pre-wrap; }
-
-
-
-
-
-
+
+
+
+
+
+
[未知]
-
-
+
+
左
-
-
+
+
右
-
-
+
+
下
-
-
+
+
上
-
+
Z
-
+
R
-
+
L
-
+
A
-
+
B
-
+
X
-
+
Y
-
+
开始
-
+
L1
-
+
L2
-
+
L3
-
+
R1
-
+
R2
-
+
R3
-
+
○
-
+
╳
-
+
□
-
+
Δ
-
+
分享
-
+
选项
-
+
[未指定]
-
+
%1%2
-
-
+
+
[无效]
-
-
+
+
%1%2Hat 控制器 %3
-
-
+
-
+
+
%1%2轴 %3
-
-
+
+
%1%2轴 %3,%4,%5
-
-
+
+
%1%2体感 %3
-
-
+
+
%1%2按键 %3
-
-
+
+
[未使用]
-
+
ZR
-
+
ZL
-
+
SR
-
+
SL
-
+
左摇杆
-
+
右摇杆
-
+
+
-
+
-
-
-
+
+
Home
-
+
截图
-
+
触摸
-
+
Indicates the mouse wheel
鼠标滚轮
-
+
后退
-
+
前进
-
+
任务键
-
+
额外按键
-
+
%1%2%3%4
-
-
+
+
%1%2%3 控制器 %4
-
-
+
+
%1%2%3轴 %4
-
-
+
+
%1%2%3 按键 %4
diff --git a/dist/languages/zh_TW.ts b/dist/languages/zh_TW.ts
index a4605917f..436f3bdb7 100644
--- a/dist/languages/zh_TW.ts
+++ b/dist/languages/zh_TW.ts
@@ -122,7 +122,7 @@ p, li { white-space: pre-wrap; }
- %1 已被解封
+ %1 已被解除禁止
@@ -153,7 +153,7 @@ p, li { white-space: pre-wrap; }
- 踢出玩家
+ 踢除玩家
@@ -267,17 +267,17 @@ This would ban both their forum username and their IP address.
- <html><head/><body><p>游戏是否具有游戏性?</p></body></html>
+ <html><head/><body><p>是否可以進行遊戲?</p></body></html>
- 是的,游戏运行时没有崩溃
+ 是,遊戲正常運作,並無當機
- 不,游戏运行时出现卡死或崩溃
+ 否,遊玩過程中會出現當機或凍結
@@ -455,27 +455,27 @@ This would ban both their forum username and their IP address.
- 摄像头图像来源:
+ 相機圖像來源:
- 输入设备:
+ 輸入裝置:
- 预览
+ 預覽
- 分辨率: 320*240
+ 解析度:320*240
- 点击进行预览
+ 按一下以預覽
@@ -853,7 +853,7 @@ This would ban both their forum username and their IP address.
- 调试器
+ 偵錯工具
@@ -1073,17 +1073,17 @@ This would ban both their forum username and their IP address.
- 需要重启
+ 需要重新啟動
- 重启 yuzu 后才能应用此设置。
+ yuzu 需要重新啟動以套用此設定。
- Web 应用程序未编译
+ Web 小程式未編譯
@@ -1136,78 +1136,78 @@ This would ban both their forum username and their IP address.
yuzu 設定
-
-
+
+
音訊
-
-
+
+
CPU
-
+
偵錯
-
+
檔案系統
-
-
+
+
一般
-
-
+
+
圖形
-
+
進階圖形
-
+
快速鍵
-
-
+
+
控制
-
+
設定檔
-
+
網路
-
-
+
+
系統
-
+
遊戲清單
-
+
網路服務
@@ -1401,17 +1401,22 @@ This would ban both their forum username and their IP address.
滑鼠閒置時自動隱藏
-
+
+
+ 禁用控制器程序
+
+
+
重設所有設定
-
+
yuzu
-
+
這將重設所有遊戲的額外設定,但不會刪除遊戲資料夾、使用者設定檔、輸入設定檔,是否繼續?
@@ -1477,7 +1482,7 @@ This would ban both their forum username and their IP address.
- 垂直同步模式:
+ 垂直同步模式:
@@ -1548,7 +1553,7 @@ Immediate (无同步)只显示可用内容,并可能产生撕裂。
- 强制 16:10
+ 強制 16:10
@@ -1668,17 +1673,17 @@ Immediate (无同步)只显示可用内容,并可能产生撕裂。
- 启用全局 FSR 锐化
+ 啟用全域 FSR 清晰度
- 设置 FSR 锐化
+ 設定 FSR 清晰度
- FSR 锐化度:
+ FSR 清晰度:
@@ -1702,43 +1707,43 @@ Immediate (无同步)只显示可用内容,并可能产生撕裂。背景顏色:
-
+
GLASM(組合語言著色器,僅限 NVIDIA)
-
+
- SPIR-V (实验性,仅限 Mesa)
+ SPIR-V (實驗性,僅 Mesa)
-
+
FSR sharpening percentage (e.g. 50%)
%1%
-
+
關閉
-
+
垂直同步關
-
+
推薦
-
+
開啟
-
+
垂直同步開
@@ -1768,22 +1773,22 @@ Immediate (无同步)只显示可用内容,并可能产生撕裂。
- ASTC 纹理重压缩:
+ ASTC 重新壓縮:
- 不压缩 (最高质量)
+ 不壓縮 (最高品質)
- BC1 (低质量)
+ BC1 (低品質)
- BC3 (中等质量)
+ BC3 (中品質)
@@ -1863,37 +1868,57 @@ Compute pipelines are always enabled on all other drivers.
启用计算管线 (仅限 Intel 显卡 Vulkan 模式)
-
+
+
+ 在视频播放期间以正常速度运行游戏,即使帧率未锁定。
+
+
+
+
+ 播放视频时帧率同步
+
+
+
+
+ 改进某些游戏中透明效果的渲染。
+
+
+
+
+ 屏障反馈循环
+
+
+
各向異性過濾:
-
+
自動
-
+
預設
-
+
2x
-
+
4x
-
+
8x
-
+
16x
@@ -2276,7 +2301,7 @@ Compute pipelines are always enabled on all other drivers.
-
+
設定
@@ -2340,25 +2365,10 @@ Compute pipelines are always enabled on all other drivers.
- 启用 Amiibo 随机 ID
+ 啟用 Amiibo 隨機 ID
-
-
- 啟用滑鼠平移
-
-
-
-
- 滑鼠靈敏度
-
-
-
-
- %
-
-
-
+
體感/觸控
@@ -2378,47 +2388,47 @@ Compute pipelines are always enabled on all other drivers.
- 输入配置文件
+ 輸入設定檔
- 玩家 1 配置文件
+ 玩家 1 設定檔
- 玩家 2 配置文件
+ 玩家 2 設定檔
- 玩家 3 配置文件
+ 玩家 3 設定檔
- 玩家 4 配置文件
+ 玩家 4 設定檔
- 玩家 5 配置文件
+ 玩家 5 設定檔
- 玩家 6 配置文件
+ 玩家 6 設定檔
- 玩家 7 配置文件
+ 玩家 7 設定檔
- 玩家 8 配置文件
+ 玩家 8 設定檔
@@ -2428,7 +2438,7 @@ Compute pipelines are always enabled on all other drivers.
- 玩家 %1 配置文件
+ 玩家 %1 設定檔
@@ -2446,7 +2456,7 @@ Compute pipelines are always enabled on all other drivers.
- 輸入裝置:
+ 輸入裝置
@@ -2470,7 +2480,7 @@ Compute pipelines are always enabled on all other drivers.
-
+
左搖桿
@@ -2564,14 +2574,14 @@ Compute pipelines are always enabled on all other drivers.
-
+
L
-
+
ZL
@@ -2590,7 +2600,7 @@ Compute pipelines are always enabled on all other drivers.
-
+
+
@@ -2603,15 +2613,15 @@ Compute pipelines are always enabled on all other drivers.
-
-
+
+
R
-
+
ZR
@@ -2668,247 +2678,257 @@ Compute pipelines are always enabled on all other drivers.
-
+
右搖桿
-
-
-
-
+
+
+ 鼠标平移
+
+
+
+
+ 設定
+
+
+
+
+
+
清除
-
-
-
-
-
+
+
+
+
+
[未設定]
-
-
-
+
+
+
無效按鈕
-
-
+
+
切換按鍵
-
+
连发键
-
-
+
+
方向反轉
-
-
-
+
+
+
設定閾值
-
-
+
+
選擇介於 0% 和 100% 之間的值
-
+
切换轴
-
+
陀螺仪阈值设定
-
+
校准传感器
-
+
搖桿映射
-
+
按下確定後,先水平再上下移動您的搖桿。
要反轉方向,則先上下再水平移動您的搖桿。
-
+
中心轴
-
-
+
+
無感帶:%1%
-
-
+
+
輕推靈敏度:%1%
-
-
+
+
Pro 手把
-
+
雙 Joycon 手把
-
+
左 Joycon 手把
-
+
右 Joycon 手把
-
+
掌機模式
-
+
GameCube 手把
-
+
精靈球 PLUS
-
+
NES 控制器
-
+
SNES 控制器
-
+
N64 控制器
-
+
Mega Drive
-
+
開始 / 暫停
-
+
Z
-
+
控制搖桿
-
+
C 搖桿
-
+
搖動!
-
+
[等待中]
-
+
新增設定檔
-
+
輸入設定檔名稱:
-
-
+
+
建立輸入設定檔
-
+
輸入的設定檔名稱無效!
-
+
建立輸入設定檔「%1」失敗
-
+
刪除輸入設定檔
-
+
刪除輸入設定檔「%1」失敗
-
+
載入輸入設定檔
-
+
載入輸入設定檔「%1」失敗
-
+
儲存輸入設定檔
-
+
儲存輸入設定檔「%1」失敗
@@ -3087,6 +3107,81 @@ To invert the axes, first move your joystick vertically, and then horizontally.<
UDP 測試或觸控校正進行中。<br>請耐心等候。
+
+ ConfigureMousePanning
+
+
+
+ 设置鼠标平移
+
+
+
+
+ 啟用
+
+
+
+
+ 可通过热键进行切换
+
+
+
+
+ 灵敏度
+
+
+
+
+
+ 水平方向
+
+
+
+
+
+
+
+
+
+ %
+
+
+
+
+
+ 垂直方向
+
+
+
+
+ 调整死区范围
+
+
+
+
+ 调整游戏内置的死区范围
+
+
+
+
+ 摇杆老化
+
+
+
+
+ 强烈程度
+
+
+
+
+ 最小值
+
+
+
+
+ 預設
+
+
ConfigureNetwork
@@ -3163,47 +3258,47 @@ To invert the axes, first move your joystick vertically, and then horizontally.<
出版商
-
+
延伸模組
-
+
一般
-
+
系統
-
+
CPU
-
+
圖形
-
+
進階圖形
-
+
音訊
-
+
- 输入配置文件
+ 輸入設定檔
-
+
屬性
@@ -3406,8 +3501,8 @@ UUID: %2
-
- 如果您想使用这个控制器,请在游戏开始前为玩家 1 配置使用右控制器,玩家 2 使用双 joycon 控制器,从而允许该控制器被正确检测。
+
+ 要使用健身环控制器,请在游戏开始前将玩家 1 设置使用右 Joy-Con控制器(包括物理和模拟层面),玩家 2 使用左 Joy-Con 控制器(物理和模拟层面)。
@@ -3443,9 +3538,9 @@ UUID: %2
-
+
- 启用
+ 啟用
@@ -3510,12 +3605,17 @@ UUID: %2
当前映射的设备未连接健身环控制器
-
+
+
+ 当前映射的设备未连接
+
+
+
意外的驱动结果: %1
-
+
[請按按鍵]
@@ -3921,7 +4021,7 @@ UUID: %2
- 设备名称
+ 裝置名稱
@@ -4074,7 +4174,7 @@ Drag points to change position, or double-click table cells to edit values.
- 輸入新設定檔的名稱
+ 輸入新設定檔的名稱。
@@ -4571,12 +4671,12 @@ Drag points to change position, or double-click table cells to edit values.
- 直接连接
+ 直接連線
- 服务器地址
+ 伺服器地址
@@ -4625,961 +4725,900 @@ Drag points to change position, or double-click table cells to edit values.
GMainWindow
-
+
我們<a href='https://yuzu-emu.org/help/feature/telemetry/'>蒐集匿名的資料</a>以幫助改善 yuzu。<br/><br/>您願意和我們分享您的使用資料嗎?
-
+
遙測
-
+
检测到 Vulkan 的安装已损坏
-
+
Vulkan 初始化失败。<br><br>点击<a href='https://yuzu-emu.org/wiki/faq/#yuzu-starts-with-the-error-broken-vulkan-installation-detected'>这里</a>获取此问题的相关信息。
-
+
+
+ TRANSLATORS: This string is shown to the user to explain why yuzu needs to prevent the computer from sleeping
+ 游戏正在运行
+
+
+
載入 Web Applet...
-
-
+
+
停用 Web Applet
-
+
禁用 Web 应用程序可能会导致未知的行为,且只能在《超级马里奥 3D 全明星》中使用。您确定要禁用 Web 应用程序吗?
(您可以在调试选项中重新启用它。)
-
+
目前正在建構的著色器數量
-
+
目前選擇的解析度縮放比例。
-
+
目前的模擬速度。高於或低於 100% 表示比實際 Switch 執行速度更快或更慢。
-
+
遊戲即時 FPS。會因遊戲和場景的不同而改變。
-
+
在不考慮幀數限制和垂直同步的情況下模擬一個 Switch 畫格的實際時間,若要全速模擬,此數值不得超過 16.67 毫秒。
-
+
+
+ 取消靜音
+
+
+
+
+ 靜音
+
+
+
+
+ 重設音量
+
+
+
清除最近的檔案(&C)
-
+
- 已启用模拟鼠标
+ 模擬滑鼠已啟用
-
+
实体鼠标输入与鼠标平移不兼容。请在高级输入设置中禁用模拟鼠标以使用鼠标平移。
-
+
繼續(&C)
-
+
&暫停
-
-
- TRANSLATORS: This string is shown to the user to explain why yuzu needs to prevent the computer from sleeping
- yuzu 正在執行中
-
-
-
+
過時遊戲格式警告
-
+
此遊戲為解構的 ROM 資料夾格式,這是一種過時的格式,已被其他格式取代,如 NCA、NAX、XCI、NSP。解構的 ROM 目錄缺少圖示、中繼資料和更新支援。<br><br>有關 yuzu 支援的各種 Switch 格式說明,<a href='https://yuzu-emu.org/wiki/overview-of-switch-game-formats'>請參閱我們的 wiki </a>。此訊息將不再顯示。
-
-
+
+
載入 ROM 時發生錯誤!
-
+
此 ROM 格式不支援
-
+
初始化視訊核心時發生錯誤
-
+
yuzu 在執行視訊核心時發生錯誤。 這可能是 GPU 驅動程序過舊造成的。 詳細資訊請查閱日誌檔案。 關於日誌檔案的更多資訊,請參考以下頁面:<a href='https://yuzu-emu.org/help/reference/log-files/'>如何上傳日誌檔案</a>。
-
+
%1 signifies a numeric error code.
載入 ROM 時發生錯誤!%1
-
+
%1 signifies an error string.
%1<br>請參閱 <a href='https://yuzu-emu.org/help/quickstart/'>yuzu 快速指引</a>以重新傾印檔案。<br>您可以前往 yuzu 的 wiki</a> 或 Discord 社群</a>以獲得幫助。
-
+
發生未知錯誤,請檢視紀錄了解細節。
-
+
(64-bit)
-
+
(32-bit)
-
+
%1 is the title name. %2 indicates if the title is 64-bit or 32-bit
%1 %2
-
+
- 正在关闭…
+ 正在關閉軟體…
-
+
儲存資料
-
+
模組資料
-
+
開啟資料夾 %1 時發生錯誤
-
-
+
+
資料夾不存在
-
+
開啟通用著色器快取位置時發生錯誤
-
+
無法新增此遊戲的著色器快取資料夾。
-
+
- 删除内容时出错
+ 移除內容時發生錯誤
-
+
- 删除更新时出错
+ 移除更新時發生錯誤
-
+
- 删除 DLC 时出错
+ 移除 DLC 時發生錯誤
-
+
- 删除已安装的游戏内容?
+ 移除已安裝的遊戲內容?
-
+
- 删除已安装的游戏更新?
+ 移除已安裝的遊戲更新?
-
+
- 删除已安装的游戏 DLC 内容?
+ 移除已安裝的遊戲 DLC?
-
+
移除項目
-
-
-
-
-
-
+
+
+
+
+
+
移除成功
-
+
成功移除已安裝的遊戲。
-
+
此遊戲並非安裝在內部儲存空間,因此無法移除。
-
+
成功移除已安裝的遊戲更新。
-
+
此遊戲沒有已安裝的更新。
-
+
此遊戲沒有已安裝的 DLC。
-
+
成功移除遊戲 %1 已安裝的 DLC。
-
+
刪除 OpenGL 模式的著色器快取?
-
+
刪除 Vulkan 模式的著色器快取?
-
+
刪除所有的著色器快取?
-
+
移除額外遊戲設定?
-
+
- 移除缓存?
+ 移除快取儲存空間?
-
+
刪除檔案
-
-
+
+
刪除通用著色器快取時發生錯誤
-
-
+
+
此遊戲沒有著色器快取
-
+
成功刪除著色器快取。
-
+
刪除通用著色器快取失敗。
-
+
- 移除 Vulkan 驱动程序管线缓存时出错
+ 移除 Vulkan 驅動程式管線快取時發生錯誤
-
+
- 删除驱动程序管线缓存失败。
+ 無法移除驅動程式管線快取。
-
-
+
+
刪除通用著色器快取時發生錯誤
-
+
成功刪除通用著色器快取。
-
+
無法刪除著色器快取資料夾。
-
-
+
+
移除額外遊戲設定時發生錯誤
-
+
此遊戲沒有額外設定。
-
+
成功移除額外遊戲設定。
-
+
移除額外遊戲設定失敗。
-
-
+
+
RomFS 抽取失敗!
-
+
複製 RomFS 檔案時發生錯誤或使用者取消動作。
-
+
全部
-
+
部分
-
+
選擇RomFS傾印模式
-
+
請選擇如何傾印 RomFS。<br>「全部」會複製所有檔案到新資料夾中,而<br>「部分」只會建立資料夾結構。
-
+
%1 沒有足夠的空間用於抽取 RomFS。請確保有足夠的空間或於模擬 > 設定 >系統 >檔案系統 > 傾印根目錄中選擇其他資料夾。
-
+
抽取 RomFS 中...
-
-
+
+
取消
-
+
RomFS 抽取完成!
-
+
動作已成功完成
-
-
-
-
-
+
+
+
+
+
- 创建快捷方式
+ 建立捷徑
-
+
- 这将为当前的软件镜像创建快捷方式。但在其更新后,快捷方式可能无法正常使用。是否继续?
+ 這將會為目前的應用程式映像建立捷徑,可能在其更新後無法運作,仍要繼續嗎?
-
+
- 无法在桌面创建快捷方式。路径“ %1 ”不存在。
+ 無法在桌面上建立捷徑,路徑「%1」不存在。
-
+
- 无法在应用程序菜单中创建快捷方式。路径“ %1 ”不存在且无法被创建。
+ 無法在應用程式選單中建立捷徑,路徑「%1」不存在且無法建立。
-
+
- 创建图标
+ 建立圖示
-
+
- 无法创建图标文件。路径“ %1 ”不存在且无法被创建。
+ 無法建立圖示檔案,路徑「%1」不存在且無法建立。
-
+
- 使用 yuzu 启动 %1
+ 使用 yuzu 模擬器啟動 %1
-
+
- 在 %1 处创建快捷方式时失败
+ 無法在 %1 建立捷徑
-
+
- 成功地在 %1 处创建快捷方式
+ 已成功在 %1 建立捷徑
-
+
開啟 %1 時發生錯誤
-
+
選擇資料夾
-
+
屬性
-
+
無法載入遊戲屬性
-
+
%1 is an identifier for the Switch executable file extensions.
Switch 執行檔 (%1);;所有檔案 (*.*)
-
+
開啟檔案
-
+
開啟已抽取的 ROM 資料夾
-
+
選擇的資料夾無效
-
+
選擇的資料夾未包含「main」檔案。
-
+
可安装的 Switch 檔案 (*.nca *.nsp *.xci);;Nintendo Content Archive (*.nca);;Nintendo Submission Package (*.nsp);;NX 卡帶映像 (*.xci)
-
+
安裝檔案
-
+
剩餘 %n 個檔案
-
+
正在安裝檔案「%1」...
-
-
+
+
安裝結果
-
+
為了避免潛在的衝突,不建議將遊戲本體安裝至內部儲存空間。
此功能僅用於安裝遊戲更新和 DLC。
-
+
最近安裝了 %n 個檔案
-
+
%n 個檔案被取代
-
+
%n 個檔案安裝失敗
-
+
系統應用程式
-
+
系統檔案
-
+
系統應用程式更新
-
+
韌體包(A型)
-
+
韌體包(B型)
-
+
遊戲
-
+
遊戲更新
-
+
遊戲 DLC
-
+
Delta Title
-
+
選擇 NCA 安裝類型...
-
+
請選擇此 NCA 的安裝類型:
(在多數情況下,選擇預設的「遊戲」即可。)
-
+
安裝失敗
-
+
選擇的 NCA 安裝類型無效。
-
+
找不到檔案
-
+
找不到「%1」檔案
-
+
確定
-
-
+
+
- 硬件不满足要求
+ 硬體不符合需求
-
-
+
+
- 您的系统不满足运行 yuzu 推荐的推荐配置。兼容性报告已被禁用。
+ 您的系統不符合建議的硬體需求,相容性回報已停用。
-
+
未設定 yuzu 帳號
-
+
為了上傳相容性測試結果,您必須登入 yuzu 帳號。<br><br/>欲登入 yuzu 帳號請至模擬 > 設定 > 網路。
-
+
開啟 URL 時發生錯誤
-
+
無法開啟 URL:「%1」。
-
+
TAS 錄製
-
+
覆寫玩家 1 的檔案?
-
+
偵測到無效設定
-
+
掌機手把無法在主機模式中使用。將會選擇 Pro 手把。
-
-
+
+
Amiibo
-
-
+
+
- 当前的 Amiibo 已被移除。
+ 目前 Amiibo 已被移除。
-
+
- 错误
+ 錯誤
-
-
+
+
- 当前游戏并没有在寻找 Amiibos
+ 目前遊戲並未在尋找 Amiibos
-
+
Amiibo 檔案 (%1);; 所有檔案 (*.*)
-
+
開啟 Amiibo
-
+
載入 Amiibo 資料時發生錯誤
-
+
- 选择的文件并不是有效的 amiibo
+ 選取的檔案不是有效的 Amiibo
-
+
- 选择的文件已在使用中
+ 選取的檔案已在使用中
-
+
- 发生了未知错误
+ 發生了未知錯誤
-
+
截圖
-
+
PNG 圖片 (*.png)
-
+
TAS 狀態:正在執行 %1/%2
-
+
TAS 狀態:正在錄製 %1
-
+
TAS 狀態:閒置 %1/%2
-
+
TAS 狀態:無效
-
+
&停止執行
-
+
開始(&S)
-
+
停止錄製
-
+
錄製 (&E)
-
+
正在編譯 %n 個著色器檔案
-
+
%1 is the resolution scaling factor
縮放比例:%1x
-
+
速度:%1% / %2%
-
+
速度:%1%
-
+
遊戲: %1 FPS(未限制)
-
+
遊戲:%1 FPS
-
+
畫格延遲:%1 ms
-
-
- GPU 一般效能
+
+
+ %1 %2
-
-
- GPU 高效能
-
-
-
-
- GPU 最高效能
-
-
-
-
- GPU 錯誤
-
-
-
-
- 主機模式
-
-
-
-
- 掌機模式
-
-
-
-
- OPENGL
-
-
-
-
- VULKAN
-
-
-
-
- NULL
-
-
-
-
- 最近鄰域
-
-
-
-
-
- 雙線性
-
-
-
-
- 雙三次
-
-
-
-
- 高斯
-
-
-
-
- 強制縮放
-
-
-
+
+
FSR
-
-
+
抗鋸齒關
-
-
- FXAA
-
-
-
-
- SMAA
-
-
-
+
- 音量: 静音
+ 音量: 靜音
-
+
Volume percentage (e.g. 50%)
音量: %1%
-
+
確認重新產生金鑰
-
+
-
+
遺失項目
-
+
- 遺失 BOOT0
-
+
- 遺失 BCPKG2-1-Normal-Main
-
+
- 遺失 PRODINFO
-
+
遺失產生元件
-
+
缺少加密金鑰。 <br>請按照<a href='https://yuzu-emu.org/help/quickstart/'>《Yuzu快速入門指南》來取得所有金鑰、韌體、遊戲<br><br><small>(%1)。
-
+
@@ -5634,49 +5673,49 @@ on your system's performance.
您的系統效能。
-
+
產生金鑰
-
+
- 系统固件解密失败
+ 系統封存解密失敗
-
+
- 当前密钥无法解密系统固件。<br>请查看<a href='https://yuzu-emu.org/help/quickstart/'>yuzu 快速导航</a>以获得你的密钥、固件和游戏。
+ 加密金鑰無法解密韌體。<br>請依循<a href='https://yuzu-emu.org/help/quickstart/'>yuzu 快速開始指南</a>以取得您的金鑰、韌體和遊戲。
-
+
選擇 RomFS 傾印目標
-
+
請選擇希望傾印的 RomFS。
-
+
您確定要關閉 yuzu 嗎?
-
-
-
+
+
+
yuzu
-
+
您確定要停止模擬嗎?未儲存的進度將會遺失。
-
+
@@ -5684,48 +5723,143 @@ Would you like to bypass this and exit anyway?
您希望忽略並退出嗎?
+
+
+
+ 無
+
+
+
+
+ FXAA
+
+
+
+
+ SMAA
+
+
+
+
+ 最近鄰
+
+
+
+
+ 雙線性
+
+
+
+
+ 雙立方
+
+
+
+
+ 高斯
+
+
+
+
+ 強制縮放
+
+
+
+
+ TV
+
+
+
+
+ 掌机模式
+
+
+
+
+ 標準
+
+
+
+
+ 高
+
+
+
+
+ 極高
+
+
+
+
+ Vulkan
+
+
+
+
+ OpenGL
+
+
+
+
+ 無
+
+
+
+
+ GLSL
+
+
+
+
+ GLASM
+
+
+
+
+ SPIRV
+
GRenderWindow
-
-
+
+
無法使用 OpenGL 模式!
-
+
- 不支持 OpenGL 共享上下文。
+ 不支援 OpenGL 共用的上下文。
-
+
yuzu 未以支援 OpenGL 的方式編譯。
-
-
+
+
初始化 OpenGL 時發生錯誤!
-
+
您的 GPU 可能不支援 OpenGL,或是未安裝最新的圖形驅動程式
-
+
初始化 OpenGL 4.6 時發生錯誤!
-
+
您的 GPU 可能不支援 OpenGL 4.6,或是未安裝最新的圖形驅動程式<br><br>GL 渲染器:<br>%1
-
+
您的 GPU 可能不支援某些必需的 OpenGL 功能。請確保您已安裝最新的圖形驅動程式。<br><br>GL 渲染器:<br>%1<br><br>不支援的功能:<br>%2
@@ -5785,7 +5919,7 @@ Would you like to bypass this and exit anyway?
- 移除缓存
+ 移除快取儲存空間
@@ -5831,17 +5965,17 @@ Would you like to bypass this and exit anyway?
- 创建快捷方式
+ 建立捷徑
- 添加到桌面
+ 新增至桌面
- 添加到应用程序菜单
+ 新增至應用程式選單
@@ -5909,12 +6043,12 @@ Would you like to bypass this and exit anyway?
- 进入游戏
+ 遊戲內
- 游戏可以开始,但会出现崩溃或严重故障导致游戏无法继续。
+ 遊戲可以執行,但可能會出現當機或故障導致遊戲無法正常運作。
@@ -5924,17 +6058,17 @@ Would you like to bypass this and exit anyway?
- 游戏可以毫无问题地运行。
+ 遊戲可以毫無問題的遊玩。
- 可运行
+ 可遊玩
- 游戏可以从头到尾完整地运行,但可能出现轻微的图形或音频故障。
+ 遊戲自始至終可以正常遊玩,但可能會有一些輕微的圖形或音訊故障。
@@ -5944,7 +6078,7 @@ Would you like to bypass this and exit anyway?
- 游戏可以加载,但无法通过标题页面。
+ 遊戲可以載入,但無法通過開始畫面。
@@ -5998,22 +6132,22 @@ Would you like to bypass this and exit anyway?
- 创建房间
+ 建立房間
- 房间名称
+ 房間名稱
- 首选游戏
+ 偏好遊戲
- 最大玩家数
+ 最大玩家數目
@@ -6023,32 +6157,32 @@ Would you like to bypass this and exit anyway?
- (留空表示不限定游戏)
+ (空白表示開放式遊戲)
- 密码
+ 密碼
- 端口
+ 連接埠
- 房间描述
+ 房間敘述
- 加载先前的封禁列表
+ 載入先前的封鎖清單
- 公共
+ 公用
@@ -6058,7 +6192,7 @@ Would you like to bypass this and exit anyway?
- 管理房间
+ 主機房間
@@ -6066,7 +6200,7 @@ Would you like to bypass this and exit anyway?
- 错误
+ 錯誤
@@ -6079,140 +6213,140 @@ Debug Message:
Hotkeys
-
+
- 静音/关闭静音
+ 靜音/取消靜音
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
- 主窗口
+ 主要視窗
-
+
- 调低音量
+ 音訊音量降低
-
+
- 调高音量
+ 音訊音量提高
-
+
截圖
-
+
- 更改窗口滤镜
+ 變更自適性過濾器
-
+
- 更改运行模式
+ 變更底座模式
-
+
- 更改 GPU 精度
+ 變更 GPU 精確度
-
+
- 继续/暂停模拟
+ 繼續/暫停模擬
-
+
- 退出全屏
+ 離開全螢幕
-
+
- 退出 yuzu
+ 離開 yuzu
-
+
全屏
-
+
開啟檔案
-
+
- 加载/移除 Amiibo
+ 載入/移除 Amiibo
-
+
- 重新启动模拟
+ 重新啟動模擬
-
+
- 停止模拟
+ 停止模擬
-
+
- TAS 录制
+ TAS 錄製
-
+
- 重设 TAS
+ TAS 重設
-
+
- TAS 开始/停止
+ TAS 開始/停止
-
+
- 切换搜索栏
+ 切換搜尋列
-
+
- 切换帧率限制
+ 切換影格速率限制
-
+
- 切换鼠标平移
+ 切換滑鼠移動
-
+
- 切换状态栏
+ 切換狀態列
@@ -6290,53 +6424,53 @@ Debug Message:
- 公共房间浏览器
+ 公共房間瀏覽器
- 昵称
+ 暱稱
- 过滤器
+ 過濾器
- 搜索
+ 搜尋
- 游戏 I 我的
+ 我擁有的遊戲
- 隐藏空房间
+ 隱藏空房間
- 隐藏满员的房间
+ 隱藏客滿的房間
- 刷新游戏大厅
+ 重新整理遊戲大廳
- 加入此房间需要密码
+ 加入需要密碼
- 密码:
+ 密碼:
@@ -6346,27 +6480,27 @@ Debug Message:
- 房间名称
+ 房間名稱
- 首选游戏
+ 偏好遊戲
- 管理
+ 主機
- 刷新中
+ 正在重新整理
- 刷新列表
+ 重新整理清單
@@ -6529,27 +6663,27 @@ Debug Message:
- 浏览公共游戏大厅 (&B)
+ 瀏覽公用遊戲大廳 (&B)
- 创建房间 (&C)
+ 建立房間 (&C)
- 离开房间 (&L)
+ 離開房間 (&L)
- 直接连接到房间 (&D)
+ 直接連線到房間 (&D)
- 显示当前房间 (&S)
+ 顯示目前的房間 (&S)
@@ -6564,7 +6698,7 @@ Debug Message:
- 加载/移除 Amiibo... (&A)
+ 載入/移除 Amiibo... (&A)
@@ -6635,48 +6769,48 @@ Debug Message:
- 审核
+ 仲裁
- 封禁列表
+ 封鎖清單
- 刷新中
+ 正在重新整理
- 解封
+ 解除封鎖
- 项目
+ 主旨
- 类型
+ 類型
- 论坛用户名
+ 論壇使用者名稱
- IP 地址
+ IP 位址
- 刷新
+ 重新整理
@@ -6684,17 +6818,17 @@ Debug Message:
- 当前连接状态
+ 目前連線狀態
- 未连接。点击此处查找一个房间!
+ 尚未連線,按一下這裡以尋找房間!
- 未连接
+ 尚未連線
@@ -6704,12 +6838,12 @@ Debug Message:
- 收到了新消息
+ 收到了新訊息
- 错误
+ 錯誤
@@ -6840,7 +6974,7 @@ Proceed anyway?
- 离开房间
+ 離開房間
@@ -6952,30 +7086,30 @@ p, li { white-space: pre-wrap; }
-
+
Shift
-
+
Ctrl
-
+
Alt
-
-
-
-
+
+
+
+
[未設定]
@@ -6986,14 +7120,14 @@ p, li { white-space: pre-wrap; }
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
Axis %1%2
@@ -7004,322 +7138,322 @@ p, li { white-space: pre-wrap; }
-
-
-
-
-
-
+
+
+
+
+
+
[未知]
-
-
+
+
左
-
-
+
+
右
-
-
+
+
下
-
-
+
+
上
-
+
Z
-
+
R
-
+
L
-
+
A
-
+
B
-
+
X
-
+
Y
-
+
開始
-
+
L1
-
+
L2
-
+
L3
-
+
R1
-
+
R2
-
+
R3
-
+
○
-
+
╳
-
+
□
-
+
Δ
-
+
分享
-
+
選項
-
+
[未指定]
-
+
%1%2
-
-
+
+
[無效]
-
-
+
+
%1%2Hat 控制器 %3
-
-
+
-
+
+
%1%2軸 %3
-
-
+
+
%1%2軸 %3,%4,%5
-
-
+
+
%1%2體感 %3
-
-
+
+
%1%2按鈕 %3
-
-
+
+
[未使用]
-
+
ZR
-
+
ZL
-
+
SR
-
+
SL
-
+
左摇杆
-
+
右摇杆
-
+
+
-
+
-
-
-
+
+
HOME
-
+
截圖
-
+
觸控
-
+
Indicates the mouse wheel
滑鼠滾輪
-
+
後退
-
+
前進
-
+
任務鍵
-
+
額外按鍵
-
+
%1%2%3%4
-
-
+
+
%1%2%3 控制器 %4
-
-
+
+
%1%2%3轴 %4
-
-
+
+
- %1%2%3 按键 %4
+ %1%2%3 按鍵 %4
@@ -7327,12 +7461,12 @@ p, li { white-space: pre-wrap; }
- Amiibo 设置
+ Amiibo 設定
- Amiibo 信息
+ Amiibo 資訊
@@ -7352,7 +7486,7 @@ p, li { white-space: pre-wrap; }
- Amiibo 数据
+ Amiibo 資料
@@ -7397,7 +7531,7 @@ p, li { white-space: pre-wrap; }
- 挂载 Amiibo
+ 掛載 Amiibo
diff --git a/externals/CMakeLists.txt b/externals/CMakeLists.txt
index 7cce27d51..4ff588851 100644
--- a/externals/CMakeLists.txt
+++ b/externals/CMakeLists.txt
@@ -143,6 +143,11 @@ endif()
# TZDB (Time Zone Database)
add_subdirectory(nx_tzdb)
+# VMA
+add_library(vma vma/vma.cpp)
+target_include_directories(vma PUBLIC ./vma/VulkanMemoryAllocator/include)
+target_link_libraries(vma PRIVATE Vulkan::Headers)
+
if (NOT TARGET LLVM::Demangle)
add_library(demangle demangle/ItaniumDemangle.cpp)
target_include_directories(demangle PUBLIC ./demangle)
@@ -152,6 +157,9 @@ endif()
add_library(stb stb/stb_dxt.cpp)
target_include_directories(stb PUBLIC ./stb)
+add_library(bc_decoder bc_decoder/bc_decoder.cpp)
+target_include_directories(bc_decoder PUBLIC ./bc_decoder)
+
if (ANDROID)
if (ARCHITECTURE_arm64)
add_subdirectory(libadrenotools)
diff --git a/externals/SDL b/externals/SDL
index f17058b56..491fba1d0 160000
--- a/externals/SDL
+++ b/externals/SDL
@@ -1 +1 @@
-Subproject commit f17058b562c8a1090c0c996b42982721ace90903
+Subproject commit 491fba1d06a4810645092b2559b9cc94abeb23bb
diff --git a/externals/bc_decoder/bc_decoder.cpp b/externals/bc_decoder/bc_decoder.cpp
new file mode 100644
index 000000000..536c44f34
--- /dev/null
+++ b/externals/bc_decoder/bc_decoder.cpp
@@ -0,0 +1,1522 @@
+// SPDX-License-Identifier: MPL-2.0
+// Copyright © 2022 Skyline Team and Contributors (https://github.com/skyline-emu/)
+// Copyright 2019 The SwiftShader Authors. All Rights Reserved.
+
+// This BCn Decoder is directly derivative of Swiftshader's BCn Decoder found at: https://github.com/google/swiftshader/blob/d070309f7d154d6764cbd514b1a5c8bfcef61d06/src/Device/BC_Decoder.cpp
+// This file does not follow the Skyline code conventions but has certain Skyline specific code
+// There are a lot of implicit and narrowing conversions in this file due to this (Warnings are disabled as a result)
+
+#include
+#include
+#include
+#include
+
+namespace {
+ constexpr int BlockWidth = 4;
+ constexpr int BlockHeight = 4;
+
+ struct BC_color {
+ void decode(uint8_t *dst, size_t x, size_t y, size_t dstW, size_t dstH, size_t dstPitch, size_t dstBpp, bool hasAlphaChannel, bool hasSeparateAlpha) const {
+ Color c[4];
+ c[0].extract565(c0);
+ c[1].extract565(c1);
+ if (hasSeparateAlpha || (c0 > c1)) {
+ c[2] = ((c[0] * 2) + c[1]) / 3;
+ c[3] = ((c[1] * 2) + c[0]) / 3;
+ } else {
+ c[2] = (c[0] + c[1]) >> 1;
+ if (hasAlphaChannel) {
+ c[3].clearAlpha();
+ }
+ }
+
+ for (int j = 0; j < BlockHeight && (y + j) < dstH; j++) {
+ size_t dstOffset = j * dstPitch;
+ size_t idxOffset = j * BlockHeight;
+ for (size_t i = 0; i < BlockWidth && (x + i) < dstW; i++, idxOffset++, dstOffset += dstBpp) {
+ *reinterpret_cast(dst + dstOffset) = c[getIdx(idxOffset)].pack8888();
+ }
+ }
+ }
+
+ private:
+ struct Color {
+ Color() {
+ c[0] = c[1] = c[2] = 0;
+ c[3] = 0xFF000000;
+ }
+
+ void extract565(const unsigned int c565) {
+ c[0] = ((c565 & 0x0000001F) << 3) | ((c565 & 0x0000001C) >> 2);
+ c[1] = ((c565 & 0x000007E0) >> 3) | ((c565 & 0x00000600) >> 9);
+ c[2] = ((c565 & 0x0000F800) >> 8) | ((c565 & 0x0000E000) >> 13);
+ }
+
+ unsigned int pack8888() const {
+ return ((c[0] & 0xFF) << 16) | ((c[1] & 0xFF) << 8) | (c[2] & 0xFF) | c[3];
+ }
+
+ void clearAlpha() {
+ c[3] = 0;
+ }
+
+ Color operator*(int factor) const {
+ Color res;
+ for (int i = 0; i < 4; ++i) {
+ res.c[i] = c[i] * factor;
+ }
+ return res;
+ }
+
+ Color operator/(int factor) const {
+ Color res;
+ for (int i = 0; i < 4; ++i) {
+ res.c[i] = c[i] / factor;
+ }
+ return res;
+ }
+
+ Color operator>>(int shift) const {
+ Color res;
+ for (int i = 0; i < 4; ++i) {
+ res.c[i] = c[i] >> shift;
+ }
+ return res;
+ }
+
+ Color operator+(Color const &obj) const {
+ Color res;
+ for (int i = 0; i < 4; ++i) {
+ res.c[i] = c[i] + obj.c[i];
+ }
+ return res;
+ }
+
+ private:
+ int c[4];
+ };
+
+ size_t getIdx(int i) const {
+ size_t offset = i << 1; // 2 bytes per index
+ return (idx & (0x3 << offset)) >> offset;
+ }
+
+ unsigned short c0;
+ unsigned short c1;
+ unsigned int idx;
+ };
+ static_assert(sizeof(BC_color) == 8, "BC_color must be 8 bytes");
+
+ struct BC_channel {
+ void decode(uint8_t *dst, size_t x, size_t y, size_t dstW, size_t dstH, size_t dstPitch, size_t dstBpp, size_t channel, bool isSigned) const {
+ int c[8] = {0};
+
+ if (isSigned) {
+ c[0] = static_cast(data & 0xFF);
+ c[1] = static_cast((data & 0xFF00) >> 8);
+ } else {
+ c[0] = static_cast(data & 0xFF);
+ c[1] = static_cast((data & 0xFF00) >> 8);
+ }
+
+ if (c[0] > c[1]) {
+ for (int i = 2; i < 8; ++i) {
+ c[i] = ((8 - i) * c[0] + (i - 1) * c[1]) / 7;
+ }
+ } else {
+ for (int i = 2; i < 6; ++i) {
+ c[i] = ((6 - i) * c[0] + (i - 1) * c[1]) / 5;
+ }
+ c[6] = isSigned ? -128 : 0;
+ c[7] = isSigned ? 127 : 255;
+ }
+
+ for (size_t j = 0; j < BlockHeight && (y + j) < dstH; j++) {
+ for (size_t i = 0; i < BlockWidth && (x + i) < dstW; i++) {
+ dst[channel + (i * dstBpp) + (j * dstPitch)] = static_cast(c[getIdx((j * BlockHeight) + i)]);
+ }
+ }
+ }
+
+ private:
+ uint8_t getIdx(int i) const {
+ int offset = i * 3 + 16;
+ return static_cast((data & (0x7ull << offset)) >> offset);
+ }
+
+ uint64_t data;
+ };
+ static_assert(sizeof(BC_channel) == 8, "BC_channel must be 8 bytes");
+
+ struct BC_alpha {
+ void decode(uint8_t *dst, size_t x, size_t y, size_t dstW, size_t dstH, size_t dstPitch, size_t dstBpp) const {
+ dst += 3; // Write only to alpha (channel 3)
+ for (size_t j = 0; j < BlockHeight && (y + j) < dstH; j++, dst += dstPitch) {
+ uint8_t *dstRow = dst;
+ for (size_t i = 0; i < BlockWidth && (x + i) < dstW; i++, dstRow += dstBpp) {
+ *dstRow = getAlpha(j * BlockHeight + i);
+ }
+ }
+ }
+
+ private:
+ uint8_t getAlpha(int i) const {
+ int offset = i << 2;
+ int alpha = (data & (0xFull << offset)) >> offset;
+ return static_cast(alpha | (alpha << 4));
+ }
+
+ uint64_t data;
+ };
+ static_assert(sizeof(BC_alpha) == 8, "BC_alpha must be 8 bytes");
+
+ namespace BC6H {
+ static constexpr int MaxPartitions = 64;
+
+ // @fmt:off
+
+ static constexpr uint8_t PartitionTable2[MaxPartitions][16] = {
+ { 0, 0, 1, 1, 0, 0, 1, 1, 0, 0, 1, 1, 0, 0, 1, 1 },
+ { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1 },
+ { 0, 1, 1, 1, 0, 1, 1, 1, 0, 1, 1, 1, 0, 1, 1, 1 },
+ { 0, 0, 0, 1, 0, 0, 1, 1, 0, 0, 1, 1, 0, 1, 1, 1 },
+ { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1 },
+ { 0, 0, 1, 1, 0, 1, 1, 1, 0, 1, 1, 1, 1, 1, 1, 1 },
+ { 0, 0, 0, 1, 0, 0, 1, 1, 0, 1, 1, 1, 1, 1, 1, 1 },
+ { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 1, 0, 1, 1, 1 },
+ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 1 },
+ { 0, 0, 1, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 },
+ { 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1, 1, 1, 1, 1 },
+ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1 },
+ { 0, 0, 0, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 },
+ { 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1 },
+ { 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 },
+ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1 },
+ { 0, 0, 0, 0, 1, 0, 0, 0, 1, 1, 1, 0, 1, 1, 1, 1 },
+ { 0, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0 },
+ { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 1, 1, 0 },
+ { 0, 1, 1, 1, 0, 0, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0 },
+ { 0, 0, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0 },
+ { 0, 0, 0, 0, 1, 0, 0, 0, 1, 1, 0, 0, 1, 1, 1, 0 },
+ { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 1, 0, 0 },
+ { 0, 1, 1, 1, 0, 0, 1, 1, 0, 0, 1, 1, 0, 0, 0, 1 },
+ { 0, 0, 1, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0 },
+ { 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 1, 0, 0 },
+ { 0, 1, 1, 0, 0, 1, 1, 0, 0, 1, 1, 0, 0, 1, 1, 0 },
+ { 0, 0, 1, 1, 0, 1, 1, 0, 0, 1, 1, 0, 1, 1, 0, 0 },
+ { 0, 0, 0, 1, 0, 1, 1, 1, 1, 1, 1, 0, 1, 0, 0, 0 },
+ { 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0 },
+ { 0, 1, 1, 1, 0, 0, 0, 1, 1, 0, 0, 0, 1, 1, 1, 0 },
+ { 0, 0, 1, 1, 1, 0, 0, 1, 1, 0, 0, 1, 1, 1, 0, 0 },
+ { 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1 },
+ { 0, 0, 0, 0, 1, 1, 1, 1, 0, 0, 0, 0, 1, 1, 1, 1 },
+ { 0, 1, 0, 1, 1, 0, 1, 0, 0, 1, 0, 1, 1, 0, 1, 0 },
+ { 0, 0, 1, 1, 0, 0, 1, 1, 1, 1, 0, 0, 1, 1, 0, 0 },
+ { 0, 0, 1, 1, 1, 1, 0, 0, 0, 0, 1, 1, 1, 1, 0, 0 },
+ { 0, 1, 0, 1, 0, 1, 0, 1, 1, 0, 1, 0, 1, 0, 1, 0 },
+ { 0, 1, 1, 0, 1, 0, 0, 1, 0, 1, 1, 0, 1, 0, 0, 1 },
+ { 0, 1, 0, 1, 1, 0, 1, 0, 1, 0, 1, 0, 0, 1, 0, 1 },
+ { 0, 1, 1, 1, 0, 0, 1, 1, 1, 1, 0, 0, 1, 1, 1, 0 },
+ { 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 0, 0, 1, 0, 0, 0 },
+ { 0, 0, 1, 1, 0, 0, 1, 0, 0, 1, 0, 0, 1, 1, 0, 0 },
+ { 0, 0, 1, 1, 1, 0, 1, 1, 1, 1, 0, 1, 1, 1, 0, 0 },
+ { 0, 1, 1, 0, 1, 0, 0, 1, 1, 0, 0, 1, 0, 1, 1, 0 },
+ { 0, 0, 1, 1, 1, 1, 0, 0, 1, 1, 0, 0, 0, 0, 1, 1 },
+ { 0, 1, 1, 0, 0, 1, 1, 0, 1, 0, 0, 1, 1, 0, 0, 1 },
+ { 0, 0, 0, 0, 0, 1, 1, 0, 0, 1, 1, 0, 0, 0, 0, 0 },
+ { 0, 1, 0, 0, 1, 1, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0 },
+ { 0, 0, 1, 0, 0, 1, 1, 1, 0, 0, 1, 0, 0, 0, 0, 0 },
+ { 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 1, 1, 0, 0, 1, 0 },
+ { 0, 0, 0, 0, 0, 1, 0, 0, 1, 1, 1, 0, 0, 1, 0, 0 },
+ { 0, 1, 1, 0, 1, 1, 0, 0, 1, 0, 0, 1, 0, 0, 1, 1 },
+ { 0, 0, 1, 1, 0, 1, 1, 0, 1, 1, 0, 0, 1, 0, 0, 1 },
+ { 0, 1, 1, 0, 0, 0, 1, 1, 1, 0, 0, 1, 1, 1, 0, 0 },
+ { 0, 0, 1, 1, 1, 0, 0, 1, 1, 1, 0, 0, 0, 1, 1, 0 },
+ { 0, 1, 1, 0, 1, 1, 0, 0, 1, 1, 0, 0, 1, 0, 0, 1 },
+ { 0, 1, 1, 0, 0, 0, 1, 1, 0, 0, 1, 1, 1, 0, 0, 1 },
+ { 0, 1, 1, 1, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 1 },
+ { 0, 0, 0, 1, 1, 0, 0, 0, 1, 1, 1, 0, 0, 1, 1, 1 },
+ { 0, 0, 0, 0, 1, 1, 1, 1, 0, 0, 1, 1, 0, 0, 1, 1 },
+ { 0, 0, 1, 1, 0, 0, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0 },
+ { 0, 0, 1, 0, 0, 0, 1, 0, 1, 1, 1, 0, 1, 1, 1, 0 },
+ { 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 1, 1, 0, 1, 1, 1 },
+ };
+
+ static constexpr uint8_t AnchorTable2[MaxPartitions] = {
+ 0xf, 0xf, 0xf, 0xf, 0xf, 0xf, 0xf, 0xf,
+ 0xf, 0xf, 0xf, 0xf, 0xf, 0xf, 0xf, 0xf,
+ 0xf, 0x2, 0x8, 0x2, 0x2, 0x8, 0x8, 0xf,
+ 0x2, 0x8, 0x2, 0x2, 0x8, 0x8, 0x2, 0x2,
+ 0xf, 0xf, 0x6, 0x8, 0x2, 0x8, 0xf, 0xf,
+ 0x2, 0x8, 0x2, 0x2, 0x2, 0xf, 0xf, 0x6,
+ 0x6, 0x2, 0x6, 0x8, 0xf, 0xf, 0x2, 0x2,
+ 0xf, 0xf, 0xf, 0xf, 0xf, 0x2, 0x2, 0xf,
+ };
+
+ // @fmt:on
+
+ // 1.0f in half-precision floating point format
+ static constexpr uint16_t halfFloat1 = 0x3C00;
+ union Color {
+ struct RGBA {
+ uint16_t r = 0;
+ uint16_t g = 0;
+ uint16_t b = 0;
+ uint16_t a = halfFloat1;
+
+ RGBA(uint16_t r, uint16_t g, uint16_t b)
+ : r(r), g(g), b(b) {
+ }
+
+ RGBA &operator=(const RGBA &other) {
+ this->r = other.r;
+ this->g = other.g;
+ this->b = other.b;
+ this->a = halfFloat1;
+
+ return *this;
+ }
+ };
+
+ Color(uint16_t r, uint16_t g, uint16_t b)
+ : rgba(r, g, b) {
+ }
+
+ Color(int r, int g, int b)
+ : rgba((uint16_t) r, (uint16_t) g, (uint16_t) b) {
+ }
+
+ Color() {}
+
+ Color(const Color &other) {
+ this->rgba = other.rgba;
+ }
+
+ Color &operator=(const Color &other) {
+ this->rgba = other.rgba;
+
+ return *this;
+ }
+
+ RGBA rgba;
+ uint16_t channel[4];
+ };
+ static_assert(sizeof(Color) == 8, "BC6h::Color must be 8 bytes long");
+
+ inline int32_t extendSign(int32_t val, size_t size) {
+ // Suppose we have a 2-bit integer being stored in 4 bit variable:
+ // x = 0b00AB
+ //
+ // In order to sign extend x, we need to turn the 0s into A's:
+ // x_extend = 0bAAAB
+ //
+ // We can do that by flipping A in x then subtracting 0b0010 from x.
+ // Suppose A is 1:
+ // x = 0b001B
+ // x_flip = 0b000B
+ // x_minus = 0b111B
+ // Since A is flipped to 0, subtracting the mask sets it and all the bits above it to 1.
+ // And if A is 0:
+ // x = 0b000B
+ // x_flip = 0b001B
+ // x_minus = 0b000B
+ // We unset the bit we flipped, and touch no other bit
+ uint16_t mask = 1u << (size - 1);
+ return (val ^ mask) - mask;
+ }
+
+ static int constexpr RGBfChannels = 3;
+ struct RGBf {
+ uint16_t channel[RGBfChannels];
+ size_t size[RGBfChannels];
+ bool isSigned;
+
+ RGBf() {
+ static_assert(RGBfChannels == 3, "RGBf must have exactly 3 channels");
+ static_assert(sizeof(channel) / sizeof(channel[0]) == RGBfChannels, "RGBf must have exactly 3 channels");
+ static_assert(sizeof(channel) / sizeof(channel[0]) == sizeof(size) / sizeof(size[0]), "RGBf requires equally sized arrays for channels and channel sizes");
+
+ for (int i = 0; i < RGBfChannels; i++) {
+ channel[i] = 0;
+ size[i] = 0;
+ }
+
+ isSigned = false;
+ }
+
+ void extendSign() {
+ for (int i = 0; i < RGBfChannels; i++) {
+ channel[i] = BC6H::extendSign(channel[i], size[i]);
+ }
+ }
+
+ // Assuming this is the delta, take the base-endpoint and transform this into
+ // a proper endpoint.
+ //
+ // The final computed endpoint is truncated to the base-endpoint's size;
+ void resolveDelta(RGBf base) {
+ for (int i = 0; i < RGBfChannels; i++) {
+ size[i] = base.size[i];
+ channel[i] = (base.channel[i] + channel[i]) & ((1 << base.size[i]) - 1);
+ }
+
+ // Per the spec:
+ // "For signed formats, the results of the delta calculation must be sign
+ // extended as well."
+ if (isSigned) {
+ extendSign();
+ }
+ }
+
+ void unquantize() {
+ if (isSigned) {
+ unquantizeSigned();
+ } else {
+ unquantizeUnsigned();
+ }
+ }
+
+ void unquantizeUnsigned() {
+ for (int i = 0; i < RGBfChannels; i++) {
+ if (size[i] >= 15 || channel[i] == 0) {
+ continue;
+ } else if (channel[i] == ((1u << size[i]) - 1)) {
+ channel[i] = 0xFFFFu;
+ } else {
+ // Need 32 bits to avoid overflow
+ uint32_t tmp = channel[i];
+ channel[i] = (uint16_t) (((tmp << 16) + 0x8000) >> size[i]);
+ }
+ size[i] = 16;
+ }
+ }
+
+ void unquantizeSigned() {
+ for (int i = 0; i < RGBfChannels; i++) {
+ if (size[i] >= 16 || channel[i] == 0) {
+ continue;
+ }
+
+ int16_t value = (int16_t)channel[i];
+ int32_t result = value;
+ bool signBit = value < 0;
+ if (signBit) {
+ value = -value;
+ }
+
+ if (value >= ((1 << (size[i] - 1)) - 1)) {
+ result = 0x7FFF;
+ } else {
+ // Need 32 bits to avoid overflow
+ int32_t tmp = value;
+ result = (((tmp << 15) + 0x4000) >> (size[i] - 1));
+ }
+
+ if (signBit) {
+ result = -result;
+ }
+
+ channel[i] = (uint16_t) result;
+ size[i] = 16;
+ }
+ }
+ };
+
+ struct Data {
+ uint64_t low64;
+ uint64_t high64;
+
+ Data() = default;
+
+ Data(uint64_t low64, uint64_t high64)
+ : low64(low64), high64(high64) {
+ }
+
+ // Consumes the lowest N bits from from low64 and high64 where N is:
+ // abs(MSB - LSB)
+ // MSB and LSB come from the block description of the BC6h spec and specify
+ // the location of the bits in the returned bitstring.
+ //
+ // If MSB < LSB, then the bits are reversed. Otherwise, the bitstring is read and
+ // shifted without further modification.
+ //
+ uint32_t consumeBits(uint32_t MSB, uint32_t LSB) {
+ bool reversed = MSB < LSB;
+ if (reversed) {
+ std::swap(MSB, LSB);
+ }
+ assert(MSB - LSB + 1 < sizeof(uint32_t) * 8);
+
+ uint32_t numBits = MSB - LSB + 1;
+ uint32_t mask = (1 << numBits) - 1;
+ // Read the low N bits
+ uint32_t bits = (low64 & mask);
+
+ low64 >>= numBits;
+ // Put the low N bits of high64 into the high 64-N bits of low64
+ low64 |= (high64 & mask) << (sizeof(high64) * 8 - numBits);
+ high64 >>= numBits;
+
+ if (reversed) {
+ uint32_t tmp = 0;
+ for (uint32_t numSwaps = 0; numSwaps < numBits; numSwaps++) {
+ tmp <<= 1;
+ tmp |= (bits & 1);
+ bits >>= 1;
+ }
+
+ bits = tmp;
+ }
+
+ return bits << LSB;
+ }
+ };
+
+ struct IndexInfo {
+ uint64_t value;
+ int numBits;
+ };
+
+// Interpolates between two endpoints, then does a final unquantization step
+ Color interpolate(RGBf e0, RGBf e1, const IndexInfo &index, bool isSigned) {
+ static constexpr uint32_t weights3[] = {0, 9, 18, 27, 37, 46, 55, 64};
+ static constexpr uint32_t weights4[] = {0, 4, 9, 13, 17, 21, 26, 30,
+ 34, 38, 43, 47, 51, 55, 60, 64};
+ static constexpr uint32_t const *weightsN[] = {
+ nullptr, nullptr, nullptr, weights3, weights4
+ };
+ auto weights = weightsN[index.numBits];
+ assert(weights != nullptr);
+ Color color;
+ uint32_t e0Weight = 64 - weights[index.value];
+ uint32_t e1Weight = weights[index.value];
+
+ for (int i = 0; i < RGBfChannels; i++) {
+ int32_t e0Channel = e0.channel[i];
+ int32_t e1Channel = e1.channel[i];
+
+ if (isSigned) {
+ e0Channel = extendSign(e0Channel, 16);
+ e1Channel = extendSign(e1Channel, 16);
+ }
+
+ int32_t e0Value = e0Channel * e0Weight;
+ int32_t e1Value = e1Channel * e1Weight;
+
+ uint32_t tmp = ((e0Value + e1Value + 32) >> 6);
+
+ // Need to unquantize value to limit it to the legal range of half-precision
+ // floats. We do this by scaling by 31/32 or 31/64 depending on if the value
+ // is signed or unsigned.
+ if (isSigned) {
+ tmp = ((tmp & 0x80000000) != 0) ? (((~tmp + 1) * 31) >> 5) | 0x8000 : (tmp * 31) >> 5;
+ // Don't return -0.0f, just normalize it to 0.0f.
+ if (tmp == 0x8000)
+ tmp = 0;
+ } else {
+ tmp = (tmp * 31) >> 6;
+ }
+
+ color.channel[i] = (uint16_t) tmp;
+ }
+
+ return color;
+ }
+
+ enum DataType {
+ // Endpoints
+ EP0 = 0,
+ EP1 = 1,
+ EP2 = 2,
+ EP3 = 3,
+ Mode,
+ Partition,
+ End,
+ };
+
+ enum Channel {
+ R = 0,
+ G = 1,
+ B = 2,
+ None,
+ };
+
+ struct DeltaBits {
+ size_t channel[3];
+
+ constexpr DeltaBits()
+ : channel{0, 0, 0} {
+ }
+
+ constexpr DeltaBits(size_t r, size_t g, size_t b)
+ : channel{r, g, b} {
+ }
+ };
+
+ struct ModeDesc {
+ int number;
+ bool hasDelta;
+ int partitionCount;
+ int endpointBits;
+ DeltaBits deltaBits;
+
+ constexpr ModeDesc()
+ : number(-1), hasDelta(false), partitionCount(0), endpointBits(0) {
+ }
+
+ constexpr ModeDesc(int number, bool hasDelta, int partitionCount, int endpointBits, DeltaBits deltaBits)
+ : number(number), hasDelta(hasDelta), partitionCount(partitionCount), endpointBits(endpointBits), deltaBits(deltaBits) {
+ }
+ };
+
+ struct BlockDesc {
+ DataType type;
+ Channel channel;
+ int MSB;
+ int LSB;
+ ModeDesc modeDesc;
+
+ constexpr BlockDesc()
+ : type(End), channel(None), MSB(0), LSB(0), modeDesc() {
+ }
+
+ constexpr BlockDesc(const DataType type, Channel channel, int MSB, int LSB, ModeDesc modeDesc)
+ : type(type), channel(channel), MSB(MSB), LSB(LSB), modeDesc(modeDesc) {
+ }
+
+ constexpr BlockDesc(DataType type, Channel channel, int MSB, int LSB)
+ : type(type), channel(channel), MSB(MSB), LSB(LSB), modeDesc() {
+ }
+ };
+
+// Turns a legal mode into an index into the BlockDesc table.
+// Illegal or reserved modes return -1.
+ static int modeToIndex(uint8_t mode) {
+ if (mode <= 3) {
+ return mode;
+ } else if ((mode & 0x2) != 0) {
+ if (mode <= 18) {
+// Turns 6 into 4, 7 into 5, 10 into 6, etc.
+ return (mode / 2) + 1 + (mode & 0x1);
+ } else if (mode == 22 || mode == 26 || mode == 30) {
+// Turns 22 into 11, 26 into 12, etc.
+ return mode / 4 + 6;
+ }
+ }
+
+ return -1;
+ }
+
+// Returns a description of the bitfields for each mode from the LSB
+// to the MSB before the index data starts.
+//
+// The numbers come from the BC6h block description. Each BlockDesc in the
+// {Type, Channel, MSB, LSB}
+// * Type describes which endpoint this is, or if this is a mode, a partition
+// number, or the end of the block description.
+// * Channel describes one of the 3 color channels within an endpoint
+// * MSB and LSB specificy:
+// * The size of the bitfield being read
+// * The position of the bitfield within the variable it is being read to
+// * If the bitfield is stored in reverse bit order
+// If MSB < LSB then the bitfield is stored in reverse order. The size of
+// the bitfield is abs(MSB-LSB+1). And the position of the bitfield within
+// the variable is min(LSB, MSB).
+//
+// Invalid or reserved modes return an empty list.
+ static constexpr int NumBlocks = 14;
+// The largest number of descriptions within a block.
+ static constexpr int MaxBlockDescIndex = 26;
+ static constexpr BlockDesc blockDescs[NumBlocks][MaxBlockDescIndex] = {
+// @fmt:off
+// Mode 0, Index 0
+{
+{ Mode, None, 1, 0, { 0, true, 2, 10, { 5, 5, 5 } } },
+{ EP2, G, 4, 4 }, { EP2, B, 4, 4 }, { EP3, B, 4, 4 },
+{ EP0, R, 9, 0 }, { EP0, G, 9, 0 }, { EP0, B, 9, 0 },
+{ EP1, R, 4, 0 }, { EP3, G, 4, 4 }, { EP2, G, 3, 0 },
+{ EP1, G, 4, 0 }, { EP3, B, 0, 0 }, { EP3, G, 3, 0 },
+{ EP1, B, 4, 0 }, { EP3, B, 1, 1 }, { EP2, B, 3, 0 },
+{ EP2, R, 4, 0 }, { EP3, B, 2, 2 }, { EP3, R, 4, 0 },
+{ EP3, B, 3, 3 },
+{ Partition, None, 4, 0 },
+{ End, None, 0, 0},
+},
+// Mode 1, Index 1
+{
+{ Mode, None, 1, 0, { 1, true, 2, 7, { 6, 6, 6 } } },
+{ EP2, G, 5, 5 }, { EP3, G, 5, 4 }, { EP0, R, 6, 0 },
+{ EP3, B, 1, 0 }, { EP2, B, 4, 4 }, { EP0, G, 6, 0 },
+{ EP2, B, 5, 5 }, { EP3, B, 2, 2 }, { EP2, G, 4, 4 },
+{ EP0, B, 6, 0 }, { EP3, B, 3, 3 }, { EP3, B, 5, 5 },
+{ EP3, B, 4, 4 }, { EP1, R, 5, 0 }, { EP2, G, 3, 0 },
+{ EP1, G, 5, 0 }, { EP3, G, 3, 0 }, { EP1, B, 5, 0 },
+{ EP2, B, 3, 0 }, { EP2, R, 5, 0 }, { EP3, R, 5, 0 },
+{ Partition, None, 4, 0 },
+{ End, None, 0, 0},
+},
+// Mode 2, Index 2
+{
+{ Mode, None, 4, 0, { 2, true, 2, 11, { 5, 4, 4 } } },
+{ EP0, R, 9, 0 }, { EP0, G, 9, 0 }, { EP0, B, 9, 0 },
+{ EP1, R, 4, 0 }, { EP0, R, 10, 10 }, { EP2, G, 3, 0 },
+{ EP1, G, 3, 0 }, { EP0, G, 10, 10 }, { EP3, B, 0, 0 },
+{ EP3, G, 3, 0 }, { EP1, B, 3, 0 }, { EP0, B, 10, 10 },
+{ EP3, B, 1, 1 }, { EP2, B, 3, 0 }, { EP2, R, 4, 0 },
+{ EP3, B, 2, 2 }, { EP3, R, 4, 0 }, { EP3, B, 3, 3 },
+{ Partition, None, 4, 0 },
+{ End, None, 0, 0},
+},
+// Mode 3, Index 3
+{
+{ Mode, None, 4, 0, { 3, false, 1, 10, { 0, 0, 0 } } },
+{ EP0, R, 9, 0 }, { EP0, G, 9, 0 }, { EP0, B, 9, 0 },
+{ EP1, R, 9, 0 }, { EP1, G, 9, 0 }, { EP1, B, 9, 0 },
+{ End, None, 0, 0},
+},
+// Mode 6, Index 4
+{
+{ Mode, None, 4, 0, { 6, true, 2, 11, { 4, 5, 4 } } }, // 1 1
+{ EP0, R, 9, 0 }, { EP0, G, 9, 0 }, { EP0, B, 9, 0 },
+{ EP1, R, 3, 0 }, { EP0, R, 10, 10 }, { EP3, G, 4, 4 },
+{ EP2, G, 3, 0 }, { EP1, G, 4, 0 }, { EP0, G, 10, 10 },
+{ EP3, G, 3, 0 }, { EP1, B, 3, 0 }, { EP0, B, 10, 10 },
+{ EP3, B, 1, 1 }, { EP2, B, 3, 0 }, { EP2, R, 3, 0 },
+{ EP3, B, 0, 0 }, { EP3, B, 2, 2 }, { EP3, R, 3, 0 }, // 18 19
+{ EP2, G, 4, 4 }, { EP3, B, 3, 3 }, // 2 21
+{ Partition, None, 4, 0 },
+{ End, None, 0, 0},
+},
+// Mode 7, Index 5
+{
+{ Mode, None, 4, 0, { 7, true, 1, 11, { 9, 9, 9 } } },
+{ EP0, R, 9, 0 }, { EP0, G, 9, 0 }, { EP0, B, 9, 0 },
+{ EP1, R, 8, 0 }, { EP0, R, 10, 10 }, { EP1, G, 8, 0 },
+{ EP0, G, 10, 10 }, { EP1, B, 8, 0 }, { EP0, B, 10, 10 },
+{ End, None, 0, 0},
+},
+// Mode 10, Index 6
+{
+{ Mode, None, 4, 0, { 10, true, 2, 11, { 4, 4, 5 } } },
+{ EP0, R, 9, 0 }, { EP0, G, 9, 0 }, { EP0, B, 9, 0 },
+{ EP1, R, 3, 0 }, { EP0, R, 10, 10 }, { EP2, B, 4, 4 },
+{ EP2, G, 3, 0 }, { EP1, G, 3, 0 }, { EP0, G, 10, 10 },
+{ EP3, B, 0, 0 }, { EP3, G, 3, 0 }, { EP1, B, 4, 0 },
+{ EP0, B, 10, 10 }, { EP2, B, 3, 0 }, { EP2, R, 3, 0 },
+{ EP3, B, 1, 1 }, { EP3, B, 2, 2 }, { EP3, R, 3, 0 },
+{ EP3, B, 4, 4 }, { EP3, B, 3, 3 },
+{ Partition, None, 4, 0 },
+{ End, None, 0, 0},
+},
+// Mode 11, Index 7
+{
+{ Mode, None, 4, 0, { 11, true, 1, 12, { 8, 8, 8 } } },
+{ EP0, R, 9, 0 }, { EP0, G, 9, 0 }, { EP0, B, 9, 0 },
+{ EP1, R, 7, 0 }, { EP0, R, 10, 11 }, { EP1, G, 7, 0 },
+{ EP0, G, 10, 11 }, { EP1, B, 7, 0 }, { EP0, B, 10, 11 },
+{ End, None, 0, 0},
+},
+// Mode 14, Index 8
+{
+{ Mode, None, 4, 0, { 14, true, 2, 9, { 5, 5, 5 } } },
+{ EP0, R, 8, 0 }, { EP2, B, 4, 4 }, { EP0, G, 8, 0 },
+{ EP2, G, 4, 4 }, { EP0, B, 8, 0 }, { EP3, B, 4, 4 },
+{ EP1, R, 4, 0 }, { EP3, G, 4, 4 }, { EP2, G, 3, 0 },
+{ EP1, G, 4, 0 }, { EP3, B, 0, 0 }, { EP3, G, 3, 0 },
+{ EP1, B, 4, 0 }, { EP3, B, 1, 1 }, { EP2, B, 3, 0 },
+{ EP2, R, 4, 0 }, { EP3, B, 2, 2 }, { EP3, R, 4, 0 },
+{ EP3, B, 3, 3 },
+{ Partition, None, 4, 0 },
+{ End, None, 0, 0},
+},
+// Mode 15, Index 9
+{
+{ Mode, None, 4, 0, { 15, true, 1, 16, { 4, 4, 4 } } },
+{ EP0, R, 9, 0 }, { EP0, G, 9, 0 }, { EP0, B, 9, 0 },
+{ EP1, R, 3, 0 }, { EP0, R, 10, 15 }, { EP1, G, 3, 0 },
+{ EP0, G, 10, 15 }, { EP1, B, 3, 0 }, { EP0, B, 10, 15 },
+{ End, None, 0, 0},
+},
+// Mode 18, Index 10
+{
+{ Mode, None, 4, 0, { 18, true, 2, 8, { 6, 5, 5 } } },
+{ EP0, R, 7, 0 }, { EP3, G, 4, 4 }, { EP2, B, 4, 4 },
+{ EP0, G, 7, 0 }, { EP3, B, 2, 2 }, { EP2, G, 4, 4 },
+{ EP0, B, 7, 0 }, { EP3, B, 3, 3 }, { EP3, B, 4, 4 },
+{ EP1, R, 5, 0 }, { EP2, G, 3, 0 }, { EP1, G, 4, 0 },
+{ EP3, B, 0, 0 }, { EP3, G, 3, 0 }, { EP1, B, 4, 0 },
+{ EP3, B, 1, 1 }, { EP2, B, 3, 0 }, { EP2, R, 5, 0 },
+{ EP3, R, 5, 0 },
+{ Partition, None, 4, 0 },
+{ End, None, 0, 0},
+},
+// Mode 22, Index 11
+{
+{ Mode, None, 4, 0, { 22, true, 2, 8, { 5, 6, 5 } } },
+{ EP0, R, 7, 0 }, { EP3, B, 0, 0 }, { EP2, B, 4, 4 },
+{ EP0, G, 7, 0 }, { EP2, G, 5, 5 }, { EP2, G, 4, 4 },
+{ EP0, B, 7, 0 }, { EP3, G, 5, 5 }, { EP3, B, 4, 4 },
+{ EP1, R, 4, 0 }, { EP3, G, 4, 4 }, { EP2, G, 3, 0 },
+{ EP1, G, 5, 0 }, { EP3, G, 3, 0 }, { EP1, B, 4, 0 },
+{ EP3, B, 1, 1 }, { EP2, B, 3, 0 }, { EP2, R, 4, 0 },
+{ EP3, B, 2, 2 }, { EP3, R, 4, 0 }, { EP3, B, 3, 3 },
+{ Partition, None, 4, 0 },
+{ End, None, 0, 0},
+},
+// Mode 26, Index 12
+{
+{ Mode, None, 4, 0, { 26, true, 2, 8, { 5, 5, 6 } } },
+{ EP0, R, 7, 0 }, { EP3, B, 1, 1 }, { EP2, B, 4, 4 },
+{ EP0, G, 7, 0 }, { EP2, B, 5, 5 }, { EP2, G, 4, 4 },
+{ EP0, B, 7, 0 }, { EP3, B, 5, 5 }, { EP3, B, 4, 4 },
+{ EP1, R, 4, 0 }, { EP3, G, 4, 4 }, { EP2, G, 3, 0 },
+{ EP1, G, 4, 0 }, { EP3, B, 0, 0 }, { EP3, G, 3, 0 },
+{ EP1, B, 5, 0 }, { EP2, B, 3, 0 }, { EP2, R, 4, 0 },
+{ EP3, B, 2, 2 }, { EP3, R, 4, 0 }, { EP3, B, 3, 3 },
+{ Partition, None, 4, 0 },
+{ End, None, 0, 0},
+},
+// Mode 30, Index 13
+{
+{ Mode, None, 4, 0, { 30, false, 2, 6, { 0, 0, 0 } } },
+{ EP0, R, 5, 0 }, { EP3, G, 4, 4 }, { EP3, B, 0, 0 },
+{ EP3, B, 1, 1 }, { EP2, B, 4, 4 }, { EP0, G, 5, 0 },
+{ EP2, G, 5, 5 }, { EP2, B, 5, 5 }, { EP3, B, 2, 2 },
+{ EP2, G, 4, 4 }, { EP0, B, 5, 0 }, { EP3, G, 5, 5 },
+{ EP3, B, 3, 3 }, { EP3, B, 5, 5 }, { EP3, B, 4, 4 },
+{ EP1, R, 5, 0 }, { EP2, G, 3, 0 }, { EP1, G, 5, 0 },
+{ EP3, G, 3, 0 }, { EP1, B, 5, 0 }, { EP2, B, 3, 0 },
+{ EP2, R, 5, 0 }, { EP3, R, 5, 0 },
+{ Partition, None, 4, 0 },
+{ End, None, 0, 0},
+}
+// @fmt:on
+ };
+
+ struct Block {
+ uint64_t low64;
+ uint64_t high64;
+
+ void decode(uint8_t *dst, size_t dstX, size_t dstY, size_t dstWidth, size_t dstHeight, size_t dstPitch, size_t dstBpp, bool isSigned) const {
+ uint8_t mode = 0;
+ Data data(low64, high64);
+ assert(dstBpp == sizeof(Color));
+
+ if ((data.low64 & 0x2) == 0) {
+ mode = data.consumeBits(1, 0);
+ } else {
+ mode = data.consumeBits(4, 0);
+ }
+
+ int blockIndex = modeToIndex(mode);
+ // Handle illegal or reserved mode
+ if (blockIndex == -1) {
+ for (int y = 0; y < 4 && y + dstY < dstHeight; y++) {
+ for (int x = 0; x < 4 && x + dstX < dstWidth; x++) {
+ auto out = reinterpret_cast(dst + sizeof(Color) * x + dstPitch * y);
+ out->rgba = {0, 0, 0};
+ }
+ }
+ return;
+ }
+ const BlockDesc *blockDesc = blockDescs[blockIndex];
+
+ RGBf e[4];
+ e[0].isSigned = e[1].isSigned = e[2].isSigned = e[3].isSigned = isSigned;
+
+ int partition = 0;
+ ModeDesc modeDesc;
+ for (int index = 0; blockDesc[index].type != End; index++) {
+ const BlockDesc desc = blockDesc[index];
+
+ switch (desc.type) {
+ case Mode:
+ modeDesc = desc.modeDesc;
+ assert(modeDesc.number == mode);
+
+ e[0].size[0] = e[0].size[1] = e[0].size[2] = modeDesc.endpointBits;
+ for (int i = 0; i < RGBfChannels; i++) {
+ if (modeDesc.hasDelta) {
+ e[1].size[i] = e[2].size[i] = e[3].size[i] = modeDesc.deltaBits.channel[i];
+ } else {
+ e[1].size[i] = e[2].size[i] = e[3].size[i] = modeDesc.endpointBits;
+ }
+ }
+ break;
+ case Partition:
+ partition |= data.consumeBits(desc.MSB, desc.LSB);
+ break;
+ case EP0:
+ case EP1:
+ case EP2:
+ case EP3:
+ e[desc.type].channel[desc.channel] |= data.consumeBits(desc.MSB, desc.LSB);
+ break;
+ default:
+ assert(false);
+ return;
+ }
+ }
+
+ // Sign extension
+ if (isSigned) {
+ for (int ep = 0; ep < modeDesc.partitionCount * 2; ep++) {
+ e[ep].extendSign();
+ }
+ } else if (modeDesc.hasDelta) {
+ // Don't sign-extend the base endpoint in an unsigned format.
+ for (int ep = 1; ep < modeDesc.partitionCount * 2; ep++) {
+ e[ep].extendSign();
+ }
+ }
+
+ // Turn the deltas into endpoints
+ if (modeDesc.hasDelta) {
+ for (int ep = 1; ep < modeDesc.partitionCount * 2; ep++) {
+ e[ep].resolveDelta(e[0]);
+ }
+ }
+
+ for (int ep = 0; ep < modeDesc.partitionCount * 2; ep++) {
+ e[ep].unquantize();
+ }
+
+ // Get the indices, calculate final colors, and output
+ for (int y = 0; y < 4; y++) {
+ for (int x = 0; x < 4; x++) {
+ int pixelNum = x + y * 4;
+ IndexInfo idx;
+ bool isAnchor = false;
+ int firstEndpoint = 0;
+ // Bc6H can have either 1 or 2 petitions depending on the mode.
+ // The number of petitions affects the number of indices with implicit
+ // leading 0 bits and the number of bits per index.
+ if (modeDesc.partitionCount == 1) {
+ idx.numBits = 4;
+ // There's an implicit leading 0 bit for the first idx
+ isAnchor = (pixelNum == 0);
+ } else {
+ idx.numBits = 3;
+ // There are 2 indices with implicit leading 0-bits.
+ isAnchor = ((pixelNum == 0) || (pixelNum == AnchorTable2[partition]));
+ firstEndpoint = PartitionTable2[partition][pixelNum] * 2;
+ }
+
+ idx.value = data.consumeBits(idx.numBits - isAnchor - 1, 0);
+
+ // Don't exit the loop early, we need to consume these index bits regardless if
+ // we actually output them or not.
+ if ((y + dstY >= dstHeight) || (x + dstX >= dstWidth)) {
+ continue;
+ }
+
+ Color color = interpolate(e[firstEndpoint], e[firstEndpoint + 1], idx, isSigned);
+ auto out = reinterpret_cast(dst + dstBpp * x + dstPitch * y);
+ *out = color;
+ }
+ }
+ }
+ };
+
+ } // namespace BC6H
+
+ namespace BC7 {
+// https://www.khronos.org/registry/OpenGL/extensions/ARB/ARB_texture_compression_bptc.txt
+// https://docs.microsoft.com/en-us/windows/win32/direct3d11/bc7-format
+
+ struct Bitfield {
+ int offset;
+ int count;
+
+ constexpr Bitfield Then(const int bits) { return {offset + count, bits}; }
+
+ constexpr bool operator==(const Bitfield &rhs) {
+ return offset == rhs.offset && count == rhs.count;
+ }
+ };
+
+ struct Mode {
+ const int IDX; // Mode index
+ const int NS; // Number of subsets in each partition
+ const int PB; // Partition bits
+ const int RB; // Rotation bits
+ const int ISB; // Index selection bits
+ const int CB; // Color bits
+ const int AB; // Alpha bits
+ const int EPB; // Endpoint P-bits
+ const int SPB; // Shared P-bits
+ const int IB; // Primary index bits per element
+ const int IBC; // Primary index bits total
+ const int IB2; // Secondary index bits per element
+
+ constexpr int NumColors() const { return NS * 2; }
+
+ constexpr Bitfield Partition() const { return {IDX + 1, PB}; }
+
+ constexpr Bitfield Rotation() const { return Partition().Then(RB); }
+
+ constexpr Bitfield IndexSelection() const { return Rotation().Then(ISB); }
+
+ constexpr Bitfield Red(int idx) const {
+ return IndexSelection().Then(CB * idx).Then(CB);
+ }
+
+ constexpr Bitfield Green(int idx) const {
+ return Red(NumColors() - 1).Then(CB * idx).Then(CB);
+ }
+
+ constexpr Bitfield Blue(int idx) const {
+ return Green(NumColors() - 1).Then(CB * idx).Then(CB);
+ }
+
+ constexpr Bitfield Alpha(int idx) const {
+ return Blue(NumColors() - 1).Then(AB * idx).Then(AB);
+ }
+
+ constexpr Bitfield EndpointPBit(int idx) const {
+ return Alpha(NumColors() - 1).Then(EPB * idx).Then(EPB);
+ }
+
+ constexpr Bitfield SharedPBit0() const {
+ return EndpointPBit(NumColors() - 1).Then(SPB);
+ }
+
+ constexpr Bitfield SharedPBit1() const {
+ return SharedPBit0().Then(SPB);
+ }
+
+ constexpr Bitfield PrimaryIndex(int offset, int count) const {
+ return SharedPBit1().Then(offset).Then(count);
+ }
+
+ constexpr Bitfield SecondaryIndex(int offset, int count) const {
+ return SharedPBit1().Then(IBC + offset).Then(count);
+ }
+ };
+
+ static constexpr Mode Modes[] = {
+ // IDX NS PB RB ISB CB AB EPB SPB IB IBC, IB2
+ /**/ {0x0, 0x3, 0x4, 0x0, 0x0, 0x4, 0x0, 0x1, 0x0, 0x3, 0x2d, 0x0},
+/**/ {0x1, 0x2, 0x6, 0x0, 0x0, 0x6, 0x0, 0x0, 0x1, 0x3, 0x2e, 0x0},
+/**/ {0x2, 0x3, 0x6, 0x0, 0x0, 0x5, 0x0, 0x0, 0x0, 0x2, 0x1d, 0x0},
+/**/ {0x3, 0x2, 0x6, 0x0, 0x0, 0x7, 0x0, 0x1, 0x0, 0x2, 0x1e, 0x0},
+/**/ {0x4, 0x1, 0x0, 0x2, 0x1, 0x5, 0x6, 0x0, 0x0, 0x2, 0x1f, 0x3},
+/**/ {0x5, 0x1, 0x0, 0x2, 0x0, 0x7, 0x8, 0x0, 0x0, 0x2, 0x1f, 0x2},
+/**/ {0x6, 0x1, 0x0, 0x0, 0x0, 0x7, 0x7, 0x1, 0x0, 0x4, 0x3f, 0x0},
+/**/ {0x7, 0x2, 0x6, 0x0, 0x0, 0x5, 0x5, 0x1, 0x0, 0x2, 0x1e, 0x0},
+/**/ {-1, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x00, 0x0},
+ };
+
+ static constexpr int MaxPartitions = 64;
+ static constexpr int MaxSubsets = 3;
+
+ static constexpr uint8_t PartitionTable2[MaxPartitions][16] = {
+ {0, 0, 1, 1, 0, 0, 1, 1, 0, 0, 1, 1, 0, 0, 1, 1},
+ {0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1},
+ {0, 1, 1, 1, 0, 1, 1, 1, 0, 1, 1, 1, 0, 1, 1, 1},
+ {0, 0, 0, 1, 0, 0, 1, 1, 0, 0, 1, 1, 0, 1, 1, 1},
+ {0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1},
+ {0, 0, 1, 1, 0, 1, 1, 1, 0, 1, 1, 1, 1, 1, 1, 1},
+ {0, 0, 0, 1, 0, 0, 1, 1, 0, 1, 1, 1, 1, 1, 1, 1},
+ {0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 1, 0, 1, 1, 1},
+ {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 1},
+ {0, 0, 1, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1},
+ {0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1, 1, 1, 1, 1},
+ {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1},
+ {0, 0, 0, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1},
+ {0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1},
+ {0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1},
+ {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1},
+ {0, 0, 0, 0, 1, 0, 0, 0, 1, 1, 1, 0, 1, 1, 1, 1},
+ {0, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0},
+ {0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 1, 1, 0},
+ {0, 1, 1, 1, 0, 0, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0},
+ {0, 0, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0},
+ {0, 0, 0, 0, 1, 0, 0, 0, 1, 1, 0, 0, 1, 1, 1, 0},
+ {0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 1, 0, 0},
+ {0, 1, 1, 1, 0, 0, 1, 1, 0, 0, 1, 1, 0, 0, 0, 1},
+ {0, 0, 1, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0},
+ {0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 1, 0, 0},
+ {0, 1, 1, 0, 0, 1, 1, 0, 0, 1, 1, 0, 0, 1, 1, 0},
+ {0, 0, 1, 1, 0, 1, 1, 0, 0, 1, 1, 0, 1, 1, 0, 0},
+ {0, 0, 0, 1, 0, 1, 1, 1, 1, 1, 1, 0, 1, 0, 0, 0},
+ {0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0},
+ {0, 1, 1, 1, 0, 0, 0, 1, 1, 0, 0, 0, 1, 1, 1, 0},
+ {0, 0, 1, 1, 1, 0, 0, 1, 1, 0, 0, 1, 1, 1, 0, 0},
+ {0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1},
+ {0, 0, 0, 0, 1, 1, 1, 1, 0, 0, 0, 0, 1, 1, 1, 1},
+ {0, 1, 0, 1, 1, 0, 1, 0, 0, 1, 0, 1, 1, 0, 1, 0},
+ {0, 0, 1, 1, 0, 0, 1, 1, 1, 1, 0, 0, 1, 1, 0, 0},
+ {0, 0, 1, 1, 1, 1, 0, 0, 0, 0, 1, 1, 1, 1, 0, 0},
+ {0, 1, 0, 1, 0, 1, 0, 1, 1, 0, 1, 0, 1, 0, 1, 0},
+ {0, 1, 1, 0, 1, 0, 0, 1, 0, 1, 1, 0, 1, 0, 0, 1},
+ {0, 1, 0, 1, 1, 0, 1, 0, 1, 0, 1, 0, 0, 1, 0, 1},
+ {0, 1, 1, 1, 0, 0, 1, 1, 1, 1, 0, 0, 1, 1, 1, 0},
+ {0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 0, 0, 1, 0, 0, 0},
+ {0, 0, 1, 1, 0, 0, 1, 0, 0, 1, 0, 0, 1, 1, 0, 0},
+ {0, 0, 1, 1, 1, 0, 1, 1, 1, 1, 0, 1, 1, 1, 0, 0},
+ {0, 1, 1, 0, 1, 0, 0, 1, 1, 0, 0, 1, 0, 1, 1, 0},
+ {0, 0, 1, 1, 1, 1, 0, 0, 1, 1, 0, 0, 0, 0, 1, 1},
+ {0, 1, 1, 0, 0, 1, 1, 0, 1, 0, 0, 1, 1, 0, 0, 1},
+ {0, 0, 0, 0, 0, 1, 1, 0, 0, 1, 1, 0, 0, 0, 0, 0},
+ {0, 1, 0, 0, 1, 1, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0},
+ {0, 0, 1, 0, 0, 1, 1, 1, 0, 0, 1, 0, 0, 0, 0, 0},
+ {0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 1, 1, 0, 0, 1, 0},
+ {0, 0, 0, 0, 0, 1, 0, 0, 1, 1, 1, 0, 0, 1, 0, 0},
+ {0, 1, 1, 0, 1, 1, 0, 0, 1, 0, 0, 1, 0, 0, 1, 1},
+ {0, 0, 1, 1, 0, 1, 1, 0, 1, 1, 0, 0, 1, 0, 0, 1},
+ {0, 1, 1, 0, 0, 0, 1, 1, 1, 0, 0, 1, 1, 1, 0, 0},
+ {0, 0, 1, 1, 1, 0, 0, 1, 1, 1, 0, 0, 0, 1, 1, 0},
+ {0, 1, 1, 0, 1, 1, 0, 0, 1, 1, 0, 0, 1, 0, 0, 1},
+ {0, 1, 1, 0, 0, 0, 1, 1, 0, 0, 1, 1, 1, 0, 0, 1},
+ {0, 1, 1, 1, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 1},
+ {0, 0, 0, 1, 1, 0, 0, 0, 1, 1, 1, 0, 0, 1, 1, 1},
+ {0, 0, 0, 0, 1, 1, 1, 1, 0, 0, 1, 1, 0, 0, 1, 1},
+ {0, 0, 1, 1, 0, 0, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0},
+ {0, 0, 1, 0, 0, 0, 1, 0, 1, 1, 1, 0, 1, 1, 1, 0},
+ {0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 1, 1, 0, 1, 1, 1},
+ };
+
+ static constexpr uint8_t PartitionTable3[MaxPartitions][16] = {
+ {0, 0, 1, 1, 0, 0, 1, 1, 0, 2, 2, 1, 2, 2, 2, 2},
+ {0, 0, 0, 1, 0, 0, 1, 1, 2, 2, 1, 1, 2, 2, 2, 1},
+ {0, 0, 0, 0, 2, 0, 0, 1, 2, 2, 1, 1, 2, 2, 1, 1},
+ {0, 2, 2, 2, 0, 0, 2, 2, 0, 0, 1, 1, 0, 1, 1, 1},
+ {0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 2, 2, 1, 1, 2, 2},
+ {0, 0, 1, 1, 0, 0, 1, 1, 0, 0, 2, 2, 0, 0, 2, 2},
+ {0, 0, 2, 2, 0, 0, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1},
+ {0, 0, 1, 1, 0, 0, 1, 1, 2, 2, 1, 1, 2, 2, 1, 1},
+ {0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 2, 2, 2, 2},
+ {0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 2, 2, 2, 2},
+ {0, 0, 0, 0, 1, 1, 1, 1, 2, 2, 2, 2, 2, 2, 2, 2},
+ {0, 0, 1, 2, 0, 0, 1, 2, 0, 0, 1, 2, 0, 0, 1, 2},
+ {0, 1, 1, 2, 0, 1, 1, 2, 0, 1, 1, 2, 0, 1, 1, 2},
+ {0, 1, 2, 2, 0, 1, 2, 2, 0, 1, 2, 2, 0, 1, 2, 2},
+ {0, 0, 1, 1, 0, 1, 1, 2, 1, 1, 2, 2, 1, 2, 2, 2},
+ {0, 0, 1, 1, 2, 0, 0, 1, 2, 2, 0, 0, 2, 2, 2, 0},
+ {0, 0, 0, 1, 0, 0, 1, 1, 0, 1, 1, 2, 1, 1, 2, 2},
+ {0, 1, 1, 1, 0, 0, 1, 1, 2, 0, 0, 1, 2, 2, 0, 0},
+ {0, 0, 0, 0, 1, 1, 2, 2, 1, 1, 2, 2, 1, 1, 2, 2},
+ {0, 0, 2, 2, 0, 0, 2, 2, 0, 0, 2, 2, 1, 1, 1, 1},
+ {0, 1, 1, 1, 0, 1, 1, 1, 0, 2, 2, 2, 0, 2, 2, 2},
+ {0, 0, 0, 1, 0, 0, 0, 1, 2, 2, 2, 1, 2, 2, 2, 1},
+ {0, 0, 0, 0, 0, 0, 1, 1, 0, 1, 2, 2, 0, 1, 2, 2},
+ {0, 0, 0, 0, 1, 1, 0, 0, 2, 2, 1, 0, 2, 2, 1, 0},
+ {0, 1, 2, 2, 0, 1, 2, 2, 0, 0, 1, 1, 0, 0, 0, 0},
+ {0, 0, 1, 2, 0, 0, 1, 2, 1, 1, 2, 2, 2, 2, 2, 2},
+ {0, 1, 1, 0, 1, 2, 2, 1, 1, 2, 2, 1, 0, 1, 1, 0},
+ {0, 0, 0, 0, 0, 1, 1, 0, 1, 2, 2, 1, 1, 2, 2, 1},
+ {0, 0, 2, 2, 1, 1, 0, 2, 1, 1, 0, 2, 0, 0, 2, 2},
+ {0, 1, 1, 0, 0, 1, 1, 0, 2, 0, 0, 2, 2, 2, 2, 2},
+ {0, 0, 1, 1, 0, 1, 2, 2, 0, 1, 2, 2, 0, 0, 1, 1},
+ {0, 0, 0, 0, 2, 0, 0, 0, 2, 2, 1, 1, 2, 2, 2, 1},
+ {0, 0, 0, 0, 0, 0, 0, 2, 1, 1, 2, 2, 1, 2, 2, 2},
+ {0, 2, 2, 2, 0, 0, 2, 2, 0, 0, 1, 2, 0, 0, 1, 1},
+ {0, 0, 1, 1, 0, 0, 1, 2, 0, 0, 2, 2, 0, 2, 2, 2},
+ {0, 1, 2, 0, 0, 1, 2, 0, 0, 1, 2, 0, 0, 1, 2, 0},
+ {0, 0, 0, 0, 1, 1, 1, 1, 2, 2, 2, 2, 0, 0, 0, 0},
+ {0, 1, 2, 0, 1, 2, 0, 1, 2, 0, 1, 2, 0, 1, 2, 0},
+ {0, 1, 2, 0, 2, 0, 1, 2, 1, 2, 0, 1, 0, 1, 2, 0},
+ {0, 0, 1, 1, 2, 2, 0, 0, 1, 1, 2, 2, 0, 0, 1, 1},
+ {0, 0, 1, 1, 1, 1, 2, 2, 2, 2, 0, 0, 0, 0, 1, 1},
+ {0, 1, 0, 1, 0, 1, 0, 1, 2, 2, 2, 2, 2, 2, 2, 2},
+ {0, 0, 0, 0, 0, 0, 0, 0, 2, 1, 2, 1, 2, 1, 2, 1},
+ {0, 0, 2, 2, 1, 1, 2, 2, 0, 0, 2, 2, 1, 1, 2, 2},
+ {0, 0, 2, 2, 0, 0, 1, 1, 0, 0, 2, 2, 0, 0, 1, 1},
+ {0, 2, 2, 0, 1, 2, 2, 1, 0, 2, 2, 0, 1, 2, 2, 1},
+ {0, 1, 0, 1, 2, 2, 2, 2, 2, 2, 2, 2, 0, 1, 0, 1},
+ {0, 0, 0, 0, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1},
+ {0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 2, 2, 2, 2},
+ {0, 2, 2, 2, 0, 1, 1, 1, 0, 2, 2, 2, 0, 1, 1, 1},
+ {0, 0, 0, 2, 1, 1, 1, 2, 0, 0, 0, 2, 1, 1, 1, 2},
+ {0, 0, 0, 0, 2, 1, 1, 2, 2, 1, 1, 2, 2, 1, 1, 2},
+ {0, 2, 2, 2, 0, 1, 1, 1, 0, 1, 1, 1, 0, 2, 2, 2},
+ {0, 0, 0, 2, 1, 1, 1, 2, 1, 1, 1, 2, 0, 0, 0, 2},
+ {0, 1, 1, 0, 0, 1, 1, 0, 0, 1, 1, 0, 2, 2, 2, 2},
+ {0, 0, 0, 0, 0, 0, 0, 0, 2, 1, 1, 2, 2, 1, 1, 2},
+ {0, 1, 1, 0, 0, 1, 1, 0, 2, 2, 2, 2, 2, 2, 2, 2},
+ {0, 0, 2, 2, 0, 0, 1, 1, 0, 0, 1, 1, 0, 0, 2, 2},
+ {0, 0, 2, 2, 1, 1, 2, 2, 1, 1, 2, 2, 0, 0, 2, 2},
+ {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 1, 1, 2},
+ {0, 0, 0, 2, 0, 0, 0, 1, 0, 0, 0, 2, 0, 0, 0, 1},
+ {0, 2, 2, 2, 1, 2, 2, 2, 0, 2, 2, 2, 1, 2, 2, 2},
+ {0, 1, 0, 1, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2},
+ {0, 1, 1, 1, 2, 0, 1, 1, 2, 2, 0, 1, 2, 2, 2, 0},
+ };
+
+ static constexpr uint8_t AnchorTable2[MaxPartitions] = {
+// @fmt:off
+0xf, 0xf, 0xf, 0xf, 0xf, 0xf, 0xf, 0xf,
+0xf, 0xf, 0xf, 0xf, 0xf, 0xf, 0xf, 0xf,
+0xf, 0x2, 0x8, 0x2, 0x2, 0x8, 0x8, 0xf,
+0x2, 0x8, 0x2, 0x2, 0x8, 0x8, 0x2, 0x2,
+0xf, 0xf, 0x6, 0x8, 0x2, 0x8, 0xf, 0xf,
+0x2, 0x8, 0x2, 0x2, 0x2, 0xf, 0xf, 0x6,
+0x6, 0x2, 0x6, 0x8, 0xf, 0xf, 0x2, 0x2,
+0xf, 0xf, 0xf, 0xf, 0xf, 0x2, 0x2, 0xf,
+// @fmt:on
+ };
+
+ static constexpr uint8_t AnchorTable3a[MaxPartitions] = {
+// @fmt:off
+0x3, 0x3, 0xf, 0xf, 0x8, 0x3, 0xf, 0xf,
+0x8, 0x8, 0x6, 0x6, 0x6, 0x5, 0x3, 0x3,
+0x3, 0x3, 0x8, 0xf, 0x3, 0x3, 0x6, 0xa,
+0x5, 0x8, 0x8, 0x6, 0x8, 0x5, 0xf, 0xf,
+0x8, 0xf, 0x3, 0x5, 0x6, 0xa, 0x8, 0xf,
+0xf, 0x3, 0xf, 0x5, 0xf, 0xf, 0xf, 0xf,
+0x3, 0xf, 0x5, 0x5, 0x5, 0x8, 0x5, 0xa,
+0x5, 0xa, 0x8, 0xd, 0xf, 0xc, 0x3, 0x3,
+// @fmt:on
+ };
+
+ static constexpr uint8_t AnchorTable3b[MaxPartitions] = {
+// @fmt:off
+0xf, 0x8, 0x8, 0x3, 0xf, 0xf, 0x3, 0x8,
+0xf, 0xf, 0xf, 0xf, 0xf, 0xf, 0xf, 0x8,
+0xf, 0x8, 0xf, 0x3, 0xf, 0x8, 0xf, 0x8,
+0x3, 0xf, 0x6, 0xa, 0xf, 0xf, 0xa, 0x8,
+0xf, 0x3, 0xf, 0xa, 0xa, 0x8, 0x9, 0xa,
+0x6, 0xf, 0x8, 0xf, 0x3, 0x6, 0x6, 0x8,
+0xf, 0x3, 0xf, 0xf, 0xf, 0xf, 0xf, 0xf,
+0xf, 0xf, 0xf, 0xf, 0x3, 0xf, 0xf, 0x8,
+// @fmt:on
+ };
+
+ struct Color {
+ struct RGB {
+ RGB() = default;
+
+ RGB(uint8_t r, uint8_t g, uint8_t b)
+ : b(b), g(g), r(r) {}
+
+ RGB(int r, int g, int b)
+ : b(static_cast(b)), g(static_cast(g)), r(static_cast(r)) {}
+
+ RGB operator<<(int shift) const { return {r << shift, g << shift, b << shift}; }
+
+ RGB operator>>(int shift) const { return {r >> shift, g >> shift, b >> shift}; }
+
+ RGB operator|(int bits) const { return {r | bits, g | bits, b | bits}; }
+
+ RGB operator|(const RGB &rhs) const { return {r | rhs.r, g | rhs.g, b | rhs.b}; }
+
+ RGB operator+(const RGB &rhs) const { return {r + rhs.r, g + rhs.g, b + rhs.b}; }
+
+ uint8_t b;
+ uint8_t g;
+ uint8_t r;
+ };
+
+ RGB rgb;
+ uint8_t a;
+ };
+
+ static_assert(sizeof(Color) == 4, "Color size must be 4 bytes");
+
+ struct Block {
+ constexpr uint64_t Get(const Bitfield &bf) const {
+ uint64_t mask = (1ULL << bf.count) - 1;
+ if (bf.offset + bf.count <= 64) {
+ return (low >> bf.offset) & mask;
+ }
+ if (bf.offset >= 64) {
+ return (high >> (bf.offset - 64)) & mask;
+ }
+ return ((low >> bf.offset) | (high << (64 - bf.offset))) & mask;
+ }
+
+ const Mode &mode() const {
+ if ((low & 0b00000001) != 0) {
+ return Modes[0];
+ }
+ if ((low & 0b00000010) != 0) {
+ return Modes[1];
+ }
+ if ((low & 0b00000100) != 0) {
+ return Modes[2];
+ }
+ if ((low & 0b00001000) != 0) {
+ return Modes[3];
+ }
+ if ((low & 0b00010000) != 0) {
+ return Modes[4];
+ }
+ if ((low & 0b00100000) != 0) {
+ return Modes[5];
+ }
+ if ((low & 0b01000000) != 0) {
+ return Modes[6];
+ }
+ if ((low & 0b10000000) != 0) {
+ return Modes[7];
+ }
+ return Modes[8]; // Invalid mode
+ }
+
+ struct IndexInfo {
+ uint64_t value;
+ int numBits;
+ };
+
+ uint8_t interpolate(uint8_t e0, uint8_t e1, const IndexInfo &index) const {
+ static constexpr uint16_t weights2[] = {0, 21, 43, 64};
+ static constexpr uint16_t weights3[] = {0, 9, 18, 27, 37, 46, 55, 64};
+ static constexpr uint16_t weights4[] = {0, 4, 9, 13, 17, 21, 26, 30,
+ 34, 38, 43, 47, 51, 55, 60, 64};
+ static constexpr uint16_t const *weightsN[] = {
+ nullptr, nullptr, weights2, weights3, weights4
+ };
+ auto weights = weightsN[index.numBits];
+ assert(weights != nullptr);
+ return (uint8_t) (((64 - weights[index.value]) * uint16_t(e0) + weights[index.value] * uint16_t(e1) + 32) >> 6);
+ }
+
+ void decode(uint8_t *dst, size_t dstX, size_t dstY, size_t dstWidth, size_t dstHeight, size_t dstPitch) const {
+ auto const &mode = this->mode();
+
+ if (mode.IDX < 0) // Invalid mode:
+ {
+ for (size_t y = 0; y < 4 && y + dstY < dstHeight; y++) {
+ for (size_t x = 0; x < 4 && x + dstX < dstWidth; x++) {
+ auto out = reinterpret_cast(dst + sizeof(Color) * x + dstPitch * y);
+ out->rgb = {0, 0, 0};
+ out->a = 0;
+ }
+ }
+ return;
+ }
+
+ using Endpoint = std::array;
+ std::array subsets;
+
+ for (size_t i = 0; i < mode.NS; i++) {
+ auto &subset = subsets[i];
+ subset[0].rgb.r = Get(mode.Red(i * 2 + 0));
+ subset[0].rgb.g = Get(mode.Green(i * 2 + 0));
+ subset[0].rgb.b = Get(mode.Blue(i * 2 + 0));
+ subset[0].a = (mode.AB > 0) ? Get(mode.Alpha(i * 2 + 0)) : 255;
+
+ subset[1].rgb.r = Get(mode.Red(i * 2 + 1));
+ subset[1].rgb.g = Get(mode.Green(i * 2 + 1));
+ subset[1].rgb.b = Get(mode.Blue(i * 2 + 1));
+ subset[1].a = (mode.AB > 0) ? Get(mode.Alpha(i * 2 + 1)) : 255;
+ }
+
+ if (mode.SPB > 0) {
+ auto pbit0 = Get(mode.SharedPBit0());
+ auto pbit1 = Get(mode.SharedPBit1());
+ subsets[0][0].rgb = (subsets[0][0].rgb << 1) | pbit0;
+ subsets[0][1].rgb = (subsets[0][1].rgb << 1) | pbit0;
+ subsets[1][0].rgb = (subsets[1][0].rgb << 1) | pbit1;
+ subsets[1][1].rgb = (subsets[1][1].rgb << 1) | pbit1;
+ }
+
+ if (mode.EPB > 0) {
+ for (size_t i = 0; i < mode.NS; i++) {
+ auto &subset = subsets[i];
+ auto pbit0 = Get(mode.EndpointPBit(i * 2 + 0));
+ auto pbit1 = Get(mode.EndpointPBit(i * 2 + 1));
+ subset[0].rgb = (subset[0].rgb << 1) | pbit0;
+ subset[1].rgb = (subset[1].rgb << 1) | pbit1;
+ if (mode.AB > 0) {
+ subset[0].a = (subset[0].a << 1) | pbit0;
+ subset[1].a = (subset[1].a << 1) | pbit1;
+ }
+ }
+ }
+
+ auto const colorBits = mode.CB + mode.SPB + mode.EPB;
+ auto const alphaBits = mode.AB + mode.SPB + mode.EPB;
+
+ for (size_t i = 0; i < mode.NS; i++) {
+ auto &subset = subsets[i];
+ subset[0].rgb = subset[0].rgb << (8 - colorBits);
+ subset[1].rgb = subset[1].rgb << (8 - colorBits);
+ subset[0].rgb = subset[0].rgb | (subset[0].rgb >> colorBits);
+ subset[1].rgb = subset[1].rgb | (subset[1].rgb >> colorBits);
+
+ if (mode.AB > 0) {
+ subset[0].a = subset[0].a << (8 - alphaBits);
+ subset[1].a = subset[1].a << (8 - alphaBits);
+ subset[0].a = subset[0].a | (subset[0].a >> alphaBits);
+ subset[1].a = subset[1].a | (subset[1].a >> alphaBits);
+ }
+ }
+
+ int colorIndexBitOffset = 0;
+ int alphaIndexBitOffset = 0;
+ for (int y = 0; y < 4; y++) {
+ for (int x = 0; x < 4; x++) {
+ auto texelIdx = y * 4 + x;
+ auto partitionIdx = Get(mode.Partition());
+ assert(partitionIdx < MaxPartitions);
+ auto subsetIdx = subsetIndex(mode, partitionIdx, texelIdx);
+ assert(subsetIdx < MaxSubsets);
+ auto const &subset = subsets[subsetIdx];
+
+ auto anchorIdx = anchorIndex(mode, partitionIdx, subsetIdx);
+ auto isAnchor = anchorIdx == texelIdx;
+ auto colorIdx = colorIndex(mode, isAnchor, colorIndexBitOffset);
+ auto alphaIdx = alphaIndex(mode, isAnchor, alphaIndexBitOffset);
+
+ if (y + dstY >= dstHeight || x + dstX >= dstWidth) {
+ // Don't be tempted to skip early at the loops:
+ // The calls to colorIndex() and alphaIndex() adjust bit
+ // offsets that need to be carefully tracked.
+ continue;
+ }
+
+ Color output;
+ // Note: We flip r and b channels past this point as the texture storage is BGR while the output is RGB
+ output.rgb.r = interpolate(subset[0].rgb.b, subset[1].rgb.b, colorIdx);
+ output.rgb.g = interpolate(subset[0].rgb.g, subset[1].rgb.g, colorIdx);
+ output.rgb.b = interpolate(subset[0].rgb.r, subset[1].rgb.r, colorIdx);
+ output.a = interpolate(subset[0].a, subset[1].a, alphaIdx);
+
+ switch (Get(mode.Rotation())) {
+ default:
+ break;
+ case 1:
+ std::swap(output.a, output.rgb.b);
+ break;
+ case 2:
+ std::swap(output.a, output.rgb.g);
+ break;
+ case 3:
+ std::swap(output.a, output.rgb.r);
+ break;
+ }
+
+ auto out = reinterpret_cast(dst + sizeof(Color) * x + dstPitch * y);
+ *out = output;
+ }
+ }
+ }
+
+ int subsetIndex(const Mode &mode, int partitionIdx, int texelIndex) const {
+ switch (mode.NS) {
+ default:
+ return 0;
+ case 2:
+ return PartitionTable2[partitionIdx][texelIndex];
+ case 3:
+ return PartitionTable3[partitionIdx][texelIndex];
+ }
+ }
+
+ int anchorIndex(const Mode &mode, int partitionIdx, int subsetIdx) const {
+ // ARB_texture_compression_bptc states:
+ // "In partition zero, the anchor index is always index zero.
+ // In other partitions, the anchor index is specified by tables
+ // Table.A2 and Table.A3.""
+ // Note: This is really confusing - I believe they meant subset instead
+ // of partition here.
+ switch (subsetIdx) {
+ default:
+ return 0;
+ case 1:
+ return mode.NS == 2 ? AnchorTable2[partitionIdx] : AnchorTable3a[partitionIdx];
+ case 2:
+ return AnchorTable3b[partitionIdx];
+ }
+ }
+
+ IndexInfo colorIndex(const Mode &mode, bool isAnchor,
+ int &indexBitOffset) const {
+ // ARB_texture_compression_bptc states:
+ // "The index value for interpolating color comes from the secondary
+ // index for the texel if the format has an index selection bit and its
+ // value is one and from the primary index otherwise.""
+ auto idx = Get(mode.IndexSelection());
+ assert(idx <= 1);
+ bool secondary = idx == 1;
+ auto numBits = secondary ? mode.IB2 : mode.IB;
+ auto numReadBits = numBits - (isAnchor ? 1 : 0);
+ auto index =
+ Get(secondary ? mode.SecondaryIndex(indexBitOffset, numReadBits)
+ : mode.PrimaryIndex(indexBitOffset, numReadBits));
+ indexBitOffset += numReadBits;
+ return {index, numBits};
+ }
+
+ IndexInfo alphaIndex(const Mode &mode, bool isAnchor,
+ int &indexBitOffset) const {
+ // ARB_texture_compression_bptc states:
+ // "The alpha index comes from the secondary index if the block has a
+ // secondary index and the block either doesn't have an index selection
+ // bit or that bit is zero and the primary index otherwise."
+ auto idx = Get(mode.IndexSelection());
+ assert(idx <= 1);
+ bool secondary = (mode.IB2 != 0) && (idx == 0);
+ auto numBits = secondary ? mode.IB2 : mode.IB;
+ auto numReadBits = numBits - (isAnchor ? 1 : 0);
+ auto index =
+ Get(secondary ? mode.SecondaryIndex(indexBitOffset, numReadBits)
+ : mode.PrimaryIndex(indexBitOffset, numReadBits));
+ indexBitOffset += numReadBits;
+ return {index, numBits};
+ }
+
+ // Assumes little-endian
+ uint64_t low;
+ uint64_t high;
+ };
+
+ } // namespace BC7
+} // anonymous namespace
+
+namespace bcn {
+ constexpr size_t R8Bpp{1}; //!< The amount of bytes per pixel in R8
+ constexpr size_t R8g8Bpp{2}; //!< The amount of bytes per pixel in R8G8
+ constexpr size_t R8g8b8a8Bpp{4}; //!< The amount of bytes per pixel in R8G8B8A8
+ constexpr size_t R16g16b16a16Bpp{8}; //!< The amount of bytes per pixel in R16G16B16
+
+ void DecodeBc1(const uint8_t *src, uint8_t *dst, size_t x, size_t y, size_t width, size_t height) {
+ const auto *color{reinterpret_cast(src)};
+ size_t pitch{R8g8b8a8Bpp * width};
+ color->decode(dst, x, y, width, height, pitch, R8g8b8a8Bpp, true, false);
+ }
+
+ void DecodeBc2(const uint8_t *src, uint8_t *dst, size_t x, size_t y, size_t width, size_t height) {
+ const auto *alpha{reinterpret_cast(src)};
+ const auto *color{reinterpret_cast(src + 8)};
+ size_t pitch{R8g8b8a8Bpp * width};
+ color->decode(dst, x, y, width, height, pitch, R8g8b8a8Bpp, false, true);
+ alpha->decode(dst, x, y, width, height, pitch, R8g8b8a8Bpp);
+ }
+
+ void DecodeBc3(const uint8_t *src, uint8_t *dst, size_t x, size_t y, size_t width, size_t height) {
+ const auto *alpha{reinterpret_cast(src)};
+ const auto *color{reinterpret_cast(src + 8)};
+ size_t pitch{R8g8b8a8Bpp * width};
+ color->decode(dst, x, y, width, height, pitch, R8g8b8a8Bpp, false, true);
+ alpha->decode(dst, x, y, width, height, pitch, R8g8b8a8Bpp, 3, false);
+ }
+
+ void DecodeBc4(const uint8_t *src, uint8_t *dst, size_t x, size_t y, size_t width, size_t height, bool isSigned) {
+ const auto *red{reinterpret_cast(src)};
+ size_t pitch{R8Bpp * width};
+ red->decode(dst, x, y, width, height, pitch, R8Bpp, 0, isSigned);
+ }
+
+ void DecodeBc5(const uint8_t *src, uint8_t *dst, size_t x, size_t y, size_t width, size_t height, bool isSigned) {
+ const auto *red{reinterpret_cast(src)};
+ const auto *green{reinterpret_cast(src + 8)};
+ size_t pitch{R8g8Bpp * width};
+ red->decode(dst, x, y, width, height, pitch, R8g8Bpp, 0, isSigned);
+ green->decode(dst, x, y, width, height, pitch, R8g8Bpp, 1, isSigned);
+ }
+
+ void DecodeBc6(const uint8_t *src, uint8_t *dst, size_t x, size_t y, size_t width, size_t height, bool isSigned) {
+ const auto *block{reinterpret_cast(src)};
+ size_t pitch{R16g16b16a16Bpp * width};
+ block->decode(dst, x, y, width, height, pitch, R16g16b16a16Bpp, isSigned);
+ }
+
+ void DecodeBc7(const uint8_t *src, uint8_t *dst, size_t x, size_t y, size_t width, size_t height) {
+ const auto *block{reinterpret_cast(src)};
+ size_t pitch{R8g8b8a8Bpp * width};
+ block->decode(dst, x, y, width, height, pitch);
+ }
+}
diff --git a/externals/bc_decoder/bc_decoder.h b/externals/bc_decoder/bc_decoder.h
new file mode 100644
index 000000000..4f0ead7d3
--- /dev/null
+++ b/externals/bc_decoder/bc_decoder.h
@@ -0,0 +1,43 @@
+// SPDX-License-Identifier: MPL-2.0
+// Copyright © 2022 Skyline Team and Contributors (https://github.com/skyline-emu/)
+
+#pragma once
+
+#include
+
+namespace bcn {
+ /**
+ * @brief Decodes a BC1 encoded image to R8G8B8A8
+ */
+ void DecodeBc1(const uint8_t *src, uint8_t *dst, size_t x, size_t y, size_t width, size_t height);
+
+ /**
+ * @brief Decodes a BC2 encoded image to R8G8B8A8
+ */
+ void DecodeBc2(const uint8_t *src, uint8_t *dst, size_t x, size_t y, size_t width, size_t height);
+
+ /**
+ * @brief Decodes a BC3 encoded image to R8G8B8A8
+ */
+ void DecodeBc3(const uint8_t *src, uint8_t *dst, size_t x, size_t y, size_t width, size_t height);
+
+ /**
+ * @brief Decodes a BC4 encoded image to R8
+ */
+ void DecodeBc4(const uint8_t *src, uint8_t *dst, size_t x, size_t y, size_t width, size_t height, bool isSigned);
+
+ /**
+ * @brief Decodes a BC5 encoded image to R8G8
+ */
+ void DecodeBc5(const uint8_t *src, uint8_t *dst, size_t x, size_t y, size_t width, size_t height, bool isSigned);
+
+ /**
+ * @brief Decodes a BC6 encoded image to R16G16B16A16
+ */
+ void DecodeBc6(const uint8_t *src, uint8_t *dst, size_t x, size_t y, size_t width, size_t height, bool isSigned);
+
+ /**
+ * @brief Decodes a BC7 encoded image to R8G8B8A8
+ */
+ void DecodeBc7(const uint8_t *src, uint8_t *dst, size_t x, size_t y, size_t width, size_t height);
+}
diff --git a/externals/nx_tzdb/CMakeLists.txt b/externals/nx_tzdb/CMakeLists.txt
index d5a1c6317..593786250 100644
--- a/externals/nx_tzdb/CMakeLists.txt
+++ b/externals/nx_tzdb/CMakeLists.txt
@@ -7,7 +7,7 @@ add_library(nx_tzdb INTERFACE)
find_program(GIT git)
find_program(GNU_MAKE make)
-find_program(GNU_DATE date)
+find_program(DATE_PROG date)
set(CAN_BUILD_NX_TZDB true)
@@ -17,7 +17,7 @@ endif()
if (NOT GNU_MAKE)
set(CAN_BUILD_NX_TZDB false)
endif()
-if (NOT GNU_DATE)
+if (NOT DATE_PROG)
set(CAN_BUILD_NX_TZDB false)
endif()
if (CMAKE_SYSTEM_NAME STREQUAL "Windows" OR ANDROID)
diff --git a/externals/nx_tzdb/tzdb_to_nx b/externals/nx_tzdb/tzdb_to_nx
index 34df65eff..212afa239 160000
--- a/externals/nx_tzdb/tzdb_to_nx
+++ b/externals/nx_tzdb/tzdb_to_nx
@@ -1 +1 @@
-Subproject commit 34df65eff295c2bd9ee9e6a077d662486d5cabb3
+Subproject commit 212afa2394a74226dcf1b7996a570aae17debb69
diff --git a/externals/vma/VulkanMemoryAllocator b/externals/vma/VulkanMemoryAllocator
new file mode 160000
index 000000000..0aa3989b8
--- /dev/null
+++ b/externals/vma/VulkanMemoryAllocator
@@ -0,0 +1 @@
+Subproject commit 0aa3989b8f382f185fdf646cc83a1d16fa31d6ab
diff --git a/externals/vma/vma.cpp b/externals/vma/vma.cpp
new file mode 100644
index 000000000..1fe2cf52b
--- /dev/null
+++ b/externals/vma/vma.cpp
@@ -0,0 +1,8 @@
+// SPDX-FileCopyrightText: Copyright 2023 yuzu Emulator Project
+// SPDX-License-Identifier: GPL-2.0-or-later
+
+#define VMA_IMPLEMENTATION
+#define VMA_STATIC_VULKAN_FUNCTIONS 0
+#define VMA_DYNAMIC_VULKAN_FUNCTIONS 1
+
+#include
\ No newline at end of file
diff --git a/src/android/app/build.gradle.kts b/src/android/app/build.gradle.kts
index bab4f4d0f..9a47e2bd8 100644
--- a/src/android/app/build.gradle.kts
+++ b/src/android/app/build.gradle.kts
@@ -26,7 +26,7 @@ val autoVersion = (((System.currentTimeMillis() / 1000) - 1451606400) / 10).toIn
android {
namespace = "org.yuzu.yuzu_emu"
- compileSdkVersion = "android-33"
+ compileSdkVersion = "android-34"
ndkVersion = "25.2.9519653"
buildFeatures {
@@ -51,7 +51,7 @@ android {
// TODO If this is ever modified, change application_id in strings.xml
applicationId = "org.yuzu.yuzu_emu"
minSdk = 30
- targetSdk = 33
+ targetSdk = 34
versionName = getGitVersion()
// If you want to use autoVersion for the versionCode, create a property in local.properties
diff --git a/src/android/app/src/main/AndroidManifest.xml b/src/android/app/src/main/AndroidManifest.xml
index e31ad69e2..51d949d65 100644
--- a/src/android/app/src/main/AndroidManifest.xml
+++ b/src/android/app/src/main/AndroidManifest.xml
@@ -13,6 +13,7 @@ SPDX-License-Identifier: GPL-3.0-or-later
+
@@ -69,7 +70,9 @@ SPDX-License-Identifier: GPL-3.0-or-later
android:resource="@xml/nfc_tech_filter" />
-
+
+
+
{
Log.debug("[EmulationFragment] Resuming emulation.")
NativeLibrary.surfaceChanged(surface)
- NativeLibrary.unPauseEmulation()
+ NativeLibrary.unpauseEmulation()
}
else -> Log.debug("[EmulationFragment] Bug, run called while already running.")
diff --git a/src/android/app/src/main/java/org/yuzu/yuzu_emu/fragments/HomeSettingsFragment.kt b/src/android/app/src/main/java/org/yuzu/yuzu_emu/fragments/HomeSettingsFragment.kt
index 6f8adbba5..5a36ffad4 100644
--- a/src/android/app/src/main/java/org/yuzu/yuzu_emu/fragments/HomeSettingsFragment.kt
+++ b/src/android/app/src/main/java/org/yuzu/yuzu_emu/fragments/HomeSettingsFragment.kt
@@ -68,79 +68,109 @@ class HomeSettingsFragment : Fragment() {
override fun onViewCreated(view: View, savedInstanceState: Bundle?) {
mainActivity = requireActivity() as MainActivity
- val optionsList: MutableList = mutableListOf(
- HomeSetting(
- R.string.advanced_settings,
- R.string.settings_description,
- R.drawable.ic_settings
- ) { SettingsActivity.launch(requireContext(), SettingsFile.FILE_NAME_CONFIG, "") },
- HomeSetting(
- R.string.open_user_folder,
- R.string.open_user_folder_description,
- R.drawable.ic_folder_open
- ) { openFileManager() },
- HomeSetting(
- R.string.preferences_theme,
- R.string.theme_and_color_description,
- R.drawable.ic_palette
- ) { SettingsActivity.launch(requireContext(), Settings.SECTION_THEME, "") },
- HomeSetting(
- R.string.install_gpu_driver,
- R.string.install_gpu_driver_description,
- R.drawable.ic_exit
- ) { driverInstaller() },
- HomeSetting(
- R.string.install_amiibo_keys,
- R.string.install_amiibo_keys_description,
- R.drawable.ic_nfc
- ) { mainActivity.getAmiiboKey.launch(arrayOf("*/*")) },
- HomeSetting(
- R.string.install_game_content,
- R.string.install_game_content_description,
- R.drawable.ic_system_update_alt
- ) { mainActivity.installGameUpdate.launch(arrayOf("*/*")) },
- HomeSetting(
- R.string.select_games_folder,
- R.string.select_games_folder_description,
- R.drawable.ic_add
- ) {
- mainActivity.getGamesDirectory.launch(Intent(Intent.ACTION_OPEN_DOCUMENT_TREE).data)
- },
- HomeSetting(
- R.string.manage_save_data,
- R.string.import_export_saves_description,
- R.drawable.ic_save
- ) {
- ImportExportSavesFragment().show(
- parentFragmentManager,
- ImportExportSavesFragment.TAG
+ val optionsList: MutableList = mutableListOf().apply {
+ add(
+ HomeSetting(
+ R.string.advanced_settings,
+ R.string.settings_description,
+ R.drawable.ic_settings
+ ) { SettingsActivity.launch(requireContext(), SettingsFile.FILE_NAME_CONFIG, "") }
+ )
+ add(
+ HomeSetting(
+ R.string.open_user_folder,
+ R.string.open_user_folder_description,
+ R.drawable.ic_folder_open
+ ) { openFileManager() }
+ )
+ add(
+ HomeSetting(
+ R.string.preferences_theme,
+ R.string.theme_and_color_description,
+ R.drawable.ic_palette
+ ) { SettingsActivity.launch(requireContext(), Settings.SECTION_THEME, "") }
+ )
+
+ if (GpuDriverHelper.supportsCustomDriverLoading()) {
+ add(
+ HomeSetting(
+ R.string.install_gpu_driver,
+ R.string.install_gpu_driver_description,
+ R.drawable.ic_exit
+ ) { driverInstaller() }
)
- },
- HomeSetting(
- R.string.install_prod_keys,
- R.string.install_prod_keys_description,
- R.drawable.ic_unlock
- ) { mainActivity.getProdKey.launch(arrayOf("*/*")) },
- HomeSetting(
- R.string.install_firmware,
- R.string.install_firmware_description,
- R.drawable.ic_firmware
- ) { mainActivity.getFirmware.launch(arrayOf("application/zip")) },
- HomeSetting(
- R.string.share_log,
- R.string.share_log_description,
- R.drawable.ic_log
- ) { shareLog() },
- HomeSetting(
- R.string.about,
- R.string.about_description,
- R.drawable.ic_info_outline
- ) {
- exitTransition = MaterialSharedAxis(MaterialSharedAxis.X, true)
- parentFragmentManager.primaryNavigationFragment?.findNavController()
- ?.navigate(R.id.action_homeSettingsFragment_to_aboutFragment)
}
- )
+
+ add(
+ HomeSetting(
+ R.string.install_amiibo_keys,
+ R.string.install_amiibo_keys_description,
+ R.drawable.ic_nfc
+ ) { mainActivity.getAmiiboKey.launch(arrayOf("*/*")) }
+ )
+ add(
+ HomeSetting(
+ R.string.install_game_content,
+ R.string.install_game_content_description,
+ R.drawable.ic_system_update_alt
+ ) { mainActivity.installGameUpdate.launch(arrayOf("*/*")) }
+ )
+ add(
+ HomeSetting(
+ R.string.select_games_folder,
+ R.string.select_games_folder_description,
+ R.drawable.ic_add
+ ) {
+ mainActivity.getGamesDirectory.launch(
+ Intent(Intent.ACTION_OPEN_DOCUMENT_TREE).data
+ )
+ }
+ )
+ add(
+ HomeSetting(
+ R.string.manage_save_data,
+ R.string.import_export_saves_description,
+ R.drawable.ic_save
+ ) {
+ ImportExportSavesFragment().show(
+ parentFragmentManager,
+ ImportExportSavesFragment.TAG
+ )
+ }
+ )
+ add(
+ HomeSetting(
+ R.string.install_prod_keys,
+ R.string.install_prod_keys_description,
+ R.drawable.ic_unlock
+ ) { mainActivity.getProdKey.launch(arrayOf("*/*")) }
+ )
+ add(
+ HomeSetting(
+ R.string.install_firmware,
+ R.string.install_firmware_description,
+ R.drawable.ic_firmware
+ ) { mainActivity.getFirmware.launch(arrayOf("application/zip")) }
+ )
+ add(
+ HomeSetting(
+ R.string.share_log,
+ R.string.share_log_description,
+ R.drawable.ic_log
+ ) { shareLog() }
+ )
+ add(
+ HomeSetting(
+ R.string.about,
+ R.string.about_description,
+ R.drawable.ic_info_outline
+ ) {
+ exitTransition = MaterialSharedAxis(MaterialSharedAxis.X, true)
+ parentFragmentManager.primaryNavigationFragment?.findNavController()
+ ?.navigate(R.id.action_homeSettingsFragment_to_aboutFragment)
+ }
+ )
+ }
if (!BuildConfig.PREMIUM) {
optionsList.add(
diff --git a/src/android/app/src/main/java/org/yuzu/yuzu_emu/fragments/LongMessageDialogFragment.kt b/src/android/app/src/main/java/org/yuzu/yuzu_emu/fragments/LongMessageDialogFragment.kt
new file mode 100644
index 000000000..b29b627e9
--- /dev/null
+++ b/src/android/app/src/main/java/org/yuzu/yuzu_emu/fragments/LongMessageDialogFragment.kt
@@ -0,0 +1,62 @@
+// SPDX-FileCopyrightText: 2023 yuzu Emulator Project
+// SPDX-License-Identifier: GPL-2.0-or-later
+
+package org.yuzu.yuzu_emu.fragments
+
+import android.app.Dialog
+import android.content.Intent
+import android.net.Uri
+import android.os.Bundle
+import androidx.fragment.app.DialogFragment
+import com.google.android.material.dialog.MaterialAlertDialogBuilder
+import org.yuzu.yuzu_emu.R
+
+class LongMessageDialogFragment : DialogFragment() {
+ override fun onCreateDialog(savedInstanceState: Bundle?): Dialog {
+ val titleId = requireArguments().getInt(TITLE)
+ val description = requireArguments().getString(DESCRIPTION)
+ val helpLinkId = requireArguments().getInt(HELP_LINK)
+
+ val dialog = MaterialAlertDialogBuilder(requireContext())
+ .setPositiveButton(R.string.close, null)
+ .setTitle(titleId)
+ .setMessage(description)
+
+ if (helpLinkId != 0) {
+ dialog.setNeutralButton(R.string.learn_more) { _, _ ->
+ openLink(getString(helpLinkId))
+ }
+ }
+
+ return dialog.show()
+ }
+
+ private fun openLink(link: String) {
+ val intent = Intent(Intent.ACTION_VIEW, Uri.parse(link))
+ startActivity(intent)
+ }
+
+ companion object {
+ const val TAG = "LongMessageDialogFragment"
+
+ private const val TITLE = "Title"
+ private const val DESCRIPTION = "Description"
+ private const val HELP_LINK = "Link"
+
+ fun newInstance(
+ titleId: Int,
+ description: String,
+ helpLinkId: Int = 0
+ ): LongMessageDialogFragment {
+ val dialog = LongMessageDialogFragment()
+ val bundle = Bundle()
+ bundle.apply {
+ putInt(TITLE, titleId)
+ putString(DESCRIPTION, description)
+ putInt(HELP_LINK, helpLinkId)
+ }
+ dialog.arguments = bundle
+ return dialog
+ }
+ }
+}
diff --git a/src/android/app/src/main/java/org/yuzu/yuzu_emu/fragments/SearchFragment.kt b/src/android/app/src/main/java/org/yuzu/yuzu_emu/fragments/SearchFragment.kt
index dd6c895fd..f54dccc69 100644
--- a/src/android/app/src/main/java/org/yuzu/yuzu_emu/fragments/SearchFragment.kt
+++ b/src/android/app/src/main/java/org/yuzu/yuzu_emu/fragments/SearchFragment.kt
@@ -29,7 +29,6 @@ import org.yuzu.yuzu_emu.layout.AutofitGridLayoutManager
import org.yuzu.yuzu_emu.model.Game
import org.yuzu.yuzu_emu.model.GamesViewModel
import org.yuzu.yuzu_emu.model.HomeViewModel
-import org.yuzu.yuzu_emu.utils.FileUtil
class SearchFragment : Fragment() {
private var _binding: FragmentSearchBinding? = null
@@ -128,10 +127,7 @@ class SearchFragment : Fragment() {
R.id.chip_homebrew -> baseList.filter { it.isHomebrew }
- R.id.chip_retail -> baseList.filter {
- FileUtil.hasExtension(it.path, "xci") ||
- FileUtil.hasExtension(it.path, "nsp")
- }
+ R.id.chip_retail -> baseList.filter { !it.isHomebrew }
else -> baseList
}
diff --git a/src/android/app/src/main/java/org/yuzu/yuzu_emu/model/Game.kt b/src/android/app/src/main/java/org/yuzu/yuzu_emu/model/Game.kt
index 6a048e39f..6527c64ab 100644
--- a/src/android/app/src/main/java/org/yuzu/yuzu_emu/model/Game.kt
+++ b/src/android/app/src/main/java/org/yuzu/yuzu_emu/model/Game.kt
@@ -43,7 +43,7 @@ class Game(
companion object {
val extensions: Set = HashSet(
- listOf(".xci", ".nsp", ".nca", ".nro")
+ listOf("xci", "nsp", "nca", "nro")
)
}
}
diff --git a/src/android/app/src/main/java/org/yuzu/yuzu_emu/ui/main/MainActivity.kt b/src/android/app/src/main/java/org/yuzu/yuzu_emu/ui/main/MainActivity.kt
index cc1d87f1b..f7d7aed1e 100644
--- a/src/android/app/src/main/java/org/yuzu/yuzu_emu/ui/main/MainActivity.kt
+++ b/src/android/app/src/main/java/org/yuzu/yuzu_emu/ui/main/MainActivity.kt
@@ -4,6 +4,7 @@
package org.yuzu.yuzu_emu.ui.main
import android.content.Intent
+import android.net.Uri
import android.os.Bundle
import android.view.View
import android.view.ViewGroup.MarginLayoutParams
@@ -42,6 +43,7 @@ import org.yuzu.yuzu_emu.features.settings.model.SettingsViewModel
import org.yuzu.yuzu_emu.features.settings.ui.SettingsActivity
import org.yuzu.yuzu_emu.features.settings.utils.SettingsFile
import org.yuzu.yuzu_emu.fragments.IndeterminateProgressDialogFragment
+import org.yuzu.yuzu_emu.fragments.LongMessageDialogFragment
import org.yuzu.yuzu_emu.fragments.MessageDialogFragment
import org.yuzu.yuzu_emu.model.GamesViewModel
import org.yuzu.yuzu_emu.model.HomeViewModel
@@ -294,7 +296,7 @@ class MainActivity : AppCompatActivity(), ThemeProvider {
return@registerForActivityResult
}
- if (!FileUtil.hasExtension(result, "keys")) {
+ if (FileUtil.getExtension(result) != "keys") {
MessageDialogFragment.newInstance(
R.string.reading_keys_failure,
R.string.install_prod_keys_failure_extension_description
@@ -391,7 +393,7 @@ class MainActivity : AppCompatActivity(), ThemeProvider {
return@registerForActivityResult
}
- if (!FileUtil.hasExtension(result, "bin")) {
+ if (FileUtil.getExtension(result) != "bin") {
MessageDialogFragment.newInstance(
R.string.reading_keys_failure,
R.string.install_amiibo_keys_failure_extension_description
@@ -481,62 +483,110 @@ class MainActivity : AppCompatActivity(), ThemeProvider {
}
}
- val installGameUpdate =
- registerForActivityResult(ActivityResultContracts.OpenDocument()) {
- if (it == null) {
- return@registerForActivityResult
- }
-
+ val installGameUpdate = registerForActivityResult(
+ ActivityResultContracts.OpenMultipleDocuments()
+ ) { documents: List ->
+ if (documents.isNotEmpty()) {
IndeterminateProgressDialogFragment.newInstance(
this@MainActivity,
R.string.install_game_content
) {
- val result = NativeLibrary.installFileToNand(it.toString())
+ var installSuccess = 0
+ var installOverwrite = 0
+ var errorBaseGame = 0
+ var errorExtension = 0
+ var errorOther = 0
+ var errorTotal = 0
lifecycleScope.launch {
- withContext(Dispatchers.Main) {
- when (result) {
+ documents.forEach {
+ when (NativeLibrary.installFileToNand(it.toString())) {
NativeLibrary.InstallFileToNandResult.Success -> {
- Toast.makeText(
- applicationContext,
- R.string.install_game_content_success,
- Toast.LENGTH_SHORT
- ).show()
+ installSuccess += 1
}
NativeLibrary.InstallFileToNandResult.SuccessFileOverwritten -> {
- Toast.makeText(
- applicationContext,
- R.string.install_game_content_success_overwrite,
- Toast.LENGTH_SHORT
- ).show()
+ installOverwrite += 1
}
NativeLibrary.InstallFileToNandResult.ErrorBaseGame -> {
- MessageDialogFragment.newInstance(
- R.string.install_game_content_failure,
- R.string.install_game_content_failure_base
- ).show(supportFragmentManager, MessageDialogFragment.TAG)
+ errorBaseGame += 1
}
NativeLibrary.InstallFileToNandResult.ErrorFilenameExtension -> {
- MessageDialogFragment.newInstance(
- R.string.install_game_content_failure,
- R.string.install_game_content_failure_file_extension,
- R.string.install_game_content_help_link
- ).show(supportFragmentManager, MessageDialogFragment.TAG)
+ errorExtension += 1
}
else -> {
- MessageDialogFragment.newInstance(
- R.string.install_game_content_failure,
- R.string.install_game_content_failure_description,
- R.string.install_game_content_help_link
- ).show(supportFragmentManager, MessageDialogFragment.TAG)
+ errorOther += 1
}
}
}
+ withContext(Dispatchers.Main) {
+ val separator = System.getProperty("line.separator") ?: "\n"
+ val installResult = StringBuilder()
+ if (installSuccess > 0) {
+ installResult.append(
+ getString(
+ R.string.install_game_content_success_install,
+ installSuccess
+ )
+ )
+ installResult.append(separator)
+ }
+ if (installOverwrite > 0) {
+ installResult.append(
+ getString(
+ R.string.install_game_content_success_overwrite,
+ installOverwrite
+ )
+ )
+ installResult.append(separator)
+ }
+ errorTotal = errorBaseGame + errorExtension + errorOther
+ if (errorTotal > 0) {
+ installResult.append(separator)
+ installResult.append(
+ getString(
+ R.string.install_game_content_failed_count,
+ errorTotal
+ )
+ )
+ installResult.append(separator)
+ if (errorBaseGame > 0) {
+ installResult.append(separator)
+ installResult.append(
+ getString(R.string.install_game_content_failure_base)
+ )
+ installResult.append(separator)
+ }
+ if (errorExtension > 0) {
+ installResult.append(separator)
+ installResult.append(
+ getString(R.string.install_game_content_failure_file_extension)
+ )
+ installResult.append(separator)
+ }
+ if (errorOther > 0) {
+ installResult.append(
+ getString(R.string.install_game_content_failure_description)
+ )
+ installResult.append(separator)
+ }
+ LongMessageDialogFragment.newInstance(
+ R.string.install_game_content_failure,
+ installResult.toString().trim(),
+ R.string.install_game_content_help_link
+ ).show(supportFragmentManager, LongMessageDialogFragment.TAG)
+ } else {
+ LongMessageDialogFragment.newInstance(
+ R.string.install_game_content_success,
+ installResult.toString().trim()
+ ).show(supportFragmentManager, LongMessageDialogFragment.TAG)
+ }
+ }
}
- return@newInstance result
+ return@newInstance installSuccess + installOverwrite + errorTotal
}.show(supportFragmentManager, IndeterminateProgressDialogFragment.TAG)
}
+ }
}
diff --git a/src/android/app/src/main/java/org/yuzu/yuzu_emu/utils/FileUtil.kt b/src/android/app/src/main/java/org/yuzu/yuzu_emu/utils/FileUtil.kt
index 9f3bbe56f..142af5f26 100644
--- a/src/android/app/src/main/java/org/yuzu/yuzu_emu/utils/FileUtil.kt
+++ b/src/android/app/src/main/java/org/yuzu/yuzu_emu/utils/FileUtil.kt
@@ -7,7 +7,6 @@ import android.content.Context
import android.database.Cursor
import android.net.Uri
import android.provider.DocumentsContract
-import android.provider.OpenableColumns
import androidx.documentfile.provider.DocumentFile
import java.io.BufferedInputStream
import java.io.File
@@ -185,19 +184,18 @@ object FileUtil {
/**
* Get file display name from given path
- * @param path content uri path
+ * @param uri content uri
* @return String display name
*/
- fun getFilename(context: Context, path: String): String {
- val resolver = context.contentResolver
+ fun getFilename(uri: Uri): String {
+ val resolver = YuzuApplication.appContext.contentResolver
val columns = arrayOf(
DocumentsContract.Document.COLUMN_DISPLAY_NAME
)
var filename = ""
var c: Cursor? = null
try {
- val mUri = Uri.parse(path)
- c = resolver.query(mUri, columns, null, null, null)
+ c = resolver.query(uri, columns, null, null, null)
c!!.moveToNext()
filename = c.getString(0)
} catch (e: Exception) {
@@ -326,25 +324,9 @@ object FileUtil {
}
}
- fun hasExtension(path: String, extension: String): Boolean =
- path.substring(path.lastIndexOf(".") + 1).contains(extension)
-
- fun hasExtension(uri: Uri, extension: String): Boolean {
- val fileName: String?
- val cursor = YuzuApplication.appContext.contentResolver.query(uri, null, null, null, null)
- val nameIndex = cursor?.getColumnIndex(OpenableColumns.DISPLAY_NAME)
- cursor?.moveToFirst()
-
- if (nameIndex == null) {
- return false
- }
-
- fileName = cursor.getString(nameIndex)
- cursor.close()
-
- if (fileName == null) {
- return false
- }
- return fileName.substring(fileName.lastIndexOf(".") + 1).contains(extension)
+ fun getExtension(uri: Uri): String {
+ val fileName = getFilename(uri)
+ return fileName.substring(fileName.lastIndexOf(".") + 1)
+ .lowercase()
}
}
diff --git a/src/android/app/src/main/java/org/yuzu/yuzu_emu/utils/GameHelper.kt b/src/android/app/src/main/java/org/yuzu/yuzu_emu/utils/GameHelper.kt
index ee9f3e570..f8e7eeca7 100644
--- a/src/android/app/src/main/java/org/yuzu/yuzu_emu/utils/GameHelper.kt
+++ b/src/android/app/src/main/java/org/yuzu/yuzu_emu/utils/GameHelper.kt
@@ -6,7 +6,6 @@ package org.yuzu.yuzu_emu.utils
import android.content.SharedPreferences
import android.net.Uri
import androidx.preference.PreferenceManager
-import java.util.*
import kotlinx.serialization.encodeToString
import kotlinx.serialization.json.Json
import org.yuzu.yuzu_emu.NativeLibrary
@@ -33,15 +32,9 @@ object GameHelper {
val children = FileUtil.listFiles(context, gamesUri)
for (file in children) {
if (!file.isDirectory) {
- val filename = file.uri.toString()
- val extensionStart = filename.lastIndexOf('.')
- if (extensionStart > 0) {
- val fileExtension = filename.substring(extensionStart)
-
- // Check that the file has an extension we care about before trying to read out of it.
- if (Game.extensions.contains(fileExtension.lowercase(Locale.getDefault()))) {
- games.add(getGame(filename))
- }
+ // Check that the file has an extension we care about before trying to read out of it.
+ if (Game.extensions.contains(FileUtil.getExtension(file.uri))) {
+ games.add(getGame(file.uri))
}
}
}
@@ -59,21 +52,19 @@ object GameHelper {
return games.toList()
}
- private fun getGame(filePath: String): Game {
+ private fun getGame(uri: Uri): Game {
+ val filePath = uri.toString()
var name = NativeLibrary.getTitle(filePath)
// If the game's title field is empty, use the filename.
if (name.isEmpty()) {
- name = filePath.substring(filePath.lastIndexOf("/") + 1)
+ name = FileUtil.getFilename(uri)
}
var gameId = NativeLibrary.getGameId(filePath)
// If the game's ID field is empty, use the filename without extension.
if (gameId.isEmpty()) {
- gameId = filePath.substring(
- filePath.lastIndexOf("/") + 1,
- filePath.lastIndexOf(".")
- )
+ gameId = name.substring(0, name.lastIndexOf("."))
}
val newGame = Game(
diff --git a/src/android/app/src/main/java/org/yuzu/yuzu_emu/utils/GpuDriverHelper.kt b/src/android/app/src/main/java/org/yuzu/yuzu_emu/utils/GpuDriverHelper.kt
index dad159481..1d4695a2a 100644
--- a/src/android/app/src/main/java/org/yuzu/yuzu_emu/utils/GpuDriverHelper.kt
+++ b/src/android/app/src/main/java/org/yuzu/yuzu_emu/utils/GpuDriverHelper.kt
@@ -113,6 +113,8 @@ object GpuDriverHelper {
initializeDriverParameters(context)
}
+ external fun supportsCustomDriverLoading(): Boolean
+
// Parse the custom driver metadata to retrieve the name.
val customDriverName: String?
get() {
diff --git a/src/android/app/src/main/java/org/yuzu/yuzu_emu/utils/MemoryUtil.kt b/src/android/app/src/main/java/org/yuzu/yuzu_emu/utils/MemoryUtil.kt
new file mode 100644
index 000000000..18e5fa0b0
--- /dev/null
+++ b/src/android/app/src/main/java/org/yuzu/yuzu_emu/utils/MemoryUtil.kt
@@ -0,0 +1,59 @@
+// SPDX-FileCopyrightText: 2023 yuzu Emulator Project
+// SPDX-License-Identifier: GPL-2.0-or-later
+
+package org.yuzu.yuzu_emu.utils
+
+import android.app.ActivityManager
+import android.content.Context
+import org.yuzu.yuzu_emu.R
+import java.util.Locale
+
+class MemoryUtil(val context: Context) {
+
+ private val Long.floatForm: String
+ get() = String.format(Locale.ROOT, "%.2f", this.toDouble())
+
+ private fun bytesToSizeUnit(size: Long): String {
+ return when {
+ size < Kb -> "${size.floatForm} ${context.getString(R.string.memory_byte)}"
+ size < Mb -> "${(size / Kb).floatForm} ${context.getString(R.string.memory_kilobyte)}"
+ size < Gb -> "${(size / Mb).floatForm} ${context.getString(R.string.memory_megabyte)}"
+ size < Tb -> "${(size / Gb).floatForm} ${context.getString(R.string.memory_gigabyte)}"
+ size < Pb -> "${(size / Tb).floatForm} ${context.getString(R.string.memory_terabyte)}"
+ size < Eb -> "${(size / Pb).floatForm} ${context.getString(R.string.memory_petabyte)}"
+ else -> "${(size / Eb).floatForm} ${context.getString(R.string.memory_exabyte)}"
+ }
+ }
+
+ private val totalMemory =
+ with(context.getSystemService(Context.ACTIVITY_SERVICE) as ActivityManager) {
+ val memInfo = ActivityManager.MemoryInfo()
+ getMemoryInfo(memInfo)
+ memInfo.totalMem
+ }
+
+ fun isLessThan(minimum: Int, size: Long): Boolean {
+ return when (size) {
+ Kb -> totalMemory < Mb && totalMemory < minimum
+ Mb -> totalMemory < Gb && (totalMemory / Mb) < minimum
+ Gb -> totalMemory < Tb && (totalMemory / Gb) < minimum
+ Tb -> totalMemory < Pb && (totalMemory / Tb) < minimum
+ Pb -> totalMemory < Eb && (totalMemory / Pb) < minimum
+ Eb -> totalMemory / Eb < minimum
+ else -> totalMemory < Kb && totalMemory < minimum
+ }
+ }
+
+ fun getDeviceRAM(): String {
+ return bytesToSizeUnit(totalMemory)
+ }
+
+ companion object {
+ const val Kb: Long = 1024
+ const val Mb = Kb * 1024
+ const val Gb = Mb * 1024
+ const val Tb = Gb * 1024
+ const val Pb = Tb * 1024
+ const val Eb = Pb * 1024
+ }
+}
diff --git a/src/android/app/src/main/jni/CMakeLists.txt b/src/android/app/src/main/jni/CMakeLists.txt
index 041781577..e2ed08e9f 100644
--- a/src/android/app/src/main/jni/CMakeLists.txt
+++ b/src/android/app/src/main/jni/CMakeLists.txt
@@ -14,7 +14,6 @@ add_library(yuzu-android SHARED
id_cache.cpp
id_cache.h
native.cpp
- native.h
)
set_property(TARGET yuzu-android PROPERTY IMPORTED_LOCATION ${FFmpeg_LIBRARY_DIR})
diff --git a/src/android/app/src/main/jni/native.cpp b/src/android/app/src/main/jni/native.cpp
index f9617202b..8bc6a4a04 100644
--- a/src/android/app/src/main/jni/native.cpp
+++ b/src/android/app/src/main/jni/native.cpp
@@ -14,6 +14,7 @@
#include
#include
#include
+#include
#include "common/detached_tasks.h"
#include "common/dynamic_library.h"
@@ -59,6 +60,9 @@
#include "video_core/rasterizer_interface.h"
#include "video_core/renderer_base.h"
+#define jconst [[maybe_unused]] const auto
+#define jauto [[maybe_unused]] auto
+
namespace {
class EmulationSession final {
@@ -98,8 +102,8 @@ public:
}
int InstallFileToNand(std::string filename) {
- const auto copy_func = [](const FileSys::VirtualFile& src, const FileSys::VirtualFile& dest,
- std::size_t block_size) {
+ jconst copy_func = [](const FileSys::VirtualFile& src, const FileSys::VirtualFile& dest,
+ std::size_t block_size) {
if (src == nullptr || dest == nullptr) {
return false;
}
@@ -108,10 +112,10 @@ public:
}
using namespace Common::Literals;
- std::vector buffer(1_MiB);
+ [[maybe_unused]] std::vector buffer(1_MiB);
for (std::size_t i = 0; i < src->GetSize(); i += buffer.size()) {
- const auto read = src->Read(buffer.data(), buffer.size(), i);
+ jconst read = src->Read(buffer.data(), buffer.size(), i);
dest->Write(buffer.data(), read, i);
}
return true;
@@ -128,14 +132,14 @@ public:
m_system.SetContentProvider(std::make_unique());
m_system.GetFileSystemController().CreateFactories(*m_vfs);
- std::shared_ptr nsp;
+ [[maybe_unused]] std::shared_ptr nsp;
if (filename.ends_with("nsp")) {
nsp = std::make_shared(m_vfs->OpenFile(filename, FileSys::Mode::Read));
if (nsp->IsExtractedType()) {
return InstallError;
}
} else if (filename.ends_with("xci")) {
- const auto xci =
+ jconst xci =
std::make_shared(m_vfs->OpenFile(filename, FileSys::Mode::Read));
nsp = xci->GetSecurePartitionNSP();
} else {
@@ -150,7 +154,7 @@ public:
return InstallError;
}
- const auto res = m_system.GetFileSystemController().GetUserNANDContents()->InstallEntry(
+ jconst res = m_system.GetFileSystemController().GetUserNANDContents()->InstallEntry(
*nsp, true, copy_func);
switch (res) {
@@ -233,10 +237,11 @@ public:
m_system.SetFilesystem(m_vfs);
// Initialize system.
- auto android_keyboard = std::make_unique();
+ jauto android_keyboard = std::make_unique();
m_software_keyboard = android_keyboard.get();
m_system.SetShuttingDown(false);
m_system.ApplySettings();
+ Settings::LogSettings();
m_system.HIDCore().ReloadInputDevices();
m_system.SetAppletFrontendSet({
nullptr, // Amiibo Settings
@@ -330,7 +335,7 @@ public:
while (true) {
{
- std::unique_lock lock(m_mutex);
+ [[maybe_unused]] std::unique_lock lock(m_mutex);
if (m_cv.wait_for(lock, std::chrono::milliseconds(800),
[&]() { return !m_is_running; })) {
// Emulation halted.
@@ -362,7 +367,7 @@ public:
}
bool IsHandheldOnly() {
- const auto npad_style_set = m_system.HIDCore().GetSupportedStyleTag();
+ jconst npad_style_set = m_system.HIDCore().GetSupportedStyleTag();
if (npad_style_set.fullkey == 1) {
return false;
@@ -375,17 +380,17 @@ public:
return !Settings::values.use_docked_mode.GetValue();
}
- void SetDeviceType(int index, int type) {
- auto controller = m_system.HIDCore().GetEmulatedControllerByIndex(index);
+ void SetDeviceType([[maybe_unused]] int index, int type) {
+ jauto controller = m_system.HIDCore().GetEmulatedControllerByIndex(index);
controller->SetNpadStyleIndex(static_cast(type));
}
- void OnGamepadConnectEvent(int index) {
- auto controller = m_system.HIDCore().GetEmulatedControllerByIndex(index);
+ void OnGamepadConnectEvent([[maybe_unused]] int index) {
+ jauto controller = m_system.HIDCore().GetEmulatedControllerByIndex(index);
// Ensure that player1 is configured correctly and handheld disconnected
if (controller->GetNpadIdType() == Core::HID::NpadIdType::Player1) {
- auto handheld =
+ jauto handheld =
m_system.HIDCore().GetEmulatedController(Core::HID::NpadIdType::Handheld);
if (controller->GetNpadStyleIndex() == Core::HID::NpadStyleIndex::Handheld) {
@@ -397,7 +402,8 @@ public:
// Ensure that handheld is configured correctly and player 1 disconnected
if (controller->GetNpadIdType() == Core::HID::NpadIdType::Handheld) {
- auto player1 = m_system.HIDCore().GetEmulatedController(Core::HID::NpadIdType::Player1);
+ jauto player1 =
+ m_system.HIDCore().GetEmulatedController(Core::HID::NpadIdType::Player1);
if (controller->GetNpadStyleIndex() != Core::HID::NpadStyleIndex::Handheld) {
player1->SetNpadStyleIndex(Core::HID::NpadStyleIndex::Handheld);
@@ -411,8 +417,8 @@ public:
}
}
- void OnGamepadDisconnectEvent(int index) {
- auto controller = m_system.HIDCore().GetEmulatedControllerByIndex(index);
+ void OnGamepadDisconnectEvent([[maybe_unused]] int index) {
+ jauto controller = m_system.HIDCore().GetEmulatedControllerByIndex(index);
controller->Disconnect();
}
@@ -428,7 +434,7 @@ private:
};
RomMetadata GetRomMetadata(const std::string& path) {
- if (auto search = m_rom_metadata_cache.find(path); search != m_rom_metadata_cache.end()) {
+ if (jauto search = m_rom_metadata_cache.find(path); search != m_rom_metadata_cache.end()) {
return search->second;
}
@@ -436,14 +442,14 @@ private:
}
RomMetadata CacheRomMetadata(const std::string& path) {
- const auto file = Core::GetGameFileFromPath(m_vfs, path);
- auto loader = Loader::GetLoader(EmulationSession::GetInstance().System(), file, 0, 0);
+ jconst file = Core::GetGameFileFromPath(m_vfs, path);
+ jauto loader = Loader::GetLoader(EmulationSession::GetInstance().System(), file, 0, 0);
RomMetadata entry;
loader->ReadTitle(entry.title);
loader->ReadIcon(entry.icon);
if (loader->GetFileType() == Loader::FileType::NRO) {
- auto loader_nro = dynamic_cast(loader.get());
+ jauto loader_nro = dynamic_cast(loader.get());
entry.isHomebrew = loader_nro->IsHomebrew();
} else {
entry.isHomebrew = false;
@@ -514,7 +520,7 @@ static Core::SystemResultStatus RunEmulation(const std::string& filepath) {
SCOPE_EXIT({ EmulationSession::GetInstance().ShutdownEmulation(); });
- const auto result = EmulationSession::GetInstance().InitializeEmulation(filepath);
+ jconst result = EmulationSession::GetInstance().InitializeEmulation(filepath);
if (result != Core::SystemResultStatus::Success) {
return result;
}
@@ -526,83 +532,104 @@ static Core::SystemResultStatus RunEmulation(const std::string& filepath) {
extern "C" {
-void Java_org_yuzu_yuzu_1emu_NativeLibrary_surfaceChanged(JNIEnv* env,
- [[maybe_unused]] jclass clazz,
- jobject surf) {
+void Java_org_yuzu_yuzu_1emu_NativeLibrary_surfaceChanged(JNIEnv* env, jobject instance,
+ [[maybe_unused]] jobject surf) {
EmulationSession::GetInstance().SetNativeWindow(ANativeWindow_fromSurface(env, surf));
EmulationSession::GetInstance().SurfaceChanged();
}
-void Java_org_yuzu_yuzu_1emu_NativeLibrary_surfaceDestroyed(JNIEnv* env,
- [[maybe_unused]] jclass clazz) {
+void Java_org_yuzu_yuzu_1emu_NativeLibrary_surfaceDestroyed(JNIEnv* env, jobject instance) {
ANativeWindow_release(EmulationSession::GetInstance().NativeWindow());
EmulationSession::GetInstance().SetNativeWindow(nullptr);
EmulationSession::GetInstance().SurfaceChanged();
}
-void Java_org_yuzu_yuzu_1emu_NativeLibrary_setAppDirectory(JNIEnv* env,
- [[maybe_unused]] jclass clazz,
- jstring j_directory) {
+void Java_org_yuzu_yuzu_1emu_NativeLibrary_setAppDirectory(JNIEnv* env, jobject instance,
+ [[maybe_unused]] jstring j_directory) {
Common::FS::SetAppDirectory(GetJString(env, j_directory));
}
-int Java_org_yuzu_yuzu_1emu_NativeLibrary_installFileToNand(JNIEnv* env,
- [[maybe_unused]] jclass clazz,
- jstring j_file) {
+int Java_org_yuzu_yuzu_1emu_NativeLibrary_installFileToNand(JNIEnv* env, jobject instance,
+ [[maybe_unused]] jstring j_file) {
return EmulationSession::GetInstance().InstallFileToNand(GetJString(env, j_file));
}
-void JNICALL Java_org_yuzu_yuzu_1emu_NativeLibrary_initializeGpuDriver(
- JNIEnv* env, [[maybe_unused]] jclass clazz, jstring hook_lib_dir, jstring custom_driver_dir,
- jstring custom_driver_name, jstring file_redirect_dir) {
+void JNICALL Java_org_yuzu_yuzu_1emu_NativeLibrary_initializeGpuDriver(JNIEnv* env, jclass clazz,
+ jstring hook_lib_dir,
+ jstring custom_driver_dir,
+ jstring custom_driver_name,
+ jstring file_redirect_dir) {
EmulationSession::GetInstance().InitializeGpuDriver(
GetJString(env, hook_lib_dir), GetJString(env, custom_driver_dir),
GetJString(env, custom_driver_name), GetJString(env, file_redirect_dir));
}
-jboolean Java_org_yuzu_yuzu_1emu_NativeLibrary_reloadKeys(JNIEnv* env,
- [[maybe_unused]] jclass clazz) {
+[[maybe_unused]] static bool CheckKgslPresent() {
+ constexpr auto KgslPath{"/dev/kgsl-3d0"};
+
+ return access(KgslPath, F_OK) == 0;
+}
+
+[[maybe_unused]] bool SupportsCustomDriver() {
+ return android_get_device_api_level() >= 28 && CheckKgslPresent();
+}
+
+jboolean JNICALL Java_org_yuzu_yuzu_1emu_utils_GpuDriverHelper_supportsCustomDriverLoading(
+ JNIEnv* env, jobject instance) {
+#ifdef ARCHITECTURE_arm64
+ // If the KGSL device exists custom drivers can be loaded using adrenotools
+ return SupportsCustomDriver();
+#else
+ return false;
+#endif
+}
+
+jboolean Java_org_yuzu_yuzu_1emu_NativeLibrary_reloadKeys(JNIEnv* env, jclass clazz) {
Core::Crypto::KeyManager::Instance().ReloadKeys();
return static_cast(Core::Crypto::KeyManager::Instance().AreKeysLoaded());
}
-void Java_org_yuzu_yuzu_1emu_NativeLibrary_unPauseEmulation([[maybe_unused]] JNIEnv* env,
- [[maybe_unused]] jclass clazz) {
+void Java_org_yuzu_yuzu_1emu_NativeLibrary_unpauseEmulation(JNIEnv* env, jclass clazz) {
EmulationSession::GetInstance().UnPauseEmulation();
}
-void Java_org_yuzu_yuzu_1emu_NativeLibrary_pauseEmulation([[maybe_unused]] JNIEnv* env,
- [[maybe_unused]] jclass clazz) {
+void Java_org_yuzu_yuzu_1emu_NativeLibrary_pauseEmulation(JNIEnv* env, jclass clazz) {
EmulationSession::GetInstance().PauseEmulation();
}
-void Java_org_yuzu_yuzu_1emu_NativeLibrary_stopEmulation([[maybe_unused]] JNIEnv* env,
- [[maybe_unused]] jclass clazz) {
+void Java_org_yuzu_yuzu_1emu_NativeLibrary_stopEmulation(JNIEnv* env, jclass clazz) {
EmulationSession::GetInstance().HaltEmulation();
}
-void Java_org_yuzu_yuzu_1emu_NativeLibrary_resetRomMetadata([[maybe_unused]] JNIEnv* env,
- [[maybe_unused]] jclass clazz) {
+void Java_org_yuzu_yuzu_1emu_NativeLibrary_resetRomMetadata(JNIEnv* env, jclass clazz) {
EmulationSession::GetInstance().ResetRomMetadata();
}
-jboolean Java_org_yuzu_yuzu_1emu_NativeLibrary_isRunning([[maybe_unused]] JNIEnv* env,
- [[maybe_unused]] jclass clazz) {
+jboolean Java_org_yuzu_yuzu_1emu_NativeLibrary_isRunning(JNIEnv* env, jclass clazz) {
return static_cast(EmulationSession::GetInstance().IsRunning());
}
-jboolean Java_org_yuzu_yuzu_1emu_NativeLibrary_isPaused([[maybe_unused]] JNIEnv* env,
- [[maybe_unused]] jclass clazz) {
+jboolean Java_org_yuzu_yuzu_1emu_NativeLibrary_isPaused(JNIEnv* env, jclass clazz) {
return static_cast(EmulationSession::GetInstance().IsPaused());
}
-jboolean Java_org_yuzu_yuzu_1emu_NativeLibrary_isHandheldOnly([[maybe_unused]] JNIEnv* env,
- [[maybe_unused]] jclass clazz) {
+void Java_org_yuzu_yuzu_1emu_NativeLibrary_muteAduio(JNIEnv* env, jclass clazz) {
+ Settings::values.audio_muted = true;
+}
+
+void Java_org_yuzu_yuzu_1emu_NativeLibrary_unmuteAudio(JNIEnv* env, jclass clazz) {
+ Settings::values.audio_muted = false;
+}
+
+jboolean Java_org_yuzu_yuzu_1emu_NativeLibrary_isMuted(JNIEnv* env, jclass clazz) {
+ return static_cast(Settings::values.audio_muted.GetValue());
+}
+
+jboolean Java_org_yuzu_yuzu_1emu_NativeLibrary_isHandheldOnly(JNIEnv* env, jclass clazz) {
return EmulationSession::GetInstance().IsHandheldOnly();
}
-jboolean Java_org_yuzu_yuzu_1emu_NativeLibrary_setDeviceType([[maybe_unused]] JNIEnv* env,
- [[maybe_unused]] jclass clazz,
+jboolean Java_org_yuzu_yuzu_1emu_NativeLibrary_setDeviceType(JNIEnv* env, jclass clazz,
jint j_device, jint j_type) {
if (EmulationSession::GetInstance().IsRunning()) {
EmulationSession::GetInstance().SetDeviceType(j_device, j_type);
@@ -610,8 +637,7 @@ jboolean Java_org_yuzu_yuzu_1emu_NativeLibrary_setDeviceType([[maybe_unused]] JN
return static_cast(true);
}
-jboolean Java_org_yuzu_yuzu_1emu_NativeLibrary_onGamePadConnectEvent([[maybe_unused]] JNIEnv* env,
- [[maybe_unused]] jclass clazz,
+jboolean Java_org_yuzu_yuzu_1emu_NativeLibrary_onGamePadConnectEvent(JNIEnv* env, jclass clazz,
jint j_device) {
if (EmulationSession::GetInstance().IsRunning()) {
EmulationSession::GetInstance().OnGamepadConnectEvent(j_device);
@@ -619,17 +645,16 @@ jboolean Java_org_yuzu_yuzu_1emu_NativeLibrary_onGamePadConnectEvent([[maybe_unu
return static_cast(true);
}
-jboolean Java_org_yuzu_yuzu_1emu_NativeLibrary_onGamePadDisconnectEvent(
- [[maybe_unused]] JNIEnv* env, [[maybe_unused]] jclass clazz, jint j_device) {
+jboolean Java_org_yuzu_yuzu_1emu_NativeLibrary_onGamePadDisconnectEvent(JNIEnv* env, jclass clazz,
+ jint j_device) {
if (EmulationSession::GetInstance().IsRunning()) {
EmulationSession::GetInstance().OnGamepadDisconnectEvent(j_device);
}
return static_cast(true);
}
-jboolean Java_org_yuzu_yuzu_1emu_NativeLibrary_onGamePadButtonEvent([[maybe_unused]] JNIEnv* env,
- [[maybe_unused]] jclass clazz,
- [[maybe_unused]] jint j_device,
- jint j_button, jint action) {
+jboolean Java_org_yuzu_yuzu_1emu_NativeLibrary_onGamePadButtonEvent(JNIEnv* env, jclass clazz,
+ jint j_device, jint j_button,
+ jint action) {
if (EmulationSession::GetInstance().IsRunning()) {
// Ensure gamepad is connected
EmulationSession::GetInstance().OnGamepadConnectEvent(j_device);
@@ -639,8 +664,7 @@ jboolean Java_org_yuzu_yuzu_1emu_NativeLibrary_onGamePadButtonEvent([[maybe_unus
return static_cast(true);
}
-jboolean Java_org_yuzu_yuzu_1emu_NativeLibrary_onGamePadJoystickEvent([[maybe_unused]] JNIEnv* env,
- [[maybe_unused]] jclass clazz,
+jboolean Java_org_yuzu_yuzu_1emu_NativeLibrary_onGamePadJoystickEvent(JNIEnv* env, jclass clazz,
jint j_device, jint stick_id,
jfloat x, jfloat y) {
if (EmulationSession::GetInstance().IsRunning()) {
@@ -650,9 +674,8 @@ jboolean Java_org_yuzu_yuzu_1emu_NativeLibrary_onGamePadJoystickEvent([[maybe_un
}
jboolean Java_org_yuzu_yuzu_1emu_NativeLibrary_onGamePadMotionEvent(
- [[maybe_unused]] JNIEnv* env, [[maybe_unused]] jclass clazz, jint j_device,
- jlong delta_timestamp, jfloat gyro_x, jfloat gyro_y, jfloat gyro_z, jfloat accel_x,
- jfloat accel_y, jfloat accel_z) {
+ JNIEnv* env, jclass clazz, jint j_device, jlong delta_timestamp, jfloat gyro_x, jfloat gyro_y,
+ jfloat gyro_z, jfloat accel_x, jfloat accel_y, jfloat accel_z) {
if (EmulationSession::GetInstance().IsRunning()) {
EmulationSession::GetInstance().Window().OnGamepadMotionEvent(
j_device, delta_timestamp, gyro_x, gyro_y, gyro_z, accel_x, accel_y, accel_z);
@@ -660,8 +683,7 @@ jboolean Java_org_yuzu_yuzu_1emu_NativeLibrary_onGamePadMotionEvent(
return static_cast(true);
}
-jboolean Java_org_yuzu_yuzu_1emu_NativeLibrary_onReadNfcTag([[maybe_unused]] JNIEnv* env,
- [[maybe_unused]] jclass clazz,
+jboolean Java_org_yuzu_yuzu_1emu_NativeLibrary_onReadNfcTag(JNIEnv* env, jclass clazz,
jbyteArray j_data) {
jboolean isCopy{false};
std::span data(reinterpret_cast(env->GetByteArrayElements(j_data, &isCopy)),
@@ -673,108 +695,92 @@ jboolean Java_org_yuzu_yuzu_1emu_NativeLibrary_onReadNfcTag([[maybe_unused]] JNI
return static_cast(true);
}
-jboolean Java_org_yuzu_yuzu_1emu_NativeLibrary_onRemoveNfcTag([[maybe_unused]] JNIEnv* env,
- [[maybe_unused]] jclass clazz) {
+jboolean Java_org_yuzu_yuzu_1emu_NativeLibrary_onRemoveNfcTag(JNIEnv* env, jclass clazz) {
if (EmulationSession::GetInstance().IsRunning()) {
EmulationSession::GetInstance().Window().OnRemoveNfcTag();
}
return static_cast(true);
}
-void Java_org_yuzu_yuzu_1emu_NativeLibrary_onTouchPressed([[maybe_unused]] JNIEnv* env,
- [[maybe_unused]] jclass clazz, jint id,
+void Java_org_yuzu_yuzu_1emu_NativeLibrary_onTouchPressed(JNIEnv* env, jclass clazz, jint id,
jfloat x, jfloat y) {
if (EmulationSession::GetInstance().IsRunning()) {
EmulationSession::GetInstance().Window().OnTouchPressed(id, x, y);
}
}
-void Java_org_yuzu_yuzu_1emu_NativeLibrary_onTouchMoved([[maybe_unused]] JNIEnv* env,
- [[maybe_unused]] jclass clazz, jint id,
+void Java_org_yuzu_yuzu_1emu_NativeLibrary_onTouchMoved(JNIEnv* env, jclass clazz, jint id,
jfloat x, jfloat y) {
if (EmulationSession::GetInstance().IsRunning()) {
EmulationSession::GetInstance().Window().OnTouchMoved(id, x, y);
}
}
-void Java_org_yuzu_yuzu_1emu_NativeLibrary_onTouchReleased([[maybe_unused]] JNIEnv* env,
- [[maybe_unused]] jclass clazz, jint id) {
+void Java_org_yuzu_yuzu_1emu_NativeLibrary_onTouchReleased(JNIEnv* env, jclass clazz, jint id) {
if (EmulationSession::GetInstance().IsRunning()) {
EmulationSession::GetInstance().Window().OnTouchReleased(id);
}
}
-jbyteArray Java_org_yuzu_yuzu_1emu_NativeLibrary_getIcon([[maybe_unused]] JNIEnv* env,
- [[maybe_unused]] jclass clazz,
- [[maybe_unused]] jstring j_filename) {
- auto icon_data = EmulationSession::GetInstance().GetRomIcon(GetJString(env, j_filename));
+jbyteArray Java_org_yuzu_yuzu_1emu_NativeLibrary_getIcon(JNIEnv* env, jclass clazz,
+ jstring j_filename) {
+ jauto icon_data = EmulationSession::GetInstance().GetRomIcon(GetJString(env, j_filename));
jbyteArray icon = env->NewByteArray(static_cast(icon_data.size()));
env->SetByteArrayRegion(icon, 0, env->GetArrayLength(icon),
reinterpret_cast(icon_data.data()));
return icon;
}
-jstring Java_org_yuzu_yuzu_1emu_NativeLibrary_getTitle([[maybe_unused]] JNIEnv* env,
- [[maybe_unused]] jclass clazz,
- [[maybe_unused]] jstring j_filename) {
- auto title = EmulationSession::GetInstance().GetRomTitle(GetJString(env, j_filename));
+jstring Java_org_yuzu_yuzu_1emu_NativeLibrary_getTitle(JNIEnv* env, jclass clazz,
+ jstring j_filename) {
+ jauto title = EmulationSession::GetInstance().GetRomTitle(GetJString(env, j_filename));
return env->NewStringUTF(title.c_str());
}
-jstring Java_org_yuzu_yuzu_1emu_NativeLibrary_getDescription([[maybe_unused]] JNIEnv* env,
- [[maybe_unused]] jclass clazz,
+jstring Java_org_yuzu_yuzu_1emu_NativeLibrary_getDescription(JNIEnv* env, jclass clazz,
jstring j_filename) {
return j_filename;
}
-jstring Java_org_yuzu_yuzu_1emu_NativeLibrary_getGameId([[maybe_unused]] JNIEnv* env,
- [[maybe_unused]] jclass clazz,
+jstring Java_org_yuzu_yuzu_1emu_NativeLibrary_getGameId(JNIEnv* env, jclass clazz,
jstring j_filename) {
return j_filename;
}
-jstring Java_org_yuzu_yuzu_1emu_NativeLibrary_getRegions([[maybe_unused]] JNIEnv* env,
- [[maybe_unused]] jclass clazz,
- [[maybe_unused]] jstring j_filename) {
+jstring Java_org_yuzu_yuzu_1emu_NativeLibrary_getRegions(JNIEnv* env, jclass clazz,
+ jstring j_filename) {
return env->NewStringUTF("");
}
-jstring Java_org_yuzu_yuzu_1emu_NativeLibrary_getCompany([[maybe_unused]] JNIEnv* env,
- [[maybe_unused]] jclass clazz,
- [[maybe_unused]] jstring j_filename) {
+jstring Java_org_yuzu_yuzu_1emu_NativeLibrary_getCompany(JNIEnv* env, jclass clazz,
+ jstring j_filename) {
return env->NewStringUTF("");
}
-jboolean Java_org_yuzu_yuzu_1emu_NativeLibrary_isHomebrew([[maybe_unused]] JNIEnv* env,
- [[maybe_unused]] jclass clazz,
- [[maybe_unused]] jstring j_filename) {
+jboolean Java_org_yuzu_yuzu_1emu_NativeLibrary_isHomebrew(JNIEnv* env, jclass clazz,
+ jstring j_filename) {
return EmulationSession::GetInstance().GetIsHomebrew(GetJString(env, j_filename));
}
-void Java_org_yuzu_yuzu_1emu_NativeLibrary_initializeEmulation
- [[maybe_unused]] (JNIEnv* env, [[maybe_unused]] jclass clazz) {
+void Java_org_yuzu_yuzu_1emu_NativeLibrary_initializeEmulation(JNIEnv* env, jclass clazz) {
// Create the default config.ini.
Config{};
// Initialize the emulated system.
EmulationSession::GetInstance().System().Initialize();
}
-jint Java_org_yuzu_yuzu_1emu_NativeLibrary_defaultCPUCore([[maybe_unused]] JNIEnv* env,
- [[maybe_unused]] jclass clazz) {
+jint Java_org_yuzu_yuzu_1emu_NativeLibrary_defaultCPUCore(JNIEnv* env, jclass clazz) {
return {};
}
void Java_org_yuzu_yuzu_1emu_NativeLibrary_run__Ljava_lang_String_2Ljava_lang_String_2Z(
- [[maybe_unused]] JNIEnv* env, [[maybe_unused]] jclass clazz, [[maybe_unused]] jstring j_file,
- [[maybe_unused]] jstring j_savestate, [[maybe_unused]] jboolean j_delete_savestate) {}
+ JNIEnv* env, jclass clazz, jstring j_file, jstring j_savestate, jboolean j_delete_savestate) {}
-void Java_org_yuzu_yuzu_1emu_NativeLibrary_reloadSettings([[maybe_unused]] JNIEnv* env,
- [[maybe_unused]] jclass clazz) {
+void Java_org_yuzu_yuzu_1emu_NativeLibrary_reloadSettings(JNIEnv* env, jclass clazz) {
Config{};
}
-jstring Java_org_yuzu_yuzu_1emu_NativeLibrary_getUserSetting([[maybe_unused]] JNIEnv* env,
- [[maybe_unused]] jclass clazz,
+jstring Java_org_yuzu_yuzu_1emu_NativeLibrary_getUserSetting(JNIEnv* env, jclass clazz,
jstring j_game_id, jstring j_section,
jstring j_key) {
std::string_view game_id = env->GetStringUTFChars(j_game_id, 0);
@@ -788,8 +794,7 @@ jstring Java_org_yuzu_yuzu_1emu_NativeLibrary_getUserSetting([[maybe_unused]] JN
return env->NewStringUTF("");
}
-void Java_org_yuzu_yuzu_1emu_NativeLibrary_setUserSetting([[maybe_unused]] JNIEnv* env,
- [[maybe_unused]] jclass clazz,
+void Java_org_yuzu_yuzu_1emu_NativeLibrary_setUserSetting(JNIEnv* env, jclass clazz,
jstring j_game_id, jstring j_section,
jstring j_key, jstring j_value) {
std::string_view game_id = env->GetStringUTFChars(j_game_id, 0);
@@ -803,20 +808,18 @@ void Java_org_yuzu_yuzu_1emu_NativeLibrary_setUserSetting([[maybe_unused]] JNIEn
env->ReleaseStringUTFChars(j_value, value.data());
}
-void Java_org_yuzu_yuzu_1emu_NativeLibrary_initGameIni([[maybe_unused]] JNIEnv* env,
- [[maybe_unused]] jclass clazz,
+void Java_org_yuzu_yuzu_1emu_NativeLibrary_initGameIni(JNIEnv* env, jclass clazz,
jstring j_game_id) {
std::string_view game_id = env->GetStringUTFChars(j_game_id, 0);
env->ReleaseStringUTFChars(j_game_id, game_id.data());
}
-jdoubleArray Java_org_yuzu_yuzu_1emu_NativeLibrary_getPerfStats([[maybe_unused]] JNIEnv* env,
- [[maybe_unused]] jclass clazz) {
+jdoubleArray Java_org_yuzu_yuzu_1emu_NativeLibrary_getPerfStats(JNIEnv* env, jclass clazz) {
jdoubleArray j_stats = env->NewDoubleArray(4);
if (EmulationSession::GetInstance().IsRunning()) {
- const auto results = EmulationSession::GetInstance().PerfStats();
+ jconst results = EmulationSession::GetInstance().PerfStats();
// Converting the structure into an array makes it easier to pass it to the frontend
double stats[4] = {results.system_fps, results.average_game_fps, results.frametime,
@@ -828,11 +831,11 @@ jdoubleArray Java_org_yuzu_yuzu_1emu_NativeLibrary_getPerfStats([[maybe_unused]]
return j_stats;
}
-void Java_org_yuzu_yuzu_1emu_utils_DirectoryInitialization_setSysDirectory(
- [[maybe_unused]] JNIEnv* env, [[maybe_unused]] jclass clazz, jstring j_path) {}
+void Java_org_yuzu_yuzu_1emu_utils_DirectoryInitialization_setSysDirectory(JNIEnv* env,
+ jclass clazz,
+ jstring j_path) {}
-void Java_org_yuzu_yuzu_1emu_NativeLibrary_run__Ljava_lang_String_2([[maybe_unused]] JNIEnv* env,
- [[maybe_unused]] jclass clazz,
+void Java_org_yuzu_yuzu_1emu_NativeLibrary_run__Ljava_lang_String_2(JNIEnv* env, jclass clazz,
jstring j_path) {
const std::string path = GetJString(env, j_path);
@@ -843,8 +846,7 @@ void Java_org_yuzu_yuzu_1emu_NativeLibrary_run__Ljava_lang_String_2([[maybe_unus
}
}
-void Java_org_yuzu_yuzu_1emu_NativeLibrary_logDeviceInfo([[maybe_unused]] JNIEnv* env,
- [[maybe_unused]] jclass clazz) {
+void Java_org_yuzu_yuzu_1emu_NativeLibrary_logDeviceInfo(JNIEnv* env, jclass clazz) {
LOG_INFO(Frontend, "yuzu Version: {}-{}", Common::g_scm_branch, Common::g_scm_desc);
LOG_INFO(Frontend, "Host OS: Android API level {}", android_get_device_api_level());
}
diff --git a/src/android/app/src/main/jni/native.h b/src/android/app/src/main/jni/native.h
deleted file mode 100644
index 24dcbbcb8..000000000
--- a/src/android/app/src/main/jni/native.h
+++ /dev/null
@@ -1,165 +0,0 @@
-// SPDX-FileCopyrightText: Copyright 2023 yuzu Emulator Project
-// SPDX-License-Identifier: GPL-2.0-or-later
-
-#pragma once
-
-#include
-
-// Function calls from the Java side
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-JNIEXPORT void JNICALL Java_org_yuzu_yuzu_1emu_NativeLibrary_UnPauseEmulation(JNIEnv* env,
- jclass clazz);
-
-JNIEXPORT void JNICALL Java_org_yuzu_yuzu_1emu_NativeLibrary_PauseEmulation(JNIEnv* env,
- jclass clazz);
-
-JNIEXPORT void JNICALL Java_org_yuzu_yuzu_1emu_NativeLibrary_StopEmulation(JNIEnv* env,
- jclass clazz);
-
-JNIEXPORT void JNICALL Java_org_yuzu_yuzu_1emu_NativeLibrary_ResetRomMetadata(JNIEnv* env,
- jclass clazz);
-
-JNIEXPORT jboolean JNICALL Java_org_yuzu_yuzu_1emu_NativeLibrary_IsRunning(JNIEnv* env,
- jclass clazz);
-
-JNIEXPORT jboolean JNICALL Java_org_yuzu_yuzu_1emu_NativeLibrary_isHandheldOnly(JNIEnv* env,
- jclass clazz);
-
-JNIEXPORT jboolean JNICALL Java_org_yuzu_yuzu_1emu_NativeLibrary_setDeviceType(JNIEnv* env,
- jclass clazz,
- jstring j_device,
- jstring j_type);
-
-JNIEXPORT jboolean JNICALL Java_org_yuzu_yuzu_1emu_NativeLibrary_onGamePadConnectEvent(
- JNIEnv* env, jclass clazz, jstring j_device);
-
-JNIEXPORT jboolean JNICALL Java_org_yuzu_yuzu_1emu_NativeLibrary_onGamePadDisconnectEvent(
- JNIEnv* env, jclass clazz, jstring j_device);
-
-JNIEXPORT jboolean JNICALL Java_org_yuzu_yuzu_1emu_NativeLibrary_onGamePadEvent(
- JNIEnv* env, jclass clazz, jstring j_device, jint j_button, jint action);
-
-JNIEXPORT jboolean JNICALL Java_org_yuzu_yuzu_1emu_NativeLibrary_onGamePadMoveEvent(
- JNIEnv* env, jclass clazz, jstring j_device, jint axis, jfloat x, jfloat y);
-
-JNIEXPORT jboolean JNICALL Java_org_yuzu_yuzu_1emu_NativeLibrary_onGamePadAxisEvent(
- JNIEnv* env, jclass clazz, jstring j_device, jint axis_id, jfloat axis_val);
-
-JNIEXPORT jboolean JNICALL Java_org_yuzu_yuzu_1emu_NativeLibrary_onReadNfcTag(JNIEnv* env,
- jclass clazz,
- jbyteArray j_data);
-
-JNIEXPORT jboolean JNICALL Java_org_yuzu_yuzu_1emu_NativeLibrary_onRemoveNfcTag(JNIEnv* env,
- jclass clazz);
-
-JNIEXPORT jboolean JNICALL Java_org_yuzu_yuzu_1emu_NativeLibrary_onTouchEvent(JNIEnv* env,
- jclass clazz,
- jfloat x, jfloat y,
- jboolean pressed);
-
-JNIEXPORT void JNICALL Java_org_yuzu_yuzu_1emu_NativeLibrary_onTouchMoved(JNIEnv* env, jclass clazz,
- jfloat x, jfloat y);
-
-JNIEXPORT jbyteArray JNICALL Java_org_yuzu_yuzu_1emu_NativeLibrary_GetIcon(JNIEnv* env,
- jclass clazz,
- jstring j_file);
-
-JNIEXPORT jstring JNICALL Java_org_yuzu_yuzu_1emu_NativeLibrary_GetTitle(JNIEnv* env, jclass clazz,
- jstring j_filename);
-
-JNIEXPORT jstring JNICALL Java_org_yuzu_yuzu_1emu_NativeLibrary_GetDescription(JNIEnv* env,
- jclass clazz,
- jstring j_filename);
-
-JNIEXPORT jstring JNICALL Java_org_yuzu_yuzu_1emu_NativeLibrary_GetGameId(JNIEnv* env, jclass clazz,
- jstring j_filename);
-
-JNIEXPORT jstring JNICALL Java_org_yuzu_yuzu_1emu_NativeLibrary_GetRegions(JNIEnv* env,
- jclass clazz,
- jstring j_filename);
-
-JNIEXPORT jstring JNICALL Java_org_yuzu_yuzu_1emu_NativeLibrary_GetCompany(JNIEnv* env,
- jclass clazz,
- jstring j_filename);
-
-JNIEXPORT jstring JNICALL Java_org_yuzu_yuzu_1emu_NativeLibrary_GetGitRevision(JNIEnv* env,
- jclass clazz);
-
-JNIEXPORT void JNICALL Java_org_yuzu_yuzu_1emu_NativeLibrary_SetAppDirectory(JNIEnv* env,
- jclass clazz,
- jstring j_directory);
-
-JNIEXPORT void JNICALL
-Java_org_yuzu_yuzu_1emu_NativeLibrary_Java_org_yuzu_yuzu_1emu_NativeLibrary_InitializeGpuDriver(
- JNIEnv* env, jclass clazz, jstring hook_lib_dir, jstring custom_driver_dir,
- jstring custom_driver_name, jstring file_redirect_dir);
-
-JNIEXPORT jboolean JNICALL Java_org_yuzu_yuzu_1emu_NativeLibrary_ReloadKeys(JNIEnv* env,
- jclass clazz);
-
-JNIEXPORT void JNICALL Java_org_yuzu_yuzu_1emu_utils_DirectoryInitialization_SetSysDirectory(
- JNIEnv* env, jclass clazz, jstring path_);
-
-JNIEXPORT void JNICALL Java_org_yuzu_yuzu_1emu_NativeLibrary_SetSysDirectory(JNIEnv* env,
- jclass clazz,
- jstring path);
-
-JNIEXPORT void JNICALL Java_org_yuzu_yuzu_1emu_NativeLibrary_InitializeEmulation(JNIEnv* env,
- jclass clazz);
-
-JNIEXPORT jint JNICALL Java_org_yuzu_yuzu_1emu_NativeLibrary_DefaultCPUCore(JNIEnv* env,
- jclass clazz);
-JNIEXPORT void JNICALL Java_org_yuzu_yuzu_1emu_NativeLibrary_SetProfiling(JNIEnv* env, jclass clazz,
- jboolean enable);
-
-JNIEXPORT void JNICALL Java_org_yuzu_yuzu_1emu_NativeLibrary_WriteProfileResults(JNIEnv* env,
- jclass clazz);
-
-JNIEXPORT void JNICALL Java_org_yuzu_yuzu_1emu_NativeLibrary_NotifyOrientationChange(
- JNIEnv* env, jclass clazz, jint layout_option, jint rotation);
-
-JNIEXPORT void JNICALL Java_org_yuzu_yuzu_1emu_NativeLibrary_Run__Ljava_lang_String_2(
- JNIEnv* env, jclass clazz, jstring j_path);
-
-JNIEXPORT void JNICALL
-Java_org_yuzu_yuzu_1emu_NativeLibrary_Run__Ljava_lang_String_2Ljava_lang_String_2Z(
- JNIEnv* env, jclass clazz, jstring j_file, jstring j_savestate, jboolean j_delete_savestate);
-
-JNIEXPORT void JNICALL Java_org_yuzu_yuzu_1emu_NativeLibrary_SurfaceChanged(JNIEnv* env,
- jclass clazz,
- jobject surf);
-
-JNIEXPORT void JNICALL Java_org_yuzu_yuzu_1emu_NativeLibrary_SurfaceDestroyed(JNIEnv* env,
- jclass clazz);
-
-JNIEXPORT void JNICALL Java_org_yuzu_yuzu_1emu_NativeLibrary_InitGameIni(JNIEnv* env, jclass clazz,
- jstring j_game_id);
-
-JNIEXPORT void JNICALL Java_org_yuzu_yuzu_1emu_NativeLibrary_ReloadSettings(JNIEnv* env,
- jclass clazz);
-
-JNIEXPORT void JNICALL Java_org_yuzu_yuzu_1emu_NativeLibrary_SetUserSetting(
- JNIEnv* env, jclass clazz, jstring j_game_id, jstring j_section, jstring j_key,
- jstring j_value);
-
-JNIEXPORT jstring JNICALL Java_org_yuzu_yuzu_1emu_NativeLibrary_GetUserSetting(
- JNIEnv* env, jclass clazz, jstring game_id, jstring section, jstring key);
-
-JNIEXPORT jdoubleArray JNICALL Java_org_yuzu_yuzu_1emu_NativeLibrary_GetPerfStats(JNIEnv* env,
- jclass clazz);
-
-JNIEXPORT void JNICALL Java_org_yuzu_yuzu_1emu_NativeLibrary_LogDeviceInfo(JNIEnv* env,
- jclass clazz);
-
-JNIEXPORT void JNICALL Java_org_yuzu_yuzu_1emu_NativeLibrary_SubmitInlineKeyboardText(
- JNIEnv* env, jclass clazz, jstring j_text);
-
-JNIEXPORT void JNICALL Java_org_yuzu_yuzu_1emu_NativeLibrary_SubmitInlineKeyboardInput(
- JNIEnv* env, jclass clazz, jint j_key_code);
-
-#ifdef __cplusplus
-}
-#endif
diff --git a/src/android/app/src/main/res/drawable/ic_pip_mute.xml b/src/android/app/src/main/res/drawable/ic_pip_mute.xml
new file mode 100644
index 000000000..a271c5fe8
--- /dev/null
+++ b/src/android/app/src/main/res/drawable/ic_pip_mute.xml
@@ -0,0 +1,9 @@
+
+
+
diff --git a/src/android/app/src/main/res/drawable/ic_pip_unmute.xml b/src/android/app/src/main/res/drawable/ic_pip_unmute.xml
new file mode 100644
index 000000000..f7ed0862e
--- /dev/null
+++ b/src/android/app/src/main/res/drawable/ic_pip_unmute.xml
@@ -0,0 +1,9 @@
+
+
+
diff --git a/src/android/app/src/main/res/values/strings.xml b/src/android/app/src/main/res/values/strings.xml
index cc1d8c39d..af7450619 100644
--- a/src/android/app/src/main/res/values/strings.xml
+++ b/src/android/app/src/main/res/values/strings.xml
@@ -104,12 +104,14 @@
No log file found
Install game content
Install game updates or DLC
- Error installing file to NAND
- Game content installation failed. Please ensure content is valid and that the prod.keys file is installed.
- Installation of base games isn\'t permitted in order to avoid possible conflicts. Please select an update or DLC instead.
- The selected file type is not supported. Only NSP and XCI content is supported for this action. Please verify the game content is valid.
- Game content installed successfully
- Game content was overwritten successfully
+ Error installing file(s) to NAND
+ Please ensure content(s) are valid and that the prod.keys file is installed.
+ Installation of base games isn\'t permitted in order to avoid possible conflicts.
+ Only NSP and XCI content is supported. Please verify the game content(s) are valid.
+ %1$d installation error(s)
+ Game content(s) installed successfully
+ %1$d installed successfully
+ %1$d overwritten successfully
https://yuzu-emu.org/help/quickstart/#dumping-installed-updates
@@ -270,6 +272,7 @@
Fatal Error
A fatal error occurred. Check the log for details.\nContinuing emulation may result in crashes and bugs.
Turning off this setting will significantly reduce emulation performance! For the best experience, it is recommended that you leave this setting enabled.
+ Device RAM: %1$s\nRecommended: %2$s
Japan
@@ -300,6 +303,15 @@
Traditional Chinese (正體中文)
Brazilian Portuguese (Português do Brasil)
+
+ Byte
+ KB
+ MB
+ GB
+ TB
+ PB
+ EB
+
Vulkan
None
@@ -387,6 +399,8 @@
Minimize window when placed in the background
Pause
Play
+ Mute
+ Unmute
Licenses
diff --git a/src/android/gradle.properties b/src/android/gradle.properties
index e2f278f33..4fca1b576 100644
--- a/src/android/gradle.properties
+++ b/src/android/gradle.properties
@@ -15,3 +15,6 @@ android.useAndroidX=true
kotlin.code.style=official
kotlin.parallel.tasks.in.project=true
android.defaults.buildfeatures.buildconfig=true
+
+# Android Gradle plugin 8.0.2
+android.suppressUnsupportedCompileSdk=34
diff --git a/src/audio_core/device/audio_buffers.h b/src/audio_core/device/audio_buffers.h
index 15082f6c6..5d8ed0ef7 100644
--- a/src/audio_core/device/audio_buffers.h
+++ b/src/audio_core/device/audio_buffers.h
@@ -7,6 +7,7 @@
#include
#include
#include
+#include
#include "audio_buffer.h"
#include "audio_core/device/device_session.h"
@@ -48,7 +49,7 @@ public:
*
* @param out_buffers - The buffers which were registered.
*/
- void RegisterBuffers(std::vector& out_buffers) {
+ void RegisterBuffers(boost::container::static_vector& out_buffers) {
std::scoped_lock l{lock};
const s32 to_register{std::min(std::min(appended_count, BufferAppendLimit),
BufferAppendLimit - registered_count)};
@@ -162,7 +163,8 @@ public:
* @param max_buffers - Maximum number of buffers to released.
* @return The number of buffers released.
*/
- u32 GetRegisteredAppendedBuffers(std::vector& buffers_flushed, u32 max_buffers) {
+ u32 GetRegisteredAppendedBuffers(
+ boost::container::static_vector& buffers_flushed, u32 max_buffers) {
std::scoped_lock l{lock};
if (registered_count + appended_count == 0) {
return 0;
@@ -270,7 +272,7 @@ public:
*/
bool FlushBuffers(u32& buffers_released) {
std::scoped_lock l{lock};
- std::vector buffers_flushed{};
+ boost::container::static_vector buffers_flushed{};
buffers_released = GetRegisteredAppendedBuffers(buffers_flushed, append_limit);
diff --git a/src/audio_core/device/device_session.cpp b/src/audio_core/device/device_session.cpp
index b5c0ef0e6..86811fcb8 100644
--- a/src/audio_core/device/device_session.cpp
+++ b/src/audio_core/device/device_session.cpp
@@ -79,7 +79,7 @@ void DeviceSession::ClearBuffers() {
}
}
-void DeviceSession::AppendBuffers(std::span buffers) const {
+void DeviceSession::AppendBuffers(std::span buffers) {
for (const auto& buffer : buffers) {
Sink::SinkBuffer new_buffer{
.frames = buffer.size / (channel_count * sizeof(s16)),
@@ -88,13 +88,13 @@ void DeviceSession::AppendBuffers(std::span buffers) const {
.consumed = false,
};
+ tmp_samples.resize_destructive(buffer.size / sizeof(s16));
if (type == Sink::StreamType::In) {
- std::vector samples{};
- stream->AppendBuffer(new_buffer, samples);
+ stream->AppendBuffer(new_buffer, tmp_samples);
} else {
- std::vector samples(buffer.size / sizeof(s16));
- system.ApplicationMemory().ReadBlockUnsafe(buffer.samples, samples.data(), buffer.size);
- stream->AppendBuffer(new_buffer, samples);
+ system.ApplicationMemory().ReadBlockUnsafe(buffer.samples, tmp_samples.data(),
+ buffer.size);
+ stream->AppendBuffer(new_buffer, tmp_samples);
}
}
}
diff --git a/src/audio_core/device/device_session.h b/src/audio_core/device/device_session.h
index 75f766c68..7d52f362d 100644
--- a/src/audio_core/device/device_session.h
+++ b/src/audio_core/device/device_session.h
@@ -10,6 +10,7 @@
#include "audio_core/common/common.h"
#include "audio_core/sink/sink.h"
+#include "common/scratch_buffer.h"
#include "core/hle/service/audio/errors.h"
namespace Core {
@@ -62,7 +63,7 @@ public:
*
* @param buffers - The buffers to play.
*/
- void AppendBuffers(std::span buffers) const;
+ void AppendBuffers(std::span buffers);
/**
* (Audio In only) Pop samples from the backend, and write them back to this buffer's address.
@@ -146,8 +147,8 @@ private:
std::shared_ptr thread_event;
/// Is this session initialised?
bool initialized{};
- /// Buffer queue
- std::vector buffer_queue{};
+ /// Temporary sample buffer
+ Common::ScratchBuffer tmp_samples{};
};
} // namespace AudioCore
diff --git a/src/audio_core/in/audio_in_system.cpp b/src/audio_core/in/audio_in_system.cpp
index e23e51758..579129121 100644
--- a/src/audio_core/in/audio_in_system.cpp
+++ b/src/audio_core/in/audio_in_system.cpp
@@ -2,6 +2,7 @@
// SPDX-License-Identifier: GPL-2.0-or-later
#include
+
#include "audio_core/audio_event.h"
#include "audio_core/audio_manager.h"
#include "audio_core/in/audio_in_system.h"
@@ -89,7 +90,7 @@ Result System::Start() {
session->Start();
state = State::Started;
- std::vector buffers_to_flush{};
+ boost::container::static_vector buffers_to_flush{};
buffers.RegisterBuffers(buffers_to_flush);
session->AppendBuffers(buffers_to_flush);
session->SetRingSize(static_cast(buffers_to_flush.size()));
@@ -134,7 +135,7 @@ bool System::AppendBuffer(const AudioInBuffer& buffer, const u64 tag) {
void System::RegisterBuffers() {
if (state == State::Started) {
- std::vector registered_buffers{};
+ boost::container::static_vector registered_buffers{};
buffers.RegisterBuffers(registered_buffers);
session->AppendBuffers(registered_buffers);
}
diff --git a/src/audio_core/out/audio_out_system.cpp b/src/audio_core/out/audio_out_system.cpp
index bd13f7219..0adf64bd3 100644
--- a/src/audio_core/out/audio_out_system.cpp
+++ b/src/audio_core/out/audio_out_system.cpp
@@ -89,7 +89,7 @@ Result System::Start() {
session->Start();
state = State::Started;
- std::vector buffers_to_flush{};
+ boost::container::static_vector buffers_to_flush{};
buffers.RegisterBuffers(buffers_to_flush);
session->AppendBuffers(buffers_to_flush);
session->SetRingSize(static_cast(buffers_to_flush.size()));
@@ -134,7 +134,7 @@ bool System::AppendBuffer(const AudioOutBuffer& buffer, u64 tag) {
void System::RegisterBuffers() {
if (state == State::Started) {
- std::vector registered_buffers{};
+ boost::container::static_vector registered_buffers{};
buffers.RegisterBuffers(registered_buffers);
session->AppendBuffers(registered_buffers);
}
diff --git a/src/audio_core/renderer/adsp/adsp.cpp b/src/audio_core/renderer/adsp/adsp.cpp
index 74772fc50..b1db31e93 100644
--- a/src/audio_core/renderer/adsp/adsp.cpp
+++ b/src/audio_core/renderer/adsp/adsp.cpp
@@ -7,7 +7,6 @@
#include "common/logging/log.h"
#include "core/core.h"
#include "core/core_timing.h"
-#include "core/core_timing_util.h"
#include "core/memory.h"
namespace AudioCore::AudioRenderer::ADSP {
diff --git a/src/audio_core/renderer/adsp/audio_renderer.cpp b/src/audio_core/renderer/adsp/audio_renderer.cpp
index 8bc39f9f9..9ca716b60 100644
--- a/src/audio_core/renderer/adsp/audio_renderer.cpp
+++ b/src/audio_core/renderer/adsp/audio_renderer.cpp
@@ -13,7 +13,6 @@
#include "common/thread.h"
#include "core/core.h"
#include "core/core_timing.h"
-#include "core/core_timing_util.h"
MICROPROFILE_DEFINE(Audio_Renderer, "Audio", "DSP", MP_RGB(60, 19, 97));
@@ -144,6 +143,7 @@ void AudioRenderer::ThreadFunc(std::stop_token stop_token) {
mailbox->ADSPSendMessage(RenderMessage::AudioRenderer_InitializeOK);
+ // 0.12 seconds (2304000 / 19200000)
constexpr u64 max_process_time{2'304'000ULL};
while (!stop_token.stop_requested()) {
@@ -184,8 +184,7 @@ void AudioRenderer::ThreadFunc(std::stop_token stop_token) {
u64 max_time{max_process_time};
if (index == 1 && command_buffer.applet_resource_user_id ==
mailbox->GetCommandBuffer(0).applet_resource_user_id) {
- max_time = max_process_time -
- Core::Timing::CyclesToNs(render_times_taken[0]).count();
+ max_time = max_process_time - render_times_taken[0];
if (render_times_taken[0] > max_process_time) {
max_time = 0;
}
diff --git a/src/audio_core/renderer/adsp/command_list_processor.cpp b/src/audio_core/renderer/adsp/command_list_processor.cpp
index 7a300d216..3a0f1ae38 100644
--- a/src/audio_core/renderer/adsp/command_list_processor.cpp
+++ b/src/audio_core/renderer/adsp/command_list_processor.cpp
@@ -9,7 +9,6 @@
#include "common/settings.h"
#include "core/core.h"
#include "core/core_timing.h"
-#include "core/core_timing_util.h"
#include "core/memory.h"
namespace AudioCore::AudioRenderer::ADSP {
diff --git a/src/audio_core/renderer/command/data_source/decode.cpp b/src/audio_core/renderer/command/data_source/decode.cpp
index ff5d31bd6..f45933203 100644
--- a/src/audio_core/renderer/command/data_source/decode.cpp
+++ b/src/audio_core/renderer/command/data_source/decode.cpp
@@ -8,6 +8,7 @@
#include "audio_core/renderer/command/resample/resample.h"
#include "common/fixed_point.h"
#include "common/logging/log.h"
+#include "common/scratch_buffer.h"
#include "core/memory.h"
namespace AudioCore::AudioRenderer {
@@ -27,6 +28,7 @@ constexpr std::array PitchBySrcQuality = {4, 8, 4};
template
static u32 DecodePcm(Core::Memory::Memory& memory, std::span out_buffer,
const DecodeArg& req) {
+ std::array tmp_samples{};
constexpr s32 min{std::numeric_limits::min()};
constexpr s32 max{std::numeric_limits::max()};
@@ -49,18 +51,17 @@ static u32 DecodePcm(Core::Memory::Memory& memory, std::span out_buffer,
const u64 size{channel_count * samples_to_decode};
const u64 size_bytes{size * sizeof(T)};
- std::vector samples(size);
- memory.ReadBlockUnsafe(source, samples.data(), size_bytes);
+ memory.ReadBlockUnsafe(source, tmp_samples.data(), size_bytes);
if constexpr (std::is_floating_point_v) {
for (u32 i = 0; i < samples_to_decode; i++) {
- auto sample{static_cast(samples[i * channel_count + req.target_channel] *
+ auto sample{static_cast(tmp_samples[i * channel_count + req.target_channel] *
std::numeric_limits::max())};
out_buffer[i] = static_cast(std::clamp(sample, min, max));
}
} else {
for (u32 i = 0; i < samples_to_decode; i++) {
- out_buffer[i] = samples[i * channel_count + req.target_channel];
+ out_buffer[i] = tmp_samples[i * channel_count + req.target_channel];
}
}
} break;
@@ -73,17 +74,16 @@ static u32 DecodePcm(Core::Memory::Memory& memory, std::span out_buffer,
}
const VAddr source{req.buffer + ((req.start_offset + req.offset) * sizeof(T))};
- std::vector samples(samples_to_decode);
- memory.ReadBlockUnsafe(source, samples.data(), samples_to_decode * sizeof(T));
+ memory.ReadBlockUnsafe(source, tmp_samples.data(), samples_to_decode * sizeof(T));
if constexpr (std::is_floating_point_v) {
for (u32 i = 0; i < samples_to_decode; i++) {
- auto sample{static_cast(samples[i * channel_count + req.target_channel] *
+ auto sample{static_cast(tmp_samples[i * channel_count + req.target_channel] *
std::numeric_limits::max())};
out_buffer[i] = static_cast(std::clamp(sample, min, max));
}
} else {
- std::memcpy(out_buffer.data(), samples.data(), samples_to_decode * sizeof(s16));
+ std::memcpy(out_buffer.data(), tmp_samples.data(), samples_to_decode * sizeof(s16));
}
break;
}
@@ -101,6 +101,7 @@ static u32 DecodePcm(Core::Memory::Memory& memory, std::span out_buffer,
*/
static u32 DecodeAdpcm(Core::Memory::Memory& memory, std::span out_buffer,
const DecodeArg& req) {
+ std::array wavebuffer{};
constexpr u32 SamplesPerFrame{14};
constexpr u32 NibblesPerFrame{16};
@@ -138,9 +139,7 @@ static u32 DecodeAdpcm(Core::Memory::Memory& memory, std::span out_buffer,
}
const auto size{std::max((samples_to_process / 8U) * SamplesPerFrame, 8U)};
- std::vector wavebuffer(size);
- memory.ReadBlockUnsafe(req.buffer + position_in_frame / 2, wavebuffer.data(),
- wavebuffer.size());
+ memory.ReadBlockUnsafe(req.buffer + position_in_frame / 2, wavebuffer.data(), size);
auto context{req.adpcm_context};
auto header{context->header};
@@ -258,7 +257,7 @@ void DecodeFromWaveBuffers(Core::Memory::Memory& memory, const DecodeFromWaveBuf
u32 offset{voice_state.offset};
auto output_buffer{args.output};
- std::vector temp_buffer(TempBufferSize, 0);
+ std::array temp_buffer{};
while (remaining_sample_count > 0) {
const auto samples_to_write{std::min(remaining_sample_count, max_remaining_sample_count)};
diff --git a/src/audio_core/renderer/command/effect/compressor.cpp b/src/audio_core/renderer/command/effect/compressor.cpp
index 7229618e8..ee9b68d5b 100644
--- a/src/audio_core/renderer/command/effect/compressor.cpp
+++ b/src/audio_core/renderer/command/effect/compressor.cpp
@@ -44,8 +44,8 @@ static void InitializeCompressorEffect(const CompressorInfo::ParameterVersion2&
static void ApplyCompressorEffect(const CompressorInfo::ParameterVersion2& params,
CompressorInfo::State& state, bool enabled,
- std::vector> input_buffers,
- std::vector> output_buffers, u32 sample_count) {
+ std::span> input_buffers,
+ std::span> output_buffers, u32 sample_count) {
if (enabled) {
auto state_00{state.unk_00};
auto state_04{state.unk_04};
@@ -124,8 +124,8 @@ void CompressorCommand::Dump([[maybe_unused]] const ADSP::CommandListProcessor&
}
void CompressorCommand::Process(const ADSP::CommandListProcessor& processor) {
- std::vector> input_buffers(parameter.channel_count);
- std::vector> output_buffers(parameter.channel_count);
+ std::array, MaxChannels> input_buffers{};
+ std::array, MaxChannels> output_buffers{};
for (s16 i = 0; i < parameter.channel_count; i++) {
input_buffers[i] = processor.mix_buffers.subspan(inputs[i] * processor.sample_count,
diff --git a/src/audio_core/renderer/command/effect/delay.cpp b/src/audio_core/renderer/command/effect/delay.cpp
index a4e408d40..e536cbb1e 100644
--- a/src/audio_core/renderer/command/effect/delay.cpp
+++ b/src/audio_core/renderer/command/effect/delay.cpp
@@ -51,7 +51,7 @@ static void InitializeDelayEffect(const DelayInfo::ParameterVersion1& params,
state.delay_lines[channel].sample_count_max = sample_count_max.to_int_floor();
state.delay_lines[channel].sample_count = sample_count.to_int_floor();
state.delay_lines[channel].buffer.resize(state.delay_lines[channel].sample_count, 0);
- if (state.delay_lines[channel].buffer.size() == 0) {
+ if (state.delay_lines[channel].sample_count == 0) {
state.delay_lines[channel].buffer.push_back(0);
}
state.delay_lines[channel].buffer_pos = 0;
@@ -74,8 +74,8 @@ static void InitializeDelayEffect(const DelayInfo::ParameterVersion1& params,
*/
template
static void ApplyDelay(const DelayInfo::ParameterVersion1& params, DelayInfo::State& state,
- std::vector>& inputs,
- std::vector>& outputs, const u32 sample_count) {
+ std::span> inputs, std::span> outputs,
+ const u32 sample_count) {
for (u32 sample_index = 0; sample_index < sample_count; sample_index++) {
std::array, NumChannels> input_samples{};
for (u32 channel = 0; channel < NumChannels; channel++) {
@@ -153,8 +153,8 @@ static void ApplyDelay(const DelayInfo::ParameterVersion1& params, DelayInfo::St
* @param sample_count - Number of samples to process.
*/
static void ApplyDelayEffect(const DelayInfo::ParameterVersion1& params, DelayInfo::State& state,
- const bool enabled, std::vector>& inputs,
- std::vector>& outputs, const u32 sample_count) {
+ const bool enabled, std::span> inputs,
+ std::span> outputs, const u32 sample_count) {
if (!IsChannelCountValid(params.channel_count)) {
LOG_ERROR(Service_Audio, "Invalid delay channels {}", params.channel_count);
@@ -208,8 +208,8 @@ void DelayCommand::Dump([[maybe_unused]] const ADSP::CommandListProcessor& proce
}
void DelayCommand::Process(const ADSP::CommandListProcessor& processor) {
- std::vector> input_buffers(parameter.channel_count);
- std::vector> output_buffers(parameter.channel_count);
+ std::array, MaxChannels> input_buffers{};
+ std::array, MaxChannels> output_buffers{};
for (s16 i = 0; i < parameter.channel_count; i++) {
input_buffers[i] = processor.mix_buffers.subspan(inputs[i] * processor.sample_count,
diff --git a/src/audio_core/renderer/command/effect/i3dl2_reverb.cpp b/src/audio_core/renderer/command/effect/i3dl2_reverb.cpp
index 27d8b9844..d2bfb67cc 100644
--- a/src/audio_core/renderer/command/effect/i3dl2_reverb.cpp
+++ b/src/audio_core/renderer/command/effect/i3dl2_reverb.cpp
@@ -408,8 +408,8 @@ void I3dl2ReverbCommand::Dump([[maybe_unused]] const ADSP::CommandListProcessor&
}
void I3dl2ReverbCommand::Process(const ADSP::CommandListProcessor& processor) {
- std::vector> input_buffers(parameter.channel_count);
- std::vector> output_buffers(parameter.channel_count);
+ std::array, MaxChannels> input_buffers{};
+ std::array, MaxChannels> output_buffers{};
for (u32 i = 0; i < parameter.channel_count; i++) {
input_buffers[i] = processor.mix_buffers.subspan(inputs[i] * processor.sample_count,
diff --git a/src/audio_core/renderer/command/effect/light_limiter.cpp b/src/audio_core/renderer/command/effect/light_limiter.cpp
index e8fb0e2fc..4161a9821 100644
--- a/src/audio_core/renderer/command/effect/light_limiter.cpp
+++ b/src/audio_core/renderer/command/effect/light_limiter.cpp
@@ -47,8 +47,8 @@ static void InitializeLightLimiterEffect(const LightLimiterInfo::ParameterVersio
*/
static void ApplyLightLimiterEffect(const LightLimiterInfo::ParameterVersion2& params,
LightLimiterInfo::State& state, const bool enabled,
- std::vector>& inputs,
- std::vector>& outputs, const u32 sample_count,
+ std::span> inputs,
+ std::span> outputs, const u32 sample_count,
LightLimiterInfo::StatisticsInternal* statistics) {
constexpr s64 min{std::numeric_limits::min()};
constexpr s64 max{std::numeric_limits::max()};
@@ -147,8 +147,8 @@ void LightLimiterVersion1Command::Dump([[maybe_unused]] const ADSP::CommandListP
}
void LightLimiterVersion1Command::Process(const ADSP::CommandListProcessor& processor) {
- std::vector> input_buffers(parameter.channel_count);
- std::vector> output_buffers(parameter.channel_count);
+ std::array, MaxChannels> input_buffers{};
+ std::array, MaxChannels> output_buffers{};
for (u32 i = 0; i < parameter.channel_count; i++) {
input_buffers[i] = processor.mix_buffers.subspan(inputs[i] * processor.sample_count,
@@ -190,8 +190,8 @@ void LightLimiterVersion2Command::Dump([[maybe_unused]] const ADSP::CommandListP
}
void LightLimiterVersion2Command::Process(const ADSP::CommandListProcessor& processor) {
- std::vector> input_buffers(parameter.channel_count);
- std::vector> output_buffers(parameter.channel_count);
+ std::array, MaxChannels> input_buffers{};
+ std::array, MaxChannels> output_buffers{};
for (u32 i = 0; i < parameter.channel_count; i++) {
input_buffers[i] = processor.mix_buffers.subspan(inputs[i] * processor.sample_count,
diff --git a/src/audio_core/renderer/command/effect/reverb.cpp b/src/audio_core/renderer/command/effect/reverb.cpp
index 8b9b65214..fc2f15a5e 100644
--- a/src/audio_core/renderer/command/effect/reverb.cpp
+++ b/src/audio_core/renderer/command/effect/reverb.cpp
@@ -250,8 +250,8 @@ static Common::FixedPoint<50, 14> Axfx2AllPassTick(ReverbInfo::ReverbDelayLine&
*/
template
static void ApplyReverbEffect(const ReverbInfo::ParameterVersion2& params, ReverbInfo::State& state,
- std::vector>& inputs,
- std::vector>& outputs, const u32 sample_count) {
+ std::span> inputs,
+ std::span> outputs, const u32 sample_count) {
static constexpr std::array OutTapIndexes1Ch{
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
};
@@ -369,8 +369,8 @@ static void ApplyReverbEffect(const ReverbInfo::ParameterVersion2& params, Rever
* @param sample_count - Number of samples to process.
*/
static void ApplyReverbEffect(const ReverbInfo::ParameterVersion2& params, ReverbInfo::State& state,
- const bool enabled, std::vector>& inputs,
- std::vector>& outputs, const u32 sample_count) {
+ const bool enabled, std::span> inputs,
+ std::span> outputs, const u32 sample_count) {
if (enabled) {
switch (params.channel_count) {
case 0:
@@ -412,8 +412,8 @@ void ReverbCommand::Dump([[maybe_unused]] const ADSP::CommandListProcessor& proc
}
void ReverbCommand::Process(const ADSP::CommandListProcessor& processor) {
- std::vector> input_buffers(parameter.channel_count);
- std::vector> output_buffers(parameter.channel_count);
+ std::array, MaxChannels> input_buffers{};
+ std::array, MaxChannels> output_buffers{};
for (u32 i = 0; i < parameter.channel_count; i++) {
input_buffers[i] = processor.mix_buffers.subspan(inputs[i] * processor.sample_count,
diff --git a/src/audio_core/renderer/command/performance/performance.cpp b/src/audio_core/renderer/command/performance/performance.cpp
index 985958b03..4a881547f 100644
--- a/src/audio_core/renderer/command/performance/performance.cpp
+++ b/src/audio_core/renderer/command/performance/performance.cpp
@@ -5,7 +5,6 @@
#include "audio_core/renderer/command/performance/performance.h"
#include "core/core.h"
#include "core/core_timing.h"
-#include "core/core_timing_util.h"
namespace AudioCore::AudioRenderer {
@@ -18,20 +17,18 @@ void PerformanceCommand::Process(const ADSP::CommandListProcessor& processor) {
auto base{entry_address.translated_address};
if (state == PerformanceState::Start) {
auto start_time_ptr{reinterpret_cast(base + entry_address.entry_start_time_offset)};
- *start_time_ptr = static_cast(
- Core::Timing::CyclesToUs(processor.system->CoreTiming().GetClockTicks() -
- processor.start_time - processor.current_processing_time)
- .count());
+ *start_time_ptr =
+ static_cast(processor.system->CoreTiming().GetClockTicks() - processor.start_time -
+ processor.current_processing_time);
} else if (state == PerformanceState::Stop) {
auto processed_time_ptr{
reinterpret_cast(base + entry_address.entry_processed_time_offset)};
auto entry_count_ptr{
reinterpret_cast(base + entry_address.header_entry_count_offset)};
- *processed_time_ptr = static_cast(
- Core::Timing::CyclesToUs(processor.system->CoreTiming().GetClockTicks() -
- processor.start_time - processor.current_processing_time)
- .count());
+ *processed_time_ptr =
+ static_cast(processor.system->CoreTiming().GetClockTicks() - processor.start_time -
+ processor.current_processing_time);
(*entry_count_ptr)++;
}
}
diff --git a/src/audio_core/renderer/command/sink/circular_buffer.cpp b/src/audio_core/renderer/command/sink/circular_buffer.cpp
index ded5afc94..e2ce59792 100644
--- a/src/audio_core/renderer/command/sink/circular_buffer.cpp
+++ b/src/audio_core/renderer/command/sink/circular_buffer.cpp
@@ -24,7 +24,7 @@ void CircularBufferSinkCommand::Process(const ADSP::CommandListProcessor& proces
constexpr s32 min{std::numeric_limits::min()};
constexpr s32 max{std::numeric_limits::max()};
- std::vector output(processor.sample_count);
+ std::array output{};
for (u32 channel = 0; channel < input_count; channel++) {
auto input{processor.mix_buffers.subspan(inputs[channel] * processor.sample_count,
processor.sample_count)};
@@ -33,7 +33,7 @@ void CircularBufferSinkCommand::Process(const ADSP::CommandListProcessor& proces
}
processor.memory->WriteBlockUnsafe(address + pos, output.data(),
- output.size() * sizeof(s16));
+ processor.sample_count * sizeof(s16));
pos += static_cast(processor.sample_count * sizeof(s16));
if (pos >= size) {
pos = 0;
diff --git a/src/audio_core/renderer/command/sink/device.cpp b/src/audio_core/renderer/command/sink/device.cpp
index e88372a75..5f74dd7ad 100644
--- a/src/audio_core/renderer/command/sink/device.cpp
+++ b/src/audio_core/renderer/command/sink/device.cpp
@@ -33,8 +33,7 @@ void DeviceSinkCommand::Process(const ADSP::CommandListProcessor& processor) {
.consumed{false},
};
- std::vector samples(out_buffer.frames * input_count);
-
+ std::array samples{};
for (u32 channel = 0; channel < input_count; channel++) {
const auto offset{inputs[channel] * out_buffer.frames};
@@ -45,7 +44,7 @@ void DeviceSinkCommand::Process(const ADSP::CommandListProcessor& processor) {
}
out_buffer.tag = reinterpret_cast(samples.data());
- stream->AppendBuffer(out_buffer, samples);
+ stream->AppendBuffer(out_buffer, {samples.data(), out_buffer.frames * input_count});
if (stream->IsPaused()) {
stream->Start();
diff --git a/src/audio_core/renderer/mix/mix_context.cpp b/src/audio_core/renderer/mix/mix_context.cpp
index 35b748ede..3a18ae7c2 100644
--- a/src/audio_core/renderer/mix/mix_context.cpp
+++ b/src/audio_core/renderer/mix/mix_context.cpp
@@ -125,10 +125,10 @@ bool MixContext::TSortInfo(const SplitterContext& splitter_context) {
return false;
}
- std::vector sorted_results{node_states.GetSortedResuls()};
- const auto result_size{std::min(count, static_cast(sorted_results.size()))};
+ auto sorted_results{node_states.GetSortedResuls()};
+ const auto result_size{std::min(count, static_cast(sorted_results.second))};
for (s32 i = 0; i < result_size; i++) {
- sorted_mix_infos[i] = &mix_infos[sorted_results[i]];
+ sorted_mix_infos[i] = &mix_infos[sorted_results.first[i]];
}
CalcMixBufferOffset();
diff --git a/src/audio_core/renderer/nodes/node_states.cpp b/src/audio_core/renderer/nodes/node_states.cpp
index 1821a51e6..b7a44a54c 100644
--- a/src/audio_core/renderer/nodes/node_states.cpp
+++ b/src/audio_core/renderer/nodes/node_states.cpp
@@ -134,8 +134,8 @@ u32 NodeStates::GetNodeCount() const {
return node_count;
}
-std::vector NodeStates::GetSortedResuls() const {
- return {results.rbegin(), results.rbegin() + result_pos};
+std::pair::reverse_iterator, size_t> NodeStates::GetSortedResuls() const {
+ return {results.rbegin(), result_pos};
}
} // namespace AudioCore::AudioRenderer
diff --git a/src/audio_core/renderer/nodes/node_states.h b/src/audio_core/renderer/nodes/node_states.h
index 94b1d1254..e768cd4b5 100644
--- a/src/audio_core/renderer/nodes/node_states.h
+++ b/src/audio_core/renderer/nodes/node_states.h
@@ -175,7 +175,7 @@ public:
*
* @return Vector of nodes in reverse order.
*/
- std::vector GetSortedResuls() const;
+ std::pair::reverse_iterator, size_t> GetSortedResuls() const;
private:
/// Number of nodes in the graph
diff --git a/src/audio_core/renderer/system.cpp b/src/audio_core/renderer/system.cpp
index 53b258c4f..a23627472 100644
--- a/src/audio_core/renderer/system.cpp
+++ b/src/audio_core/renderer/system.cpp
@@ -444,6 +444,7 @@ Result System::Update(std::span input, std::span performance, std:
std::scoped_lock l{lock};
const auto start_time{core.CoreTiming().GetClockTicks()};
+ std::memset(output.data(), 0, output.size());
InfoUpdater info_updater(input, output, process_handle, behavior);
diff --git a/src/audio_core/sink/null_sink.h b/src/audio_core/sink/null_sink.h
index 1215d3cd2..b6b43c93e 100644
--- a/src/audio_core/sink/null_sink.h
+++ b/src/audio_core/sink/null_sink.h
@@ -20,7 +20,7 @@ public:
explicit NullSinkStreamImpl(Core::System& system_, StreamType type_)
: SinkStream{system_, type_} {}
~NullSinkStreamImpl() override {}
- void AppendBuffer(SinkBuffer&, std::vector&) override {}
+ void AppendBuffer(SinkBuffer&, std::span) override {}
std::vector ReleaseBuffer(u64) override {
return {};
}
diff --git a/src/audio_core/sink/sink_stream.cpp b/src/audio_core/sink/sink_stream.cpp
index f44fedfd5..404dcd0e9 100644
--- a/src/audio_core/sink/sink_stream.cpp
+++ b/src/audio_core/sink/sink_stream.cpp
@@ -15,11 +15,10 @@
#include "common/settings.h"
#include "core/core.h"
#include "core/core_timing.h"
-#include "core/core_timing_util.h"
namespace AudioCore::Sink {
-void SinkStream::AppendBuffer(SinkBuffer& buffer, std::vector& samples) {
+void SinkStream::AppendBuffer(SinkBuffer& buffer, std::span samples) {
if (type == StreamType::In) {
queue.enqueue(buffer);
queued_buffers++;
@@ -67,15 +66,16 @@ void SinkStream::AppendBuffer(SinkBuffer& buffer, std::vector& samples) {
static_cast(std::clamp(right_sample, min, max));
}
- samples.resize(samples.size() / system_channels * device_channels);
+ samples = samples.subspan(0, samples.size() / system_channels * device_channels);
} else if (system_channels == 2 && device_channels == 6) {
// We need moar samples! Not all games will provide 6 channel audio.
// TODO: Implement some upmixing here. Currently just passthrough, with other
// channels left as silence.
- std::vector new_samples(samples.size() / system_channels * device_channels, 0);
+ auto new_size = samples.size() / system_channels * device_channels;
+ tmp_samples.resize_destructive(new_size);
- for (u32 read_index = 0, write_index = 0; read_index < samples.size();
+ for (u32 read_index = 0, write_index = 0; read_index < new_size;
read_index += system_channels, write_index += device_channels) {
const auto left_sample{static_cast(std::clamp(
static_cast(
@@ -83,7 +83,7 @@ void SinkStream::AppendBuffer(SinkBuffer& buffer, std::vector& samples) {
volume),
min, max))};
- new_samples[write_index + static_cast(Channels::FrontLeft)] = left_sample;
+ tmp_samples[write_index + static_cast(Channels::FrontLeft)] = left_sample;
const auto right_sample{static_cast(std::clamp(
static_cast(
@@ -91,9 +91,9 @@ void SinkStream::AppendBuffer(SinkBuffer& buffer, std::vector& samples) {
volume),
min, max))};
- new_samples[write_index + static_cast(Channels::FrontRight)] = right_sample;
+ tmp_samples[write_index + static_cast(Channels::FrontRight)] = right_sample;
}
- samples = std::move(new_samples);
+ samples = std::span(tmp_samples);
} else if (volume != 1.0f) {
for (u32 i = 0; i < samples.size(); i++) {
diff --git a/src/audio_core/sink/sink_stream.h b/src/audio_core/sink/sink_stream.h
index 41cbadc9c..98d72ace1 100644
--- a/src/audio_core/sink/sink_stream.h
+++ b/src/audio_core/sink/sink_stream.h
@@ -16,6 +16,7 @@
#include "common/polyfill_thread.h"
#include "common/reader_writer_queue.h"
#include "common/ring_buffer.h"
+#include "common/scratch_buffer.h"
#include "common/thread.h"
namespace Core {
@@ -170,7 +171,7 @@ public:
* @param buffer - Audio buffer information to be queued.
* @param samples - The s16 samples to be queue for playback.
*/
- virtual void AppendBuffer(SinkBuffer& buffer, std::vector