summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/android/app/build.gradle.kts4
-rw-r--r--src/android/app/src/main/AndroidManifest.xml1
-rw-r--r--src/android/app/src/main/java/org/yuzu/yuzu_emu/NativeLibrary.kt98
-rw-r--r--src/android/app/src/main/java/org/yuzu/yuzu_emu/activities/EmulationActivity.kt18
-rw-r--r--src/android/app/src/main/java/org/yuzu/yuzu_emu/adapters/AppletAdapter.kt90
-rw-r--r--src/android/app/src/main/java/org/yuzu/yuzu_emu/adapters/CabinetLauncherDialogAdapter.kt72
-rw-r--r--src/android/app/src/main/java/org/yuzu/yuzu_emu/adapters/GameAdapter.kt2
-rw-r--r--src/android/app/src/main/java/org/yuzu/yuzu_emu/fragments/AppletLauncherFragment.kt113
-rw-r--r--src/android/app/src/main/java/org/yuzu/yuzu_emu/fragments/CabinetLauncherDialogFragment.kt41
-rw-r--r--src/android/app/src/main/java/org/yuzu/yuzu_emu/fragments/HomeSettingsFragment.kt85
-rw-r--r--src/android/app/src/main/java/org/yuzu/yuzu_emu/fragments/MessageDialogFragment.kt5
-rw-r--r--src/android/app/src/main/java/org/yuzu/yuzu_emu/model/Applet.kt55
-rw-r--r--src/android/app/src/main/java/org/yuzu/yuzu_emu/model/Game.kt21
-rw-r--r--src/android/app/src/main/java/org/yuzu/yuzu_emu/model/GamesViewModel.kt9
-rw-r--r--src/android/app/src/main/java/org/yuzu/yuzu_emu/ui/main/MainActivity.kt3
-rw-r--r--src/android/app/src/main/java/org/yuzu/yuzu_emu/utils/ControllerMappingHelper.kt70
-rw-r--r--src/android/app/src/main/java/org/yuzu/yuzu_emu/utils/DirectoryInitialization.kt2
-rw-r--r--src/android/app/src/main/java/org/yuzu/yuzu_emu/utils/DocumentsTree.kt17
-rw-r--r--src/android/app/src/main/java/org/yuzu/yuzu_emu/utils/FileUtil.kt6
-rw-r--r--src/android/app/src/main/java/org/yuzu/yuzu_emu/utils/GameHelper.kt17
-rw-r--r--src/android/app/src/main/java/org/yuzu/yuzu_emu/utils/GameIconUtils.kt3
-rw-r--r--src/android/app/src/main/java/org/yuzu/yuzu_emu/utils/GameMetadata.kt20
-rw-r--r--src/android/app/src/main/java/org/yuzu/yuzu_emu/utils/InputHandler.kt55
-rw-r--r--src/android/app/src/main/java/org/yuzu/yuzu_emu/utils/Log.kt35
-rw-r--r--src/android/app/src/main/jni/CMakeLists.txt3
-rw-r--r--src/android/app/src/main/jni/game_metadata.cpp112
-rw-r--r--src/android/app/src/main/jni/native.cpp815
-rw-r--r--src/android/app/src/main/jni/native.h85
-rw-r--r--src/android/app/src/main/jni/native_log.cpp31
-rw-r--r--src/android/app/src/main/res/drawable/ic_album.xml9
-rw-r--r--src/android/app/src/main/res/drawable/ic_applet.xml9
-rw-r--r--src/android/app/src/main/res/drawable/ic_edit.xml9
-rw-r--r--src/android/app/src/main/res/drawable/ic_mii.xml18
-rw-r--r--src/android/app/src/main/res/drawable/ic_refresh.xml9
-rw-r--r--src/android/app/src/main/res/drawable/ic_restore.xml9
-rw-r--r--src/android/app/src/main/res/layout/card_applet_option.xml57
-rw-r--r--src/android/app/src/main/res/layout/card_game.xml45
-rw-r--r--src/android/app/src/main/res/layout/dialog_list.xml15
-rw-r--r--src/android/app/src/main/res/layout/dialog_list_item.xml30
-rw-r--r--src/android/app/src/main/res/layout/fragment_applet_launcher.xml31
-rw-r--r--src/android/app/src/main/res/navigation/home_navigation.xml15
-rw-r--r--src/android/app/src/main/res/resources.properties1
-rw-r--r--src/android/app/src/main/res/values-ar/strings.xml385
-rw-r--r--src/android/app/src/main/res/values-ckb/strings.xml336
-rw-r--r--src/android/app/src/main/res/values-de/strings.xml119
-rw-r--r--src/android/app/src/main/res/values-es/strings.xml180
-rw-r--r--src/android/app/src/main/res/values-fr/strings.xml180
-rw-r--r--src/android/app/src/main/res/values-he/strings.xml367
-rw-r--r--src/android/app/src/main/res/values-hu/strings.xml402
-rw-r--r--src/android/app/src/main/res/values-it/strings.xml192
-rw-r--r--src/android/app/src/main/res/values-ja/strings.xml218
-rw-r--r--src/android/app/src/main/res/values-ko/strings.xml273
-rw-r--r--src/android/app/src/main/res/values-nb/strings.xml113
-rw-r--r--src/android/app/src/main/res/values-pl/strings.xml81
-rw-r--r--src/android/app/src/main/res/values-pt-rBR/strings.xml210
-rw-r--r--src/android/app/src/main/res/values-pt-rPT/strings.xml192
-rw-r--r--src/android/app/src/main/res/values-ru/strings.xml159
-rw-r--r--src/android/app/src/main/res/values-uk/strings.xml90
-rw-r--r--src/android/app/src/main/res/values-vi/strings.xml340
-rw-r--r--src/android/app/src/main/res/values-zh-rCN/strings.xml138
-rw-r--r--src/android/app/src/main/res/values-zh-rTW/strings.xml137
-rw-r--r--src/android/app/src/main/res/values/strings.xml20
-rw-r--r--src/android/app/src/main/res/xml/locales_config.xml17
-rw-r--r--src/common/fs/fs_android.cpp33
-rw-r--r--src/common/fs/fs_android.h15
-rw-r--r--src/common/fs/path_util.cpp10
-rw-r--r--src/common/string_util.cpp12
-rw-r--r--src/core/file_sys/romfs.cpp44
-rw-r--r--src/core/file_sys/romfs.h9
-rw-r--r--src/core/hid/emulated_controller.cpp14
-rw-r--r--src/core/hid/hid_types.h15
-rw-r--r--src/core/hle/service/am/am.cpp92
-rw-r--r--src/core/hle/service/am/am.h3
-rw-r--r--src/core/hle/service/am/applets/applet_web_browser.cpp3
-rw-r--r--src/core/hle/service/caps/caps_manager.cpp16
-rw-r--r--src/core/hle/service/caps/caps_manager.h9
-rw-r--r--src/core/hle/service/caps/caps_ss.cpp10
-rw-r--r--src/core/hle/service/caps/caps_su.cpp42
-rw-r--r--src/core/hle/service/caps/caps_su.h9
-rw-r--r--src/core/hle/service/hid/controllers/npad.cpp6
-rw-r--r--src/video_core/renderer_vulkan/vk_rasterizer.cpp6
-rw-r--r--src/yuzu/main.cpp32
-rw-r--r--src/yuzu/main.h25
83 files changed, 5218 insertions, 1481 deletions
diff --git a/src/android/app/build.gradle.kts b/src/android/app/build.gradle.kts
index ac43d84b7..021b070e0 100644
--- a/src/android/app/build.gradle.kts
+++ b/src/android/app/build.gradle.kts
@@ -47,6 +47,10 @@ android {
47 jniLibs.useLegacyPackaging = true 47 jniLibs.useLegacyPackaging = true
48 } 48 }
49 49
50 androidResources {
51 generateLocaleConfig = true
52 }
53
50 defaultConfig { 54 defaultConfig {
51 // TODO If this is ever modified, change application_id in strings.xml 55 // TODO If this is ever modified, change application_id in strings.xml
52 applicationId = "org.yuzu.yuzu_emu" 56 applicationId = "org.yuzu.yuzu_emu"
diff --git a/src/android/app/src/main/AndroidManifest.xml b/src/android/app/src/main/AndroidManifest.xml
index a67351727..f10131b24 100644
--- a/src/android/app/src/main/AndroidManifest.xml
+++ b/src/android/app/src/main/AndroidManifest.xml
@@ -26,7 +26,6 @@ SPDX-License-Identifier: GPL-3.0-or-later
26 android:supportsRtl="true" 26 android:supportsRtl="true"
27 android:isGame="true" 27 android:isGame="true"
28 android:appCategory="game" 28 android:appCategory="game"
29 android:localeConfig="@xml/locales_config"
30 android:banner="@drawable/tv_banner" 29 android:banner="@drawable/tv_banner"
31 android:fullBackupContent="@xml/data_extraction_rules" 30 android:fullBackupContent="@xml/data_extraction_rules"
32 android:dataExtractionRules="@xml/data_extraction_rules_api_31" 31 android:dataExtractionRules="@xml/data_extraction_rules_api_31"
diff --git a/src/android/app/src/main/java/org/yuzu/yuzu_emu/NativeLibrary.kt b/src/android/app/src/main/java/org/yuzu/yuzu_emu/NativeLibrary.kt
index 115f72710..ed8fe6c3f 100644
--- a/src/android/app/src/main/java/org/yuzu/yuzu_emu/NativeLibrary.kt
+++ b/src/android/app/src/main/java/org/yuzu/yuzu_emu/NativeLibrary.kt
@@ -5,6 +5,7 @@ package org.yuzu.yuzu_emu
5 5
6import android.app.Dialog 6import android.app.Dialog
7import android.content.DialogInterface 7import android.content.DialogInterface
8import android.net.Uri
8import android.os.Bundle 9import android.os.Bundle
9import android.text.Html 10import android.text.Html
10import android.text.method.LinkMovementMethod 11import android.text.method.LinkMovementMethod
@@ -16,7 +17,7 @@ import androidx.fragment.app.DialogFragment
16import com.google.android.material.dialog.MaterialAlertDialogBuilder 17import com.google.android.material.dialog.MaterialAlertDialogBuilder
17import java.lang.ref.WeakReference 18import java.lang.ref.WeakReference
18import org.yuzu.yuzu_emu.activities.EmulationActivity 19import org.yuzu.yuzu_emu.activities.EmulationActivity
19import org.yuzu.yuzu_emu.utils.DocumentsTree.Companion.isNativePath 20import org.yuzu.yuzu_emu.utils.DocumentsTree
20import org.yuzu.yuzu_emu.utils.FileUtil 21import org.yuzu.yuzu_emu.utils.FileUtil
21import org.yuzu.yuzu_emu.utils.Log 22import org.yuzu.yuzu_emu.utils.Log
22import org.yuzu.yuzu_emu.utils.SerializableHelper.serializable 23import org.yuzu.yuzu_emu.utils.SerializableHelper.serializable
@@ -68,7 +69,7 @@ object NativeLibrary {
68 @Keep 69 @Keep
69 @JvmStatic 70 @JvmStatic
70 fun openContentUri(path: String?, openmode: String?): Int { 71 fun openContentUri(path: String?, openmode: String?): Int {
71 return if (isNativePath(path!!)) { 72 return if (DocumentsTree.isNativePath(path!!)) {
72 YuzuApplication.documentsTree!!.openContentUri(path, openmode) 73 YuzuApplication.documentsTree!!.openContentUri(path, openmode)
73 } else { 74 } else {
74 FileUtil.openContentUri(path, openmode) 75 FileUtil.openContentUri(path, openmode)
@@ -78,7 +79,7 @@ object NativeLibrary {
78 @Keep 79 @Keep
79 @JvmStatic 80 @JvmStatic
80 fun getSize(path: String?): Long { 81 fun getSize(path: String?): Long {
81 return if (isNativePath(path!!)) { 82 return if (DocumentsTree.isNativePath(path!!)) {
82 YuzuApplication.documentsTree!!.getFileSize(path) 83 YuzuApplication.documentsTree!!.getFileSize(path)
83 } else { 84 } else {
84 FileUtil.getFileSize(path) 85 FileUtil.getFileSize(path)
@@ -88,23 +89,41 @@ object NativeLibrary {
88 @Keep 89 @Keep
89 @JvmStatic 90 @JvmStatic
90 fun exists(path: String?): Boolean { 91 fun exists(path: String?): Boolean {
91 return if (isNativePath(path!!)) { 92 return if (DocumentsTree.isNativePath(path!!)) {
92 YuzuApplication.documentsTree!!.exists(path) 93 YuzuApplication.documentsTree!!.exists(path)
93 } else { 94 } else {
94 FileUtil.exists(path) 95 FileUtil.exists(path, suppressLog = true)
95 } 96 }
96 } 97 }
97 98
98 @Keep 99 @Keep
99 @JvmStatic 100 @JvmStatic
100 fun isDirectory(path: String?): Boolean { 101 fun isDirectory(path: String?): Boolean {
101 return if (isNativePath(path!!)) { 102 return if (DocumentsTree.isNativePath(path!!)) {
102 YuzuApplication.documentsTree!!.isDirectory(path) 103 YuzuApplication.documentsTree!!.isDirectory(path)
103 } else { 104 } else {
104 FileUtil.isDirectory(path) 105 FileUtil.isDirectory(path)
105 } 106 }
106 } 107 }
107 108
109 @Keep
110 @JvmStatic
111 fun getParentDirectory(path: String): String =
112 if (DocumentsTree.isNativePath(path)) {
113 YuzuApplication.documentsTree!!.getParentDirectory(path)
114 } else {
115 path
116 }
117
118 @Keep
119 @JvmStatic
120 fun getFilename(path: String): String =
121 if (DocumentsTree.isNativePath(path)) {
122 YuzuApplication.documentsTree!!.getFilename(path)
123 } else {
124 FileUtil.getFilename(Uri.parse(path))
125 }
126
108 /** 127 /**
109 * Returns true if pro controller isn't available and handheld is 128 * Returns true if pro controller isn't available and handheld is
110 */ 129 */
@@ -215,32 +234,6 @@ object NativeLibrary {
215 234
216 external fun initGameIni(gameID: String?) 235 external fun initGameIni(gameID: String?)
217 236
218 /**
219 * Gets the embedded icon within the given ROM.
220 *
221 * @param filename the file path to the ROM.
222 * @return a byte array containing the JPEG data for the icon.
223 */
224 external fun getIcon(filename: String): ByteArray
225
226 /**
227 * Gets the embedded title of the given ISO/ROM.
228 *
229 * @param filename The file path to the ISO/ROM.
230 * @return the embedded title of the ISO/ROM.
231 */
232 external fun getTitle(filename: String): String
233
234 external fun getDescription(filename: String): String
235
236 external fun getGameId(filename: String): String
237
238 external fun getRegions(filename: String): String
239
240 external fun getCompany(filename: String): String
241
242 external fun isHomebrew(filename: String): Boolean
243
244 external fun setAppDirectory(directory: String) 237 external fun setAppDirectory(directory: String)
245 238
246 /** 239 /**
@@ -259,7 +252,7 @@ object NativeLibrary {
259 252
260 external fun reloadKeys(): Boolean 253 external fun reloadKeys(): Boolean
261 254
262 external fun initializeEmulation() 255 external fun initializeSystem()
263 256
264 external fun defaultCPUCore(): Int 257 external fun defaultCPUCore(): Int
265 258
@@ -294,11 +287,6 @@ object NativeLibrary {
294 external fun stopEmulation() 287 external fun stopEmulation()
295 288
296 /** 289 /**
297 * Resets the in-memory ROM metadata cache.
298 */
299 external fun resetRomMetadata()
300
301 /**
302 * Returns true if emulation is running (or is paused). 290 * Returns true if emulation is running (or is paused).
303 */ 291 */
304 external fun isRunning(): Boolean 292 external fun isRunning(): Boolean
@@ -474,12 +462,12 @@ object NativeLibrary {
474 } 462 }
475 463
476 fun setEmulationActivity(emulationActivity: EmulationActivity?) { 464 fun setEmulationActivity(emulationActivity: EmulationActivity?) {
477 Log.verbose("[NativeLibrary] Registering EmulationActivity.") 465 Log.debug("[NativeLibrary] Registering EmulationActivity.")
478 sEmulationActivity = WeakReference(emulationActivity) 466 sEmulationActivity = WeakReference(emulationActivity)
479 } 467 }
480 468
481 fun clearEmulationActivity() { 469 fun clearEmulationActivity() {
482 Log.verbose("[NativeLibrary] Unregistering EmulationActivity.") 470 Log.debug("[NativeLibrary] Unregistering EmulationActivity.")
483 sEmulationActivity.clear() 471 sEmulationActivity.clear()
484 } 472 }
485 473
@@ -518,6 +506,36 @@ object NativeLibrary {
518 external fun initializeEmptyUserDirectory() 506 external fun initializeEmptyUserDirectory()
519 507
520 /** 508 /**
509 * Gets the launch path for a given applet. It is the caller's responsibility to also
510 * set the system's current applet ID before trying to launch the nca given by this function.
511 *
512 * @param id The applet entry ID
513 * @return The applet's launch path
514 */
515 external fun getAppletLaunchPath(id: Long): String
516
517 /**
518 * Sets the system's current applet ID before launching.
519 *
520 * @param appletId One of the ids in the Service::AM::Applets::AppletId enum
521 */
522 external fun setCurrentAppletId(appletId: Int)
523
524 /**
525 * Sets the cabinet mode for launching the cabinet applet.
526 *
527 * @param cabinetMode One of the modes that corresponds to the enum in Service::NFP::CabinetMode
528 */
529 external fun setCabinetMode(cabinetMode: Int)
530
531 /**
532 * Checks whether NAND contents are available and valid.
533 *
534 * @return 'true' if firmware is available
535 */
536 external fun isFirmwareAvailable(): Boolean
537
538 /**
521 * Button type for use in onTouchEvent 539 * Button type for use in onTouchEvent
522 */ 540 */
523 object ButtonType { 541 object ButtonType {
diff --git a/src/android/app/src/main/java/org/yuzu/yuzu_emu/activities/EmulationActivity.kt b/src/android/app/src/main/java/org/yuzu/yuzu_emu/activities/EmulationActivity.kt
index e96a2059b..da98d4ef5 100644
--- a/src/android/app/src/main/java/org/yuzu/yuzu_emu/activities/EmulationActivity.kt
+++ b/src/android/app/src/main/java/org/yuzu/yuzu_emu/activities/EmulationActivity.kt
@@ -45,9 +45,9 @@ import org.yuzu.yuzu_emu.features.settings.model.IntSetting
45import org.yuzu.yuzu_emu.features.settings.model.Settings 45import org.yuzu.yuzu_emu.features.settings.model.Settings
46import org.yuzu.yuzu_emu.model.EmulationViewModel 46import org.yuzu.yuzu_emu.model.EmulationViewModel
47import org.yuzu.yuzu_emu.model.Game 47import org.yuzu.yuzu_emu.model.Game
48import org.yuzu.yuzu_emu.utils.ControllerMappingHelper
49import org.yuzu.yuzu_emu.utils.ForegroundService 48import org.yuzu.yuzu_emu.utils.ForegroundService
50import org.yuzu.yuzu_emu.utils.InputHandler 49import org.yuzu.yuzu_emu.utils.InputHandler
50import org.yuzu.yuzu_emu.utils.Log
51import org.yuzu.yuzu_emu.utils.MemoryUtil 51import org.yuzu.yuzu_emu.utils.MemoryUtil
52import org.yuzu.yuzu_emu.utils.NfcReader 52import org.yuzu.yuzu_emu.utils.NfcReader
53import org.yuzu.yuzu_emu.utils.ThemeHelper 53import org.yuzu.yuzu_emu.utils.ThemeHelper
@@ -57,17 +57,16 @@ import kotlin.math.roundToInt
57class EmulationActivity : AppCompatActivity(), SensorEventListener { 57class EmulationActivity : AppCompatActivity(), SensorEventListener {
58 private lateinit var binding: ActivityEmulationBinding 58 private lateinit var binding: ActivityEmulationBinding
59 59
60 private var controllerMappingHelper: ControllerMappingHelper? = null
61
62 var isActivityRecreated = false 60 var isActivityRecreated = false
63 private lateinit var nfcReader: NfcReader 61 private lateinit var nfcReader: NfcReader
64 private lateinit var inputHandler: InputHandler
65 62
66 private val gyro = FloatArray(3) 63 private val gyro = FloatArray(3)
67 private val accel = FloatArray(3) 64 private val accel = FloatArray(3)
68 private var motionTimestamp: Long = 0 65 private var motionTimestamp: Long = 0
69 private var flipMotionOrientation: Boolean = false 66 private var flipMotionOrientation: Boolean = false
70 67
68 private var controllerIds = InputHandler.getGameControllerIds()
69
71 private val actionPause = "ACTION_EMULATOR_PAUSE" 70 private val actionPause = "ACTION_EMULATOR_PAUSE"
72 private val actionPlay = "ACTION_EMULATOR_PLAY" 71 private val actionPlay = "ACTION_EMULATOR_PLAY"
73 private val actionMute = "ACTION_EMULATOR_MUTE" 72 private val actionMute = "ACTION_EMULATOR_MUTE"
@@ -82,6 +81,7 @@ class EmulationActivity : AppCompatActivity(), SensorEventListener {
82 } 81 }
83 82
84 override fun onCreate(savedInstanceState: Bundle?) { 83 override fun onCreate(savedInstanceState: Bundle?) {
84 Log.gameLaunched = true
85 ThemeHelper.setTheme(this) 85 ThemeHelper.setTheme(this)
86 86
87 super.onCreate(savedInstanceState) 87 super.onCreate(savedInstanceState)
@@ -95,8 +95,6 @@ class EmulationActivity : AppCompatActivity(), SensorEventListener {
95 95
96 isActivityRecreated = savedInstanceState != null 96 isActivityRecreated = savedInstanceState != null
97 97
98 controllerMappingHelper = ControllerMappingHelper()
99
100 // Set these options now so that the SurfaceView the game renders into is the right size. 98 // Set these options now so that the SurfaceView the game renders into is the right size.
101 enableFullscreenImmersive() 99 enableFullscreenImmersive()
102 100
@@ -105,8 +103,7 @@ class EmulationActivity : AppCompatActivity(), SensorEventListener {
105 nfcReader = NfcReader(this) 103 nfcReader = NfcReader(this)
106 nfcReader.initialize() 104 nfcReader.initialize()
107 105
108 inputHandler = InputHandler() 106 InputHandler.initialize()
109 inputHandler.initialize()
110 107
111 val preferences = PreferenceManager.getDefaultSharedPreferences(YuzuApplication.appContext) 108 val preferences = PreferenceManager.getDefaultSharedPreferences(YuzuApplication.appContext)
112 if (!preferences.getBoolean(Settings.PREF_MEMORY_WARNING_SHOWN, false)) { 109 if (!preferences.getBoolean(Settings.PREF_MEMORY_WARNING_SHOWN, false)) {
@@ -162,6 +159,7 @@ class EmulationActivity : AppCompatActivity(), SensorEventListener {
162 super.onResume() 159 super.onResume()
163 nfcReader.startScanning() 160 nfcReader.startScanning()
164 startMotionSensorListener() 161 startMotionSensorListener()
162 InputHandler.updateControllerIds()
165 163
166 buildPictureInPictureParams() 164 buildPictureInPictureParams()
167 } 165 }
@@ -195,7 +193,7 @@ class EmulationActivity : AppCompatActivity(), SensorEventListener {
195 return super.dispatchKeyEvent(event) 193 return super.dispatchKeyEvent(event)
196 } 194 }
197 195
198 return inputHandler.dispatchKeyEvent(event) 196 return InputHandler.dispatchKeyEvent(event)
199 } 197 }
200 198
201 override fun dispatchGenericMotionEvent(event: MotionEvent): Boolean { 199 override fun dispatchGenericMotionEvent(event: MotionEvent): Boolean {
@@ -210,7 +208,7 @@ class EmulationActivity : AppCompatActivity(), SensorEventListener {
210 return true 208 return true
211 } 209 }
212 210
213 return inputHandler.dispatchGenericMotionEvent(event) 211 return InputHandler.dispatchGenericMotionEvent(event)
214 } 212 }
215 213
216 override fun onSensorChanged(event: SensorEvent) { 214 override fun onSensorChanged(event: SensorEvent) {
diff --git a/src/android/app/src/main/java/org/yuzu/yuzu_emu/adapters/AppletAdapter.kt b/src/android/app/src/main/java/org/yuzu/yuzu_emu/adapters/AppletAdapter.kt
new file mode 100644
index 000000000..a21a705c1
--- /dev/null
+++ b/src/android/app/src/main/java/org/yuzu/yuzu_emu/adapters/AppletAdapter.kt
@@ -0,0 +1,90 @@
1// SPDX-FileCopyrightText: 2023 yuzu Emulator Project
2// SPDX-License-Identifier: GPL-2.0-or-later
3
4package org.yuzu.yuzu_emu.adapters
5
6import android.view.LayoutInflater
7import android.view.View
8import android.view.ViewGroup
9import android.widget.Toast
10import androidx.core.content.res.ResourcesCompat
11import androidx.fragment.app.FragmentActivity
12import androidx.navigation.findNavController
13import androidx.recyclerview.widget.RecyclerView
14import org.yuzu.yuzu_emu.HomeNavigationDirections
15import org.yuzu.yuzu_emu.NativeLibrary
16import org.yuzu.yuzu_emu.R
17import org.yuzu.yuzu_emu.YuzuApplication
18import org.yuzu.yuzu_emu.databinding.CardAppletOptionBinding
19import org.yuzu.yuzu_emu.model.Applet
20import org.yuzu.yuzu_emu.model.AppletInfo
21import org.yuzu.yuzu_emu.model.Game
22
23class AppletAdapter(val activity: FragmentActivity, var applets: List<Applet>) :
24 RecyclerView.Adapter<AppletAdapter.AppletViewHolder>(),
25 View.OnClickListener {
26
27 override fun onCreateViewHolder(
28 parent: ViewGroup,
29 viewType: Int
30 ): AppletAdapter.AppletViewHolder {
31 CardAppletOptionBinding.inflate(LayoutInflater.from(parent.context), parent, false)
32 .apply { root.setOnClickListener(this@AppletAdapter) }
33 .also { return AppletViewHolder(it) }
34 }
35
36 override fun onBindViewHolder(holder: AppletViewHolder, position: Int) =
37 holder.bind(applets[position])
38
39 override fun getItemCount(): Int = applets.size
40
41 override fun onClick(view: View) {
42 val applet = (view.tag as AppletViewHolder).applet
43 val appletPath = NativeLibrary.getAppletLaunchPath(applet.appletInfo.entryId)
44 if (appletPath.isEmpty()) {
45 Toast.makeText(
46 YuzuApplication.appContext,
47 R.string.applets_error_applet,
48 Toast.LENGTH_SHORT
49 ).show()
50 return
51 }
52
53 if (applet.appletInfo == AppletInfo.Cabinet) {
54 view.findNavController()
55 .navigate(R.id.action_appletLauncherFragment_to_cabinetLauncherDialogFragment)
56 return
57 }
58
59 NativeLibrary.setCurrentAppletId(applet.appletInfo.appletId)
60 val appletGame = Game(
61 title = YuzuApplication.appContext.getString(applet.titleId),
62 path = appletPath
63 )
64 val action = HomeNavigationDirections.actionGlobalEmulationActivity(appletGame)
65 view.findNavController().navigate(action)
66 }
67
68 inner class AppletViewHolder(val binding: CardAppletOptionBinding) :
69 RecyclerView.ViewHolder(binding.root) {
70 lateinit var applet: Applet
71
72 init {
73 itemView.tag = this
74 }
75
76 fun bind(applet: Applet) {
77 this.applet = applet
78
79 binding.title.setText(applet.titleId)
80 binding.description.setText(applet.descriptionId)
81 binding.icon.setImageDrawable(
82 ResourcesCompat.getDrawable(
83 binding.icon.context.resources,
84 applet.iconId,
85 binding.icon.context.theme
86 )
87 )
88 }
89 }
90}
diff --git a/src/android/app/src/main/java/org/yuzu/yuzu_emu/adapters/CabinetLauncherDialogAdapter.kt b/src/android/app/src/main/java/org/yuzu/yuzu_emu/adapters/CabinetLauncherDialogAdapter.kt
new file mode 100644
index 000000000..e7b7c0f2f
--- /dev/null
+++ b/src/android/app/src/main/java/org/yuzu/yuzu_emu/adapters/CabinetLauncherDialogAdapter.kt
@@ -0,0 +1,72 @@
1// SPDX-FileCopyrightText: 2023 yuzu Emulator Project
2// SPDX-License-Identifier: GPL-2.0-or-later
3
4package org.yuzu.yuzu_emu.adapters
5
6import android.view.LayoutInflater
7import android.view.View
8import android.view.ViewGroup
9import androidx.core.content.res.ResourcesCompat
10import androidx.fragment.app.Fragment
11import androidx.navigation.fragment.findNavController
12import androidx.recyclerview.widget.RecyclerView
13import org.yuzu.yuzu_emu.HomeNavigationDirections
14import org.yuzu.yuzu_emu.NativeLibrary
15import org.yuzu.yuzu_emu.R
16import org.yuzu.yuzu_emu.YuzuApplication
17import org.yuzu.yuzu_emu.databinding.DialogListItemBinding
18import org.yuzu.yuzu_emu.model.CabinetMode
19import org.yuzu.yuzu_emu.adapters.CabinetLauncherDialogAdapter.CabinetModeViewHolder
20import org.yuzu.yuzu_emu.model.AppletInfo
21import org.yuzu.yuzu_emu.model.Game
22
23class CabinetLauncherDialogAdapter(val fragment: Fragment) :
24 RecyclerView.Adapter<CabinetModeViewHolder>(),
25 View.OnClickListener {
26 private val cabinetModes = CabinetMode.values().copyOfRange(1, CabinetMode.values().size)
27
28 override fun onCreateViewHolder(parent: ViewGroup, viewType: Int): CabinetModeViewHolder {
29 DialogListItemBinding.inflate(LayoutInflater.from(parent.context), parent, false)
30 .apply { root.setOnClickListener(this@CabinetLauncherDialogAdapter) }
31 .also { return CabinetModeViewHolder(it) }
32 }
33
34 override fun getItemCount(): Int = cabinetModes.size
35
36 override fun onBindViewHolder(holder: CabinetModeViewHolder, position: Int) =
37 holder.bind(cabinetModes[position])
38
39 override fun onClick(view: View) {
40 val mode = (view.tag as CabinetModeViewHolder).cabinetMode
41 val appletPath = NativeLibrary.getAppletLaunchPath(AppletInfo.Cabinet.entryId)
42 NativeLibrary.setCurrentAppletId(AppletInfo.Cabinet.appletId)
43 NativeLibrary.setCabinetMode(mode.id)
44 val appletGame = Game(
45 title = YuzuApplication.appContext.getString(R.string.cabinet_applet),
46 path = appletPath
47 )
48 val action = HomeNavigationDirections.actionGlobalEmulationActivity(appletGame)
49 fragment.findNavController().navigate(action)
50 }
51
52 inner class CabinetModeViewHolder(val binding: DialogListItemBinding) :
53 RecyclerView.ViewHolder(binding.root) {
54 lateinit var cabinetMode: CabinetMode
55
56 init {
57 itemView.tag = this
58 }
59
60 fun bind(cabinetMode: CabinetMode) {
61 this.cabinetMode = cabinetMode
62 binding.icon.setImageDrawable(
63 ResourcesCompat.getDrawable(
64 binding.icon.context.resources,
65 cabinetMode.iconId,
66 binding.icon.context.theme
67 )
68 )
69 binding.title.setText(cabinetMode.titleId)
70 }
71 }
72}
diff --git a/src/android/app/src/main/java/org/yuzu/yuzu_emu/adapters/GameAdapter.kt b/src/android/app/src/main/java/org/yuzu/yuzu_emu/adapters/GameAdapter.kt
index f9f88a1d2..0c82cdba8 100644
--- a/src/android/app/src/main/java/org/yuzu/yuzu_emu/adapters/GameAdapter.kt
+++ b/src/android/app/src/main/java/org/yuzu/yuzu_emu/adapters/GameAdapter.kt
@@ -147,7 +147,7 @@ class GameAdapter(private val activity: AppCompatActivity) :
147 147
148 private class DiffCallback : DiffUtil.ItemCallback<Game>() { 148 private class DiffCallback : DiffUtil.ItemCallback<Game>() {
149 override fun areItemsTheSame(oldItem: Game, newItem: Game): Boolean { 149 override fun areItemsTheSame(oldItem: Game, newItem: Game): Boolean {
150 return oldItem.gameId == newItem.gameId 150 return oldItem.programId == newItem.programId
151 } 151 }
152 152
153 override fun areContentsTheSame(oldItem: Game, newItem: Game): Boolean { 153 override fun areContentsTheSame(oldItem: Game, newItem: Game): Boolean {
diff --git a/src/android/app/src/main/java/org/yuzu/yuzu_emu/fragments/AppletLauncherFragment.kt b/src/android/app/src/main/java/org/yuzu/yuzu_emu/fragments/AppletLauncherFragment.kt
new file mode 100644
index 000000000..1f66b440d
--- /dev/null
+++ b/src/android/app/src/main/java/org/yuzu/yuzu_emu/fragments/AppletLauncherFragment.kt
@@ -0,0 +1,113 @@
1// SPDX-FileCopyrightText: 2023 yuzu Emulator Project
2// SPDX-License-Identifier: GPL-2.0-or-later
3
4package org.yuzu.yuzu_emu.fragments
5
6import android.os.Bundle
7import android.view.LayoutInflater
8import android.view.View
9import android.view.ViewGroup
10import androidx.core.view.ViewCompat
11import androidx.core.view.WindowInsetsCompat
12import androidx.core.view.updatePadding
13import androidx.fragment.app.Fragment
14import androidx.fragment.app.activityViewModels
15import androidx.navigation.findNavController
16import androidx.recyclerview.widget.GridLayoutManager
17import com.google.android.material.transition.MaterialSharedAxis
18import org.yuzu.yuzu_emu.R
19import org.yuzu.yuzu_emu.adapters.AppletAdapter
20import org.yuzu.yuzu_emu.databinding.FragmentAppletLauncherBinding
21import org.yuzu.yuzu_emu.model.Applet
22import org.yuzu.yuzu_emu.model.AppletInfo
23import org.yuzu.yuzu_emu.model.HomeViewModel
24
25class AppletLauncherFragment : Fragment() {
26 private var _binding: FragmentAppletLauncherBinding? = null
27 private val binding get() = _binding!!
28
29 private val homeViewModel: HomeViewModel by activityViewModels()
30
31 override fun onCreate(savedInstanceState: Bundle?) {
32 super.onCreate(savedInstanceState)
33 enterTransition = MaterialSharedAxis(MaterialSharedAxis.X, true)
34 returnTransition = MaterialSharedAxis(MaterialSharedAxis.X, false)
35 reenterTransition = MaterialSharedAxis(MaterialSharedAxis.X, false)
36 }
37
38 override fun onCreateView(
39 inflater: LayoutInflater,
40 container: ViewGroup?,
41 savedInstanceState: Bundle?
42 ): View {
43 _binding = FragmentAppletLauncherBinding.inflate(inflater)
44 return binding.root
45 }
46
47 override fun onViewCreated(view: View, savedInstanceState: Bundle?) {
48 super.onViewCreated(view, savedInstanceState)
49 homeViewModel.setNavigationVisibility(visible = false, animated = true)
50 homeViewModel.setStatusBarShadeVisibility(visible = false)
51
52 binding.toolbarApplets.setNavigationOnClickListener {
53 binding.root.findNavController().popBackStack()
54 }
55
56 val applets = listOf(
57 Applet(
58 R.string.album_applet,
59 R.string.album_applet_description,
60 R.drawable.ic_album,
61 AppletInfo.PhotoViewer
62 ),
63 Applet(
64 R.string.cabinet_applet,
65 R.string.cabinet_applet_description,
66 R.drawable.ic_nfc,
67 AppletInfo.Cabinet
68 ),
69 Applet(
70 R.string.mii_edit_applet,
71 R.string.mii_edit_applet_description,
72 R.drawable.ic_mii,
73 AppletInfo.MiiEdit
74 )
75 )
76
77 binding.listApplets.apply {
78 layoutManager = GridLayoutManager(
79 requireContext(),
80 resources.getInteger(R.integer.grid_columns)
81 )
82 adapter = AppletAdapter(requireActivity(), applets)
83 }
84
85 setInsets()
86 }
87
88 private fun setInsets() =
89 ViewCompat.setOnApplyWindowInsetsListener(
90 binding.root
91 ) { _: View, windowInsets: WindowInsetsCompat ->
92 val barInsets = windowInsets.getInsets(WindowInsetsCompat.Type.systemBars())
93 val cutoutInsets = windowInsets.getInsets(WindowInsetsCompat.Type.displayCutout())
94
95 val leftInsets = barInsets.left + cutoutInsets.left
96 val rightInsets = barInsets.right + cutoutInsets.right
97
98 val mlpAppBar = binding.toolbarApplets.layoutParams as ViewGroup.MarginLayoutParams
99 mlpAppBar.leftMargin = leftInsets
100 mlpAppBar.rightMargin = rightInsets
101 binding.toolbarApplets.layoutParams = mlpAppBar
102
103 val mlpListApplets =
104 binding.listApplets.layoutParams as ViewGroup.MarginLayoutParams
105 mlpListApplets.leftMargin = leftInsets
106 mlpListApplets.rightMargin = rightInsets
107 binding.listApplets.layoutParams = mlpListApplets
108
109 binding.listApplets.updatePadding(bottom = barInsets.bottom)
110
111 windowInsets
112 }
113}
diff --git a/src/android/app/src/main/java/org/yuzu/yuzu_emu/fragments/CabinetLauncherDialogFragment.kt b/src/android/app/src/main/java/org/yuzu/yuzu_emu/fragments/CabinetLauncherDialogFragment.kt
new file mode 100644
index 000000000..5933677fd
--- /dev/null
+++ b/src/android/app/src/main/java/org/yuzu/yuzu_emu/fragments/CabinetLauncherDialogFragment.kt
@@ -0,0 +1,41 @@
1// SPDX-FileCopyrightText: 2023 yuzu Emulator Project
2// SPDX-License-Identifier: GPL-2.0-or-later
3
4package org.yuzu.yuzu_emu.fragments
5
6import android.app.Dialog
7import android.os.Bundle
8import android.view.LayoutInflater
9import android.view.View
10import android.view.ViewGroup
11import androidx.fragment.app.DialogFragment
12import androidx.recyclerview.widget.LinearLayoutManager
13import com.google.android.material.dialog.MaterialAlertDialogBuilder
14import org.yuzu.yuzu_emu.R
15import org.yuzu.yuzu_emu.adapters.CabinetLauncherDialogAdapter
16import org.yuzu.yuzu_emu.databinding.DialogListBinding
17
18class CabinetLauncherDialogFragment : DialogFragment() {
19 private lateinit var binding: DialogListBinding
20
21 override fun onCreateDialog(savedInstanceState: Bundle?): Dialog {
22 binding = DialogListBinding.inflate(layoutInflater)
23 binding.dialogList.apply {
24 layoutManager = LinearLayoutManager(requireContext())
25 adapter = CabinetLauncherDialogAdapter(this@CabinetLauncherDialogFragment)
26 }
27
28 return MaterialAlertDialogBuilder(requireContext())
29 .setTitle(R.string.cabinet_launcher)
30 .setView(binding.root)
31 .create()
32 }
33
34 override fun onCreateView(
35 inflater: LayoutInflater,
36 container: ViewGroup?,
37 savedInstanceState: Bundle?
38 ): View {
39 return binding.root
40 }
41}
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 f273c880a..4720daec4 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
@@ -30,6 +30,7 @@ import androidx.recyclerview.widget.GridLayoutManager
30import com.google.android.material.transition.MaterialSharedAxis 30import com.google.android.material.transition.MaterialSharedAxis
31import org.yuzu.yuzu_emu.BuildConfig 31import org.yuzu.yuzu_emu.BuildConfig
32import org.yuzu.yuzu_emu.HomeNavigationDirections 32import org.yuzu.yuzu_emu.HomeNavigationDirections
33import org.yuzu.yuzu_emu.NativeLibrary
33import org.yuzu.yuzu_emu.R 34import org.yuzu.yuzu_emu.R
34import org.yuzu.yuzu_emu.adapters.HomeSettingAdapter 35import org.yuzu.yuzu_emu.adapters.HomeSettingAdapter
35import org.yuzu.yuzu_emu.databinding.FragmentHomeSettingsBinding 36import org.yuzu.yuzu_emu.databinding.FragmentHomeSettingsBinding
@@ -41,6 +42,7 @@ import org.yuzu.yuzu_emu.model.HomeViewModel
41import org.yuzu.yuzu_emu.ui.main.MainActivity 42import org.yuzu.yuzu_emu.ui.main.MainActivity
42import org.yuzu.yuzu_emu.utils.FileUtil 43import org.yuzu.yuzu_emu.utils.FileUtil
43import org.yuzu.yuzu_emu.utils.GpuDriverHelper 44import org.yuzu.yuzu_emu.utils.GpuDriverHelper
45import org.yuzu.yuzu_emu.utils.Log
44 46
45class HomeSettingsFragment : Fragment() { 47class HomeSettingsFragment : Fragment() {
46 private var _binding: FragmentHomeSettingsBinding? = null 48 private var _binding: FragmentHomeSettingsBinding? = null
@@ -85,28 +87,6 @@ class HomeSettingsFragment : Fragment() {
85 ) 87 )
86 add( 88 add(
87 HomeSetting( 89 HomeSetting(
88 R.string.open_user_folder,
89 R.string.open_user_folder_description,
90 R.drawable.ic_folder_open,
91 { openFileManager() }
92 )
93 )
94 add(
95 HomeSetting(
96 R.string.preferences_theme,
97 R.string.theme_and_color_description,
98 R.drawable.ic_palette,
99 {
100 val action = HomeNavigationDirections.actionGlobalSettingsActivity(
101 null,
102 Settings.MenuTag.SECTION_THEME
103 )
104 binding.root.findNavController().navigate(action)
105 }
106 )
107 )
108 add(
109 HomeSetting(
110 R.string.gpu_driver_manager, 90 R.string.gpu_driver_manager,
111 R.string.install_gpu_driver_description, 91 R.string.install_gpu_driver_description,
112 R.drawable.ic_build, 92 R.drawable.ic_build,
@@ -122,6 +102,20 @@ class HomeSettingsFragment : Fragment() {
122 ) 102 )
123 add( 103 add(
124 HomeSetting( 104 HomeSetting(
105 R.string.applets,
106 R.string.applets_description,
107 R.drawable.ic_applet,
108 {
109 binding.root.findNavController()
110 .navigate(R.id.action_homeSettingsFragment_to_appletLauncherFragment)
111 },
112 { NativeLibrary.isFirmwareAvailable() },
113 R.string.applets_error_firmware,
114 R.string.applets_error_description
115 )
116 )
117 add(
118 HomeSetting(
125 R.string.manage_yuzu_data, 119 R.string.manage_yuzu_data,
126 R.string.manage_yuzu_data_description, 120 R.string.manage_yuzu_data_description,
127 R.drawable.ic_install, 121 R.drawable.ic_install,
@@ -157,6 +151,28 @@ class HomeSettingsFragment : Fragment() {
157 ) 151 )
158 add( 152 add(
159 HomeSetting( 153 HomeSetting(
154 R.string.open_user_folder,
155 R.string.open_user_folder_description,
156 R.drawable.ic_folder_open,
157 { openFileManager() }
158 )
159 )
160 add(
161 HomeSetting(
162 R.string.preferences_theme,
163 R.string.theme_and_color_description,
164 R.drawable.ic_palette,
165 {
166 val action = HomeNavigationDirections.actionGlobalSettingsActivity(
167 null,
168 Settings.MenuTag.SECTION_THEME
169 )
170 binding.root.findNavController().navigate(action)
171 }
172 )
173 )
174 add(
175 HomeSetting(
160 R.string.about, 176 R.string.about,
161 R.string.about_description, 177 R.string.about_description,
162 R.drawable.ic_info_outline, 178 R.drawable.ic_info_outline,
@@ -297,19 +313,32 @@ class HomeSettingsFragment : Fragment() {
297 } 313 }
298 } 314 }
299 315
316 // Share the current log if we just returned from a game but share the old log
317 // if we just started the app and the old log exists.
300 private fun shareLog() { 318 private fun shareLog() {
301 val file = DocumentFile.fromSingleUri( 319 val currentLog = DocumentFile.fromSingleUri(
302 mainActivity, 320 mainActivity,
303 DocumentsContract.buildDocumentUri( 321 DocumentsContract.buildDocumentUri(
304 DocumentProvider.AUTHORITY, 322 DocumentProvider.AUTHORITY,
305 "${DocumentProvider.ROOT_ID}/log/yuzu_log.txt" 323 "${DocumentProvider.ROOT_ID}/log/yuzu_log.txt"
306 ) 324 )
307 )!! 325 )!!
308 if (file.exists()) { 326 val oldLog = DocumentFile.fromSingleUri(
309 val intent = Intent(Intent.ACTION_SEND) 327 mainActivity,
310 .setDataAndType(file.uri, FileUtil.TEXT_PLAIN) 328 DocumentsContract.buildDocumentUri(
311 .addFlags(Intent.FLAG_GRANT_READ_URI_PERMISSION) 329 DocumentProvider.AUTHORITY,
312 .putExtra(Intent.EXTRA_STREAM, file.uri) 330 "${DocumentProvider.ROOT_ID}/log/yuzu_log.txt.old.txt"
331 )
332 )!!
333
334 val intent = Intent(Intent.ACTION_SEND)
335 .setDataAndType(currentLog.uri, FileUtil.TEXT_PLAIN)
336 .addFlags(Intent.FLAG_GRANT_READ_URI_PERMISSION)
337 if (!Log.gameLaunched && oldLog.exists()) {
338 intent.putExtra(Intent.EXTRA_STREAM, oldLog.uri)
339 startActivity(Intent.createChooser(intent, getText(R.string.share_log)))
340 } else if (currentLog.exists()) {
341 intent.putExtra(Intent.EXTRA_STREAM, currentLog.uri)
313 startActivity(Intent.createChooser(intent, getText(R.string.share_log))) 342 startActivity(Intent.createChooser(intent, getText(R.string.share_log)))
314 } else { 343 } else {
315 Toast.makeText( 344 Toast.makeText(
diff --git a/src/android/app/src/main/java/org/yuzu/yuzu_emu/fragments/MessageDialogFragment.kt b/src/android/app/src/main/java/org/yuzu/yuzu_emu/fragments/MessageDialogFragment.kt
index 541b22f47..a6183d19e 100644
--- a/src/android/app/src/main/java/org/yuzu/yuzu_emu/fragments/MessageDialogFragment.kt
+++ b/src/android/app/src/main/java/org/yuzu/yuzu_emu/fragments/MessageDialogFragment.kt
@@ -8,6 +8,7 @@ import android.content.DialogInterface
8import android.content.Intent 8import android.content.Intent
9import android.net.Uri 9import android.net.Uri
10import android.os.Bundle 10import android.os.Bundle
11import android.text.Html
11import androidx.fragment.app.DialogFragment 12import androidx.fragment.app.DialogFragment
12import androidx.fragment.app.FragmentActivity 13import androidx.fragment.app.FragmentActivity
13import androidx.fragment.app.activityViewModels 14import androidx.fragment.app.activityViewModels
@@ -32,7 +33,9 @@ class MessageDialogFragment : DialogFragment() {
32 if (titleId != 0) dialog.setTitle(titleId) 33 if (titleId != 0) dialog.setTitle(titleId)
33 if (titleString.isNotEmpty()) dialog.setTitle(titleString) 34 if (titleString.isNotEmpty()) dialog.setTitle(titleString)
34 35
35 if (descriptionId != 0) dialog.setMessage(descriptionId) 36 if (descriptionId != 0) {
37 dialog.setMessage(Html.fromHtml(getString(descriptionId), Html.FROM_HTML_MODE_LEGACY))
38 }
36 if (descriptionString.isNotEmpty()) dialog.setMessage(descriptionString) 39 if (descriptionString.isNotEmpty()) dialog.setMessage(descriptionString)
37 40
38 if (helpLinkId != 0) { 41 if (helpLinkId != 0) {
diff --git a/src/android/app/src/main/java/org/yuzu/yuzu_emu/model/Applet.kt b/src/android/app/src/main/java/org/yuzu/yuzu_emu/model/Applet.kt
new file mode 100644
index 000000000..8677674a3
--- /dev/null
+++ b/src/android/app/src/main/java/org/yuzu/yuzu_emu/model/Applet.kt
@@ -0,0 +1,55 @@
1// SPDX-FileCopyrightText: 2023 yuzu Emulator Project
2// SPDX-License-Identifier: GPL-2.0-or-later
3
4package org.yuzu.yuzu_emu.model
5
6import androidx.annotation.DrawableRes
7import androidx.annotation.StringRes
8import org.yuzu.yuzu_emu.R
9
10data class Applet(
11 @StringRes val titleId: Int,
12 @StringRes val descriptionId: Int,
13 @DrawableRes val iconId: Int,
14 val appletInfo: AppletInfo,
15 val cabinetMode: CabinetMode = CabinetMode.None
16)
17
18// Combination of Common::AM::Applets::AppletId enum and the entry id
19enum class AppletInfo(val appletId: Int, val entryId: Long = 0) {
20 None(0x00),
21 Application(0x01),
22 OverlayDisplay(0x02),
23 QLaunch(0x03),
24 Starter(0x04),
25 Auth(0x0A),
26 Cabinet(0x0B, 0x0100000000001002),
27 Controller(0x0C),
28 DataErase(0x0D),
29 Error(0x0E),
30 NetConnect(0x0F),
31 ProfileSelect(0x10),
32 SoftwareKeyboard(0x11),
33 MiiEdit(0x12, 0x0100000000001009),
34 Web(0x13),
35 Shop(0x14),
36 PhotoViewer(0x015, 0x010000000000100D),
37 Settings(0x16),
38 OfflineWeb(0x17),
39 LoginShare(0x18),
40 WebAuth(0x19),
41 MyPage(0x1A)
42}
43
44// Matches enum in Service::NFP::CabinetMode with extra metadata
45enum class CabinetMode(
46 val id: Int,
47 @StringRes val titleId: Int = 0,
48 @DrawableRes val iconId: Int = 0
49) {
50 None(-1),
51 StartNicknameAndOwnerSettings(0, R.string.cabinet_nickname_and_owner, R.drawable.ic_edit),
52 StartGameDataEraser(1, R.string.cabinet_game_data_eraser, R.drawable.ic_refresh),
53 StartRestorer(2, R.string.cabinet_restorer, R.drawable.ic_restore),
54 StartFormatter(3, R.string.cabinet_formatter, R.drawable.ic_clear)
55}
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 6527c64ab..de84b2adb 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
@@ -11,16 +11,15 @@ import kotlinx.serialization.Serializable
11@Parcelize 11@Parcelize
12@Serializable 12@Serializable
13class Game( 13class Game(
14 val title: String, 14 val title: String = "",
15 val description: String,
16 val regions: String,
17 val path: String, 15 val path: String,
18 val gameId: String, 16 val programId: String = "",
19 val company: String, 17 val developer: String = "",
20 val isHomebrew: Boolean 18 val version: String = "",
19 val isHomebrew: Boolean = false
21) : Parcelable { 20) : Parcelable {
22 val keyAddedToLibraryTime get() = "${gameId}_AddedToLibraryTime" 21 val keyAddedToLibraryTime get() = "${programId}_AddedToLibraryTime"
23 val keyLastPlayedTime get() = "${gameId}_LastPlayed" 22 val keyLastPlayedTime get() = "${programId}_LastPlayed"
24 23
25 override fun equals(other: Any?): Boolean { 24 override fun equals(other: Any?): Boolean {
26 if (other !is Game) { 25 if (other !is Game) {
@@ -32,11 +31,9 @@ class Game(
32 31
33 override fun hashCode(): Int { 32 override fun hashCode(): Int {
34 var result = title.hashCode() 33 var result = title.hashCode()
35 result = 31 * result + description.hashCode()
36 result = 31 * result + regions.hashCode()
37 result = 31 * result + path.hashCode() 34 result = 31 * result + path.hashCode()
38 result = 31 * result + gameId.hashCode() 35 result = 31 * result + programId.hashCode()
39 result = 31 * result + company.hashCode() 36 result = 31 * result + developer.hashCode()
40 result = 31 * result + isHomebrew.hashCode() 37 result = 31 * result + isHomebrew.hashCode()
41 return result 38 return result
42 } 39 }
diff --git a/src/android/app/src/main/java/org/yuzu/yuzu_emu/model/GamesViewModel.kt b/src/android/app/src/main/java/org/yuzu/yuzu_emu/model/GamesViewModel.kt
index 004b25b04..8512ed17c 100644
--- a/src/android/app/src/main/java/org/yuzu/yuzu_emu/model/GamesViewModel.kt
+++ b/src/android/app/src/main/java/org/yuzu/yuzu_emu/model/GamesViewModel.kt
@@ -14,15 +14,13 @@ import kotlinx.coroutines.flow.MutableStateFlow
14import kotlinx.coroutines.flow.StateFlow 14import kotlinx.coroutines.flow.StateFlow
15import kotlinx.coroutines.launch 15import kotlinx.coroutines.launch
16import kotlinx.coroutines.withContext 16import kotlinx.coroutines.withContext
17import kotlinx.serialization.ExperimentalSerializationApi
18import kotlinx.serialization.MissingFieldException
19import kotlinx.serialization.decodeFromString 17import kotlinx.serialization.decodeFromString
20import kotlinx.serialization.json.Json 18import kotlinx.serialization.json.Json
21import org.yuzu.yuzu_emu.NativeLibrary 19import org.yuzu.yuzu_emu.NativeLibrary
22import org.yuzu.yuzu_emu.YuzuApplication 20import org.yuzu.yuzu_emu.YuzuApplication
23import org.yuzu.yuzu_emu.utils.GameHelper 21import org.yuzu.yuzu_emu.utils.GameHelper
22import org.yuzu.yuzu_emu.utils.GameMetadata
24 23
25@OptIn(ExperimentalSerializationApi::class)
26class GamesViewModel : ViewModel() { 24class GamesViewModel : ViewModel() {
27 val games: StateFlow<List<Game>> get() = _games 25 val games: StateFlow<List<Game>> get() = _games
28 private val _games = MutableStateFlow(emptyList<Game>()) 26 private val _games = MutableStateFlow(emptyList<Game>())
@@ -58,7 +56,8 @@ class GamesViewModel : ViewModel() {
58 val game: Game 56 val game: Game
59 try { 57 try {
60 game = Json.decodeFromString(it) 58 game = Json.decodeFromString(it)
61 } catch (e: MissingFieldException) { 59 } catch (e: Exception) {
60 // We don't care about any errors related to parsing the game cache
62 return@forEach 61 return@forEach
63 } 62 }
64 63
@@ -113,7 +112,7 @@ class GamesViewModel : ViewModel() {
113 112
114 viewModelScope.launch { 113 viewModelScope.launch {
115 withContext(Dispatchers.IO) { 114 withContext(Dispatchers.IO) {
116 NativeLibrary.resetRomMetadata() 115 GameMetadata.resetMetadata()
117 setGames(GameHelper.getGames()) 116 setGames(GameHelper.getGames())
118 _isReloading.value = false 117 _isReloading.value = false
119 118
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 233aa4101..ba1177426 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
@@ -403,6 +403,7 @@ class MainActivity : AppCompatActivity(), ThemeProvider {
403 } else { 403 } else {
404 firmwarePath.deleteRecursively() 404 firmwarePath.deleteRecursively()
405 cacheFirmwareDir.copyRecursively(firmwarePath, true) 405 cacheFirmwareDir.copyRecursively(firmwarePath, true)
406 NativeLibrary.initializeSystem()
406 getString(R.string.save_file_imported_success) 407 getString(R.string.save_file_imported_success)
407 } 408 }
408 } catch (e: Exception) { 409 } catch (e: Exception) {
@@ -648,7 +649,7 @@ class MainActivity : AppCompatActivity(), ThemeProvider {
648 } 649 }
649 650
650 // Reinitialize relevant data 651 // Reinitialize relevant data
651 NativeLibrary.initializeEmulation() 652 NativeLibrary.initializeSystem()
652 gamesViewModel.reloadGames(false) 653 gamesViewModel.reloadGames(false)
653 654
654 return@newInstance getString(R.string.user_data_import_success) 655 return@newInstance getString(R.string.user_data_import_success)
diff --git a/src/android/app/src/main/java/org/yuzu/yuzu_emu/utils/ControllerMappingHelper.kt b/src/android/app/src/main/java/org/yuzu/yuzu_emu/utils/ControllerMappingHelper.kt
deleted file mode 100644
index eeefcdf20..000000000
--- a/src/android/app/src/main/java/org/yuzu/yuzu_emu/utils/ControllerMappingHelper.kt
+++ /dev/null
@@ -1,70 +0,0 @@
1// SPDX-FileCopyrightText: 2023 yuzu Emulator Project
2// SPDX-License-Identifier: GPL-2.0-or-later
3
4package org.yuzu.yuzu_emu.utils
5
6import android.view.InputDevice
7import android.view.KeyEvent
8import android.view.MotionEvent
9
10/**
11 * Some controllers have incorrect mappings. This class has special-case fixes for them.
12 */
13class ControllerMappingHelper {
14 /**
15 * Some controllers report extra button presses that can be ignored.
16 */
17 fun shouldKeyBeIgnored(inputDevice: InputDevice, keyCode: Int): Boolean {
18 return if (isDualShock4(inputDevice)) {
19 // The two analog triggers generate analog motion events as well as a keycode.
20 // We always prefer to use the analog values, so throw away the button press
21 keyCode == KeyEvent.KEYCODE_BUTTON_L2 || keyCode == KeyEvent.KEYCODE_BUTTON_R2
22 } else {
23 false
24 }
25 }
26
27 /**
28 * Scale an axis to be zero-centered with a proper range.
29 */
30 fun scaleAxis(inputDevice: InputDevice, axis: Int, value: Float): Float {
31 if (isDualShock4(inputDevice)) {
32 // Android doesn't have correct mappings for this controller's triggers. It reports them
33 // as RX & RY, centered at -1.0, and with a range of [-1.0, 1.0]
34 // Scale them to properly zero-centered with a range of [0.0, 1.0].
35 if (axis == MotionEvent.AXIS_RX || axis == MotionEvent.AXIS_RY) {
36 return (value + 1) / 2.0f
37 }
38 } else if (isXboxOneWireless(inputDevice)) {
39 // Same as the DualShock 4, the mappings are missing.
40 if (axis == MotionEvent.AXIS_Z || axis == MotionEvent.AXIS_RZ) {
41 return (value + 1) / 2.0f
42 }
43 if (axis == MotionEvent.AXIS_GENERIC_1) {
44 // This axis is stuck at ~.5. Ignore it.
45 return 0.0f
46 }
47 } else if (isMogaPro2Hid(inputDevice)) {
48 // This controller has a broken axis that reports a constant value. Ignore it.
49 if (axis == MotionEvent.AXIS_GENERIC_1) {
50 return 0.0f
51 }
52 }
53 return value
54 }
55
56 // Sony DualShock 4 controller
57 private fun isDualShock4(inputDevice: InputDevice): Boolean {
58 return inputDevice.vendorId == 0x54c && inputDevice.productId == 0x9cc
59 }
60
61 // Microsoft Xbox One controller
62 private fun isXboxOneWireless(inputDevice: InputDevice): Boolean {
63 return inputDevice.vendorId == 0x45e && inputDevice.productId == 0x2e0
64 }
65
66 // Moga Pro 2 HID
67 private fun isMogaPro2Hid(inputDevice: InputDevice): Boolean {
68 return inputDevice.vendorId == 0x20d6 && inputDevice.productId == 0x6271
69 }
70}
diff --git a/src/android/app/src/main/java/org/yuzu/yuzu_emu/utils/DirectoryInitialization.kt b/src/android/app/src/main/java/org/yuzu/yuzu_emu/utils/DirectoryInitialization.kt
index 3c9f6bad0..79a07f7ef 100644
--- a/src/android/app/src/main/java/org/yuzu/yuzu_emu/utils/DirectoryInitialization.kt
+++ b/src/android/app/src/main/java/org/yuzu/yuzu_emu/utils/DirectoryInitialization.kt
@@ -15,7 +15,7 @@ object DirectoryInitialization {
15 fun start() { 15 fun start() {
16 if (!areDirectoriesReady) { 16 if (!areDirectoriesReady) {
17 initializeInternalStorage() 17 initializeInternalStorage()
18 NativeLibrary.initializeEmulation() 18 NativeLibrary.initializeSystem()
19 areDirectoriesReady = true 19 areDirectoriesReady = true
20 } 20 }
21 } 21 }
diff --git a/src/android/app/src/main/java/org/yuzu/yuzu_emu/utils/DocumentsTree.kt b/src/android/app/src/main/java/org/yuzu/yuzu_emu/utils/DocumentsTree.kt
index eafcf9e42..738275297 100644
--- a/src/android/app/src/main/java/org/yuzu/yuzu_emu/utils/DocumentsTree.kt
+++ b/src/android/app/src/main/java/org/yuzu/yuzu_emu/utils/DocumentsTree.kt
@@ -42,6 +42,23 @@ class DocumentsTree {
42 return node != null && node.isDirectory 42 return node != null && node.isDirectory
43 } 43 }
44 44
45 fun getParentDirectory(filepath: String): String {
46 val node = resolvePath(filepath)!!
47 val parentNode = node.parent
48 if (parentNode != null && parentNode.isDirectory) {
49 return parentNode.uri!!.toString()
50 }
51 return node.uri!!.toString()
52 }
53
54 fun getFilename(filepath: String): String {
55 val node = resolvePath(filepath)
56 if (node != null) {
57 return node.name!!
58 }
59 return filepath
60 }
61
45 private fun resolvePath(filepath: String): DocumentsNode? { 62 private fun resolvePath(filepath: String): DocumentsNode? {
46 val tokens = StringTokenizer(filepath, File.separator, false) 63 val tokens = StringTokenizer(filepath, File.separator, false)
47 var iterator = root 64 var iterator = root
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 5ee74a52c..8c3268e9c 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
@@ -144,7 +144,7 @@ object FileUtil {
144 * @param path Native content uri path 144 * @param path Native content uri path
145 * @return bool 145 * @return bool
146 */ 146 */
147 fun exists(path: String?): Boolean { 147 fun exists(path: String?, suppressLog: Boolean = false): Boolean {
148 var c: Cursor? = null 148 var c: Cursor? = null
149 try { 149 try {
150 val mUri = Uri.parse(path) 150 val mUri = Uri.parse(path)
@@ -152,7 +152,9 @@ object FileUtil {
152 c = context.contentResolver.query(mUri, columns, null, null, null) 152 c = context.contentResolver.query(mUri, columns, null, null, null)
153 return c!!.count > 0 153 return c!!.count > 0
154 } catch (e: Exception) { 154 } catch (e: Exception) {
155 Log.info("[FileUtil] Cannot find file from given path, error: " + e.message) 155 if (!suppressLog) {
156 Log.info("[FileUtil] Cannot find file from given path, error: " + e.message)
157 }
156 } finally { 158 } finally {
157 closeQuietly(c) 159 closeQuietly(c)
158 } 160 }
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 9001ca9ab..e6aca6b44 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
@@ -71,27 +71,26 @@ object GameHelper {
71 71
72 fun getGame(uri: Uri, addedToLibrary: Boolean): Game { 72 fun getGame(uri: Uri, addedToLibrary: Boolean): Game {
73 val filePath = uri.toString() 73 val filePath = uri.toString()
74 var name = NativeLibrary.getTitle(filePath) 74 var name = GameMetadata.getTitle(filePath)
75 75
76 // If the game's title field is empty, use the filename. 76 // If the game's title field is empty, use the filename.
77 if (name.isEmpty()) { 77 if (name.isEmpty()) {
78 name = FileUtil.getFilename(uri) 78 name = FileUtil.getFilename(uri)
79 } 79 }
80 var gameId = NativeLibrary.getGameId(filePath) 80 var programId = GameMetadata.getProgramId(filePath)
81 81
82 // If the game's ID field is empty, use the filename without extension. 82 // If the game's ID field is empty, use the filename without extension.
83 if (gameId.isEmpty()) { 83 if (programId.isEmpty()) {
84 gameId = name.substring(0, name.lastIndexOf(".")) 84 programId = name.substring(0, name.lastIndexOf("."))
85 } 85 }
86 86
87 val newGame = Game( 87 val newGame = Game(
88 name, 88 name,
89 NativeLibrary.getDescription(filePath).replace("\n", " "),
90 NativeLibrary.getRegions(filePath),
91 filePath, 89 filePath,
92 gameId, 90 programId,
93 NativeLibrary.getCompany(filePath), 91 GameMetadata.getDeveloper(filePath),
94 NativeLibrary.isHomebrew(filePath) 92 GameMetadata.getVersion(filePath),
93 GameMetadata.getIsHomebrew(filePath)
95 ) 94 )
96 95
97 if (addedToLibrary) { 96 if (addedToLibrary) {
diff --git a/src/android/app/src/main/java/org/yuzu/yuzu_emu/utils/GameIconUtils.kt b/src/android/app/src/main/java/org/yuzu/yuzu_emu/utils/GameIconUtils.kt
index 9fe99fab1..654d62f52 100644
--- a/src/android/app/src/main/java/org/yuzu/yuzu_emu/utils/GameIconUtils.kt
+++ b/src/android/app/src/main/java/org/yuzu/yuzu_emu/utils/GameIconUtils.kt
@@ -18,7 +18,6 @@ import coil.key.Keyer
18import coil.memory.MemoryCache 18import coil.memory.MemoryCache
19import coil.request.ImageRequest 19import coil.request.ImageRequest
20import coil.request.Options 20import coil.request.Options
21import org.yuzu.yuzu_emu.NativeLibrary
22import org.yuzu.yuzu_emu.R 21import org.yuzu.yuzu_emu.R
23import org.yuzu.yuzu_emu.YuzuApplication 22import org.yuzu.yuzu_emu.YuzuApplication
24import org.yuzu.yuzu_emu.model.Game 23import org.yuzu.yuzu_emu.model.Game
@@ -36,7 +35,7 @@ class GameIconFetcher(
36 } 35 }
37 36
38 private fun decodeGameIcon(uri: String): Bitmap? { 37 private fun decodeGameIcon(uri: String): Bitmap? {
39 val data = NativeLibrary.getIcon(uri) 38 val data = GameMetadata.getIcon(uri)
40 return BitmapFactory.decodeByteArray( 39 return BitmapFactory.decodeByteArray(
41 data, 40 data,
42 0, 41 0,
diff --git a/src/android/app/src/main/java/org/yuzu/yuzu_emu/utils/GameMetadata.kt b/src/android/app/src/main/java/org/yuzu/yuzu_emu/utils/GameMetadata.kt
new file mode 100644
index 000000000..0f3542ac6
--- /dev/null
+++ b/src/android/app/src/main/java/org/yuzu/yuzu_emu/utils/GameMetadata.kt
@@ -0,0 +1,20 @@
1// SPDX-FileCopyrightText: Copyright 2023 yuzu Emulator Project
2// SPDX-License-Identifier: GPL-2.0-or-later
3
4package org.yuzu.yuzu_emu.utils
5
6object GameMetadata {
7 external fun getTitle(path: String): String
8
9 external fun getProgramId(path: String): String
10
11 external fun getDeveloper(path: String): String
12
13 external fun getVersion(path: String): String
14
15 external fun getIcon(path: String): ByteArray
16
17 external fun getIsHomebrew(path: String): Boolean
18
19 external fun resetMetadata()
20}
diff --git a/src/android/app/src/main/java/org/yuzu/yuzu_emu/utils/InputHandler.kt b/src/android/app/src/main/java/org/yuzu/yuzu_emu/utils/InputHandler.kt
index e963dfbc1..47bde5081 100644
--- a/src/android/app/src/main/java/org/yuzu/yuzu_emu/utils/InputHandler.kt
+++ b/src/android/app/src/main/java/org/yuzu/yuzu_emu/utils/InputHandler.kt
@@ -3,17 +3,24 @@
3 3
4package org.yuzu.yuzu_emu.utils 4package org.yuzu.yuzu_emu.utils
5 5
6import android.view.InputDevice
6import android.view.KeyEvent 7import android.view.KeyEvent
7import android.view.MotionEvent 8import android.view.MotionEvent
8import kotlin.math.sqrt 9import kotlin.math.sqrt
9import org.yuzu.yuzu_emu.NativeLibrary 10import org.yuzu.yuzu_emu.NativeLibrary
10 11
11class InputHandler { 12object InputHandler {
13 private var controllerIds = getGameControllerIds()
14
12 fun initialize() { 15 fun initialize() {
13 // Connect first controller 16 // Connect first controller
14 NativeLibrary.onGamePadConnectEvent(getPlayerNumber(NativeLibrary.Player1Device)) 17 NativeLibrary.onGamePadConnectEvent(getPlayerNumber(NativeLibrary.Player1Device))
15 } 18 }
16 19
20 fun updateControllerIds() {
21 controllerIds = getGameControllerIds()
22 }
23
17 fun dispatchKeyEvent(event: KeyEvent): Boolean { 24 fun dispatchKeyEvent(event: KeyEvent): Boolean {
18 val button: Int = when (event.device.vendorId) { 25 val button: Int = when (event.device.vendorId) {
19 0x045E -> getInputXboxButtonKey(event.keyCode) 26 0x045E -> getInputXboxButtonKey(event.keyCode)
@@ -35,7 +42,7 @@ class InputHandler {
35 } 42 }
36 43
37 return NativeLibrary.onGamePadButtonEvent( 44 return NativeLibrary.onGamePadButtonEvent(
38 getPlayerNumber(event.device.controllerNumber), 45 getPlayerNumber(event.device.controllerNumber, event.deviceId),
39 button, 46 button,
40 action 47 action
41 ) 48 )
@@ -58,9 +65,14 @@ class InputHandler {
58 return true 65 return true
59 } 66 }
60 67
61 private fun getPlayerNumber(index: Int): Int { 68 private fun getPlayerNumber(index: Int, deviceId: Int = -1): Int {
69 var deviceIndex = index
70 if (deviceId != -1) {
71 deviceIndex = controllerIds[deviceId] ?: 0
72 }
73
62 // TODO: Joycons are handled as different controllers. Find a way to merge them. 74 // TODO: Joycons are handled as different controllers. Find a way to merge them.
63 return when (index) { 75 return when (deviceIndex) {
64 2 -> NativeLibrary.Player2Device 76 2 -> NativeLibrary.Player2Device
65 3 -> NativeLibrary.Player3Device 77 3 -> NativeLibrary.Player3Device
66 4 -> NativeLibrary.Player4Device 78 4 -> NativeLibrary.Player4Device
@@ -238,7 +250,7 @@ class InputHandler {
238 } 250 }
239 251
240 private fun setGenericAxisInput(event: MotionEvent, axis: Int) { 252 private fun setGenericAxisInput(event: MotionEvent, axis: Int) {
241 val playerNumber = getPlayerNumber(event.device.controllerNumber) 253 val playerNumber = getPlayerNumber(event.device.controllerNumber, event.deviceId)
242 254
243 when (axis) { 255 when (axis) {
244 MotionEvent.AXIS_X, MotionEvent.AXIS_Y -> 256 MotionEvent.AXIS_X, MotionEvent.AXIS_Y ->
@@ -297,7 +309,7 @@ class InputHandler {
297 309
298 private fun setJoyconAxisInput(event: MotionEvent, axis: Int) { 310 private fun setJoyconAxisInput(event: MotionEvent, axis: Int) {
299 // Joycon support is half dead. Right joystick doesn't work 311 // Joycon support is half dead. Right joystick doesn't work
300 val playerNumber = getPlayerNumber(event.device.controllerNumber) 312 val playerNumber = getPlayerNumber(event.device.controllerNumber, event.deviceId)
301 313
302 when (axis) { 314 when (axis) {
303 MotionEvent.AXIS_X, MotionEvent.AXIS_Y -> 315 MotionEvent.AXIS_X, MotionEvent.AXIS_Y ->
@@ -325,7 +337,7 @@ class InputHandler {
325 } 337 }
326 338
327 private fun setRazerAxisInput(event: MotionEvent, axis: Int) { 339 private fun setRazerAxisInput(event: MotionEvent, axis: Int) {
328 val playerNumber = getPlayerNumber(event.device.controllerNumber) 340 val playerNumber = getPlayerNumber(event.device.controllerNumber, event.deviceId)
329 341
330 when (axis) { 342 when (axis) {
331 MotionEvent.AXIS_X, MotionEvent.AXIS_Y -> 343 MotionEvent.AXIS_X, MotionEvent.AXIS_Y ->
@@ -362,4 +374,33 @@ class InputHandler {
362 ) 374 )
363 } 375 }
364 } 376 }
377
378 fun getGameControllerIds(): Map<Int, Int> {
379 val gameControllerDeviceIds = mutableMapOf<Int, Int>()
380 val deviceIds = InputDevice.getDeviceIds()
381 var controllerSlot = 1
382 deviceIds.forEach { deviceId ->
383 InputDevice.getDevice(deviceId)?.apply {
384 // Don't over-assign controllers
385 if (controllerSlot >= 8) {
386 return gameControllerDeviceIds
387 }
388
389 // Verify that the device has gamepad buttons, control sticks, or both.
390 if (sources and InputDevice.SOURCE_GAMEPAD == InputDevice.SOURCE_GAMEPAD ||
391 sources and InputDevice.SOURCE_JOYSTICK == InputDevice.SOURCE_JOYSTICK
392 ) {
393 // This device is a game controller. Store its device ID.
394 if (deviceId and id and vendorId and productId != 0) {
395 // Additionally filter out devices that have no ID
396 gameControllerDeviceIds
397 .takeIf { !it.contains(deviceId) }
398 ?.put(deviceId, controllerSlot)
399 controllerSlot++
400 }
401 }
402 }
403 }
404 return gameControllerDeviceIds
405 }
365} 406}
diff --git a/src/android/app/src/main/java/org/yuzu/yuzu_emu/utils/Log.kt b/src/android/app/src/main/java/org/yuzu/yuzu_emu/utils/Log.kt
index a193e82a4..fb682c344 100644
--- a/src/android/app/src/main/java/org/yuzu/yuzu_emu/utils/Log.kt
+++ b/src/android/app/src/main/java/org/yuzu/yuzu_emu/utils/Log.kt
@@ -3,38 +3,17 @@
3 3
4package org.yuzu.yuzu_emu.utils 4package org.yuzu.yuzu_emu.utils
5 5
6import android.util.Log
7import org.yuzu.yuzu_emu.BuildConfig
8
9/**
10 * Contains methods that call through to [android.util.Log], but
11 * with the same TAG automatically provided. Also no-ops VERBOSE and DEBUG log
12 * levels in release builds.
13 */
14object Log { 6object Log {
15 private const val TAG = "Yuzu Frontend" 7 // Tracks whether we should share the old log or the current log
8 var gameLaunched = false
16 9
17 fun verbose(message: String) { 10 external fun debug(message: String)
18 if (BuildConfig.DEBUG) {
19 Log.v(TAG, message)
20 }
21 }
22 11
23 fun debug(message: String) { 12 external fun warning(message: String)
24 if (BuildConfig.DEBUG) {
25 Log.d(TAG, message)
26 }
27 }
28 13
29 fun info(message: String) { 14 external fun info(message: String)
30 Log.i(TAG, message)
31 }
32 15
33 fun warning(message: String) { 16 external fun error(message: String)
34 Log.w(TAG, message)
35 }
36 17
37 fun error(message: String) { 18 external fun critical(message: String)
38 Log.e(TAG, message)
39 }
40} 19}
diff --git a/src/android/app/src/main/jni/CMakeLists.txt b/src/android/app/src/main/jni/CMakeLists.txt
index e15d1480b..88a570f68 100644
--- a/src/android/app/src/main/jni/CMakeLists.txt
+++ b/src/android/app/src/main/jni/CMakeLists.txt
@@ -14,8 +14,11 @@ add_library(yuzu-android SHARED
14 id_cache.cpp 14 id_cache.cpp
15 id_cache.h 15 id_cache.h
16 native.cpp 16 native.cpp
17 native.h
17 native_config.cpp 18 native_config.cpp
18 uisettings.cpp 19 uisettings.cpp
20 game_metadata.cpp
21 native_log.cpp
19) 22)
20 23
21set_property(TARGET yuzu-android PROPERTY IMPORTED_LOCATION ${FFmpeg_LIBRARY_DIR}) 24set_property(TARGET yuzu-android PROPERTY IMPORTED_LOCATION ${FFmpeg_LIBRARY_DIR})
diff --git a/src/android/app/src/main/jni/game_metadata.cpp b/src/android/app/src/main/jni/game_metadata.cpp
new file mode 100644
index 000000000..24d9df702
--- /dev/null
+++ b/src/android/app/src/main/jni/game_metadata.cpp
@@ -0,0 +1,112 @@
1// SPDX-FileCopyrightText: Copyright 2023 yuzu Emulator Project
2// SPDX-License-Identifier: GPL-2.0-or-later
3
4#include <core/core.h>
5#include <core/file_sys/patch_manager.h>
6#include <core/loader/nro.h>
7#include <jni.h>
8#include "core/loader/loader.h"
9#include "jni/android_common/android_common.h"
10#include "native.h"
11
12struct RomMetadata {
13 std::string title;
14 u64 programId;
15 std::string developer;
16 std::string version;
17 std::vector<u8> icon;
18 bool isHomebrew;
19};
20
21std::unordered_map<std::string, RomMetadata> m_rom_metadata_cache;
22
23RomMetadata CacheRomMetadata(const std::string& path) {
24 const auto file =
25 Core::GetGameFileFromPath(EmulationSession::GetInstance().System().GetFilesystem(), path);
26 auto loader = Loader::GetLoader(EmulationSession::GetInstance().System(), file, 0, 0);
27
28 RomMetadata entry;
29 loader->ReadTitle(entry.title);
30 loader->ReadProgramId(entry.programId);
31 loader->ReadIcon(entry.icon);
32
33 const FileSys::PatchManager pm{
34 entry.programId, EmulationSession::GetInstance().System().GetFileSystemController(),
35 EmulationSession::GetInstance().System().GetContentProvider()};
36 const auto control = pm.GetControlMetadata();
37
38 if (control.first != nullptr) {
39 entry.developer = control.first->GetDeveloperName();
40 entry.version = control.first->GetVersionString();
41 } else {
42 FileSys::NACP nacp;
43 if (loader->ReadControlData(nacp) == Loader::ResultStatus::Success) {
44 entry.developer = nacp.GetDeveloperName();
45 } else {
46 entry.developer = "";
47 }
48
49 entry.version = "1.0.0";
50 }
51
52 if (loader->GetFileType() == Loader::FileType::NRO) {
53 auto loader_nro = reinterpret_cast<Loader::AppLoader_NRO*>(loader.get());
54 entry.isHomebrew = loader_nro->IsHomebrew();
55 } else {
56 entry.isHomebrew = false;
57 }
58
59 m_rom_metadata_cache[path] = entry;
60
61 return entry;
62}
63
64RomMetadata GetRomMetadata(const std::string& path) {
65 if (auto search = m_rom_metadata_cache.find(path); search != m_rom_metadata_cache.end()) {
66 return search->second;
67 }
68
69 return CacheRomMetadata(path);
70}
71
72extern "C" {
73
74jstring Java_org_yuzu_yuzu_1emu_utils_GameMetadata_getTitle(JNIEnv* env, jobject obj,
75 jstring jpath) {
76 return ToJString(env, GetRomMetadata(GetJString(env, jpath)).title);
77}
78
79jstring Java_org_yuzu_yuzu_1emu_utils_GameMetadata_getProgramId(JNIEnv* env, jobject obj,
80 jstring jpath) {
81 return ToJString(env, std::to_string(GetRomMetadata(GetJString(env, jpath)).programId));
82}
83
84jstring Java_org_yuzu_yuzu_1emu_utils_GameMetadata_getDeveloper(JNIEnv* env, jobject obj,
85 jstring jpath) {
86 return ToJString(env, GetRomMetadata(GetJString(env, jpath)).developer);
87}
88
89jstring Java_org_yuzu_yuzu_1emu_utils_GameMetadata_getVersion(JNIEnv* env, jobject obj,
90 jstring jpath) {
91 return ToJString(env, GetRomMetadata(GetJString(env, jpath)).version);
92}
93
94jbyteArray Java_org_yuzu_yuzu_1emu_utils_GameMetadata_getIcon(JNIEnv* env, jobject obj,
95 jstring jpath) {
96 auto icon_data = GetRomMetadata(GetJString(env, jpath)).icon;
97 jbyteArray icon = env->NewByteArray(static_cast<jsize>(icon_data.size()));
98 env->SetByteArrayRegion(icon, 0, env->GetArrayLength(icon),
99 reinterpret_cast<jbyte*>(icon_data.data()));
100 return icon;
101}
102
103jboolean Java_org_yuzu_yuzu_1emu_utils_GameMetadata_getIsHomebrew(JNIEnv* env, jobject obj,
104 jstring jpath) {
105 return static_cast<jboolean>(GetRomMetadata(GetJString(env, jpath)).isHomebrew);
106}
107
108void Java_org_yuzu_yuzu_1emu_utils_GameMetadata_resetMetadata(JNIEnv* env, jobject obj) {
109 return m_rom_metadata_cache.clear();
110}
111
112} // extern "C"
diff --git a/src/android/app/src/main/jni/native.cpp b/src/android/app/src/main/jni/native.cpp
index 598f4e8bf..294e41045 100644
--- a/src/android/app/src/main/jni/native.cpp
+++ b/src/android/app/src/main/jni/native.cpp
@@ -33,7 +33,6 @@
33#include "core/crypto/key_manager.h" 33#include "core/crypto/key_manager.h"
34#include "core/file_sys/card_image.h" 34#include "core/file_sys/card_image.h"
35#include "core/file_sys/content_archive.h" 35#include "core/file_sys/content_archive.h"
36#include "core/file_sys/registered_cache.h"
37#include "core/file_sys/submission_package.h" 36#include "core/file_sys/submission_package.h"
38#include "core/file_sys/vfs.h" 37#include "core/file_sys/vfs.h"
39#include "core/file_sys/vfs_real.h" 38#include "core/file_sys/vfs_real.h"
@@ -48,520 +47,426 @@
48#include "core/hid/emulated_controller.h" 47#include "core/hid/emulated_controller.h"
49#include "core/hid/hid_core.h" 48#include "core/hid/hid_core.h"
50#include "core/hid/hid_types.h" 49#include "core/hid/hid_types.h"
51#include "core/hle/service/acc/profile_manager.h"
52#include "core/hle/service/am/applet_ae.h" 50#include "core/hle/service/am/applet_ae.h"
53#include "core/hle/service/am/applet_oe.h" 51#include "core/hle/service/am/applet_oe.h"
54#include "core/hle/service/am/applets/applets.h" 52#include "core/hle/service/am/applets/applets.h"
55#include "core/hle/service/filesystem/filesystem.h" 53#include "core/hle/service/filesystem/filesystem.h"
56#include "core/loader/loader.h" 54#include "core/loader/loader.h"
57#include "core/perf_stats.h"
58#include "jni/android_common/android_common.h" 55#include "jni/android_common/android_common.h"
59#include "jni/applets/software_keyboard.h"
60#include "jni/config.h" 56#include "jni/config.h"
61#include "jni/emu_window/emu_window.h"
62#include "jni/id_cache.h" 57#include "jni/id_cache.h"
63#include "video_core/rasterizer_interface.h" 58#include "jni/native.h"
64#include "video_core/renderer_base.h" 59#include "video_core/renderer_base.h"
65 60
66#define jconst [[maybe_unused]] const auto 61#define jconst [[maybe_unused]] const auto
67#define jauto [[maybe_unused]] auto 62#define jauto [[maybe_unused]] auto
68 63
69namespace { 64static EmulationSession s_instance;
70 65
71class EmulationSession final { 66EmulationSession::EmulationSession() {
72public: 67 m_vfs = std::make_shared<FileSys::RealVfsFilesystem>();
73 EmulationSession() { 68}
74 m_vfs = std::make_shared<FileSys::RealVfsFilesystem>();
75 }
76
77 ~EmulationSession() = default;
78
79 static EmulationSession& GetInstance() {
80 return s_instance;
81 }
82
83 const Core::System& System() const {
84 return m_system;
85 }
86 69
87 Core::System& System() { 70EmulationSession& EmulationSession::GetInstance() {
88 return m_system; 71 return s_instance;
89 } 72}
90 73
91 const EmuWindow_Android& Window() const { 74const Core::System& EmulationSession::System() const {
92 return *m_window; 75 return m_system;
93 } 76}
94 77
95 EmuWindow_Android& Window() { 78Core::System& EmulationSession::System() {
96 return *m_window; 79 return m_system;
97 } 80}
98 81
99 ANativeWindow* NativeWindow() const { 82const EmuWindow_Android& EmulationSession::Window() const {
100 return m_native_window; 83 return *m_window;
101 } 84}
102 85
103 void SetNativeWindow(ANativeWindow* native_window) { 86EmuWindow_Android& EmulationSession::Window() {
104 m_native_window = native_window; 87 return *m_window;
105 } 88}
106 89
107 int InstallFileToNand(std::string filename, std::string file_extension) { 90ANativeWindow* EmulationSession::NativeWindow() const {
108 jconst copy_func = [](const FileSys::VirtualFile& src, const FileSys::VirtualFile& dest, 91 return m_native_window;
109 std::size_t block_size) { 92}
110 if (src == nullptr || dest == nullptr) {
111 return false;
112 }
113 if (!dest->Resize(src->GetSize())) {
114 return false;
115 }
116 93
117 using namespace Common::Literals; 94void EmulationSession::SetNativeWindow(ANativeWindow* native_window) {
118 [[maybe_unused]] std::vector<u8> buffer(1_MiB); 95 m_native_window = native_window;
96}
119 97
120 for (std::size_t i = 0; i < src->GetSize(); i += buffer.size()) { 98int EmulationSession::InstallFileToNand(std::string filename, std::string file_extension) {
121 jconst read = src->Read(buffer.data(), buffer.size(), i); 99 jconst copy_func = [](const FileSys::VirtualFile& src, const FileSys::VirtualFile& dest,
122 dest->Write(buffer.data(), read, i); 100 std::size_t block_size) {
123 } 101 if (src == nullptr || dest == nullptr) {
124 return true; 102 return false;
125 };
126
127 enum InstallResult {
128 Success = 0,
129 SuccessFileOverwritten = 1,
130 InstallError = 2,
131 ErrorBaseGame = 3,
132 ErrorFilenameExtension = 4,
133 };
134
135 m_system.SetContentProvider(std::make_unique<FileSys::ContentProviderUnion>());
136 m_system.GetFileSystemController().CreateFactories(*m_vfs);
137
138 [[maybe_unused]] std::shared_ptr<FileSys::NSP> nsp;
139 if (file_extension == "nsp") {
140 nsp = std::make_shared<FileSys::NSP>(m_vfs->OpenFile(filename, FileSys::Mode::Read));
141 if (nsp->IsExtractedType()) {
142 return InstallError;
143 }
144 } else {
145 return ErrorFilenameExtension;
146 } 103 }
147 104 if (!dest->Resize(src->GetSize())) {
148 if (!nsp) { 105 return false;
149 return InstallError;
150 } 106 }
151 107
152 if (nsp->GetStatus() != Loader::ResultStatus::Success) { 108 using namespace Common::Literals;
153 return InstallError; 109 [[maybe_unused]] std::vector<u8> buffer(1_MiB);
154 }
155 110
156 jconst res = m_system.GetFileSystemController().GetUserNANDContents()->InstallEntry( 111 for (std::size_t i = 0; i < src->GetSize(); i += buffer.size()) {
157 *nsp, true, copy_func); 112 jconst read = src->Read(buffer.data(), buffer.size(), i);
158 113 dest->Write(buffer.data(), read, i);
159 switch (res) {
160 case FileSys::InstallResult::Success:
161 return Success;
162 case FileSys::InstallResult::OverwriteExisting:
163 return SuccessFileOverwritten;
164 case FileSys::InstallResult::ErrorBaseInstall:
165 return ErrorBaseGame;
166 default:
167 return InstallError;
168 } 114 }
169 } 115 return true;
116 };
170 117
171 void InitializeGpuDriver(const std::string& hook_lib_dir, const std::string& custom_driver_dir, 118 enum InstallResult {
172 const std::string& custom_driver_name, 119 Success = 0,
173 const std::string& file_redirect_dir) { 120 SuccessFileOverwritten = 1,
174#ifdef ARCHITECTURE_arm64 121 InstallError = 2,
175 void* handle{}; 122 ErrorBaseGame = 3,
176 const char* file_redirect_dir_{}; 123 ErrorFilenameExtension = 4,
177 int featureFlags{}; 124 };
178
179 // Enable driver file redirection when renderer debugging is enabled.
180 if (Settings::values.renderer_debug && file_redirect_dir.size()) {
181 featureFlags |= ADRENOTOOLS_DRIVER_FILE_REDIRECT;
182 file_redirect_dir_ = file_redirect_dir.c_str();
183 }
184 125
185 // Try to load a custom driver. 126 m_system.SetContentProvider(std::make_unique<FileSys::ContentProviderUnion>());
186 if (custom_driver_name.size()) { 127 m_system.GetFileSystemController().CreateFactories(*m_vfs);
187 handle = adrenotools_open_libvulkan(
188 RTLD_NOW, featureFlags | ADRENOTOOLS_DRIVER_CUSTOM, nullptr, hook_lib_dir.c_str(),
189 custom_driver_dir.c_str(), custom_driver_name.c_str(), file_redirect_dir_, nullptr);
190 }
191 128
192 // Try to load the system driver. 129 [[maybe_unused]] std::shared_ptr<FileSys::NSP> nsp;
193 if (!handle) { 130 if (file_extension == "nsp") {
194 handle = 131 nsp = std::make_shared<FileSys::NSP>(m_vfs->OpenFile(filename, FileSys::Mode::Read));
195 adrenotools_open_libvulkan(RTLD_NOW, featureFlags, nullptr, hook_lib_dir.c_str(), 132 if (nsp->IsExtractedType()) {
196 nullptr, nullptr, file_redirect_dir_, nullptr); 133 return InstallError;
197 } 134 }
198 135 } else {
199 m_vulkan_library = std::make_shared<Common::DynamicLibrary>(handle); 136 return ErrorFilenameExtension;
200#endif
201 } 137 }
202 138
203 bool IsRunning() const { 139 if (!nsp) {
204 return m_is_running; 140 return InstallError;
205 } 141 }
206 142
207 bool IsPaused() const { 143 if (nsp->GetStatus() != Loader::ResultStatus::Success) {
208 return m_is_running && m_is_paused; 144 return InstallError;
209 } 145 }
210 146
211 const Core::PerfStatsResults& PerfStats() const { 147 jconst res = m_system.GetFileSystemController().GetUserNANDContents()->InstallEntry(*nsp, true,
212 std::scoped_lock m_perf_stats_lock(m_perf_stats_mutex); 148 copy_func);
213 return m_perf_stats;
214 }
215 149
216 void SurfaceChanged() { 150 switch (res) {
217 if (!IsRunning()) { 151 case FileSys::InstallResult::Success:
218 return; 152 return Success;
219 } 153 case FileSys::InstallResult::OverwriteExisting:
220 m_window->OnSurfaceChanged(m_native_window); 154 return SuccessFileOverwritten;
155 case FileSys::InstallResult::ErrorBaseInstall:
156 return ErrorBaseGame;
157 default:
158 return InstallError;
221 } 159 }
160}
222 161
223 void ConfigureFilesystemProvider(const std::string& filepath) { 162void EmulationSession::InitializeGpuDriver(const std::string& hook_lib_dir,
224 const auto file = m_system.GetFilesystem()->OpenFile(filepath, FileSys::Mode::Read); 163 const std::string& custom_driver_dir,
225 if (!file) { 164 const std::string& custom_driver_name,
226 return; 165 const std::string& file_redirect_dir) {
227 } 166#ifdef ARCHITECTURE_arm64
228 167 void* handle{};
229 auto loader = Loader::GetLoader(m_system, file); 168 const char* file_redirect_dir_{};
230 if (!loader) { 169 int featureFlags{};
231 return;
232 }
233
234 const auto file_type = loader->GetFileType();
235 if (file_type == Loader::FileType::Unknown || file_type == Loader::FileType::Error) {
236 return;
237 }
238 170
239 u64 program_id = 0; 171 // Enable driver file redirection when renderer debugging is enabled.
240 const auto res2 = loader->ReadProgramId(program_id); 172 if (Settings::values.renderer_debug && file_redirect_dir.size()) {
241 if (res2 == Loader::ResultStatus::Success && file_type == Loader::FileType::NCA) { 173 featureFlags |= ADRENOTOOLS_DRIVER_FILE_REDIRECT;
242 m_manual_provider->AddEntry(FileSys::TitleType::Application, 174 file_redirect_dir_ = file_redirect_dir.c_str();
243 FileSys::GetCRTypeFromNCAType(FileSys::NCA{file}.GetType()),
244 program_id, file);
245 } else if (res2 == Loader::ResultStatus::Success &&
246 (file_type == Loader::FileType::XCI || file_type == Loader::FileType::NSP)) {
247 const auto nsp = file_type == Loader::FileType::NSP
248 ? std::make_shared<FileSys::NSP>(file)
249 : FileSys::XCI{file}.GetSecurePartitionNSP();
250 for (const auto& title : nsp->GetNCAs()) {
251 for (const auto& entry : title.second) {
252 m_manual_provider->AddEntry(entry.first.first, entry.first.second, title.first,
253 entry.second->GetBaseFile());
254 }
255 }
256 }
257 } 175 }
258 176
259 Core::SystemResultStatus InitializeEmulation(const std::string& filepath) { 177 // Try to load a custom driver.
260 std::scoped_lock lock(m_mutex); 178 if (custom_driver_name.size()) {
261 179 handle = adrenotools_open_libvulkan(
262 // Create the render window. 180 RTLD_NOW, featureFlags | ADRENOTOOLS_DRIVER_CUSTOM, nullptr, hook_lib_dir.c_str(),
263 m_window = std::make_unique<EmuWindow_Android>(&m_input_subsystem, m_native_window, 181 custom_driver_dir.c_str(), custom_driver_name.c_str(), file_redirect_dir_, nullptr);
264 m_vulkan_library); 182 }
265
266 m_system.SetFilesystem(m_vfs);
267 m_system.GetUserChannel().clear();
268
269 // Initialize system.
270 jauto android_keyboard = std::make_unique<SoftwareKeyboard::AndroidKeyboard>();
271 m_software_keyboard = android_keyboard.get();
272 m_system.SetShuttingDown(false);
273 m_system.ApplySettings();
274 Settings::LogSettings();
275 m_system.HIDCore().ReloadInputDevices();
276 m_system.SetAppletFrontendSet({
277 nullptr, // Amiibo Settings
278 nullptr, // Controller Selector
279 nullptr, // Error Display
280 nullptr, // Mii Editor
281 nullptr, // Parental Controls
282 nullptr, // Photo Viewer
283 nullptr, // Profile Selector
284 std::move(android_keyboard), // Software Keyboard
285 nullptr, // Web Browser
286 });
287
288 // Initialize filesystem.
289 m_manual_provider = std::make_unique<FileSys::ManualContentProvider>();
290 m_system.SetContentProvider(std::make_unique<FileSys::ContentProviderUnion>());
291 m_system.RegisterContentProvider(FileSys::ContentProviderUnionSlot::FrontendManual,
292 m_manual_provider.get());
293 m_system.GetFileSystemController().CreateFactories(*m_vfs);
294 ConfigureFilesystemProvider(filepath);
295
296 // Initialize account manager
297 m_profile_manager = std::make_unique<Service::Account::ProfileManager>();
298
299 // Load the ROM.
300 m_load_result = m_system.Load(EmulationSession::GetInstance().Window(), filepath);
301 if (m_load_result != Core::SystemResultStatus::Success) {
302 return m_load_result;
303 }
304
305 // Complete initialization.
306 m_system.GPU().Start();
307 m_system.GetCpuManager().OnGpuReady();
308 m_system.RegisterExitCallback([&] { HaltEmulation(); });
309 183
310 return Core::SystemResultStatus::Success; 184 // Try to load the system driver.
185 if (!handle) {
186 handle = adrenotools_open_libvulkan(RTLD_NOW, featureFlags, nullptr, hook_lib_dir.c_str(),
187 nullptr, nullptr, file_redirect_dir_, nullptr);
311 } 188 }
312 189
313 void ShutdownEmulation() { 190 m_vulkan_library = std::make_shared<Common::DynamicLibrary>(handle);
314 std::scoped_lock lock(m_mutex); 191#endif
192}
315 193
316 m_is_running = false; 194bool EmulationSession::IsRunning() const {
195 return m_is_running;
196}
317 197
318 // Unload user input. 198bool EmulationSession::IsPaused() const {
319 m_system.HIDCore().UnloadInputDevices(); 199 return m_is_running && m_is_paused;
200}
320 201
321 // Shutdown the main emulated process 202const Core::PerfStatsResults& EmulationSession::PerfStats() const {
322 if (m_load_result == Core::SystemResultStatus::Success) { 203 std::scoped_lock m_perf_stats_lock(m_perf_stats_mutex);
323 m_system.DetachDebugger(); 204 return m_perf_stats;
324 m_system.ShutdownMainProcess(); 205}
325 m_detached_tasks.WaitForAllTasks();
326 m_load_result = Core::SystemResultStatus::ErrorNotInitialized;
327 m_window.reset();
328 OnEmulationStopped(Core::SystemResultStatus::Success);
329 return;
330 }
331 206
332 // Tear down the render window. 207void EmulationSession::SurfaceChanged() {
333 m_window.reset(); 208 if (!IsRunning()) {
209 return;
334 } 210 }
211 m_window->OnSurfaceChanged(m_native_window);
212}
335 213
336 void PauseEmulation() { 214void EmulationSession::ConfigureFilesystemProvider(const std::string& filepath) {
337 std::scoped_lock lock(m_mutex); 215 const auto file = m_system.GetFilesystem()->OpenFile(filepath, FileSys::Mode::Read);
338 m_system.Pause(); 216 if (!file) {
339 m_is_paused = true; 217 return;
340 } 218 }
341 219
342 void UnPauseEmulation() { 220 auto loader = Loader::GetLoader(m_system, file);
343 std::scoped_lock lock(m_mutex); 221 if (!loader) {
344 m_system.Run(); 222 return;
345 m_is_paused = false;
346 } 223 }
347 224
348 void HaltEmulation() { 225 const auto file_type = loader->GetFileType();
349 std::scoped_lock lock(m_mutex); 226 if (file_type == Loader::FileType::Unknown || file_type == Loader::FileType::Error) {
350 m_is_running = false; 227 return;
351 m_cv.notify_one();
352 } 228 }
353 229
354 void RunEmulation() { 230 u64 program_id = 0;
355 { 231 const auto res2 = loader->ReadProgramId(program_id);
356 std::scoped_lock lock(m_mutex); 232 if (res2 == Loader::ResultStatus::Success && file_type == Loader::FileType::NCA) {
357 m_is_running = true; 233 m_manual_provider->AddEntry(FileSys::TitleType::Application,
358 } 234 FileSys::GetCRTypeFromNCAType(FileSys::NCA{file}.GetType()),
359 235 program_id, file);
360 // Load the disk shader cache. 236 } else if (res2 == Loader::ResultStatus::Success &&
361 if (Settings::values.use_disk_shader_cache.GetValue()) { 237 (file_type == Loader::FileType::XCI || file_type == Loader::FileType::NSP)) {
362 LoadDiskCacheProgress(VideoCore::LoadCallbackStage::Prepare, 0, 0); 238 const auto nsp = file_type == Loader::FileType::NSP
363 m_system.Renderer().ReadRasterizer()->LoadDiskResources( 239 ? std::make_shared<FileSys::NSP>(file)
364 m_system.GetApplicationProcessProgramID(), std::stop_token{}, 240 : FileSys::XCI{file}.GetSecurePartitionNSP();
365 LoadDiskCacheProgress); 241 for (const auto& title : nsp->GetNCAs()) {
366 LoadDiskCacheProgress(VideoCore::LoadCallbackStage::Complete, 0, 0); 242 for (const auto& entry : title.second) {
243 m_manual_provider->AddEntry(entry.first.first, entry.first.second, title.first,
244 entry.second->GetBaseFile());
245 }
367 } 246 }
247 }
248}
368 249
369 void(m_system.Run()); 250void EmulationSession::InitializeSystem() {
251 // Initialize logging system
252 Common::Log::Initialize();
253 Common::Log::SetColorConsoleBackendEnabled(true);
254 Common::Log::Start();
370 255
371 if (m_system.DebuggerEnabled()) { 256 // Initialize filesystem.
372 m_system.InitializeDebugger(); 257 m_system.SetFilesystem(m_vfs);
373 } 258 m_system.GetUserChannel().clear();
259 m_manual_provider = std::make_unique<FileSys::ManualContentProvider>();
260 m_system.SetContentProvider(std::make_unique<FileSys::ContentProviderUnion>());
261 m_system.RegisterContentProvider(FileSys::ContentProviderUnionSlot::FrontendManual,
262 m_manual_provider.get());
263 m_system.GetFileSystemController().CreateFactories(*m_vfs);
264}
265
266Core::SystemResultStatus EmulationSession::InitializeEmulation(const std::string& filepath) {
267 std::scoped_lock lock(m_mutex);
268
269 // Create the render window.
270 m_window =
271 std::make_unique<EmuWindow_Android>(&m_input_subsystem, m_native_window, m_vulkan_library);
272
273 // Initialize system.
274 jauto android_keyboard = std::make_unique<SoftwareKeyboard::AndroidKeyboard>();
275 m_software_keyboard = android_keyboard.get();
276 m_system.SetShuttingDown(false);
277 m_system.ApplySettings();
278 Settings::LogSettings();
279 m_system.HIDCore().ReloadInputDevices();
280 m_system.SetAppletFrontendSet({
281 nullptr, // Amiibo Settings
282 nullptr, // Controller Selector
283 nullptr, // Error Display
284 nullptr, // Mii Editor
285 nullptr, // Parental Controls
286 nullptr, // Photo Viewer
287 nullptr, // Profile Selector
288 std::move(android_keyboard), // Software Keyboard
289 nullptr, // Web Browser
290 });
291
292 // Initialize filesystem.
293 ConfigureFilesystemProvider(filepath);
294
295 // Initialize account manager
296 m_profile_manager = std::make_unique<Service::Account::ProfileManager>();
297
298 // Load the ROM.
299 m_load_result = m_system.Load(EmulationSession::GetInstance().Window(), filepath);
300 if (m_load_result != Core::SystemResultStatus::Success) {
301 return m_load_result;
302 }
303
304 // Complete initialization.
305 m_system.GPU().Start();
306 m_system.GetCpuManager().OnGpuReady();
307 m_system.RegisterExitCallback([&] { HaltEmulation(); });
374 308
375 OnEmulationStarted(); 309 return Core::SystemResultStatus::Success;
310}
376 311
377 while (true) { 312void EmulationSession::ShutdownEmulation() {
378 { 313 std::scoped_lock lock(m_mutex);
379 [[maybe_unused]] std::unique_lock lock(m_mutex);
380 if (m_cv.wait_for(lock, std::chrono::milliseconds(800),
381 [&]() { return !m_is_running; })) {
382 // Emulation halted.
383 break;
384 }
385 }
386 {
387 // Refresh performance stats.
388 std::scoped_lock m_perf_stats_lock(m_perf_stats_mutex);
389 m_perf_stats = m_system.GetAndResetPerfStats();
390 }
391 }
392 }
393 314
394 std::string GetRomTitle(const std::string& path) { 315 m_is_running = false;
395 return GetRomMetadata(path).title;
396 }
397 316
398 std::vector<u8> GetRomIcon(const std::string& path) { 317 // Unload user input.
399 return GetRomMetadata(path).icon; 318 m_system.HIDCore().UnloadInputDevices();
400 }
401 319
402 bool GetIsHomebrew(const std::string& path) { 320 // Shutdown the main emulated process
403 return GetRomMetadata(path).isHomebrew; 321 if (m_load_result == Core::SystemResultStatus::Success) {
322 m_system.DetachDebugger();
323 m_system.ShutdownMainProcess();
324 m_detached_tasks.WaitForAllTasks();
325 m_load_result = Core::SystemResultStatus::ErrorNotInitialized;
326 m_window.reset();
327 OnEmulationStopped(Core::SystemResultStatus::Success);
328 return;
404 } 329 }
405 330
406 void ResetRomMetadata() { 331 // Tear down the render window.
407 m_rom_metadata_cache.clear(); 332 m_window.reset();
408 } 333}
409 334
410 bool IsHandheldOnly() { 335void EmulationSession::PauseEmulation() {
411 jconst npad_style_set = m_system.HIDCore().GetSupportedStyleTag(); 336 std::scoped_lock lock(m_mutex);
337 m_system.Pause();
338 m_is_paused = true;
339}
412 340
413 if (npad_style_set.fullkey == 1) { 341void EmulationSession::UnPauseEmulation() {
414 return false; 342 std::scoped_lock lock(m_mutex);
415 } 343 m_system.Run();
344 m_is_paused = false;
345}
416 346
417 if (npad_style_set.handheld == 0) { 347void EmulationSession::HaltEmulation() {
418 return false; 348 std::scoped_lock lock(m_mutex);
419 } 349 m_is_running = false;
350 m_cv.notify_one();
351}
420 352
421 return !Settings::IsDockedMode(); 353void EmulationSession::RunEmulation() {
354 {
355 std::scoped_lock lock(m_mutex);
356 m_is_running = true;
422 } 357 }
423 358
424 void SetDeviceType([[maybe_unused]] int index, int type) { 359 // Load the disk shader cache.
425 jauto controller = m_system.HIDCore().GetEmulatedControllerByIndex(index); 360 if (Settings::values.use_disk_shader_cache.GetValue()) {
426 controller->SetNpadStyleIndex(static_cast<Core::HID::NpadStyleIndex>(type)); 361 LoadDiskCacheProgress(VideoCore::LoadCallbackStage::Prepare, 0, 0);
362 m_system.Renderer().ReadRasterizer()->LoadDiskResources(
363 m_system.GetApplicationProcessProgramID(), std::stop_token{}, LoadDiskCacheProgress);
364 LoadDiskCacheProgress(VideoCore::LoadCallbackStage::Complete, 0, 0);
427 } 365 }
428 366
429 void OnGamepadConnectEvent([[maybe_unused]] int index) { 367 void(m_system.Run());
430 jauto controller = m_system.HIDCore().GetEmulatedControllerByIndex(index);
431
432 // Ensure that player1 is configured correctly and handheld disconnected
433 if (controller->GetNpadIdType() == Core::HID::NpadIdType::Player1) {
434 jauto handheld =
435 m_system.HIDCore().GetEmulatedController(Core::HID::NpadIdType::Handheld);
436 368
437 if (controller->GetNpadStyleIndex() == Core::HID::NpadStyleIndex::Handheld) { 369 if (m_system.DebuggerEnabled()) {
438 handheld->SetNpadStyleIndex(Core::HID::NpadStyleIndex::ProController); 370 m_system.InitializeDebugger();
439 controller->SetNpadStyleIndex(Core::HID::NpadStyleIndex::ProController); 371 }
440 handheld->Disconnect();
441 }
442 }
443 372
444 // Ensure that handheld is configured correctly and player 1 disconnected 373 OnEmulationStarted();
445 if (controller->GetNpadIdType() == Core::HID::NpadIdType::Handheld) {
446 jauto player1 =
447 m_system.HIDCore().GetEmulatedController(Core::HID::NpadIdType::Player1);
448 374
449 if (controller->GetNpadStyleIndex() != Core::HID::NpadStyleIndex::Handheld) { 375 while (true) {
450 player1->SetNpadStyleIndex(Core::HID::NpadStyleIndex::Handheld); 376 {
451 controller->SetNpadStyleIndex(Core::HID::NpadStyleIndex::Handheld); 377 [[maybe_unused]] std::unique_lock lock(m_mutex);
452 player1->Disconnect(); 378 if (m_cv.wait_for(lock, std::chrono::milliseconds(800),
379 [&]() { return !m_is_running; })) {
380 // Emulation halted.
381 break;
453 } 382 }
454 } 383 }
455 384 {
456 if (!controller->IsConnected()) { 385 // Refresh performance stats.
457 controller->Connect(); 386 std::scoped_lock m_perf_stats_lock(m_perf_stats_mutex);
387 m_perf_stats = m_system.GetAndResetPerfStats();
458 } 388 }
459 } 389 }
390}
391
392bool EmulationSession::IsHandheldOnly() {
393 jconst npad_style_set = m_system.HIDCore().GetSupportedStyleTag();
460 394
461 void OnGamepadDisconnectEvent([[maybe_unused]] int index) { 395 if (npad_style_set.fullkey == 1) {
462 jauto controller = m_system.HIDCore().GetEmulatedControllerByIndex(index); 396 return false;
463 controller->Disconnect();
464 } 397 }
465 398
466 SoftwareKeyboard::AndroidKeyboard* SoftwareKeyboard() { 399 if (npad_style_set.handheld == 0) {
467 return m_software_keyboard; 400 return false;
468 } 401 }
469 402
470private: 403 return !Settings::IsDockedMode();
471 struct RomMetadata { 404}
472 std::string title;
473 std::vector<u8> icon;
474 bool isHomebrew;
475 };
476 405
477 RomMetadata GetRomMetadata(const std::string& path) { 406void EmulationSession::SetDeviceType([[maybe_unused]] int index, int type) {
478 if (jauto search = m_rom_metadata_cache.find(path); search != m_rom_metadata_cache.end()) { 407 jauto controller = m_system.HIDCore().GetEmulatedControllerByIndex(index);
479 return search->second; 408 controller->SetNpadStyleIndex(static_cast<Core::HID::NpadStyleIndex>(type));
480 } 409}
481 410
482 return CacheRomMetadata(path); 411void EmulationSession::OnGamepadConnectEvent([[maybe_unused]] int index) {
483 } 412 jauto controller = m_system.HIDCore().GetEmulatedControllerByIndex(index);
484 413
485 RomMetadata CacheRomMetadata(const std::string& path) { 414 // Ensure that player1 is configured correctly and handheld disconnected
486 jconst file = Core::GetGameFileFromPath(m_vfs, path); 415 if (controller->GetNpadIdType() == Core::HID::NpadIdType::Player1) {
487 jauto loader = Loader::GetLoader(EmulationSession::GetInstance().System(), file, 0, 0); 416 jauto handheld = m_system.HIDCore().GetEmulatedController(Core::HID::NpadIdType::Handheld);
488 417
489 RomMetadata entry; 418 if (controller->GetNpadStyleIndex() == Core::HID::NpadStyleIndex::Handheld) {
490 loader->ReadTitle(entry.title); 419 handheld->SetNpadStyleIndex(Core::HID::NpadStyleIndex::ProController);
491 loader->ReadIcon(entry.icon); 420 controller->SetNpadStyleIndex(Core::HID::NpadStyleIndex::ProController);
492 if (loader->GetFileType() == Loader::FileType::NRO) { 421 handheld->Disconnect();
493 jauto loader_nro = reinterpret_cast<Loader::AppLoader_NRO*>(loader.get());
494 entry.isHomebrew = loader_nro->IsHomebrew();
495 } else {
496 entry.isHomebrew = false;
497 } 422 }
498
499 m_rom_metadata_cache[path] = entry;
500
501 return entry;
502 } 423 }
503 424
504private: 425 // Ensure that handheld is configured correctly and player 1 disconnected
505 static void LoadDiskCacheProgress(VideoCore::LoadCallbackStage stage, int progress, int max) { 426 if (controller->GetNpadIdType() == Core::HID::NpadIdType::Handheld) {
506 JNIEnv* env = IDCache::GetEnvForThread(); 427 jauto player1 = m_system.HIDCore().GetEmulatedController(Core::HID::NpadIdType::Player1);
507 env->CallStaticVoidMethod(IDCache::GetDiskCacheProgressClass(),
508 IDCache::GetDiskCacheLoadProgress(), static_cast<jint>(stage),
509 static_cast<jint>(progress), static_cast<jint>(max));
510 }
511 428
512 static void OnEmulationStarted() { 429 if (controller->GetNpadStyleIndex() != Core::HID::NpadStyleIndex::Handheld) {
513 JNIEnv* env = IDCache::GetEnvForThread(); 430 player1->SetNpadStyleIndex(Core::HID::NpadStyleIndex::Handheld);
514 env->CallStaticVoidMethod(IDCache::GetNativeLibraryClass(), 431 controller->SetNpadStyleIndex(Core::HID::NpadStyleIndex::Handheld);
515 IDCache::GetOnEmulationStarted()); 432 player1->Disconnect();
433 }
516 } 434 }
517 435
518 static void OnEmulationStopped(Core::SystemResultStatus result) { 436 if (!controller->IsConnected()) {
519 JNIEnv* env = IDCache::GetEnvForThread(); 437 controller->Connect();
520 env->CallStaticVoidMethod(IDCache::GetNativeLibraryClass(),
521 IDCache::GetOnEmulationStopped(), static_cast<jint>(result));
522 } 438 }
439}
523 440
524private: 441void EmulationSession::OnGamepadDisconnectEvent([[maybe_unused]] int index) {
525 static EmulationSession s_instance; 442 jauto controller = m_system.HIDCore().GetEmulatedControllerByIndex(index);
526 443 controller->Disconnect();
527 // Frontend management 444}
528 std::unordered_map<std::string, RomMetadata> m_rom_metadata_cache;
529
530 // Window management
531 std::unique_ptr<EmuWindow_Android> m_window;
532 ANativeWindow* m_native_window{};
533
534 // Core emulation
535 Core::System m_system;
536 InputCommon::InputSubsystem m_input_subsystem;
537 Common::DetachedTasks m_detached_tasks;
538 Core::PerfStatsResults m_perf_stats{};
539 std::shared_ptr<FileSys::VfsFilesystem> m_vfs;
540 Core::SystemResultStatus m_load_result{Core::SystemResultStatus::ErrorNotInitialized};
541 std::atomic<bool> m_is_running = false;
542 std::atomic<bool> m_is_paused = false;
543 SoftwareKeyboard::AndroidKeyboard* m_software_keyboard{};
544 std::unique_ptr<Service::Account::ProfileManager> m_profile_manager;
545 std::unique_ptr<FileSys::ManualContentProvider> m_manual_provider;
546 445
547 // GPU driver parameters 446SoftwareKeyboard::AndroidKeyboard* EmulationSession::SoftwareKeyboard() {
548 std::shared_ptr<Common::DynamicLibrary> m_vulkan_library; 447 return m_software_keyboard;
448}
549 449
550 // Synchronization 450void EmulationSession::LoadDiskCacheProgress(VideoCore::LoadCallbackStage stage, int progress,
551 std::condition_variable_any m_cv; 451 int max) {
552 mutable std::mutex m_perf_stats_mutex; 452 JNIEnv* env = IDCache::GetEnvForThread();
553 mutable std::mutex m_mutex; 453 env->CallStaticVoidMethod(IDCache::GetDiskCacheProgressClass(),
554}; 454 IDCache::GetDiskCacheLoadProgress(), static_cast<jint>(stage),
455 static_cast<jint>(progress), static_cast<jint>(max));
456}
555 457
556/*static*/ EmulationSession EmulationSession::s_instance; 458void EmulationSession::OnEmulationStarted() {
459 JNIEnv* env = IDCache::GetEnvForThread();
460 env->CallStaticVoidMethod(IDCache::GetNativeLibraryClass(), IDCache::GetOnEmulationStarted());
461}
557 462
558} // Anonymous namespace 463void EmulationSession::OnEmulationStopped(Core::SystemResultStatus result) {
464 JNIEnv* env = IDCache::GetEnvForThread();
465 env->CallStaticVoidMethod(IDCache::GetNativeLibraryClass(), IDCache::GetOnEmulationStopped(),
466 static_cast<jint>(result));
467}
559 468
560static Core::SystemResultStatus RunEmulation(const std::string& filepath) { 469static Core::SystemResultStatus RunEmulation(const std::string& filepath) {
561 Common::Log::Initialize();
562 Common::Log::SetColorConsoleBackendEnabled(true);
563 Common::Log::Start();
564
565 MicroProfileOnThreadCreate("EmuThread"); 470 MicroProfileOnThreadCreate("EmuThread");
566 SCOPE_EXIT({ MicroProfileShutdown(); }); 471 SCOPE_EXIT({ MicroProfileShutdown(); });
567 472
@@ -657,10 +562,6 @@ void Java_org_yuzu_yuzu_1emu_NativeLibrary_stopEmulation(JNIEnv* env, jclass cla
657 EmulationSession::GetInstance().HaltEmulation(); 562 EmulationSession::GetInstance().HaltEmulation();
658} 563}
659 564
660void Java_org_yuzu_yuzu_1emu_NativeLibrary_resetRomMetadata(JNIEnv* env, jclass clazz) {
661 EmulationSession::GetInstance().ResetRomMetadata();
662}
663
664jboolean Java_org_yuzu_yuzu_1emu_NativeLibrary_isRunning(JNIEnv* env, jclass clazz) { 565jboolean Java_org_yuzu_yuzu_1emu_NativeLibrary_isRunning(JNIEnv* env, jclass clazz) {
665 return static_cast<jboolean>(EmulationSession::GetInstance().IsRunning()); 566 return static_cast<jboolean>(EmulationSession::GetInstance().IsRunning());
666} 567}
@@ -766,51 +667,12 @@ void Java_org_yuzu_yuzu_1emu_NativeLibrary_onTouchReleased(JNIEnv* env, jclass c
766 } 667 }
767} 668}
768 669
769jbyteArray Java_org_yuzu_yuzu_1emu_NativeLibrary_getIcon(JNIEnv* env, jclass clazz, 670void Java_org_yuzu_yuzu_1emu_NativeLibrary_initializeSystem(JNIEnv* env, jclass clazz) {
770 jstring j_filename) {
771 jauto icon_data = EmulationSession::GetInstance().GetRomIcon(GetJString(env, j_filename));
772 jbyteArray icon = env->NewByteArray(static_cast<jsize>(icon_data.size()));
773 env->SetByteArrayRegion(icon, 0, env->GetArrayLength(icon),
774 reinterpret_cast<jbyte*>(icon_data.data()));
775 return icon;
776}
777
778jstring Java_org_yuzu_yuzu_1emu_NativeLibrary_getTitle(JNIEnv* env, jclass clazz,
779 jstring j_filename) {
780 jauto title = EmulationSession::GetInstance().GetRomTitle(GetJString(env, j_filename));
781 return env->NewStringUTF(title.c_str());
782}
783
784jstring Java_org_yuzu_yuzu_1emu_NativeLibrary_getDescription(JNIEnv* env, jclass clazz,
785 jstring j_filename) {
786 return j_filename;
787}
788
789jstring Java_org_yuzu_yuzu_1emu_NativeLibrary_getGameId(JNIEnv* env, jclass clazz,
790 jstring j_filename) {
791 return j_filename;
792}
793
794jstring Java_org_yuzu_yuzu_1emu_NativeLibrary_getRegions(JNIEnv* env, jclass clazz,
795 jstring j_filename) {
796 return env->NewStringUTF("");
797}
798
799jstring Java_org_yuzu_yuzu_1emu_NativeLibrary_getCompany(JNIEnv* env, jclass clazz,
800 jstring j_filename) {
801 return env->NewStringUTF("");
802}
803
804jboolean Java_org_yuzu_yuzu_1emu_NativeLibrary_isHomebrew(JNIEnv* env, jclass clazz,
805 jstring j_filename) {
806 return EmulationSession::GetInstance().GetIsHomebrew(GetJString(env, j_filename));
807}
808
809void Java_org_yuzu_yuzu_1emu_NativeLibrary_initializeEmulation(JNIEnv* env, jclass clazz) {
810 // Create the default config.ini. 671 // Create the default config.ini.
811 Config{}; 672 Config{};
812 // Initialize the emulated system. 673 // Initialize the emulated system.
813 EmulationSession::GetInstance().System().Initialize(); 674 EmulationSession::GetInstance().System().Initialize();
675 EmulationSession::GetInstance().InitializeSystem();
814} 676}
815 677
816jint Java_org_yuzu_yuzu_1emu_NativeLibrary_defaultCPUCore(JNIEnv* env, jclass clazz) { 678jint Java_org_yuzu_yuzu_1emu_NativeLibrary_defaultCPUCore(JNIEnv* env, jclass clazz) {
@@ -898,4 +760,49 @@ void Java_org_yuzu_yuzu_1emu_NativeLibrary_initializeEmptyUserDirectory(JNIEnv*
898 } 760 }
899} 761}
900 762
763jstring Java_org_yuzu_yuzu_1emu_NativeLibrary_getAppletLaunchPath(JNIEnv* env, jclass clazz,
764 jlong jid) {
765 auto bis_system =
766 EmulationSession::GetInstance().System().GetFileSystemController().GetSystemNANDContents();
767 if (!bis_system) {
768 return ToJString(env, "");
769 }
770
771 auto applet_nca =
772 bis_system->GetEntry(static_cast<u64>(jid), FileSys::ContentRecordType::Program);
773 if (!applet_nca) {
774 return ToJString(env, "");
775 }
776
777 return ToJString(env, applet_nca->GetFullPath());
778}
779
780void Java_org_yuzu_yuzu_1emu_NativeLibrary_setCurrentAppletId(JNIEnv* env, jclass clazz,
781 jint jappletId) {
782 EmulationSession::GetInstance().System().GetAppletManager().SetCurrentAppletId(
783 static_cast<Service::AM::Applets::AppletId>(jappletId));
784}
785
786void Java_org_yuzu_yuzu_1emu_NativeLibrary_setCabinetMode(JNIEnv* env, jclass clazz,
787 jint jcabinetMode) {
788 EmulationSession::GetInstance().System().GetAppletManager().SetCabinetMode(
789 static_cast<Service::NFP::CabinetMode>(jcabinetMode));
790}
791
792jboolean Java_org_yuzu_yuzu_1emu_NativeLibrary_isFirmwareAvailable(JNIEnv* env, jclass clazz) {
793 auto bis_system =
794 EmulationSession::GetInstance().System().GetFileSystemController().GetSystemNANDContents();
795 if (!bis_system) {
796 return false;
797 }
798
799 // Query an applet to see if it's available
800 auto applet_nca =
801 bis_system->GetEntry(0x010000000000100Dull, FileSys::ContentRecordType::Program);
802 if (!applet_nca) {
803 return false;
804 }
805 return true;
806}
807
901} // extern "C" 808} // extern "C"
diff --git a/src/android/app/src/main/jni/native.h b/src/android/app/src/main/jni/native.h
new file mode 100644
index 000000000..0aa2b085b
--- /dev/null
+++ b/src/android/app/src/main/jni/native.h
@@ -0,0 +1,85 @@
1// SPDX-FileCopyrightText: Copyright 2023 yuzu Emulator Project
2// SPDX-License-Identifier: GPL-2.0-or-later
3
4#include <android/native_window_jni.h>
5#include "common/detached_tasks.h"
6#include "core/core.h"
7#include "core/file_sys/registered_cache.h"
8#include "core/hle/service/acc/profile_manager.h"
9#include "core/perf_stats.h"
10#include "jni/applets/software_keyboard.h"
11#include "jni/emu_window/emu_window.h"
12#include "video_core/rasterizer_interface.h"
13
14#pragma once
15
16class EmulationSession final {
17public:
18 explicit EmulationSession();
19 ~EmulationSession() = default;
20
21 static EmulationSession& GetInstance();
22 const Core::System& System() const;
23 Core::System& System();
24
25 const EmuWindow_Android& Window() const;
26 EmuWindow_Android& Window();
27 ANativeWindow* NativeWindow() const;
28 void SetNativeWindow(ANativeWindow* native_window);
29 void SurfaceChanged();
30
31 int InstallFileToNand(std::string filename, std::string file_extension);
32 void InitializeGpuDriver(const std::string& hook_lib_dir, const std::string& custom_driver_dir,
33 const std::string& custom_driver_name,
34 const std::string& file_redirect_dir);
35
36 bool IsRunning() const;
37 bool IsPaused() const;
38 void PauseEmulation();
39 void UnPauseEmulation();
40 void HaltEmulation();
41 void RunEmulation();
42 void ShutdownEmulation();
43
44 const Core::PerfStatsResults& PerfStats() const;
45 void ConfigureFilesystemProvider(const std::string& filepath);
46 void InitializeSystem();
47 Core::SystemResultStatus InitializeEmulation(const std::string& filepath);
48
49 bool IsHandheldOnly();
50 void SetDeviceType([[maybe_unused]] int index, int type);
51 void OnGamepadConnectEvent([[maybe_unused]] int index);
52 void OnGamepadDisconnectEvent([[maybe_unused]] int index);
53 SoftwareKeyboard::AndroidKeyboard* SoftwareKeyboard();
54
55private:
56 static void LoadDiskCacheProgress(VideoCore::LoadCallbackStage stage, int progress, int max);
57 static void OnEmulationStarted();
58 static void OnEmulationStopped(Core::SystemResultStatus result);
59
60private:
61 // Window management
62 std::unique_ptr<EmuWindow_Android> m_window;
63 ANativeWindow* m_native_window{};
64
65 // Core emulation
66 Core::System m_system;
67 InputCommon::InputSubsystem m_input_subsystem;
68 Common::DetachedTasks m_detached_tasks;
69 Core::PerfStatsResults m_perf_stats{};
70 std::shared_ptr<FileSys::VfsFilesystem> m_vfs;
71 Core::SystemResultStatus m_load_result{Core::SystemResultStatus::ErrorNotInitialized};
72 std::atomic<bool> m_is_running = false;
73 std::atomic<bool> m_is_paused = false;
74 SoftwareKeyboard::AndroidKeyboard* m_software_keyboard{};
75 std::unique_ptr<Service::Account::ProfileManager> m_profile_manager;
76 std::unique_ptr<FileSys::ManualContentProvider> m_manual_provider;
77
78 // GPU driver parameters
79 std::shared_ptr<Common::DynamicLibrary> m_vulkan_library;
80
81 // Synchronization
82 std::condition_variable_any m_cv;
83 mutable std::mutex m_perf_stats_mutex;
84 mutable std::mutex m_mutex;
85};
diff --git a/src/android/app/src/main/jni/native_log.cpp b/src/android/app/src/main/jni/native_log.cpp
new file mode 100644
index 000000000..33d691dc8
--- /dev/null
+++ b/src/android/app/src/main/jni/native_log.cpp
@@ -0,0 +1,31 @@
1// SPDX-FileCopyrightText: 2023 yuzu Emulator Project
2// SPDX-License-Identifier: GPL-2.0-or-later
3
4#include <common/logging/log.h>
5#include <jni.h>
6
7#include "android_common/android_common.h"
8
9extern "C" {
10
11void Java_org_yuzu_yuzu_1emu_utils_Log_debug(JNIEnv* env, jobject obj, jstring jmessage) {
12 LOG_DEBUG(Frontend, "{}", GetJString(env, jmessage));
13}
14
15void Java_org_yuzu_yuzu_1emu_utils_Log_warning(JNIEnv* env, jobject obj, jstring jmessage) {
16 LOG_WARNING(Frontend, "{}", GetJString(env, jmessage));
17}
18
19void Java_org_yuzu_yuzu_1emu_utils_Log_info(JNIEnv* env, jobject obj, jstring jmessage) {
20 LOG_INFO(Frontend, "{}", GetJString(env, jmessage));
21}
22
23void Java_org_yuzu_yuzu_1emu_utils_Log_error(JNIEnv* env, jobject obj, jstring jmessage) {
24 LOG_ERROR(Frontend, "{}", GetJString(env, jmessage));
25}
26
27void Java_org_yuzu_yuzu_1emu_utils_Log_critical(JNIEnv* env, jobject obj, jstring jmessage) {
28 LOG_CRITICAL(Frontend, "{}", GetJString(env, jmessage));
29}
30
31} // extern "C"
diff --git a/src/android/app/src/main/res/drawable/ic_album.xml b/src/android/app/src/main/res/drawable/ic_album.xml
new file mode 100644
index 000000000..f2b63813f
--- /dev/null
+++ b/src/android/app/src/main/res/drawable/ic_album.xml
@@ -0,0 +1,9 @@
1<vector xmlns:android="http://schemas.android.com/apk/res/android"
2 android:width="24dp"
3 android:height="24dp"
4 android:viewportWidth="24"
5 android:viewportHeight="24">
6 <path
7 android:fillColor="?attr/colorControlNormal"
8 android:pathData="M21,19V5c0,-1.1 -0.9,-2 -2,-2H5c-1.1,0 -2,0.9 -2,2v14c0,1.1 0.9,2 2,2h14c1.1,0 2,-0.9 2,-2zM8.5,13.5l2.5,3.01L14.5,12l4.5,6H5l3.5,-4.5z" />
9</vector>
diff --git a/src/android/app/src/main/res/drawable/ic_applet.xml b/src/android/app/src/main/res/drawable/ic_applet.xml
new file mode 100644
index 000000000..b154e6f56
--- /dev/null
+++ b/src/android/app/src/main/res/drawable/ic_applet.xml
@@ -0,0 +1,9 @@
1<vector xmlns:android="http://schemas.android.com/apk/res/android"
2 android:width="24dp"
3 android:height="24dp"
4 android:viewportWidth="24"
5 android:viewportHeight="24">
6 <path
7 android:fillColor="?attr/colorControlNormal"
8 android:pathData="M17,16l-4,-4V8.82C14.16,8.4 15,7.3 15,6c0,-1.66 -1.34,-3 -3,-3S9,4.34 9,6c0,1.3 0.84,2.4 2,2.82V12l-4,4H3v5h5v-3.05l4,-4.2 4,4.2V21h5v-5h-4z" />
9</vector>
diff --git a/src/android/app/src/main/res/drawable/ic_edit.xml b/src/android/app/src/main/res/drawable/ic_edit.xml
new file mode 100644
index 000000000..ac22ce8a5
--- /dev/null
+++ b/src/android/app/src/main/res/drawable/ic_edit.xml
@@ -0,0 +1,9 @@
1<vector xmlns:android="http://schemas.android.com/apk/res/android"
2 android:width="24dp"
3 android:height="24dp"
4 android:viewportWidth="24"
5 android:viewportHeight="24">
6 <path
7 android:fillColor="?attr/colorControlNormal"
8 android:pathData="M3,17.25V21h3.75L17.81,9.94l-3.75,-3.75L3,17.25zM20.71,7.04c0.39,-0.39 0.39,-1.02 0,-1.41l-2.34,-2.34c-0.39,-0.39 -1.02,-0.39 -1.41,0l-1.83,1.83 3.75,3.75 1.83,-1.83z" />
9</vector>
diff --git a/src/android/app/src/main/res/drawable/ic_mii.xml b/src/android/app/src/main/res/drawable/ic_mii.xml
new file mode 100644
index 000000000..1271ec401
--- /dev/null
+++ b/src/android/app/src/main/res/drawable/ic_mii.xml
@@ -0,0 +1,18 @@
1<vector xmlns:android="http://schemas.android.com/apk/res/android"
2 android:width="24dp"
3 android:height="24dp"
4 android:viewportWidth="24"
5 android:viewportHeight="24">
6 <path
7 android:fillColor="?attr/colorControlNormal"
8 android:pathData="M9,13m-1.25,0a1.25,1.25 0,1 1,2.5 0a1.25,1.25 0,1 1,-2.5 0" />
9 <path
10 android:fillColor="?attr/colorControlNormal"
11 android:pathData="M20.77,8.58l-0.92,2.01c0.09,0.46 0.15,0.93 0.15,1.41 0,4.41 -3.59,8 -8,8s-8,-3.59 -8,-8c0,-0.05 0.01,-0.1 0,-0.14 2.6,-0.98 4.69,-2.99 5.74,-5.55C11.58,8.56 14.37,10 17.5,10c0.45,0 0.89,-0.04 1.33,-0.1l-0.6,-1.32 -0.88,-1.93 -1.93,-0.88 -2.79,-1.27 2.79,-1.27 0.71,-0.32C14.87,2.33 13.47,2 12,2 6.48,2 2,6.48 2,12s4.48,10 10,10 10,-4.48 10,-10c0,-1.47 -0.33,-2.87 -0.9,-4.13l-0.33,0.71z" />
12 <path
13 android:fillColor="?attr/colorControlNormal"
14 android:pathData="M15,13m-1.25,0a1.25,1.25 0,1 1,2.5 0a1.25,1.25 0,1 1,-2.5 0" />
15 <path
16 android:fillColor="?attr/colorControlNormal"
17 android:pathData="M20.6,5.6L19.5,8l-1.1,-2.4L16,4.5l2.4,-1.1L19.5,1l1.1,2.4L23,4.5z" />
18</vector>
diff --git a/src/android/app/src/main/res/drawable/ic_refresh.xml b/src/android/app/src/main/res/drawable/ic_refresh.xml
new file mode 100644
index 000000000..d0d87ecc2
--- /dev/null
+++ b/src/android/app/src/main/res/drawable/ic_refresh.xml
@@ -0,0 +1,9 @@
1<vector xmlns:android="http://schemas.android.com/apk/res/android"
2 android:width="24dp"
3 android:height="24dp"
4 android:viewportWidth="24"
5 android:viewportHeight="24">
6 <path
7 android:fillColor="?attr/colorControlNormal"
8 android:pathData="M17.65,6.35C16.2,4.9 14.21,4 12,4c-4.42,0 -7.99,3.58 -7.99,8s3.57,8 7.99,8c3.73,0 6.84,-2.55 7.73,-6h-2.08c-0.82,2.33 -3.04,4 -5.65,4 -3.31,0 -6,-2.69 -6,-6s2.69,-6 6,-6c1.66,0 3.14,0.69 4.22,1.78L13,11h7V4l-2.35,2.35z" />
9</vector>
diff --git a/src/android/app/src/main/res/drawable/ic_restore.xml b/src/android/app/src/main/res/drawable/ic_restore.xml
new file mode 100644
index 000000000..d6d9d4017
--- /dev/null
+++ b/src/android/app/src/main/res/drawable/ic_restore.xml
@@ -0,0 +1,9 @@
1<vector xmlns:android="http://schemas.android.com/apk/res/android"
2 android:width="24dp"
3 android:height="24dp"
4 android:viewportWidth="24"
5 android:viewportHeight="24">
6 <path
7 android:fillColor="?attr/colorControlNormal"
8 android:pathData="M13,3c-4.97,0 -9,4.03 -9,9L1,12l3.89,3.89 0.07,0.14L9,12L6,12c0,-3.87 3.13,-7 7,-7s7,3.13 7,7 -3.13,7 -7,7c-1.93,0 -3.68,-0.79 -4.94,-2.06l-1.42,1.42C8.27,19.99 10.51,21 13,21c4.97,0 9,-4.03 9,-9s-4.03,-9 -9,-9zM12,8v5l4.28,2.54 0.72,-1.21 -3.5,-2.08L13.5,8L12,8z" />
9</vector>
diff --git a/src/android/app/src/main/res/layout/card_applet_option.xml b/src/android/app/src/main/res/layout/card_applet_option.xml
new file mode 100644
index 000000000..19fbec9f1
--- /dev/null
+++ b/src/android/app/src/main/res/layout/card_applet_option.xml
@@ -0,0 +1,57 @@
1<?xml version="1.0" encoding="utf-8"?>
2<com.google.android.material.card.MaterialCardView xmlns:android="http://schemas.android.com/apk/res/android"
3 xmlns:app="http://schemas.android.com/apk/res-auto"
4 xmlns:tools="http://schemas.android.com/tools"
5 style="?attr/materialCardViewOutlinedStyle"
6 android:layout_width="match_parent"
7 android:layout_height="wrap_content"
8 android:layout_marginHorizontal="16dp"
9 android:layout_marginVertical="12dp"
10 android:background="?attr/selectableItemBackground"
11 android:clickable="true"
12 android:focusable="true">
13
14 <LinearLayout
15 android:layout_width="match_parent"
16 android:layout_height="wrap_content"
17 android:orientation="horizontal"
18 android:layout_gravity="center"
19 android:padding="24dp">
20
21 <ImageView
22 android:id="@+id/icon"
23 android:layout_width="24dp"
24 android:layout_height="24dp"
25 android:layout_marginEnd="20dp"
26 android:layout_gravity="center_vertical"
27 app:tint="?attr/colorOnSurface" />
28
29 <LinearLayout
30 android:layout_width="0dp"
31 android:layout_height="wrap_content"
32 android:layout_weight="1"
33 android:orientation="vertical"
34 android:layout_gravity="center_vertical">
35
36 <com.google.android.material.textview.MaterialTextView
37 android:id="@+id/title"
38 style="@style/TextAppearance.Material3.TitleMedium"
39 android:layout_width="match_parent"
40 android:layout_height="wrap_content"
41 android:textAlignment="viewStart"
42 tools:text="@string/applets" />
43
44 <com.google.android.material.textview.MaterialTextView
45 android:id="@+id/description"
46 style="@style/TextAppearance.Material3.BodyMedium"
47 android:layout_width="match_parent"
48 android:layout_height="wrap_content"
49 android:layout_marginTop="6dp"
50 android:textAlignment="viewStart"
51 tools:text="@string/applets_description" />
52
53 </LinearLayout>
54
55 </LinearLayout>
56
57</com.google.android.material.card.MaterialCardView>
diff --git a/src/android/app/src/main/res/layout/card_game.xml b/src/android/app/src/main/res/layout/card_game.xml
index 1f5de219b..6340171ec 100644
--- a/src/android/app/src/main/res/layout/card_game.xml
+++ b/src/android/app/src/main/res/layout/card_game.xml
@@ -1,63 +1,54 @@
1<?xml version="1.0" encoding="utf-8"?> 1<?xml version="1.0" encoding="utf-8"?>
2<FrameLayout 2<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
3 xmlns:android="http://schemas.android.com/apk/res/android"
4 xmlns:app="http://schemas.android.com/apk/res-auto" 3 xmlns:app="http://schemas.android.com/apk/res-auto"
5 xmlns:tools="http://schemas.android.com/tools" 4 xmlns:tools="http://schemas.android.com/tools"
6 android:layout_width="match_parent" 5 android:layout_width="match_parent"
7 android:layout_height="wrap_content"> 6 android:layout_height="wrap_content">
8 7
9 <com.google.android.material.card.MaterialCardView 8 <com.google.android.material.card.MaterialCardView
10 style="?attr/materialCardViewElevatedStyle"
11 android:id="@+id/card_game" 9 android:id="@+id/card_game"
10 style="?attr/materialCardViewElevatedStyle"
12 android:layout_width="wrap_content" 11 android:layout_width="wrap_content"
13 android:layout_height="wrap_content" 12 android:layout_height="wrap_content"
13 android:layout_gravity="center"
14 android:background="?attr/selectableItemBackground" 14 android:background="?attr/selectableItemBackground"
15 android:clickable="true" 15 android:clickable="true"
16 android:clipToPadding="false" 16 android:clipToPadding="false"
17 android:focusable="true" 17 android:focusable="true"
18 android:transitionName="card_game" 18 android:transitionName="card_game"
19 android:layout_gravity="center" 19 app:cardCornerRadius="4dp"
20 app:cardElevation="0dp" 20 app:cardElevation="0dp">
21 app:cardCornerRadius="12dp">
22 21
23 <androidx.constraintlayout.widget.ConstraintLayout 22 <androidx.constraintlayout.widget.ConstraintLayout
24 android:layout_width="wrap_content" 23 android:layout_width="wrap_content"
25 android:layout_height="wrap_content" 24 android:layout_height="wrap_content"
26 android:padding="6dp"> 25 android:padding="6dp">
27 26
28 <com.google.android.material.card.MaterialCardView 27 <com.google.android.material.imageview.ShapeableImageView
29 style="?attr/materialCardViewElevatedStyle" 28 android:id="@+id/image_game_screen"
30 android:id="@+id/card_game_art"
31 android:layout_width="150dp" 29 android:layout_width="150dp"
32 android:layout_height="150dp" 30 android:layout_height="150dp"
33 app:cardCornerRadius="4dp"
34 app:layout_constraintEnd_toEndOf="parent" 31 app:layout_constraintEnd_toEndOf="parent"
35 app:layout_constraintStart_toStartOf="parent" 32 app:layout_constraintStart_toStartOf="parent"
36 app:layout_constraintTop_toTopOf="parent"> 33 app:layout_constraintTop_toTopOf="parent"
37 34 app:shapeAppearance="@style/ShapeAppearance.Material3.Corner.ExtraSmall"
38 <ImageView 35 tools:src="@drawable/default_icon" />
39 android:id="@+id/image_game_screen"
40 android:layout_width="match_parent"
41 android:layout_height="match_parent"
42 tools:src="@drawable/default_icon" />
43
44 </com.google.android.material.card.MaterialCardView>
45 36
46 <com.google.android.material.textview.MaterialTextView 37 <com.google.android.material.textview.MaterialTextView
47 style="@style/TextAppearance.Material3.TitleMedium"
48 android:id="@+id/text_game_title" 38 android:id="@+id/text_game_title"
39 style="@style/TextAppearance.Material3.TitleMedium"
49 android:layout_width="0dp" 40 android:layout_width="0dp"
50 android:layout_height="wrap_content" 41 android:layout_height="wrap_content"
51 android:layout_marginTop="8dp" 42 android:layout_marginTop="8dp"
52 android:textAlignment="center"
53 android:textSize="14sp"
54 android:singleLine="true"
55 android:marqueeRepeatLimit="marquee_forever"
56 android:ellipsize="none" 43 android:ellipsize="none"
44 android:marqueeRepeatLimit="marquee_forever"
57 android:requiresFadingEdge="horizontal" 45 android:requiresFadingEdge="horizontal"
58 app:layout_constraintEnd_toEndOf="@+id/card_game_art" 46 android:singleLine="true"
59 app:layout_constraintStart_toStartOf="@+id/card_game_art" 47 android:textAlignment="center"
60 app:layout_constraintTop_toBottomOf="@+id/card_game_art" 48 android:textSize="14sp"
49 app:layout_constraintEnd_toEndOf="@+id/image_game_screen"
50 app:layout_constraintStart_toStartOf="@+id/image_game_screen"
51 app:layout_constraintTop_toBottomOf="@+id/image_game_screen"
61 tools:text="The Legend of Zelda: Skyward Sword" /> 52 tools:text="The Legend of Zelda: Skyward Sword" />
62 53
63 </androidx.constraintlayout.widget.ConstraintLayout> 54 </androidx.constraintlayout.widget.ConstraintLayout>
diff --git a/src/android/app/src/main/res/layout/dialog_list.xml b/src/android/app/src/main/res/layout/dialog_list.xml
new file mode 100644
index 000000000..7de2b2c3a
--- /dev/null
+++ b/src/android/app/src/main/res/layout/dialog_list.xml
@@ -0,0 +1,15 @@
1<?xml version="1.0" encoding="utf-8"?>
2<androidx.appcompat.widget.LinearLayoutCompat xmlns:android="http://schemas.android.com/apk/res/android"
3 android:layout_width="match_parent"
4 android:layout_height="wrap_content">
5
6 <androidx.recyclerview.widget.RecyclerView
7 android:id="@+id/dialog_list"
8 android:layout_width="match_parent"
9 android:layout_height="wrap_content"
10 android:clipToPadding="false"
11 android:fadeScrollbars="false"
12 android:paddingVertical="12dp"
13 android:scrollbars="vertical" />
14
15</androidx.appcompat.widget.LinearLayoutCompat>
diff --git a/src/android/app/src/main/res/layout/dialog_list_item.xml b/src/android/app/src/main/res/layout/dialog_list_item.xml
new file mode 100644
index 000000000..39f3558ff
--- /dev/null
+++ b/src/android/app/src/main/res/layout/dialog_list_item.xml
@@ -0,0 +1,30 @@
1<?xml version="1.0" encoding="utf-8"?>
2<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
3 xmlns:tools="http://schemas.android.com/tools"
4 android:layout_width="match_parent"
5 android:layout_height="wrap_content"
6 android:background="?attr/selectableItemBackground"
7 android:clickable="true"
8 android:focusable="true"
9 android:orientation="horizontal"
10 android:paddingHorizontal="24dp"
11 android:paddingVertical="16dp">
12
13 <ImageView
14 android:id="@+id/icon"
15 android:layout_width="20dp"
16 android:layout_height="20dp"
17 android:layout_gravity="center"
18 tools:src="@drawable/ic_nfc" />
19
20 <com.google.android.material.textview.MaterialTextView
21 android:id="@+id/title"
22 style="@style/TextAppearance.Material3.BodyMedium"
23 android:layout_width="match_parent"
24 android:layout_height="wrap_content"
25 android:layout_marginStart="16dp"
26 android:layout_gravity="center_vertical|start"
27 android:textAlignment="viewStart"
28 tools:text="List option" />
29
30</LinearLayout>
diff --git a/src/android/app/src/main/res/layout/fragment_applet_launcher.xml b/src/android/app/src/main/res/layout/fragment_applet_launcher.xml
new file mode 100644
index 000000000..fe8fae40f
--- /dev/null
+++ b/src/android/app/src/main/res/layout/fragment_applet_launcher.xml
@@ -0,0 +1,31 @@
1<?xml version="1.0" encoding="utf-8"?>
2<androidx.coordinatorlayout.widget.CoordinatorLayout xmlns:android="http://schemas.android.com/apk/res/android"
3 xmlns:app="http://schemas.android.com/apk/res-auto"
4 android:id="@+id/coordinator_applets"
5 android:layout_width="match_parent"
6 android:layout_height="match_parent"
7 android:background="?attr/colorSurface">
8
9 <com.google.android.material.appbar.AppBarLayout
10 android:id="@+id/appbar_applets"
11 android:layout_width="match_parent"
12 android:layout_height="wrap_content"
13 android:fitsSystemWindows="true">
14
15 <com.google.android.material.appbar.MaterialToolbar
16 android:id="@+id/toolbar_applets"
17 android:layout_width="match_parent"
18 android:layout_height="?attr/actionBarSize"
19 app:navigationIcon="@drawable/ic_back"
20 app:title="@string/applets" />
21
22 </com.google.android.material.appbar.AppBarLayout>
23
24 <androidx.recyclerview.widget.RecyclerView
25 android:id="@+id/list_applets"
26 android:layout_width="match_parent"
27 android:layout_height="match_parent"
28 android:clipToPadding="false"
29 app:layout_behavior="@string/appbar_scrolling_view_behavior" />
30
31</androidx.coordinatorlayout.widget.CoordinatorLayout>
diff --git a/src/android/app/src/main/res/navigation/home_navigation.xml b/src/android/app/src/main/res/navigation/home_navigation.xml
index 82749359d..6d4c1f86d 100644
--- a/src/android/app/src/main/res/navigation/home_navigation.xml
+++ b/src/android/app/src/main/res/navigation/home_navigation.xml
@@ -25,6 +25,9 @@
25 <action 25 <action
26 android:id="@+id/action_homeSettingsFragment_to_driverManagerFragment" 26 android:id="@+id/action_homeSettingsFragment_to_driverManagerFragment"
27 app:destination="@id/driverManagerFragment" /> 27 app:destination="@id/driverManagerFragment" />
28 <action
29 android:id="@+id/action_homeSettingsFragment_to_appletLauncherFragment"
30 app:destination="@id/appletLauncherFragment" />
28 </fragment> 31 </fragment>
29 32
30 <fragment 33 <fragment
@@ -102,5 +105,17 @@
102 android:id="@+id/driverManagerFragment" 105 android:id="@+id/driverManagerFragment"
103 android:name="org.yuzu.yuzu_emu.fragments.DriverManagerFragment" 106 android:name="org.yuzu.yuzu_emu.fragments.DriverManagerFragment"
104 android:label="DriverManagerFragment" /> 107 android:label="DriverManagerFragment" />
108 <fragment
109 android:id="@+id/appletLauncherFragment"
110 android:name="org.yuzu.yuzu_emu.fragments.AppletLauncherFragment"
111 android:label="AppletLauncherFragment" >
112 <action
113 android:id="@+id/action_appletLauncherFragment_to_cabinetLauncherDialogFragment"
114 app:destination="@id/cabinetLauncherDialogFragment" />
115 </fragment>
116 <dialog
117 android:id="@+id/cabinetLauncherDialogFragment"
118 android:name="org.yuzu.yuzu_emu.fragments.CabinetLauncherDialogFragment"
119 android:label="CabinetLauncherDialogFragment" />
105 120
106</navigation> 121</navigation>
diff --git a/src/android/app/src/main/res/resources.properties b/src/android/app/src/main/res/resources.properties
new file mode 100644
index 000000000..467b3efec
--- /dev/null
+++ b/src/android/app/src/main/res/resources.properties
@@ -0,0 +1 @@
unqualifiedResLocale=en-US
diff --git a/src/android/app/src/main/res/values-ar/strings.xml b/src/android/app/src/main/res/values-ar/strings.xml
new file mode 100644
index 000000000..07dffffe8
--- /dev/null
+++ b/src/android/app/src/main/res/values-ar/strings.xml
@@ -0,0 +1,385 @@
1<?xml version="1.0" encoding="utf-8"?>
2<resources xmlns:tools="http://schemas.android.com/tools" tools:ignore="MissingTranslation">
3
4 <string name="emulation_notification_channel_name">المحاكي نشط</string>
5 <string name="emulation_notification_channel_description">اظهار اشعار دائم عندما يكون المحاكي نشطاً</string>
6 <string name="emulation_notification_running">يوزو يعمل</string>
7 <string name="notice_notification_channel_name">الإشعارات والأخطاء</string>
8 <string name="notice_notification_channel_description">اظهار اشعار عند حصول اي مشكلة.</string>
9 <string name="notification_permission_not_granted">لم يتم منح إذن الإشعار</string>
10
11 <!-- Setup strings -->
12 <string name="welcome">مرحبًا</string>
13 <string name="welcome_description">والانتقال إلى المحاكاة <b>يوزو</b> تعر٠على كيÙية إعداد.</string>
14 <string name="get_started">لنبدأ</string>
15 <string name="keys">Ø§Ù„Ù…ÙØ§ØªÙŠØ­</string>
16 <string name="keys_description">اختر مل٠&lt;b>prod.keys&lt;/b> من الزر ادناه</string>
17 <string name="select_keys">إختيار Ø§Ù„Ù…ÙØ§ØªÙŠØ­</string>
18 <string name="games">الألعاب</string>
19 <string name="games_description">اختر مجلد &lt;b>العابك&lt;/b> من الزر ادناه.</string>
20 <string name="done">إنهاء</string>
21 <string name="done_description">كل شيء جاهز./n استمتع بألعابك!</string>
22 <string name="text_continue">استمر</string>
23 <string name="next">التالي</string>
24 <string name="back">عودة</string>
25 <string name="add_games">Ø¥Ø¶Ø§ÙØ© ألعاب</string>
26 <string name="add_games_description">إختار مجلد ألعابك</string>
27 <string name="step_complete">مكتمل</string>
28
29 <!-- Home strings -->
30 <string name="home_games">الألعاب</string>
31 <string name="home_search">البحث</string>
32 <string name="home_settings">الإعدادات</string>
33 <string name="empty_gamelist">لم يتم العثور على Ù…Ù„ÙØ§Øª او لم يتم تحديد مسار العاب.</string>
34 <string name="search_and_filter_games">بحث وتصÙية الألعاب</string>
35 <string name="select_games_folder">تحديد مجلد الألعاب</string>
36 <string name="select_games_folder_description">يسمح لـ يوزو بملء قائمة الألعاب</string>
37 <string name="add_games_warning">تخط٠اختيار مجلد الالعاب؟</string>
38 <string name="add_games_warning_description">لن يتم عرض الألعاب ÙÙŠ قائمة الألعاب إذا لم يتم تحديد مجلد</string>
39 <string name="add_games_warning_help">https://yuzu-emu.org/help/quickstart/#dumping-games</string>
40 <string name="home_search_games">البحث عن ألعاب</string>
41 <string name="search_settings">إعدادات البحث</string>
42 <string name="games_dir_selected">تم تحديد مجلد الألعاب</string>
43 <string name="install_prod_keys">تثبيت prod.keys</string>
44 <string name="install_prod_keys_description">مطلوب Ù„ÙÙƒ تشÙير ألعاب البيع بالتجزئة</string>
45 <string name="install_prod_keys_warning">تخطي Ø¥Ø¶Ø§ÙØ© Ø§Ù„Ù…ÙØ§ØªÙŠØ­ØŸ</string>
46 <string name="install_prod_keys_warning_description">مطلوب Ù…ÙØ§ØªÙŠØ­ صالحة لمحاكاة ألعاب البيع بالتجزئة. ستعمل تطبيقات البيرة المنزلية Ùقط إذا تابعت</string>
47 <string name="install_prod_keys_warning_help">https://yuzu-emu.org/help/quickstart/#guide-introduction</string>
48 <string name="notifications">التنبيهات</string>
49 <string name="notifications_description">امنح إذن الإشعار باستخدام الزر أدناه</string>
50 <string name="give_permission">منح الإذن</string>
51 <string name="notification_warning">تخطي منح إذن الإشعارات؟</string>
52 <string name="notification_warning_description">لن يتمكن يوزو من إشعارك بالمعلومات المهمة</string>
53 <string name="permission_denied">تم Ø±ÙØ¶ الإذن</string>
54 <string name="permission_denied_description">لقد Ø±ÙØ¶Øª هذا الإذن عدة مرات ويتعين عليك الآن منحه يدويًا ÙÙŠ إعدادات النظام</string>
55 <string name="about">حول</string>
56 <string name="about_description">بناء الإصدار، والاعتمادات، وأكثر من ذلك</string>
57 <string name="warning_help">مساعدة</string>
58 <string name="warning_skip">تخطي</string>
59 <string name="warning_cancel">إلغاء</string>
60 <string name="install_amiibo_keys">تثبيت Ù…ÙØ§ØªÙŠØ­ أميبو</string>
61 <string name="install_amiibo_keys_description">مطلوب لاستخدام أميبو ÙÙŠ اللعبة</string>
62 <string name="invalid_keys_file">تم تحديد Ù…Ù„Ù Ù…ÙØ§ØªÙŠØ­ غير صالح</string>
63 <string name="install_keys_success">تم تثبيت Ø§Ù„Ù…ÙØ§ØªÙŠØ­ بنجاح</string>
64 <string name="reading_keys_failure">خطأ ÙÙŠ قراءة Ù…ÙØ§ØªÙŠØ­ التشÙير</string>
65 <string name="invalid_keys_error">Ù…ÙØ§ØªÙŠØ­ التشÙير غير صالحة</string>
66 <string name="dumping_keys_quickstart_link">https://yuzu-emu.org/help/quickstart/#dumping-decryption-keys</string>
67 <string name="install_keys_failure_description">المل٠المحدد غير صحيح أو تالÙ. يرجى إعادة Ø§Ù„Ù…ÙØ§ØªÙŠØ­ الخاصة بك</string>
68 <string name="install_gpu_driver">GPU تثبيت برنامج تشغيل</string>
69 <string name="install_gpu_driver_description">قم بتثبيت برامج تشغيل بديلة للحصول على أداء أو دقة Ø£ÙØ¶Ù„</string>
70 <string name="advanced_settings">إعدادات متقدمة</string>
71 <string name="advanced_settings_game">إعدادات متقدمة: %1$s</string>
72 <string name="settings_description">تكوين إعدادات المحاكي</string>
73 <string name="search_recently_played">لعبت مؤخرا</string>
74 <string name="search_recently_added">أضي٠مؤخرا</string>
75 <string name="search_retail">بيع بالتجزئة</string>
76 <string name="search_homebrew">البيرة المنزلية</string>
77 <string name="open_user_folder">ÙØªØ­ مجلد يوزو</string>
78 <string name="open_user_folder_description">إدارة Ù…Ù„ÙØ§Øª يوزو الداخلية</string>
79 <string name="theme_and_color_description">تعديل مظهر التطبيق</string>
80 <string name="no_file_manager">لم يتم العثور على مدير Ø§Ù„Ù…Ù„ÙØ§Øª</string>
81 <string name="notification_no_directory_link">لا يمكن ÙØªØ­ مجلد يوزو</string>
82 <string name="notification_no_directory_link_description">الرجاء تحديد موقع مجلد المستخدم باستخدام اللوحة الجانبية لمدير Ø§Ù„Ù…Ù„ÙØ§Øª يدويًا</string>
83 <string name="manage_save_data">إدارة Ø­ÙØ¸ البيانات</string>
84 <string name="manage_save_data_description">Ø­ÙØ¸ البيانات التي تم العثور عليها. يرجى اختيار أحد الخيارات التالية</string>
85 <string name="import_export_saves_description">استيراد أو تصدير Ù…Ù„ÙØ§Øª Ø§Ù„Ø­ÙØ¸</string>
86 <string name="save_file_imported_success">تم الاستيراد بنجاح</string>
87 <string name="save_file_invalid_zip_structure">بنية مجلد Ø§Ù„Ø­ÙØ¸ غير صالحة</string>
88 <string name="save_file_invalid_zip_structure_description">يجب أن يكون اسم المجلد Ø§Ù„ÙØ±Ø¹ÙŠ Ø§Ù„Ø£ÙˆÙ„ هو معر٠عنوان اللعبة.</string>
89 <string name="import_saves">استيراد</string>
90 <string name="export_saves">تصدير</string>
91 <string name="install_firmware">تثبيت البرامج الثابتة</string>
92 <string name="firmware_installing">تثبيت البرامج الثابتة</string>
93 <string name="firmware_installed_success">تم تثبيت البرامج الثابتة بنجاح</string>
94 <string name="firmware_installed_failure">ÙØ´Ù„ تثبيت البرامج الثابتة</string>
95 <string name="share_log">مشاركة سجلات التصحيح</string>
96 <string name="share_log_description">مشاركة مل٠سجل يوزو لتصحيح المشكلات</string>
97 <string name="share_log_missing">لم يتم العثور على مل٠السجل</string>
98 <string name="install_game_content">تثبيت محتوى اللعبة</string>
99 <string name="install_game_content_description">DLC قم بتثبيت تحديثات اللعبة أو</string>
100 <string name="installing_game_content">جار٠تثبيت المحتوى</string>
101 <string name="install_game_content_failure_base">لا ÙŠÙØ³Ù…Ø­ بتثبيت الألعاب الأساسية لتجنب التعارضات المحتملة.</string>
102 <string name="install_game_content_success_install">%1$d تم التثبيت بنجاح</string>
103 <string name="install_game_content_success_overwrite">%1$d تمت الكتابة Ùوقه بنجاح</string>
104 <string name="install_game_content_help_link">https://yuzu-emu.org/help/quickstart/#dumping-installed-updates</string>
105 <string name="custom_driver_not_supported">برامج التشغيل المخصصة غير مدعومة</string>
106 <string name="custom_driver_not_supported_description">تحميل برنامج التشغيل المخصص غير معتمد حاليًا لهذا الجهاز.\nحدد هذا الخيار مرة أخرى ÙÙŠ المستقبل Ù„Ù…Ø¹Ø±ÙØ© ما إذا تمت Ø¥Ø¶Ø§ÙØ© الدعم!</string>
107 <string name="manage_yuzu_data">إدارة بيانات يوزو</string>
108 <string name="manage_yuzu_data_description">استيراد/تصدير البرامج الثابتة ÙˆØ§Ù„Ù…ÙØ§ØªÙŠØ­ وبيانات المستخدم والمزيد!</string>
109 <string name="share_save_file">مشاركة Ù…Ù„Ù Ø§Ù„Ø­ÙØ¸</string>
110 <string name="export_save_failed">ÙØ´Ù„ تصدير Ø§Ù„Ø­ÙØ¸</string>
111
112 <string name="copied_to_clipboard">نسخ إلى Ø§Ù„Ø­Ø§ÙØ¸Ø©</string>
113 <string name="about_app_description">محاكي سويتش Ù…ÙØªÙˆØ­ المصدر</string>
114 <string name="contributors">المساهمين</string>
115 <string name="contributors_link">https://github.com/yuzu-emu/yuzu/graphs/contributors</string>
116 <string name="licenses_description">المشاريع التي تجعل تطبيق يوزو لنظام أندرويد ممكنًا</string>
117 <string name="build">البناء</string>
118 <string name="user_data">بيانات المستخدم</string>
119 <string name="exporting_user_data">جار٠تصدير بيانات المستخدم</string>
120 <string name="importing_user_data">جار٠استيراد بيانات المستخدم</string>
121 <string name="import_user_data">استيراد بيانات المستخدم</string>
122 <string name="invalid_yuzu_backup">نسخة احتياطية يوزو غير صالحة</string>
123 <string name="user_data_export_success">تم تصدير بيانات المستخدم بنجاح</string>
124 <string name="user_data_import_success">تم استيراد بيانات المستخدم بنجاح</string>
125 <string name="user_data_export_cancelled">تم إلغاء التصدير</string>
126 <string name="support_link">https://discord.gg/u77vRWY</string>
127 <string name="website_link">https://yuzu-emu.org/</string>
128 <string name="github_link">https://github.com/yuzu-emu</string>
129
130 <!-- Early access upgrade strings -->
131 <string name="early_access">الوصول المبكر</string>
132 <string name="get_early_access">احصل على الوصول المبكر</string>
133 <string name="play_store_link">https://play.google.com/store/apps/details?id=org.yuzu.yuzu_emu.ea</string>
134 <string name="get_early_access_description">الميزات المتطورة، والوصول المبكر إلى التحديثات، وأكثر من ذلك</string>
135 <string name="early_access_benefits">مزايا الوصول المبكر</string>
136 <string name="cutting_edge_features">ميزات متطورة</string>
137 <string name="early_access_updates">الوصول المبكر إلى التحديثات</string>
138 <string name="no_manual_installation">لا يوجد التثبيت اليدوي</string>
139 <string name="prioritized_support">الدعم ذو الأولوية</string>
140 <string name="helping_game_preservation">المساعدة ÙÙŠ Ø§Ù„Ø­ÙØ§Ø¸ على اللعبة</string>
141 <string name="our_eternal_gratitude">امتناننا الأبدي</string>
142 <string name="are_you_interested">هل انت مهتم؟</string>
143
144 <!-- General settings strings -->
145 <string name="frame_limit_enable">الحد من السرعة</string>
146 <string name="frame_limit_enable_description">يحد من سرعة المحاكاة بنسبة محددة من السرعة العادية</string>
147 <string name="frame_limit_slider">الحد من السرعة ÙÙŠ المئة</string>
148 <string name="frame_limit_slider_description">يحدد النسبة المئوية للحد من سرعة المحاكاة. 100% هي السرعة الطبيعية. ستؤدي القيم الأعلى أو الأدنى إلى زيادة أو تقليل حد السرعة.</string>
149 <string name="cpu_accuracy">دقة وحدة المعالجة المركزية</string>
150 <string name="value_with_units">%1$s%2$s</string>
151
152 <!-- System settings strings -->
153 <string name="use_docked_mode">وضع الإرساء</string>
154 <string name="use_docked_mode_description">زيادة الدقة، ÙˆØ§Ù†Ø®ÙØ§Ø¶ الأداء. يتم استخدام الوضع المحمول عند تعطيله، مما يؤدي إلى Ø®ÙØ¶ الدقة وزيادة الأداء.</string>
155 <string name="emulated_region">المنطقة التي تمت محاكاتها</string>
156 <string name="emulated_language">لغة المحاكاه</string>
157 <string name="select_rtc_date">حدد التاريخ Ùˆ الساعة ÙÙŠ الوقت الحقيقي</string>
158 <string name="select_rtc_time">حدد وقت الساعة ÙÙŠ الوقت Ø§Ù„ÙØ¹Ù„ÙŠ</string>
159 <string name="use_custom_rtc">ساعة مخصصة ÙÙŠ الوقت الحقيقي</string>
160 <string name="use_custom_rtc_description">يسمح لك بتعيين ساعة مخصصة ÙÙŠ الوقت Ø§Ù„ÙØ¹Ù„ÙŠ Ù…Ù†ÙØµÙ„Ø© عن وقت النظام الحالي لديك</string>
161 <string name="set_custom_rtc">تعيين ساعة مخصصة ÙÙŠ الوقت الحقيقي</string>
162
163 <!-- Graphics settings strings -->
164 <string name="renderer_accuracy">مستوى الدقة</string>
165 <string name="renderer_resolution">(Handheld/Docked) الدقة</string>
166 <string name="renderer_vsync">VSync وضع</string>
167 <string name="renderer_screen_layout">الاتجاه</string>
168 <string name="renderer_aspect_ratio">تناسب الابعاد</string>
169 <string name="renderer_anti_aliasing">طريقة Ù…ÙƒØ§ÙØ­Ø© التعرج</string>
170 <string name="renderer_asynchronous_shaders">استخدم تظليل غير متزامن</string>
171 <string name="renderer_asynchronous_shaders_description">يجمع التظليل بشكل غير متزامن، مما يقلل من التأتأة ولكنه قد يؤدي إلى حدوث بعض الأخطاء.</string>
172 <string name="renderer_reactive_flushing">استخدم Ø§Ù„ØªÙ†Ø¸ÙŠÙ Ø§Ù„ØªÙØ§Ø¹Ù„ÙŠ</string>
173 <string name="renderer_reactive_flushing_description">تحسين دقة العرض ÙÙŠ بعض الألعاب على حساب الأداء</string>
174 <string name="use_disk_shader_cache_description">يقلل من التأتأة عن طريق تخزين وتحميل التظليلات التي تم إنشاؤها محليًا.</string>
175
176 <!-- Debug settings strings -->
177 <string name="cpu">وحدة المعالج المركزية</string>
178 <string name="cpu_debug_mode">تصحيح أخطاء وحدة المعالجة المركزية</string>
179 <string name="cpu_debug_mode_description">يضع وحدة المعالجة المركزية ÙÙŠ وضع التصحيح البطيء.</string>
180 <string name="gpu">GPU</string>
181 <string name="renderer_api">API</string>
182 <string name="renderer_debug">تصحيح الأخطاء الرسومية</string>
183 <string name="renderer_debug_description">يضبط واجهة برمجة تطبيقات الرسومات على وضع تصحيح الأخطاء البطيء.</string>
184 <string name="fastmem">Fastmem</string>
185
186 <!-- Audio settings strings -->
187 <string name="audio_output_engine">محرك الإخراج</string>
188 <string name="audio_volume">حجم</string>
189 <string name="audio_volume_description">يحدد حجم إخراج الصوت</string>
190
191 <!-- Miscellaneous -->
192 <string name="slider_default">Ø§ÙØªØ±Ø§Ø¶ÙŠ</string>
193 <string name="ini_saved">الإعدادات المحÙوظة</string>
194 <string name="gameid_saved">الإعدادات المحÙوظة لـ %1$s</string>
195 <string name="unimplemented_menu">القائمة غير Ø§Ù„Ù…Ù†ÙØ°Ø©</string>
196 <string name="loading">جاري تحميل</string>
197 <string name="shutting_down">إيقا٠تشغيل</string>
198 <string name="reset_setting_confirmation">هل تريد إعادة تعيين هذا الإعداد مرة أخرى إلى قيمته Ø§Ù„Ø§ÙØªØ±Ø§Ø¶ÙŠØ©ØŸ</string>
199 <string name="reset_to_default">إعادة تعيين إلى Ø§Ù„Ø§ÙØªØ±Ø§Ø¶ÙŠ</string>
200 <string name="reset_all_settings">إعادة تعيين جميع الإعدادات؟</string>
201 <string name="reset_all_settings_description">سيتم إعادة تعيين ÙƒØ§ÙØ© الإعدادات المتقدمة إلى تكوينها Ø§Ù„Ø§ÙØªØ±Ø§Ø¶ÙŠ. هذا لا يمكن التراجع عنها.</string>
202 <string name="settings_reset">إعادة تعيين الأعدادات</string>
203 <string name="close">إغلاق</string>
204 <string name="learn_more">Ù…Ø¹Ø±ÙØ© المزيد</string>
205 <string name="auto">تلقائي</string>
206 <string name="submit">إرسال</string>
207 <string name="string_null">قيمه خاليه</string>
208 <string name="string_import">استيراد</string>
209 <string name="export">تصدير</string>
210 <string name="export_failed">ÙØ´Ù„ التصدير</string>
211 <string name="import_failed">ÙØ´Ù„ الاستيراد</string>
212 <string name="cancelling">إلغاء</string>
213
214 <!-- GPU driver installation -->
215 <string name="select_gpu_driver">GPU حدد برنامج تشغيل</string>
216 <string name="select_gpu_driver_title">الحالي الخاص بك؟ GPU هل ترغب ÙÙŠ استبدال برنامج تشغيل</string>
217 <string name="select_gpu_driver_install">تثبيت</string>
218 <string name="select_gpu_driver_default">Ø§ÙØªØ±Ø§Ø¶ÙŠ</string>
219 <string name="select_gpu_driver_use_default">يستخدم تعري٠معالج الرسوميات Ø§Ù„Ø§ÙØªØ±Ø§Ø¶ÙŠ</string>
220 <string name="select_gpu_driver_error">تم تحديد برنامج تشغيل غير صالح ØŒ باستخدام النظام Ø§Ù„Ø§ÙØªØ±Ø§Ø¶ÙŠ</string>
221 <string name="system_gpu_driver">تعري٠معالج الرسوميات الخاص بالنظام</string>
222 <string name="installing_driver">جار٠تثبيت برنامج التشغيل…</string>
223
224 <!-- Preferences Screen -->
225 <string name="preferences_settings">إعدادات</string>
226 <string name="preferences_general">عام</string>
227 <string name="preferences_system">النظام</string>
228 <string name="preferences_graphics">الرسوميات</string>
229 <string name="preferences_audio">الصوت</string>
230 <string name="preferences_theme">السمة واللون</string>
231 <string name="preferences_debug">تصحيح الأخطاء</string>
232
233 <!-- ROM loading errors -->
234 <string name="loader_error_encrypted">الخاص بك ROM تم تشÙير</string>
235 <string name="loader_error_video_core">حدث خطأ أثناء تهيئة مركز الÙيديو</string>
236 <string name="loader_error_invalid_format">ROM غير قادر على تحميل</string>
237 <string name="loader_error_file_not_found">غير موجود ROM ملÙ</string>
238
239 <!-- Emulation Menu -->
240 <string name="emulation_exit">الخروج من المحاكاة</string>
241 <string name="emulation_done">منجز</string>
242 <string name="emulation_fps_counter">عداد إطار/ثانية</string>
243 <string name="emulation_toggle_controls">تبديل عناصر التحكم</string>
244 <string name="emulation_rel_stick_center">مركز العصا النسبي</string>
245 <string name="emulation_dpad_slide">مزلاق أزرار الاتجاهات</string>
246 <string name="emulation_haptics">الاهتزازات الديناميكية</string>
247 <string name="emulation_show_overlay">عرض التراكب</string>
248 <string name="emulation_toggle_all">تبديل الكل</string>
249 <string name="emulation_control_adjust">ضبط التراكب</string>
250 <string name="emulation_control_scale">حجم</string>
251 <string name="emulation_control_opacity">العتامه</string>
252 <string name="emulation_touch_overlay_reset">إعادة تعيين التراكب</string>
253 <string name="emulation_touch_overlay_edit">تحرير التراكب</string>
254 <string name="emulation_pause">إيقا٠المحاكاة مؤقتًا</string>
255 <string name="emulation_unpause">إلغاء الإيقا٠المؤقت للمضاهاة</string>
256 <string name="emulation_input_overlay">خيارات التراكب</string>
257
258 <string name="load_settings">جار٠تحميل الإعدادات</string>
259
260 <!-- Software keyboard -->
261 <string name="software_keyboard">لوحة Ø§Ù„Ù…ÙØ§ØªÙŠØ­ البرمجية</string>
262
263 <!-- Errors and warnings -->
264 <string name="abort_button">إلغاء</string>
265 <string name="continue_button">استمر</string>
266 <string name="system_archive_not_found">لم يتم العثور على أرشي٠النظام</string>
267 <string name="system_archive_general">أرشي٠النظام</string>
268 <string name="save_load_error">خطأ ÙÙŠ Ø§Ù„Ø­ÙØ¸/التحميل</string>
269 <string name="fatal_error">خطا ÙØ§Ø¯Ø­</string>
270 <string name="performance_warning">سيؤدي إيقا٠تشغيل هذا الإعداد إلى تقليل أداء المحاكاة بشكل ملحوظ! للحصول على Ø£ÙØ¶Ù„ تجربة، يوصى بترك هذا الإعداد ممكنًا.</string>
271 <string name="memory_formatted">%1$s %2$s</string>
272 <string name="no_game_present">لا توجد لعبة قابلة للتمهيد</string>
273
274 <!-- Region Names -->
275 <string name="region_japan">اليابان</string>
276 <string name="region_usa">الولايات المتحدة الأمريكية</string>
277 <string name="region_europe">أوروبا</string>
278 <string name="region_australia">أستراليا</string>
279 <string name="region_china">الصين</string>
280 <string name="region_korea">كوريا</string>
281 <string name="region_taiwan">تايوان</string>
282
283 <!-- Memory Sizes -->
284 <string name="memory_byte">Byte</string>
285 <string name="memory_kilobyte">KB</string>
286 <string name="memory_megabyte">MB</string>
287 <string name="memory_gigabyte">GB</string>
288 <string name="memory_terabyte">TB</string>
289 <string name="memory_petabyte">PB</string>
290 <string name="memory_exabyte">EB</string>
291
292 <!-- Renderer APIs -->
293 <string name="renderer_vulkan">Vulkan</string>
294 <string name="renderer_none">لاشيء</string>
295
296 <!-- Renderer Accuracy -->
297 <string name="renderer_accuracy_normal">عادي</string>
298 <string name="renderer_accuracy_high">عالي</string>
299 <string name="renderer_accuracy_extreme">Extreme (بطيء)</string>
300
301 <!-- Resolutions -->
302 <string name="resolution_half">0.5X (360p/540p)</string>
303 <string name="resolution_three_quarter">0.75X (540p/810p)</string>
304 <string name="resolution_one">1X (720p/1080p)</string>
305 <string name="resolution_two">2X (1440p/2160p) (بطيء)</string>
306 <string name="resolution_three">3X (2160p/3240p) (بطيء)</string>
307 <string name="resolution_four">4X (2880p/4320p) (بطيء)</string>
308
309 <!-- Renderer VSync -->
310 <string name="renderer_vsync_immediate">Immediate (Off)</string>
311 <string name="renderer_vsync_mailbox">Mailbox</string>
312 <string name="renderer_vsync_fifo">FIFO (On)</string>
313 <string name="renderer_vsync_fifo_relaxed">FIFO Relaxed</string>
314
315 <!-- Scaling Filters -->
316 <string name="scaling_filter_nearest_neighbor">Nearest Neighbor</string>
317 <string name="scaling_filter_bilinear">Bilinear</string>
318 <string name="scaling_filter_bicubic">Bicubic</string>
319 <string name="scaling_filter_gaussian">Gaussian</string>
320 <string name="scaling_filter_scale_force">ScaleForce</string>
321 <string name="scaling_filter_fsr">AMD FidelityFXâ„¢ Super Resolution</string>
322
323 <!-- Anti-Aliasing -->
324 <string name="anti_aliasing_none">لا شيء</string>
325 <string name="anti_aliasing_fxaa">FXAA</string>
326 <string name="anti_aliasing_smaa">SMAA</string>
327
328 <!-- Screen Layouts -->
329 <string name="screen_layout_landscape">اÙقي</string>
330 <string name="screen_layout_portrait">عمودي</string>
331 <string name="screen_layout_auto">تلقائي</string>
332
333 <!-- Aspect Ratios -->
334 <string name="ratio_default">(16:9) Ø§ÙØªØ±Ø§Ø¶ÙŠ</string>
335 <string name="ratio_force_four_three">4:3 ÙØ±Ø¶</string>
336 <string name="ratio_force_twenty_one_nine">21:9 ÙØ±Ø¶</string>
337 <string name="ratio_force_sixteen_ten">16:10 ÙØ±Ø¶</string>
338 <string name="ratio_stretch">تمتد إلى Ø§Ù„Ù†Ø§ÙØ°Ø©</string>
339
340 <!-- CPU Accuracy -->
341 <string name="cpu_accuracy_accurate">دقه</string>
342 <string name="cpu_accuracy_unsafe">غير آمن</string>
343 <string name="cpu_accuracy_paranoid">Paranoid (Slow)</string>
344
345 <!-- Gamepad Buttons -->
346 <string name="gamepad_d_pad">أزرار الاتجاهات</string>
347 <string name="gamepad_left_stick">العصا اليسرى</string>
348 <string name="gamepad_right_stick">العصا اليمنى</string>
349 <string name="gamepad_home">شاشة الإستقبال</string>
350 <string name="gamepad_screenshot">لقطة شاشة</string>
351
352 <!-- Disk shader cache -->
353 <string name="preparing_shaders">تحضير التظليل</string>
354 <string name="building_shaders">بناء التظليل</string>
355
356 <!-- Theme options -->
357 <string name="change_app_theme">تغيير سمة التطبيق</string>
358 <string name="theme_default">Ø§ÙØªØ±Ø§Ø¶ÙŠ</string>
359 <string name="theme_material_you">Material You</string>
360
361 <!-- Theme Modes -->
362 <string name="change_theme_mode">تغيير وضع السمة</string>
363 <string name="theme_mode_follow_system">اتبع النظام</string>
364 <string name="theme_mode_light">ÙØ§ØªØ­</string>
365 <string name="theme_mode_dark">غامق</string>
366
367 <!-- Audio output engines -->
368 <string name="cubeb">cubeb</string>
369
370 <!-- Black backgrounds theme -->
371 <string name="use_black_backgrounds">خلÙيات سوداء</string>
372 <string name="use_black_backgrounds_description">عند استخدام المظهر الداكن، قم بتطبيق خلÙيات سوداء.</string>
373
374 <!-- Picture-In-Picture -->
375 <string name="picture_in_picture">صورة داخل صورة</string>
376 <string name="picture_in_picture_description">تصغير Ø§Ù„Ù†Ø§ÙØ°Ø© عند وضعها ÙÙŠ الخلÙية</string>
377 <string name="pause">توقÙ</string>
378 <string name="play">تشغيل</string>
379 <string name="mute">كتم</string>
380 <string name="unmute">إلغاء الكتم</string>
381
382 <!-- Licenses screen strings -->
383 <string name="licenses">التراخيص</string>
384 <string name="license_fidelityfx_fsr_description">AMD ترقية عالية الجودة من</string>
385 </resources>
diff --git a/src/android/app/src/main/res/values-ckb/strings.xml b/src/android/app/src/main/res/values-ckb/strings.xml
new file mode 100644
index 000000000..d2e5fee19
--- /dev/null
+++ b/src/android/app/src/main/res/values-ckb/strings.xml
@@ -0,0 +1,336 @@
1<?xml version="1.0" encoding="utf-8"?>
2<resources xmlns:tools="http://schemas.android.com/tools" tools:ignore="MissingTranslation">
3
4 <string name="app_disclaimer">ئەم نەرمەکاڵایە یارییەکانی کۆنسۆلی نینتێندۆ سویچ کارپێدەکات. هیچ ناونیشانێکی یاری Ùˆ کلیلی تێدا نییە..&lt;br /&gt;&lt;br /&gt;Ù¾ÛŽØ´ ئەوەی دەست Ù¾ÛŽ بکەیت، تکایە شوێنی ÙØ§ÛŒÙ„ÛŒ <![CDATA[<b> prod.keys </b>]]> دیاریبکە Ù„Û• Ù†ÛŽÙˆ کۆگای ئامێرەکەت.&lt;br /&gt;&lt;br /&gt;<![CDATA[<a href=\"https://yuzu-emu.org/help/quickstart\">زیاتر Ùێربە</a>]]></string>
5 <string name="emulation_notification_channel_name">ئیمولەیشن کارایە</string>
6 <string name="emulation_notification_channel_description">ئاگادارکردنەوەیەکی بەردەوام نیشان دەدات کاتێک ئیمولەیشن کاردەکات.</string>
7 <string name="emulation_notification_running">یوزو کاردەکات</string>
8 <string name="notice_notification_channel_name">ئاگاداری و هەڵەکان</string>
9 <string name="notice_notification_channel_description">ئاگادارکردنەوەکان پیشان دەدات کاتێک شتێک بە هەڵەدا دەچێت.</string>
10 <string name="notification_permission_not_granted">مۆڵەتی ئاگادارکردنەوە نەدراوە!</string>
11
12 <!-- Setup strings -->
13 <string name="welcome">بەخێربێیت!</string>
14 <string name="welcome_description">Ùێربە Ú†Û†Ù† &lt;b>yuzu&lt;/b> ڕێکبخەیت Ùˆ بچییە ناو ئیمولەیشن.</string>
15 <string name="get_started">دەست پێبکە</string>
16 <string name="keys">کلیلەکان</string>
17 <string name="keys_description">ÙØ§ÛŒÙ„ÛŒ &lt;b>prod.keys&lt;/b> هەڵبژێرە بە دوگمەی خوارەوە.</string>
18 <string name="select_keys">کلیلەکان هەڵبژێرە</string>
19 <string name="games">یاریەکان</string>
20 <string name="games_description">Ùۆڵدەری &lt;b>Games&lt;/b> هەڵبژێرە بە دوگمەی خوارەوە.</string>
21 <string name="done">تەواو</string>
22 <string name="done_description">تۆ تەواو ئامادەیت.\nچێژ لە یارییەکانت وەربگرە!</string>
23 <string name="text_continue">بەردەوام بوون</string>
24 <string name="next">دواتر</string>
25 <string name="back">گەڕانەوە</string>
26 <string name="add_games">زیادکردنی یاری</string>
27 <string name="add_games_description">Ùۆڵدەری یارییەکانت هەڵبژێرە</string>
28 <!-- Home strings -->
29 <string name="home_games">یاریەکان</string>
30 <string name="home_search">گەڕان</string>
31 <string name="home_settings">ڕێکخستنەکان</string>
32 <string name="empty_gamelist">تا ئێستا هیچ ÙØ§ÛŒÙ„ÛŽÚ© نەدۆزراوەتەوە یان هیچ ناونیشانێکی یاری هەڵنەبژێردراوە.</string>
33 <string name="search_and_filter_games">گەڕان Ùˆ Ùلتەرکردنی یارییەکان</string>
34 <string name="select_games_folder">Ùۆڵدەری یارییەکان هەڵبژێرە</string>
35 <string name="select_games_folder_description">ڕێگە بە یوزو دەدات بۆ پڕکردنەوەی لیستی یارییەکان</string>
36 <string name="add_games_warning">هەڵبژاردنی Ùۆڵدەری یارییەکان تێپەڕدەکەیت؟</string>
37 <string name="add_games_warning_description">یارییەکان Ù„Û• لیستی یارییەکاندا پیشان نادرێن ئەگەر Ùۆڵدەرێک هەڵنەبژێردرێت.</string>
38 <string name="add_games_warning_help">https://yuzu-emu.org/help/quickstart/#dumping-games</string>
39 <string name="home_search_games">گەڕان بەدوای یارییەکاندا</string>
40 <string name="games_dir_selected">ناونیشانی یارییەکان هەڵبژێردرا</string>
41 <string name="install_prod_keys">دابمەزرێنە prod.keys</string>
42 <string name="install_prod_keys_description">پێویستە بۆ کۆدکردنەوەى یارییە تاکەکەسییەکان</string>
43 <string name="install_prod_keys_warning">زیادکردنی کلیلەکان تێپەڕدەکەیت؟</string>
44 <string name="install_prod_keys_warning_description">کلیلی دروست پێویستە بۆ وەرگرتنی یارییەکانی تاکەکەسی. تەنها ئەپەکانی homebrew کاردەکەن ئەگەر بەردەوام بیت.</string>
45 <string name="install_prod_keys_warning_help">https://yuzu-emu.org/help/quickstart/#guide-introduction</string>
46 <string name="notifications">ئاگادارکردنەوەکان</string>
47 <string name="notifications_description">بە دوگمەی خوارەوە مۆڵەتی ئاگادارکردنەوەکە بدە.</string>
48 <string name="give_permission">مۆڵەت بدە</string>
49 <string name="notification_warning">پێدانی مۆڵەتی ئاگادارکردنەوە تێپەڕدەکەیت؟</string>
50 <string name="notification_warning_description">یوزو ناتوانێت لە زانیاری گرنگ ئاگادارت بکاتەوە.</string>
51 <string name="permission_denied">مۆڵەت پێدان ڕەتکرایەوە</string>
52 <string name="permission_denied_description">زۆر جار ئەم مۆڵەتەت ڕەتکردۆتەوە و ئێستا دەبێت بە دەستی ڕێگەپێدان بکەیت لە ڕێکخستنەکانی سیستەمدا.</string>
53 <string name="about">دەربارە</string>
54 <string name="about_description">وەشانی دروستکردن، بیتبێن و زۆر شتیتر</string>
55 <string name="warning_help">یارمەتی</string>
56 <string name="warning_skip">پەڕاندن</string>
57 <string name="warning_cancel">ڕەتکردنەوە</string>
58 <string name="install_amiibo_keys">دامەزراندنی کلیلی Amiibo</string>
59 <string name="install_amiibo_keys_description">پێویستە بۆ بەکارهێنانی Amiibo لە یاریدا</string>
60 <string name="invalid_keys_file">ÙØ§ÛŒÙ„ÛŒ کلیلێکی نادروست هەڵبژێردرا</string>
61 <string name="install_keys_success">کلیلەکان بە سەرکەوتوویی دامەزران</string>
62 <string name="reading_keys_failure">هەڵە لە خوێندنەوەی کۆدکردنی کلیل</string>
63 <string name="install_prod_keys_failure_extension_description">دڵنیابەوە Ú©Û• ÙØ§ÛŒÙ„ÛŒ کلیلەکانت درێژکراوەی .keys ÛŒ هەیە Ùˆ دووبارە هەوڵبدەرەوە.</string>
64 <string name="install_amiibo_keys_failure_extension_description">دڵنیابە Ú©Û• ÙØ§ÛŒÙ„ÛŒ کلیلەکانت درێژکراوەی .bin ÛŒ هەیە Ùˆ دووبارە هەوڵبدەرەوە.</string>
65 <string name="invalid_keys_error">کلیلی کۆدکردنی نادروستە</string>
66 <string name="dumping_keys_quickstart_link">https://yuzu-emu.org/help/quickstart/#dumping-decryption-keys</string>
67 <string name="install_keys_failure_description">ÙØ§ÛŒÙ„Û• هەڵبژێردراوەکە هەڵەیە یان تێکچووە. تکایە دووبارە کلیلەکانت دەربێنەوە.</string>
68 <string name="install_gpu_driver">دامەزراندنی وەگەڕخەری GPU</string>
69 <string name="install_gpu_driver_description">دامەزراندنی وەگەڕخەری بەدیل بۆ ئەوەی بە ئەگەرێکی زۆرەوە کارایی باشتر یان وردبینی هەبێت</string>
70 <string name="advanced_settings">ڕێکخستنە پێشکەوتووەکان</string>
71 <string name="settings_description">سازدانی ڕێکخستنەکانی ئیمولەیتەر</string>
72 <string name="search_recently_played">بەم دواییە یاری کردووە</string>
73 <string name="search_recently_added">بەم دواییە زیادکرا</string>
74 <string name="search_retail">بەتاک</string>
75 <string name="search_homebrew">هۆم بریو</string>
76 <string name="open_user_folder">کردنەوەی Ùۆڵدەری یوزو</string>
77 <string name="open_user_folder_description">بەڕێوەبردنی ÙØ§ÛŒÙ„Û• ناوخۆییەکانی یوزو</string>
78 <string name="theme_and_color_description">دەستکاری کردنی شێوازی ئەپەکە</string>
79 <string name="no_file_manager">هیچ ÙØ§ÛŒÙ„ بەڕێوەبەرێک نەدۆزرایەوە</string>
80 <string name="notification_no_directory_link">نەتوانرا ناونیشانی یوزو بکرێتەوە</string>
81 <string name="notification_no_directory_link_description">تکایە شوێنی Ùۆڵدەری بەکارهێنەر Ù„Û•Ú¯Û•Úµ پانێڵی لایەنی ÙØ§ÛŒÙ„ بەڕێوەبارەکان بە دەست بدۆزەرەوە.</string>
82 <string name="manage_save_data">بەڕێوەبردنی داتای پاشەکەوتکراو</string>
83 <string name="manage_save_data_description">داتای پاشەکەوتکراو دۆزراوە. تکایە لە خوارەوە بژاردەیەک هەڵبژێرە.</string>
84 <string name="import_export_saves_description">هاوردەکردن یان هەناردەکردنی ÙØ§ÛŒÙ„ÛŒ پاشەکەوتکراو</string>
85 <string name="save_file_imported_success">بە سەرکەوتوویی هاوردە کرا</string>
86 <string name="save_file_invalid_zip_structure">پێکهاتەی شوێنی پاشەکەوتکراو نادروستە</string>
87 <string name="save_file_invalid_zip_structure_description">ناوی یەکەمی Ùۆڵدەر دەبێت ناسنامەی ناونیشانی یارییەکە بێت.</string>
88 <string name="import_saves">هاوردەکردن</string>
89 <string name="export_saves">هەناردەکردن</string>
90 <string name="install_firmware">دامەزراندنی پتەوواڵا</string>
91 <string name="install_firmware_description">پتەوواڵا دەبێت Ù„Û• ئەرشیÙÛŒ زیپدا بێت Ùˆ پێویستە بۆ بووتکردنی هەندێک یاری</string>
92 <string name="firmware_installing">دامەزرانی پتەوواڵا</string>
93 <string name="firmware_installed_success">پتەوواڵا بە سەرکەوتوویی دامەزرا</string>
94 <string name="firmware_installed_failure">دامەزراندنی پتەوواڵا شکستی هێنا</string>
95 <string name="share_log">هاوبەشی پێکردنی لۆگەکانی چاککردنەوە</string>
96 <string name="share_log_description">ÙØ§ÛŒÙ„Û• Ù„Û†Ú¯Û•Ú©Û•ÛŒ یوزو هاوبەش بکە بۆ چاککردنی کێشەکان</string>
97 <string name="share_log_missing">هیچ ÙØ§ÛŒÙ„ÛŽÚ©ÛŒ Ù„Û†Ú¯ نەدۆزراوە</string>
98 <string name="install_game_content">دامەزراندنی ناوەڕۆکی یاری</string>
99 <string name="install_game_content_description">دامەزراندنی نوێکاری یارییەکان یان DLC</string>
100 <string name="install_game_content_help_link">https://yuzu-emu.org/help/quickstart/#dumping-installed-updates</string>
101 <!-- About screen strings -->
102 <string name="gaia_is_not_real">گایا ڕاستەقینە نییە</string>
103 <string name="copied_to_clipboard">کۆپی کرا بۆ تەختەی نووسین</string>
104 <string name="about_app_description">ئیمۆلیتەرێکی سەرچاوە-کراوەی سویچ</string>
105 <string name="contributors">بەشداربووان</string>
106 <string name="contributors_description">دروستکراوە لەگەڵ \u2764 لەلایەن تیمەکەی یوزو</string>
107 <string name="contributors_link">https://github.com/yuzu-emu/yuzu/graphs/contributors</string>
108 <string name="licenses_description">ئەو پڕۆژانەی کە یوزوی بۆ ئەندرۆید ڕەخساند</string>
109 <string name="build">بونیات</string>
110 <string name="support_link">https://discord.gg/u77vRWY</string>
111 <string name="website_link">https://yuzu-emu.org/</string>
112 <string name="github_link">https://github.com/yuzu-emu</string>
113
114 <!-- Early access upgrade strings -->
115 <string name="early_access">بەزوویی دەسپێگەشتن</string>
116 <string name="get_early_access">بەدەستهێنانی بەزوویی دەسپێگەشتن</string>
117 <string name="play_store_link">https://play.google.com/store/apps/details?id=org.yuzu.yuzu_emu.ea</string>
118 <string name="get_early_access_description">تایبەتمەندییە پێشکەوتووەکان، بەزوویی دەستگەیشتن بە نوێکارییەکان و زۆر شتی تر</string>
119 <string name="early_access_benefits">سوودەکانی بەزوویی دەسپێگەشتن</string>
120 <string name="cutting_edge_features">تایبەتمەندییە پێشکەوتووەکان</string>
121 <string name="early_access_updates">زوو دەستگەیشتن بە نوێکارییەکان</string>
122 <string name="no_manual_installation">چیتر دامەزراندنی دەستی نییە</string>
123 <string name="prioritized_support">پشتگیری لە پێشینە</string>
124 <string name="helping_game_preservation">یارمەتیدانی پاراستنی یارییەکان</string>
125 <string name="our_eternal_gratitude">سوپاس و پێزانینی هەمیشەییمان</string>
126 <string name="are_you_interested">ئایا تۆ خوازیاریت؟</string>
127
128 <!-- General settings strings -->
129 <string name="frame_limit_enable">سنووردارکردنی خێرایی</string>
130 <string name="frame_limit_enable_description">خێرایی ئیمولەیشن سنووردار دەکات بۆ ڕێژەیەکی دیاریکراو لە خێرایی ئاسایی.</string>
131 <string name="frame_limit_slider">سنووردارکردنی لەسەدای خێرایی</string>
132 <string name="frame_limit_slider_description">ڕێژەی سەدی دیاری دەکات بۆ سنووردارکردنی خێرایی ئیمولەیشن. 100% خێرایی ئاساییە. بەهایی بەرزتر یان نزمتر دەبێتە هۆی زیاد یان کەمکردنەوەی سنووری خێرایی.</string>
133 <string name="cpu_accuracy">وردی CPU</string>
134 <!-- System settings strings -->
135 <string name="use_docked_mode">دۆخی دۆککراو</string>
136 <string name="use_docked_mode_description">ڕوونی زیاد دەکات، کارایی کەم دەکاتەوە. دۆخی دەستی بەکاردێت کاتێک لەکاردەخرێت، ئەمەش ڕوونی دادەبەزێنێت و کارایی زیاد دەکات.</string>
137 <string name="emulated_region">ناوچەی ئیمولەیشن</string>
138 <string name="emulated_language">زمانی ئیمولەیتەر</string>
139 <string name="select_rtc_date">هەڵبژاردنی بەرواری RTC</string>
140 <string name="select_rtc_time">هەڵبژاردنی کاتی RTC</string>
141 <string name="use_custom_rtc">RTCی تایبەتمەند</string>
142 <string name="use_custom_rtc_description">ڕێگەت پێدەدات کاتژمێرێکی کاتی ڕاستەقینەی تایبەتمەند دابنێیت کە جیاوازە لە کاتی ئێستای سیستەمەکەت.</string>
143 <string name="set_custom_rtc">دانانی RTCی تایبەتمەند</string>
144
145 <!-- Graphics settings strings -->
146 <string name="renderer_accuracy">ئاستی وردبینی</string>
147 <string name="renderer_resolution">ڕوونی (دۆخی دەستی/دۆخی دۆک)</string>
148 <string name="renderer_vsync">دۆخی VSync</string>
149 <string name="renderer_aspect_ratio">ڕێژەی ڕووبەری شاشە</string>
150 <string name="renderer_scaling_filter">Ùلتەری گونجاندنی پەنجەرە</string>
151 <string name="renderer_anti_aliasing">شێوازی دژە-خاوڕۆیی</string>
152 <string name="renderer_force_max_clock">ناچاریکردن بۆ زۆرترین کاتژمێر (تەنها ئەدرینۆ)</string>
153 <string name="renderer_force_max_clock_description">GPU ناچار دەکات بە زۆرترین کاتژمێر کاربکات (هێشتا سنووردارکردنی گەرمی جێبەجێ دەکرێت).</string>
154 <string name="renderer_asynchronous_shaders">بەکارهێنانی سێبەری ناهاوسەنگ</string>
155 <string name="renderer_asynchronous_shaders_description">سێبەرەکان بە شێوەیەکی ناهاوسەنگ کۆدەکاتەوە، پچڕپچڕی کەمدەکاتەوە بەڵام لەوانەیە گلێچ دروستکا.</string>
156 <string name="renderer_reactive_flushing">بەکارهێنانی بەرپێچدەرەوە</string>
157 <string name="renderer_reactive_flushing_description">وردی ڕێندەرکردن لە هەندێک یاریدا باشتر دەکات لەسەر تێچووی کارایی.</string>
158 <string name="use_disk_shader_cache">بیرگەخێرای سێبەری دیسک</string>
159 <string name="use_disk_shader_cache_description">پچڕپچڕی کەمدەکاتەوە بە هەڵگرتن و بارکردنی سێبەری دروستکراو لە ناوخۆدا.</string>
160
161 <!-- Debug settings strings -->
162 <string name="cpu">CPU</string>
163 <string name="renderer_api">API گراÙیک</string>
164 <string name="renderer_debug">چاککردنەوەی گراÙیک</string>
165 <string name="renderer_debug_description">API ÛŒ گراÙیکەکان ڕێکدەخات بۆ دۆخی چاککردنی خاو.</string>
166 <string name="audio_volume">قەبارەی دەنگی</string>
167 <string name="audio_volume_description">دیاریکردنی قەبارەی دەنگی دەرچووی بیستۆک و بزوێنەری دەنگی دەرەکی.</string>
168
169 <!-- Miscellaneous -->
170 <string name="slider_default">بنەڕەت</string>
171 <string name="ini_saved">ڕێکخستنە پاشەکەوتکراوەکان</string>
172 <string name="gameid_saved">ڕێکخستنە پاشەکەوتکراوەکان بۆ %1$s</string>
173 <string name="error_saving">هەڵە لە پاشەکەوتکردن %1$s.ini: %2$s</string>
174 <string name="loading">بارکردن...</string>
175 <string name="reset_setting_confirmation">ئایا دەتەوێت ئەم ڕێکخستنە بگەڕێنیتەوە بۆ بەهای بنەڕەتی خۆی؟</string>
176 <string name="reset_to_default">دوبارە ڕێکخستنەوەی بۆ بنەڕەت</string>
177 <string name="reset_all_settings">هەموو ڕێکخستنەکان دوبارە ڕێک دەخاتەوە؟</string>
178 <string name="reset_all_settings_description">هەموو ڕێکخستنە پێشکەوتووەکان دەگەڕێنەوە بۆ ڕێکخستنی بنەڕەتی خۆیان. پاشگەز بوونەوەی نییه.</string>
179 <string name="settings_reset">دوبارە ڕێککردنەوەی ڕێکخستنەکان</string>
180 <string name="close">داخستن</string>
181 <string name="learn_more">زیاتر Ùێربە</string>
182 <string name="auto">خودکار</string>
183 <string name="submit">پێشکەشکردن</string>
184 <string name="string_import">هاوردەکردن</string>
185 <string name="export">هەناردەکردن</string>
186 <!-- GPU driver installation -->
187 <string name="select_gpu_driver">هەڵبژاردنی وەگەڕخەری GPU</string>
188 <string name="select_gpu_driver_title">حەز دەکەیت وەگەڕخەری GPU ی ئێستات بگۆڕیت؟</string>
189 <string name="select_gpu_driver_install">دامەزراندن</string>
190 <string name="select_gpu_driver_default">بنەڕەت</string>
191 <string name="select_gpu_driver_use_default">بەکارهێنانی وەگەڕخەری GPU ی بنەڕەت</string>
192 <string name="select_gpu_driver_error">وەگەڕخەری نادروست هەڵبژێردرا، بە بەکارهێنانی بنەڕەتی سیستەم!</string>
193 <string name="system_gpu_driver">وەگەڕخەری GPU ی سیستەم</string>
194 <string name="installing_driver">دامەزراندنی وەگەڕخەر...</string>
195
196 <!-- Preferences Screen -->
197 <string name="preferences_settings">ڕێکخستنەکان</string>
198 <string name="preferences_general">گشتی</string>
199 <string name="preferences_system">سیستەم</string>
200 <string name="preferences_graphics">گراÙیک</string>
201 <string name="preferences_audio">دەنگ</string>
202 <string name="preferences_theme">ڕەنگ و ڕووکار</string>
203 <string name="preferences_debug">چاککردنەوە</string>
204
205 <!-- ROM loading errors -->
206 <string name="loader_error_encrypted">ڕۆمەکەت کۆدکراوە</string>
207 <string name="loader_error_encrypted_keys_description"><![CDATA[تکایە دڵنیابەوە لەدامەزراوی <a href=\"https://yuzu-emu.org/help/quickstart/#dumping-prodkeys-and-titlekeys\">prod.keys</a> ÙØ§ÛŒÙ„ەکەت بۆ ئەوەی بتوانرێت یارییەکان کۆد بکرێنەوە.]]></string>
208 <string name="loader_error_video_core">هەڵەیەک لە دەستپێکردنی ناوەکی ڤیدیۆکەدا ڕوویدا</string>
209 <string name="loader_error_video_core_description">ئەمەش بەزۆری بەهۆی وەگەڕخەرێکی ناتەبای GPU ەوەیە. دامەزراندنی وەگەڕخەری GPU ی تایبەتمەندکراو لەوانەیە ئەم کێشەیە چارەسەر بکات.</string>
210 <string name="loader_error_invalid_format">ناتوانرێت ڕۆم باربکرێت</string>
211 <string name="loader_error_file_not_found">ÙØ§ÛŒÙ„ÛŒ Ú•Û†Ù… بوونی نییە</string>
212
213 <!-- Emulation Menu -->
214 <string name="emulation_exit">دەرچوون لە ئیمولەیشن</string>
215 <string name="emulation_done">تەواو</string>
216 <string name="emulation_fps_counter">FPS ژمێر</string>
217 <string name="emulation_toggle_controls">گۆڕینی کۆنتڕۆڵ</string>
218 <string name="emulation_rel_stick_center">ناوەندی گێڕ بەنزیکەیی</string>
219 <string name="emulation_dpad_slide">خلیسکانی 4 دوگمەکە</string>
220 <string name="emulation_haptics">لەرینەوەی پەنجەلێدان</string>
221 <string name="emulation_show_overlay">نیشاندانی داپۆشەر</string>
222 <string name="emulation_toggle_all">گۆڕینی سەرجەم</string>
223 <string name="emulation_control_adjust">ڕێکخستنی داپۆشەر</string>
224 <string name="emulation_control_scale">پێوەر</string>
225 <string name="emulation_control_opacity">ڕوونی</string>
226 <string name="emulation_touch_overlay_reset">دووبارە ڕێکخستنەوەی داپۆشەر</string>
227 <string name="emulation_touch_overlay_edit">دەستکاریکردنی داپۆشەر</string>
228 <string name="emulation_pause">وەستاندنی ئیمولەیشن</string>
229 <string name="emulation_unpause">لادانی وەستاندنی ئیمولەیشن</string>
230 <string name="emulation_input_overlay">هەڵبژاردەکانی داپۆشەر</string>
231
232 <string name="load_settings">بارکردنی ڕێکخستنەکان...</string>
233
234 <!-- Software keyboard -->
235 <string name="software_keyboard">کیبۆردی نەرمەکاڵا</string>
236
237 <!-- Errors and warnings -->
238 <string name="abort_button">دەربارە</string>
239 <string name="continue_button">بەردەوام بوون</string>
240 <string name="system_archive_not_found">ئەرشیÙÛŒ سیستەم نەدۆزراوە</string>
241 <string name="system_archive_not_found_message">%s دیار نییە. تکایە ئەرشیÙÛŒ سیستەمەکەت ÙÚ•ÛŽ بدە.\nبەردەوامی ئیمولەیشن لەوانەیە ببێتە Ù‡Û†ÛŒ تێکچوون Ùˆ Ùڕێدانەدەرەوە.</string>
242 <string name="system_archive_general">ئەرشیÙÛŽÚ©ÛŒ سیستەم</string>
243 <string name="save_load_error">هەڵەی پاشەکەوتکردن/بارکردن</string>
244 <string name="fatal_error">هەڵەی کوشندە</string>
245 <string name="fatal_error_message">هەڵەیەکی کوشندە ڕوویدا. بۆ وردەکارییەکان Ù„Û†Ú¯Û•Ú©Û• بپشکنە.\nبەردەوامی ئیمولەیشن لەوانەیە ببێتە Ù‡Û†ÛŒ تێکچوون Ùˆ Ùڕێدانەدەرەوە.</string>
246 <string name="performance_warning">کوژاندنەوەی ئەم ڕێکخستنە دەبێتە هۆی کەمکردنەوەی کارایی ئیمولەیشن! بۆ باشترین ئەزموون، باشترە ئەم ڕێکخستنە چالاک بهێڵیتەوە.</string>
247 <!-- Region Names -->
248 <string name="region_japan">ژاپۆن</string>
249 <string name="region_usa">ئەمریکا</string>
250 <string name="region_europe">ئەورووپا</string>
251 <string name="region_australia">ئوسترالیا</string>
252 <string name="region_china">چین</string>
253 <string name="region_korea">کۆریا</string>
254 <string name="region_taiwan">تایوان</string>
255
256 <string name="memory_gigabyte">GB</string>
257 <!-- Renderer APIs -->
258 <string name="renderer_vulkan">ڤوڵکان</string>
259 <string name="renderer_none">هیچ</string>
260
261 <!-- Renderer Accuracy -->
262 <string name="renderer_accuracy_normal">ئاسایی</string>
263 <string name="renderer_accuracy_high">بەرز</string>
264 <string name="renderer_accuracy_extreme">ئەوپەڕ (خاو)</string>
265
266 <!-- Resolutions -->
267 <string name="resolution_half">0.5X (360p/540p)</string>
268 <string name="resolution_three_quarter">0.75X (540p/810p)</string>
269 <string name="resolution_one">1X (720p/1080p)</string>
270 <string name="resolution_two">2X (1440p/2160p) (خاو)</string>
271 <string name="resolution_three">3X (2160p/3240p) (خاو)</string>
272 <string name="resolution_four">4X (2880p/4320p) (خاو)</string>
273
274 <!-- Renderer VSync -->
275 <string name="renderer_vsync_immediate">دەستبەجێ (کوژاوە)</string>
276 <string name="renderer_vsync_mailbox">سندوقی پۆستە</string>
277 <string name="renderer_vsync_fifo">FIFO (پێکراو)</string>
278 <string name="renderer_vsync_fifo_relaxed">FIFO ئارام</string>
279
280 <!-- Scaling Filters -->
281 <string name="scaling_filter_nearest_neighbor">نزیکترین دراوسێ</string>
282 <string name="scaling_filter_bilinear">دوو هێڵی</string>
283 <string name="scaling_filter_bicubic">دووخشتەکی</string>
284 <string name="scaling_filter_gaussian">گاوسی</string>
285 <string name="scaling_filter_scale_force">پێوەرهێز</string>
286 <string name="scaling_filter_fsr">AMD FidelityFX™ سوپەر ووردبینی</string>
287
288 <!-- Anti-Aliasing -->
289 <string name="anti_aliasing_none">هیچ</string>
290 <string name="anti_aliasing_fxaa">FXAA</string>
291 <string name="anti_aliasing_smaa">SMAA</string>
292
293 <string name="screen_layout_auto">خودکار</string>
294
295 <!-- Aspect Ratios -->
296 <string name="ratio_default">بنەڕەت (16:9)</string>
297 <string name="ratio_force_four_three">ڕووبەری 4:3</string>
298 <string name="ratio_force_twenty_one_nine">ڕووبەری 21:9</string>
299 <string name="ratio_force_sixteen_ten">ڕووبەری 16:10</string>
300 <string name="ratio_stretch">کشانی پڕ بەشاشە</string>
301
302 <!-- CPU Accuracy -->
303 <string name="cpu_accuracy_accurate">وورد</string>
304 <string name="cpu_accuracy_unsafe">ناسەقامگیر</string>
305 <string name="cpu_accuracy_paranoid">بەگومان (خاو)</string>
306
307 <!-- Gamepad Buttons -->
308 <string name="gamepad_d_pad">4 دوگمەکە</string>
309 <string name="gamepad_left_stick">گێڕی چەپ</string>
310 <string name="gamepad_right_stick">گێڕی ڕاست</string>
311 <string name="gamepad_home">ماڵەوە</string>
312 <string name="gamepad_screenshot">وێنەگرتنی شاشە</string>
313
314 <!-- Disk shader cache -->
315 <string name="preparing_shaders">ئامادەکردنی سێبەرەکان</string>
316 <string name="building_shaders">دروستکردنی سێبەرەکان</string>
317
318 <!-- Theme options -->
319 <string name="change_app_theme">گۆڕینی ڕووکاری ئەپەکە</string>
320 <string name="theme_default">بنەڕەت</string>
321 <string name="theme_material_you">کەرەستەی تۆ</string>
322
323 <!-- Theme Modes -->
324 <string name="change_theme_mode">گۆڕینی دۆخی ڕووکار</string>
325 <string name="theme_mode_follow_system">پەیڕەوی کردنی سیستەم</string>
326 <string name="theme_mode_light">ڕوناکی</string>
327 <string name="theme_mode_dark">تاریک</string>
328
329 <!-- Black backgrounds theme -->
330 <string name="use_black_backgrounds">پاشبنەمای ڕەش</string>
331 <string name="use_black_backgrounds_description">لە کاتی بەکارهێنانی ڕووکاری تاریکدا، پاشبنەمای ڕەش دادەنێ.</string>
332
333 <!-- Licenses screen strings -->
334 <string name="licenses">مۆڵەتەکان</string>
335 <string name="license_fidelityfx_fsr_description">بەرزکردنەوەی کوالێتی بەرز لە کۆمپانیای AMD</string>
336 </resources>
diff --git a/src/android/app/src/main/res/values-de/strings.xml b/src/android/app/src/main/res/values-de/strings.xml
index 72a47fbdb..9c6590b5e 100644
--- a/src/android/app/src/main/res/values-de/strings.xml
+++ b/src/android/app/src/main/res/values-de/strings.xml
@@ -1,5 +1,5 @@
1<?xml version="1.0" encoding="utf-8"?> 1<?xml version="1.0" encoding="utf-8"?>
2<resources> 2<resources xmlns:tools="http://schemas.android.com/tools" tools:ignore="MissingTranslation">
3 3
4 <string name="app_disclaimer">Diese Software kann Spiele für die Nintendo Switch abspielen. Keine Spiele oder Spielekeys sind enthalten.&lt;br /&gt;&lt;br /&gt;Bevor du beginnst, bitte halte deine <![CDATA[<b> prod.keys </b>]]> auf deinem Gerät bereit. .&lt;br /&gt;&lt;br /&gt;<![CDATA[<a href=\"https://yuzu-emu.org/help/quickstart\">Mehr Infos</a>]]></string> 4 <string name="app_disclaimer">Diese Software kann Spiele für die Nintendo Switch abspielen. Keine Spiele oder Spielekeys sind enthalten.&lt;br /&gt;&lt;br /&gt;Bevor du beginnst, bitte halte deine <![CDATA[<b> prod.keys </b>]]> auf deinem Gerät bereit. .&lt;br /&gt;&lt;br /&gt;<![CDATA[<a href=\"https://yuzu-emu.org/help/quickstart\">Mehr Infos</a>]]></string>
5 <string name="emulation_notification_channel_name">Emulation ist aktiv</string> 5 <string name="emulation_notification_channel_name">Emulation ist aktiv</string>
@@ -25,6 +25,7 @@
25 <string name="back">Zurück</string> 25 <string name="back">Zurück</string>
26 <string name="add_games">Spiele hinzufügen</string> 26 <string name="add_games">Spiele hinzufügen</string>
27 <string name="add_games_description">Spieleverzeichnis auswählen</string> 27 <string name="add_games_description">Spieleverzeichnis auswählen</string>
28 <string name="step_complete">Fertig!</string>
28 29
29 <!-- Home strings --> 30 <!-- Home strings -->
30 <string name="home_games">Spiele</string> 31 <string name="home_games">Spiele</string>
@@ -38,6 +39,7 @@
38 <string name="add_games_warning_description">Spiele werden in der Spieleliste nicht angezeigt, wenn kein Ordner ausgewählt ist.</string> 39 <string name="add_games_warning_description">Spiele werden in der Spieleliste nicht angezeigt, wenn kein Ordner ausgewählt ist.</string>
39 <string name="add_games_warning_help">https://yuzu-emu.org/help/quickstart/#dumping-games</string> 40 <string name="add_games_warning_help">https://yuzu-emu.org/help/quickstart/#dumping-games</string>
40 <string name="home_search_games">Spiele suchen</string> 41 <string name="home_search_games">Spiele suchen</string>
42 <string name="search_settings">Einstellungen suchen</string>
41 <string name="games_dir_selected">Spieleverzeichnis ausgewählt</string> 43 <string name="games_dir_selected">Spieleverzeichnis ausgewählt</string>
42 <string name="install_prod_keys">prod.keys installieren</string> 44 <string name="install_prod_keys">prod.keys installieren</string>
43 <string name="install_prod_keys_description">Zum Entschlüsseln von Spielen benötigt</string> 45 <string name="install_prod_keys_description">Zum Entschlüsseln von Spielen benötigt</string>
@@ -60,8 +62,11 @@
60 <string name="invalid_keys_file">Ungültige Schlüsseldatei ausgewählt</string> 62 <string name="invalid_keys_file">Ungültige Schlüsseldatei ausgewählt</string>
61 <string name="install_keys_success">Schlüssel erfolgreich installiert</string> 63 <string name="install_keys_success">Schlüssel erfolgreich installiert</string>
62 <string name="reading_keys_failure">Fehler beim Lesen der Schlüssel</string> 64 <string name="reading_keys_failure">Fehler beim Lesen der Schlüssel</string>
65 <string name="install_prod_keys_failure_extension_description">Überprüfen Sie, ob Ihre Schlüsseldatei die Erweiterung \".keys\" hat, und versuchen Sie es erneut.</string>
66 <string name="install_amiibo_keys_failure_extension_description">Überprüfen Sie, ob Ihre Schlüsseldatei die Erweiterung \".bin\" hat, und versuchen Sie es erneut.</string>
63 <string name="invalid_keys_error">Ungültige Schlüssel</string> 67 <string name="invalid_keys_error">Ungültige Schlüssel</string>
64 <string name="dumping_keys_quickstart_link">https://yuzu-emu.org/help/quickstart/#dumping-decryption-keys</string> 68 <string name="dumping_keys_quickstart_link">https://yuzu-emu.org/help/quickstart/#dumping-decryption-keys</string>
69 <string name="install_keys_failure_description">Die ausgewählte Datei ist falsch oder beschädigt. Bitte kopieren Sie Ihre Schlüssel erneut.</string>
65 <string name="install_gpu_driver">GPU-Treiber installieren</string> 70 <string name="install_gpu_driver">GPU-Treiber installieren</string>
66 <string name="install_gpu_driver_description">Alternative Treiber für eventuell bessere Leistung oder Genauigkeit installieren</string> 71 <string name="install_gpu_driver_description">Alternative Treiber für eventuell bessere Leistung oder Genauigkeit installieren</string>
67 <string name="advanced_settings">Erweiterte Einstellungen</string> 72 <string name="advanced_settings">Erweiterte Einstellungen</string>
@@ -84,7 +89,17 @@
84 <string name="save_file_invalid_zip_structure_description">Der erste Unterordnername muss die Titel-ID des Spiels sein.</string> 89 <string name="save_file_invalid_zip_structure_description">Der erste Unterordnername muss die Titel-ID des Spiels sein.</string>
85 <string name="import_saves">Importieren</string> 90 <string name="import_saves">Importieren</string>
86 <string name="export_saves">Exportieren</string> 91 <string name="export_saves">Exportieren</string>
87 92 <string name="install_firmware">Firmware installieren</string>
93 <string name="install_firmware_description">Die Firmware muss in einem ZIP-Archiv vorliegen und wird zum Booten einiger Spiele benötigt</string>
94 <string name="firmware_installing">Firmware wird installiert</string>
95 <string name="firmware_installed_success">Die Firmware wurde erfolgreich installiert!</string>
96 <string name="firmware_installed_failure">Bei der Firmware installation ist etwas fehlgeschlagen.</string>
97 <string name="share_log">Debug-Logs teilen</string>
98 <string name="share_log_description">Debug-Logs an yuzu zur Untersuchung absenden</string>
99 <string name="share_log_missing">Keine Log-Datei gefunden</string>
100 <string name="install_game_content">Spiel installieren</string>
101 <string name="install_game_content_description">Spiel Update oder DLC installieren</string>
102 <string name="install_game_content_help_link">https://yuzu-emu.org/help/quickstart/#dumping-installed-updates</string>
88 <!-- About screen strings --> 103 <!-- About screen strings -->
89 <string name="gaia_is_not_real">Gaia ist nicht real</string> 104 <string name="gaia_is_not_real">Gaia ist nicht real</string>
90 <string name="copied_to_clipboard">In die Zwischenablage kopiert</string> 105 <string name="copied_to_clipboard">In die Zwischenablage kopiert</string>
@@ -92,7 +107,10 @@
92 <string name="contributors">Beitragende</string> 107 <string name="contributors">Beitragende</string>
93 <string name="contributors_description">Gemacht mit \u2764 vom yuzu Team</string> 108 <string name="contributors_description">Gemacht mit \u2764 vom yuzu Team</string>
94 <string name="contributors_link">https://github.com/yuzu-emu/yuzu/graphs/contributors</string> 109 <string name="contributors_link">https://github.com/yuzu-emu/yuzu/graphs/contributors</string>
110 <string name="licenses_description">Projekte, die yuzu für Android möglich machen </string>
95 <string name="build">Build</string> 111 <string name="build">Build</string>
112 <string name="user_data">Nutzerdaten</string>
113 <string name="user_data_export_cancelled">Export abgebrochen</string>
96 <string name="support_link">https://discord.gg/u77vRWY</string> 114 <string name="support_link">https://discord.gg/u77vRWY</string>
97 <string name="website_link">https://yuzu-emu.org/</string> 115 <string name="website_link">https://yuzu-emu.org/</string>
98 <string name="github_link">https://github.com/yuzu-emu</string> 116 <string name="github_link">https://github.com/yuzu-emu</string>
@@ -107,45 +125,39 @@
107 <string name="early_access_updates">Früherer Zugriff auf Updates</string> 125 <string name="early_access_updates">Früherer Zugriff auf Updates</string>
108 <string name="no_manual_installation">Keine manuelle Installation</string> 126 <string name="no_manual_installation">Keine manuelle Installation</string>
109 <string name="prioritized_support">Priorisierte Unterstützung</string> 127 <string name="prioritized_support">Priorisierte Unterstützung</string>
128 <string name="helping_game_preservation">Beitrag zur Erhaltung der Spiele</string>
110 <string name="our_eternal_gratitude">Unsere ewige Dankbarkeit</string> 129 <string name="our_eternal_gratitude">Unsere ewige Dankbarkeit</string>
111 <string name="are_you_interested">Bist du interessiert?</string> 130 <string name="are_you_interested">Bist du interessiert?</string>
112 131
113 <!-- General settings strings --> 132 <!-- General settings strings -->
114 <string name="frame_limit_enable">Geschwindigkeitsbegrenzung aktivieren</string> 133 <string name="frame_limit_enable">Limitierte Geschwindigkeit</string>
115 <string name="frame_limit_enable_description">Wenn aktiviert, wird die Emulationsgeschwindigkeit auf einen Prozentsatz der normalen Geschwindigkeit begrenzt.</string> 134 <string name="frame_limit_enable_description">Limitiert die Geschwindigkeit auf einen von dir festgelegten Prozentsatz.</string>
116 <string name="frame_limit_slider">Geschwindkeitsbegrenzung in Prozent</string> 135 <string name="frame_limit_slider">Geschwindkeitsbegrenzung in Prozent</string>
117 <string name="frame_limit_slider_description">Legt den Prozentsatz der Bergrenzung der Emulationsgeschwindigkeit fest. Mit dem Standardwert von 100% wird die Emulation auf die normale Geschwindigkeit begrenzt. Höhere oder niedrigere Werte erhöhen oder verringern die Geschwindigkeitsbegrenzung.</string> 136 <string name="frame_limit_slider_description">Gibt die prozentuale Geschwindigkeit der Emulation an. 100% sind normal. Werte darüber oder drunter werden die Geschwindigkeit entsprechend verändern.</string>
118 <string name="cpu_accuracy">CPU-Genauigkeit</string> 137 <string name="cpu_accuracy">CPU-Genauigkeit</string>
119
120 <!-- System settings strings --> 138 <!-- System settings strings -->
121 <string name="use_docked_mode">Dock-Modus</string> 139 <string name="use_docked_mode">Gedockter Modus</string>
122 <string name="use_docked_mode_description">Emuliert im Dock-Modus, was die Auflösung verbessert, aber die Leistung senkt.</string> 140 <string name="use_docked_mode_description">Der Docked Modus erhöht die Auflösung, verringert die aber die Leistung. Wird der Handheld-Modus verwendet, verringert es die Auflösung und erhöht die Leistung.</string>
123 <string name="emulated_region">Emulierte Region</string> 141 <string name="emulated_region">Emulierte Region</string>
124 <string name="emulated_language">Emulierte Sprache</string> 142 <string name="emulated_language">Emulierte Sprache</string>
125 <string name="select_rtc_date">RTC-Datum auswählen</string> 143 <string name="select_rtc_date">RTC-Datum auswählen</string>
126 <string name="select_rtc_time">RTC-Zeit auswählen</string> 144 <string name="select_rtc_time">RTC-Zeit auswählen</string>
127 <string name="use_custom_rtc">Benutzerdefinierte RTC aktivieren</string> 145 <string name="use_custom_rtc">Benutzerdefinierte Echtzeituhr</string>
128 <string name="use_custom_rtc_description">Mit dieser Einstellung kann eine benutzerdefinierte Echtzeituhr unabhängig von der aktuellen Systemzeit verwendet werden.</string>
129 <string name="set_custom_rtc">Benutzerdefinierte RTC einstellen</string>
130
131 <!-- Graphics settings strings --> 146 <!-- Graphics settings strings -->
132 <string name="renderer_api">API</string>
133 <string name="renderer_accuracy">Genauigkeitsstufe</string> 147 <string name="renderer_accuracy">Genauigkeitsstufe</string>
134 <string name="renderer_resolution">Auflösung</string>
135 <string name="renderer_vsync">VSync-Modus</string> 148 <string name="renderer_vsync">VSync-Modus</string>
149 <string name="renderer_screen_layout">Orientierung</string>
136 <string name="renderer_aspect_ratio">Seitenverhältnis</string> 150 <string name="renderer_aspect_ratio">Seitenverhältnis</string>
137 <string name="renderer_scaling_filter">Fensteranpassungsfilter</string> 151 <string name="renderer_scaling_filter">Fensteranpassungsfilter</string>
138 <string name="renderer_anti_aliasing">Kantenglättungs-Methode</string>
139 <string name="renderer_force_max_clock">Maximale Taktfrequenz erzwingen (nur Adreno)</string> 152 <string name="renderer_force_max_clock">Maximale Taktfrequenz erzwingen (nur Adreno)</string>
140 <string name="renderer_force_max_clock_description">Erzwingt den Betrieb der GPU mit der maximal möglichen Taktfrequenz (Temperaturbeschränkungen werden weiterhin angewendet).</string> 153 <string name="renderer_force_max_clock_description">Erzwingt den Betrieb der GPU mit der maximal möglichen Taktfrequenz (Temperaturbeschränkungen werden weiterhin angewendet).</string>
141 <string name="renderer_asynchronous_shaders">Asynchrone Shader nutzen</string> 154 <string name="renderer_asynchronous_shaders">Asynchrone Shader nutzen</string>
142 <string name="renderer_asynchronous_shaders_description">Kompiliert Shader asynchron, was Ruckler reduziert, aber zu Glitches führen kann.</string> 155 <!-- Debug settings strings -->
143 <string name="renderer_debug">Grafik-Debugging aktivieren</string> 156 <string name="cpu">CPU</string>
144 <string name="renderer_debug_description">Wenn aktiviert, schaltet die Grafik-API in einen langsameren Debugging-Modus.</string> 157 <string name="cpu_debug_mode">CPU Debugging</string>
145 <string name="use_disk_shader_cache">Nutze Festplatten-Shader-Cache</string> 158 <string name="gpu">GPU</string>
146 <string name="use_disk_shader_cache_description">Ruckeln wird durch das Speichern und Laden von generierten Shadern auf der Festplatte reduziert.</string> 159 <string name="renderer_api">API</string>
147 160 <string name="renderer_debug">Graphik-Debugging</string>
148 <!-- Audio settings strings -->
149 <string name="audio_volume">Lautstärke</string> 161 <string name="audio_volume">Lautstärke</string>
150 <string name="audio_volume_description">Legt die Lautstärke der Audioausgabe fest.</string> 162 <string name="audio_volume_description">Legt die Lautstärke der Audioausgabe fest.</string>
151 163
@@ -154,14 +166,22 @@
154 <string name="ini_saved">Einstellungen gespeichert</string> 166 <string name="ini_saved">Einstellungen gespeichert</string>
155 <string name="gameid_saved">Einstellungen für %1$s gespeichert</string> 167 <string name="gameid_saved">Einstellungen für %1$s gespeichert</string>
156 <string name="error_saving">Fehler beim Speichern von %1$s.ini: %2$s</string> 168 <string name="error_saving">Fehler beim Speichern von %1$s.ini: %2$s</string>
169 <string name="unimplemented_menu">Unimplementiertes Menü</string>
157 <string name="loading">Lädt...</string> 170 <string name="loading">Lädt...</string>
158 <string name="reset_setting_confirmation">Möchtest du diese Einstellung auf den Standardwert zurücksetzen?</string> 171 <string name="reset_setting_confirmation">Möchtest du diese Einstellung auf den Standardwert zurücksetzen?</string>
159 <string name="reset_to_default">Auf Standard zurücksetzen</string> 172 <string name="reset_to_default">Auf Standard zurücksetzen</string>
160 <string name="reset_all_settings">Alle Einstellungen zurücksetzen?</string> 173 <string name="reset_all_settings">Alle Einstellungen zurücksetzen?</string>
161 <string name="reset_all_settings_description">Alle erweiterten Einstellungen werden auf ihren Standardwert zurückgesetzt. Dies kann nicht rückgängig gemacht werden.</string>
162 <string name="settings_reset">Einstellungen zurückgesetzt</string> 174 <string name="settings_reset">Einstellungen zurückgesetzt</string>
163 <string name="close">Schließen</string> 175 <string name="close">Schließen</string>
164 <string name="learn_more">Mehr erfahren</string> 176 <string name="learn_more">Mehr erfahren</string>
177 <string name="auto">Auto</string>
178 <string name="submit">Absenden</string>
179 <string name="string_null">Null</string>
180 <string name="string_import">Importieren</string>
181 <string name="export">Exportieren</string>
182 <string name="export_failed">Export fehlgeschlagen</string>
183 <string name="import_failed">Import fehlgeschlagen</string>
184 <string name="cancelling">Abbrechen</string>
165 185
166 <!-- GPU driver installation --> 186 <!-- GPU driver installation -->
167 <string name="select_gpu_driver">GPU-Treiber auswählen</string> 187 <string name="select_gpu_driver">GPU-Treiber auswählen</string>
@@ -169,6 +189,7 @@
169 <string name="select_gpu_driver_install">Installieren</string> 189 <string name="select_gpu_driver_install">Installieren</string>
170 <string name="select_gpu_driver_default">Standard</string> 190 <string name="select_gpu_driver_default">Standard</string>
171 <string name="select_gpu_driver_use_default">Standard GPU-Treiber wird verwendet</string> 191 <string name="select_gpu_driver_use_default">Standard GPU-Treiber wird verwendet</string>
192 <string name="select_gpu_driver_error">Ungültiger Treiber ausgewählt, Standard-Treiber wird verwendet!</string>
172 <string name="system_gpu_driver">System GPU-Treiber</string> 193 <string name="system_gpu_driver">System GPU-Treiber</string>
173 <string name="installing_driver">Treiber wird installiert...</string> 194 <string name="installing_driver">Treiber wird installiert...</string>
174 195
@@ -179,6 +200,7 @@
179 <string name="preferences_graphics">Grafik</string> 200 <string name="preferences_graphics">Grafik</string>
180 <string name="preferences_audio">Audio</string> 201 <string name="preferences_audio">Audio</string>
181 <string name="preferences_theme">Theme und Farbe</string> 202 <string name="preferences_theme">Theme und Farbe</string>
203 <string name="preferences_debug">Debug</string>
182 204
183 <!-- ROM loading errors --> 205 <!-- ROM loading errors -->
184 <string name="loader_error_encrypted">Das ROM ist verschlüsselt</string> 206 <string name="loader_error_encrypted">Das ROM ist verschlüsselt</string>
@@ -192,22 +214,15 @@
192 <string name="emulation_exit">Emulation beenden</string> 214 <string name="emulation_exit">Emulation beenden</string>
193 <string name="emulation_done">Fertig</string> 215 <string name="emulation_done">Fertig</string>
194 <string name="emulation_fps_counter">FPS Zähler</string> 216 <string name="emulation_fps_counter">FPS Zähler</string>
195 <string name="emulation_toggle_controls">Steuerung umschalten</string>
196 <string name="emulation_rel_stick_center">Relative Stick-Mitte</string>
197 <string name="emulation_dpad_slide">DPad Slide</string>
198 <string name="emulation_haptics">Haptik</string>
199 <string name="emulation_show_overlay">Overlay anzeigen</string>
200 <string name="emulation_toggle_all">Alle umschalten</string> 217 <string name="emulation_toggle_all">Alle umschalten</string>
201 <string name="emulation_control_adjust">Overlay anpassen</string> 218 <string name="emulation_control_adjust">Overlay anpassen</string>
202 <string name="emulation_control_scale">Größe</string> 219 <string name="emulation_control_scale">Größe</string>
203 <string name="emulation_control_opacity">Transparenz</string> 220 <string name="emulation_control_opacity">Transparenz</string>
204 <string name="emulation_touch_overlay_reset">Overlay zurücksetzen</string> 221 <string name="emulation_touch_overlay_reset">Overlay zurücksetzen</string>
205 <string name="emulation_touch_overlay_edit">Overlay bearbeiten</string> 222 <string name="emulation_touch_overlay_edit">Overlay bearbeiten</string>
206 <string name="emulation_pause">Emulation pausieren</string>
207 <string name="emulation_unpause">Emulation fortsetzen</string>
208 <string name="emulation_input_overlay">Overlay-Optionen</string> 223 <string name="emulation_input_overlay">Overlay-Optionen</string>
209 224
210 <string name="load_settings">Lädt Einstellungen...</string> 225 <string name="load_settings">Lade Einstellungen...</string>
211 226
212 <!-- Software keyboard --> 227 <!-- Software keyboard -->
213 <string name="software_keyboard">Software-Tastatur</string> 228 <string name="software_keyboard">Software-Tastatur</string>
@@ -221,7 +236,7 @@
221 <string name="fatal_error">Schwerwiegender Fehler</string> 236 <string name="fatal_error">Schwerwiegender Fehler</string>
222 <string name="fatal_error_message">Ein schwerwiegender Fehler ist aufgetreten. Einzelheiten wurden im Log protokolliert.\nDas Fortsetzen der Emulation kann zu Abstürzen und Bugs führen.</string> 237 <string name="fatal_error_message">Ein schwerwiegender Fehler ist aufgetreten. Einzelheiten wurden im Log protokolliert.\nDas Fortsetzen der Emulation kann zu Abstürzen und Bugs führen.</string>
223 <string name="performance_warning">Das Deaktivieren dieser Einstellung führt zu erheblichen Leistungsverlusten! Für ein optimales Erlebnis wird empfohlen, sie aktiviert zu lassen.</string> 238 <string name="performance_warning">Das Deaktivieren dieser Einstellung führt zu erheblichen Leistungsverlusten! Für ein optimales Erlebnis wird empfohlen, sie aktiviert zu lassen.</string>
224 239 <string name="memory_formatted">%1$s %2$s</string>
225 <!-- Region Names --> 240 <!-- Region Names -->
226 <string name="region_japan">Japan</string> 241 <string name="region_japan">Japan</string>
227 <string name="region_usa">USA</string> 242 <string name="region_usa">USA</string>
@@ -231,6 +246,15 @@
231 <string name="region_korea">Korea</string> 246 <string name="region_korea">Korea</string>
232 <string name="region_taiwan">Taiwan</string> 247 <string name="region_taiwan">Taiwan</string>
233 248
249 <!-- Memory Sizes -->
250 <string name="memory_byte">Byte</string>
251 <string name="memory_kilobyte">KB</string>
252 <string name="memory_megabyte">MB</string>
253 <string name="memory_gigabyte">GB</string>
254 <string name="memory_terabyte">TB</string>
255 <string name="memory_petabyte">PB</string>
256 <string name="memory_exabyte">EB</string>
257
234 <!-- Renderer APIs --> 258 <!-- Renderer APIs -->
235 <string name="renderer_vulkan">Vulkan</string> 259 <string name="renderer_vulkan">Vulkan</string>
236 <string name="renderer_none">Keiner</string> 260 <string name="renderer_none">Keiner</string>
@@ -267,12 +291,15 @@
267 <string name="anti_aliasing_fxaa">FXAA</string> 291 <string name="anti_aliasing_fxaa">FXAA</string>
268 <string name="anti_aliasing_smaa">SMAA</string> 292 <string name="anti_aliasing_smaa">SMAA</string>
269 293
294 <string name="screen_layout_portrait">Portrait</string>
295 <string name="screen_layout_auto">Auto</string>
296
270 <!-- Aspect Ratios --> 297 <!-- Aspect Ratios -->
271 <string name="ratio_default">Standard (16:9)</string> 298 <string name="ratio_default">Standard (16:9)</string>
272 <string name="ratio_force_four_three">4:3 erzwingen</string> 299 <string name="ratio_force_four_three">4:3 erzwingen</string>
273 <string name="ratio_force_twenty_one_nine">21:9 erzwingen</string> 300 <string name="ratio_force_twenty_one_nine">21:9 erzwingen</string>
274 <string name="ratio_force_sixteen_ten">Erzwinge 16:10</string> 301 <string name="ratio_force_sixteen_ten">Erzwinge 16:10</string>
275 <string name="ratio_stretch">Auf Fenster anpassen</string> 302 <string name="ratio_stretch">Auf Bildschirmgröße anpsassen</string>
276 303
277 <!-- CPU Accuracy --> 304 <!-- CPU Accuracy -->
278 <string name="cpu_accuracy_accurate">Akkurat</string> 305 <string name="cpu_accuracy_accurate">Akkurat</string>
@@ -280,9 +307,9 @@
280 <string name="cpu_accuracy_paranoid">Paranoid (Langsam)</string> 307 <string name="cpu_accuracy_paranoid">Paranoid (Langsam)</string>
281 308
282 <!-- Gamepad Buttons --> 309 <!-- Gamepad Buttons -->
283 <string name="gamepad_d_pad">Steuerkreuz</string> 310 <string name="gamepad_d_pad">D-Pad</string>
284 <string name="gamepad_left_stick">Linker Analogstick</string> 311 <string name="gamepad_left_stick">Linker Stick</string>
285 <string name="gamepad_right_stick">Rechter Analogstick</string> 312 <string name="gamepad_right_stick">Rechter Stick</string>
286 <string name="gamepad_home">Home</string> 313 <string name="gamepad_home">Home</string>
287 <string name="gamepad_screenshot">Screenshot</string> 314 <string name="gamepad_screenshot">Screenshot</string>
288 315
@@ -291,18 +318,30 @@
291 <string name="building_shaders">Shader werden erstellt</string> 318 <string name="building_shaders">Shader werden erstellt</string>
292 319
293 <!-- Theme options --> 320 <!-- Theme options -->
294 <string name="change_app_theme">App-Theme ändern</string> 321 <string name="change_app_theme">App-Thema ändern</string>
295 <string name="theme_default">Standard</string> 322 <string name="theme_default">Standard</string>
296 <string name="theme_material_you">Material You</string> 323 <string name="theme_material_you">Material You</string>
297 324
298 <!-- Theme Modes --> 325 <!-- Theme Modes -->
299 <string name="change_theme_mode">Theme-Modus ändern</string> 326 <string name="change_theme_mode">Themen-Modus ändern</string>
300 <string name="theme_mode_follow_system">System folgen</string> 327 <string name="theme_mode_follow_system">System folgen</string>
301 <string name="theme_mode_light">Hell</string> 328 <string name="theme_mode_light">Hell</string>
302 <string name="theme_mode_dark">Dunkel</string> 329 <string name="theme_mode_dark">Dunkel</string>
303 330
331 <!-- Audio output engines -->
332 <string name="cubeb">cubeb</string>
333
304 <!-- Black backgrounds theme --> 334 <!-- Black backgrounds theme -->
305 <string name="use_black_backgrounds">Schwarze Hintergünde verwenden</string> 335 <string name="use_black_backgrounds">Schwarze Hintergründe</string>
306 <string name="use_black_backgrounds_description">Bei Verwendung des dunklen Themes, schwarze Hintergründe verwenden.</string> 336 <string name="use_black_backgrounds_description">Bei Verwendung des dunklen Themes, schwarze Hintergründe verwenden.</string>
307 337
308</resources> 338 <!-- Picture-In-Picture -->
339 <string name="picture_in_picture">Bild im Bild</string>
340 <string name="pause">Pause</string>
341 <string name="mute">Stummschalten</string>
342 <string name="unmute">Ton aktivieren</string>
343
344 <!-- Licenses screen strings -->
345 <string name="licenses">Lizenzen</string>
346 <string name="license_fidelityfx_fsr_description">Hochwertiges Upscaling von AMD</string>
347 </resources>
diff --git a/src/android/app/src/main/res/values-es/strings.xml b/src/android/app/src/main/res/values-es/strings.xml
index e5bdd5889..103ac6e65 100644
--- a/src/android/app/src/main/res/values-es/strings.xml
+++ b/src/android/app/src/main/res/values-es/strings.xml
@@ -1,7 +1,7 @@
1<?xml version="1.0" encoding="utf-8"?> 1<?xml version="1.0" encoding="utf-8"?>
2<resources> 2<resources xmlns:tools="http://schemas.android.com/tools" tools:ignore="MissingTranslation">
3 3
4 <string name="app_disclaimer">Este software ejecuta juegos para la videoconsola Nintendo Switch. Los videojuegos o keys no vienen incluidos.&lt;br /&gt;&lt;br /&gt;Antes de empezar, por favor, localice el archivo <![CDATA[<b> prod.keys </b>]]>en el almacenamiento de su dispositivo..&lt;br /&gt;&lt;br /&gt;<![CDATA[<a href=\"https://yuzu-emu.org/help/quickstart\">Saber más</a>]]></string> 4 <string name="app_disclaimer">Este software ejecuta juegos para la videoconsola Nintendo Switch. Los videojuegos o claves no vienen incluidos.&lt;br /&gt;&lt;br /&gt;Antes de empezar, por favor, localice el archivo <![CDATA[<b> prod.keys </b>]]>en el almacenamiento de su dispositivo..&lt;br /&gt;&lt;br /&gt;<![CDATA[<a href=\"https://yuzu-emu.org/help/quickstart\">Saber más</a>]]></string>
5 <string name="emulation_notification_channel_name">Emulación activa</string> 5 <string name="emulation_notification_channel_name">Emulación activa</string>
6 <string name="emulation_notification_channel_description">Muestra una notificación persistente cuando la emulación está activa.</string> 6 <string name="emulation_notification_channel_description">Muestra una notificación persistente cuando la emulación está activa.</string>
7 <string name="emulation_notification_running">yuzu esta ejecutándose</string> 7 <string name="emulation_notification_running">yuzu esta ejecutándose</string>
@@ -25,6 +25,7 @@
25 <string name="back">Atrás</string> 25 <string name="back">Atrás</string>
26 <string name="add_games">Añadir Juegos</string> 26 <string name="add_games">Añadir Juegos</string>
27 <string name="add_games_description">Selecciona la carpeta de juegos</string> 27 <string name="add_games_description">Selecciona la carpeta de juegos</string>
28 <string name="step_complete">¡Completado!</string>
28 29
29 <!-- Home strings --> 30 <!-- Home strings -->
30 <string name="home_games">Juegos</string> 31 <string name="home_games">Juegos</string>
@@ -37,7 +38,8 @@
37 <string name="add_games_warning">¿Omitir la selección de la carpeta de juegos?</string> 38 <string name="add_games_warning">¿Omitir la selección de la carpeta de juegos?</string>
38 <string name="add_games_warning_description">No se mostrará ningún juego si no se ha seleccionado una carpeta de juegos.</string> 39 <string name="add_games_warning_description">No se mostrará ningún juego si no se ha seleccionado una carpeta de juegos.</string>
39 <string name="add_games_warning_help">https://yuzu-emu.org/help/quickstart/#dumping-games</string> 40 <string name="add_games_warning_help">https://yuzu-emu.org/help/quickstart/#dumping-games</string>
40 <string name="home_search_games">Buscar Juegos</string> 41 <string name="home_search_games">Buscar juegos</string>
42 <string name="search_settings">Buscar configuración</string>
41 <string name="games_dir_selected">Directorio de juegos seleccionado</string> 43 <string name="games_dir_selected">Directorio de juegos seleccionado</string>
42 <string name="install_prod_keys">Instalar prod.keys</string> 44 <string name="install_prod_keys">Instalar prod.keys</string>
43 <string name="install_prod_keys_description">Requerido para descifrar juegos</string> 45 <string name="install_prod_keys_description">Requerido para descifrar juegos</string>
@@ -58,15 +60,18 @@
58 <string name="warning_cancel">Cancelar</string> 60 <string name="warning_cancel">Cancelar</string>
59 <string name="install_amiibo_keys">Instalar clave de Amiiboo</string> 61 <string name="install_amiibo_keys">Instalar clave de Amiiboo</string>
60 <string name="install_amiibo_keys_description">Necesario para usar Amiibo en el juego</string> 62 <string name="install_amiibo_keys_description">Necesario para usar Amiibo en el juego</string>
61 <string name="invalid_keys_file">Archivo de claves inválido seleccionado</string> 63 <string name="invalid_keys_file">Archivo de claves seleccionado inválido</string>
62 <string name="install_keys_success">Claves instaladas correctamente</string> 64 <string name="install_keys_success">Claves instaladas correctamente</string>
63 <string name="reading_keys_failure">Error al leer las claves de cifrado</string> 65 <string name="reading_keys_failure">Error al leer las claves de cifrado</string>
66 <string name="install_prod_keys_failure_extension_description">Compruebe que el archivo de claves tenga una extensión .keys y pruebe otra vez.</string>
67 <string name="install_amiibo_keys_failure_extension_description">Compruebe que el archivo de claves tenga una extensión .bin y pruebe otra vez.</string>
64 <string name="invalid_keys_error">Claves de cifrado no válidas</string> 68 <string name="invalid_keys_error">Claves de cifrado no válidas</string>
65 <string name="dumping_keys_quickstart_link">https://yuzu-emu.org/help/quickstart/#dumping-decryption-keys</string> 69 <string name="dumping_keys_quickstart_link">https://yuzu-emu.org/help/quickstart/#dumping-decryption-keys</string>
66 <string name="install_keys_failure_description">El archivo seleccionado es incorrecto o está corrupto. Vuelva a redumpear sus claves.</string> 70 <string name="install_keys_failure_description">El archivo seleccionado es incorrecto o está corrupto. Vuelva a redumpear sus claves.</string>
67 <string name="install_gpu_driver">Instalar driver de GPU</string> 71 <string name="install_gpu_driver">Instalar driver de GPU</string>
68 <string name="install_gpu_driver_description">Instale drivers alternativos para obtener un rendimiento o una precisión potencialmente mejores</string> 72 <string name="install_gpu_driver_description">Instale drivers alternativos para obtener un rendimiento o una precisión potencialmente mejores</string>
69 <string name="advanced_settings">Opciones avanzadas</string> 73 <string name="advanced_settings">Opciones avanzadas</string>
74 <string name="advanced_settings_game">Configuración avanzada: %1$s</string>
70 <string name="settings_description">Configurar las opciones del emulador</string> 75 <string name="settings_description">Configurar las opciones del emulador</string>
71 <string name="search_recently_played">Jugado recientemente</string> 76 <string name="search_recently_played">Jugado recientemente</string>
72 <string name="search_recently_added">Añadido recientemente</string> 77 <string name="search_recently_added">Añadido recientemente</string>
@@ -86,6 +91,33 @@
86 <string name="save_file_invalid_zip_structure_description">El nombre de la primera subcarpeta debe ser el Title ID del juego.</string> 91 <string name="save_file_invalid_zip_structure_description">El nombre de la primera subcarpeta debe ser el Title ID del juego.</string>
87 <string name="import_saves">Importar</string> 92 <string name="import_saves">Importar</string>
88 <string name="export_saves">Exportar</string> 93 <string name="export_saves">Exportar</string>
94 <string name="install_firmware">Instalar firmware</string>
95 <string name="install_firmware_description">El firmware debe estar en un archivo ZIP y es necesario para ejecutar algunos juegos</string>
96 <string name="firmware_installing">Instalando firmware</string>
97 <string name="firmware_installed_success">Firmware instalado con éxito</string>
98 <string name="firmware_installed_failure">Falló la instalación de firmware</string>
99 <string name="firmware_installed_failure_description">Asegúrese de que los archivos nca del firmware estén en la raíz del zip e inténtelo de nuevo.</string>
100 <string name="share_log">Compartir registros de depuración</string>
101 <string name="share_log_description">Comparta el archivo de registro de yuzu para depurar problemas</string>
102 <string name="share_log_missing">No se encontró ningún archivo de registro</string>
103 <string name="install_game_content">Instalar contenido de juego</string>
104 <string name="install_game_content_description">Instalar actualizaciones o DLC</string>
105 <string name="installing_game_content">Instalando contenido...</string>
106 <string name="install_game_content_failure">Error instalando archivo(s) a la NAND</string>
107 <string name="install_game_content_failure_description">Asegúrese de que el/los contenido(s) son válidos y que el archivo prod.keys esté instalado.</string>
108 <string name="install_game_content_failure_base">La instalación de los juegos base no está permitida para así evitar posibles conflictos.</string>
109 <string name="install_game_content_failure_file_extension">Sólo hay soporte para el contenido en NSP y XCI. Asegúrese de que el/los contenido(s) son válidos.</string>
110 <string name="install_game_content_failed_count">%1$d error(es) de instalación</string>
111 <string name="install_game_content_success">Contenido(s) de juego instalado/s con éxito</string>
112 <string name="install_game_content_success_install">%1$d instalado con éxito</string>
113 <string name="install_game_content_success_overwrite">%1$d sobreescrito con éxito</string>
114 <string name="install_game_content_help_link">https://yuzu-emu.org/help/quickstart/#dumping-installed-updates</string>
115 <string name="custom_driver_not_supported">Drivers personalizados no soportados</string>
116 <string name="custom_driver_not_supported_description">En estos momentos, la carga de drivers personalizados no está disponible para este dispositivo..\n¡Comprueba esta opción en el futuro para ver si ya está añadido el soporte a ese dispositivo!</string>
117 <string name="manage_yuzu_data">Administrar datos de yuzu</string>
118 <string name="manage_yuzu_data_description">Importa/exporta el firmware, las keys, los datos de usuario, ¡y más!</string>
119 <string name="share_save_file">Compartir archivo de guardado</string>
120 <string name="export_save_failed">La exportación del guardado falló</string>
89 121
90 <!-- About screen strings --> 122 <!-- About screen strings -->
91 <string name="gaia_is_not_real">Gaia no es real</string> 123 <string name="gaia_is_not_real">Gaia no es real</string>
@@ -94,7 +126,18 @@
94 <string name="contributors">Contribuidores</string> 126 <string name="contributors">Contribuidores</string>
95 <string name="contributors_description">Hecho con \u2764 del equipo yuzu</string> 127 <string name="contributors_description">Hecho con \u2764 del equipo yuzu</string>
96 <string name="contributors_link">https://github.com/yuzu-emu/yuzu/graphs/contributors</string> 128 <string name="contributors_link">https://github.com/yuzu-emu/yuzu/graphs/contributors</string>
129 <string name="licenses_description">Proyectos que hacen que yuzu para Android sea una realidad</string>
97 <string name="build">Versión</string> 130 <string name="build">Versión</string>
131 <string name="user_data">Datos de usuario</string>
132 <string name="user_data_description">Importa/exporta todos los datos de usuario.\n\nCuando se importen los datos de usuario, ¡los demás datos de usuario existentes serán borrados!</string>
133 <string name="exporting_user_data">Exportando datos de usuario...</string>
134 <string name="importing_user_data">Importando datos de usuario...</string>
135 <string name="import_user_data">Importar datos de usuario</string>
136 <string name="invalid_yuzu_backup">Backup de válido</string>
137 <string name="user_data_export_success">Datos de usuario exportados con éxito</string>
138 <string name="user_data_import_success">Datos de usuario importados con éxito</string>
139 <string name="user_data_export_cancelled">Exportación cancelada</string>
140 <string name="user_data_import_failed_description">Asegúrese de que las carpetas de datos de usuario estén en la raíz de la carpeta del zip y contengan un archivo config en config/config.ini e inténtelo de nuevo.</string>
98 <string name="support_link">https://discord.gg/u77vRWY</string> 141 <string name="support_link">https://discord.gg/u77vRWY</string>
99 <string name="website_link">https://yuzu-emu.org/</string> 142 <string name="website_link">https://yuzu-emu.org/</string>
100 <string name="github_link">https://github.com/yuzu-emu</string> 143 <string name="github_link">https://github.com/yuzu-emu</string>
@@ -114,41 +157,53 @@
114 <string name="are_you_interested">¿Estás interesado?</string> 157 <string name="are_you_interested">¿Estás interesado?</string>
115 158
116 <!-- General settings strings --> 159 <!-- General settings strings -->
117 <string name="frame_limit_enable">Activar limite de velocidad</string> 160 <string name="frame_limit_enable">Limitar velocidad</string>
118 <string name="frame_limit_enable_description">Cuando está habilitado, la velocidad de emulación se limitará a un porcentaje específico de la velocidad normal.</string> 161 <string name="frame_limit_enable_description">Limita la velocidad de emulación a un porcentaje específico de la velocidad normal.</string>
119 <string name="frame_limit_slider">Limitar porcentaje de velocidad</string> 162 <string name="frame_limit_slider">Limitar porcentaje de velocidad</string>
120 <string name="frame_limit_slider_description">Especifica el porcentaje para limitar la velocidad de emulación. Con el valor predeterminado del 100 %, la emulación se limitará a la velocidad normal. Valores más altos o más bajos aumentarán o disminuirán el límite de velocidad.</string> 163 <string name="frame_limit_slider_description">Especifica el porcentaje para limitar la velocidad de emulación. 100% es la velocidad normal. Valores más altos o bajos incrementarán o disminuirán el límite de velocidad.</string>
121 <string name="cpu_accuracy">Precisión de CPU</string> 164 <string name="cpu_accuracy">Precisión de CPU</string>
165 <string name="value_with_units">%1$s%2$s</string>
122 166
123 <!-- System settings strings --> 167 <!-- System settings strings -->
124 <string name="use_docked_mode">Modo sobremesa</string> 168 <string name="use_docked_mode">Modo Sobremesa</string>
125 <string name="use_docked_mode_description">Emula en modo sobremesa, lo que aumenta la resolución perjudicando el rendimiento.</string> 169 <string name="use_docked_mode_description">Incrementa la resolución al coste de reducir el rendimiento. El Modo Portátil es usado cuando está desactivado, reduciendo la resolución y mejorando así el rendimiento.</string>
126 <string name="emulated_region">Región emulada</string> 170 <string name="emulated_region">Región emulada</string>
127 <string name="emulated_language">Idioma emulado</string> 171 <string name="emulated_language">Idioma emulado</string>
128 <string name="select_rtc_date">Seleccionar Fecha RTC</string> 172 <string name="select_rtc_date">Seleccionar fecha RTC</string>
129 <string name="select_rtc_time">Seleccionar Tiempo RTC</string> 173 <string name="select_rtc_time">Seleccionar tiempo RTC</string>
130 <string name="use_custom_rtc">Habilitar RTC Personalizado</string> 174 <string name="use_custom_rtc">RTC personalizado</string>
131 <string name="use_custom_rtc_description">Esta configuración le permite configurar un reloj de tiempo real personalizado diferente a la hora actual de su sistema</string> 175 <string name="use_custom_rtc_description">Te permite tener un reloj personalizado en tiempo real diferente del tiempo del propio sistema.</string>
132 <string name="set_custom_rtc">Establecer RTC Personalizado</string> 176 <string name="set_custom_rtc">Configurar RTC personalizado</string>
133 177
134 <!-- Graphics settings strings --> 178 <!-- Graphics settings strings -->
135 <string name="renderer_api">API</string>
136 <string name="renderer_accuracy">Nivel de precisión</string> 179 <string name="renderer_accuracy">Nivel de precisión</string>
137 <string name="renderer_resolution">Resolución</string> 180 <string name="renderer_resolution">Resolución (Portátil/Sobremesa)</string>
138 <string name="renderer_vsync">Modo VSync</string> 181 <string name="renderer_vsync">Modo VSync</string>
182 <string name="renderer_screen_layout">Orientación</string>
139 <string name="renderer_aspect_ratio">Relación de aspecto</string> 183 <string name="renderer_aspect_ratio">Relación de aspecto</string>
140 <string name="renderer_scaling_filter">Filtro de adaptación de ventana</string> 184 <string name="renderer_scaling_filter">Filtro de adaptación de ventana</string>
141 <string name="renderer_anti_aliasing">Metodo Anti Aliasing</string> 185 <string name="renderer_anti_aliasing">Método anti-aliasing</string>
142 <string name="renderer_force_max_clock">Forzar velocidad al máximo (solo Adreno)</string> 186 <string name="renderer_force_max_clock">Forzar velocidad al máximo (solo Adreno)</string>
143 <string name="renderer_force_max_clock_description">Fuerza a la GPU a ejecutarse a la velocidad máxima de reloj posible (se seguirán aplicando restricciones térmicas).</string> 187 <string name="renderer_force_max_clock_description">Fuerza a la GPU a ejecutarse a la velocidad máxima de reloj posible (se seguirán aplicando restricciones térmicas).</string>
144 <string name="renderer_asynchronous_shaders">Usar shaders asíncronos</string> 188 <string name="renderer_asynchronous_shaders">Usar shaders asíncronos</string>
145 <string name="renderer_asynchronous_shaders_description">Compila shaders de forma asincrónica, lo que reducirá los parones pero puede introducir fallos.</string> 189 <string name="renderer_asynchronous_shaders_description">Compila shaders de manera asíncrona, reduciendo los parones, pero puede introducir fallos.</string>
146 <string name="renderer_debug">Habilitar la depuración de gráficos</string> 190 <string name="renderer_reactive_flushing">Usar limpieza reactiva</string>
147 <string name="renderer_debug_description">Cuando esté marcado, la API de gráficos entra en un modo de depuración más lento.</string> 191 <string name="renderer_reactive_flushing_description">Mejora la precisión de renderizado en algunos juegos, pero reduce el rendimiento.</string>
148 <string name="use_disk_shader_cache">Usar caché de shaders en disco</string> 192 <string name="use_disk_shader_cache">Caché de shaders en disco</string>
149 <string name="use_disk_shader_cache_description">Reduzca los parones almacenando y cargando shaders generados en el disco.</string> 193 <string name="use_disk_shader_cache_description">Reduce los parones almacenando y cargando shaders generados.</string>
194
195 <!-- Debug settings strings -->
196 <string name="cpu">CPU</string>
197 <string name="cpu_debug_mode">Depuración de CPU</string>
198 <string name="cpu_debug_mode_description">Pone la CPU en un modo de depuración lento.</string>
199 <string name="gpu">GPU</string>
200 <string name="renderer_api">API</string>
201 <string name="renderer_debug">Depuración de gráficos</string>
202 <string name="renderer_debug_description">Configura la API gráfica a un modo de depuración lento.</string>
203 <string name="fastmem">Fastmem</string>
150 204
151 <!-- Audio settings strings --> 205 <!-- Audio settings strings -->
206 <string name="audio_output_engine">Motor de salida</string>
152 <string name="audio_volume">Volumen</string> 207 <string name="audio_volume">Volumen</string>
153 <string name="audio_volume_description">Especifica el volumen de la salida de audio.</string> 208 <string name="audio_volume_description">Especifica el volumen de la salida de audio.</string>
154 209
@@ -157,14 +212,24 @@
157 <string name="ini_saved">Configuración guardada</string> 212 <string name="ini_saved">Configuración guardada</string>
158 <string name="gameid_saved">Configuración guardada para %1$s</string> 213 <string name="gameid_saved">Configuración guardada para %1$s</string>
159 <string name="error_saving">Error guardando %1$s.ini: %2$s</string> 214 <string name="error_saving">Error guardando %1$s.ini: %2$s</string>
215 <string name="unimplemented_menu">Menú sin implementar</string>
160 <string name="loading">Cargando...</string> 216 <string name="loading">Cargando...</string>
217 <string name="shutting_down">Saliendo...</string>
161 <string name="reset_setting_confirmation">¿Desea restablecer esta configuración a su valor predeterminado?</string> 218 <string name="reset_setting_confirmation">¿Desea restablecer esta configuración a su valor predeterminado?</string>
162 <string name="reset_to_default">Restablecer a predeterminado</string> 219 <string name="reset_to_default">Restablecer a predeterminado</string>
163 <string name="reset_all_settings">¿Restablecer todas las configuraciones?</string> 220 <string name="reset_all_settings">¿Restablecer todas las configuraciones?</string>
164 <string name="reset_all_settings_description">Todas las configuraciones avanzadas se restablecerán a su configuración predeterminada. Esto no se puede deshacer.</string> 221 <string name="reset_all_settings_description">Todas las opciones avanzadas se restablecerán a su configuración predeterminada. Esta acción no se puede deshacer.</string>
165 <string name="settings_reset">Reiniciar la configuracion</string> 222 <string name="settings_reset">Reiniciar la configuracion</string>
166 <string name="close">Cerrar</string> 223 <string name="close">Cerrar</string>
167 <string name="learn_more">Más información</string> 224 <string name="learn_more">Saber más</string>
225 <string name="auto">Auto</string>
226 <string name="submit">Enviar</string>
227 <string name="string_null">Null</string>
228 <string name="string_import">Importar</string>
229 <string name="export">Exportar</string>
230 <string name="export_failed">La exportación falló</string>
231 <string name="import_failed">La importación falló</string>
232 <string name="cancelling">Cancelando</string>
168 233
169 <!-- GPU driver installation --> 234 <!-- GPU driver installation -->
170 <string name="select_gpu_driver">Seleccionar driver GPU</string> 235 <string name="select_gpu_driver">Seleccionar driver GPU</string>
@@ -172,6 +237,7 @@
172 <string name="select_gpu_driver_install">Instalar</string> 237 <string name="select_gpu_driver_install">Instalar</string>
173 <string name="select_gpu_driver_default">Predeterminado</string> 238 <string name="select_gpu_driver_default">Predeterminado</string>
174 <string name="select_gpu_driver_use_default">Usando el driver de GPU por defecto </string> 239 <string name="select_gpu_driver_use_default">Usando el driver de GPU por defecto </string>
240 <string name="select_gpu_driver_error">¡Driver no válido, utilizando el predeterminado del sistema!</string>
175 <string name="system_gpu_driver">Driver GPU del sistema</string> 241 <string name="system_gpu_driver">Driver GPU del sistema</string>
176 <string name="installing_driver">Instalando driver...</string> 242 <string name="installing_driver">Instalando driver...</string>
177 243
@@ -182,10 +248,11 @@
182 <string name="preferences_graphics">Gráficos</string> 248 <string name="preferences_graphics">Gráficos</string>
183 <string name="preferences_audio">Audio</string> 249 <string name="preferences_audio">Audio</string>
184 <string name="preferences_theme">Tema y color</string> 250 <string name="preferences_theme">Tema y color</string>
251 <string name="preferences_debug">Depuración</string>
185 252
186 <!-- ROM loading errors --> 253 <!-- ROM loading errors -->
187 <string name="loader_error_encrypted">Su ROM está encriptada</string> 254 <string name="loader_error_encrypted">Su ROM está encriptada</string>
188 <string name="loader_error_encrypted_roms_description"><![CDATA[Por favor, siga las guías para redumpear <a href=\"https://yuzu-emu.org/help/quickstart/#dumping-cartridge-games\">cartuchos de juegos</a> o <a href=\"https://yuzu-emu.org/help/quickstart/#dumping-installed-titles-eshop\">titulos instalados</a>.]]></string> 255 <string name="loader_error_encrypted_roms_description"><![CDATA[Por favor, siga las guías para redumpear<a href=\"https://yuzu-emu.org/help/quickstart/#dumping-physical-titles-game-cards\">cartuchos de juegos</a> o <a href=\"https://yuzu-emu.org/help/quickstart/#dumping-digital-titles-eshop\">títulos instalados</a>.]]></string>
189 <string name="loader_error_encrypted_keys_description"><![CDATA[Por favor, compruebe que su archivo <a href=\"https://yuzu-emu.org/help/quickstart/#dumping-prodkeys-and-titlekeys\">prod.keys</a> está instalado, para que los juegos sean descifrados.]]></string> 256 <string name="loader_error_encrypted_keys_description"><![CDATA[Por favor, compruebe que su archivo <a href=\"https://yuzu-emu.org/help/quickstart/#dumping-prodkeys-and-titlekeys\">prod.keys</a> está instalado, para que los juegos sean descifrados.]]></string>
190 <string name="loader_error_video_core">Ocurrió un error al inicializar el núcleo de video, posiblemente debido a una incompatibilidad con el driver seleccionado</string> 257 <string name="loader_error_video_core">Ocurrió un error al inicializar el núcleo de video, posiblemente debido a una incompatibilidad con el driver seleccionado</string>
191 <string name="loader_error_video_core_description">Esto suele deberse a un driver de GPU incompatible. La instalación de un controlador de GPU personalizado puede resolver este problema.</string> 258 <string name="loader_error_video_core_description">Esto suele deberse a un driver de GPU incompatible. La instalación de un controlador de GPU personalizado puede resolver este problema.</string>
@@ -196,25 +263,25 @@
196 <string name="emulation_exit">Salir de la emulación</string> 263 <string name="emulation_exit">Salir de la emulación</string>
197 <string name="emulation_done">Hecho</string> 264 <string name="emulation_done">Hecho</string>
198 <string name="emulation_fps_counter">Contador de FPS</string> 265 <string name="emulation_fps_counter">Contador de FPS</string>
199 <string name="emulation_toggle_controls">Alternar Controles</string> 266 <string name="emulation_toggle_controls">Alternar controles</string>
200 <string name="emulation_rel_stick_center">Centro Relativo del Stick</string> 267 <string name="emulation_rel_stick_center">Centro relativo del stick</string>
201 <string name="emulation_dpad_slide">Deslizamiento de la Cruceta</string> 268 <string name="emulation_dpad_slide">Deslizamiento de la cruceta</string>
202 <string name="emulation_haptics">Hápticos</string> 269 <string name="emulation_haptics">Toques hápticos</string>
203 <string name="emulation_show_overlay">Mostrar pantalla</string> 270 <string name="emulation_show_overlay">Mostrar overlay</string>
204 <string name="emulation_toggle_all">Alternar Todo</string> 271 <string name="emulation_toggle_all">Alternar todo</string>
205 <string name="emulation_control_adjust">Ajustar pantalla</string> 272 <string name="emulation_control_adjust">Ajustar overlay</string>
206 <string name="emulation_control_scale">Escala</string> 273 <string name="emulation_control_scale">Escala</string>
207 <string name="emulation_control_opacity">Opacidad</string> 274 <string name="emulation_control_opacity">Opacidad</string>
208 <string name="emulation_touch_overlay_reset">Reiniciar pantalla</string> 275 <string name="emulation_touch_overlay_reset">Reiniciar overlay</string>
209 <string name="emulation_touch_overlay_edit">Editar pantalla</string> 276 <string name="emulation_touch_overlay_edit">Editar overlay</string>
210 <string name="emulation_pause">Pausar Emulación</string> 277 <string name="emulation_pause">Pausar emulación</string>
211 <string name="emulation_unpause">Reanudar Emulación</string> 278 <string name="emulation_unpause">Despausar emulación</string>
212 <string name="emulation_input_overlay">Opciones de pantalla </string> 279 <string name="emulation_input_overlay">Opciones de overlay</string>
213 280
214 <string name="load_settings">Cargando configuración...</string> 281 <string name="load_settings">Cargando configuración...</string>
215 282
216 <!-- Software keyboard --> 283 <!-- Software keyboard -->
217 <string name="software_keyboard">Software del teclado</string> 284 <string name="software_keyboard">Teclado de software</string>
218 285
219 <!-- Errors and warnings --> 286 <!-- Errors and warnings -->
220 <string name="abort_button">Abortar</string> 287 <string name="abort_button">Abortar</string>
@@ -226,6 +293,9 @@
226 <string name="fatal_error">Error fatal</string> 293 <string name="fatal_error">Error fatal</string>
227 <string name="fatal_error_message">Ocurrió un error fatal. Consulte el registro para obtener más detalles.\nContinuar con la emulación puede provocar bloqueos y errores.</string> 294 <string name="fatal_error_message">Ocurrió un error fatal. Consulte el registro para obtener más detalles.\nContinuar con la emulación puede provocar bloqueos y errores.</string>
228 <string name="performance_warning">¡Desactivar esta configuración reducirá significativamente el rendimiento de la emulación! Para obtener la mejor experiencia, se recomienda dejar esta configuración habilitada.</string> 295 <string name="performance_warning">¡Desactivar esta configuración reducirá significativamente el rendimiento de la emulación! Para obtener la mejor experiencia, se recomienda dejar esta configuración habilitada.</string>
296 <string name="device_memory_inadequate">RAM de dispositivo: %1$s\nRecomendado: %2$s</string>
297 <string name="memory_formatted">%1$s %2$s</string>
298 <string name="no_game_present">¡No hay ningún juego ejecutable presente!</string>
229 299
230 <!-- Region Names --> 300 <!-- Region Names -->
231 <string name="region_japan">Japón</string> 301 <string name="region_japan">Japón</string>
@@ -236,7 +306,14 @@
236 <string name="region_korea">Corea</string> 306 <string name="region_korea">Corea</string>
237 <string name="region_taiwan">Taiwán</string> 307 <string name="region_taiwan">Taiwán</string>
238 308
239 <!-- Language Names --> 309 <!-- Memory Sizes -->
310 <string name="memory_byte">Byte</string>
311 <string name="memory_kilobyte">KB</string>
312 <string name="memory_megabyte">MB</string>
313 <string name="memory_gigabyte">GB</string>
314 <string name="memory_terabyte">TB</string>
315 <string name="memory_petabyte">PB</string>
316 <string name="memory_exabyte">EB</string>
240 317
241 <!-- Renderer APIs --> 318 <!-- Renderer APIs -->
242 <string name="renderer_vulkan">Vulkan</string> 319 <string name="renderer_vulkan">Vulkan</string>
@@ -274,6 +351,11 @@
274 <string name="anti_aliasing_fxaa">FXAA</string> 351 <string name="anti_aliasing_fxaa">FXAA</string>
275 <string name="anti_aliasing_smaa">SMAA</string> 352 <string name="anti_aliasing_smaa">SMAA</string>
276 353
354 <!-- Screen Layouts -->
355 <string name="screen_layout_landscape">Paisaje</string>
356 <string name="screen_layout_portrait">Retrato</string>
357 <string name="screen_layout_auto">Auto</string>
358
277 <!-- Aspect Ratios --> 359 <!-- Aspect Ratios -->
278 <string name="ratio_default">Predeterminado (16:9)</string> 360 <string name="ratio_default">Predeterminado (16:9)</string>
279 <string name="ratio_force_four_three">Forzar 4:3</string> 361 <string name="ratio_force_four_three">Forzar 4:3</string>
@@ -298,7 +380,7 @@
298 <string name="building_shaders">Construyendo shaders</string> 380 <string name="building_shaders">Construyendo shaders</string>
299 381
300 <!-- Theme options --> 382 <!-- Theme options -->
301 <string name="change_app_theme">Cambiar Tema</string> 383 <string name="change_app_theme">Cambiar tema</string>
302 <string name="theme_default">Predeterminado</string> 384 <string name="theme_default">Predeterminado</string>
303 <string name="theme_material_you">Material You</string> 385 <string name="theme_material_you">Material You</string>
304 386
@@ -308,8 +390,22 @@
308 <string name="theme_mode_light">Claro</string> 390 <string name="theme_mode_light">Claro</string>
309 <string name="theme_mode_dark">Oscuro</string> 391 <string name="theme_mode_dark">Oscuro</string>
310 392
393 <!-- Audio output engines -->
394 <string name="cubeb">cubeb</string>
395
311 <!-- Black backgrounds theme --> 396 <!-- Black backgrounds theme -->
312 <string name="use_black_backgrounds">Usar Fondos Negros</string> 397 <string name="use_black_backgrounds">Fondos oscuros</string>
313 <string name="use_black_backgrounds_description">Cuando utilice el modo oscuro, aplique fondos negros.</string> 398 <string name="use_black_backgrounds_description">Cuando utilice el modo oscuro, aplique fondos negros.</string>
314 399
315</resources> 400 <!-- Picture-In-Picture -->
401 <string name="picture_in_picture">Picture in Picture</string>
402 <string name="picture_in_picture_description">Minimizar ventana cuando esté en segundo plano</string>
403 <string name="pause">Pausar</string>
404 <string name="play">Jugar</string>
405 <string name="mute">Mutear</string>
406 <string name="unmute">Desmutear</string>
407
408 <!-- Licenses screen strings -->
409 <string name="licenses">Licencias</string>
410 <string name="license_fidelityfx_fsr_description">Upscaling de alta calidad de AMD</string>
411 </resources>
diff --git a/src/android/app/src/main/res/values-fr/strings.xml b/src/android/app/src/main/res/values-fr/strings.xml
index 1e02828aa..5a827c50b 100644
--- a/src/android/app/src/main/res/values-fr/strings.xml
+++ b/src/android/app/src/main/res/values-fr/strings.xml
@@ -1,5 +1,5 @@
1<?xml version="1.0" encoding="utf-8"?> 1<?xml version="1.0" encoding="utf-8"?>
2<resources> 2<resources xmlns:tools="http://schemas.android.com/tools" tools:ignore="MissingTranslation">
3 3
4 <string name="app_disclaimer">Ce logiciel exécutera des jeux pour la console de jeu Nintendo Switch. Aucun jeux ou clés n\'est inclus.&lt;br /&gt;&lt;br /&gt;Avant de commencer, veuillez localiser votre fichier <![CDATA[<b> prod.keys </b>]]> sur le stockage de votre appareil.&lt;br /&gt;&lt;br /&gt;<![CDATA[<a href=\"https://yuzu-emu.org/help/quickstart\">En savoir plus</a>]]></string> 4 <string name="app_disclaimer">Ce logiciel exécutera des jeux pour la console de jeu Nintendo Switch. Aucun jeux ou clés n\'est inclus.&lt;br /&gt;&lt;br /&gt;Avant de commencer, veuillez localiser votre fichier <![CDATA[<b> prod.keys </b>]]> sur le stockage de votre appareil.&lt;br /&gt;&lt;br /&gt;<![CDATA[<a href=\"https://yuzu-emu.org/help/quickstart\">En savoir plus</a>]]></string>
5 <string name="emulation_notification_channel_name">L\'émulation est active</string> 5 <string name="emulation_notification_channel_name">L\'émulation est active</string>
@@ -19,12 +19,13 @@
19 <string name="games">Jeux</string> 19 <string name="games">Jeux</string>
20 <string name="games_description">Sélectionnez votre dossier &lt;b>de Jeux&lt;/b> avec le bouton ci-dessous.</string> 20 <string name="games_description">Sélectionnez votre dossier &lt;b>de Jeux&lt;/b> avec le bouton ci-dessous.</string>
21 <string name="done">Terminé</string> 21 <string name="done">Terminé</string>
22 <string name="done_description">Vous êtes prêt.\nProfitez de vos jeux !</string> 22 <string name="done_description">Vous êtes prêt.\nProfitez de vos jeux !</string>
23 <string name="text_continue">Continuer</string> 23 <string name="text_continue">Continuer</string>
24 <string name="next">Suivant</string> 24 <string name="next">Suivant</string>
25 <string name="back">Retour</string> 25 <string name="back">Retour</string>
26 <string name="add_games">Ajouter des jeux</string> 26 <string name="add_games">Ajouter des jeux</string>
27 <string name="add_games_description">Sélectionner votre dossier de jeux</string> 27 <string name="add_games_description">Sélectionner le dossier des jeux</string>
28 <string name="step_complete">Terminé !</string>
28 29
29 <!-- Home strings --> 30 <!-- Home strings -->
30 <string name="home_games">Jeux</string> 31 <string name="home_games">Jeux</string>
@@ -32,12 +33,13 @@
32 <string name="home_settings">Paramètres</string> 33 <string name="home_settings">Paramètres</string>
33 <string name="empty_gamelist">Aucun fichier n\'a été trouvé ou aucun répertoire de jeu n\'a encore été sélectionné.</string> 34 <string name="empty_gamelist">Aucun fichier n\'a été trouvé ou aucun répertoire de jeu n\'a encore été sélectionné.</string>
34 <string name="search_and_filter_games">Rechercher et filtrer les jeux</string> 35 <string name="search_and_filter_games">Rechercher et filtrer les jeux</string>
35 <string name="select_games_folder">Sélectionner le dossier de jeux</string> 36 <string name="select_games_folder">Sélectionner le dossier des jeux</string>
36 <string name="select_games_folder_description">Permet à yuzu de remplir la liste des jeux</string> 37 <string name="select_games_folder_description">Permet à yuzu de remplir la liste des jeux</string>
37 <string name="add_games_warning">Ne pas sélectionner le dossier des jeux ?</string> 38 <string name="add_games_warning">Ne pas sélectionner le dossier des jeux ?</string>
38 <string name="add_games_warning_description">Les jeux ne seront pas affichés dans la liste des jeux si aucun dossier n\'est sélectionné.</string> 39 <string name="add_games_warning_description">Les jeux ne seront pas affichés dans la liste des jeux si aucun dossier n\'est sélectionné.</string>
39 <string name="add_games_warning_help">https://yuzu-emu.org/help/quickstart/#dumping-games</string> 40 <string name="add_games_warning_help">https://yuzu-emu.org/help/quickstart/#dumping-games</string>
40 <string name="home_search_games">Rechercher des jeux</string> 41 <string name="home_search_games">Rechercher des jeux</string>
42 <string name="search_settings">Rechercher un paramètre</string>
41 <string name="games_dir_selected">Répertoire de jeux sélectionné</string> 43 <string name="games_dir_selected">Répertoire de jeux sélectionné</string>
42 <string name="install_prod_keys">Installer prod.keys</string> 44 <string name="install_prod_keys">Installer prod.keys</string>
43 <string name="install_prod_keys_description">Nécessaire pour décrypter les jeux commerciaux.</string> 45 <string name="install_prod_keys_description">Nécessaire pour décrypter les jeux commerciaux.</string>
@@ -46,7 +48,7 @@
46 <string name="install_prod_keys_warning_help">https://yuzu-emu.org/help/quickstart/#guide-introduction</string> 48 <string name="install_prod_keys_warning_help">https://yuzu-emu.org/help/quickstart/#guide-introduction</string>
47 <string name="notifications">Notifications</string> 49 <string name="notifications">Notifications</string>
48 <string name="notifications_description">Accordez l\'autorisation de notification avec le bouton ci-dessous.</string> 50 <string name="notifications_description">Accordez l\'autorisation de notification avec le bouton ci-dessous.</string>
49 <string name="give_permission">Donner la permission</string> 51 <string name="give_permission">Accorder la permission</string>
50 <string name="notification_warning">Ne pas accorder la permission de notification ?</string> 52 <string name="notification_warning">Ne pas accorder la permission de notification ?</string>
51 <string name="notification_warning_description">yuzu ne pourra pas vous communiquer d\'informations importantes.</string> 53 <string name="notification_warning_description">yuzu ne pourra pas vous communiquer d\'informations importantes.</string>
52 <string name="permission_denied">Permission refusée</string> 54 <string name="permission_denied">Permission refusée</string>
@@ -61,12 +63,15 @@
61 <string name="invalid_keys_file">Fichier de clés sélectionné invalide</string> 63 <string name="invalid_keys_file">Fichier de clés sélectionné invalide</string>
62 <string name="install_keys_success">Clés installées avec succès</string> 64 <string name="install_keys_success">Clés installées avec succès</string>
63 <string name="reading_keys_failure">Erreur lors de la lecture des clés de chiffrement</string> 65 <string name="reading_keys_failure">Erreur lors de la lecture des clés de chiffrement</string>
66 <string name="install_prod_keys_failure_extension_description">Vérifiez que votre fichier de clés a une extension .keys et réessayez.</string>
67 <string name="install_amiibo_keys_failure_extension_description">Vérifiez que votre fichier de clés a une extension .bin et réessayez.</string>
64 <string name="invalid_keys_error">Clés de chiffrement invalides</string> 68 <string name="invalid_keys_error">Clés de chiffrement invalides</string>
65 <string name="dumping_keys_quickstart_link">https://yuzu-emu.org/help/quickstart/#dumping-decryption-keys</string> 69 <string name="dumping_keys_quickstart_link">https://yuzu-emu.org/help/quickstart/#dumping-decryption-keys</string>
66 <string name="install_keys_failure_description">Le fichier sélectionné est incorrect ou corrompu. Veuillez dumper à nouveau vos clés.</string> 70 <string name="install_keys_failure_description">Le fichier sélectionné est incorrect ou corrompu. Veuillez dumper à nouveau vos clés.</string>
67 <string name="install_gpu_driver">Installer le pilote du GPU</string> 71 <string name="install_gpu_driver">Installer le pilote du GPU</string>
68 <string name="install_gpu_driver_description">Installez des pilotes alternatifs pour des performances ou une précision potentiellement meilleures</string> 72 <string name="install_gpu_driver_description">Installer des pilotes alternatifs pour des performances ou une précision potentiellement meilleures</string>
69 <string name="advanced_settings">Paramètres avancés</string> 73 <string name="advanced_settings">Paramètres avancés</string>
74 <string name="advanced_settings_game">Paramètres avancés : %1$s</string>
70 <string name="settings_description">Configurer les paramètres de l\'émulateur</string> 75 <string name="settings_description">Configurer les paramètres de l\'émulateur</string>
71 <string name="search_recently_played">Joué récemment</string> 76 <string name="search_recently_played">Joué récemment</string>
72 <string name="search_recently_added">Ajouté récemment</string> 77 <string name="search_recently_added">Ajouté récemment</string>
@@ -86,6 +91,33 @@
86 <string name="save_file_invalid_zip_structure_description">Le nom du premier sous-dossier doit être l\'identifiant du titre du jeu.</string> 91 <string name="save_file_invalid_zip_structure_description">Le nom du premier sous-dossier doit être l\'identifiant du titre du jeu.</string>
87 <string name="import_saves">Importer</string> 92 <string name="import_saves">Importer</string>
88 <string name="export_saves">Exporter</string> 93 <string name="export_saves">Exporter</string>
94 <string name="install_firmware">Installer le firmware</string>
95 <string name="install_firmware_description">Le firmware doit être dans une archive ZIP et est nécessaire pour démarrer certains jeux.</string>
96 <string name="firmware_installing">Installation du firmware</string>
97 <string name="firmware_installed_success">Firmware installé avec succès</string>
98 <string name="firmware_installed_failure">L\'installation du firmware a échoué</string>
99 <string name="firmware_installed_failure_description">Assurez-vous que les fichiers NCA du firmware se trouvent à la racine du fichier ZIP, puis réessayez.</string>
100 <string name="share_log">Partager les logs de débogage</string>
101 <string name="share_log_description">Partagez le fichier de log de yuzu pour déboguer les problèmes.</string>
102 <string name="share_log_missing">Aucun fichier de log trouvé</string>
103 <string name="install_game_content">Installer le contenu du jeu</string>
104 <string name="install_game_content_description">Installer une mise à jour ou un DLC</string>
105 <string name="installing_game_content">Installation du contenu en cours...</string>
106 <string name="install_game_content_failure">Erreur lors de l\'installation du fichier dans la NAND</string>
107 <string name="install_game_content_failure_description">Veuillez vous assurer que le contenu est valide et que le fichier prod.keys est installé.</string>
108 <string name="install_game_content_failure_base">L\'installation de jeux de base n\'est pas autorisée afin d\'éviter d\'éventuels conflits.</string>
109 <string name="install_game_content_failure_file_extension">Seuls les contenus NSP et XCI sont pris en charge. Veuillez vérifier que le contenu du jeu est valide.</string>
110 <string name="install_game_content_failed_count">%1$d erreur(s) d\'installation</string>
111 <string name="install_game_content_success">Contenu du jeu installé avec succès</string>
112 <string name="install_game_content_success_install">%1$d installé avec succès</string>
113 <string name="install_game_content_success_overwrite">%1$d écrasé avec succès</string>
114 <string name="install_game_content_help_link">https://yuzu-emu.org/help/quickstart/#dumping-installed-updates</string>
115 <string name="custom_driver_not_supported">Pilotes personnalisés non supporté</string>
116 <string name="custom_driver_not_supported_description">Le chargement des pilotes personnalisés ne sont pas actuellement pris en charge pour ce périphérique. Vérifiez à nouveau cette option à l\'avenir pour voir si la prise en charge a été ajoutée !</string>
117 <string name="manage_yuzu_data">Gérer les données de yuzu</string>
118 <string name="manage_yuzu_data_description">Importer/exporter le firmware, les clés, les données utilisateur, et bien plus encore !</string>
119 <string name="share_save_file">Partager le fichier de sauvegarde</string>
120 <string name="export_save_failed">Échec de l\'exportation de la sauvegarde</string>
89 121
90 <!-- About screen strings --> 122 <!-- About screen strings -->
91 <string name="gaia_is_not_real">Gaia n\'est pas réel</string> 123 <string name="gaia_is_not_real">Gaia n\'est pas réel</string>
@@ -94,7 +126,18 @@
94 <string name="contributors">Contributeurs</string> 126 <string name="contributors">Contributeurs</string>
95 <string name="contributors_description">Fait avec \u2764 de l\'équipe yuzu</string> 127 <string name="contributors_description">Fait avec \u2764 de l\'équipe yuzu</string>
96 <string name="contributors_link">https://github.com/yuzu-emu/yuzu/graphs/contributors</string> 128 <string name="contributors_link">https://github.com/yuzu-emu/yuzu/graphs/contributors</string>
129 <string name="licenses_description">Des projets qui rendent possible yuzu pour Android</string>
97 <string name="build">Build</string> 130 <string name="build">Build</string>
131 <string name="user_data">Données utilisateur</string>
132 <string name="user_data_description">Importer/exporter toutes les données de l\'application.\n\nLors de l\'importation des données utilisateur, toutes les données utilisateur existantes seront supprimées !</string>
133 <string name="exporting_user_data">Exportation des données utilisateur...</string>
134 <string name="importing_user_data">Importation des données utilisateur...</string>
135 <string name="import_user_data">Importer des données utilisateur</string>
136 <string name="invalid_yuzu_backup">Backup yuzu invalide</string>
137 <string name="user_data_export_success">Les données utilisateur ont été exportés avec succès</string>
138 <string name="user_data_import_success">Les données utilisateur ont été importées avec succès</string>
139 <string name="user_data_export_cancelled">Exportation annulée</string>
140 <string name="user_data_import_failed_description">Assurez-vous que les dossiers de données utilisateur se trouvent à la racine du dossier ZIP et contiennent un fichier de configuration à config/config.ini, puis réessayez.</string>
98 <string name="support_link">https://discord.gg/u77vRWY</string> 141 <string name="support_link">https://discord.gg/u77vRWY</string>
99 <string name="website_link">https://yuzu-emu.org/</string> 142 <string name="website_link">https://yuzu-emu.org/</string>
100 <string name="github_link">https://github.com/yuzu-emu</string> 143 <string name="github_link">https://github.com/yuzu-emu</string>
@@ -114,64 +157,87 @@
114 <string name="are_you_interested">Es tu intéressé ?</string> 157 <string name="are_you_interested">Es tu intéressé ?</string>
115 158
116 <!-- General settings strings --> 159 <!-- General settings strings -->
117 <string name="frame_limit_enable">Activer la vitesse limite</string> 160 <string name="frame_limit_enable">Limitation de vitesse</string>
118 <string name="frame_limit_enable_description">Lorsqu\'elle est activée, la vitesse d\'émulation sera limitée à un pourcentage spécifié de la vitesse normale.</string> 161 <string name="frame_limit_enable_description">Limiter la vitesse d\'émulation à un pourcentage spécifié de la vitesse normale</string>
119 <string name="frame_limit_slider">Limite en pourcentage de vitesse</string> 162 <string name="frame_limit_slider">Limite en pourcentage de vitesse</string>
120 <string name="frame_limit_slider_description">Spécifie le pourcentage pour limiter la vitesse d\'émulation. Avec la valeur par défaut de 100%, l\'émulation sera limitée à la vitesse normale. Des valeurs supérieures ou inférieures augmenteront ou diminueront la limite de vitesse.</string> 163 <string name="frame_limit_slider_description">Spécifier le pourcentage pour limiter la vitesse d\'émulation. 100% correspond à la vitesse normale. Des valeurs plus élevées ou plus basses augmenteront ou diminueront la limite de vitesse.</string>
121 <string name="cpu_accuracy">Précision du CPU</string> 164 <string name="cpu_accuracy">Précision du CPU</string>
165 <string name="value_with_units">%1$s%2$s</string>
122 166
123 <!-- System settings strings --> 167 <!-- System settings strings -->
124 <string name="use_docked_mode">Mode TV</string> 168 <string name="use_docked_mode">Mode TV</string>
125 <string name="use_docked_mode_description">Émuler en mode TV augmente la résolution au détriment des performances.</string> 169 <string name="use_docked_mode_description">Augmenter la résolution, ce qui diminue les performances. Le mode portable est utilisé lorsque la fonction est désactivée, ce qui réduit la résolution et améliore les performances.</string>
126 <string name="emulated_region">Région émulée</string> 170 <string name="emulated_region">Région émulée</string>
127 <string name="emulated_language">Langue émulée</string> 171 <string name="emulated_language">Langue émulée</string>
128 <string name="select_rtc_date">Sélectionner la date RTC</string> 172 <string name="select_rtc_date">Sélectionner la date RTC</string>
129 <string name="select_rtc_time">Sélectionner l\'heure RTC</string> 173 <string name="select_rtc_time">Sélectionner l\'heure RTC</string>
130 <string name="use_custom_rtc">Activer l\'horloge RTC personnalisée</string> 174 <string name="use_custom_rtc">RTC personnalisé</string>
131 <string name="use_custom_rtc_description">Ce paramètre vous permet de définir une horloge en temps réel personnalisée distincte de l\'heure actuelle de votre système.</string> 175 <string name="use_custom_rtc_description">Vous permet de définir une horloge en temps réel personnalisée distincte de l\'heure actuelle de votre système.</string>
132 <string name="set_custom_rtc">Définir l\'horloge RTC personnalisée</string> 176 <string name="set_custom_rtc">Définir l\'horloge RTC personnalisée</string>
133 177
134 <!-- Graphics settings strings --> 178 <!-- Graphics settings strings -->
135 <string name="renderer_api">API</string>
136 <string name="renderer_accuracy">Niveau de précision</string> 179 <string name="renderer_accuracy">Niveau de précision</string>
137 <string name="renderer_resolution">Résolution</string> 180 <string name="renderer_resolution">Résolution (Mode Portable/Mode TV)</string>
138 <string name="renderer_vsync">Mode VSync</string> 181 <string name="renderer_vsync">Mode VSync</string>
182 <string name="renderer_screen_layout">Orientation</string>
139 <string name="renderer_aspect_ratio">Format</string> 183 <string name="renderer_aspect_ratio">Format</string>
140 <string name="renderer_scaling_filter">Filtre de fenêtre adaptatif</string> 184 <string name="renderer_scaling_filter">Filtre de fenêtre adaptatif</string>
141 <string name="renderer_anti_aliasing">Méthode d\'anticrénelage :</string> 185 <string name="renderer_anti_aliasing">Méthode d\'anticrénelage</string>
142 <string name="renderer_force_max_clock">Forcer la fréquence d\'horloge maximale (Adreno uniquement)</string> 186 <string name="renderer_force_max_clock">Forcer les fréquences maximales (Adreno uniquement)</string>
143 <string name="renderer_force_max_clock_description">Force le GPU à fonctionner au maximum d\'horloges possibles (les contraintes thermiques seront toujours appliquées).</string> 187 <string name="renderer_force_max_clock_description">Forcer le GPU à fonctionner à ses fréquences maximales possibles (les contraintes thermiques seront toujours appliquées).</string>
144 <string name="renderer_asynchronous_shaders">Utiliser les shaders asynchrones</string> 188 <string name="renderer_asynchronous_shaders">Utiliser les shaders asynchrones</string>
145 <string name="renderer_asynchronous_shaders_description">Compile les shaders de manière asynchrone, ce qui réduira les saccades mais peut entraîner des problèmes visuels.</string> 189 <string name="renderer_asynchronous_shaders_description">Compile les shaders de manière asynchrone, réduisant les saccades mais pouvant entraîner des problèmes visuels.</string>
146 <string name="renderer_debug">Activer le débogage des graphismes</string> 190 <string name="renderer_reactive_flushing">Utiliser le vidage réactif</string>
147 <string name="renderer_debug_description">Lorsque cette case est cochée, l\'API graphique entre dans un mode de débogage plus lent.</string> 191 <string name="renderer_reactive_flushing_description">Améliore la précision du rendu dans certains jeux au détriment des performances.</string>
148 <string name="use_disk_shader_cache">Utiliser les shader cache de disque</string> 192 <string name="use_disk_shader_cache">Utiliser les shader cache</string>
149 <string name="use_disk_shader_cache_description">Réduire les saccades en stockant et en chargeant les shaders générés sur le disque.</string> 193 <string name="use_disk_shader_cache_description">Réduire les saccades en stockant et en chargeant localement les shaders générés</string>
194
195 <!-- Debug settings strings -->
196 <string name="cpu">CPU</string>
197 <string name="cpu_debug_mode">Débogage du CPU</string>
198 <string name="cpu_debug_mode_description">Place le CPU en mode lent de débogage.</string>
199 <string name="gpu">GPU</string>
200 <string name="renderer_api">API</string>
201 <string name="renderer_debug">Débogage des graphismes</string>
202 <string name="renderer_debug_description">Définit l\'API graphique en mode de débogage lent.</string>
203 <string name="fastmem">Fastmem</string>
150 204
151 <!-- Audio settings strings --> 205 <!-- Audio settings strings -->
206 <string name="audio_output_engine">Moteur de sortie</string>
152 <string name="audio_volume">Volume</string> 207 <string name="audio_volume">Volume</string>
153 <string name="audio_volume_description">Spécifie le volume de la sortie audio.</string> 208 <string name="audio_volume_description">Spécifier le volume de la sortie audio.</string>
154 209
155 <!-- Miscellaneous --> 210 <!-- Miscellaneous -->
156 <string name="slider_default">Défaut</string> 211 <string name="slider_default">Par défaut</string>
157 <string name="ini_saved">Paramètres enregistrés</string> 212 <string name="ini_saved">Paramètres enregistrés</string>
158 <string name="gameid_saved">Paramètres enregistrés pour %1$s</string> 213 <string name="gameid_saved">Paramètres enregistrés pour %1$s</string>
159 <string name="error_saving">Erreur lors de l\'enregistrement de %1$s.ini: %2$s</string> 214 <string name="error_saving">Erreur lors de l\'enregistrement de %1$s.ini: %2$s</string>
215 <string name="unimplemented_menu">Menu non implémenté</string>
160 <string name="loading">Chargement...</string> 216 <string name="loading">Chargement...</string>
161 <string name="reset_setting_confirmation">Voulez-vous réinitialiser ce paramètre à sa valeur par défaut ?</string> 217 <string name="shutting_down">Extinction en cours...</string>
218 <string name="reset_setting_confirmation">Voulez-vous réinitialiser ce paramètre à sa valeur par défaut ?</string>
162 <string name="reset_to_default">Réinitialiser par défaut</string> 219 <string name="reset_to_default">Réinitialiser par défaut</string>
163 <string name="reset_all_settings">Réinitialiser tous les réglages ?</string> 220 <string name="reset_all_settings">Réinitialiser tous les réglages ?</string>
164 <string name="reset_all_settings_description">Tous les paramètres avancés seront réinitialisés à leur configuration par défaut. Ça ne peut pas être annulé.</string> 221 <string name="reset_all_settings_description">Tous les paramètres avancés seront réinitialisés à leur configuration par défaut. Ça ne peut pas être annulé.</string>
165 <string name="settings_reset">Paramètres réinitialisés</string> 222 <string name="settings_reset">Paramètres réinitialisés</string>
166 <string name="close">Fermer</string> 223 <string name="close">Fermer</string>
167 <string name="learn_more">Plus d\'informations</string> 224 <string name="learn_more">En savoir plus</string>
225 <string name="auto">Auto</string>
226 <string name="submit">Soumettre</string>
227 <string name="string_null">Nul</string>
228 <string name="string_import">Importer</string>
229 <string name="export">Exporter</string>
230 <string name="export_failed">L\'exportation a échoué</string>
231 <string name="import_failed">L\'importation a échoué</string>
232 <string name="cancelling">Annulation</string>
168 233
169 <!-- GPU driver installation --> 234 <!-- GPU driver installation -->
170 <string name="select_gpu_driver">Sélectionner le pilote du GPU</string> 235 <string name="select_gpu_driver">Sélectionner le pilote du GPU</string>
171 <string name="select_gpu_driver_title">Souhaitez vous remplacer votre pilote actuel ?</string> 236 <string name="select_gpu_driver_title">Souhaitez vous remplacer votre pilote actuel ?</string>
172 <string name="select_gpu_driver_install">Installer</string> 237 <string name="select_gpu_driver_install">Installer</string>
173 <string name="select_gpu_driver_default">Défaut</string> 238 <string name="select_gpu_driver_default">Par défaut</string>
174 <string name="select_gpu_driver_use_default">Utilisation du pilote de GPU par défaut</string> 239 <string name="select_gpu_driver_use_default">Utilisation du pilote du GPU par défaut</string>
240 <string name="select_gpu_driver_error">Pilote non valide sélectionné, utilisation du paramètre par défaut du système !</string>
175 <string name="system_gpu_driver">Pilote du GPU du système</string> 241 <string name="system_gpu_driver">Pilote du GPU du système</string>
176 <string name="installing_driver">Installation du pilote...</string> 242 <string name="installing_driver">Installation du pilote...</string>
177 243
@@ -182,13 +248,14 @@
182 <string name="preferences_graphics">Vidéo</string> 248 <string name="preferences_graphics">Vidéo</string>
183 <string name="preferences_audio">Audio</string> 249 <string name="preferences_audio">Audio</string>
184 <string name="preferences_theme">Thème et couleur</string> 250 <string name="preferences_theme">Thème et couleur</string>
251 <string name="preferences_debug">Débogage</string>
185 252
186 <!-- ROM loading errors --> 253 <!-- ROM loading errors -->
187 <string name="loader_error_encrypted">Votre ROM est cryptée</string> 254 <string name="loader_error_encrypted">Votre ROM est cryptée</string>
188 <string name="loader_error_encrypted_roms_description"><![CDATA[Veuillez suivre les guides pour redumper vos <a href=\"https://yuzu-emu.org/help/quickstart/#dumping-cartridge-games\">cartouches de jeu</a> ou <a href=\"https://yuzu-emu.org/help/quickstart/#dumping-installed-titles-eshop\">titres installés</a>.]]></string> 255 <string name="loader_error_encrypted_roms_description"><![CDATA[Veuillez suivre les guides pour refaire un dump de vos <a href=\"https://yuzu-emu.org/help/quickstart/#dumping-physical-titles-game-cards\">cartouches de jeu</a> ou de vos <a href=\"https://yuzu-emu.org/help/quickstart/#dumping-digital-titles-eshop\">titres installés</a>.]]></string>
189 <string name="loader_error_encrypted_keys_description"><![CDATA[Veuillez vous assurer que votre fichier <a href=\"https://yuzu-emu.org/help/quickstart/#dumping-prodkeys-and-titlekeys\">prod.keys</a> est installé pour que les jeux puissent être déchiffrés.]]></string> 256 <string name="loader_error_encrypted_keys_description"><![CDATA[Veuillez vous assurer que votre fichier <a href=\"https://yuzu-emu.org/help/quickstart/#dumping-prodkeys-and-titlekeys\">prod.keys</a> est installé pour que les jeux puissent être déchiffrés.]]></string>
190 <string name="loader_error_video_core">Une erreur s\'est produite lors de l\'initialisation du noyau vidéo</string> 257 <string name="loader_error_video_core">Une erreur s\'est produite lors de l\'initialisation du noyau vidéo</string>
191 <string name="loader_error_video_core_description">Cela est généralement dû à un pilote du GPU incompatible. L\'installation d\'un pilote du GPU personnalisé peut résoudre ce problème.</string> 258 <string name="loader_error_video_core_description">Cela est généralement dû à un pilote GPU incompatible. L\'installation d\'un pilote GPU personnalisé peut résoudre ce problème.</string>
192 <string name="loader_error_invalid_format">Impossible de charger la ROM</string> 259 <string name="loader_error_invalid_format">Impossible de charger la ROM</string>
193 <string name="loader_error_file_not_found">Le fichier ROM n\'existe pas</string> 260 <string name="loader_error_file_not_found">Le fichier ROM n\'existe pas</string>
194 261
@@ -198,8 +265,8 @@
198 <string name="emulation_fps_counter">Compteur FPS</string> 265 <string name="emulation_fps_counter">Compteur FPS</string>
199 <string name="emulation_toggle_controls">Activer/Désactiver les contrôles</string> 266 <string name="emulation_toggle_controls">Activer/Désactiver les contrôles</string>
200 <string name="emulation_rel_stick_center">Centre du stick relatif</string> 267 <string name="emulation_rel_stick_center">Centre du stick relatif</string>
201 <string name="emulation_dpad_slide">Glissement du DPad</string> 268 <string name="emulation_dpad_slide">Glissement du D-pad</string>
202 <string name="emulation_haptics">Haptique</string> 269 <string name="emulation_haptics">Toucher haptique</string>
203 <string name="emulation_show_overlay">Afficher l\'overlay</string> 270 <string name="emulation_show_overlay">Afficher l\'overlay</string>
204 <string name="emulation_toggle_all">Tout basculer</string> 271 <string name="emulation_toggle_all">Tout basculer</string>
205 <string name="emulation_control_adjust">Ajuster l\'overlay</string> 272 <string name="emulation_control_adjust">Ajuster l\'overlay</string>
@@ -225,7 +292,10 @@
225 <string name="save_load_error">Erreur de sauvegarde/chargement</string> 292 <string name="save_load_error">Erreur de sauvegarde/chargement</string>
226 <string name="fatal_error">Erreur fatale</string> 293 <string name="fatal_error">Erreur fatale</string>
227 <string name="fatal_error_message">Une erreur fatale s\'est produite. Consultez les logs pour plus de détails.\nContinuer l\'émulation peut entraîner des plantages et des bogues.</string> 294 <string name="fatal_error_message">Une erreur fatale s\'est produite. Consultez les logs pour plus de détails.\nContinuer l\'émulation peut entraîner des plantages et des bogues.</string>
228 <string name="performance_warning">La désactivation de ce paramètre réduira considérablement les performances d\'émulation ! Pour une expérience optimale, il est recommandé de laisser ce paramètre activé.</string> 295 <string name="performance_warning">La désactivation de ce paramètre réduira considérablement les performances d\'émulation ! Pour une expérience optimale, il est recommandé de laisser ce paramètre activé.</string>
296 <string name="device_memory_inadequate">Mémoire RAM de l\'appareil : %1$s\nRecommandé : %2$s</string>
297 <string name="memory_formatted">%1$s %2$s</string>
298 <string name="no_game_present">Aucun jeu démarreable présent !</string>
229 299
230 <!-- Region Names --> 300 <!-- Region Names -->
231 <string name="region_japan">Japon</string> 301 <string name="region_japan">Japon</string>
@@ -236,7 +306,14 @@
236 <string name="region_korea">Corée</string> 306 <string name="region_korea">Corée</string>
237 <string name="region_taiwan">Taïwan</string> 307 <string name="region_taiwan">Taïwan</string>
238 308
239 <!-- Language Names --> 309 <!-- Memory Sizes -->
310 <string name="memory_byte">Octet</string>
311 <string name="memory_kilobyte">Ko</string>
312 <string name="memory_megabyte">Mo</string>
313 <string name="memory_gigabyte">GB</string>
314 <string name="memory_terabyte">To</string>
315 <string name="memory_petabyte">Po</string>
316 <string name="memory_exabyte">Eo</string>
240 317
241 <!-- Renderer APIs --> 318 <!-- Renderer APIs -->
242 <string name="renderer_vulkan">Vulkan</string> 319 <string name="renderer_vulkan">Vulkan</string>
@@ -274,6 +351,11 @@
274 <string name="anti_aliasing_fxaa">FXAA</string> 351 <string name="anti_aliasing_fxaa">FXAA</string>
275 <string name="anti_aliasing_smaa">SMAA</string> 352 <string name="anti_aliasing_smaa">SMAA</string>
276 353
354 <!-- Screen Layouts -->
355 <string name="screen_layout_landscape">Paysage</string>
356 <string name="screen_layout_portrait">Portrait</string>
357 <string name="screen_layout_auto">Auto</string>
358
277 <!-- Aspect Ratios --> 359 <!-- Aspect Ratios -->
278 <string name="ratio_default">Par défaut (16:9)</string> 360 <string name="ratio_default">Par défaut (16:9)</string>
279 <string name="ratio_force_four_three">Forcer le 4:3</string> 361 <string name="ratio_force_four_three">Forcer le 4:3</string>
@@ -288,8 +370,8 @@
288 370
289 <!-- Gamepad Buttons --> 371 <!-- Gamepad Buttons -->
290 <string name="gamepad_d_pad">Pavé directionnel</string> 372 <string name="gamepad_d_pad">Pavé directionnel</string>
291 <string name="gamepad_left_stick">Stick Gauche</string> 373 <string name="gamepad_left_stick">Stick gauche</string>
292 <string name="gamepad_right_stick">Stick Droit</string> 374 <string name="gamepad_right_stick">Stick droit</string>
293 <string name="gamepad_home">Home</string> 375 <string name="gamepad_home">Home</string>
294 <string name="gamepad_screenshot">Capture d\'écran</string> 376 <string name="gamepad_screenshot">Capture d\'écran</string>
295 377
@@ -299,7 +381,7 @@
299 381
300 <!-- Theme options --> 382 <!-- Theme options -->
301 <string name="change_app_theme">Changer le thème de l\'application</string> 383 <string name="change_app_theme">Changer le thème de l\'application</string>
302 <string name="theme_default">Défaut</string> 384 <string name="theme_default">Par défaut</string>
303 <string name="theme_material_you">Material You</string> 385 <string name="theme_material_you">Material You</string>
304 386
305 <!-- Theme Modes --> 387 <!-- Theme Modes -->
@@ -308,8 +390,22 @@
308 <string name="theme_mode_light">Lumineux</string> 390 <string name="theme_mode_light">Lumineux</string>
309 <string name="theme_mode_dark">Sombre</string> 391 <string name="theme_mode_dark">Sombre</string>
310 392
311 <!-- Black backgrounds theme --> 393 <!-- Audio output engines -->
312 <string name="use_black_backgrounds">Utiliser des arrière-plans noirs</string> 394 <string name="cubeb">cubeb</string>
313 <string name="use_black_backgrounds_description">Lorsque vous utilisez le thème sombre, appliquer des arrière-plans noirs.</string>
314 395
315</resources> 396 <!-- Black backgrounds theme -->
397 <string name="use_black_backgrounds">Arrière-plan noir</string>
398 <string name="use_black_backgrounds_description">Lorsque vous utilisez le thème sombre, appliquer un arrière-plan noir.</string>
399
400 <!-- Picture-In-Picture -->
401 <string name="picture_in_picture">Lecteur réduit</string>
402 <string name="picture_in_picture_description">Réduire la fenêtre lorsqu\'elle est placée en arrière-plan</string>
403 <string name="pause">Pause</string>
404 <string name="play">Jouer</string>
405 <string name="mute">Couper le son</string>
406 <string name="unmute">Remettre le son</string>
407
408 <!-- Licenses screen strings -->
409 <string name="licenses">Licences</string>
410 <string name="license_fidelityfx_fsr_description">Mise à l\'échelle de haute qualité par AMD.</string>
411 </resources>
diff --git a/src/android/app/src/main/res/values-he/strings.xml b/src/android/app/src/main/res/values-he/strings.xml
new file mode 100644
index 000000000..0af78a57c
--- /dev/null
+++ b/src/android/app/src/main/res/values-he/strings.xml
@@ -0,0 +1,367 @@
1<?xml version="1.0" encoding="utf-8"?>
2<resources xmlns:tools="http://schemas.android.com/tools" tools:ignore="MissingTranslation">
3
4 <string name="app_disclaimer">התוכנה תריץ ×ž×©×—×§×™× ×œ×§×•× ×¡×•×œ×ª ×” Nintendo Switch. ××£ משחק ×ו ×§×‘×¦×™× ×‘×¢×œ×™ זכויות ×™×•×¦×¨×™× × ×›×œ×œ×™×.&lt;br /&gt;&lt;br /&gt; לפני ש×ת/×” מתחיל בבקשה ×ž×¦× ×ת קובץ <![CDATA[<b>prod.keys</b>]]> על המכשיר.&lt;br /&gt;&lt;br /&gt;<![CDATA[<a href=\"https://yuzu-emu.org/help/quickstart\">×§×¨× ×¢×•×“</a>]]></string>
5 <string name="emulation_notification_channel_name">×מולציה פעילה</string>
6 <string name="emulation_notification_channel_description">מציג התר××” מתמשכת ×›×שר ×”×מולציה פועלת.</string>
7 <string name="emulation_notification_running">yuzu רץ</string>
8 <string name="notice_notification_channel_name">התר×ות ותקלות</string>
9 <string name="notice_notification_channel_description">מציג התר×ות ×›×שר משהו הולך ×œ× ×›×©×•×¨×”.</string>
10 <string name="notification_permission_not_granted">הרש×ות התר×ות ×œ× × ×™×ª× ×”!</string>
11
12 <!-- Setup strings -->
13 <string name="welcome">×‘×¨×•×›×™× ×”×‘××™×!</string>
14 <string name="welcome_description">למד ×יך להפעיל &lt;b>yuzu&lt;/b> וקפוץ ישר ל×מולציה.</string>
15 <string name="get_started">כדי להתחיל</string>
16 <string name="keys">מפתחות</string>
17 <string name="keys_description">בחר ×ת קובץ ×” &lt;b>prod.keys&lt;/b> שלך ×¢× ×”×›×¤×ª×•×¨ למטה.</string>
18 <string name="select_keys">בחר מפתחות</string>
19 <string name="games">משחקי×</string>
20 <string name="games_description">בחר ×ת התיקיית ×” &lt;b>Games&lt;/b> שלך ×¢× ×”×›×¤×ª×•×¨ למטה.</string>
21 <string name="done">סיו×</string>
22 <string name="done_description">×ת/×” מוכן. \nתהנה/×™ ×ž×”×ž×©×—×§×™× ×©×œ×š </string>
23 <string name="text_continue">המשך</string>
24 <string name="next">הב×</string>
25 <string name="back">×חורה</string>
26 <string name="add_games">הוסף משחקי×</string>
27 <string name="add_games_description">בחר/×™ ×ת תיקיית ×”×ž×©×—×§×™× ×©×œ×š</string>
28 <string name="step_complete">הושל×!</string>
29
30 <!-- Home strings -->
31 <string name="home_games">משחקי×</string>
32 <string name="home_search">חפש</string>
33 <string name="home_settings">הגדרות</string>
34 <string name="empty_gamelist">×œ× × ×ž×¦×ו ×§×‘×¦×™× ×ו לנבחרה ספריית ×§×‘×¦×™× ×‘×™× ×ª×™×™×.</string>
35 <string name="search_and_filter_games">חפש וסנן משחקי×</string>
36 <string name="select_games_folder">בחר תיקיית משחקי×</string>
37 <string name="select_games_folder_description">×פשר ל yuzu ל×כלס ×ת רשימת המשחקי×</string>
38 <string name="add_games_warning">לדלג על בחירת תיקיית המשחקי×?</string>
39 <string name="add_games_warning_description">×ž×©×—×§×™× ×œ× ×™×•×¦×’×• ברשימת ×”×ž×©×—×§×™× ×× ×œ× ×‘×—×¨×” תיקיית משחקי×.</string>
40 <string name="add_games_warning_help">https://yuzu-emu.org/help/quickstart/#dumping-games</string>
41 <string name="home_search_games">חפש משחקי×</string>
42 <string name="search_settings">חפש בהגדרות</string>
43 <string name="games_dir_selected">ספריית ×ž×©×—×§×™× × ×‘×—×¨×”</string>
44 <string name="install_prod_keys">התקן prod.keys</string>
45 <string name="install_prod_keys_description">הכרחי בכדי לפענח משחקי×</string>
46 <string name="install_prod_keys_warning">לדלג על הוספת מפתחות?</string>
47 <string name="install_prod_keys_warning_description">מפתחות ×—×•×§×™×™× ×”×›×¨×—×™×™× ×›×“×™ לשחק במשחקי×. רק ×פליקציות פירטיות יפעלו ×× ×ª×ž×©×™×š.</string>
48 <string name="install_prod_keys_warning_help">https://yuzu-emu.org/help/quickstart/#guide-introduction</string>
49 <string name="notifications">התר×ות</string>
50 <string name="notifications_description">תן גישה להתר×ות ×¢× ×”×›×¤×ª×•×¨ למטה.</string>
51 <string name="give_permission">תן הרש××”</string>
52 <string name="notification_warning">דלג על מתן הרש××” להתר×ות?</string>
53 <string name="notification_warning_description">yuzu ×œ× ×™×•×›×œ להתריע לך על מידע חשוב.</string>
54 <string name="permission_denied">הרש××” נדחתה</string>
55 <string name="permission_denied_description">×ת/×” דיחת ×ת ההרש××” יותר מדי ×¤×¢×ž×™× ×•×¢×›×©×™×• ×ת/×” צריך/×” לתת גישה ב×ופן ידני בהגדרות.</string>
56 <string name="about">×ודות</string>
57 <string name="about_description">מספר גירסה, ×§×¨×“×™×˜×™× ×•×¢×•×“</string>
58 <string name="warning_help">עזרה</string>
59 <string name="warning_skip">דלג</string>
60 <string name="warning_cancel">ביטול</string>
61 <string name="install_amiibo_keys">התקן מפתחות Amiibo</string>
62 <string name="install_amiibo_keys_description">נחוץ כדי להשתמש ב Amiibo במשחק</string>
63 <string name="invalid_keys_file">קובץ מפתחות ×œ× ×—×•×§×™ נבחר</string>
64 <string name="install_keys_success">מפתחות הותקנו בהצלחה</string>
65 <string name="reading_keys_failure">שגי××” בקרי×ת מפתחות ההצפנה</string>
66 <string name="install_prod_keys_failure_extension_description">×•×“× ×©×œ×§×•×‘×¥ המפתחות שלך יש סיומת של key. ונסה/×™ שוב.</string>
67 <string name="install_amiibo_keys_failure_extension_description">וד×/×™ שלקובץ המפתחות שלך יש סיומת של bin. ונסה/×™ שוב.</string>
68 <string name="invalid_keys_error">מפתחות הצפנה ×œ× ×—×•×§×™×™×</string>
69 <string name="dumping_keys_quickstart_link">https://yuzu-emu.org/help/quickstart/#dumping-decryption-keys</string>
70 <string name="install_keys_failure_description">קבוץ שנבחר מושחת ×ו ×œ× × ×›×•×Ÿ. בבקשה ×”×•×¦× ×ž×—×“×© ×ת המפתחות שלך.</string>
71 <string name="install_gpu_driver">התקן דרייבר למעבד הגרפי</string>
72 <string name="install_gpu_driver_description">התקן ×“×¨×™×™×‘×¨×™× ××—×¨×™× ×‘×©×‘×™×œ סיכוי ×œ×‘×™×¦×•×¢×™× ×ו דיוק ×’×‘×•×”×”×™× ×™×•×ª×¨</string>
73 <string name="advanced_settings">הגדרות מתקדמות</string>
74 <string name="advanced_settings_game">הגדרות מתקדמות: %1$s</string>
75 <string name="settings_description">הדר ×ת הגדרות ×”×מולטור</string>
76 <string name="search_recently_played">שוחק ל×חרונה</string>
77 <string name="search_recently_added">הוסף ל×חרונה</string>
78 <string name="search_retail">קמעונ××™</string>
79 <string name="search_homebrew">Homebrew</string>
80 <string name="open_user_folder">פתח ×ת תיקיית yuzu </string>
81 <string name="open_user_folder_description">× ×” ל ×ת ×”×§×‘×¦×™× ×”×¤× ×™×ž×™×™×Ÿ של yuzu</string>
82 <string name="theme_and_color_description">ערוך ×ת נר×ות ×”×פליקציה</string>
83 <string name="no_file_manager">×œ× × ×ž×¦× ×ž× ×”×œ קבצי×</string>
84 <string name="notification_no_directory_link">×œ× ×™×›×•×œ לפתוח ×ת ספריית yuzu</string>
85 <string name="notification_no_directory_link_description">בבקשה ×ž×§× ×ת תיקיית המשתמש בפנל הצידי של מנהל ×”×§×‘×¦×™× ×‘×ופן ידני.</string>
86 <string name="manage_save_data">נהל מידע שמור</string>
87 <string name="manage_save_data_description">מידע שמור ×œ× × ×ž×¦×. בבקשה בחר/×™ ×ופציה מלמטה</string>
88 <string name="import_export_saves_description">×™×‘× ×ו ×™×¦× ×§×‘×¦×™ שמירה</string>
89 <string name="save_file_imported_success">×™×•×‘× ×‘×”×¦×œ×—×”</string>
90 <string name="save_file_invalid_zip_structure">מבנה ספריית השמירות ×œ× ×—×•×§×™</string>
91 <string name="save_file_invalid_zip_structure_description">התת תיקייה הר×שונה חייב להיות ×” title ID של המשחק</string>
92 <string name="import_saves">ייבו×</string>
93 <string name="export_saves">ייצו×</string>
94 <string name="install_firmware">התקן firmware</string>
95 <string name="install_firmware_description">×” frimware חייב להיות בקובץ zip ×•×”×•× ×”×›×¨×—×™ להפעלת חלק מהמשחקי×</string>
96 <string name="firmware_installing">מתקין frimware</string>
97 <string name="firmware_installed_success">ה frimware הותקן בהצלחה</string>
98 <string name="firmware_installed_failure">התקנת ה frimware נכשלה</string>
99 <string name="firmware_installed_failure_description">×•×“× ×©×§×‘×¦×™ ×” firmware nca נמצ××™× ×‘×©×•×¨×© ×” zip ונסה שוב.</string>
100 <string name="share_log">שתף ×ת יומני ×”×¨×™×©×•× ×©×œ מיפוי הב××’×™×</string>
101 <string name="share_log_description">שתף ×ת קובץ יומני ×”×¨×™×©×•× ×©×œ yuzu בכדי לתקן בעיות</string>
102 <string name="share_log_missing">×œ× × ×ž×¦× ×§×•×‘×¥ יומן רישו×</string>
103 <string name="install_game_content">התקן תוכן משחק</string>
104 <string name="install_game_content_description">התקן עדכוני משחק ×ו DLC</string>
105 <string name="installing_game_content">מתקין תוכן...</string>
106 <string name="install_game_content_failure">תקלה בהתקנת הקובץ (×ו קבצי×) ל NAND</string>
107 <string name="install_game_content_failure_description">בבקשה ×•×“× ×©×”×ª×•×›×Ÿ (×ו תכני×) ×—×•×§×™×™× ×•×©×§×•×‘×¥ ×” prod.keys מותקן.</string>
108 <string name="install_game_content_failure_base">התקנת משחק בסיס נדחת בכדי להימנע ×ž×§×•× ×¤×œ×™×§×˜×™× ×פשריי×.</string>
109 <string name="install_game_content_failure_file_extension">רק קבצי NSP ו XCI נתמכי×. בבקשה ×•×“× ×©×ª×•×›×Ÿ (×ו תכני×) המשחק חוקי.</string>
110 <string name="install_game_content_failed_count">%1$dבעיה (בעיות) התקנה</string>
111 <string name="install_game_content_success">תוכן (×ו תכני) המשחק הותקנו בהצלחה</string>
112 <string name="install_game_content_success_install">%1$d הותקן בהצלחה</string>
113 <string name="install_game_content_success_overwrite">%1$d נדרס/נכתב מעל בהצלחה</string>
114 <string name="install_game_content_help_link">https://yuzu-emu.org/help/quickstart/#dumping-installed-updates</string>
115 <string name="custom_driver_not_supported">×“×¨×™×™×‘×¨×™× ×ž×•×ª××ž×™× ×ישית ×œ× × ×ª×ž×›×™×</string>
116 <string name="custom_driver_not_supported_description">הטענת ×“×¨×™×™×‘×™× ×ž×•×ª××ž×™× ×ישית ×œ× × ×ª×ž×š כרגע על מכשיר ×–×”. \nבבקשה בדוק ×ופציה זו בעתיד בכדי לר×ות ×× × ×•×¡×¤×” תמיכה!</string>
117 <string name="manage_yuzu_data">נהל ×ת המידע של yuzu</string>
118 <string name="manage_yuzu_data_description">יב×/×™×¦× firmware, keys, מידע של משתמש ועוד!</string>
119 <string name="share_save_file">שתף קובץ שמירה</string>
120 <string name="export_save_failed">נכשל ×‘×™×™×¦×•× ×©×ž×™×¨×”</string>
121
122 <!-- About screen strings -->
123 <string name="gaia_is_not_real">Gaia ×œ× ×מיתית</string>
124 <string name="copied_to_clipboard">הועתק ללוח</string>
125 <string name="about_app_description">×מולטור Switch ×¢× ×§×•×“ פתוח</string>
126 <string name="contributors">תורמי×</string>
127 <string name="contributors_description">נוצר ×¢× \u2764 מקבוצת yuzu</string>
128 <string name="contributors_link">https://github.com/yuzu-emu/yuzu/graphs/contributors</string>
129 <string name="licenses_description">×¤×¨×•×™×™×§×˜×™× ×©×”×•×¤×›×™× ×ת yuzu ל Android ×פשרי</string>
130 <string name="build">גרסה</string>
131 <string name="user_data">נתוני משתמש</string>
132 <string name="user_data_description">יב×/×™×¦× ×ת כל נתוני ×”×פליקציה.\n\n×›×שר מייב××™× ×ת נתוני המשתמש, כל נתוני המשתמש ×”×§×™×™×ž×™× ×™×ž×—×§×•!</string>
133 <string name="exporting_user_data">×ž×™×™×¦× × ×ª×•× ×™ משתמש...</string>
134 <string name="importing_user_data">×ž×™×™×‘× × ×ª×•× ×™ משתמש...</string>
135 <string name="import_user_data">×™×‘× × ×ª×•× ×™ משתמש</string>
136 <string name="invalid_yuzu_backup">גיבוי yuzu ×œ× ×—×•×§×™</string>
137 <string name="user_data_export_success">נתוני משתמש יוצ×ו בהצלחה</string>
138 <string name="user_data_import_success">נתוני משתמש יוב×ו בהצלחה</string>
139 <string name="user_data_export_cancelled">×™×™×¦×•× ×‘×•×˜×œ</string>
140 <string name="user_data_import_failed_description">×•×“× ×©× ×ª×•× ×™ המשתמש נמצ××™× ×‘×©×•×¨×© קובץ ×” zip ×•×©×”×•× ×ž×›×™×œ קובץ סידור ב config/config.ini ונסה שוב.</string>
141 <string name="support_link">https://discord.gg/u77vRWY</string>
142 <string name="website_link">https://yuzu-emu.org/</string>
143 <string name="github_link">https://github.com/yuzu-emu</string>
144
145 <!-- Early access upgrade strings -->
146 <string name="early_access">גישה מוקדמת</string>
147 <string name="get_early_access">קבל גישה מוקדמת</string>
148 <string name="play_store_link">https://play.google.com/store/apps/details?id=org.yuzu.yuzu_emu.ea</string>
149 <string name="get_early_access_description">תכונות חותכות קצה, גישה מוקדמת לעדכוני×, ועוד</string>
150 <string name="early_access_benefits">יתרונות של גישה מקודמת</string>
151 <string name="cutting_edge_features">תכונות חותכות קצה</string>
152 <string name="early_access_updates">גישה מוקדמת לעדכוני×</string>
153 <string name="no_manual_installation">×œ×œ× ×”×ª×§× ×” ידנית</string>
154 <string name="prioritized_support">תמיכה בעדיפות</string>
155 <string name="helping_game_preservation">עוזר בשמירת משחקי×</string>
156 <string name="our_eternal_gratitude">התודה ×”×ינסופית שלנו</string>
157 <string name="are_you_interested">×תה מעוניין?</string>
158
159 <!-- General settings strings -->
160 <string name="frame_limit_enable">הגבל מהירות</string>
161 <string name="frame_limit_enable_description">מגביל ×ת מהירות ×”×מולציה ל×חוז מהירות המבוקש מהמהירות הרגילה.</string>
162 <string name="frame_limit_slider">הגבל ×ת ×חוז המהירות</string>
163 <string name="frame_limit_slider_description">מדייק ×ת ×חוז מהירות ×”×מולציה. 100% ×–×” מהירות רגילה. ×¢×¨×›×™× ×’×“×•×œ×™× ×ו ×§×˜× ×™× ×™×יצו ×ו ×™×טו ×ת מהירות ×”×מולציה.</string>
164 <string name="cpu_accuracy">דיוק המעבד</string>
165 <string name="value_with_units">%1$s%2$s</string>
166
167 <!-- System settings strings -->
168 <string name="use_docked_mode">מצב עגינה</string>
169 <string name="use_docked_mode_description">מעלה ×ת הרזולוציה, פוגע בביצועי×. משתמש במצב נייד ×›×שר מנוטרל, מפחית ×ת הרזולוציה ומעלה ×ת הביצועי×.</string>
170 <string name="emulated_region">×זור ×מולציה</string>
171 <string name="emulated_language">שפת ×מולציה</string>
172 <string name="select_rtc_date">בחר ת×ריך RTC</string>
173 <string name="select_rtc_time">בחר זמן RTC</string>
174 <string name="use_custom_rtc">RTC מות×× ×ישית</string>
175 <string name="use_custom_rtc_description">מ×פשר לך לקבוע שעון זמן ×מת נפרד משעון המערכת שלך.</string>
176 <string name="set_custom_rtc">קבע RTC מות×× ×ישית</string>
177
178 <!-- Graphics settings strings -->
179 <string name="renderer_accuracy">רמת דיוק</string>
180 <string name="renderer_resolution">רזולוציה (מעוגן/נייד)</string>
181 <string name="renderer_vsync">מצב VSync</string>
182 <string name="renderer_screen_layout">כיוון</string>
183 <string name="renderer_aspect_ratio">יחס רוחב גובה</string>
184 <string name="renderer_scaling_filter">פילטר מת×× ×—×œ×•×Ÿ</string>
185 <string name="renderer_anti_aliasing">שיטת Anti-aliasing</string>
186 <string name="renderer_force_max_clock">החזק מהירות שעון מקסימלית (רק ל Adreno)</string>
187 <string name="renderer_force_max_clock_description">מכריח לדחוף ×ת מהירויות המעבד הגרפי ×œ×ž×§×¡×™×ž×•× (הגבלות ×—×•× ×™×ž×©×™×›×• לתפקד).</string>
188 <string name="renderer_reactive_flushing_description">משפר ×ת הדיוק של ×”×מולציה ×‘×ž×©×—×§×™× ×ž×¡×•×™×™×ž×™× ×‘×ž×—×™×¨ של ביצועי×.</string>
189 <!-- Debug settings strings -->
190 <string name="cpu">מעבד</string>
191 <string name="cpu_debug_mode_description">מכניס ×ת המעבד למצב דיב××’ ×יטי</string>
192 <string name="gpu">מעבד גרפי</string>
193 <!-- Audio settings strings -->
194 <string name="audio_output_engine">מנוע פלט</string>
195 <string name="audio_volume">עוצמת שמע</string>
196 <!-- Miscellaneous -->
197 <string name="slider_default">ברירת מחדל</string>
198 <string name="ini_saved">הגדרות שמורות</string>
199 <string name="gameid_saved">הגדרות שמורות עבור %1$s</string>
200 <string name="error_saving">תקלה בשמירת %1$s.ini: %2$s</string>
201 <string name="loading">טוען...</string>
202 <string name="shutting_down">כיבוי...</string>
203 <string name="reset_setting_confirmation">×תה מעוניין ל×פס ×ת ההגדרה הזו חזרה לברירת המחדל?</string>
204 <string name="reset_to_default">×פס לברירת המחדל</string>
205 <string name="reset_all_settings">ל×פס ×ת כל ההגדרות?</string>
206 <string name="reset_all_settings_description">כל ההגדרות המתקדמות ×™×ופסו לברירת המחדל. ×œ× × ×™×ª×Ÿ לבטל פעולה זו.</string>
207 <string name="settings_reset">×פס הגדרות</string>
208 <string name="close">סגור</string>
209 <string name="learn_more">למד עוד</string>
210 <string name="auto">×וטומטי</string>
211 <string name="submit">שלח</string>
212 <string name="string_import">ייבו×</string>
213 <string name="export">ייצו×</string>
214 <string name="export_failed">×™×™×¦×•× × ×›×©×œ</string>
215 <string name="import_failed">×™×™×‘×•× × ×›×©×œ</string>
216 <string name="cancelling">מבטל</string>
217
218 <!-- GPU driver installation -->
219 <string name="select_gpu_driver">בחר דרייבר למעבד הגרפי</string>
220 <string name="select_gpu_driver_title">×תה מעוניין להחליף ×ת הדרייבר של המעבד הגרפי שלך?</string>
221 <string name="select_gpu_driver_install">התקן</string>
222 <string name="select_gpu_driver_default">ברירת מחדל</string>
223 <string name="select_gpu_driver_use_default">משתמש בדרייבר ברירת המחדל של המעבד הגרפי</string>
224 <string name="select_gpu_driver_error">דרייבר ×œ× ×—×•×§×™ נבחר, משתמש בברירת המחדל של המערכת!</string>
225 <string name="system_gpu_driver">דרייבר של המעבד הגרפי של המערכת</string>
226 <string name="installing_driver">מתקין דרייבר...</string>
227
228 <!-- Preferences Screen -->
229 <string name="preferences_settings">הגדרות</string>
230 <string name="preferences_general">כללי</string>
231 <string name="preferences_system">מערכת</string>
232 <string name="preferences_graphics">גרפיקה</string>
233 <string name="preferences_audio">שמע</string>
234 <string name="preferences_theme">צבע ונוש×</string>
235 <!-- ROM loading errors -->
236 <string name="loader_error_encrypted">המשחק שלך מוצפן</string>
237 <string name="loader_error_invalid_format">×ין ×פשרות לטעון ×ת המשחק</string>
238 <string name="loader_error_file_not_found">קובץ המשחק ×œ× ×§×™×™×</string>
239
240 <!-- Emulation Menu -->
241 <string name="emulation_exit">×¦× ×ž×”×מולציה</string>
242 <string name="emulation_done">סיו×</string>
243 <string name="emulation_fps_counter">סופר FPS</string>
244 <string name="emulation_control_scale">קנה מידה</string>
245 <string name="emulation_control_opacity">שקיפות</string>
246 <string name="emulation_pause">עצור ×מולציה</string>
247 <string name="emulation_unpause">המשך ×מולציה</string>
248 <string name="load_settings">טוען הגדרות...</string>
249
250 <!-- Software keyboard -->
251 <string name="software_keyboard">מקלדת תוכנה</string>
252
253 <!-- Errors and warnings -->
254 <string name="abort_button">×ודות</string>
255 <string name="continue_button">המשך</string>
256 <string name="system_archive_not_found">×רכיון מערכת ×œ× × ×ž×¦×</string>
257 <string name="system_archive_not_found_message">%s חסר. בבקשה ×”×•×¦× ×ª× ×רכיוני המערכת שלך./nהמשכת ×”×מולציה עלולה ×œ×’×¨×•× ×œ×§×¨×™×¡×•×ª וב××’×™×.</string>
258 <string name="system_archive_general">×רכיון מערכת</string>
259 <string name="save_load_error">בעיית שמירה/טעינה</string>
260 <string name="fatal_error">שגי××” חמורה</string>
261 <string name="device_memory_inadequate">RAM המכשיר: %1$s/nמומלץ: %2$s</string>
262 <string name="memory_formatted">%1$s%2$s</string>
263 <string name="no_game_present">×ין משחק שניתן להריץ!</string>
264
265 <!-- Region Names -->
266 <string name="region_japan">יפן</string>
267 <string name="region_usa">×רה״ב</string>
268 <string name="region_europe">×ירופה</string>
269 <string name="region_australia">×וסטרליה</string>
270 <string name="region_china">סין</string>
271 <string name="region_korea">קורי××”</string>
272 <string name="region_taiwan">טייוו×ן</string>
273
274 <!-- Memory Sizes -->
275 <string name="memory_byte">בייט</string>
276 <string name="memory_kilobyte">KB</string>
277 <string name="memory_megabyte">MB</string>
278 <string name="memory_gigabyte">GB</string>
279 <string name="memory_terabyte">TB</string>
280 <string name="memory_petabyte">PB</string>
281 <string name="memory_exabyte">EB</string>
282
283 <!-- Renderer APIs -->
284 <string name="renderer_vulkan">Vulkan</string>
285 <string name="renderer_none">×ין ×©×•× ×“×‘×¨</string>
286
287 <!-- Renderer Accuracy -->
288 <string name="renderer_accuracy_normal">רגיל</string>
289 <string name="renderer_accuracy_high">גבוה</string>
290 <string name="renderer_accuracy_extreme">××§×¡×˜×¨×™× (×יטי)</string>
291
292 <!-- Resolutions -->
293 <string name="resolution_half">0.5X (360p/540p)</string>
294 <string name="resolution_three_quarter">0.75X (540p/810p)</string>
295 <string name="resolution_one">1X (720p/1080p)</string>
296 <string name="resolution_two">2X (1440p/2160p) (×יטי)</string>
297 <string name="resolution_three">3X (2160p/3240p) (×יטי)</string>
298 <string name="resolution_four">4X (2880p/4320p) (×יטי)</string>
299
300 <string name="renderer_vsync_mailbox">תיבת דו×ר</string>
301 <string name="renderer_vsync_fifo">FIFO (On)</string>
302 <string name="renderer_vsync_fifo_relaxed">FIFO נינוח</string>
303
304 <!-- Scaling Filters -->
305 <string name="scaling_filter_nearest_neighbor">השכן הקרוב ביותר</string>
306 <string name="scaling_filter_scale_force">ScaleForce</string>
307 <string name="scaling_filter_fsr">AMD FidelityFXâ„¢ Super Resolution</string>
308
309 <!-- Anti-Aliasing -->
310 <string name="anti_aliasing_none">×ין ×©×•× ×“×‘×¨</string>
311 <string name="anti_aliasing_fxaa">FXAA</string>
312 <string name="anti_aliasing_smaa">SMAA</string>
313
314 <!-- Screen Layouts -->
315 <string name="screen_layout_landscape">לרוחב</string>
316 <string name="screen_layout_portrait">ל×ורך</string>
317 <string name="screen_layout_auto">×וטומטי</string>
318
319 <!-- Aspect Ratios -->
320 <string name="ratio_default">ברירת מחדל (16:9)</string>
321 <string name="ratio_force_four_three">הכרח 4:3</string>
322 <string name="ratio_force_twenty_one_nine">הכרח 21:9</string>
323 <string name="ratio_force_sixteen_ten">הכרח 16:10</string>
324 <string name="ratio_stretch">הרחב לגודל המסך</string>
325
326 <!-- CPU Accuracy -->
327 <string name="cpu_accuracy_accurate">מדויק</string>
328 <string name="cpu_accuracy_unsafe">×œ× ×‘×˜×•×—</string>
329 <string name="cpu_accuracy_paranoid">פר×נו×ידי (×יטי)</string>
330
331 <!-- Gamepad Buttons -->
332 <string name="gamepad_d_pad">D-pad</string>
333 <string name="gamepad_left_stick">ג׳ויסטיק שמ×לי</string>
334 <string name="gamepad_right_stick">ג׳ויסטיק ימני</string>
335 <string name="gamepad_home">בית</string>
336 <string name="gamepad_screenshot">×¦×™×œ×•× ×ž×¡×š</string>
337
338 <!-- Theme options -->
339 <string name="change_app_theme">שנה ×ת × ×•×©× ×”×פליקצייה</string>
340 <string name="theme_default">ברירת מחדל</string>
341 <string name="theme_material_you">חומר ×תה/מ×טירי×ל יו</string>
342
343 <!-- Theme Modes -->
344 <string name="change_theme_mode">שנה ×ת מצב הנוש×</string>
345 <string name="theme_mode_follow_system">עקוב ×חרי המערכת</string>
346 <string name="theme_mode_light">בהיר</string>
347 <string name="theme_mode_dark">×›×”×”</string>
348
349 <!-- Audio output engines -->
350 <string name="cubeb">cubeb</string>
351
352 <!-- Black backgrounds theme -->
353 <string name="use_black_backgrounds">×¨×§×¢×™× ×©×—×•×¨×™×</string>
354 <string name="use_black_backgrounds_description">×›×©×ž×ª×©×ž×©×™× ×‘×ž×¦×‘ ×›×”×”, ×©× ×¨×§×¢×™× ×©×—×•×¨×™×.</string>
355
356 <!-- Picture-In-Picture -->
357 <string name="picture_in_picture">תמונה בתוך תמונה</string>
358 <string name="picture_in_picture_description">הקטן ×ת החלון ×›×שר × ×ž×¦× ×‘×¨×§×¢</string>
359 <string name="pause">עצור</string>
360 <string name="play">שחק</string>
361 <string name="mute">השתק</string>
362 <string name="unmute">בטל השתקה</string>
363
364 <!-- Licenses screen strings -->
365 <string name="licenses">רישיונות</string>
366 <string name="license_fidelityfx_fsr_description">×פסקיילינג ב×יכות גבוהה מ AMD</string>
367 </resources>
diff --git a/src/android/app/src/main/res/values-hu/strings.xml b/src/android/app/src/main/res/values-hu/strings.xml
new file mode 100644
index 000000000..6563ba288
--- /dev/null
+++ b/src/android/app/src/main/res/values-hu/strings.xml
@@ -0,0 +1,402 @@
1<?xml version="1.0" encoding="utf-8"?>
2<resources xmlns:tools="http://schemas.android.com/tools" tools:ignore="MissingTranslation">
3
4 <string name="app_disclaimer">Ez a szoftver Nintendo Switch játékkonzolhoz készült játékokat futtat. Nem tartalmaz játékokat vagy kulcsokat. .&lt;br /&gt;&lt;br /&gt;Mielőtt hozzákezdenél, kérjük, válaszd ki a <![CDATA[<b>prod.keys</b>]]> fájl helyét a készülék tárhelyén&lt;br /&gt;&lt;br /&gt;<![CDATA[<a href=\"https://yuzu-emu.org/help/quickstart\">Tudj meg többet</a>]]></string>
5 <string name="emulation_notification_channel_name">Emuláció aktív</string>
6 <string name="emulation_notification_channel_description">Ãllandó értesítést jelenít meg, amíg az emuláció fut.</string>
7 <string name="emulation_notification_running">A yuzu fut</string>
8 <string name="notice_notification_channel_name">Megjegyzések és hibák</string>
9 <string name="notice_notification_channel_description">Értesítések megjelenítése, ha valami rosszul sül el.</string>
10 <string name="notification_permission_not_granted">Nincs engedély az értesítés megjelenítéséhez!</string>
11
12 <!-- Setup strings -->
13 <string name="welcome">Üdvözöljük!</string>
14 <string name="welcome_description">Ismerkedj meg a &lt;b>yuzu&lt;/b> beállításával és ugorj bele az emulációba.</string>
15 <string name="get_started">Vágjunk bele</string>
16 <string name="keys">Kulcsok</string>
17 <string name="keys_description">Válaszd ki a(z) &lt;b>prod.keys&lt;/b> fájlodat az alábbi gombbal.</string>
18 <string name="select_keys">Kulcsok kiválasztása</string>
19 <string name="games">Játékok</string>
20 <string name="games_description">
21Válaszd ki a(z) &lt;b>Games&lt;/b> mappát az alábbi gombbal.</string>
22 <string name="done">Kész</string>
23 <string name="done_description">Minden kész.\nJó szórakozást!</string>
24 <string name="text_continue">Folytatás</string>
25 <string name="next">Következő</string>
26 <string name="back">Vissza</string>
27 <string name="add_games">Játékok hozzáadása</string>
28 <string name="add_games_description">Játékaid mappa kiválasztása</string>
29 <string name="step_complete">Kész!</string>
30
31 <!-- Home strings -->
32 <string name="home_games">Játékok</string>
33 <string name="home_search">Keresés</string>
34 <string name="home_settings">Beállítások</string>
35 <string name="empty_gamelist">Nem található fájl, vagy még nincs kiválasztva könyvtár.</string>
36 <string name="search_and_filter_games">Játékok keresése és szűrése</string>
37 <string name="select_games_folder">Játékmappa kiválasztása</string>
38 <string name="add_games_warning">Kihagyod a játékok mappa kiválasztását?</string>
39 <string name="add_games_warning_description">A játékok nem jelennek meg a Játékok listában, ha egy mappa nincs kijelölve.</string>
40 <string name="add_games_warning_help">https://yuzu-emu.org/help/quickstart/#dumping-games</string>
41 <string name="home_search_games">Játékok keresése</string>
42 <string name="search_settings">Beállítások keresése</string>
43 <string name="games_dir_selected">Játékok könyvtár kiválasztva</string>
44 <string name="install_prod_keys">prod.keys telepítése</string>
45 <string name="install_prod_keys_description">Kiskereskedelmi játékok dekódolásához szükséges</string>
46 <string name="install_prod_keys_warning">Kihagyod a kulcsok hozzáadását?</string>
47 <string name="install_prod_keys_warning_description">A kiskereskedelmi játékok emulálásához érvényes kulcsokra van szükség. Csak a homebrew alkalmazások fognak működni, ha folytatod.</string>
48 <string name="install_prod_keys_warning_help">https://yuzu-emu.org/help/quickstart/#guide-introduction</string>
49 <string name="notifications">Értesítések</string>
50 <string name="notifications_description">Értesítési engedélyek megadása az alábbi gombbal.</string>
51 <string name="give_permission">Engedély megadása</string>
52 <string name="notification_warning">Kihagyod az értesítési engedély megadását?</string>
53 <string name="notification_warning_description">yuzu nem fog tudni értesíteni a fontos imformációkról</string>
54 <string name="permission_denied">Engedély megtagadva</string>
55 <string name="permission_denied_description">Túl gyakran utasítottad el a hozzáférést, így manuálisan kell jóváhagynod a rendszer beállításokban.</string>
56 <string name="about">A programról</string>
57 <string name="about_description">Build verzió, készítők, és még több</string>
58 <string name="warning_help">Segítség</string>
59 <string name="warning_skip">Kihagyás</string>
60 <string name="warning_cancel">Mégse</string>
61 <string name="install_amiibo_keys">Amiibo kulcsok telepítése</string>
62 <string name="install_amiibo_keys_description">Amiibo használata szükséges a játékhoz</string>
63 <string name="invalid_keys_file">Érvénytelen titkosítófájlok kiválasztva</string>
64 <string name="install_keys_success">Kulcsok sikeresen telepítve</string>
65 <string name="reading_keys_failure">Hiba történt a titkosítókulcsok olvasása során</string>
66 <string name="install_prod_keys_failure_extension_description">Győződj meg róla, hogy a titkosító fájlod .keys kiterjesztéssel rendelkezik, majd próbáld újra.</string>
67 <string name="install_amiibo_keys_failure_extension_description">Győződj meg róla, hogy a titkosító fájlod .bin kiterjesztéssel rendelkezik, majd próbáld újra.</string>
68 <string name="invalid_keys_error">Érvénytelen titkosítókulcsok</string>
69 <string name="dumping_keys_quickstart_link">https://yuzu-emu.org/help/quickstart/#dumping-decryption-keys</string>
70 <string name="install_keys_failure_description">A kiválasztott fájl helytelen, vagy sérült. Ãllíts össze egy új kulcsot.</string>
71 <string name="install_gpu_driver">GPU illesztőprogram telepítése</string>
72 <string name="install_gpu_driver_description">Alternatív illesztőprogramok telepítése az esetlegesen elérhető teljesítmény és pontosság érdekében</string>
73 <string name="advanced_settings">Haladó beállítások</string>
74 <string name="advanced_settings_game">Haladó beállítások: %1$s</string>
75 <string name="settings_description">Emulátorbeállítások konfigurálása</string>
76 <string name="search_recently_played">Nemrég játszva</string>
77 <string name="search_recently_added">Nemrég hozzáadva</string>
78 <string name="search_retail">Kiskereskedelmi</string>
79 <string name="open_user_folder">yuzu mappa megnyitása</string>
80 <string name="open_user_folder_description">yuzu belső fájljainak kezelése</string>
81 <string name="theme_and_color_description">Az alkalmazás megjelenésének módosítása</string>
82 <string name="no_file_manager">Nem található fájlkezelő</string>
83 <string name="notification_no_directory_link">Nem sikerült megnyitni a yuzu könyvtárat</string>
84 <string name="notification_no_directory_link_description">Kérjük, manuálisan keresd meg a felhasználói mappát a fájlkezelő oldalsó paneljével.</string>
85 <string name="manage_save_data">Mentésadatok kezelése</string>
86 <string name="manage_save_data_description">Mentés található. Kérjük, válassz egyet az alábbi opciók közül.</string>
87 <string name="import_export_saves_description">Mentési fájlok importálás vagy exportálása</string>
88 <string name="save_file_imported_success">Sikeresen importálva</string>
89 <string name="save_file_invalid_zip_structure">Érvénytelen mentési könyvtárstruktúra</string>
90 <string name="save_file_invalid_zip_structure_description">Az első almappa neve a játék azonosítója kell, hogy legyen.</string>
91 <string name="import_saves">Importálás</string>
92 <string name="export_saves">Exportálás</string>
93 <string name="install_firmware">Firmware telepítés</string>
94 <string name="install_firmware_description">A firmwarenek ZIP archívumban kell lennie, és szükséges a játékok indításához</string>
95 <string name="firmware_installing">Firmware telepítése</string>
96 <string name="firmware_installed_success">Firmware sikeresen telepítve</string>
97 <string name="firmware_installed_failure">Firmware telepítése sikertelen</string>
98 <string name="firmware_installed_failure_description">Győződj meg róla, hogy a firmware nca fájlok a zip gyökerénél vannak, és próbáld meg újra.</string>
99 <string name="share_log">Hibakereső logok megosztása</string>
100 <string name="share_log_description">A yuzu naplófájl megosztása a problémák elhárításához</string>
101 <string name="share_log_missing">Nem található log fájl</string>
102 <string name="install_game_content">Játéktartalom telepítése</string>
103 <string name="install_game_content_description">Játékfrissítések vagy DLC telepítése</string>
104 <string name="installing_game_content">Tartalom telepítése...</string>
105 <string name="install_game_content_failure">Hiba történt a fájl(ok) NAND-ra telepítése közben</string>
106 <string name="install_game_content_failure_description">Győződj meg róla, hogy a tartalom valós, és a prod.keys fájl telepítve van.</string>
107 <string name="install_game_content_failure_base">Az alapjátékok telepítése nem engedélyezett az esetleges konfliktusok elkerülése érdekében.</string>
108 <string name="install_game_content_failure_file_extension">Csak NSP és XCI tartalom támogatott. Győződj meg róla, hogy a játéktartalom érvényes.</string>
109 <string name="install_game_content_failed_count">%1$d telepítési hiba</string>
110 <string name="install_game_content_success">Játéktartalom sikeresen telepítve</string>
111 <string name="install_game_content_success_install">%1$d sikeresen telepítve</string>
112 <string name="install_game_content_success_overwrite">%1$d sikeresen felülírva</string>
113 <string name="install_game_content_help_link">https://yuzu-emu.org/help/quickstart/#dumping-installed-updates</string>
114 <string name="custom_driver_not_supported">Egyéni illesztőprogramok nem támogatottak</string>
115 <string name="custom_driver_not_supported_description">Egyéni illesztőprogram telepítése jelenleg nem támogatott ezen az eszközön.\nNézz vissza később, hátha hozzáadtuk a támogatását!</string>
116 <string name="manage_yuzu_data">yuzu adatok kezelése</string>
117 <string name="manage_yuzu_data_description">Firmware, kulcsok, felhasználói adatok és egyebek importálása/exportálása</string>
118 <string name="share_save_file">Mentési fájl megosztása</string>
119 <string name="export_save_failed">A mentés exportálása sikertelen</string>
120
121 <!-- About screen strings -->
122 <string name="gaia_is_not_real">Gaia nem valódi</string>
123 <string name="copied_to_clipboard">Másolva a vágólapra</string>
124 <string name="about_app_description">Egy nyílt forráskódú Switch emulátor</string>
125 <string name="contributors">Hozzájárulók</string>
126 <string name="contributors_description">\u2764 által készítve a yuzu csapattól</string>
127 <string name="contributors_link">https://github.com/yuzu-emu/yuzu/graphs/contributors</string>
128 <string name="licenses_description">Projektek, amik nélkül a yuzu nem jöhetett volna létre Androidra</string>
129 <string name="user_data">Felhasználói adatok</string>
130 <string name="user_data_description">Az összes alkalmazásadat importálása/exportálása.\n\nA felhasználói adatok importálásakor az összes meglévő felhasználói adat törlődik!</string>
131 <string name="exporting_user_data">Felhasználói adatok exportálása...</string>
132 <string name="importing_user_data">Felhasználói adatok importálása...</string>
133 <string name="import_user_data">Felhasználói adatok importálása</string>
134 <string name="invalid_yuzu_backup">Érvénytelen yuzu biztonsági másolat</string>
135 <string name="user_data_export_success">Felhasználói adatok sikeresen exportálva</string>
136 <string name="user_data_import_success">Felhasználói adatok sikeresen importálva</string>
137 <string name="user_data_export_cancelled">Exportálás megszakítva</string>
138 <string name="user_data_import_failed_description">Ellenőrizd, hogy a felhasználói adatok mappái a zip mappa gyökerében vannak, és tartalmaznak egy konfig fájlt a config/config.ini címen, majd próbáld meg újra.</string>
139 <string name="support_link">https://discord.gg/u77vRWY</string>
140 <string name="website_link">https://yuzu-emu.org/</string>
141 <string name="github_link">https://github.com/yuzu-emu</string>
142
143 <!-- Early access upgrade strings -->
144 <string name="early_access">Korai hozzáférés</string>
145 <string name="get_early_access">Szerezz korai hozzáférést</string>
146 <string name="play_store_link">https://play.google.com/store/apps/details?id=org.yuzu.yuzu_emu.ea</string>
147 <string name="get_early_access_description">Legújabb funkciók, korai hozzáférés a frissítésekhez, és sok más</string>
148 <string name="early_access_benefits">Korai hozzáférés előnyei</string>
149 <string name="cutting_edge_features">Legújabb funkciók</string>
150 <string name="early_access_updates">Korai hozzáférés a frissítésekhez</string>
151 <string name="no_manual_installation">Automatikus telepítések</string>
152 <string name="prioritized_support">Priorizált támogatás</string>
153 <string name="our_eternal_gratitude">Valamint az örök hálánk</string>
154 <string name="are_you_interested">Érdekel a dolog?</string>
155
156 <!-- General settings strings -->
157 <string name="frame_limit_enable">Sebességkorlát</string>
158 <string name="frame_limit_enable_description">Korlátozza az emuláció sebességét a normál sebesség adott százalékára.</string>
159 <string name="frame_limit_slider">Sebességkorlát százaléka</string>
160 <string name="frame_limit_slider_description">Az emuláció sebességét határozza meg. 100% a normál sebesség. A magasabb értékek növelik, az alacsonyabbak csökkentik a sebességkorlátot.</string>
161 <string name="cpu_accuracy">CPU pontosság</string>
162 <string name="value_with_units">%1$s%2$s</string>
163
164 <!-- System settings strings -->
165 <string name="use_docked_mode">Dokkolt mód</string>
166 <string name="use_docked_mode_description">Növeli a felbontást, de csökkenti a teljesítményt. Kikapcsolás esetén a Kézi mód van használatban, ami kisebb felbontást, de nagyobb teljesítményt eredményez.</string>
167 <string name="emulated_region">Emulált régió</string>
168 <string name="emulated_language">Emulált nyelv</string>
169 <string name="select_rtc_date">Válassz RTC dátumot</string>
170 <string name="select_rtc_time">Válassz RTC időt</string>
171 <string name="use_custom_rtc">Egyéni RTC</string>
172 <string name="use_custom_rtc_description">Megadhatsz egy valós idejű órát, amely eltér a rendszer által használt órától.</string>
173 <string name="set_custom_rtc">Egyéni RTC beállítása</string>
174
175 <!-- Graphics settings strings -->
176 <string name="renderer_accuracy">Pontosság szintje</string>
177 <string name="renderer_resolution">Felbontás (Kézi/Dockolt)</string>
178 <string name="renderer_vsync">VSync mód</string>
179 <string name="renderer_screen_layout">Orientáció</string>
180 <string name="renderer_aspect_ratio">Képarány</string>
181 <string name="renderer_scaling_filter">Ablakhoz alkalmazkodó szűrő</string>
182 <string name="renderer_anti_aliasing">Élsimítási módszer</string>
183 <string name="renderer_force_max_clock">Maximum órajel kényszerítése (csak Adreno)</string>
184 <string name="renderer_force_max_clock_description">Kényszeríti a GPU-t a lehető legnagyobb órajelen működésre (a hőmérséklet korlátozások továbbra is érvényben maradnak).</string>
185 <string name="renderer_asynchronous_shaders">Aszinkron árnyékolók használata</string>
186 <string name="renderer_asynchronous_shaders_description">Aszinkron módon fordítja az árnyékolókat, ami csökkenti az akadozást, de hibákat okozhat.</string>
187 <string name="renderer_reactive_flushing">Reaktív ürítés használata</string>
188 <string name="renderer_reactive_flushing_description">Javítja a renderelési pontosságot néhány játékban a teljesítmény rovására.</string>
189 <string name="use_disk_shader_cache">Lemez árnyékoló gyorsítótár</string>
190 <string name="use_disk_shader_cache_description">Csökkenti az akadásokat azáltal, hogy helyileg tárolja és tölti be a generált árnyékolókat.</string>
191
192 <!-- Debug settings strings -->
193 <string name="cpu">CPU</string>
194 <string name="cpu_debug_mode">CPU hibakeresés</string>
195 <string name="cpu_debug_mode_description">Lassú hibakereső módba állítja a CPU-t.</string>
196 <string name="gpu">GPU</string>
197 <string name="renderer_api">API</string>
198 <string name="renderer_debug">Grafikai hibakeresés</string>
199 <string name="renderer_debug_description">Lassú hibakeresési módba állítja a grafikus API-t .</string>
200 <!-- Audio settings strings -->
201 <string name="audio_output_engine">Kimeneti rendszer</string>
202 <string name="audio_volume">Hangerő</string>
203 <string name="audio_volume_description">Hangkimenet hangerejének megadása</string>
204
205 <!-- Miscellaneous -->
206 <string name="slider_default">Alapértelmezett</string>
207 <string name="ini_saved">Beállítások elmentve</string>
208 <string name="gameid_saved">Beállítások elmentve a következőhöz: %1$s</string>
209 <string name="error_saving">Mentési hiba%1$s .ini: %2$s</string>
210 <string name="unimplemented_menu">Nem implementált menü</string>
211 <string name="loading">Betöltés...</string>
212 <string name="shutting_down">Leállítás...</string>
213 <string name="reset_setting_confirmation">Szeretnéd visszaállítani a beállítások az alapértelmezett értékekre?</string>
214 <string name="reset_to_default">Alaphelyzetbe állítás</string>
215 <string name="reset_all_settings">Alaphelyzetbe állítod a beállításokat?</string>
216 <string name="reset_all_settings_description">Minden haladó beállítás vissza lesz állítva az alapértelmezett konfigurációra. Ez a művelet nem vonható vissza.</string>
217 <string name="settings_reset">Beállítások alaphelyzetbe állítva</string>
218 <string name="close">Bezárás</string>
219 <string name="learn_more">Tudj meg többet</string>
220 <string name="auto">Automatikus</string>
221 <string name="submit">Küldés</string>
222 <string name="string_null">Nulla</string>
223 <string name="string_import">Importálás</string>
224 <string name="export">Exportálás</string>
225 <string name="export_failed">Exportálás sikertelen</string>
226 <string name="import_failed">Importálás sikertelen</string>
227 <string name="cancelling">Megszakítás</string>
228
229 <!-- GPU driver installation -->
230 <string name="select_gpu_driver">Válassz GPU illesztőprogramot</string>
231 <string name="select_gpu_driver_title">Szeretnéd lecserélni a jelenlegi GPU illesztőprogramot?</string>
232 <string name="select_gpu_driver_install">Telepítés</string>
233 <string name="select_gpu_driver_default">Alapértelmezett</string>
234 <string name="select_gpu_driver_use_default">Alapértelmezett GPU illesztőprogram használata</string>
235 <string name="select_gpu_driver_error">Érvénytelen driver kiválasztva, a rendszer alapértelmezett lesz használva!</string>
236 <string name="system_gpu_driver">Rendszer GPU illesztőprogram</string>
237 <string name="installing_driver">Illesztőprogram telepítése...</string>
238
239 <!-- Preferences Screen -->
240 <string name="preferences_settings">Beállítások</string>
241 <string name="preferences_general">Ãltalános</string>
242 <string name="preferences_system">Rendszer</string>
243 <string name="preferences_graphics">Grafika</string>
244 <string name="preferences_audio">Hang</string>
245 <string name="preferences_theme">Téma és színek</string>
246 <string name="preferences_debug">Hibakeresés</string>
247
248 <!-- ROM loading errors -->
249 <string name="loader_error_encrypted">ROM titkosítva</string>
250 <string name="loader_error_encrypted_keys_description"><![CDATA[Győződj meg róla, hogy a <a href=\"https://yuzu-emu.org/help/quickstart/#dumping-prodkeys-and-titlekeys\">prod.keys</a> fájl telepítve van, hogy a játékok visszafejthetők legyenek.]]></string>
251 <string name="loader_error_video_core">Hiba lépett fel a videómag inicializása során</string>
252 <string name="loader_error_video_core_description">Ezt általában egy nem kompatibilis GPU illesztő okozza. Egyéni GPU illesztőprogram telepítése megoldhatja a problémát.</string>
253 <string name="loader_error_invalid_format">Nem sikerült betölteni a ROM-ot</string>
254 <string name="loader_error_file_not_found">ROM fájl nem létezik</string>
255
256 <!-- Emulation Menu -->
257 <string name="emulation_exit">Emuláció bezárása</string>
258 <string name="emulation_done">Kész</string>
259 <string name="emulation_fps_counter">FPS számláló</string>
260 <string name="emulation_toggle_controls">Irányítás átkapcsolása</string>
261 <string name="emulation_dpad_slide">D-pad csúsztatása</string>
262 <string name="emulation_haptics">Érintés haptikája</string>
263 <string name="emulation_show_overlay">Ãtfedés mutatása</string>
264 <string name="emulation_toggle_all">Össze átkapcsolása</string>
265 <string name="emulation_control_adjust">Ãtfedés testreszabása</string>
266 <string name="emulation_control_scale">Skálázás</string>
267 <string name="emulation_control_opacity">Ãtlátszóság</string>
268 <string name="emulation_touch_overlay_reset">Ãtfedés visszaállítása</string>
269 <string name="emulation_touch_overlay_edit">Ãtfedés módosítása</string>
270 <string name="emulation_pause">Emuláció szünetelése</string>
271 <string name="emulation_unpause">Emuláció folytatása</string>
272 <string name="emulation_input_overlay">Ãtfedés beállításai</string>
273
274 <string name="load_settings">Beállítások betöltése...</string>
275
276 <!-- Software keyboard -->
277 <string name="software_keyboard">Szoftver billenytűzet</string>
278
279 <!-- Errors and warnings -->
280 <string name="abort_button">Megszakítás</string>
281 <string name="continue_button">Folytatás</string>
282 <string name="system_archive_not_found">Nem található rendszerarchívum</string>
283 <string name="system_archive_not_found_message">%s hiányzik. Kérjük, mentsd ki a rendszerarchívumaidat.\nAz emuláció folytatása összeomlásokhoz és hibákhoz vezethet.</string>
284 <string name="system_archive_general">Egy rendszerarchívum</string>
285 <string name="save_load_error">Mentési/betöltési hiba</string>
286 <string name="fatal_error">Végzetes hiba</string>
287 <string name="fatal_error_message">Végzetes hiba történt. Ellenőrizd a logot a részletekért.\nAz emuláció folytatása összeomlást és hibákat eredményzhet.</string>
288 <string name="performance_warning">Ennek a beállításnak a kikapcsolása jelentős mértékben csökkenti a teljesítményt! A legjobb élmény érdekében javasolt a beállítás bekapcsolva tartása.</string>
289 <string name="device_memory_inadequate">Eszköz RAM: %1$s\nAjánlott: %2$s</string>
290 <string name="memory_formatted">%1$s %2$s</string>
291 <string name="no_game_present">Nincs indítható játék!</string>
292
293 <!-- Region Names -->
294 <string name="region_japan">Japán</string>
295 <string name="region_usa">USA</string>
296 <string name="region_europe">Európa</string>
297 <string name="region_australia">Ausztrália</string>
298 <string name="region_china">Kína</string>
299 <string name="region_korea">Korea</string>
300 <string name="region_taiwan">Tajvan</string>
301
302 <!-- Memory Sizes -->
303 <string name="memory_byte">Bájt</string>
304 <string name="memory_kilobyte">KB</string>
305 <string name="memory_megabyte">MB</string>
306 <string name="memory_gigabyte">GB</string>
307 <string name="memory_terabyte">TB</string>
308 <string name="memory_petabyte">PB</string>
309 <string name="memory_exabyte">EB</string>
310
311 <!-- Renderer APIs -->
312 <string name="renderer_vulkan">Vulkan</string>
313 <string name="renderer_none">Nincs</string>
314
315 <!-- Renderer Accuracy -->
316 <string name="renderer_accuracy_normal">Normál</string>
317 <string name="renderer_accuracy_high">Magas</string>
318 <string name="renderer_accuracy_extreme">Extrém (Lassú)</string>
319
320 <!-- Resolutions -->
321 <string name="resolution_half">0.5X (360p/540p)</string>
322 <string name="resolution_three_quarter">0.75X (540p/810p)</string>
323 <string name="resolution_one">1X (720p/1080p)</string>
324 <string name="resolution_two">2X (1440p/2160p) (Lassú)</string>
325 <string name="resolution_three">3X (2160p/3240p) (Lassú)</string>
326 <string name="resolution_four">4X (2880p/4320p) (Lassú)</string>
327
328 <!-- Renderer VSync -->
329 <string name="renderer_vsync_immediate">Azonnali (Ki)</string>
330 <string name="renderer_vsync_mailbox">Postaláda</string>
331 <string name="renderer_vsync_fifo">FIFO (Be)</string>
332 <string name="renderer_vsync_fifo_relaxed">FIFO Relaxált</string>
333
334 <!-- Scaling Filters -->
335 <string name="scaling_filter_nearest_neighbor">Legközelebbi szomszéd</string>
336 <string name="scaling_filter_bilinear">Bilineáris</string>
337 <string name="scaling_filter_bicubic">Bikubikus</string>
338 <string name="scaling_filter_gaussian">Gauss-féle</string>
339 <string name="scaling_filter_scale_force">ScaleForce</string>
340 <string name="scaling_filter_fsr">AMD FidelityFXâ„¢ Super Resolution</string>
341
342 <!-- Anti-Aliasing -->
343 <string name="anti_aliasing_none">Nincs</string>
344 <string name="anti_aliasing_fxaa">FXAA</string>
345 <string name="anti_aliasing_smaa">SMAA</string>
346
347 <!-- Screen Layouts -->
348 <string name="screen_layout_landscape">Fekvő</string>
349 <string name="screen_layout_portrait">Ãlló</string>
350 <string name="screen_layout_auto">Automatikus</string>
351
352 <!-- Aspect Ratios -->
353 <string name="ratio_default">Alapértelmezett (16:9)</string>
354 <string name="ratio_force_four_three">4:3 kényszerítése</string>
355 <string name="ratio_force_twenty_one_nine">21:9 kényszerítése</string>
356 <string name="ratio_force_sixteen_ten">16:10 kényszerítése</string>
357 <string name="ratio_stretch">Ablakhoz nyújtás</string>
358
359 <!-- CPU Accuracy -->
360 <string name="cpu_accuracy_accurate">Pontos</string>
361 <string name="cpu_accuracy_unsafe">Nem biztonságos</string>
362 <string name="cpu_accuracy_paranoid">Paranoid (Lassú)</string>
363
364 <!-- Gamepad Buttons -->
365 <string name="gamepad_d_pad">D-pad</string>
366 <string name="gamepad_left_stick">Bal kar</string>
367 <string name="gamepad_right_stick">Jobb kar</string>
368 <string name="gamepad_home">Home</string>
369 <string name="gamepad_screenshot">Képernyőmentés</string>
370
371 <!-- Disk shader cache -->
372 <string name="preparing_shaders">Ãrnyékolók elÅ‘készítése</string>
373 <string name="building_shaders">Ãrnyékolók létrehozása</string>
374
375 <!-- Theme options -->
376 <string name="change_app_theme">Alkalmazás témájának módosítása</string>
377 <string name="theme_default">Alapértelmezett</string>
378 <!-- Theme Modes -->
379 <string name="change_theme_mode">Téma váltása</string>
380 <string name="theme_mode_follow_system">Rendszerbeállítások használata</string>
381 <string name="theme_mode_light">Világos</string>
382 <string name="theme_mode_dark">Sötét</string>
383
384 <!-- Audio output engines -->
385 <string name="cubeb">cubeb</string>
386
387 <!-- Black backgrounds theme -->
388 <string name="use_black_backgrounds">Fekete háttér</string>
389 <string name="use_black_backgrounds_description">Sötét téma használatakor fekete háttér használata.</string>
390
391 <!-- Picture-In-Picture -->
392 <string name="picture_in_picture">Kép a képben</string>
393 <string name="picture_in_picture_description">Ablak minimalizálása, amikor háttérbe kerül</string>
394 <string name="pause">Szünet</string>
395 <string name="play">Lejátszás</string>
396 <string name="mute">Némítás</string>
397 <string name="unmute">Némítás feloldása</string>
398
399 <!-- Licenses screen strings -->
400 <string name="licenses">Licenszek</string>
401 <string name="license_fidelityfx_fsr_description">Magas minőségű felskálázás az AMD-től</string>
402 </resources>
diff --git a/src/android/app/src/main/res/values-it/strings.xml b/src/android/app/src/main/res/values-it/strings.xml
index 09c9345b0..5afebb4c4 100644
--- a/src/android/app/src/main/res/values-it/strings.xml
+++ b/src/android/app/src/main/res/values-it/strings.xml
@@ -1,5 +1,5 @@
1<?xml version="1.0" encoding="utf-8"?> 1<?xml version="1.0" encoding="utf-8"?>
2<resources> 2<resources xmlns:tools="http://schemas.android.com/tools" tools:ignore="MissingTranslation">
3 3
4 <string name="app_disclaimer">Questo software permette di giocare ai giochi della console Nintendo Switch. Nessun gioco o chiave è inclusa.&lt;br /&gt;&lt;br /&gt;Prima di iniziare, perfavore individua il file <![CDATA[<b>prod.keys </b>]]> nella memoria del tuo dispositivo.&lt;br /&gt;&lt;br /&gt;<![CDATA[<a href=\"https://yuzu-emu.org/help/quickstart\">Scopri di più</a>]]></string> 4 <string name="app_disclaimer">Questo software permette di giocare ai giochi della console Nintendo Switch. Nessun gioco o chiave è inclusa.&lt;br /&gt;&lt;br /&gt;Prima di iniziare, perfavore individua il file <![CDATA[<b>prod.keys </b>]]> nella memoria del tuo dispositivo.&lt;br /&gt;&lt;br /&gt;<![CDATA[<a href=\"https://yuzu-emu.org/help/quickstart\">Scopri di più</a>]]></string>
5 <string name="emulation_notification_channel_name">L\'emulatore è attivo</string> 5 <string name="emulation_notification_channel_name">L\'emulatore è attivo</string>
@@ -13,9 +13,9 @@
13 <string name="welcome">Benvenuto!</string> 13 <string name="welcome">Benvenuto!</string>
14 <string name="welcome_description">Scopri come configurare &lt;b>yuzu&lt;/b> e passare all\'emulazione.</string> 14 <string name="welcome_description">Scopri come configurare &lt;b>yuzu&lt;/b> e passare all\'emulazione.</string>
15 <string name="get_started">Iniziare</string> 15 <string name="get_started">Iniziare</string>
16 <string name="keys">Pulsanti</string> 16 <string name="keys">Chiavi</string>
17 <string name="keys_description">Seleziona il tuo file &lt;b>prod.keys&lt;/b> con il pulsante in basso.</string> 17 <string name="keys_description">Seleziona il tuo file &lt;b>prod.keys&lt;/b> con il pulsante in basso.</string>
18 <string name="select_keys">Selezione Pulsanti</string> 18 <string name="select_keys">Seleziona le chiavi</string>
19 <string name="games">Giochi</string> 19 <string name="games">Giochi</string>
20 <string name="games_description">Seleziona la cartella &lt;b>Games&lt;/b> con il pulsante in basso.</string> 20 <string name="games_description">Seleziona la cartella &lt;b>Games&lt;/b> con il pulsante in basso.</string>
21 <string name="done">Fatto</string> 21 <string name="done">Fatto</string>
@@ -25,6 +25,7 @@
25 <string name="back">Indietro</string> 25 <string name="back">Indietro</string>
26 <string name="add_games">Aggiungi giochi</string> 26 <string name="add_games">Aggiungi giochi</string>
27 <string name="add_games_description">Seleziona la cartella dei giochi</string> 27 <string name="add_games_description">Seleziona la cartella dei giochi</string>
28 <string name="step_complete">Completato!</string>
28 29
29 <!-- Home strings --> 30 <!-- Home strings -->
30 <string name="home_games">Giochi</string> 31 <string name="home_games">Giochi</string>
@@ -38,6 +39,7 @@
38 <string name="add_games_warning_description">I giochi non saranno mostrati nella lista dei giochi se una cartella non è selezionata.</string> 39 <string name="add_games_warning_description">I giochi non saranno mostrati nella lista dei giochi se una cartella non è selezionata.</string>
39 <string name="add_games_warning_help">https://yuzu-emu.org/help/quickstart/#dumping-games</string> 40 <string name="add_games_warning_help">https://yuzu-emu.org/help/quickstart/#dumping-games</string>
40 <string name="home_search_games">Cerca giochi</string> 41 <string name="home_search_games">Cerca giochi</string>
42 <string name="search_settings">Cerca impostazione</string>
41 <string name="games_dir_selected">Cartella dei giochi selezionata</string> 43 <string name="games_dir_selected">Cartella dei giochi selezionata</string>
42 <string name="install_prod_keys">Installa prod.keys</string> 44 <string name="install_prod_keys">Installa prod.keys</string>
43 <string name="install_prod_keys_description">Necessario per decrittografare i giochi</string> 45 <string name="install_prod_keys_description">Necessario per decrittografare i giochi</string>
@@ -61,15 +63,18 @@
61 <string name="invalid_keys_file">Selezionate chiavi non valide</string> 63 <string name="invalid_keys_file">Selezionate chiavi non valide</string>
62 <string name="install_keys_success">Chiavi installate correttamente</string> 64 <string name="install_keys_success">Chiavi installate correttamente</string>
63 <string name="reading_keys_failure">Errore durante la lettura delle chiavi di crittografia</string> 65 <string name="reading_keys_failure">Errore durante la lettura delle chiavi di crittografia</string>
66 <string name="install_prod_keys_failure_extension_description">Controlla che le tue chiavi abbiano l\'estensione .keys e prova di nuovo.</string>
67 <string name="install_amiibo_keys_failure_extension_description">Controlla che le tue chiavi abbiano l\'estensione .bin e prova di nuovo</string>
64 <string name="invalid_keys_error">Chiavi di crittografia non valide</string> 68 <string name="invalid_keys_error">Chiavi di crittografia non valide</string>
65 <string name="dumping_keys_quickstart_link">https://yuzu-emu.org/help/quickstart/#dumping-decryption-keys</string> 69 <string name="dumping_keys_quickstart_link">https://yuzu-emu.org/help/quickstart/#dumping-decryption-keys</string>
66 <string name="install_keys_failure_description">Il file selezionato è incorretto o corrotto. Per favore riesegui il dump delle tue chiavi.</string> 70 <string name="install_keys_failure_description">Il file selezionato è incorretto o corrotto. Per favore riesegui il dump delle tue chiavi.</string>
67 <string name="install_gpu_driver">Installa i driver GPU</string> 71 <string name="install_gpu_driver">Installa i driver GPU</string>
68 <string name="install_gpu_driver_description">Installa driver alternativi per potenziali prestazioni migliori o accuratezza.</string> 72 <string name="install_gpu_driver_description">Installa driver alternativi per potenziali prestazioni migliori o accuratezza.</string>
69 <string name="advanced_settings">Impostazioni avanzate</string> 73 <string name="advanced_settings">Impostazioni avanzate</string>
74 <string name="advanced_settings_game">Impostazioni Avanzate: %1$s</string>
70 <string name="settings_description">Configura le impostazioni dell\'emulatore</string> 75 <string name="settings_description">Configura le impostazioni dell\'emulatore</string>
71 <string name="search_recently_played">Giocato recentemente</string> 76 <string name="search_recently_played">Giocati recentemente</string>
72 <string name="search_recently_added">Aggiunto recentemente</string> 77 <string name="search_recently_added">Aggiunti recentemente</string>
73 <string name="search_retail">Rivenditore</string> 78 <string name="search_retail">Rivenditore</string>
74 <string name="search_homebrew">Homebrew</string> 79 <string name="search_homebrew">Homebrew</string>
75 <string name="open_user_folder">Apri la cartella di yuzu</string> 80 <string name="open_user_folder">Apri la cartella di yuzu</string>
@@ -86,6 +91,33 @@
86 <string name="save_file_invalid_zip_structure_description">La prima sotto cartella <b>deve</b> chiamarsi come l\'ID del titolo del gioco.</string> 91 <string name="save_file_invalid_zip_structure_description">La prima sotto cartella <b>deve</b> chiamarsi come l\'ID del titolo del gioco.</string>
87 <string name="import_saves">Importa</string> 92 <string name="import_saves">Importa</string>
88 <string name="export_saves">Esporta</string> 93 <string name="export_saves">Esporta</string>
94 <string name="install_firmware">Installa firmware</string>
95 <string name="install_firmware_description">Il firmware deve essere in un archivio ZIP ed è necessario per avviare alcuni giochi</string>
96 <string name="firmware_installing">Installando il firmware</string>
97 <string name="firmware_installed_success">Firmware installato con successo</string>
98 <string name="firmware_installed_failure">L\'installazione del firmware è fallita</string>
99 <string name="firmware_installed_failure_description">Accertati che i file .nca del firmware siano contenuti direttamente nella radice dello .zip e riprova.</string>
100 <string name="share_log">Condividi log di debug</string>
101 <string name="share_log_description">Condividi i log di yuzu per ricevere supporto</string>
102 <string name="share_log_missing">Nessun file di log trovato</string>
103 <string name="install_game_content">Installa contenuti di gioco</string>
104 <string name="install_game_content_description">Installa aggiornamenti o DLC</string>
105 <string name="installing_game_content">Installazione dei contenuti...</string>
106 <string name="install_game_content_failure">Errore durante l\'installazione del contenuto in NAND.</string>
107 <string name="install_game_content_failure_description">Accertati che i contenuti da installare siano validi e che le prod.keys siano presenti.</string>
108 <string name="install_game_content_failure_base">Installare i giochi base in NAND non è permesso, perché potrebbe causare dei conflitti con altri tipi di contenuti(Aggiornamenti e DLC)</string>
109 <string name="install_game_content_failure_file_extension">Solo i tipi NSP e XCI sono supportati. Verifica che i contenuti di gioco siano validi.</string>
110 <string name="install_game_content_failed_count">Errori di installazione: %1$d</string>
111 <string name="install_game_content_success">Contenuto/i di gioco installato/i con successo.</string>
112 <string name="install_game_content_success_install">%1$dinstallato con successo.</string>
113 <string name="install_game_content_success_overwrite">%1$dsovrascritto con successo</string>
114 <string name="install_game_content_help_link">https://yuzu-emu.org/help/quickstart/#dumping-installed-updates</string>
115 <string name="custom_driver_not_supported">I driver personalizzati non sono supportati.</string>
116 <string name="custom_driver_not_supported_description">I driver personalizzati non sono attualmente supportati su questo dispositivo.\n Ricontrolla in futuro.</string>
117 <string name="manage_yuzu_data">Gestisci i dati di Yuzu</string>
118 <string name="manage_yuzu_data_description">Importa/Esporta il firmware, le keys, i dati utente, e altro!</string>
119 <string name="share_save_file">Condividi i tuoi dati di salvataggio</string>
120 <string name="export_save_failed">Errore durante l\'esportazione del salvataggio</string>
89 121
90 <!-- About screen strings --> 122 <!-- About screen strings -->
91 <string name="gaia_is_not_real">Gaia non è reale</string> 123 <string name="gaia_is_not_real">Gaia non è reale</string>
@@ -94,7 +126,18 @@
94 <string name="contributors">Collaboratori</string> 126 <string name="contributors">Collaboratori</string>
95 <string name="contributors_description">Realizzato con \u2764 dal team yuzu</string> 127 <string name="contributors_description">Realizzato con \u2764 dal team yuzu</string>
96 <string name="contributors_link">https://github.com/yuzu-emu/yuzu/graphs/contributors</string> 128 <string name="contributors_link">https://github.com/yuzu-emu/yuzu/graphs/contributors</string>
129 <string name="licenses_description">Progetti che rendono yuzu per Android possibile</string>
97 <string name="build">Compilazione</string> 130 <string name="build">Compilazione</string>
131 <string name="user_data">Dati Utente</string>
132 <string name="user_data_description">Importa/Esporta tutti i dati dell\'applicazione.\n\nDurante l\'importazione dei Dati Utente, quelli già esistenti verranno ELIMINATI.</string>
133 <string name="exporting_user_data">Esportazione dei Dati Utente...</string>
134 <string name="importing_user_data">Importazione dei Dati Utente...</string>
135 <string name="import_user_data">Importa i Dati Utente</string>
136 <string name="invalid_yuzu_backup">Backup di Yuzu Invalido</string>
137 <string name="user_data_export_success">Dati Utente esportati con successo</string>
138 <string name="user_data_import_success">Dati Utente importati con successo.</string>
139 <string name="user_data_export_cancelled">Esportazione annullata</string>
140 <string name="user_data_import_failed_description">Assicurati che la cartella dei Dati dell\'utente stiano nella radice del file.zip e che sia presente una cartella config in config/config.ini, poi, riprova.</string>
98 <string name="support_link">https://discord.gg/u77vRWY</string> 141 <string name="support_link">https://discord.gg/u77vRWY</string>
99 <string name="website_link">https://yuzu-emu.org/</string> 142 <string name="website_link">https://yuzu-emu.org/</string>
100 <string name="github_link">https://github.com/yuzu-emu</string> 143 <string name="github_link">https://github.com/yuzu-emu</string>
@@ -114,41 +157,53 @@
114 <string name="are_you_interested">Sei interessato?</string> 157 <string name="are_you_interested">Sei interessato?</string>
115 158
116 <!-- General settings strings --> 159 <!-- General settings strings -->
117 <string name="frame_limit_enable">Abilita il limite di velocità</string> 160 <string name="frame_limit_enable">Limita velocità</string>
118 <string name="frame_limit_enable_description">Quando abilitato, la velocità di emulazione verrà limitata a una specifica percentuale della velocità normale.</string> 161 <string name="frame_limit_enable_description">Limita la velocità dell\'emulazione a una specifica percentuale della velocità normale.</string>
119 <string name="frame_limit_slider">Limite velocità percentuale</string> 162 <string name="frame_limit_slider">Limite velocità percentuale</string>
120 <string name="frame_limit_slider_description">Specifica la percentuale del limite della velocità di emulazione. Con quella preimpostata al 100% l\'emulazione verrà limitata alla velocità normale. Valori più alti o bassi aumenteranno o diminuiranno il limite di velocità.</string> 163 <string name="frame_limit_slider_description">Specifica la percentuale per limitare la velocità di emulazione. 100% è la velocità normale. Valori maggiori o minori aumenteranno o diminuiranno il limite di velocità</string>
121 <string name="cpu_accuracy">Accuratezza della CPU</string> 164 <string name="cpu_accuracy">Accuratezza della CPU</string>
165 <string name="value_with_units">%1$s%2$s</string>
122 166
123 <!-- System settings strings --> 167 <!-- System settings strings -->
124 <string name="use_docked_mode">Modalità docked</string> 168 <string name="use_docked_mode">Modalità Docked</string>
125 <string name="use_docked_mode_description">Emula in modalità docked, questo aumenta la risoluzione a spese delle performance.</string> 169 <string name="use_docked_mode_description">Aumenta la risoluzione, diminuendo le performance. La modalità portatile è usata quando disabilitato, diminuendo la risoluzione e aumentando le performance.</string>
126 <string name="emulated_region">Regione emulata</string> 170 <string name="emulated_region">Regione emulata</string>
127 <string name="emulated_language">Lingua emulata</string> 171 <string name="emulated_language">Lingua emulata</string>
128 <string name="select_rtc_date">Seleziona la data dall\'orologio in tempo reale</string> 172 <string name="select_rtc_date">Imposta la data </string>
129 <string name="select_rtc_time">Seleziona il tempo dall\'orologio in tempo reale</string> 173 <string name="select_rtc_time">Imposta l\'ora, i minuti e i secondi.</string>
130 <string name="use_custom_rtc">Abilità l\'orologio in tempo reale personalizzato</string> 174 <string name="use_custom_rtc">RTC Personalizzato</string>
131 <string name="use_custom_rtc_description">Questa impostazione ti permette di impostare un orologio in tempo reale personalizzato separato da quello del tuo sistema corrente.</string> 175 <string name="use_custom_rtc_description">Ti permette di impostare un orologio in tempo reale personalizzato, completamente separato da quello di sistema.</string>
132 <string name="set_custom_rtc">Imposta l\'orologio in tempo reale personalizzato</string> 176 <string name="set_custom_rtc">Imposta un orologio in tempo reale personalizzato</string>
133 177
134 <!-- Graphics settings strings --> 178 <!-- Graphics settings strings -->
135 <string name="renderer_api">API</string>
136 <string name="renderer_accuracy">Livello di accuratezza</string> 179 <string name="renderer_accuracy">Livello di accuratezza</string>
137 <string name="renderer_resolution">Risoluzione</string> 180 <string name="renderer_resolution">Risoluzione (Portatile/Docked)</string>
138 <string name="renderer_vsync">Modalità VSync</string> 181 <string name="renderer_vsync">Modalità VSync</string>
139 <string name="renderer_aspect_ratio">Rapporto d\'aspetto</string> 182 <string name="renderer_screen_layout">Orientamento</string>
140 <string name="renderer_scaling_filter">Filtro di adattamento alla finestra</string> 183 <string name="renderer_aspect_ratio">Rapporto d\'aspetto: </string>
184 <string name="renderer_scaling_filter">Filtro adattivo della finestra </string>
141 <string name="renderer_anti_aliasing">Metodo di anti-aliasing</string> 185 <string name="renderer_anti_aliasing">Metodo di anti-aliasing</string>
142 <string name="renderer_force_max_clock">Forza clock massimi (solo Adreno)</string> 186 <string name="renderer_force_max_clock">Forza clock massimi (solo Adreno)</string>
143 <string name="renderer_force_max_clock_description">Forza la GPU a girare col massimo clock possibile (i vincoli alla temperatura saranno comunque applicati)</string> 187 <string name="renderer_force_max_clock_description">Forza la GPU a girare col massimo clock possibile (i vincoli alla temperatura saranno comunque applicati)</string>
144 <string name="renderer_asynchronous_shaders">Usa shaders asincrone</string> 188 <string name="renderer_asynchronous_shaders">Usa shaders asincrone</string>
145 <string name="renderer_asynchronous_shaders_description">Compila le shaders asincronamente, questo riduce lo shutter ma potrebbe introdurre dei glitch. </string> 189 <string name="renderer_asynchronous_shaders_description">Compila le shader in modo asincrone, riducendo lo stutter. Può causare glitch grafici.</string>
146 <string name="renderer_debug">Abilità il debug grafico</string> 190 <string name="renderer_reactive_flushing">Abilita il Reactive Flushing</string>
147 <string name="renderer_debug_description">Quando l\'opzione è selezionata, l\'API grafica entra in una modalità di debug più lenta</string> 191 <string name="renderer_reactive_flushing_description">Migliora l\'accuratezza della grafica in alcuni giochi, al costo delle performance.</string>
148 <string name="use_disk_shader_cache">Usa cache shader su disco</string> 192 <string name="use_disk_shader_cache">Usa la cache delle shader</string>
149 <string name="use_disk_shader_cache_description">Riduce lo stuttering salvando e caricando le shader generate sul disco.</string> 193 <string name="use_disk_shader_cache_description">Riduce lo stuttering caricando le shader già compilate all\'avvio.</string>
194
195 <!-- Debug settings strings -->
196 <string name="cpu">CPU</string>
197 <string name="cpu_debug_mode">Debug della CPU</string>
198 <string name="cpu_debug_mode_description">Imposta la CPU in modalità Debug (Più lento)</string>
199 <string name="gpu">GPU</string>
200 <string name="renderer_api">API</string>
201 <string name="renderer_debug">Debug GPU</string>
202 <string name="renderer_debug_description">Imposta l\'API grafica in uno stato dedicato al Debugging. Impatta di molto sulle performance.</string>
203 <string name="fastmem">Fastmem</string>
150 204
151 <!-- Audio settings strings --> 205 <!-- Audio settings strings -->
206 <string name="audio_output_engine">Motore di Output</string>
152 <string name="audio_volume">Volume</string> 207 <string name="audio_volume">Volume</string>
153 <string name="audio_volume_description">Specifica il volume dell\'audio in uscita.</string> 208 <string name="audio_volume_description">Specifica il volume dell\'audio in uscita.</string>
154 209
@@ -157,14 +212,24 @@
157 <string name="ini_saved">Impostazioni salvate</string> 212 <string name="ini_saved">Impostazioni salvate</string>
158 <string name="gameid_saved">Impostazioni salvate per %1$s</string> 213 <string name="gameid_saved">Impostazioni salvate per %1$s</string>
159 <string name="error_saving">Errore nel salvare %1$s.ini %2$s</string> 214 <string name="error_saving">Errore nel salvare %1$s.ini %2$s</string>
215 <string name="unimplemented_menu">Menu non implementato</string>
160 <string name="loading">Caricamento…</string> 216 <string name="loading">Caricamento…</string>
217 <string name="shutting_down">Spegnimento...</string>
161 <string name="reset_setting_confirmation">Vuoi ripristinare queste impostazioni al loro valore originale?</string> 218 <string name="reset_setting_confirmation">Vuoi ripristinare queste impostazioni al loro valore originale?</string>
162 <string name="reset_to_default">Riportare alle impostazioni originali</string> 219 <string name="reset_to_default">Riportare alle impostazioni originali</string>
163 <string name="reset_all_settings">Resettare tutte le impostazioni?</string> 220 <string name="reset_all_settings">Resettare tutte le impostazioni?</string>
164 <string name="reset_all_settings_description">Tutte le Impostazioni Avanzate saranno ripristinate a quelle originali. Questa operazione non è reversibile</string> 221 <string name="reset_all_settings_description">Le impostazione avanzate verranno completamente reimpostate. Questa operazione è IRREVERSIBILE.</string>
165 <string name="settings_reset">Reimposta le impostazioni</string> 222 <string name="settings_reset">Reimposta le impostazioni</string>
166 <string name="close">Chiudi</string> 223 <string name="close">Chiudi</string>
167 <string name="learn_more">Per saperne di più</string> 224 <string name="learn_more">Per saperne di più</string>
225 <string name="auto">Automatico</string>
226 <string name="submit">Invia</string>
227 <string name="string_null">Nullo</string>
228 <string name="string_import">Importa</string>
229 <string name="export">Esporta</string>
230 <string name="export_failed">Esportazione Fallita</string>
231 <string name="import_failed">Importazione Fallita</string>
232 <string name="cancelling">Cancellazione</string>
168 233
169 <!-- GPU driver installation --> 234 <!-- GPU driver installation -->
170 <string name="select_gpu_driver">Seleziona il driver della GPU</string> 235 <string name="select_gpu_driver">Seleziona il driver della GPU</string>
@@ -172,6 +237,7 @@
172 <string name="select_gpu_driver_install">Installa</string> 237 <string name="select_gpu_driver_install">Installa</string>
173 <string name="select_gpu_driver_default">Predefinito</string> 238 <string name="select_gpu_driver_default">Predefinito</string>
174 <string name="select_gpu_driver_use_default">Utilizza il driver predefinito della GPU.</string> 239 <string name="select_gpu_driver_use_default">Utilizza il driver predefinito della GPU.</string>
240 <string name="select_gpu_driver_error">Il driver selezionato è invalido, è in utilizzo quello predefinito di sistema!</string>
175 <string name="system_gpu_driver">Driver GPU del sistema</string> 241 <string name="system_gpu_driver">Driver GPU del sistema</string>
176 <string name="installing_driver">Installando i driver...</string> 242 <string name="installing_driver">Installando i driver...</string>
177 243
@@ -182,10 +248,11 @@
182 <string name="preferences_graphics">Grafica</string> 248 <string name="preferences_graphics">Grafica</string>
183 <string name="preferences_audio">Audio</string> 249 <string name="preferences_audio">Audio</string>
184 <string name="preferences_theme">Tema e colori</string> 250 <string name="preferences_theme">Tema e colori</string>
251 <string name="preferences_debug">Debug</string>
185 252
186 <!-- ROM loading errors --> 253 <!-- ROM loading errors -->
187 <string name="loader_error_encrypted">La tua ROM è criptata</string> 254 <string name="loader_error_encrypted">La tua ROM è criptata</string>
188 <string name="loader_error_encrypted_roms_description"><![CDATA[Per favore segui la guida per eseguire il dump della <a href=\"https://yuzu-emu.org/help/quickstart/#dumping-cartridge-games\">cartuccia di gioco</a> o i <a href=\"https://yuzu-emu.org/help/quickstart/#dumping-installed-titles-eshop\">titoli installati</a>.]]></string> 255 <string name="loader_error_encrypted_roms_description"><![CDATA[Segui la nostra guida per fare il <a href=\"https://yuzu-emu.org/help/quickstart/#dumping-physical-titles-game-cards\">dump delle tue cartucce di gioco</a>oppure <a href=\"https://yuzu-emu.org/help/quickstart/#dumping-digital-titles-eshop\">dei titoli già installati</a>.]]></string>
189 <string name="loader_error_encrypted_keys_description"><![CDATA[Per favore assicurati che il file <a href=\"https://yuzu-emu.org/help/quickstart/#dumping-prodkeys-and-titlekeys\">prod.keys</a> sia installato in modo che i giochi possano essere decrittati.]]></string> 256 <string name="loader_error_encrypted_keys_description"><![CDATA[Per favore assicurati che il file <a href=\"https://yuzu-emu.org/help/quickstart/#dumping-prodkeys-and-titlekeys\">prod.keys</a> sia installato in modo che i giochi possano essere decrittati.]]></string>
190 <string name="loader_error_video_core">È stato riscontrato un errore nell\'inizializzazione del core video</string> 257 <string name="loader_error_video_core">È stato riscontrato un errore nell\'inizializzazione del core video</string>
191 <string name="loader_error_video_core_description">Questo è causato solitamente dal driver incompatibile di una GPU. L\'installazione di driver GPU personalizzati potrebbe risolvere questo problema.</string> 258 <string name="loader_error_video_core_description">Questo è causato solitamente dal driver incompatibile di una GPU. L\'installazione di driver GPU personalizzati potrebbe risolvere questo problema.</string>
@@ -193,28 +260,28 @@
193 <string name="loader_error_file_not_found">Il file della ROM non esiste</string> 260 <string name="loader_error_file_not_found">Il file della ROM non esiste</string>
194 261
195 <!-- Emulation Menu --> 262 <!-- Emulation Menu -->
196 <string name="emulation_exit">Uscire dall\'emulazione</string> 263 <string name="emulation_exit">Arresta emulazione</string>
197 <string name="emulation_done">Fatto</string> 264 <string name="emulation_done">Fatto</string>
198 <string name="emulation_fps_counter">Contatore degli FPS</string> 265 <string name="emulation_fps_counter">Contatore FPS</string>
199 <string name="emulation_toggle_controls">Controlli a interruttore</string> 266 <string name="emulation_toggle_controls">Controlli a interruttore</string>
200 <string name="emulation_rel_stick_center">Centro relativo degli Stick</string> 267 <string name="emulation_rel_stick_center">Centro relativo degli Stick</string>
201 <string name="emulation_dpad_slide">Slittamento del Pad Direzionale</string> 268 <string name="emulation_dpad_slide">DPad A Scorrimento</string>
202 <string name="emulation_haptics">Aptico</string> 269 <string name="emulation_haptics">Feedback Aptico</string>
203 <string name="emulation_show_overlay">Mostra Overlay</string> 270 <string name="emulation_show_overlay">Mostra l\'Overlay</string>
204 <string name="emulation_toggle_all">Attiva/disattiva tutto</string> 271 <string name="emulation_toggle_all">Attiva/Disattiva tutto</string>
205 <string name="emulation_control_adjust">Aggiusta Overlay</string> 272 <string name="emulation_control_adjust">Modifica l\'Overlay</string>
206 <string name="emulation_control_scale">Scala</string> 273 <string name="emulation_control_scale">Scala</string>
207 <string name="emulation_control_opacity">Opacità</string> 274 <string name="emulation_control_opacity">Opacità</string>
208 <string name="emulation_touch_overlay_reset">Reimposta Overlay</string> 275 <string name="emulation_touch_overlay_reset">Reimposta l\'Overlay</string>
209 <string name="emulation_touch_overlay_edit">Modifica Overlay</string> 276 <string name="emulation_touch_overlay_edit">Modifica l\'Overlay</string>
210 <string name="emulation_pause">Metti in pausa l\'emulazione</string> 277 <string name="emulation_pause">Sospendi l\'emulazione</string>
211 <string name="emulation_unpause">Riprendi Emulazione</string> 278 <string name="emulation_unpause">Riprendi l\'emulazione</string>
212 <string name="emulation_input_overlay">Impostazioni Overlay</string> 279 <string name="emulation_input_overlay">Opzioni overlay</string>
213 280
214 <string name="load_settings">Caricamento delle impostazioni...</string> 281 <string name="load_settings">Carico le impostazioni...</string>
215 282
216 <!-- Software keyboard --> 283 <!-- Software keyboard -->
217 <string name="software_keyboard">Tastiera software</string> 284 <string name="software_keyboard">Tastiera Software</string>
218 285
219 <!-- Errors and warnings --> 286 <!-- Errors and warnings -->
220 <string name="abort_button">Interrompi</string> 287 <string name="abort_button">Interrompi</string>
@@ -226,6 +293,9 @@
226 <string name="fatal_error">Errore Fatale</string> 293 <string name="fatal_error">Errore Fatale</string>
227 <string name="fatal_error_message">Un errore fatale è accaduto. Controlla i log per i dettagli.\nContinuare ad emulare potrebbe portare bug o causare crash.</string> 294 <string name="fatal_error_message">Un errore fatale è accaduto. Controlla i log per i dettagli.\nContinuare ad emulare potrebbe portare bug o causare crash.</string>
228 <string name="performance_warning">Disattivare questa impostazione può ridurre significativamente le performance di emulazione! Per una migliore esperienza, è consigliato lasciare questa impostazione attivata.</string> 295 <string name="performance_warning">Disattivare questa impostazione può ridurre significativamente le performance di emulazione! Per una migliore esperienza, è consigliato lasciare questa impostazione attivata.</string>
296 <string name="device_memory_inadequate">RAM Totale:%1$s\nRaccomandati: %2$s</string>
297 <string name="memory_formatted">%1$s%2$s</string>
298 <string name="no_game_present">Non è presente alcun gioco avviabile.</string>
229 299
230 <!-- Region Names --> 300 <!-- Region Names -->
231 <string name="region_japan">Giappone</string> 301 <string name="region_japan">Giappone</string>
@@ -236,7 +306,14 @@
236 <string name="region_korea">Corea</string> 306 <string name="region_korea">Corea</string>
237 <string name="region_taiwan">Taiwan</string> 307 <string name="region_taiwan">Taiwan</string>
238 308
239 <!-- Language Names --> 309 <!-- Memory Sizes -->
310 <string name="memory_byte">Byte</string>
311 <string name="memory_kilobyte">Kb</string>
312 <string name="memory_megabyte">Mb</string>
313 <string name="memory_gigabyte">GB</string>
314 <string name="memory_terabyte">Tb</string>
315 <string name="memory_petabyte">Pb</string>
316 <string name="memory_exabyte">Eb</string>
240 317
241 <!-- Renderer APIs --> 318 <!-- Renderer APIs -->
242 <string name="renderer_vulkan">Vulkan</string> 319 <string name="renderer_vulkan">Vulkan</string>
@@ -274,12 +351,17 @@
274 <string name="anti_aliasing_fxaa">FXAA</string> 351 <string name="anti_aliasing_fxaa">FXAA</string>
275 <string name="anti_aliasing_smaa">SMAA</string> 352 <string name="anti_aliasing_smaa">SMAA</string>
276 353
354 <!-- Screen Layouts -->
355 <string name="screen_layout_landscape">Layout Orizzontale</string>
356 <string name="screen_layout_portrait">Layout Verticale</string>
357 <string name="screen_layout_auto">Automatico</string>
358
277 <!-- Aspect Ratios --> 359 <!-- Aspect Ratios -->
278 <string name="ratio_default">Predefinito (16:9)</string> 360 <string name="ratio_default">Predefinito (16:9)</string>
279 <string name="ratio_force_four_three">Forza 4:3</string> 361 <string name="ratio_force_four_three">Forza 4:3</string>
280 <string name="ratio_force_twenty_one_nine">Forza 21:9</string> 362 <string name="ratio_force_twenty_one_nine">Forza 21:9</string>
281 <string name="ratio_force_sixteen_ten">Forza 16:10</string> 363 <string name="ratio_force_sixteen_ten">Forza 16:10</string>
282 <string name="ratio_stretch">Allunga a finestra</string> 364 <string name="ratio_stretch">Adatta alla finestra</string>
283 365
284 <!-- CPU Accuracy --> 366 <!-- CPU Accuracy -->
285 <string name="cpu_accuracy_accurate">Accurata</string> 367 <string name="cpu_accuracy_accurate">Accurata</string>
@@ -287,9 +369,9 @@
287 <string name="cpu_accuracy_paranoid">Paranoico (Lento)</string> 369 <string name="cpu_accuracy_paranoid">Paranoico (Lento)</string>
288 370
289 <!-- Gamepad Buttons --> 371 <!-- Gamepad Buttons -->
290 <string name="gamepad_d_pad">D-Pad</string> 372 <string name="gamepad_d_pad">D-pad</string>
291 <string name="gamepad_left_stick">Levetta sinistra</string> 373 <string name="gamepad_left_stick">Analogico sinistro</string>
292 <string name="gamepad_right_stick">Levetta destra</string> 374 <string name="gamepad_right_stick">Analogico destro</string>
293 <string name="gamepad_home">Home</string> 375 <string name="gamepad_home">Home</string>
294 <string name="gamepad_screenshot">Screenshot</string> 376 <string name="gamepad_screenshot">Screenshot</string>
295 377
@@ -298,7 +380,7 @@
298 <string name="building_shaders">Costruendo gli shaders</string> 380 <string name="building_shaders">Costruendo gli shaders</string>
299 381
300 <!-- Theme options --> 382 <!-- Theme options -->
301 <string name="change_app_theme">Cambia il tema dell\'app</string> 383 <string name="change_app_theme">Cambia tema dell\'app</string>
302 <string name="theme_default">Predefinito</string> 384 <string name="theme_default">Predefinito</string>
303 <string name="theme_material_you">Material You</string> 385 <string name="theme_material_you">Material You</string>
304 386
@@ -308,8 +390,22 @@
308 <string name="theme_mode_light">Chiaro</string> 390 <string name="theme_mode_light">Chiaro</string>
309 <string name="theme_mode_dark">Scuro</string> 391 <string name="theme_mode_dark">Scuro</string>
310 392
393 <!-- Audio output engines -->
394 <string name="cubeb">cubeb</string>
395
311 <!-- Black backgrounds theme --> 396 <!-- Black backgrounds theme -->
312 <string name="use_black_backgrounds">Usa sfondi neri</string> 397 <string name="use_black_backgrounds">Sfondi neri</string>
313 <string name="use_black_backgrounds_description">Quando utilizzi il tema scuro, applica sfondi neri.</string> 398 <string name="use_black_backgrounds_description">Quando utilizzi il tema scuro, applica sfondi neri.</string>
314 399
315</resources> 400 <!-- Picture-In-Picture -->
401 <string name="picture_in_picture">Picture in Picture</string>
402 <string name="picture_in_picture_description">Minimizza la finestra quando viene impostata in background</string>
403 <string name="pause">Pausa</string>
404 <string name="play">Gioca</string>
405 <string name="mute">Silenzia</string>
406 <string name="unmute">Riattiva</string>
407
408 <!-- Licenses screen strings -->
409 <string name="licenses">Licenze</string>
410 <string name="license_fidelityfx_fsr_description">Upscaling di alta qualità da parte di AMD</string>
411 </resources>
diff --git a/src/android/app/src/main/res/values-ja/strings.xml b/src/android/app/src/main/res/values-ja/strings.xml
index a0ea78bef..3be4e7d26 100644
--- a/src/android/app/src/main/res/values-ja/strings.xml
+++ b/src/android/app/src/main/res/values-ja/strings.xml
@@ -1,11 +1,12 @@
1<?xml version="1.0" encoding="utf-8"?> 1<?xml version="1.0" encoding="utf-8"?>
2<resources> 2<resources xmlns:tools="http://schemas.android.com/tools" tools:ignore="MissingTranslation">
3 3
4 <string name="app_disclaimer">ã“ã®ã‚½ãƒ•トウェアã¯ã€Nintendo Switch用ã®ã‚²ãƒ¼ãƒ ã‚’実行ã—ã¾ã™ã€‚ ゲームソフトやキーã¯å«ã¾ã‚Œã¾ã›ã‚“。&lt;br /&gt;&lt;br /&gt;事å‰ã«ã€ <![CDATA[<b> prod.keys </b>]]> ファイルをデãƒã‚¤ã‚¹ã®ã‚¹ãƒˆãƒ¬ãƒ¼ã‚¸ã«é…ç½®ã—ã¦ãŠã„ã¦ãã ã•ã„。&lt;br /&gt;&lt;br /&gt;<![CDATA[<a href=\"https://yuzu-emu.org/help/quickstart\">詳細</a>]]></string> 4 <string name="app_disclaimer">ã“ã®ã‚½ãƒ•トウェアã§ã¯ã€Nintendo Switchã®ã‚²ãƒ¼ãƒ ã‚’実行ã§ãã¾ã™ã€‚ ゲームソフトやキーã¯å«ã¾ã‚Œã¾ã›ã‚“。&lt;br /&gt;&lt;br /&gt;事å‰ã«ã€ <![CDATA[<b> prod.keys </b>]]> ファイルをストレージã«é…ç½®ã—ã¦ãŠã„ã¦ãã ã•ã„。&lt;br /&gt;&lt;br /&gt;<![CDATA[<a href=\"https://yuzu-emu.org/help/quickstart\">詳細</a>]]></string>
5 <string name="emulation_notification_channel_name">ã‚¨ãƒŸãƒ¥ãƒ¬ãƒ¼ã‚·ãƒ§ãƒ³ãŒæœ‰åйã§ã™</string> 5 <string name="emulation_notification_channel_name">ã‚¨ãƒŸãƒ¥ãƒ¬ãƒ¼ã‚·ãƒ§ãƒ³ãŒæœ‰åйã§ã™</string>
6 <string name="emulation_notification_channel_description">エミュレーションã®å®Ÿè¡Œä¸­ã«å¸¸è¨­é€šçŸ¥ã‚’表示ã—ã¾ã™ã€‚</string> 6 <string name="emulation_notification_channel_description">エミュレーションã®å®Ÿè¡Œä¸­ã«å¸¸è¨­é€šçŸ¥ã‚’表示ã—ã¾ã™ã€‚</string>
7 <string name="emulation_notification_running">yuzu ã¯å®Ÿè¡Œä¸­ã§ã™</string> 7 <string name="emulation_notification_running">yuzu ã¯å®Ÿè¡Œä¸­ã§ã™</string>
8 <string name="notice_notification_channel_description">å•題ãŒç™ºç”Ÿã—ãŸã¨ãã«é€šçŸ¥ã‚’表示ã—ã¾ã™ã€‚</string> 8 <string name="notice_notification_channel_name">通知ã¨ã‚¨ãƒ©ãƒ¼</string>
9 <string name="notice_notification_channel_description">å•題ã®ç™ºç”Ÿæ™‚ã«é€šçŸ¥ã‚’表示ã—ã¾ã™ã€‚</string>
9 <string name="notification_permission_not_granted">通知ãŒè¨±å¯ã•れã¦ã„ã¾ã›ã‚“!</string> 10 <string name="notification_permission_not_granted">通知ãŒè¨±å¯ã•れã¦ã„ã¾ã›ã‚“!</string>
10 11
11 <!-- Setup strings --> 12 <!-- Setup strings -->
@@ -16,7 +17,7 @@
16 <string name="keys_description">下ã®ãƒœã‚¿ãƒ³ã‹ã‚‰ &lt;b>prod.keys&lt;/b> ãƒ•ã‚¡ã‚¤ãƒ«ã‚’é¸æŠžã—ã¦ãã ã•ã„。</string> 17 <string name="keys_description">下ã®ãƒœã‚¿ãƒ³ã‹ã‚‰ &lt;b>prod.keys&lt;/b> ãƒ•ã‚¡ã‚¤ãƒ«ã‚’é¸æŠžã—ã¦ãã ã•ã„。</string>
17 <string name="select_keys">ã‚­ãƒ¼ã‚’é¸æŠž</string> 18 <string name="select_keys">ã‚­ãƒ¼ã‚’é¸æŠž</string>
18 <string name="games">ゲーム</string> 19 <string name="games">ゲーム</string>
19 <string name="games_description">下ã®ãƒœã‚¿ãƒ³ã‹ã‚‰&lt;b>ゲーム&lt;/b>ãŒã‚ã‚‹ãƒ•ã‚©ãƒ«ãƒ€ã‚’é¸æŠžã—ã¦ãã ã•ã„。</string> 20 <string name="games_description">下ã®ãƒœã‚¿ãƒ³ã‹ã‚‰&lt;b>ゲーム&lt;/b>ã®ã‚ã‚‹ãƒ•ã‚©ãƒ«ãƒ€ã‚’é¸æŠžã—ã¦ãã ã•ã„。</string>
20 <string name="done">完了</string> 21 <string name="done">完了</string>
21 <string name="done_description">準備ãŒå®Œäº†ã—ã¾ã—ãŸã€‚\nã‚²ãƒ¼ãƒ ã‚’ãŠæ¥½ã—ã¿ãã ã•ã„!</string> 22 <string name="done_description">準備ãŒå®Œäº†ã—ã¾ã—ãŸã€‚\nã‚²ãƒ¼ãƒ ã‚’ãŠæ¥½ã—ã¿ãã ã•ã„!</string>
22 <string name="text_continue">続行</string> 23 <string name="text_continue">続行</string>
@@ -24,48 +25,53 @@
24 <string name="back">戻る</string> 25 <string name="back">戻る</string>
25 <string name="add_games">ゲームを追加</string> 26 <string name="add_games">ゲームを追加</string>
26 <string name="add_games_description">ã‚²ãƒ¼ãƒ ãƒ•ã‚©ãƒ«ãƒ€ã‚’é¸æŠž</string> 27 <string name="add_games_description">ã‚²ãƒ¼ãƒ ãƒ•ã‚©ãƒ«ãƒ€ã‚’é¸æŠž</string>
28 <string name="step_complete">完了!</string>
27 29
28 <!-- Home strings --> 30 <!-- Home strings -->
29 <string name="home_games">ゲーム</string> 31 <string name="home_games">ゲーム</string>
30 <string name="home_search">検索</string> 32 <string name="home_search">検索</string>
31 <string name="home_settings">設定</string> 33 <string name="home_settings">設定</string>
32 <string name="empty_gamelist">ファイルãŒè¦‹ã¤ã‹ã‚‰ãªã„ã‹ã€ã‚²ãƒ¼ãƒ ãƒ‡ã‚£ãƒ¬ã‚¯ãƒˆãƒªãŒã¾ã é¸æŠžã•れã¦ã„ã¾ã›ã‚“。</string> 34 <string name="empty_gamelist">ファイルãŒå­˜åœ¨ã—ãªã„ã‹ã‚²ãƒ¼ãƒ ãƒ•ォルダãŒé¸æŠžã•れã¦ã„ã¾ã›ã‚“。</string>
33 <string name="search_and_filter_games">ã‚²ãƒ¼ãƒ ã®æ¤œç´¢ã¨çµžã‚Šè¾¼ã¿</string> 35 <string name="search_and_filter_games">ã‚²ãƒ¼ãƒ ã®æ¤œç´¢ã¨çµžã‚Šè¾¼ã¿</string>
34 <string name="select_games_folder">ã‚²ãƒ¼ãƒ ãƒ•ã‚©ãƒ«ãƒ€ã‚’é¸æŠž</string> 36 <string name="select_games_folder">ゲームフォルダ</string>
35 <string name="select_games_folder_description">yuzu ãŒã‚²ãƒ¼ãƒ ãƒªã‚¹ãƒˆã«è¿½åŠ ã§ãるよã†ã«ã—ã¾ã™</string> 37 <string name="select_games_folder_description">ゲームをyuzuã®ã‚²ãƒ¼ãƒ ãƒªã‚¹ãƒˆã«è¿½åŠ ã—ã¾ã™</string>
36 <string name="add_games_warning">ゲームフォルダã®é¸æŠžã‚’スキップã—ã¾ã™ã‹?</string> 38 <string name="add_games_warning">ゲームフォルダã®é¸æŠžã‚’スキップã—ã¾ã™ã‹?</string>
37 <string name="add_games_warning_description">ãƒ•ã‚©ãƒ«ãƒ€ã‚’é¸æŠžã—ãªã„å ´åˆã€ã‚²ãƒ¼ãƒ ã¯ã‚²ãƒ¼ãƒ ãƒªã‚¹ãƒˆã«è¡¨ç¤ºã•れã¾ã›ã‚“。</string> 39 <string name="add_games_warning_description">ãƒ•ã‚©ãƒ«ãƒ€ã‚’é¸æŠžã—ãªã„ã¨ã€ã‚²ãƒ¼ãƒ ãŒãƒªã‚¹ãƒˆã«è¡¨ç¤ºã•れã¾ã›ã‚“。</string>
38 <string name="add_games_warning_help">https://yuzu-emu.org/help/quickstart/#dumping-games</string> 40 <string name="add_games_warning_help">https://yuzu-emu.org/help/quickstart/#dumping-games</string>
39 <string name="home_search_games">ゲームを検索</string> 41 <string name="home_search_games">ゲームを検索</string>
40 <string name="games_dir_selected">ゲームディレクトリãŒé¸æŠžã•れã¾ã—ãŸ</string> 42 <string name="search_settings">検索設定</string>
41 <string name="install_prod_keys">prod.keys をインストール</string> 43 <string name="games_dir_selected">ãƒ•ã‚©ãƒ«ãƒ€ã‚’é¸æŠžã—ã¾ã—ãŸ</string>
42 <string name="install_prod_keys_description">ゲームã®å¾©å·åŒ–ã«å¿…è¦</string> 44 <string name="install_prod_keys">prod.keys</string>
45 <string name="install_prod_keys_description">製å“版ゲームã®å¾©å·åŒ–ã«å¿…è¦ã§ã™</string>
43 <string name="install_prod_keys_warning">キーã®è¿½åŠ ã‚’ã‚¹ã‚­ãƒƒãƒ—ã—ã¾ã™ã‹ï¼Ÿ</string> 46 <string name="install_prod_keys_warning">キーã®è¿½åŠ ã‚’ã‚¹ã‚­ãƒƒãƒ—ã—ã¾ã™ã‹ï¼Ÿ</string>
44 <string name="install_prod_keys_warning_description">製å“版ゲームã®ã‚¨ãƒŸãƒ¥ãƒ¬ãƒ¼ã‚·ãƒ§ãƒ³ã«ã¯ã€æœ‰åйãªã‚­ãƒ¼ãŒå¿…è¦ã§ã™ã€‚続行ã™ã‚‹ã¨è‡ªä½œã‚¢ãƒ—リã—ã‹æ©Ÿèƒ½ã—ã¾ã›ã‚“。</string> 47 <string name="install_prod_keys_warning_description">製å“版ゲームã®ã‚¨ãƒŸãƒ¥ãƒ¬ãƒ¼ã‚·ãƒ§ãƒ³ã«ã¯ã€æœ‰åйãªã‚­ãƒ¼ãŒå¿…è¦ã§ã™ã€‚続行ã™ã‚‹ã¨è‡ªä½œã‚¢ãƒ—リã—ã‹æ©Ÿèƒ½ã—ã¾ã›ã‚“。</string>
45 <string name="install_prod_keys_warning_help">https://yuzu-emu.org/help/quickstart/#guide-introduction</string> 48 <string name="install_prod_keys_warning_help">https://yuzu-emu.org/help/quickstart/#guide-introduction</string>
46 <string name="notifications">通知</string> 49 <string name="notifications">通知</string>
47 <string name="notifications_description">下ã®ãƒœã‚¿ãƒ³ã§é€šçŸ¥ã®æ¨©é™ã‚’許å¯ã—ã¦ãã ã•ã„。</string> 50 <string name="notifications_description">下ã®ãƒœã‚¿ãƒ³ã§é€šçŸ¥ã‚’許å¯ã—ã¦ãã ã•ã„。</string>
48 <string name="give_permission">許å¯</string> 51 <string name="give_permission">許å¯</string>
49 <string name="notification_warning">通知ã®è¨±å¯ã‚’スキップã—ã¾ã™ã‹ï¼Ÿ</string> 52 <string name="notification_warning">通知ã®è¨±å¯ã‚’スキップã—ã¾ã™ã‹ï¼Ÿ</string>
50 <string name="notification_warning_description">yuzuã¯é‡è¦ãªãŠçŸ¥ã‚‰ã›ã‚’通知ã§ãã¾ã›ã‚“。</string> 53 <string name="notification_warning_description">yuzuã¯é‡è¦ãªãŠçŸ¥ã‚‰ã›ã‚’通知ã§ãã¾ã›ã‚“。</string>
51 <string name="permission_denied">権é™ãŒæ‹’å¦ã•れã¾ã—ãŸ</string> 54 <string name="permission_denied">権é™ãŒæ‹’å¦ã•れã¾ã—ãŸ</string>
52 <string name="permission_denied_description">ã“ã®æ¨©é™ã‚’複数回拒å¦ã—ãŸãŸã‚ã€ã‚·ã‚¹ãƒ†ãƒ è¨­å®šã§æ‰‹å‹•ã§è¨±å¯ã™ã‚‹å¿…è¦ãŒã‚りã¾ã™ã€‚</string> 55 <string name="permission_denied_description">ã“ã®æ¨©é™ã‚’複数回拒å¦ã—ãŸãŸã‚ã€è¨­å®šã‹ã‚‰æ‰‹å‹•ã§è¨±å¯ã™ã‚‹å¿…è¦ãŒã‚りã¾ã™ã€‚</string>
53 <string name="about">情報</string> 56 <string name="about">情報</string>
54 <string name="about_description">ビルドãƒãƒ¼ã‚¸ãƒ§ãƒ³ã€ã‚¯ãƒ¬ã‚¸ãƒƒãƒˆãªã©</string> 57 <string name="about_description">ビルドãƒãƒ¼ã‚¸ãƒ§ãƒ³ã€ã‚¯ãƒ¬ã‚¸ãƒƒãƒˆãªã©</string>
55 <string name="warning_help">ヘルプ</string> 58 <string name="warning_help">ヘルプ</string>
56 <string name="warning_skip">スキップ</string> 59 <string name="warning_skip">スキップ</string>
57 <string name="warning_cancel">キャンセル</string> 60 <string name="warning_cancel">キャンセル</string>
58 <string name="install_amiibo_keys">Amiibo キーをインストール</string> 61 <string name="install_amiibo_keys">Amiibo</string>
59 <string name="install_amiibo_keys_description">ゲーム内ã§ã® Amiibo ã®ä½¿ç”¨ã«å¿…è¦</string> 62 <string name="install_amiibo_keys_description">ゲーム内ã§ã® Amiibo ã®ä½¿ç”¨ã«å¿…è¦ã§ã™</string>
60 <string name="invalid_keys_file">無効ãªã‚­ãƒ¼ãƒ•ァイルãŒé¸æŠžã•れã¾ã—ãŸ</string> 63 <string name="invalid_keys_file">無効ãªã‚­ãƒ¼ãƒ•ァイルã§ã</string>
61 <string name="install_keys_success">正常ã«ã‚¤ãƒ³ã‚¹ãƒˆãƒ¼ãƒ«ã•れã¾ã—ãŸ</string> 64 <string name="install_keys_success">正常ã«ã‚¤ãƒ³ã‚¹ãƒˆãƒ¼ãƒ«ã•れã¾ã—ãŸ</string>
62 <string name="reading_keys_failure">æš—å·åŒ–キーã®èª­ã¿å–りエラー</string> 65 <string name="reading_keys_failure">æš—å·åŒ–キーã®èª­ã¿è¾¼ã¿å¤±æ•—</string>
63 <string name="invalid_keys_error">æš—å·åŒ–キーãŒç„¡åйã§ã™</string> 66 <string name="install_prod_keys_failure_extension_description">ã‚­ãƒ¼ã®æ‹¡å¼µå­ãŒ.keysã§ã‚ã‚‹ã“ã¨ã‚’確èªã—ã€å†åº¦ãŠè©¦ã—ãã ã•ã„。</string>
67 <string name="install_amiibo_keys_failure_extension_description">ã‚­ãƒ¼ã®æ‹¡å¼µå­ãŒ.binã§ã‚ã‚‹ã“ã¨ã‚’確èªã—ã€å†åº¦ãŠè©¦ã—ãã ã•ã„。</string>
68 <string name="invalid_keys_error">æš—å·åŒ–キーãŒç„¡åй</string>
64 <string name="dumping_keys_quickstart_link">https://yuzu-emu.org/help/quickstart/#dumping-decryption-keys</string> 69 <string name="dumping_keys_quickstart_link">https://yuzu-emu.org/help/quickstart/#dumping-decryption-keys</string>
65 <string name="install_keys_failure_description">é¸æŠžã•れãŸãƒ•ァイルãŒä¸æ­£ã¾ãŸã¯ç ´æã—ã¦ã„ã¾ã™ã€‚キーをå†ãƒ€ãƒ³ãƒ—ã—ã¦ãã ã•ã„。</string> 70 <string name="install_keys_failure_description">ファイルãŒé–“é•ã£ã¦ã„ã‚‹ã‹ç ´æã—ã¦ã„ã¾ã™ã€‚キーをå†ãƒ€ãƒ³ãƒ—ã—ã¦ãã ã•ã„。</string>
66 <string name="install_gpu_driver">GPUドライãƒãƒ¼ã‚’インストール</string> 71 <string name="install_gpu_driver">GPUドライãƒãƒ¼</string>
67 <string name="install_gpu_driver_description">代替ドライãƒãƒ¼ã‚’インストールã—ã¦ãƒ‘フォーマンスや精度をå‘上ã•ã›ã¾ã™</string> 72 <string name="install_gpu_driver_description">代替ドライãƒãƒ¼ã‚’インストールã—ã¦ãƒ‘フォーマンスや精度をå‘上ã•ã›ã¾ã™</string>
68 <string name="advanced_settings">高度ãªè¨­å®š</string> 73 <string name="advanced_settings">高度ãªè¨­å®š</string>
74 <string name="advanced_settings_game">高度ãªè¨­å®š: %1$s</string>
69 <string name="settings_description">エミュレーターã®è¨­å®šã‚’æ§‹æˆã—ã¾ã™</string> 75 <string name="settings_description">エミュレーターã®è¨­å®šã‚’æ§‹æˆã—ã¾ã™</string>
70 <string name="search_recently_played">最近プレイã—ãŸ</string> 76 <string name="search_recently_played">最近プレイã—ãŸ</string>
71 <string name="search_recently_added">最近追加ã•れãŸ</string> 77 <string name="search_recently_added">最近追加ã•れãŸ</string>
@@ -77,15 +83,34 @@
77 <string name="no_file_manager">ファイルマãƒãƒ¼ã‚¸ãƒ£ãƒ¼ãŒè¦‹ã¤ã‹ã‚Šã¾ã›ã‚“ã§ã—ãŸ</string> 83 <string name="no_file_manager">ファイルマãƒãƒ¼ã‚¸ãƒ£ãƒ¼ãŒè¦‹ã¤ã‹ã‚Šã¾ã›ã‚“ã§ã—ãŸ</string>
78 <string name="notification_no_directory_link">yuzuã®ãƒ‡ã‚£ãƒ¬ã‚¯ãƒˆãƒªã‚’é–‹ã‘ã¾ã›ã‚“</string> 84 <string name="notification_no_directory_link">yuzuã®ãƒ‡ã‚£ãƒ¬ã‚¯ãƒˆãƒªã‚’é–‹ã‘ã¾ã›ã‚“</string>
79 <string name="notification_no_directory_link_description">ファイルマãƒãƒ¼ã‚¸ãƒ£ã®ã‚µã‚¤ãƒ‰ãƒ‘ãƒãƒ«ã§ãƒ¦ãƒ¼ã‚¶ãƒ¼ãƒ•ã‚©ãƒ«ãƒ€ã‚’æ‰‹å‹•ã§æŽ¢ã—ã¦ãã ã•ã„。</string> 85 <string name="notification_no_directory_link_description">ファイルマãƒãƒ¼ã‚¸ãƒ£ã®ã‚µã‚¤ãƒ‰ãƒ‘ãƒãƒ«ã§ãƒ¦ãƒ¼ã‚¶ãƒ¼ãƒ•ã‚©ãƒ«ãƒ€ã‚’æ‰‹å‹•ã§æŽ¢ã—ã¦ãã ã•ã„。</string>
80 <string name="manage_save_data">セーブデータを管ç†</string> 86 <string name="manage_save_data">セーブデータ</string>
81 <string name="manage_save_data_description">セーブデータãŒè¦‹ã¤ã‹ã‚Šã¾ã—ãŸã€‚以下ã®ã‚ªãƒ—ションã‹ã‚‰é¸æŠžã—ã¦ãã ã•ã„。</string> 87 <string name="manage_save_data_description">セーブデータãŒè¦‹ã¤ã‹ã‚Šã¾ã—ãŸã€‚æ“ä½œã‚’é¸æŠžã—ã¦ãã ã•ã„。</string>
82 <string name="import_export_saves_description">セーブファイルをインãƒãƒ¼ãƒˆ/エクスãƒãƒ¼ãƒˆ</string> 88 <string name="import_export_saves_description">セーブファイルをインãƒãƒ¼ãƒˆ/エクスãƒãƒ¼ãƒˆ</string>
83 <string name="save_file_imported_success">インãƒãƒ¼ãƒˆãŒå®Œäº†ã—ã¾ã—ãŸ</string> 89 <string name="save_file_imported_success">インãƒãƒ¼ãƒˆãŒå®Œäº†ã—ã¾ã—ãŸ</string>
84 <string name="save_file_invalid_zip_structure">セーブデータã®ãƒ‡ã‚£ãƒ¬ã‚¯ãƒˆãƒªæ§‹é€ ãŒç„¡åйã§ã™</string> 90 <string name="save_file_invalid_zip_structure">セーブデータã®ãƒ‡ã‚£ãƒ¬ã‚¯ãƒˆãƒªæ§‹é€ ãŒç„¡åй</string>
85 <string name="save_file_invalid_zip_structure_description">最åˆã®ã‚µãƒ–フォルダåã¯ã€ã‚²ãƒ¼ãƒ ã®ã‚¿ã‚¤ãƒˆãƒ«IDã§ã‚ã‚‹å¿…è¦ãŒã‚りã¾ã™ã€‚</string> 91 <string name="save_file_invalid_zip_structure_description">最åˆã®ã‚µãƒ–フォルダåã¯ã€ã‚²ãƒ¼ãƒ ã®ã‚¿ã‚¤ãƒˆãƒ«IDã§ã‚ã‚‹å¿…è¦ãŒã‚りã¾ã™ã€‚</string>
86 <string name="import_saves">インãƒãƒ¼ãƒˆ</string> 92 <string name="import_saves">インãƒãƒ¼ãƒˆ</string>
87 <string name="export_saves">エクスãƒãƒ¼ãƒˆ</string> 93 <string name="export_saves">エクスãƒãƒ¼ãƒˆ</string>
88 94 <string name="install_firmware">ファームウェア</string>
95 <string name="install_firmware_description">ファームウェアã¯ZIPアーカイブã§ã‚ã‚‹å¿…è¦ãŒã‚りã€ä¸€éƒ¨ã®ã‚²ãƒ¼ãƒ ã‚’èµ·å‹•ã™ã‚‹ã®ã«å¿…è¦ã§ã™</string>
96 <string name="firmware_installing">ファームウェアをインストール中</string>
97 <string name="firmware_installed_success">インストールãŒå®Œäº†ã—ã¾ã—ãŸ</string>
98 <string name="firmware_installed_failure">インストール失敗</string>
99 <string name="share_log">デãƒãƒƒã‚°ãƒ­ã‚°</string>
100 <string name="share_log_description">yuzuã®ãƒ­ã‚°ãƒ•ァイルを共有ã—ã¦å•題をデãƒãƒƒã‚°ã—ã¾ã™</string>
101 <string name="share_log_missing">ログãŒè¦‹ã¤ã‹ã‚Šã¾ã›ã‚“</string>
102 <string name="install_game_content">追加コンテンツ</string>
103 <string name="install_game_content_description">更新データやDLCをインストールã—ã¾ã™</string>
104 <string name="installing_game_content">コンテンツをインストール中...</string>
105 <string name="install_game_content_failure_file_extension">NSPã¨XCIå½¢å¼ã®ã‚³ãƒ³ãƒ†ãƒ³ãƒ„ã®ã¿ã‚µãƒãƒ¼ãƒˆã•れã¦ã„ã¾ã™ã€‚ã‚²ãƒ¼ãƒ ã‚³ãƒ³ãƒ†ãƒ³ãƒ„ãŒæœ‰åйãªã‚‚ã®ã§ã‚ã‚‹ã‹ã”確èªãã ã•ã„。</string>
106 <string name="install_game_content_failed_count">%1$d ã®ã‚¤ãƒ³ã‚¹ãƒˆãƒ¼ãƒ«ã‚¨ãƒ©ãƒ¼</string>
107 <string name="install_game_content_success">ゲームコンテンツã®ã‚¤ãƒ³ã‚¹ãƒˆãƒ¼ãƒ«ã«æˆåŠŸã—ã¾ã—ãŸ</string>
108 <string name="install_game_content_success_install">%1$d ã®ã‚¤ãƒ³ã‚¹ãƒˆãƒ¼ãƒ«ã«æˆåŠŸã—ã¾ã—ãŸ</string>
109 <string name="install_game_content_success_overwrite">%1$d ã®ä¸Šæ›¸ãã«æˆåŠŸã—ã¾ã—ãŸ</string>
110 <string name="install_game_content_help_link">https://yuzu-emu.org/help/quickstart/#dumping-installed-updates</string>
111 <string name="custom_driver_not_supported">カスタムドライãƒã¯ã‚µãƒãƒ¼ãƒˆã•れã¦ã„ã¾ã›ã‚“</string>
112 <string name="manage_yuzu_data">yuzu データを管ç†</string>
113 <string name="share_save_file">セーブファイルを共有</string>
89 <!-- About screen strings --> 114 <!-- About screen strings -->
90 <string name="gaia_is_not_real">ガイアã¯å®Ÿåœ¨ã—ãªã„</string> 115 <string name="gaia_is_not_real">ガイアã¯å®Ÿåœ¨ã—ãªã„</string>
91 <string name="copied_to_clipboard">クリップボードã«ã‚³ãƒ”ーã—ã¾ã—ãŸ</string> 116 <string name="copied_to_clipboard">クリップボードã«ã‚³ãƒ”ーã—ã¾ã—ãŸ</string>
@@ -93,7 +118,15 @@
93 <string name="contributors">貢献者</string> 118 <string name="contributors">貢献者</string>
94 <string name="contributors_description">yuzuãƒãƒ¼ãƒ ã®\u2764ã§ä½œã‚‰ã‚ŒãŸ</string> 119 <string name="contributors_description">yuzuãƒãƒ¼ãƒ ã®\u2764ã§ä½œã‚‰ã‚ŒãŸ</string>
95 <string name="contributors_link">https://github.com/yuzu-emu/yuzu/graphs/contributors</string> 120 <string name="contributors_link">https://github.com/yuzu-emu/yuzu/graphs/contributors</string>
121 <string name="licenses_description">yuzu for Androidã®ä½œæˆã‚’å¯èƒ½ã«ã—ãŸãƒ—ロジェクト</string>
96 <string name="build">ビルド</string> 122 <string name="build">ビルド</string>
123 <string name="user_data">ユーザデータ</string>
124 <string name="exporting_user_data">ユーザデータをエクスãƒãƒ¼ãƒˆä¸­...</string>
125 <string name="importing_user_data">ユーザデータをインãƒãƒ¼ãƒˆä¸­...</string>
126 <string name="import_user_data">ユーザデータをインãƒãƒ¼ãƒˆ</string>
127 <string name="user_data_export_success">ユーザデータã®ã‚¨ã‚¯ã‚¹ãƒãƒ¼ãƒˆã«æˆåŠŸã—ã¾ã—ãŸ</string>
128 <string name="user_data_import_success">ユーザデータã®ã‚¤ãƒ³ãƒãƒ¼ãƒˆã«æˆåŠŸã—ã¾ã—ãŸ</string>
129 <string name="user_data_export_cancelled">エクスãƒãƒ¼ãƒˆã‚’キャンセルã—ã¾ã—ãŸ</string>
97 <string name="support_link">https://discord.gg/u77vRWY</string> 130 <string name="support_link">https://discord.gg/u77vRWY</string>
98 <string name="website_link">https://yuzu-emu.org/</string> 131 <string name="website_link">https://yuzu-emu.org/</string>
99 <string name="github_link">https://github.com/yuzu-emu</string> 132 <string name="github_link">https://github.com/yuzu-emu</string>
@@ -105,72 +138,91 @@
105 <string name="get_early_access_description">æœ€å…ˆç«¯ã®æ©Ÿèƒ½ã€ã‚¢ãƒƒãƒ—ãƒ‡ãƒ¼ãƒˆã®æ—©æœŸã‚¢ã‚¯ã‚»ã‚¹ãªã©</string> 138 <string name="get_early_access_description">æœ€å…ˆç«¯ã®æ©Ÿèƒ½ã€ã‚¢ãƒƒãƒ—ãƒ‡ãƒ¼ãƒˆã®æ—©æœŸã‚¢ã‚¯ã‚»ã‚¹ãªã©</string>
106 <string name="early_access_benefits">早期アクセスã®ãƒ¡ãƒªãƒƒãƒˆ</string> 139 <string name="early_access_benefits">早期アクセスã®ãƒ¡ãƒªãƒƒãƒˆ</string>
107 <string name="cutting_edge_features">æœ€å…ˆç«¯ã®æ©Ÿèƒ½</string> 140 <string name="cutting_edge_features">æœ€å…ˆç«¯ã®æ©Ÿèƒ½</string>
108 <string name="early_access_updates">ã‚¢ãƒƒãƒ—ãƒ‡ãƒ¼ãƒˆã®æ—©æœŸã‚¢ã‚¯ã‚»ã‚¹</string> 141 <string name="early_access_updates">アップデートã¸ã®æ—©æœŸã‚¢ã‚¯ã‚»ã‚¹</string>
109 <string name="no_manual_installation">手動インストールãŒä¸è¦</string> 142 <string name="no_manual_installation">手動インストールãŒä¸è¦</string>
110 <string name="prioritized_support">優先的ãªã‚µãƒãƒ¼ãƒˆ</string> 143 <string name="prioritized_support">優先サãƒãƒ¼ãƒˆ</string>
111 <string name="helping_game_preservation">ゲームã®ä¿å­˜ã«è²¢çŒ®</string> 144 <string name="helping_game_preservation">ゲームã®ä¿å­˜ã«è²¢çŒ®</string>
112 <string name="our_eternal_gratitude">ç§ãŸã¡ã®æ°¸é ã®æ„Ÿè¬</string> 145 <string name="our_eternal_gratitude">ç§ãŸã¡ã‹ã‚‰æ°¸é ã®æ„Ÿè¬</string>
113 <string name="are_you_interested">興味ãŒã‚りã¾ã™ã‹ï¼Ÿ</string> 146 <string name="are_you_interested">興味ãŒã‚りã¾ã™ã‹ï¼Ÿ</string>
114 147
115 <!-- General settings strings --> 148 <!-- General settings strings -->
116 <string name="frame_limit_enable">速度制é™ã‚’有効化</string> 149 <string name="frame_limit_enable">エミュレーション速度を制é™</string>
117 <string name="frame_limit_enable_description">有効ã«ã™ã‚‹ã¨ã€ã‚¨ãƒŸãƒ¥ãƒ¬ãƒ¼ã‚·ãƒ§ãƒ³é€Ÿåº¦ãŒä»»æ„ã®å‰²åˆã«åˆ¶é™ã•れã¾ã™ã€‚</string> 150 <string name="frame_limit_enable_description">エミュレーション速度を指定ã—ãŸå‰²åˆã«åˆ¶é™ã—ã¾ã™ã€‚</string>
118 <string name="frame_limit_slider">エミュレーション速度ã®åˆ¶é™</string> 151 <string name="frame_limit_slider">エミュレーション速度</string>
119 <string name="frame_limit_slider_description">エミュレーション速度を制é™ã™ã‚‹å‰²åˆã‚’指定ã—ã¾ã™ã€‚デフォルトã®100%ã§ã¯ã€ã‚¨ãƒŸãƒ¥ãƒ¬ãƒ¼ã‚·ãƒ§ãƒ³ã¯é€šå¸¸ã®é€Ÿåº¦ã«åˆ¶é™ã•れã¾ã™ã€‚値ãŒé«˜ã„ã¾ãŸã¯ä½Žã„ã»ã©ã€é€Ÿåº¦åˆ¶é™ãŒå¢—加ã¾ãŸã¯æ¸›å°‘ã—ã¾ã™ã€‚</string> 152 <string name="frame_limit_slider_description">エミュレーション速度を制é™ã™ã‚‹ãƒ‘ーセンテージを指定ã—ã¾ã™ã€‚100%ã¯é€šå¸¸é€Ÿåº¦ã§ã™ã€‚値ã®å¢—減ã§é€Ÿåº¦ã‚‚増減ã—ã¾ã™ã€‚</string>
120 <string name="cpu_accuracy">CPU精度</string> 153 <string name="cpu_accuracy">CPU精度</string>
121
122 <!-- System settings strings --> 154 <!-- System settings strings -->
123 <string name="use_docked_mode">TVモード</string> 155 <string name="use_docked_mode">TVモード</string>
124 <string name="use_docked_mode_description">TVモードã§ã‚¨ãƒŸãƒ¥ãƒ¬ãƒ¼ãƒˆã—ã¾ã™ã€‚パフォーマンスãŒçŠ ç‰²ã«ãªã‚Šã¾ã™ãŒã€è§£åƒåº¦ãŒå‘上ã—ã¾ã™ã€‚</string> 156 <string name="use_docked_mode_description">高解åƒåº¦ã€ä½Žãƒ‘フォーマンス。無効時ã«ã¯æºå¸¯ãƒ¢ãƒ¼ãƒ‰ãŒä½¿ç”¨ã•れã¾ã™ï¼ˆä½Žè§£åƒåº¦ã€é«˜ãƒ‘フォーマンス)。</string>
125 <string name="emulated_region">地域</string> 157 <string name="emulated_region">地域</string>
126 <string name="emulated_language">言語</string> 158 <string name="emulated_language">言語</string>
127 <string name="select_rtc_date">RTCã®æ—¥ä»˜ã‚’é¸æŠž</string> 159 <string name="select_rtc_date">RTCã®æ—¥ä»˜ã‚’é¸æŠž</string>
128 <string name="select_rtc_time">RTCã®æ™‚åˆ»ã‚’é¸æŠž</string> 160 <string name="select_rtc_time">RTCã®æ™‚åˆ»ã‚’é¸æŠž</string>
129 <string name="use_custom_rtc">カスタムRTC</string> 161 <string name="use_custom_rtc">カスタム RTC</string>
130 <string name="use_custom_rtc_description">ç¾åœ¨ã®ã‚·ã‚¹ãƒ†ãƒ æ™‚é–“ã¨ã¯åˆ¥ã«ã‚«ã‚¹ã‚¿ãƒ ã®ãƒªã‚¢ãƒ«ã‚¿ã‚¤ãƒ ã‚¯ãƒ­ãƒƒã‚¯ã‚’設定ã§ãã¾ã™ã€‚</string> 162 <string name="use_custom_rtc_description">ç¾åœ¨ã®ã‚·ã‚¹ãƒ†ãƒ æ™‚é–“ã¨ã¯åˆ¥ã«ã€ä»»æ„ã®ãƒªã‚¢ãƒ«ã‚¿ã‚¤ãƒ ã‚¯ãƒ­ãƒƒã‚¯ã‚’設定ã§ãã¾ã™ã€‚</string>
131 <string name="set_custom_rtc">カスタムRTCを設定</string> 163 <string name="set_custom_rtc">カスタムRTCを設定</string>
132 164
133 <!-- Graphics settings strings --> 165 <!-- Graphics settings strings -->
134 <string name="renderer_api">API</string>
135 <string name="renderer_accuracy">精度</string> 166 <string name="renderer_accuracy">精度</string>
136 <string name="renderer_resolution">è§£åƒåº¦</string> 167 <string name="renderer_resolution">è§£åƒåº¦ï¼ˆæºå¸¯ãƒ¢ãƒ¼ãƒ‰/TVモード)</string>
137 <string name="renderer_vsync">åž‚ç›´åŒæœŸãƒ¢ãƒ¼ãƒ‰</string> 168 <string name="renderer_vsync">åž‚ç›´åŒæœŸãƒ¢ãƒ¼ãƒ‰</string>
169 <string name="renderer_screen_layout">ç”»é¢ã®å‘ã</string>
138 <string name="renderer_aspect_ratio">アスペクト比</string> 170 <string name="renderer_aspect_ratio">アスペクト比</string>
139 <string name="renderer_scaling_filter">ウィンドウé©å¿œãƒ•ィルター</string> 171 <string name="renderer_scaling_filter">ウィンドウé©å¿œãƒ•ィルター</string>
140 <string name="renderer_anti_aliasing">アンãƒã‚¨ã‚¤ãƒªã‚¢ã‚¹æ–¹å¼</string> 172 <string name="renderer_anti_aliasing">アンãƒã‚¨ã‚¤ãƒªã‚¢ã‚¹æ–¹å¼</string>
141 <string name="renderer_force_max_clock">最大クロックを強制 (Adrenoã®ã¿)</string> 173 <string name="renderer_force_max_clock">最大クロックを強制 (Adrenoã®ã¿)</string>
142 <string name="renderer_force_max_clock_description">GPUã‚’å¯èƒ½ãªé™ã‚Šæœ€å¤§ã‚¯ãƒ­ãƒƒã‚¯ã§å‹•作ã•ã›ã¾ã™ (éŽç†±åˆ¶é™ã¯å¼•ãç¶šãé©ç”¨ã•れã¾ã™)。</string> 174 <string name="renderer_force_max_clock_description">GPUを最大é™å¯èƒ½ãªå‘¨æ³¢æ•°ã§å‹•作ã•ã›ã¾ã™ (éŽç†±åˆ¶é™ã¯å¼•ãç¶šãé©ç”¨ã•れã¾ã™)。</string>
143 <string name="renderer_asynchronous_shaders">éžåŒæœŸã‚·ã‚§ãƒ¼ãƒ€ãƒ¼</string> 175 <string name="renderer_asynchronous_shaders">éžåŒæœŸã‚·ã‚§ãƒ¼ãƒ€ãƒ¼</string>
144 <string name="renderer_asynchronous_shaders_description">シェーダーをéžåŒæœŸã§ã‚³ãƒ³ãƒ‘イルã—ã¾ã™ã€‚コマè½ã¡ãŒè»½æ¸›ã•れã¾ã™ãŒã€ä¸å…·åˆãŒç™ºç”Ÿã™ã‚‹å¯èƒ½æ€§ãŒã‚りã¾ã™ã€‚</string> 176 <string name="renderer_asynchronous_shaders_description">シェーダーをéžåŒæœŸã§ã‚³ãƒ³ãƒ‘イルã—ã¾ã™ã€‚コマè½ã¡ãŒè»½æ¸›ã•れã¾ã™ãŒã€ä¸å…·åˆãŒç™ºç”Ÿã™ã‚‹å¯èƒ½æ€§ãŒã‚りã¾ã™ã€‚</string>
177 <string name="renderer_reactive_flushing">峿™‚書ãè¾¼ã¿</string>
178 <string name="renderer_reactive_flushing_description">一部ã®ã‚²ãƒ¼ãƒ ã«ãŠã„ã¦ã€ãƒ‘フォーマンスを犠牲ã«ã—ãªãŒã‚‰ã‚‚ã€ãƒ¬ãƒ³ãƒ€ãƒªãƒ³ã‚°ç²¾åº¦ã‚’å‘上ã•ã›ã¾ã™ã€‚</string>
179 <string name="use_disk_shader_cache">ディスクシェーダーキャッシュ</string>
180 <string name="use_disk_shader_cache_description">生æˆã—ãŸã‚·ã‚§ãƒ¼ãƒ€ãƒ¼ã‚’端末ã«ä¿å­˜ã—ã¦èª­ã¿è¾¼ã¿ã€ã‚³ãƒžè½ã¡ã‚’軽減ã—ã¾ã™ã€‚</string>
181
182 <!-- Debug settings strings -->
183 <string name="cpu">CPU</string>
184 <string name="cpu_debug_mode">CPU デãƒãƒƒã‚®ãƒ³ã‚°</string>
185 <string name="gpu">GPU</string>
186 <string name="renderer_api">API</string>
145 <string name="renderer_debug">グラフィックデãƒãƒƒã‚°</string> 187 <string name="renderer_debug">グラフィックデãƒãƒƒã‚°</string>
146 <string name="renderer_debug_description">オンã«ã™ã‚‹ã¨ã€ã‚°ãƒ©ãƒ•ィックAPI ã¯ä½Žé€Ÿã®ãƒ‡ãƒãƒƒã‚°ãƒ¢ãƒ¼ãƒ‰ã«å…¥ã‚Šã¾ã™ã€‚</string> 188 <string name="renderer_debug_description">グラフィックAPIを低速デãƒãƒƒã‚°ãƒ¢ãƒ¼ãƒ‰ã«è¨­å®šã—ã¾ã™ã€‚</string>
147 <string name="use_disk_shader_cache">シェーダーキャッシュを使用</string> 189 <string name="fastmem">Fastmem</string>
148 <string name="use_disk_shader_cache_description">生æˆã—ãŸã‚·ã‚§ãƒ¼ãƒ€ãƒ¼ã‚’ディスクã«ä¿å­˜ã—ã¦èª­ã¿è¾¼ã‚€ã“ã¨ã§ã€ã‚³ãƒžè½ã¡ã‚’軽減ã—ã¾ã™ã€‚</string>
149 190
150 <!-- Audio settings strings --> 191 <!-- Audio settings strings -->
192 <string name="audio_output_engine">出力エンジン</string>
151 <string name="audio_volume">音é‡</string> 193 <string name="audio_volume">音é‡</string>
152 <string name="audio_volume_description">オーディオ出力ã®éŸ³é‡ã‚’指定ã—ã¾ã™</string> 194 <string name="audio_volume_description">オーディオ出力ã®éŸ³é‡ã‚’指定ã—ã¾ã™</string>
153 195
154 <!-- Miscellaneous --> 196 <!-- Miscellaneous -->
155 <string name="slider_default">デフォルト</string> 197 <string name="slider_default">デフォルト</string>
156 <string name="ini_saved">設定をä¿å­˜ã—ã¾ã—ãŸ</string> 198 <string name="ini_saved">設定をä¿å­˜ã—ã¾ã—ãŸ</string>
157 <string name="gameid_saved">%1$sã®è¨­å®šã‚’ä¿å­˜ã—ã¾ã—ãŸ</string> 199 <string name="gameid_saved">%1$s ã®è¨­å®šã‚’ä¿å­˜ã—ã¾ã—ãŸ</string>
158 <string name="error_saving">%1$s.ini ã®ä¿å­˜ã‚¨ãƒ©ãƒ¼: %2$s</string> 200 <string name="error_saving">%1$s.ini ã®ä¿å­˜ã‚¨ãƒ©ãƒ¼: %2$s</string>
201 <string name="unimplemented_menu">未実装ã®ãƒ¡ãƒ‹ãƒ¥ãƒ¼</string>
159 <string name="loading">読ã¿è¾¼ã¿ä¸­â€¦</string> 202 <string name="loading">読ã¿è¾¼ã¿ä¸­â€¦</string>
203 <string name="shutting_down">終了中...</string>
160 <string name="reset_setting_confirmation">ã“ã®è¨­å®šã‚’åˆæœŸå€¤ã«ãƒªã‚»ãƒƒãƒˆã—ã¾ã™ã‹?</string> 204 <string name="reset_setting_confirmation">ã“ã®è¨­å®šã‚’åˆæœŸå€¤ã«ãƒªã‚»ãƒƒãƒˆã—ã¾ã™ã‹?</string>
161 <string name="reset_to_default">åˆæœŸè¨­å®šã«æˆ»ã™</string> 205 <string name="reset_to_default">åˆæœŸè¨­å®šã«æˆ»ã™</string>
162 <string name="reset_all_settings">ã™ã¹ã¦ã®è¨­å®šã‚’リセットã—ã¾ã™ã‹ï¼Ÿ</string> 206 <string name="reset_all_settings">ã™ã¹ã¦ã®è¨­å®šã‚’リセットã—ã¾ã™ã‹ï¼Ÿ</string>
163 <string name="reset_all_settings_description">ã™ã¹ã¦ã®è©³ç´°è¨­å®šãŒåˆæœŸè¨­å®šã«æˆ»ã•れã¾ã™ã€‚ã“ã®æ“作ã¯å…ƒã«æˆ»ã›ã¾ã›ã‚“。</string> 207 <string name="reset_all_settings_description">ã™ã¹ã¦ã®è©³ç´°è¨­å®šãŒåˆæœŸå€¤ã«æˆ»ã•れã¾ã™ã€‚ã“ã®æ“作ã¯å…ƒã«æˆ»ã›ã¾ã›ã‚“。</string>
164 <string name="settings_reset">設定をリセットã—ã¾ã—ãŸ</string> 208 <string name="settings_reset">設定をリセットã—ã¾ã—ãŸ</string>
165 <string name="close">é–‰ã˜ã‚‹</string> 209 <string name="close">é–‰ã˜ã‚‹</string>
166 <string name="learn_more">詳細情報</string> 210 <string name="learn_more">詳細情報</string>
211 <string name="auto">自動</string>
212 <string name="submit">é€ä¿¡</string>
213 <string name="string_import">インãƒãƒ¼ãƒˆ</string>
214 <string name="export">エクスãƒãƒ¼ãƒˆ</string>
215 <string name="export_failed">エクスãƒãƒ¼ãƒˆå¤±æ•—</string>
216 <string name="import_failed">インãƒãƒ¼ãƒˆå¤±æ•—</string>
217 <string name="cancelling">キャンセル中</string>
167 218
168 <!-- GPU driver installation --> 219 <!-- GPU driver installation -->
169 <string name="select_gpu_driver">GPUドライãƒã‚’é¸æŠž</string> 220 <string name="select_gpu_driver">GPUドライãƒã‚’é¸æŠž</string>
170 <string name="select_gpu_driver_title">ç¾åœ¨ã®GPUドライãƒãƒ¼ã‚’ç½®ãæ›ãˆã¾ã™ã‹ï¼Ÿ</string> 221 <string name="select_gpu_driver_title">ç¾åœ¨ã®GPUドライãƒã‚’ç½®ãæ›ãˆã¾ã™ã‹ï¼Ÿ</string>
171 <string name="select_gpu_driver_install">インストール</string> 222 <string name="select_gpu_driver_install">インストール</string>
172 <string name="select_gpu_driver_default">デフォルト</string> 223 <string name="select_gpu_driver_default">デフォルト</string>
173 <string name="select_gpu_driver_use_default">デフォルトã®GPUドライãƒãƒ¼ã‚’使用ã—ã¾ã™</string> 224 <string name="select_gpu_driver_use_default">デフォルトã®ãƒ‰ãƒ©ã‚¤ãƒã‚’使用ã—ã¾ã™</string>
225 <string name="select_gpu_driver_error">é¸æŠžã•れãŸãƒ‰ãƒ©ã‚¤ãƒãŒç„¡åйã€ã‚·ã‚¹ãƒ†ãƒ ã®ãƒ‡ãƒ•ォルトを使用ã—ã¾ã™!</string>
174 <string name="system_gpu_driver">システムã®GPUドライãƒ</string> 226 <string name="system_gpu_driver">システムã®GPUドライãƒ</string>
175 <string name="installing_driver">インストール中…</string> 227 <string name="installing_driver">インストール中…</string>
176 228
@@ -181,33 +233,34 @@
181 <string name="preferences_graphics">グラフィック</string> 233 <string name="preferences_graphics">グラフィック</string>
182 <string name="preferences_audio">サウンド</string> 234 <string name="preferences_audio">サウンド</string>
183 <string name="preferences_theme">テーマã¨è‰²</string> 235 <string name="preferences_theme">テーマã¨è‰²</string>
236 <string name="preferences_debug">デãƒãƒƒã‚°</string>
184 237
185 <!-- ROM loading errors --> 238 <!-- ROM loading errors -->
186 <string name="loader_error_encrypted">ROMãŒæš—å·åŒ–ã•れã¦ã„ã¾ã™</string> 239 <string name="loader_error_encrypted">ROMãŒæš—å·åŒ–ã•れã¦ã„ã¾ã™</string>
187 <string name="loader_error_encrypted_roms_description"><![CDATA[<a href=\"https://yuzu-emu.org/help/quickstart/#dumping-cartridge-games\">ゲームカートリッジ</a>ã‚„<a href=\"https://yuzu-emu.org/help/quickstart/#dumping-installed-titles-eshop\">インストール済ã¿ã®ã‚¿ã‚¤ãƒˆãƒ«</a>ã‚’å†åº¦ãƒ€ãƒ³ãƒ—ã™ã‚‹ãŸã‚ã®ã‚¬ã‚¤ãƒ‰ã«å¾“ã£ã¦ãã ã•ã„。]]></string> 240 <string name="loader_error_encrypted_keys_description"><![CDATA[ゲームã®å¾©å·åŒ–ã«å¿…è¦ãª <a href=\"https://yuzu-emu.org/help/quickstart/#dumping-prodkeys-and-titlekeys\">prod.keys</a> ファイルãŒã‚¤ãƒ³ã‚¹ãƒˆãƒ¼ãƒ«ã•れã¦ã„ã‚‹ã“ã¨ã‚’確èªã—ã¦ãã ã•ã„。]]></string>
188 <string name="loader_error_encrypted_keys_description"><![CDATA[ゲームを復å·åŒ–ã™ã‚‹ãŸã‚ã« <a href=\"https://yuzu-emu.org/help/quickstart/#dumping-prodkeys-and-titlekeys\">prod.keys</a> ファイルãŒã‚¤ãƒ³ã‚¹ãƒˆãƒ¼ãƒ«ã•れã¦ã„ã‚‹ã“ã¨ã‚’確èªã—ã¦ãã ã•ã„。]]></string>
189 <string name="loader_error_video_core">ビデオコアã®åˆæœŸåŒ–中ã«ã‚¨ãƒ©ãƒ¼ãŒç™ºç”Ÿã—ã¾ã—ãŸ</string> 241 <string name="loader_error_video_core">ビデオコアã®åˆæœŸåŒ–中ã«ã‚¨ãƒ©ãƒ¼ãŒç™ºç”Ÿã—ã¾ã—ãŸ</string>
190 <string name="loader_error_video_core_description">ã“れã¯é€šå¸¸ã€äº’æ›æ€§ã®ãªã„GPUドライãƒãƒ¼ãŒåŽŸå› ã§ç™ºç”Ÿã—ã¾ã™ã€‚ カスタムGPUドライãƒãƒ¼ã‚’インストールã™ã‚‹ã¨ã€å•題ãŒè§£æ±ºã™ã‚‹å¯èƒ½æ€§ãŒã‚りã¾ã™ã€‚</string> 242 <string name="loader_error_video_core_description">ã“れã¯é€šå¸¸ã€äº’æ›æ€§ã®ãªã„GPUドライãƒãƒ¼ãŒåŽŸå› ã§ç™ºç”Ÿã—ã¾ã™ã€‚ カスタムGPUドライãƒãƒ¼ã‚’インストールã™ã‚‹ã¨ã€å•題ãŒè§£æ±ºã™ã‚‹å¯èƒ½æ€§ãŒã‚りã¾ã™ã€‚</string>
191 <string name="loader_error_invalid_format">ROMã®èª­ã¿è¾¼ã¿ã«å¤±æ•—ã—ã¾ã—ãŸ</string> 243 <string name="loader_error_invalid_format">ROMã®èª­ã¿è¾¼ã¿ã«å¤±æ•—ã—ã¾ã—ãŸ</string>
192 <string name="loader_error_file_not_found">ROMファイルãŒå­˜åœ¨ã—ã¾ã›ã‚“</string> 244 <string name="loader_error_file_not_found">ROMファイルãŒå­˜åœ¨ã—ã¾ã›ã‚“</string>
193 245
194 <!-- Emulation Menu --> 246 <!-- Emulation Menu -->
195 <string name="emulation_exit">エミュレーションを終了</string> 247 <string name="emulation_exit">終了</string>
196 <string name="emulation_done">完了</string> 248 <string name="emulation_done">完了</string>
197 <string name="emulation_fps_counter">FPSカウンター</string> 249 <string name="emulation_fps_counter">FPSカウンター</string>
198 <string name="emulation_toggle_controls">コントロールを切り替ãˆ</string> 250 <string name="emulation_toggle_controls">ボタンã®è¡¨ç¤ºè¨­å®š</string>
199 <string name="emulation_dpad_slide">å字キーã®ã‚¹ãƒ©ã‚¤ãƒ‰æ“作</string> 251 <string name="emulation_rel_stick_center">スティックを固定ã—ãªã„</string>
200 <string name="emulation_haptics">振動</string> 252 <string name="emulation_dpad_slide">å字キーをスライドæ“作</string>
201 <string name="emulation_show_overlay">オーãƒãƒ¼ãƒ¬ã‚¤ã‚’表示</string> 253 <string name="emulation_haptics">ã‚¿ãƒƒãƒæŒ¯å‹•</string>
202 <string name="emulation_toggle_all">ã™ã¹ã¦é¸æŠž</string> 254 <string name="emulation_show_overlay">ボタンを表示</string>
203 <string name="emulation_control_adjust">オーãƒãƒ¼ãƒ¬ã‚¤ã‚’調整</string> 255 <string name="emulation_toggle_all">ã™ã¹ã¦åˆ‡æ›¿</string>
256 <string name="emulation_control_adjust">見ãŸç›®ã‚’調整</string>
204 <string name="emulation_control_scale">大ãã•</string> 257 <string name="emulation_control_scale">大ãã•</string>
205 <string name="emulation_control_opacity">ä¸é€æ˜Žåº¦</string> 258 <string name="emulation_control_opacity">ä¸é€æ˜Žåº¦</string>
206 <string name="emulation_touch_overlay_reset">リセット</string> 259 <string name="emulation_touch_overlay_reset">リセット</string>
207 <string name="emulation_touch_overlay_edit">オーãƒãƒ¼ãƒ¬ã‚¤ã‚’編集</string> 260 <string name="emulation_touch_overlay_edit">ä½ç½®ã‚’編集</string>
208 <string name="emulation_pause">ã‚¨ãƒŸãƒ¥ãƒ¬ãƒ¼ã‚·ãƒ§ãƒ³ã‚’ä¸€æ™‚åœæ­¢</string> 261 <string name="emulation_pause">ä¸€æ™‚åœæ­¢</string>
209 <string name="emulation_unpause">エミュレーションをå†é–‹</string> 262 <string name="emulation_unpause">å†é–‹</string>
210 <string name="emulation_input_overlay">オーãƒãƒ¼ãƒ¬ã‚¤ã‚ªãƒ—ション</string> 263 <string name="emulation_input_overlay">表示オプション</string>
211 264
212 <string name="load_settings">設定をロード中…</string> 265 <string name="load_settings">設定をロード中…</string>
213 266
@@ -220,10 +273,13 @@
220 <string name="system_archive_not_found">システムアーカイブãŒè¦‹ã¤ã‹ã‚Šã¾ã›ã‚“</string> 273 <string name="system_archive_not_found">システムアーカイブãŒè¦‹ã¤ã‹ã‚Šã¾ã›ã‚“</string>
221 <string name="system_archive_not_found_message">%s ãŒè¦‹ã¤ã‹ã‚Šã¾ã›ã‚“。システムアーカイブをダンプã—ã¦ãã ã•ã„。\nエミュレーションを続行ã™ã‚‹ã¨ã€ã‚¯ãƒ©ãƒƒã‚·ãƒ¥ã‚„ãƒã‚°ãŒç™ºç”Ÿã™ã‚‹å¯èƒ½æ€§ãŒã‚りã¾ã™ã€‚</string> 274 <string name="system_archive_not_found_message">%s ãŒè¦‹ã¤ã‹ã‚Šã¾ã›ã‚“。システムアーカイブをダンプã—ã¦ãã ã•ã„。\nエミュレーションを続行ã™ã‚‹ã¨ã€ã‚¯ãƒ©ãƒƒã‚·ãƒ¥ã‚„ãƒã‚°ãŒç™ºç”Ÿã™ã‚‹å¯èƒ½æ€§ãŒã‚りã¾ã™ã€‚</string>
222 <string name="system_archive_general">システムアーカイブ</string> 275 <string name="system_archive_general">システムアーカイブ</string>
223 <string name="save_load_error">セーブ/ロード エラー</string> 276 <string name="save_load_error">セーブ/ロードエラー</string>
224 <string name="fatal_error">致命的ãªã‚¨ãƒ©ãƒ¼</string> 277 <string name="fatal_error">致命的ãªã‚¨ãƒ©ãƒ¼</string>
225 <string name="fatal_error_message">致命的ãªã‚¨ãƒ©ãƒ¼ãŒç™ºç”Ÿã—ã¾ã—ãŸã€‚詳細ã¯ãƒ­ã‚°ã‚’確èªã—ã¦ãã ã•ã„。\nエミュレーションを続行ã™ã‚‹ã¨ã‚¯ãƒ©ãƒƒã‚·ãƒ¥ã‚„ãƒã‚°ãŒç™ºç”Ÿã™ã‚‹å¯èƒ½æ€§ãŒã‚りã¾ã™ã€‚</string> 278 <string name="fatal_error_message">致命的ãªã‚¨ãƒ©ãƒ¼ãŒç™ºç”Ÿã—ã¾ã—ãŸã€‚詳細ã¯ãƒ­ã‚°ã‚’確èªã—ã¦ãã ã•ã„。\nエミュレーションを続行ã™ã‚‹ã¨ã‚¯ãƒ©ãƒƒã‚·ãƒ¥ã‚„ãƒã‚°ãŒç™ºç”Ÿã™ã‚‹å¯èƒ½æ€§ãŒã‚りã¾ã™ã€‚</string>
226 <string name="performance_warning">ã“ã®è¨­å®šã‚’オフã«ã™ã‚‹ã¨ã€ã‚¨ãƒŸãƒ¥ãƒ¬ãƒ¼ã‚·ãƒ§ãƒ³ã®ãƒ‘フォーマンスãŒè‘—ã—ã低下ã—ã¾ã™ï¼æœ€é«˜ã®ä½“験を得るãŸã‚ã«ã¯ã€ã“ã®è¨­å®šã‚’有効ã«ã—ã¦ãŠãã“ã¨ã‚’ãŠå‹§ã‚ã—ã¾ã™ã€‚</string> 279 <string name="performance_warning">ã“ã®è¨­å®šã‚’オフã«ã™ã‚‹ã¨ã€ã‚¨ãƒŸãƒ¥ãƒ¬ãƒ¼ã‚·ãƒ§ãƒ³ã®ãƒ‘フォーマンスãŒè‘—ã—ã低下ã—ã¾ã™ï¼æœ€é«˜ã®ä½“験を得るãŸã‚ã«ã¯ã€ã“ã®è¨­å®šã‚’有効ã«ã—ã¦ãŠãã“ã¨ã‚’推奨ã—ã¾ã™ã€‚</string>
280 <string name="device_memory_inadequate">デãƒã‚¤ã‚¹ RAM: %1$s\n推奨: %2$s</string>
281 <string name="memory_formatted">%1$s %2$s</string>
282 <string name="no_game_present">èµ·å‹•ã§ãるゲームãŒã‚りã¾ã›ã‚“!</string>
227 283
228 <!-- Region Names --> 284 <!-- Region Names -->
229 <string name="region_japan">日本</string> 285 <string name="region_japan">日本</string>
@@ -234,7 +290,14 @@
234 <string name="region_korea">韓国</string> 290 <string name="region_korea">韓国</string>
235 <string name="region_taiwan">å°æ¹¾</string> 291 <string name="region_taiwan">å°æ¹¾</string>
236 292
237 <!-- Language Names --> 293 <!-- Memory Sizes -->
294 <string name="memory_byte">Byte</string>
295 <string name="memory_kilobyte">KB</string>
296 <string name="memory_megabyte">MB</string>
297 <string name="memory_gigabyte">GB</string>
298 <string name="memory_terabyte">TB</string>
299 <string name="memory_petabyte">PB</string>
300 <string name="memory_exabyte">EB</string>
238 301
239 <!-- Renderer APIs --> 302 <!-- Renderer APIs -->
240 <string name="renderer_vulkan">Vulkan</string> 303 <string name="renderer_vulkan">Vulkan</string>
@@ -242,7 +305,7 @@
242 305
243 <!-- Renderer Accuracy --> 306 <!-- Renderer Accuracy -->
244 <string name="renderer_accuracy_normal">標準</string> 307 <string name="renderer_accuracy_normal">標準</string>
245 <string name="renderer_accuracy_high">高ã„</string> 308 <string name="renderer_accuracy_high">高</string>
246 <string name="renderer_accuracy_extreme">最高 (低速)</string> 309 <string name="renderer_accuracy_extreme">最高 (低速)</string>
247 310
248 <!-- Resolutions --> 311 <!-- Resolutions -->
@@ -272,12 +335,17 @@
272 <string name="anti_aliasing_fxaa">FXAA</string> 335 <string name="anti_aliasing_fxaa">FXAA</string>
273 <string name="anti_aliasing_smaa">SMAA</string> 336 <string name="anti_aliasing_smaa">SMAA</string>
274 337
338 <!-- Screen Layouts -->
339 <string name="screen_layout_landscape">横長</string>
340 <string name="screen_layout_portrait">縦長</string>
341 <string name="screen_layout_auto">自動</string>
342
275 <!-- Aspect Ratios --> 343 <!-- Aspect Ratios -->
276 <string name="ratio_default">デフォルト (16:9)</string> 344 <string name="ratio_default">デフォルト (16:9)</string>
277 <string name="ratio_force_four_three">強制 4:3</string> 345 <string name="ratio_force_four_three">強制 4:3</string>
278 <string name="ratio_force_twenty_one_nine">強制 21:9</string> 346 <string name="ratio_force_twenty_one_nine">強制 21:9</string>
279 <string name="ratio_force_sixteen_ten">強制 16:10</string> 347 <string name="ratio_force_sixteen_ten">強制 16:10</string>
280 <string name="ratio_stretch">ウィンドウã«åˆã‚ã›ã‚‹</string> 348 <string name="ratio_stretch">ç”»é¢ã«åˆã‚ã›ã‚‹</string>
281 349
282 <!-- CPU Accuracy --> 350 <!-- CPU Accuracy -->
283 <string name="cpu_accuracy_accurate">正確</string> 351 <string name="cpu_accuracy_accurate">正確</string>
@@ -289,7 +357,7 @@
289 <string name="gamepad_left_stick">Lスティック</string> 357 <string name="gamepad_left_stick">Lスティック</string>
290 <string name="gamepad_right_stick">Rスティック</string> 358 <string name="gamepad_right_stick">Rスティック</string>
291 <string name="gamepad_home">HOMEボタン</string> 359 <string name="gamepad_home">HOMEボタン</string>
292 <string name="gamepad_screenshot">スクリーンショット</string> 360 <string name="gamepad_screenshot">キャãƒãƒãƒ£ãƒ¼ãƒœã‚¿ãƒ³</string>
293 361
294 <!-- Disk shader cache --> 362 <!-- Disk shader cache -->
295 <string name="preparing_shaders">シェーダーを準備ã—ã¦ã„ã¾ã™</string> 363 <string name="preparing_shaders">シェーダーを準備ã—ã¦ã„ã¾ã™</string>
@@ -306,8 +374,22 @@
306 <string name="theme_mode_light">ライト</string> 374 <string name="theme_mode_light">ライト</string>
307 <string name="theme_mode_dark">ダーク</string> 375 <string name="theme_mode_dark">ダーク</string>
308 376
309 <!-- Black backgrounds theme --> 377 <!-- Audio output engines -->
310 <string name="use_black_backgrounds">黒色ã®èƒŒæ™¯ã‚’使用</string> 378 <string name="cubeb">cubeb</string>
311 <string name="use_black_backgrounds_description">ダークテーマã®ä½¿ç”¨æ™‚ã¯ã€é»’色ã®èƒŒæ™¯ã‚’有効ã«ã—ã¦ãã ã•ã„。</string>
312 379
313</resources> 380 <!-- Black backgrounds theme -->
381 <string name="use_black_backgrounds">完全ãªé»’を使用</string>
382 <string name="use_black_backgrounds_description">ダークテーマã®èƒŒæ™¯è‰²ã«é»’ãŒé©ç”¨ã•れã¾ã™ã€‚</string>
383
384 <!-- Picture-In-Picture -->
385 <string name="picture_in_picture">ピクãƒãƒ£ãƒ¼ã‚¤ãƒ³ãƒ”クãƒãƒ£ãƒ¼</string>
386 <string name="picture_in_picture_description">ãƒãƒƒã‚¯ã‚°ãƒ©ã‚¦ãƒ³ãƒ‰æ™‚ã«ã‚¦ã‚¤ãƒ³ãƒ‰ã‚¦ã‚’最å°åŒ–ã™ã‚‹</string>
387 <string name="pause">中断</string>
388 <string name="play">プレイ</string>
389 <string name="mute">消音</string>
390 <string name="unmute">消音解除</string>
391
392 <!-- Licenses screen strings -->
393 <string name="licenses">ライセンス</string>
394 <string name="license_fidelityfx_fsr_description">AMDã®é«˜å“質アップスケーリング</string>
395 </resources>
diff --git a/src/android/app/src/main/res/values-ko/strings.xml b/src/android/app/src/main/res/values-ko/strings.xml
index 214f95706..1b9160a23 100644
--- a/src/android/app/src/main/res/values-ko/strings.xml
+++ b/src/android/app/src/main/res/values-ko/strings.xml
@@ -1,9 +1,9 @@
1<?xml version="1.0" encoding="utf-8"?> 1<?xml version="1.0" encoding="utf-8"?>
2<resources> 2<resources xmlns:tools="http://schemas.android.com/tools" tools:ignore="MissingTranslation">
3 3
4 <string name="app_disclaimer">ì´ ì†Œí”„íŠ¸ì›¨ì–´ëŠ” 닌í…ë„ ìŠ¤ìœ„ì¹˜ 게임 콘솔용 ê²Œìž„ì„ ì‹¤í–‰í•©ë‹ˆë‹¤. 게임 타ì´í‹€ì´ë‚˜ keys는 í¬í•¨ë˜ì–´ 있지 않습니다.&lt;br /&gt;&lt;br /&gt;시작하기 ì „ì— ìž¥ì¹˜ 저장소ì—서 <![CDATA[<b> prod.keys </b>]]> 파ì¼ì„ 찾아주세요.&lt;br /&gt;&lt;br /&gt;<![CDATA[<a href=\"https://yuzu-emu.org/help/quickstart\">ìžì„¸ížˆ 알아보기</a>]]></string> 4 <string name="app_disclaimer">ì´ ì†Œí”„íŠ¸ì›¨ì–´ëŠ” Nintendo Switch ê²Œìž„ì„ ì‹¤í–‰í•©ë‹ˆë‹¤. 게임 타ì´í‹€ì´ë‚˜ 키는 í¬í•¨ë˜ì–´ 있지 않습니다.&lt;br /&gt;&lt;br /&gt;시작하기 ì „ì— ìž¥ì¹˜ 저장소ì—서 <![CDATA[<b> prod.keys </b>]]> 파ì¼ì„ 찾아주세요.&lt;br /&gt;&lt;br /&gt;<![CDATA[<a href=\"https://yuzu-emu.org/help/quickstart\">ìžì„¸ížˆ 알아보기</a>]]></string>
5 <string name="emulation_notification_channel_name">ì—뮬레ì´ì…˜ì´ 활성화ë¨</string> 5 <string name="emulation_notification_channel_name">ì—뮬레ì´ì…˜ì´ 활성화ë¨</string>
6 <string name="emulation_notification_channel_description">ì—뮬레ì´ì…˜ì´ 실행 ì¤‘ì¼ ë•Œ ì˜êµ¬ ì•Œë¦¼ì„ í‘œì‹œí•©ë‹ˆë‹¤.</string> 6 <string name="emulation_notification_channel_description">ì—뮬레ì´ì…˜ì´ 실행 ì¤‘ì¼ ë•Œ ì§€ì†ì ìœ¼ë¡œ ì•Œë¦¼ì„ í‘œì‹œí•©ë‹ˆë‹¤.</string>
7 <string name="emulation_notification_running">yuzu가 실행 중입니다.</string> 7 <string name="emulation_notification_running">yuzu가 실행 중입니다.</string>
8 <string name="notice_notification_channel_name">알림 ë° ì˜¤ë¥˜</string> 8 <string name="notice_notification_channel_name">알림 ë° ì˜¤ë¥˜</string>
9 <string name="notice_notification_channel_description">문제가 ë°œìƒí•˜ë©´ ì•Œë¦¼ì„ í‘œì‹œí•©ë‹ˆë‹¤.</string> 9 <string name="notice_notification_channel_description">문제가 ë°œìƒí•˜ë©´ ì•Œë¦¼ì„ í‘œì‹œí•©ë‹ˆë‹¤.</string>
@@ -11,26 +11,25 @@
11 11
12 <!-- Setup strings --> 12 <!-- Setup strings -->
13 <string name="welcome">환ì˜í•©ë‹ˆë‹¤!</string> 13 <string name="welcome">환ì˜í•©ë‹ˆë‹¤!</string>
14 <string name="welcome_description">&lt;b>yuzu&lt;/b> 를 설정하고 ì—뮬레ì´ì…˜ìœ¼ë¡œ ì´ë™í•˜ëŠ” ë°©ë²•ì„ ì•Œì•„ë³´ì„¸ìš”.</string> 14 <string name="welcome_description">&lt;b>yuzu&lt;/b>를 설정하고 ì—뮬레ì´ì…˜ì„ 시작하세요.</string>
15 <string name="get_started">시작하기</string> 15 <string name="get_started">시작하기</string>
16 <string name="keys">Keys</string> 16 <string name="keys">키 설정</string>
17 <string name="keys_description">아래 버튼ì 사용하여 &lt;b>prod.keys&lt;/b> 파ì¼ì„ ì„ íƒí•©ë‹ˆë‹¤.</string> 17 <string name="keys_description">아래 버튼으로 &lt;b>prod.keys&lt;/b> 파ì¼ì„ ì„ íƒí•©ë‹ˆë‹¤.</string>
18 <string name="select_keys">keys ì„ íƒ</string> 18 <string name="select_keys">키 ì„ íƒ</string>
19 <string name="games">게임</string> 19 <string name="games">게임</string>
20 <string name="games_description">아래 버튼으로 &lt;b>게임&lt;/b> í´ë”를 ì„ íƒí•©ë‹ˆë‹¤.</string> 20 <string name="games_description">아래 버튼으로 &lt;b>게임&lt;/b> í´ë”를 ì„ íƒí•©ë‹ˆë‹¤.</string>
21 <string name="done">완료</string> 21 <string name="done">완료</string>
22 <string name="done_description">모든 준비가 완료ë˜ì—ˆìŠµë‹ˆë‹¤.\nê²Œìž„ì„ ì¦ê¸°ì„¸ìš”!</string> 22 <string name="done_description">모ë 준비ë˜ì—ˆìŠµë‹ˆë‹¤.\nê²Œìž„ì„ ì¦ê¸°ì„¸ìš”!</string>
23 <string name="text_continue">계ì†</string> 23 <string name="text_continue">계ì†</string>
24 <string name="next">다ìŒ</string> 24 <string name="next">다ìŒ</string>
25 <string name="back">뒤로</string> 25 <string name="back">ì´ì „</string>
26 <string name="add_games">게임 추가</string> 26 <string name="add_games">게임 추가</string>
27 <string name="add_games_description">게임 í´ë” ì„ íƒ</string> 27 <string name="add_games_description">게임 í´ë” ì„ íƒ</string>
28
29 <!-- Home strings --> 28 <!-- Home strings -->
30 <string name="home_games">게임</string> 29 <string name="home_games">게임</string>
31 <string name="home_search">검색</string> 30 <string name="home_search">검색</string>
32 <string name="home_settings">설정</string> 31 <string name="home_settings">설정</string>
33 <string name="empty_gamelist">파ì¼ì„ ì°¾ì„ ìˆ˜ 없거나 ì•„ì§ ê²Œìž„ 디렉토리를 ì„ íƒí•˜ì§€ 않았습니다.</string> 32 <string name="empty_gamelist">파ì¼ì„ ì°¾ì„ ìˆ˜ 없거나 ì•„ì§ ê²Œìž„ 디렉터리를 ì„ íƒí•˜ì§€ 않았습니다.</string>
34 <string name="search_and_filter_games">게임 검색 ë° í•„í„°ë§</string> 33 <string name="search_and_filter_games">게임 검색 ë° í•„í„°ë§</string>
35 <string name="select_games_folder">게임 í´ë” ì„ íƒ</string> 34 <string name="select_games_folder">게임 í´ë” ì„ íƒ</string>
36 <string name="select_games_folder_description">yuzuê°€ 게임 목ë¡ì„ 채울 수 있ë„ë¡ í—ˆìš©</string> 35 <string name="select_games_folder_description">yuzuê°€ 게임 목ë¡ì„ 채울 수 있ë„ë¡ í—ˆìš©</string>
@@ -38,140 +37,160 @@
38 <string name="add_games_warning_description">í´ë”를 ì„ íƒí•˜ì§€ 않으면 게임 목ë¡ì— ê²Œìž„ì´ í‘œì‹œë˜ì§€ 않습니다.</string> 37 <string name="add_games_warning_description">í´ë”를 ì„ íƒí•˜ì§€ 않으면 게임 목ë¡ì— ê²Œìž„ì´ í‘œì‹œë˜ì§€ 않습니다.</string>
39 <string name="add_games_warning_help">https://yuzu-emu.org/help/quickstart/#dumping-games</string> 38 <string name="add_games_warning_help">https://yuzu-emu.org/help/quickstart/#dumping-games</string>
40 <string name="home_search_games">게임 검색</string> 39 <string name="home_search_games">게임 검색</string>
41 <string name="games_dir_selected">게임 디렉터리 ì„ íƒ</string> 40 <string name="games_dir_selected">게임 디렉터리를 설ì í–ˆìŠµë‹ˆë‹¤.</string>
42 <string name="install_prod_keys">prod.keys 설치</string> 41 <string name="install_prod_keys">prod.keys 설치</string>
43 <string name="install_prod_keys_description">íŒë§¤ìš© 게임 암호 í•´ë…ì— ìš”êµ¬</string> 42 <string name="install_prod_keys_description">패키지 게임 암호 í•´ë…ì— í•„ìš”</string>
44 <string name="install_prod_keys_warning">keys 추가를 건너뛰겠습니까?</string> 43 <string name="install_prod_keys_warning">키 추가를 건너뛰겠습니까?</string>
45 <string name="install_prod_keys_warning_description">ì •í’ˆ ê²Œìž„ì„ ì—뮬레ì´íŠ¸í•˜ë ¤ë©´ 유효한 keysê°€ 필요합니다. 계ì†í•˜ë©´ ìžì²´ 제작 앱만 ìž‘ë™í•©ë‹ˆë‹¤.</string> 44 <string name="install_prod_keys_warning_description">패키지 ê²Œìž„ì„ ì—뮬레ì´íŠ¸í•˜ë ¤ë©´ 유효한 키 ê°’ì´ í•„ìš”í•©ë‹ˆë‹¤. ì´ ë‹¨ê³„ë¥¼ 건너뛰면 홈브류 게임만 실행할 수 있습니다.</string>
46 <string name="install_prod_keys_warning_help">https://yuzu-emu.org/help/quickstart/#guide-introduction</string> 45 <string name="install_prod_keys_warning_help">https://yuzu-emu.org/help/quickstart/#guide-introduction</string>
47 <string name="notifications">알림</string> 46 <string name="notifications">알림</string>
48 <string name="notifications_description">아래 버튼으로 알림 ê¶Œí•œì„ ë¶€ì—¬í•©ë‹ˆë‹¤.</string> 47 <string name="notifications_description">아래 버튼으로 알림 ê¶Œí•œì„ ë¶€ì—¬í•©ë‹ˆë‹¤.</string>
49 <string name="give_permission">ê¶Œíœ ë¶€ì—¬</string> 48 <string name="give_permission">ìŒë¦¼ 켜기</string>
50 <string name="notification_warning">알림 권한 부여를 건너뛰겠습니까?</string> 49 <string name="notification_warning">알림ì ë„겠습니까?</string>
51 <string name="notification_warning_description">yuzu는 중요한 정보를 알려드리지 않습니다.</string> 50 <string name="notification_warning_description">yuzu가 중요한 정보를 알려드리지 않습니다.</string>
52 <string name="permission_denied">권한 ê±°ë¶€ë¨</string> 51 <string name="permission_denied">권한 ê±°ë¶€ë¨</string>
53 <string name="permission_denied_description">ì´ ê¶Œí•œì„ ë„ˆë¬´ ë§Žì´ ê±°ë¶€í–ˆìœ¼ë¯€ë¡œ ì´ì œ 시스템 설정ì—서 수ë™ìœ¼ë¡œ ê¶Œí•œì„ ë¶€ì—¬í•´ì•¼ 합니다.</string> 52 <string name="permission_denied_description">권한 í—ˆìš©ì„ ë„ˆë¬´ ë§Žì´ ê±°ë¶€í•˜ì—¬ 시스템 설정ì—서 수ë™ìœ¼ë¡œ ê¶Œí•œì„ ë¶€ì—¬í•´ì•¼ 합니다.</string>
54 <string name="about">ì •ë³´</string> 53 <string name="about">ì •ë³´</string>
55 <string name="about_description">빌드 버전, í¬ë ˆë”§ 등</string> 54 <string name="about_description">빌드 버전, í¬ë ˆë”§ 등</string>
56 <string name="warning_help">ë„움ë§</string> 55 <string name="warning_help">ë„움ë§</string>
57 <string name="warning_skip">건너뛰기</string> 56 <string name="warning_skip">건너뛰기</string>
58 <string name="warning_cancel">취소</string> 57 <string name="warning_cancel">취소</string>
59 <string name="install_amiibo_keys">Amiibo keys 설치</string> 58 <string name="install_amiibo_keys">amiibo 키 설치</string>
60 <string name="install_amiibo_keys_description">게임ì—서 아미보 사용 시 í•„ìš”</string> 59 <string name="install_amiibo_keys_description">게임ì—서 amiibo 사용 시 í•„ìš”</string>
61 <string name="invalid_keys_file">ìž˜ëª»ëœ keys íŒŒì¼ ì„ íƒ</string> 60 <string name="invalid_keys_file">ìž˜ëª»ëœ í‚¤ 파ì¼ì´ ì„ íƒë¨</string>
62 <string name="install_keys_success">keysê°€ 성공ì ìœ¼ë¡œ 설치ë¨</string> 61 <string name="install_keys_success">키 ê°’ì„ ì„¤ì¹˜í–ˆìŠµë‹ˆë‹¤.</string>
63 <string name="reading_keys_failure">암호화 keys ì½ê¸° 오류</string> 62 <string name="reading_keys_failure">암호화 키 ì½ê¸° 오류</string>
64 <string name="invalid_keys_error">ìž˜ëª»ëœ ì•”í˜¸í™” keys</string> 63 <string name="install_prod_keys_failure_extension_description">키 파ì¼ì˜ 확장ìžê°€ .keysì¸ì§€ 확ì¸í•˜ê³  다시 시ë„하세요.</string>
64 <string name="install_amiibo_keys_failure_extension_description">키 파ì¼ì˜ 확장ìžê°€ .binì¸ì§€ 확ì¸í•˜ê³  다시 시ë„하세요.</string>
65 <string name="invalid_keys_error">암호화 키가 올바르지 않ìŒ</string>
65 <string name="dumping_keys_quickstart_link">https://yuzu-emu.org/help/quickstart/#dumping-decryption-keys</string> 66 <string name="dumping_keys_quickstart_link">https://yuzu-emu.org/help/quickstart/#dumping-decryption-keys</string>
66 <string name="install_keys_failure_description">ì„ íƒí•œ 파ì¼ì´ 잘못ë˜ì—ˆê±°ë‚˜ ì†ìƒë˜ì—ˆìŠµë‹ˆë‹¤. keys를 다시 ë¤í”„하세요.</string> 67 <string name="install_keys_failure_description">ì„ íƒí•œ 파ì¼ì´ 잘못ë˜ì—ˆê±°ë‚˜ ì†ìƒë˜ì—ˆìŠµë‹ˆë‹¤. 키를 다시 ë¤í”„하세요.</string>
67 <string name="install_gpu_driver">GPU 드ë¼ì´ë²„ 설치</string> 68 <string name="install_gpu_driver">GPU 드ë¼ì´ë²„ 설치</string>
68 <string name="install_gpu_driver_description">잠재ì ìœ¼ë¡œ ë” ë‚˜ì€ ì„±ëŠ¥ ë˜ëŠ” ì •í™•ì„±ì„ ìœ„í•´ 대체 드ë¼ì´ë²„를 설치하세요.</string> 69 <string name="install_gpu_driver_description">잠재ì ìœ¼ë¡œ ë” ë‚˜ì€ ì„±ëŠ¥ ë˜ëŠ” ì •í™•ì„±ì„ ìœ„í•´ 대체 드ë¼ì´ë²„를 설치하세요.</string>
69 <string name="advanced_settings">고급 설정</string> 70 <string name="advanced_settings">고급 설정</string>
70 <string name="settings_description">ì—뮬레ì´í„° 설정 구성</string> 71 <string name="settings_description">ì—뮬레ì´í„° 설정 구성</string>
71 <string name="search_recently_played">최근 플레ì´í•œ 게임</string> 72 <string name="search_recently_played">최근 플레ì´</string>
72 <string name="search_recently_added">최근 추가한 게임</string> 73 <string name="search_recently_added">최근 추가</string>
73 <string name="search_retail">íŒë§¤ìš©</string> 74 <string name="search_retail">패키지</string>
74 <string name="search_homebrew">홈브류</string> 75 <string name="search_homebrew">홈브류</string>
75 <string name="open_user_folder">yuzu í´ë” 열기</string> 76 <string name="open_user_folder">yuzu í´ë” 열기</string>
76 <string name="open_user_folder_description">yuzuì˜ ë‚´ë¶€ íŒŒì¼ ê´€ë¦¬</string> 77 <string name="open_user_folder_description">yuzuì˜ ë‚´ë¶€ íŒŒì¼ ê´€ë¦¬</string>
77 <string name="theme_and_color_description">앱 모양 수정</string> 78 <string name="theme_and_color_description">앱 ë””ìžì¸ 편집</string>
78 <string name="no_file_manager">íŒŒì¼ ê´€ë¦¬ìžë¥¼ ì°¾ì„ ìˆ˜ ì—†ìŒ</string> 79 <string name="no_file_manager">íŒŒì¼ ê´€ë¦¬ìžë¥¼ ì°¾ì„ ìˆ˜ ì—†ìŒ</string>
79 <string name="notification_no_directory_link">yuzu 디렉토리를 ì—´ 수 ì—†ìŒ</string> 80 <string name="notification_no_directory_link">yuzu 디렉터리를 ì—´ 수 ì—†ìŒ</string>
80 <string name="notification_no_directory_link_description">íŒŒì¼ ê´€ë¦¬ìžì˜ 사ì´ë“œ 패ë„ì—서 ì‚¬ìš©ìž í´ë”를 수ë™ìœ¼ë¡œ 찾아주세요.</string> 81 <string name="notification_no_directory_link_description">íŒŒì¼ ê´€ë¦¬ìžì˜ 사ì´ë“œ 패ë„ì—서 ì‚¬ìš©ìž í´ë”를 수ë™ìœ¼ë¡œ 찾아주세요.</string>
81 <string name="manage_save_data">저장 ë°ì´í„° 관리</string> 82 <string name="manage_save_data">저장 ë°ì´í„° 관리</string>
82 <string name="manage_save_data_description">ë°ì´í„°ë¥¼ 저장했습니다. 아래ì—서 ì˜µì…˜ì„ ì„ íƒí•˜ì„¸ìš”.</string> 83 <string name="manage_save_data_description">저장 ë°ì´í„°ë¥¼ 발견했습니다. 아래ì—서 ì˜µì…˜ì„ ì„ íƒí•˜ì„¸ìš”.</string>
83 <string name="import_export_saves_description">저장 íŒŒì¼ ê°€ì ¸ì˜¤ê¸° ë˜ëŠ” 내보내기</string> 84 <string name="import_export_saves_description">저장 íŒŒì¼ ê°€ì ¸ì˜¤ê¸° ë˜ëŠ” 내보내기</string>
84 <string name="save_file_imported_success">ê°ì ¸ì˜¤ê¸° 성공</string> 85 <string name="save_file_imported_success">ë°ì´í„°ë¥¼ 불러왔습니다.</string>
85 <string name="save_file_invalid_zip_structure">저장 디렉터리 구조가 잘못ë¨</string> 86 <string name="save_file_invalid_zip_structure">올바르지 ì•Šì€ ì €ìž¥ 디렉터리 구조</string>
86 <string name="save_file_invalid_zip_structure_description">첫 번째 하위 í´ë” ì´ë¦„ì€ ê²Œìž„ì˜ íƒ€ì´í‹€ ID여야 합니다.</string> 87 <string name="save_file_invalid_zip_structure_description">첫 번째 하위 í´ë” ì´ë¦„ì€ ê²Œìž„ì˜ íƒ€ì´í‹€ ID여야 합니다.</string>
87 <string name="import_saves">가져오기</string> 88 <string name="import_saves">가져오기</string>
88 <string name="export_saves">내보내기</string> 89 <string name="export_saves">내보내기</string>
89 90 <string name="install_firmware">펌웨어 설치</string>
91 <string name="install_firmware_description">펌웨어는 ZIP 파ì¼ì´ë©° ì¼ë¶€ ê²Œìž„ì„ ë¶€íŒ…í•˜ëŠ” ë° í•„ìš”í•©ë‹ˆë‹¤.</string>
92 <string name="firmware_installing">펌웨어 설치</string>
93 <string name="firmware_installed_success">펌웨어를 설치했습니다.</string>
94 <string name="firmware_installed_failure">펌웨어 설치 실패</string>
95 <string name="share_log">디버그 로그 공유</string>
96 <string name="share_log_description">yuzuì˜ ë¡œê·¸ 파ì¼ì„ 공유하여 문제 디버깅하기</string>
97 <string name="share_log_missing">로그 파ì¼ì„ ì°¾ì„ ìˆ˜ 없습니다.</string>
98 <string name="install_game_content">게임 콘í…츠 설치</string>
99 <string name="install_game_content_description">게임 ì—…ë°ì´íЏ ë˜ëŠ” DLC 설치</string>
100 <string name="install_game_content_help_link">https://yuzu-emu.org/help/quickstart/#dumping-installed-updates</string>
90 <!-- About screen strings --> 101 <!-- About screen strings -->
91 <string name="gaia_is_not_real">ê°€ì´ì•„는 진짜가 아님</string> 102 <string name="gaia_is_not_real">ê°€ì´ì•„는 진짜가 아님</string>
92 <string name="copied_to_clipboard">í´ë¦½ë³´ë“œì— 복사</string> 103 <string name="copied_to_clipboard">í´ë¦½ë³´ë“œì— 복사ë˜ì—ˆìŠµë‹ˆë‹¤.</string>
93 <string name="about_app_description">오픈 소스 스위치 ì—뮬레ì´í„°</string> 104 <string name="about_app_description">오픈 소스 Switch ì—뮬레ì´í„°</string>
94 <string name="contributors">기여ìž</string> 105 <string name="contributors">기여ìž</string>
95 <string name="contributors_description">yuzu íŒ€ì˜ \u2764로 제작</string> 106 <string name="contributors_description">yuzu íŒ€ì˜ \u2764로 제작</string>
96 <string name="contributors_link">https://github.com/yuzu-emu/yuzu/graphs/contributors</string> 107 <string name="contributors_link">https://github.com/yuzu-emu/yuzu/graphs/contributors</string>
108 <string name="licenses_description">Androidìš© yuzu를 가능하게 하는 프로ì íЏ</string>
97 <string name="build">빌드</string> 109 <string name="build">빌드</string>
98 <string name="support_link">https://discord.gg/u77vRWY</string> 110 <string name="support_link">https://discord.gg/u77vRWY</string>
99 <string name="website_link">https://yuzu-emu.org/</string> 111 <string name="website_link">https://yuzu-emu.org/</string>
100 <string name="github_link">https://github.com/yuzu-emu</string> 112 <string name="github_link">https://github.com/yuzu-emu</string>
101 113
102 <!-- Early access upgrade strings --> 114 <!-- Early access upgrade strings -->
103 <string name="early_access">미리 ì²´í—˜í˜ê¸°</string> 115 <string name="early_access">앞서 해보기</string>
104 <string name="get_early_access">미리 ì²´í—˜í˜ê¸° ì‹ ì²­</string> 116 <string name="get_early_access">앞서 해보기 ì‹ ì²­</string>
105 <string name="play_store_link">https://play.google.com/store/apps/details?id=org.yuzu.yuzu_emu.ea</string> 117 <string name="play_store_link">https://play.google.com/store/apps/details?id=org.yuzu.yuzu_emu.ea</string>
106 <string name="get_early_access_description">ìµœì²¨ë¨ ê¸°ëŠ¥, 미리 체험하기 ì—…ë°ì´íЏ 등</string> 118 <string name="get_early_access_description">최신 기능, ì—…ë°ì´íЏ 미리 ì²´í—˜ 등</string>
107 <string name="early_access_benefits">미리 ì²´í—˜í˜ê¸° 혜íƒ</string> 119 <string name="early_access_benefits">앞서 해보기 혜íƒ</string>
108 <string name="cutting_edge_features">ìµœì²¨ë¨ ê¸°ëŠ¥</string> 120 <string name="cutting_edge_features">최신 기능</string>
109 <string name="early_access_updates">미리 체험하기 ì—…ë°ì´íЏ</string> 121 <string name="early_access_updates">ì—…ë°ì´íЏ 미리 ì²´í—˜</string>
110 <string name="no_manual_installation">ìˆ˜ë™ ì„¤ì¹˜ 불필요</string> 122 <string name="no_manual_installation">ìˆ˜ë™ ì„¤ì¹˜ 불필요</string>
111 <string name="prioritized_support">ìš°ì„  ì§€ì›</string> 123 <string name="prioritized_support">ìš°ì„  ì§€ì›</string>
112 <string name="helping_game_preservation">게임 ë³´ì¡´ ë„ì€ì£¼ê¸°</string> 124 <string name="helping_game_preservation">게임 ë³´ì¡´ ì§€ì</string>
113 <string name="our_eternal_gratitude">ì˜ì›í•œ ê°ì‚¬ì˜ 마ìŒì„ 전합니다</string> 125 <string name="our_eternal_gratitude">ìš°ë¦¬ì˜ ì˜ì›í•œ ê°ì‚¬ì˜ 마ìŒ</string>
114 <string name="are_you_interested">관심 있으세요?</string> 126 <string name="are_you_interested">관심 있으세요?</string>
115 127
116 <!-- General settings strings --> 128 <!-- General settings strings -->
117 <string name="frame_limit_enable">제한 ì†ë„ 활성화</string> 129 <string name="frame_limit_enable">ì†ë„ 제한</string>
118 <string name="frame_limit_enable_description">활성화하면 ì—뮬레ì´ì…˜ ì†ë„ê°€ ì •ìƒ ì†ë„ì˜ ì§€ì •ëœ ë¹„ìœ¨ë¡œ 제한ë©ë‹ˆë‹¤.</string> 130 <string name="frame_limit_enable_description">ì—뮬레ì´ì…˜ ì†ë„를 ì •ìƒ ì†ë„ì˜ ì§€ì •ëœ ë¹„ìœ¨ë¡œ 제한합니다.</string>
119 <string name="frame_limit_slider">ì†ë„ 제한 비율</string> 131 <string name="frame_limit_slider">ì†ë„ 제한 비율</string>
120 <string name="frame_limit_slider_description">ì—뮬레ì´ì…˜ ì†ë„를 제한할 ë¹„ìœ¨ì„ ì§€ì •í•©ë‹ˆë‹¤. ê¸°ë³¸ê°’ì¸ 100%로 설정하면 ì—뮬레ì´ì…˜ì´ ì •ìƒ ì†ë„로 제한ë©ë‹ˆë‹¤. ê°’ì´ ë†’ê±°ë‚˜ 낮으면 ì†ë„ ì œí•œì´ ì¦ê°€í•˜ê±°ë‚˜ ê°ì†Œí•©ë‹ˆë‹¤.</string> 132 <string name="frame_limit_slider_description">ì—뮬레ì´ì…˜ ì†ë„ì˜ ì œí•œ ë¹„ìœ¨ì„ ì§€ì •í•©ë‹ˆë‹¤. 100%ê°€ ì •ìƒ ì†ë„입니다. ê°’ì´ ë†’ê±°ë‚˜ 낮으면 ì†ë„ ì œí•œì´ ì¦ê°€í•˜ê±°ë‚˜ ê°ì†Œí•©ë‹ˆë‹¤.</string>
121 <string name="cpu_accuracy">CPU 정확ë„</string> 133 <string name="cpu_accuracy">CPU 정확ë„</string>
122
123 <!-- System settings strings --> 134 <!-- System settings strings -->
124 <string name="use_docked_mode">ë„킹 모드</string> 135 <string name="use_docked_mode">ë 모드</string>
125 <string name="use_docked_mode_description">ë„킹 모드ì—서 ì—뮬레ì´ì…˜í•˜ë©´ ì„±ëŠ¥ì´ ì €í•˜ë˜ëŠ” 대신 í•´ìƒë„ê°€ í–¥ìƒë©ë‹ˆë‹¤.</string> 136 <string name="use_docked_mode_description">í•´ìƒë„를 높ì´ë©° ì„±ëŠ¥ì´ ì €í•˜ë©ë‹ˆë‹¤. 비활성화시 휴대 모드가 사용ë˜ë©° í•´ìƒë„는 낮아지고 ì„±ëŠ¥ì€ í–¥ìƒë©ë‹ˆë‹¤.</string>
126 <string name="emulated_region">ì—뮬레ì´íŠ¸ëœ ì§€ì—­</string> 137 <string name="emulated_region">ì—뮬레ì´íЏ 지역</string>
127 <string name="emulated_language">ì—뮬레ì´íŠ¸ëœ ì–¸ì–´</string> 138 <string name="emulated_language">ì—뮬레ì´íЏ 언어</string>
128 <string name="select_rtc_date">RTC ë‚ ì§œ ì„ íƒ</string> 139 <string name="select_rtc_date">RTC ë‚ ì§œ ì„ íƒ</string>
129 <string name="select_rtc_time">RTC 시간 ì„ íƒ</string> 140 <string name="select_rtc_time">RTC 시간 ì„ íƒ</string>
130 <string name="use_custom_rtc">커스텀 RTC 활성화</string> 141 <string name="use_custom_rtc">ì‚¬ìš©ìž ì§ì • RTC</string>
131 <string name="use_custom_rtc_description">ì´ ì„¤ì •ì„ ì‚¬ìš©í•˜ë©´ 현재 시스템 시간과 별ë„로 ì‚¬ìš©ìž ì§€ì • 실시간 시계를 설정할 수 있ìŒ</string> 142 <string name="use_custom_rtc_description">현재 시스템 시간과 별ë„로 ì‚¬ìš©ìž ì§€ì • 실시간 시계를 설정할 수 있습니다.</string>
132 <string name="set_custom_rtc">커스텀 RTC 설정</string> 143 <string name="set_custom_rtc">ì‚¬ìš©ìž ì§ì • RTC 설정</string>
133 144
134 <!-- Graphics settings strings --> 145 <!-- Graphics settings strings -->
135 <string name="renderer_api">API</string>
136 <string name="renderer_accuracy">ì •í™•ë„ ìˆ˜ì¤€</string> 146 <string name="renderer_accuracy">ì •í™•ë„ ìˆ˜ì¤€</string>
137 <string name="renderer_resolution">í•´ìƒë„</string> 147 <string name="renderer_resolution">í•´ìƒë„ (휴대 모드/ë… ëª¨ë“œ)</string>
138 <string name="renderer_vsync">수ì§ë™ê¸°í™” 모드</string> 148 <string name="renderer_vsync">수ì§ë™ê¸°í™” 모드</string>
139 <string name="renderer_aspect_ratio">화면비</string> 149 <string name="renderer_aspect_ratio">화면비</string>
140 <string name="renderer_scaling_filter">ì°½ ì ì‘ í•„í„°</string> 150 <string name="renderer_scaling_filter">윈ë„ìš° ì ì‘ í•„í„°</string>
141 <string name="renderer_anti_aliasing">안티-ì—ì¼ë¦¬ì–´ì‹± 방법</string> 151 <string name="renderer_anti_aliasing">안티ì—ì¼ë¦¬ì–´ì‹± 방법</string>
142 <string name="renderer_force_max_clock">최대 í´ëŸ­ ê°•ì œ 설정 (아드레노만 해당)</string> 152 <string name="renderer_force_max_clock">최대 í´ëŸ­ ê°•ì œ 설정 (아드레노 ì „ìš©)</string>
143 <string name="renderer_force_max_clock_description">GPUê°€ 가능한 최대 í´ëŸ­ìœ¼ë¡œ 실행ë˜ë„ë¡ ê°•ì œí•©ë‹ˆë‹¤ (ì—´ 제약 ì¡°ê±´ì€ ì—¬ì „ížˆ ì ìš©ë©ë‹ˆë‹¤).</string> 153 <string name="renderer_force_max_clock_description">GPUê°€ 가능한 최대 í´ëŸ­ìœ¼ë¡œ 실행ë˜ë„ë¡ ê°•ì œí•©ë‹ˆë‹¤ (ì—´ 제약 ì¡°ê±´ì€ ì—¬ì „ížˆ ì ìš©ë©ë‹ˆë‹¤).</string>
144 <string name="renderer_asynchronous_shaders">비ë™ê¸° ì…°ì´ë” 사용</string> 154 <string name="renderer_asynchronous_shaders">비ë™ê¸° ì…°ì´ë” 사용</string>
145 <string name="renderer_asynchronous_shaders_description">ì…°ì´ë”를 비ë™ê¸°ì‹ìœ¼ë¡œ 컴파ì¼í•˜ë¯€ë¡œ ëŠê¹€ 현ìƒì´ 줄어들지만 글리치가 ë°œìƒí•  수 있습니다.</string> 155 <string name="renderer_asynchronous_shaders_description">ì…°ì´ë”를 비ë™ê¸°ì‹ìœ¼ë¡œ 컴파ì¼í•˜ì—¬ ëŠê¹€ 현ìƒì„ 줄ì´ì§€ë§Œ 글리치가 ë°œìƒí•  수 있습니다.</string>
146 <string name="renderer_debug">그래픽 디버깅 활성화</string> 156 <string name="renderer_reactive_flushing">ë°˜ì‘형 플러싱 사용</string>
147 <string name="renderer_debug_description">ì´ ì˜µì…˜ì„ ì„ íƒí•˜ë©´ 그래픽 APIê°€ ëŠë¦° 디버깅 모드로 전환ë©ë‹ˆë‹¤.</string> 157 <string name="renderer_reactive_flushing_description">ì¼ë¶€ 게임ì—서 성능 저하를 ê°ìˆ˜í•˜ê³  ë Œë”ë§ ì •í™•ë„를 í–¥ìƒí•©ë‹ˆë‹¤.</string>
148 <string name="use_disk_shader_cache">ë””ìŠ¤í¬ ì…°ì´ë” ìºì‹œ 사용</string> 158 <string name="use_disk_shader_cache">ë””ìŠ¤í¬ ì…°ì´ë” ìºì‹œ</string>
149 <string name="use_disk_shader_cache_description">ìƒì„±ëœ ì…°ì´ë”를 디스í¬ì— 저장하고 불러오기하여 ëŠê¹€ 현ìƒì„ 줄입니다.</string> 159 <string name="use_disk_shader_cache_description">ìƒì„±ëœ ì…°ì´ë”를 ë¡œì»¬ì— ì €ìž¥í•˜ê³  로드하여 ëŠê¹€ 현ìƒì„ 줄입니다.</string>
150 160
151 <!-- Audio settings strings --> 161 <!-- Debug settings strings -->
162 <string name="cpu">CPU</string>
163 <string name="renderer_api">API</string>
164 <string name="renderer_debug">그래픽 디버깅</string>
165 <string name="renderer_debug_description">그래픽 API를 ëŠë¦° 디버깅 모드로 설정합니다.</string>
152 <string name="audio_volume">볼륨</string> 166 <string name="audio_volume">볼륨</string>
153 <string name="audio_volume_description">오디오 ì¶œë ¥ì˜ ë³¼ë¥¨ì„ ì§€ì •í•©ë‹ˆë‹¤.</string> 167 <string name="audio_volume_description">오디오 ì¶œë ¥ì˜ ë³¼ë¥¨ì„ ì§€ì •í•©ë‹ˆë‹¤.</string>
154 168
155 <!-- Miscellaneous --> 169 <!-- Miscellaneous -->
156 <string name="slider_default">기본값</string> 170 <string name="slider_default">기본값</string>
157 <string name="ini_saved">ì €ìž¥ëœ ì„¤ì •</string> 171 <string name="ini_saved">ì„¤ì •ì´ ì €ìž¥ë˜ì—ˆìŠµë‹ˆë‹¤.</string>
158 <string name="gameid_saved">%1$s를 ìœí•´ ì €ìž¥ëœ ì„¤ì •</string> 172 <string name="gameid_saved">%1$s ì ìš© 설ì ì´ 저장ë˜ì—ˆìŠµë‹ˆë‹¤.</string>
159 <string name="error_saving">%1$s.ini 저장 중 오류: %2$s</string> 173 <string name="error_saving">%1$s.ini 저장 중 오류 ë°œìƒ: %2$s</string>
160 <string name="loading">불러오기 중...</string> 174 <string name="loading">불러오는 중...</string>
161 <string name="reset_setting_confirmation">ì´ ì„¤ì •ì„ ê¸°ë³¸ê°’ìœ¼ë¡œ ë˜ëŒë¦¬ê² ìŠµë‹ˆê¹Œ?</string> 175 <string name="reset_setting_confirmation">ì´ ì„¤ì •ì„ ê¸°ë³¸ê°’ìœ¼ë¡œ 재설정하겠습니까?</string>
162 <string name="reset_to_default">기본값으로 재설정</string> 176 <string name="reset_to_default">기본값으로 재설정</string>
163 <string name="reset_all_settings">모든 ì„¤ì •ì„ ì´ˆê¸°í™”í•˜ê² ìŠµë‹ˆê¹Œ?</string> 177 <string name="reset_all_settings">모든 ì„¤ì •ì„ ì´ˆê¸°í™”í•˜ê² ìŠµë‹ˆê¹Œ?</string>
164 <string name="reset_all_settings_description">모든 고급 ì„¤ì •ì´ ê¸°ë³¸ 구성으로 재설정ë©ë‹ˆë‹¤. ì´ ì„¤ì •ì€ ë˜ëŒë¦´ 수 없습니다.</string> 178 <string name="reset_all_settings_description">모든 고급 ì„¤ì •ì´ ê¸°ë³¸ 구성으로 재설정ë©ë‹ˆë‹¤. ì´ ìž‘ì—…ì€ ë˜ëŒë¦´ 수 없습니다.</string>
165 <string name="settings_reset">설정 초기화</string> 179 <string name="settings_reset">설정 초기화</string>
166 <string name="close">닫기</string> 180 <string name="close">닫기</string>
167 <string name="learn_more">ìžì„¸ížˆ 알아보기</string> 181 <string name="learn_more">ìžì„¸ížˆ</string>
168 182 <string name="auto">ìžë™</string>
183 <string name="submit">제출</string>
184 <string name="string_null">Null</string>
185 <string name="string_import">가져오기</string>
186 <string name="export">내보내기</string>
169 <!-- GPU driver installation --> 187 <!-- GPU driver installation -->
170 <string name="select_gpu_driver">GPU 드ë¼ì´ë²„ ì„ íƒ</string> 188 <string name="select_gpu_driver">GPU 드ë¼ì´ë²„ ì„ íƒ</string>
171 <string name="select_gpu_driver_title">현재 사용 ì¤‘ì¸ GPU 드ë¼ì´ë²„를 êµì²´í•˜ê² ìŠµë‹ˆê¹Œ?</string> 189 <string name="select_gpu_driver_title">현재 ì‚¬ìš©ì¤‘ì¸ GPU 드ë¼ì´ë²„를 변경하겠습니까?</string>
172 <string name="select_gpu_driver_install">설치</string> 190 <string name="select_gpu_driver_install">설치</string>
173 <string name="select_gpu_driver_default">기본값</string> 191 <string name="select_gpu_driver_default">기본값</string>
174 <string name="select_gpu_driver_use_default">기본 GPU 드ë¼ì´ë²„ 사용</string> 192 <string name="select_gpu_driver_use_default">기본 GPU 드ë¼ì´ë²„를 사용합니다.</string>
193 <string name="select_gpu_driver_error">ìž˜ëª»ëœ ë“œë¼ì´ë¸Œê°€ ì„ íƒë˜ì—ˆìŠµë‹ˆë‹¤. 시스템 ê¸°ë³¸ê°’ì„ ì‚¬ìš©í•©ë‹ˆë‹¤.</string>
175 <string name="system_gpu_driver">시스템 GPU 드ë¼ì´ë²„</string> 194 <string name="system_gpu_driver">시스템 GPU 드ë¼ì´ë²„</string>
176 <string name="installing_driver">드ë¼ì´ë²„ 설치 중...</string> 195 <string name="installing_driver">드ë¼ì´ë²„ 설치 중...</string>
177 196
@@ -182,51 +201,50 @@
182 <string name="preferences_graphics">그래픽</string> 201 <string name="preferences_graphics">그래픽</string>
183 <string name="preferences_audio">오디오</string> 202 <string name="preferences_audio">오디오</string>
184 <string name="preferences_theme">테마 ë° ìƒ‰ìƒ</string> 203 <string name="preferences_theme">테마 ë° ìƒ‰ìƒ</string>
204 <string name="preferences_debug">디버그</string>
185 205
186 <!-- ROM loading errors --> 206 <!-- ROM loading errors -->
187 <string name="loader_error_encrypted">ë¡¬ì´ ì•”í˜¸í™”ë˜ì—ˆìŒ</string> 207 <string name="loader_error_encrypted">롬 파ì¼ì´ 암호화ë˜ì–´ìžˆìŒ</string>
188 <string name="loader_error_encrypted_roms_description"><![CDATA[ê°€ì´ë“œì— ë”°ë¼ <a href=\"https://yuzu-emu.org/help/quickstart/#dumping-cartridge-games\">게임 카트리지</a> ë˜ëŠ” <a href=\"https://yuzu-emu.org/help/quickstart/#dumping-installed-titles-eshop\">ì„¤ì¹˜ëœ íƒ€ì´í‹€</a>를 다시 ë¤í”„하세요.]]></string> 208 <string name="loader_error_encrypted_keys_description"><![CDATA[ê²Œìž„ì„ í•´ë…í•  수 있ë„ë¡ <a href=\"https://yuzu-emu.org/help/quickstart/#dumping-prodkeys-and-titlekeys\">prod.keys</a> 파ì¼ì´ 설치ë˜ì–´ 있는지 확ì¸í•˜ì„¸ìš”.]]></string>
189 <string name="loader_error_encrypted_keys_description"><![CDATA[Pê²Œìž„ì„ í•´ë…í•  수 있ë„ë¡ <a href=\"https://yuzu-emu.org/help/quickstart/#dumping-prodkeys-and-titlekeys\">prod.keys</a> 파ì¼ì´ 설치ë˜ì–´ 있는지 확ì¸í•˜ì„¸ìš”.]]></string>
190 <string name="loader_error_video_core">비디오 코어를 초기화하는 ë™ì•ˆ 오류 ë°œìƒ</string> 209 <string name="loader_error_video_core">비디오 코어를 초기화하는 ë™ì•ˆ 오류 ë°œìƒ</string>
191 <string name="loader_error_video_core_description">ì´ ë¬¸ì œëŠ” ì¼ë°˜ì ìœ¼ë¡œ 호환ë˜ì§€ 않는 GPU 드ë¼ì´ë²„로 ì¸í•´ ë°œìƒí•©ë‹ˆë‹¤. ì‚¬ìš©ìž ì§€ì • GPU 드ë¼ì´ë²„를 설치하면 ì´ ë¬¸ì œê°€ í•´ê²°ë  ìˆ˜ 있습니다.</string> 210 <string name="loader_error_video_core_description">ì¼ë°˜ì ìœ¼ë¡œ ì´ ë¬¸ì œëŠ” 호환ë˜ì§€ 않는 GPU 드ë¼ì´ë²„로 ì¸í•´ ë°œìƒí•©ë‹ˆë‹¤. ì‚¬ìš©ìž ì§€ì • GPU 드ë¼ì´ë²„를 설치하면 ì´ ë¬¸ì œê°€ í•´ê²°ë  ìˆ˜ 있습니다.</string>
192 <string name="loader_error_invalid_format">ë¡¬ì„ ë¶ˆëŸ¬ì˜¬ 수 ì—†ìŒ</string> 211 <string name="loader_error_invalid_format">롬 파ì¼ì„ 불러올 수 ì—†ìŒ</string>
193 <string name="loader_error_file_not_found">롬 파ì¼ì´ 존재하지 않ìŒ</string> 212 <string name="loader_error_file_not_found">롬 파ì¼ì´ 존재하지 않ìŒ</string>
194 213
195 <!-- Emulation Menu --> 214 <!-- Emulation Menu -->
196 <string name="emulation_exit">ì—뮬레ì´ì…˜ 종료</string> 215 <string name="emulation_exit">ì—뮬레ì´ì…˜ 종료</string>
197 <string name="emulation_done">완료</string> 216 <string name="emulation_done">완료</string>
198 <string name="emulation_fps_counter">FPS 카운터</string> 217 <string name="emulation_fps_counter">FPS 표시</string>
199 <string name="emulation_toggle_controls">í† ê¸ ì œì–´</string> 218 <string name="emulation_toggle_controls">컨트롤러 ì íƒ</string>
200 <string name="emulation_rel_stick_center">ìƒëŒ€ 스틱 센터</string> 219 <string name="emulation_rel_stick_center">ìŠ¤í‹±ì˜ ì¤‘ì‹¬ ì´ë™</string>
201 <string name="emulation_dpad_slide">ì‹­ìžíŒ¨ë“œ 슬ë¼ì´ë“œ</string> 220 <string name="emulation_dpad_slide">ì‹­ìží‚¤ 슬ë¼ì´ë“œ</string>
202 <string name="emulation_haptics">햅틱</string> 221 <string name="emulation_haptics">터치 햅틱</string>
203 <string name="emulation_show_overlay">ì˜¤ë²„ë ˆì´ í‘œì‹œ</string> 222 <string name="emulation_show_overlay">컨트롤러 표시</string>
204 <string name="emulation_toggle_all">ëª¨ë‘ í† ê¸€</string> 223 <string name="emulation_toggle_all">ëª¨ë‘ ì„ íƒ</string>
205 <string name="emulation_control_adjust">ì˜¤ë²„ë ˆì´ ì¡°ì •</string> 224 <string name="emulation_control_adjust">컨트롤러 ì¡°ì •</string>
206 <string name="emulation_control_scale">스케ì¼</string> 225 <string name="emulation_control_scale">í¬ê¸°</string>
207 <string name="emulation_control_opacity">불투명ë„</string> 226 <string name="emulation_control_opacity">불투명ë„</string>
208 <string name="emulation_touch_overlay_reset">ì˜¤ë²„ë ˆì´ ìž¬ì„¤ì •</string> 227 <string name="emulation_touch_overlay_reset">컨트롤러 설정 초기화</string>
209 <string name="emulation_touch_overlay_edit">오ë²ë ˆì´ 편집</string> 228 <string name="emulation_touch_overlay_edit">컨트롤러 위치 편집</string>
210 <string name="emulation_pause">ì—뮬레ì´ì…˜ ì¼ì‹œ 중지</string> 229 <string name="emulation_pause">ì—뮬레ì´ì…˜ ì¼ì‹œ 중지</string>
211 <string name="emulation_unpause">ì—뮬레ì´ì…˜ ì¼ì‹œ 중지 í•´ì œ</string> 230 <string name="emulation_unpause">ì—뮬레ì´ì…˜ ì¼ì‹œ 중지 í•´ì œ</string>
212 <string name="emulation_input_overlay">ì˜¤ë²„ë ˆì´ ì˜µì…˜</string> 231 <string name="emulation_input_overlay">화면 ì˜¤ë²„ë ˆì´ ì„¤ì •</string>
213 232
214 <string name="load_settings">설정 불러오기 중...</string> 233 <string name="load_settings">설정 불러오는 중...</string>
215 234
216 <!-- Software keyboard --> 235 <!-- Software keyboard -->
217 <string name="software_keyboard">ê°€ìƒ í‚¤ë³´ë“œ</string> 236 <string name="software_keyboard">소프트웨어 키보드</string>
218 237
219 <!-- Errors and warnings --> 238 <!-- Errors and warnings -->
220 <string name="abort_button">정보</string> 239 <string name="abort_button">중단</string>
221 <string name="continue_button">계ì†</string> 240 <string name="continue_button">계ì†</string>
222 <string name="system_archive_not_found">시스템 ì•„ì¹´ì´ë¸Œë¥¼ ì°¾ì„ ìˆ˜ ì—†ìŒ</string> 241 <string name="system_archive_not_found">시스템 ì•„ì¹´ì´ë¸Œë¥¼ ì°¾ì„ ìˆ˜ ì—†ìŒ</string>
223 <string name="system_archive_not_found_message">%sê°€ 누ë½ë˜ì—ˆìŠµë‹ˆë‹¤. 시스템 ì•„ì¹´ì´ë¸Œë¥¼ ë¤í”„하세요.\nì—뮬레ì´ì…˜ì„ 계ì†í•˜ë©´ ì¶©ëŒ ë° ë²„ê·¸ê°€ ë°œìƒí•  수 있습니다.</string> 242 <string name="system_archive_not_found_message">%sê°€ 누ë½ë˜ì—ˆìŠµë‹ˆë‹¤. 시스템 ì•„ì¹´ì´ë¸Œë¥¼ ë¤í”„하세요.\nì—뮬레ì´ì…˜ì„ 계ì†í•˜ë©´ ì¶©ëŒ ë° ë²„ê·¸ê°€ ë°œìƒí•  수 있습니다.</string>
224 <string name="system_archive_general">시스템 ì•„ì¹´ì´ë¸Œ</string> 243 <string name="system_archive_general">시스템 ì•„ì¹´ì´ë¸Œ</string>
225 <string name="save_load_error">저장하기/불러오기 오류</string> 244 <string name="save_load_error">저장하기/불러오기 오류</string>
226 <string name="fatal_error">치명ì ì¸ 오류</string> 245 <string name="fatal_error">ì¹˜ëª…ì  ì˜¤ë¥˜</string>
227 <string name="fatal_error_message">치명ì ì¸ 오류가 ë°œìƒí–ˆìŠµë‹ˆë‹¤. ìžì„¸í•œ ë‚´ìš©ì€ ë¡œê·¸ë¥¼ 확ì¸í•˜ì‹­ì‹œì˜¤.\nì—뮬레ì´ì…˜ì„ 계ì†í•˜ë©´ ì¶©ëŒ ë° ë²„ê·¸ê°€ ë°œìƒí•  수 있습니다.</string> 246 <string name="fatal_error_message">ì¹˜ëª…ì  ì˜¤ë¥˜ê°€ ë°œìƒí–ˆìŠµë‹ˆë‹¤. ìžì„¸í•œ ë‚´ìš©ì€ ë¡œê·¸ë¥¼ 확ì¸í•˜ì‹­ì‹œì˜¤.\nì—뮬레ì´ì…˜ì„ 계ì†í•˜ë©´ ì¶©ëŒ ë° ë²„ê·¸ê°€ ë°œìƒí•  수 있습니다.</string>
228 <string name="performance_warning">ì´ ì„¤ì •ì„ ë„ë©´ ì—뮬레ì´ì…˜ ì„±ëŠ¥ì´ í¬ê²Œ 저하ë©ë‹ˆë‹¤! 최ìƒì˜ í™˜ê²½ì„ ìœ„í•´ ì´ ì„¤ì •ì„ í™œì„±í™”ëœ ìƒíƒœë¡œ ë‘는 ê²ƒì´ ì¢‹ìŠµë‹ˆë‹¤.</string> 247 <string name="performance_warning">ì´ ì„¤ì •ì„ ë„ë©´ ì—뮬레ì´ì…˜ ì„±ëŠ¥ì´ í¬ê²Œ 저하ë©ë‹ˆë‹¤! 최ìƒì˜ í™˜ê²½ì„ ìœ„í•´ ì´ ì„¤ì •ì„ í™œì„±í™”ëœ ìƒíƒœë¡œ ë‘는 ê²ƒì´ ì¢‹ìŠµë‹ˆë‹¤.</string>
229
230 <!-- Region Names --> 248 <!-- Region Names -->
231 <string name="region_japan">ì¼ë³¸</string> 249 <string name="region_japan">ì¼ë³¸</string>
232 <string name="region_usa">미국</string> 250 <string name="region_usa">미국</string>
@@ -234,12 +252,11 @@
234 <string name="region_australia">호주</string> 252 <string name="region_australia">호주</string>
235 <string name="region_china">중국</string> 253 <string name="region_china">중국</string>
236 <string name="region_korea">대한민국</string> 254 <string name="region_korea">대한민국</string>
237 <string name="region_taiwan">타ì´ì™„</string> 255 <string name="region_taiwan">대만</string>
238
239 <!-- Language Names -->
240 256
257 <string name="memory_gigabyte">ì˜êµ­ 하계 표준시(GB)</string>
241 <!-- Renderer APIs --> 258 <!-- Renderer APIs -->
242 <string name="renderer_vulkan">불칸</string> 259 <string name="renderer_vulkan">Vulcan</string>
243 <string name="renderer_none">ì—†ìŒ</string> 260 <string name="renderer_none">ì—†ìŒ</string>
244 261
245 <!-- Renderer Accuracy --> 262 <!-- Renderer Accuracy -->
@@ -256,17 +273,17 @@
256 <string name="resolution_four">4X (2880p/4320p) (ëŠë¦¼)</string> 273 <string name="resolution_four">4X (2880p/4320p) (ëŠë¦¼)</string>
257 274
258 <!-- Renderer VSync --> 275 <!-- Renderer VSync -->
259 <string name="renderer_vsync_immediate">즉시 (ë)</string> 276 <string name="renderer_vsync_immediate">ì¦‰ê° í‘œì‹œ (ë„기)</string>
260 <string name="renderer_vsync_mailbox">ë©”ì¼ë°•스</string> 277 <string name="renderer_vsync_mailbox">ë©”ì¼ë°•스</string>
261 <string name="renderer_vsync_fifo">FIFO (켬)</string> 278 <string name="renderer_vsync_fifo">FIFO (켜기)</string>
262 <string name="renderer_vsync_fifo_relaxed">FIFO 릴랙스</string> 279 <string name="renderer_vsync_fifo_relaxed">FIFO Relaxed</string>
263 280
264 <!-- Scaling Filters --> 281 <!-- Scaling Filters -->
265 <string name="scaling_filter_nearest_neighbor">가장 가까운 ì´ì›ƒ</string> 282 <string name="scaling_filter_nearest_neighbor">최근접 ë³´ê°„</string>
266 <string name="scaling_filter_bilinear">ì´ì¤‘선형</string> 283 <string name="scaling_filter_bilinear">ìŒì„ í˜• ë³´ê°„</string>
267 <string name="scaling_filter_bicubic">고등차수보간</string> 284 <string name="scaling_filter_bicubic">ìŒìž…ë°© ë³´ê°„</string>
268 <string name="scaling_filter_gaussian">가우시안</string> 285 <string name="scaling_filter_gaussian">가우시안</string>
269 <string name="scaling_filter_scale_force">스케ì¼í¬ìФ</string> 286 <string name="scaling_filter_scale_force">ScaleForce</string>
270 <string name="scaling_filter_fsr">AMD FidelityFXâ„¢ 초고해ìƒë„</string> 287 <string name="scaling_filter_fsr">AMD FidelityFXâ„¢ 초고해ìƒë„</string>
271 288
272 <!-- Anti-Aliasing --> 289 <!-- Anti-Aliasing -->
@@ -274,27 +291,29 @@
274 <string name="anti_aliasing_fxaa">FXAA</string> 291 <string name="anti_aliasing_fxaa">FXAA</string>
275 <string name="anti_aliasing_smaa">SMAA</string> 292 <string name="anti_aliasing_smaa">SMAA</string>
276 293
294 <string name="screen_layout_auto">ìžë™</string>
295
277 <!-- Aspect Ratios --> 296 <!-- Aspect Ratios -->
278 <string name="ratio_default">기본 (16:9)</string> 297 <string name="ratio_default">기본 (16:9)</string>
279 <string name="ratio_force_four_three">강제 4:3</string> 298 <string name="ratio_force_four_three">강제 4:3</string>
280 <string name="ratio_force_twenty_one_nine">강제 21:9</string> 299 <string name="ratio_force_twenty_one_nine">강제 21:9</string>
281 <string name="ratio_force_sixteen_ten">강제 16:10</string> 300 <string name="ratio_force_sixteen_ten">강제 16:10</string>
282 <string name="ratio_stretch">ì°½ì— ë§žê²Œ 늘림</string> 301 <string name="ratio_stretch">í™”ë©´ì— ë§žì¶¤</string>
283 302
284 <!-- CPU Accuracy --> 303 <!-- CPU Accuracy -->
285 <string name="cpu_accuracy_accurate">정확함</string> 304 <string name="cpu_accuracy_accurate">정확함</string>
286 <string name="cpu_accuracy_unsafe">안전하지 않ìŒ</string> 305 <string name="cpu_accuracy_unsafe">최ì í™” (안전하지 않ìŒ)</string>
287 <string name="cpu_accuracy_paranoid">편ì§ì¦ (ëŠë¦¼)</string> 306 <string name="cpu_accuracy_paranoid">최ì í™”하ì§ì•ŠìŒ (ëŠë¦¼)</string>
288 307
289 <!-- Gamepad Buttons --> 308 <!-- Gamepad Buttons -->
290 <string name="gamepad_d_pad">ì‹­ìžíŒ¨ë“œ</string> 309 <string name="gamepad_d_pad">ì‹­ìží‚¤</string>
291 <string name="gamepad_left_stick">L 스틱</string> 310 <string name="gamepad_left_stick">L 스틱</string>
292 <string name="gamepad_right_stick">R 스틱</string> 311 <string name="gamepad_right_stick">R 스틱</string>
293 <string name="gamepad_home">홈</string> 312 <string name="gamepad_home">홈</string>
294 <string name="gamepad_screenshot">스í¬ë¦°ìƒ·</string> 313 <string name="gamepad_screenshot">스í¬ë¦°ìƒ·</string>
295 314
296 <!-- Disk shader cache --> 315 <!-- Disk shader cache -->
297 <string name="preparing_shaders">ì…°ì´ë” 준비하기</string> 316 <string name="preparing_shaders">ì…°ì´ë” 준비하는 중</string>
298 <string name="building_shaders">ì…°ì´ë” 빌드 중</string> 317 <string name="building_shaders">ì…°ì´ë” 빌드 중</string>
299 318
300 <!-- Theme options --> 319 <!-- Theme options -->
@@ -303,13 +322,19 @@
303 <string name="theme_material_you">Material You</string> 322 <string name="theme_material_you">Material You</string>
304 323
305 <!-- Theme Modes --> 324 <!-- Theme Modes -->
306 <string name="change_theme_mode">테마 모드 변경</string> 325 <string name="change_theme_mode">ë‹¤í¬ ëª¨ë“œ 설정</string>
307 <string name="theme_mode_follow_system">팔로우 시스템</string> 326 <string name="theme_mode_follow_system">시스템 값 사용</string>
308 <string name="theme_mode_light">ë°ìŒ</string> 327 <string name="theme_mode_light">ë¼ì´íЏ 모드</string>
309 <string name="theme_mode_dark">ì–´ë‘움</string> 328 <string name="theme_mode_dark">ë‹¤í¬ ëª¨ë“œ</string>
310 329
311 <!-- Black backgrounds theme --> 330 <!-- Black backgrounds theme -->
312 <string name="use_black_backgrounds">ê²€ì€ìƒ‰ ë°°ê²½ 사용</string> 331 <string name="use_black_backgrounds">검정 ë°°ê²½</string>
313 <string name="use_black_backgrounds_description">ì–´ë‘ìš´ 테마를 사용할 때는 ê²€ì€ìƒ‰ ë°°ê²½ì„ ì ìš©í•©ë‹ˆë‹¤.</string> 332 <string name="use_black_backgrounds_description">ì–´ë‘ìš´ 테마를 사용할 때는 검정 ë°°ê²½ì„ ì ìš©í•©ë‹ˆë‹¤.</string>
333
334 <string name="mute">ìŒì†Œê±°</string>
335 <string name="unmute">ìŒì†Œê±° í•´ì œ</string>
314 336
315</resources> 337 <!-- Licenses screen strings -->
338 <string name="licenses">ë¼ì´ì„¼ìФ</string>
339 <string name="license_fidelityfx_fsr_description">AMDì˜ ê³ í’ˆì§ˆ 업스케ì¼ë§</string>
340 </resources>
diff --git a/src/android/app/src/main/res/values-nb/strings.xml b/src/android/app/src/main/res/values-nb/strings.xml
index 5443cef42..3162a9d41 100644
--- a/src/android/app/src/main/res/values-nb/strings.xml
+++ b/src/android/app/src/main/res/values-nb/strings.xml
@@ -1,5 +1,5 @@
1<?xml version="1.0" encoding="utf-8"?> 1<?xml version="1.0" encoding="utf-8"?>
2<resources> 2<resources xmlns:tools="http://schemas.android.com/tools" tools:ignore="MissingTranslation">
3 3
4 <string name="app_disclaimer">Denne programvaren vil kjøre spill for Nintendo Switch-spillkonsollen. Ingen spilltitler eller nøkler er inkludert.&lt;br /&gt;&lt;br /&gt;Før du begynner, må du finne <![CDATA[<b> prod.keys </b>]]> filen din på enhetslagringen.&lt;br /&gt;&lt;br /&gt;<![CDATA[<a href=\"https://yuzu-emu.org/help/quickstart\">Lær mer</a>]]></string> 4 <string name="app_disclaimer">Denne programvaren vil kjøre spill for Nintendo Switch-spillkonsollen. Ingen spilltitler eller nøkler er inkludert.&lt;br /&gt;&lt;br /&gt;Før du begynner, må du finne <![CDATA[<b> prod.keys </b>]]> filen din på enhetslagringen.&lt;br /&gt;&lt;br /&gt;<![CDATA[<a href=\"https://yuzu-emu.org/help/quickstart\">Lær mer</a>]]></string>
5 <string name="emulation_notification_channel_name">Emulering er aktiv</string> 5 <string name="emulation_notification_channel_name">Emulering er aktiv</string>
@@ -25,7 +25,6 @@
25 <string name="back">Tilbake</string> 25 <string name="back">Tilbake</string>
26 <string name="add_games">Legg til spill</string> 26 <string name="add_games">Legg til spill</string>
27 <string name="add_games_description">Velg din spillmappe</string> 27 <string name="add_games_description">Velg din spillmappe</string>
28
29 <!-- Home strings --> 28 <!-- Home strings -->
30 <string name="home_games">Spill</string> 29 <string name="home_games">Spill</string>
31 <string name="home_search">Søk</string> 30 <string name="home_search">Søk</string>
@@ -37,7 +36,7 @@
37 <string name="add_games_warning">Hoppe over valg av spillmappe?</string> 36 <string name="add_games_warning">Hoppe over valg av spillmappe?</string>
38 <string name="add_games_warning_description">Spill vises ikke i Spill-listen hvis en mappe ikke er valgt.</string> 37 <string name="add_games_warning_description">Spill vises ikke i Spill-listen hvis en mappe ikke er valgt.</string>
39 <string name="add_games_warning_help">https://yuzu-emu.org/help/quickstart/#dumping-games</string> 38 <string name="add_games_warning_help">https://yuzu-emu.org/help/quickstart/#dumping-games</string>
40 <string name="home_search_games">Søk i spill</string> 39 <string name="home_search_games">Søk i spill|</string>
41 <string name="games_dir_selected">Spillkatalogen er valgt</string> 40 <string name="games_dir_selected">Spillkatalogen er valgt</string>
42 <string name="install_prod_keys">Installer prod.keys</string> 41 <string name="install_prod_keys">Installer prod.keys</string>
43 <string name="install_prod_keys_description">Nødvendig for å dekryptere spill</string> 42 <string name="install_prod_keys_description">Nødvendig for å dekryptere spill</string>
@@ -61,6 +60,8 @@
61 <string name="invalid_keys_file">Ugyldig nøkkelfil valgt</string> 60 <string name="invalid_keys_file">Ugyldig nøkkelfil valgt</string>
62 <string name="install_keys_success">Nøkler vellykket installert</string> 61 <string name="install_keys_success">Nøkler vellykket installert</string>
63 <string name="reading_keys_failure">Feil ved lesing av krypteringsnøkler</string> 62 <string name="reading_keys_failure">Feil ved lesing av krypteringsnøkler</string>
63 <string name="install_prod_keys_failure_extension_description">Kontroller at nøkkelfilen har filtypen .keys, og prøv igjen.</string>
64 <string name="install_amiibo_keys_failure_extension_description">Kontroller at nøkkelfilen har filtypen .bin, og prøv igjen.</string>
64 <string name="invalid_keys_error">Ugyldige krypteringsnøkler</string> 65 <string name="invalid_keys_error">Ugyldige krypteringsnøkler</string>
65 <string name="dumping_keys_quickstart_link">https://yuzu-emu.org/help/quickstart/#dumping-decryption-keys</string> 66 <string name="dumping_keys_quickstart_link">https://yuzu-emu.org/help/quickstart/#dumping-decryption-keys</string>
66 <string name="install_keys_failure_description">Den valgte filen er feil eller ødelagt. Vennligst dump nøklene på nytt.</string> 67 <string name="install_keys_failure_description">Den valgte filen er feil eller ødelagt. Vennligst dump nøklene på nytt.</string>
@@ -86,7 +87,17 @@
86 <string name="save_file_invalid_zip_structure_description">Det første undermappenavnet må være spillets tittel-ID.</string> 87 <string name="save_file_invalid_zip_structure_description">Det første undermappenavnet må være spillets tittel-ID.</string>
87 <string name="import_saves">Importer</string> 88 <string name="import_saves">Importer</string>
88 <string name="export_saves">Eksporter</string> 89 <string name="export_saves">Eksporter</string>
89 90 <string name="install_firmware">Installer fastvare</string>
91 <string name="install_firmware_description">Fastvaren må være i et ZIP-arkiv og er nødvendig for å starte noen spill.</string>
92 <string name="firmware_installing">Installering av fastvare</string>
93 <string name="firmware_installed_success">Fastvaren er vellykket installert</string>
94 <string name="firmware_installed_failure">Installasjon av fastvare mislyktes</string>
95 <string name="share_log">Del feilsøkingslogger</string>
96 <string name="share_log_description">Del yuzus loggfil for å feilsøke problemer</string>
97 <string name="share_log_missing">Ingen loggfil funnet</string>
98 <string name="install_game_content">Installer spillinnhold</string>
99 <string name="install_game_content_description">Installer spilloppdateringer eller DLC</string>
100 <string name="install_game_content_help_link">https://yuzu-emu.org/help/quickstart/#dumping-installed-updates</string>
90 <!-- About screen strings --> 101 <!-- About screen strings -->
91 <string name="gaia_is_not_real">Gaia er ikke ekte</string> 102 <string name="gaia_is_not_real">Gaia er ikke ekte</string>
92 <string name="copied_to_clipboard">Kopiert til utklippstavlen</string> 103 <string name="copied_to_clipboard">Kopiert til utklippstavlen</string>
@@ -94,6 +105,7 @@
94 <string name="contributors">Bidragsytere</string> 105 <string name="contributors">Bidragsytere</string>
95 <string name="contributors_description">Laget med \u2764 fra yuzu-teamet</string> 106 <string name="contributors_description">Laget med \u2764 fra yuzu-teamet</string>
96 <string name="contributors_link">https://github.com/yuzu-emu/yuzu/graphs/contributors</string> 107 <string name="contributors_link">https://github.com/yuzu-emu/yuzu/graphs/contributors</string>
108 <string name="licenses_description">Prosjekter som gjør yuzu for Android mulig</string>
97 <string name="build">Bygg</string> 109 <string name="build">Bygg</string>
98 <string name="support_link">https://discord.gg/u77vRWY</string> 110 <string name="support_link">https://discord.gg/u77vRWY</string>
99 <string name="website_link">https://yuzu-emu.org/</string> 111 <string name="website_link">https://yuzu-emu.org/</string>
@@ -114,41 +126,43 @@
114 <string name="are_you_interested">Er du interessert?</string> 126 <string name="are_you_interested">Er du interessert?</string>
115 127
116 <!-- General settings strings --> 128 <!-- General settings strings -->
117 <string name="frame_limit_enable">Aktiver hastighetsbegrensning</string> 129 <string name="frame_limit_enable">Begrense hastigheten</string>
118 <string name="frame_limit_enable_description">NÃ¥r aktivert, begrenses emuleringshastigheten til en angitt prosentandel av normal hastighet.</string> 130 <string name="frame_limit_enable_description">Begrenser emuleringshastigheten til en spesifisert prosentandel av normal hastighet.</string>
119 <string name="frame_limit_slider">Hastighetsbegrensning i prosent</string> 131 <string name="frame_limit_slider">Hastighetsbegrensning i prosent</string>
120 <string name="frame_limit_slider_description">Angir prosentandelen som skal begrense emuleringshastigheten. Med standardverdien 100 % vil emuleringen være begrenset til normal hastighet. Høyere eller lavere verdier vil øke eller redusere hastighetsbegrensningen.</string> 132 <string name="frame_limit_slider_description">Angir prosentandelen som skal begrense emuleringshastigheten. 100 % er normal hastighet. Høyere eller lavere verdier vil øke eller redusere hastighetsgrensen.</string>
121 <string name="cpu_accuracy">CPU-nøyaktighet</string> 133 <string name="cpu_accuracy">CPU-nøyaktighet</string>
122
123 <!-- System settings strings --> 134 <!-- System settings strings -->
124 <string name="use_docked_mode">Dokket modus</string> 135 <string name="use_docked_mode">Dokket modus</string>
125 <string name="use_docked_mode_description">Emulerer i dokket modus, noe som øker oppløsningen på bekostning av ytelsen.</string> 136 <string name="use_docked_mode_description">Øker oppløsningen, men reduserer ytelsen. Håndholdt modus brukes når den er deaktivert, noe som reduserer oppløsningen og øker ytelsen.</string>
126 <string name="emulated_region">Emulert region</string> 137 <string name="emulated_region">Emulert region</string>
127 <string name="emulated_language">Emulert språk</string> 138 <string name="emulated_language">Emulert språk</string>
128 <string name="select_rtc_date">Velg RTC-dato</string> 139 <string name="select_rtc_date">Velg RTC-dato</string>
129 <string name="select_rtc_time">Velg RTC-tid</string> 140 <string name="select_rtc_time">Velg RTC-tid</string>
130 <string name="use_custom_rtc">Aktiver egendefinert RTC</string> 141 <string name="use_custom_rtc">Tilpasset Sannhetstidsklokke</string>
131 <string name="use_custom_rtc_description">Med denne innstillingen kan du stille inn en egendefinert sanntidsklokke som er atskilt fra gjeldende systemtid.</string> 142 <string name="use_custom_rtc_description">Gjør det mulig å stille inn en egendefinert sanntidsklokke separat fra den gjeldende systemtiden.</string>
132 <string name="set_custom_rtc">Angi egendefinert RTC</string> 143 <string name="set_custom_rtc">Angi tilpasset RTC</string>
133 144
134 <!-- Graphics settings strings --> 145 <!-- Graphics settings strings -->
135 <string name="renderer_api">API</string>
136 <string name="renderer_accuracy">Nøyaktighetsnivå</string> 146 <string name="renderer_accuracy">Nøyaktighetsnivå</string>
137 <string name="renderer_resolution">Oppløsning</string> 147 <string name="renderer_resolution">Oppløsning (håndholdt/dokket)</string>
138 <string name="renderer_vsync">VSync-modus</string> 148 <string name="renderer_vsync">VSync-modus</string>
139 <string name="renderer_aspect_ratio">Størrelsesforhold</string> 149 <string name="renderer_aspect_ratio">Størrelsesforhold</string>
140 <string name="renderer_scaling_filter">Filter for vindustilpasning</string> 150 <string name="renderer_scaling_filter">Filter for vindustilpasning</string>
141 <string name="renderer_anti_aliasing">Anti-Aliasing-metode</string> 151 <string name="renderer_anti_aliasing">Anti-aliasing-metode</string>
142 <string name="renderer_force_max_clock">Tving fram maksimal klokkefrekvens (kun Adreno)</string> 152 <string name="renderer_force_max_clock">Tving fram maksimal klokkefrekvens (kun Adreno)</string>
143 <string name="renderer_force_max_clock_description">Tvinger GPU-en til å kjøre med maksimal klokkefrekvens (termiske begrensninger vil fortsatt gjelde).</string> 153 <string name="renderer_force_max_clock_description">Tvinger GPU-en til å kjøre med maksimal klokkefrekvens (termiske begrensninger vil fortsatt gjelde).</string>
144 <string name="renderer_asynchronous_shaders">Bruk asynkrone shaders</string> 154 <string name="renderer_asynchronous_shaders">Bruk asynkrone shaders</string>
145 <string name="renderer_asynchronous_shaders_description">Kompilerer shaders asynkront, noe som reduserer hakkingen, men kan føre til feil.</string> 155 <string name="renderer_asynchronous_shaders_description">Kompilerer shaders asynkront, noe som reduserer hakking, men kan føre til feil.</string>
146 <string name="renderer_debug">Aktiver feilsøking av grafikk</string> 156 <string name="renderer_reactive_flushing">Bruk reaktiv spyling</string>
147 <string name="renderer_debug_description">Når dette er merket av, går grafikk-API-et inn i en langsommere feilsøkingsmodus.</string> 157 <string name="renderer_reactive_flushing_description">Forbedrer gjengivelsesnøyaktigheten i enkelte spill på bekostning av ytelsen.</string>
148 <string name="use_disk_shader_cache">Bruk disk shader-cache</string> 158 <string name="use_disk_shader_cache">Disk shader-hurtigbuffer</string>
149 <string name="use_disk_shader_cache_description">Reduser hakking ved å lagre og laste inn genererte shaders på disken.</string> 159 <string name="use_disk_shader_cache_description">Reduserer hakking ved å lagre og laste inn genererte shaders lokalt.</string>
150 160
151 <!-- Audio settings strings --> 161 <!-- Debug settings strings -->
162 <string name="cpu">CPU</string>
163 <string name="renderer_api">API</string>
164 <string name="renderer_debug">Feilsøking av grafikk</string>
165 <string name="renderer_debug_description">Setter grafikk-API-et til en langsom feilsøkingsmodus.</string>
152 <string name="audio_volume">Volum</string> 166 <string name="audio_volume">Volum</string>
153 <string name="audio_volume_description">Angir volumet på lydutgangen.</string> 167 <string name="audio_volume_description">Angir volumet på lydutgangen.</string>
154 168
@@ -164,14 +178,19 @@
164 <string name="reset_all_settings_description">Alle avanserte innstillinger tilbakestilles til standardkonfigurasjonen. Dette kan ikke angres.</string> 178 <string name="reset_all_settings_description">Alle avanserte innstillinger tilbakestilles til standardkonfigurasjonen. Dette kan ikke angres.</string>
165 <string name="settings_reset">Tilbakestilling av innstillinger</string> 179 <string name="settings_reset">Tilbakestilling av innstillinger</string>
166 <string name="close">Lukk</string> 180 <string name="close">Lukk</string>
167 <string name="learn_more">Lær Mer</string> 181 <string name="learn_more">Lær mer</string>
168 182 <string name="auto">Auto</string>
183 <string name="submit">Send inn</string>
184 <string name="string_null">Null</string>
185 <string name="string_import">Importer</string>
186 <string name="export">Eksporter</string>
169 <!-- GPU driver installation --> 187 <!-- GPU driver installation -->
170 <string name="select_gpu_driver">Velg GPU-driver</string> 188 <string name="select_gpu_driver">Velg GPU-driver</string>
171 <string name="select_gpu_driver_title">Ønsker du å bytte ut din nåværende GPU-driver?</string> 189 <string name="select_gpu_driver_title">Ønsker du å bytte ut din nåværende GPU-driver?</string>
172 <string name="select_gpu_driver_install">Installer</string> 190 <string name="select_gpu_driver_install">Installer</string>
173 <string name="select_gpu_driver_default">Standard</string> 191 <string name="select_gpu_driver_default">Standard</string>
174 <string name="select_gpu_driver_use_default">Bruk av standard GPU-driver</string> 192 <string name="select_gpu_driver_use_default">Bruk av standard GPU-driver</string>
193 <string name="select_gpu_driver_error">Ugyldig driver valgt, bruker systemstandard!</string>
175 <string name="system_gpu_driver">Systemets GPU-driver</string> 194 <string name="system_gpu_driver">Systemets GPU-driver</string>
176 <string name="installing_driver">Installerer driver...</string> 195 <string name="installing_driver">Installerer driver...</string>
177 196
@@ -182,10 +201,10 @@
182 <string name="preferences_graphics">Grafikk</string> 201 <string name="preferences_graphics">Grafikk</string>
183 <string name="preferences_audio">Lyd</string> 202 <string name="preferences_audio">Lyd</string>
184 <string name="preferences_theme">Tema og farge</string> 203 <string name="preferences_theme">Tema og farge</string>
204 <string name="preferences_debug">Feilsøk</string>
185 205
186 <!-- ROM loading errors --> 206 <!-- ROM loading errors -->
187 <string name="loader_error_encrypted">ROM-en din er kryptert</string> 207 <string name="loader_error_encrypted">ROM-en din er kryptert</string>
188 <string name="loader_error_encrypted_roms_description"><![CDATA[Følg veiledningene for å redumpe dine <a href=\"https://yuzu-emu.org/help/quickstart/#dumping-cartridge-games\">spillkassetter</a> eller <a href=\"https://yuzu-emu.org/help/quickstart/#dumping-installed-titles-eshop\">installerte titler</a>.]]></string>
189 <string name="loader_error_encrypted_keys_description"><![CDATA[Vennligst sørg for at <a href=\"https://yuzu-emu.org/help/quickstart/#dumping-prodkeys-and-titlekeys\">prod.keys</a> filen er installert slik at spillene kan dekrypteres.]]></string> 208 <string name="loader_error_encrypted_keys_description"><![CDATA[Vennligst sørg for at <a href=\"https://yuzu-emu.org/help/quickstart/#dumping-prodkeys-and-titlekeys\">prod.keys</a> filen er installert slik at spillene kan dekrypteres.]]></string>
190 <string name="loader_error_video_core">Det oppstod en feil ved initialisering av videokjernen</string> 209 <string name="loader_error_video_core">Det oppstod en feil ved initialisering av videokjernen</string>
191 <string name="loader_error_video_core_description">Dette skyldes vanligvis en inkompatibel GPU-driver. Installering av en tilpasset GPU-driver kan løse problemet.</string> 210 <string name="loader_error_video_core_description">Dette skyldes vanligvis en inkompatibel GPU-driver. Installering av en tilpasset GPU-driver kan løse problemet.</string>
@@ -196,25 +215,25 @@
196 <string name="emulation_exit">Avslutt emulering</string> 215 <string name="emulation_exit">Avslutt emulering</string>
197 <string name="emulation_done">Ferdig</string> 216 <string name="emulation_done">Ferdig</string>
198 <string name="emulation_fps_counter">FPS-teller</string> 217 <string name="emulation_fps_counter">FPS-teller</string>
199 <string name="emulation_toggle_controls">Veksle kontroller</string> 218 <string name="emulation_toggle_controls">Veksle mellom kontrollene</string>
200 <string name="emulation_rel_stick_center">Relativt senter for stikken</string> 219 <string name="emulation_rel_stick_center">Relativt pinnesenter</string>
201 <string name="emulation_dpad_slide">DPad-skyveplate</string> 220 <string name="emulation_dpad_slide">D-pad-skyving</string>
202 <string name="emulation_haptics">Haptikk</string> 221 <string name="emulation_haptics">Berøringshaptikk</string>
203 <string name="emulation_show_overlay">Vis overlegg</string> 222 <string name="emulation_show_overlay">Vis overlegg</string>
204 <string name="emulation_toggle_all">Slå av alt</string> 223 <string name="emulation_toggle_all">Veksle mellom alle</string>
205 <string name="emulation_control_adjust">Juster overlegg</string> 224 <string name="emulation_control_adjust">Juster overlegg</string>
206 <string name="emulation_control_scale">Skaler</string> 225 <string name="emulation_control_scale">Skaler</string>
207 <string name="emulation_control_opacity">Gjennomsiktighet</string> 226 <string name="emulation_control_opacity">Gjennomsiktighet</string>
208 <string name="emulation_touch_overlay_reset">Tilbakestill overlegg</string> 227 <string name="emulation_touch_overlay_reset">Tilbakestill overlegg</string>
209 <string name="emulation_touch_overlay_edit">Rediger overlegg</string> 228 <string name="emulation_touch_overlay_edit">Rediger overlegg</string>
210 <string name="emulation_pause">Pause Emulering</string> 229 <string name="emulation_pause">Pause emulering</string>
211 <string name="emulation_unpause">Opphev pausing av emulering</string> 230 <string name="emulation_unpause">Ta emuleringen ut av pause</string>
212 <string name="emulation_input_overlay">Alternativer for overlegg</string> 231 <string name="emulation_input_overlay">Overlay-alternativer</string>
213 232
214 <string name="load_settings">Laster inn innstillinger...</string> 233 <string name="load_settings">Laster inn innstillinger...</string>
215 234
216 <!-- Software keyboard --> 235 <!-- Software keyboard -->
217 <string name="software_keyboard">Programvare Tastatur</string> 236 <string name="software_keyboard">Programvaretastatur</string>
218 237
219 <!-- Errors and warnings --> 238 <!-- Errors and warnings -->
220 <string name="abort_button">Avbryt</string> 239 <string name="abort_button">Avbryt</string>
@@ -226,7 +245,6 @@
226 <string name="fatal_error">Fatal Feil</string> 245 <string name="fatal_error">Fatal Feil</string>
227 <string name="fatal_error_message">Det oppstod en fatal feil. Sjekk loggen for mer informasjon.\nFortsatt emulering kan føre til krasj og feil.</string> 246 <string name="fatal_error_message">Det oppstod en fatal feil. Sjekk loggen for mer informasjon.\nFortsatt emulering kan føre til krasj og feil.</string>
228 <string name="performance_warning">Hvis du slår av denne innstillingen, reduseres emuleringsytelsen betydelig! Vi anbefaler at du lar denne innstillingen være aktivert for å få den beste opplevelsen.</string> 247 <string name="performance_warning">Hvis du slår av denne innstillingen, reduseres emuleringsytelsen betydelig! Vi anbefaler at du lar denne innstillingen være aktivert for å få den beste opplevelsen.</string>
229
230 <!-- Region Names --> 248 <!-- Region Names -->
231 <string name="region_japan">Japan</string> 249 <string name="region_japan">Japan</string>
232 <string name="region_usa">USA</string> 250 <string name="region_usa">USA</string>
@@ -236,8 +254,7 @@
236 <string name="region_korea">Korea</string> 254 <string name="region_korea">Korea</string>
237 <string name="region_taiwan">Taiwan</string> 255 <string name="region_taiwan">Taiwan</string>
238 256
239 <!-- Language Names --> 257 <string name="memory_gigabyte">GB</string>
240
241 <!-- Renderer APIs --> 258 <!-- Renderer APIs -->
242 <string name="renderer_vulkan">Vulkan</string> 259 <string name="renderer_vulkan">Vulkan</string>
243 <string name="renderer_none">Ingen</string> 260 <string name="renderer_none">Ingen</string>
@@ -274,12 +291,14 @@
274 <string name="anti_aliasing_fxaa">FXAA</string> 291 <string name="anti_aliasing_fxaa">FXAA</string>
275 <string name="anti_aliasing_smaa">SMAA</string> 292 <string name="anti_aliasing_smaa">SMAA</string>
276 293
294 <string name="screen_layout_auto">Auto</string>
295
277 <!-- Aspect Ratios --> 296 <!-- Aspect Ratios -->
278 <string name="ratio_default">Standard (16:9)</string> 297 <string name="ratio_default">Standard (16:9)</string>
279 <string name="ratio_force_four_three">Tving 4:3</string> 298 <string name="ratio_force_four_three">Tving 4:3</string>
280 <string name="ratio_force_twenty_one_nine">Tving 21:9</string> 299 <string name="ratio_force_twenty_one_nine">Tving 21:9</string>
281 <string name="ratio_force_sixteen_ten">Tving 16:10</string> 300 <string name="ratio_force_sixteen_ten">Tving 16:10</string>
282 <string name="ratio_stretch">Strekk til Vindu</string> 301 <string name="ratio_stretch">Strekk til vindu</string>
283 302
284 <!-- CPU Accuracy --> 303 <!-- CPU Accuracy -->
285 <string name="cpu_accuracy_accurate">Nøyaktig</string> 304 <string name="cpu_accuracy_accurate">Nøyaktig</string>
@@ -287,9 +306,9 @@
287 <string name="cpu_accuracy_paranoid">Paranoid (Langsom)</string> 306 <string name="cpu_accuracy_paranoid">Paranoid (Langsom)</string>
288 307
289 <!-- Gamepad Buttons --> 308 <!-- Gamepad Buttons -->
290 <string name="gamepad_d_pad">D-Pad</string> 309 <string name="gamepad_d_pad">D-pad</string>
291 <string name="gamepad_left_stick">Venstre Pinne</string> 310 <string name="gamepad_left_stick">Venstre spak</string>
292 <string name="gamepad_right_stick">Høyre Pinne</string> 311 <string name="gamepad_right_stick">Høyre spak</string>
293 <string name="gamepad_home">Hjem</string> 312 <string name="gamepad_home">Hjem</string>
294 <string name="gamepad_screenshot">Skjermbilde</string> 313 <string name="gamepad_screenshot">Skjermbilde</string>
295 314
@@ -298,7 +317,7 @@
298 <string name="building_shaders">Bygging av shaders</string> 317 <string name="building_shaders">Bygging av shaders</string>
299 318
300 <!-- Theme options --> 319 <!-- Theme options -->
301 <string name="change_app_theme">Endre appens tema</string> 320 <string name="change_app_theme">Endre app-tema</string>
302 <string name="theme_default">Standard</string> 321 <string name="theme_default">Standard</string>
303 <string name="theme_material_you">Material You</string> 322 <string name="theme_material_you">Material You</string>
304 323
@@ -309,7 +328,13 @@
309 <string name="theme_mode_dark">Mørk</string> 328 <string name="theme_mode_dark">Mørk</string>
310 329
311 <!-- Black backgrounds theme --> 330 <!-- Black backgrounds theme -->
312 <string name="use_black_backgrounds">Bruk svart bakgrunn</string> 331 <string name="use_black_backgrounds">Svart bakgrunn</string>
313 <string name="use_black_backgrounds_description">Bruk svart bakgrunn når du bruker det mørke temaet.</string> 332 <string name="use_black_backgrounds_description">Bruk svart bakgrunn når du bruker det mørke temaet.</string>
314 333
315</resources> 334 <string name="mute">Lydløs</string>
335 <string name="unmute">Slå på lyden</string>
336
337 <!-- Licenses screen strings -->
338 <string name="licenses">Lisenser</string>
339 <string name="license_fidelityfx_fsr_description">Oppskalering av høy kvalitet fra AMD</string>
340 </resources>
diff --git a/src/android/app/src/main/res/values-pl/strings.xml b/src/android/app/src/main/res/values-pl/strings.xml
index 899e233d0..f4d9920c2 100644
--- a/src/android/app/src/main/res/values-pl/strings.xml
+++ b/src/android/app/src/main/res/values-pl/strings.xml
@@ -1,5 +1,5 @@
1<?xml version="1.0" encoding="utf-8"?> 1<?xml version="1.0" encoding="utf-8"?>
2<resources> 2<resources xmlns:tools="http://schemas.android.com/tools" tools:ignore="MissingTranslation">
3 3
4 <string name="app_disclaimer">To oprogramowanie umożliwia uruchomienie gier z konsoli Nintendo Switch. Nie zawiera gier ani wymaganych kluczy.&lt;br /&gt;&lt;br /&gt;Zanim zaczniesz, wybierz plik kluczy <![CDATA[<b> prod.keys </b>]]> z katalogu w pamięci masowej.&lt;br /&gt;&lt;br /&gt;<![CDATA[<a href=\"https://yuzu-emu.org/help/quickstart\">Dowiedz się więcej</a>]]></string> 4 <string name="app_disclaimer">To oprogramowanie umożliwia uruchomienie gier z konsoli Nintendo Switch. Nie zawiera gier ani wymaganych kluczy.&lt;br /&gt;&lt;br /&gt;Zanim zaczniesz, wybierz plik kluczy <![CDATA[<b> prod.keys </b>]]> z katalogu w pamięci masowej.&lt;br /&gt;&lt;br /&gt;<![CDATA[<a href=\"https://yuzu-emu.org/help/quickstart\">Dowiedz się więcej</a>]]></string>
5 <string name="emulation_notification_channel_name">Emulacja jest uruchomiona</string> 5 <string name="emulation_notification_channel_name">Emulacja jest uruchomiona</string>
@@ -25,7 +25,6 @@
25 <string name="back">Wstecz</string> 25 <string name="back">Wstecz</string>
26 <string name="add_games">Dodaj gry</string> 26 <string name="add_games">Dodaj gry</string>
27 <string name="add_games_description">Wybierz folder zawierajÄ…cy Twoje gry</string> 27 <string name="add_games_description">Wybierz folder zawierajÄ…cy Twoje gry</string>
28
29 <!-- Home strings --> 28 <!-- Home strings -->
30 <string name="home_games">Gry</string> 29 <string name="home_games">Gry</string>
31 <string name="home_search">Szukaj</string> 30 <string name="home_search">Szukaj</string>
@@ -61,6 +60,8 @@
61 <string name="invalid_keys_file">Wybrano niepoprawne klucze</string> 60 <string name="invalid_keys_file">Wybrano niepoprawne klucze</string>
62 <string name="install_keys_success">Klucze zainstalowane pomyślnie</string> 61 <string name="install_keys_success">Klucze zainstalowane pomyślnie</string>
63 <string name="reading_keys_failure">Błąd podczas odczytu kluczy</string> 62 <string name="reading_keys_failure">Błąd podczas odczytu kluczy</string>
63 <string name="install_prod_keys_failure_extension_description">Upewnij się że twoje klucze mają rozszerzenie .keys i spróbuj ponownie.</string>
64 <string name="install_amiibo_keys_failure_extension_description">Upewnij się że twoje klucze mają rozszerzenie .bin i spróbuj ponownie.</string>
64 <string name="invalid_keys_error">Niepoprawne klucze</string> 65 <string name="invalid_keys_error">Niepoprawne klucze</string>
65 <string name="dumping_keys_quickstart_link">https://yuzu-emu.org/help/quickstart/#dumping-decryption-keys</string> 66 <string name="dumping_keys_quickstart_link">https://yuzu-emu.org/help/quickstart/#dumping-decryption-keys</string>
66 <string name="install_keys_failure_description">Wybrany plik jest niepoprawny lub uszkodzony. Zrzuć ponownie swoje klucze.</string> 67 <string name="install_keys_failure_description">Wybrany plik jest niepoprawny lub uszkodzony. Zrzuć ponownie swoje klucze.</string>
@@ -86,7 +87,17 @@
86 <string name="save_file_invalid_zip_structure_description">Pierwszy podkatalog musi zawierać w nazwie numer ID tytułu gry.</string> 87 <string name="save_file_invalid_zip_structure_description">Pierwszy podkatalog musi zawierać w nazwie numer ID tytułu gry.</string>
87 <string name="import_saves">Importuj</string> 88 <string name="import_saves">Importuj</string>
88 <string name="export_saves">Eksportuj</string> 89 <string name="export_saves">Eksportuj</string>
89 90 <string name="install_firmware">Zainstaluj firmware</string>
91 <string name="install_firmware_description">Firmware musi być w postaci archiwum ZIP, niektóre gry wymagają go do uruchomienia/prawidłowego działania</string>
92 <string name="firmware_installing">InstalujÄ™ firmware</string>
93 <string name="firmware_installed_success">Zainstalowano pomyślnie</string>
94 <string name="firmware_installed_failure">Błąd podczas instalacji firmware</string>
95 <string name="share_log">Udostępnij logi debugowania</string>
96 <string name="share_log_description">Podziel się logami yuzu, pomoże to twórcom w poprawie działania emulatora</string>
97 <string name="share_log_missing">Nie znaleziono plików logów</string>
98 <string name="install_game_content">Zainstaluj zawartość gry</string>
99 <string name="install_game_content_description">Zainstaluj aktualizacjÄ™ gry lub dodatek DLC</string>
100 <string name="install_game_content_help_link">https://yuzu-emu.org/help/quickstart/#dumping-installed-updates</string>
90 <!-- About screen strings --> 101 <!-- About screen strings -->
91 <string name="gaia_is_not_real">Gaia isn\'t real</string> 102 <string name="gaia_is_not_real">Gaia isn\'t real</string>
92 <string name="copied_to_clipboard">Skopiowano do schowka</string> 103 <string name="copied_to_clipboard">Skopiowano do schowka</string>
@@ -94,6 +105,7 @@
94 <string name="contributors">Współtwórcy</string> 105 <string name="contributors">Współtwórcy</string>
95 <string name="contributors_description">Stworzone z \u2764 przez zespół yuzu</string> 106 <string name="contributors_description">Stworzone z \u2764 przez zespół yuzu</string>
96 <string name="contributors_link">https://github.com/yuzu-emu/yuzu/graphs/contributors</string> 107 <string name="contributors_link">https://github.com/yuzu-emu/yuzu/graphs/contributors</string>
108 <string name="licenses_description">Projekty dzięki którym yuzu mógł zostać stworzony</string>
97 <string name="build">Wersja</string> 109 <string name="build">Wersja</string>
98 <string name="support_link">https://discord.gg/u77vRWY</string> 110 <string name="support_link">https://discord.gg/u77vRWY</string>
99 <string name="website_link">https://yuzu-emu.org/</string> 111 <string name="website_link">https://yuzu-emu.org/</string>
@@ -114,27 +126,25 @@
114 <string name="are_you_interested">JesteÅ› zainteresowany?</string> 126 <string name="are_you_interested">JesteÅ› zainteresowany?</string>
115 127
116 <!-- General settings strings --> 128 <!-- General settings strings -->
117 <string name="frame_limit_enable">Włącz limit szybkości emulacji</string> 129 <string name="frame_limit_enable">Limit szybkość</string>
118 <string name="frame_limit_enable_description">Włącz, aby ustawić procentowy limit szybkości emulacji</string> 130 <string name="frame_limit_enable_description">Włącz, aby ustawić procentowy limit szybkości emulacji</string>
119 <string name="frame_limit_slider">Procentowy limit szybkości emulacji</string> 131 <string name="frame_limit_slider">Procentowy limit szybkości emulacji</string>
120 <string name="frame_limit_slider_description">Określa limit szybkości emulacji gier. Domyślna wartość 100% oznacza normalną szybkość z jaką działa gra. Wartości niższe lub wyższe zmniejszą lub zwiększą limit szybkości.</string> 132 <string name="frame_limit_slider_description">Określa limit szybkości emulacji gier. Domyślna wartość 100% oznacza normalną szybkość z jaką działa gra. Wartości niższe lub wyższe zmniejszą lub zwiększą limit szybkości.</string>
121 <string name="cpu_accuracy">Dokładność procesora CPU</string> 133 <string name="cpu_accuracy">Dokładność procesora CPU</string>
122
123 <!-- System settings strings --> 134 <!-- System settings strings -->
124 <string name="use_docked_mode">Tryb zadokowany</string> 135 <string name="use_docked_mode">Tryb zadokowany</string>
125 <string name="use_docked_mode_description">Emulacja w trybie stacji dokującej, zwiększa rozdzielczość kosztem wydajności.</string> 136 <string name="use_docked_mode_description">Zwiększa rozdzielczość kosztem wydajności. Kiedy wyłączone, używany jest tryb Handheld, który obniża rozdzielczość i dzięki temu zwiększa wydajność.</string>
126 <string name="emulated_region">Region emulacji</string> 137 <string name="emulated_region">Region emulacji</string>
127 <string name="emulated_language">Język emulacji</string> 138 <string name="emulated_language">Język emulacji</string>
128 <string name="select_rtc_date">Ustaw datÄ™ RTC</string> 139 <string name="select_rtc_date">Ustaw datÄ™ RTC</string>
129 <string name="select_rtc_time">Ustaw czas RTC</string> 140 <string name="select_rtc_time">Ustaw czas RTC</string>
130 <string name="use_custom_rtc">Włącz niestandardowy zegar RTC</string> 141 <string name="use_custom_rtc">Niestandardowy RTC</string>
131 <string name="use_custom_rtc_description">Ta opcja pozwala na wybranie własnych ustawień czasu używanych w czasie emulacji, innych niż czas systemu Android.</string> 142 <string name="use_custom_rtc_description">Ta opcja pozwala na wybranie własnych ustawień czasu używanych w czasie emulacji, innych niż czas systemu Android.</string>
132 <string name="set_custom_rtc">Ustaw niestandardowy czas RTC</string> 143 <string name="set_custom_rtc">Ustaw niestandardowy czas RTC</string>
133 144
134 <!-- Graphics settings strings --> 145 <!-- Graphics settings strings -->
135 <string name="renderer_api">Interfejs graficzny</string>
136 <string name="renderer_accuracy">Poziom precyzji emulacji</string> 146 <string name="renderer_accuracy">Poziom precyzji emulacji</string>
137 <string name="renderer_resolution">Rozdzielczość</string> 147 <string name="renderer_resolution">Rozdzielczość (Handheld/Zadokowany)</string>
138 <string name="renderer_vsync">Synchronizacja pionowa VSync</string> 148 <string name="renderer_vsync">Synchronizacja pionowa VSync</string>
139 <string name="renderer_aspect_ratio">Proporcje ekranu</string> 149 <string name="renderer_aspect_ratio">Proporcje ekranu</string>
140 <string name="renderer_scaling_filter">Filtr adaptacji rozdzielczości</string> 150 <string name="renderer_scaling_filter">Filtr adaptacji rozdzielczości</string>
@@ -143,12 +153,16 @@
143 <string name="renderer_force_max_clock_description">Wymusza uruchomienie maksymalnego taktowania układu graficznego (zabezpieczenia termiczne będą dalej aktywne).</string> 153 <string name="renderer_force_max_clock_description">Wymusza uruchomienie maksymalnego taktowania układu graficznego (zabezpieczenia termiczne będą dalej aktywne).</string>
144 <string name="renderer_asynchronous_shaders">Wyłącz synchronizację shaderów</string> 154 <string name="renderer_asynchronous_shaders">Wyłącz synchronizację shaderów</string>
145 <string name="renderer_asynchronous_shaders_description">Kompiluj oświetlenie bez synchronizacji, poprawi wydajność ale może powodować błędy.</string> 155 <string name="renderer_asynchronous_shaders_description">Kompiluj oświetlenie bez synchronizacji, poprawi wydajność ale może powodować błędy.</string>
146 <string name="renderer_debug">Włącz debugowanie grafiki</string> 156 <string name="renderer_reactive_flushing">Użyj spłukiwania reaktywnego - reactive flushing</string>
147 <string name="renderer_debug_description">Kiedy włączone, interfejs graficzny korzysta z wolnego trybu debugowania błędów.</string> 157 <string name="renderer_reactive_flushing_description">Poprawia jakość renderowania w kilku grach, kosztem wydajności.</string>
148 <string name="use_disk_shader_cache">Użyj pamięci podręcznej shaderów na dysku</string> 158 <string name="use_disk_shader_cache">Pamięć podręczna shaderów</string>
149 <string name="use_disk_shader_cache_description">Zmniejsza przycięcia przez przechowywanie gotowych wygenerowanych plików oświetlenia w pamięci urządzenia.</string> 159 <string name="use_disk_shader_cache_description">Zmniejsza przycięcia przez przechowywanie gotowych wygenerowanych plików oświetlenia w pamięci urządzenia.</string>
150 160
151 <!-- Audio settings strings --> 161 <!-- Debug settings strings -->
162 <string name="cpu">CPU</string>
163 <string name="renderer_api">Interfejs graficzny</string>
164 <string name="renderer_debug">Debugowanie grafiki</string>
165 <string name="renderer_debug_description">Kiedy włączone, interfejs graficzny korzysta z wolnego trybu debugowania błędów.</string>
152 <string name="audio_volume">Głośność</string> 166 <string name="audio_volume">Głośność</string>
153 <string name="audio_volume_description">Ustala poziom głośności wyjścia dźwięku.</string> 167 <string name="audio_volume_description">Ustala poziom głośności wyjścia dźwięku.</string>
154 168
@@ -161,17 +175,21 @@
161 <string name="reset_setting_confirmation">Przywrócić wartość tego ustawienia do wartości domyślnej?</string> 175 <string name="reset_setting_confirmation">Przywrócić wartość tego ustawienia do wartości domyślnej?</string>
162 <string name="reset_to_default">Przywróć ustawienia domyślne</string> 176 <string name="reset_to_default">Przywróć ustawienia domyślne</string>
163 <string name="reset_all_settings">Przywrócić WSZYSTKIE ustawienia?</string> 177 <string name="reset_all_settings">Przywrócić WSZYSTKIE ustawienia?</string>
164 <string name="reset_all_settings_description">Wszystkie zaawansowane opcje zostaną przywrócone do wartości domyślnych. Czynności nie będzie można cofnąć.</string> 178 <string name="reset_all_settings_description">Wszystkie zaawansowane opcje zostaną przywrócone do wartości domyślnych. Czynności nie będzie można cofnąć</string>
165 <string name="settings_reset">Reset ustawień</string> 179 <string name="settings_reset">Reset ustawień</string>
166 <string name="close">Zamknij</string> 180 <string name="close">Zamknij</string>
167 <string name="learn_more">Dowiedz się więcej</string> 181 <string name="learn_more">Dowiedz się więcej</string>
168 182 <string name="auto">Automatyczny</string>
183 <string name="submit">Zatwierdź</string>
184 <string name="string_import">Importuj</string>
185 <string name="export">Eksportuj</string>
169 <!-- GPU driver installation --> 186 <!-- GPU driver installation -->
170 <string name="select_gpu_driver">Wybierz sterownik GPU </string> 187 <string name="select_gpu_driver">Wybierz sterownik GPU </string>
171 <string name="select_gpu_driver_title">Chcesz zastąpić obecny sterownik układu graficznego?</string> 188 <string name="select_gpu_driver_title">Chcesz zastąpić obecny sterownik układu graficznego?</string>
172 <string name="select_gpu_driver_install">Zainstaluj</string> 189 <string name="select_gpu_driver_install">Zainstaluj</string>
173 <string name="select_gpu_driver_default">Domyślne</string> 190 <string name="select_gpu_driver_default">Domyślne</string>
174 <string name="select_gpu_driver_use_default">Aktywny domyślny sterownik GPU</string> 191 <string name="select_gpu_driver_use_default">Aktywny domyślny sterownik GPU</string>
192 <string name="select_gpu_driver_error">Wybrano błędny sterownik, powrót do domyślnego. </string>
175 <string name="system_gpu_driver">Systemowy sterownik GPU</string> 193 <string name="system_gpu_driver">Systemowy sterownik GPU</string>
176 <string name="installing_driver">Instalowanie sterownika...</string> 194 <string name="installing_driver">Instalowanie sterownika...</string>
177 195
@@ -182,10 +200,10 @@
182 <string name="preferences_graphics">Grafika</string> 200 <string name="preferences_graphics">Grafika</string>
183 <string name="preferences_audio">Dźwięk</string> 201 <string name="preferences_audio">Dźwięk</string>
184 <string name="preferences_theme">Motyw i kolor</string> 202 <string name="preferences_theme">Motyw i kolor</string>
203 <string name="preferences_debug">Debug</string>
185 204
186 <!-- ROM loading errors --> 205 <!-- ROM loading errors -->
187 <string name="loader_error_encrypted">Twój ROM jest zakodowany</string> 206 <string name="loader_error_encrypted">Twój ROM jest zakodowany</string>
188 <string name="loader_error_encrypted_roms_description"><![CDATA[Użyj przewodnika aby wykonać zrzuty <a href=\"https://yuzu-emu.org/help/quickstart/#dumping-cartridge-games\">kardridży</a> lub <a href=\"https://yuzu-emu.org/help/quickstart/#dumping-installed-titles-eshop\">zainstalowanych gier</a>.]]></string>
189 <string name="loader_error_encrypted_keys_description"><![CDATA[Upewnij się że plik kluczy <a href=\"https://yuzu-emu.org/help/quickstart/#dumping-prodkeys-and-titlekeys\">prod.keys</a> jest zainstalowany aby gry mogły zostać odczytane.]]></string> 207 <string name="loader_error_encrypted_keys_description"><![CDATA[Upewnij się że plik kluczy <a href=\"https://yuzu-emu.org/help/quickstart/#dumping-prodkeys-and-titlekeys\">prod.keys</a> jest zainstalowany aby gry mogły zostać odczytane.]]></string>
190 <string name="loader_error_video_core">Błąd inicjacji podsystemu graficznego</string> 208 <string name="loader_error_video_core">Błąd inicjacji podsystemu graficznego</string>
191 <string name="loader_error_video_core_description">Zazwyczaj spowodowane niekompatybilnym sterownikiem GPU, instalacja niestandardowego sterownika może rozwiązać ten problem.</string> 209 <string name="loader_error_video_core_description">Zazwyczaj spowodowane niekompatybilnym sterownikiem GPU, instalacja niestandardowego sterownika może rozwiązać ten problem.</string>
@@ -198,23 +216,23 @@
198 <string name="emulation_fps_counter">Licznik FPS</string> 216 <string name="emulation_fps_counter">Licznik FPS</string>
199 <string name="emulation_toggle_controls">Wybierz przyciski</string> 217 <string name="emulation_toggle_controls">Wybierz przyciski</string>
200 <string name="emulation_rel_stick_center">Wycentruj gałki</string> 218 <string name="emulation_rel_stick_center">Wycentruj gałki</string>
201 <string name="emulation_dpad_slide">Ruchomy DPad</string> 219 <string name="emulation_dpad_slide">Ruchomy D-pad</string>
202 <string name="emulation_haptics">Wibracje haptyczne</string> 220 <string name="emulation_haptics">Wibracje haptyczne</string>
203 <string name="emulation_show_overlay">Pokaż przyciski</string> 221 <string name="emulation_show_overlay">Pokaż przyciski</string>
204 <string name="emulation_toggle_all">Zaznacz wszystkie</string> 222 <string name="emulation_toggle_all">Włącz wszystkie</string>
205 <string name="emulation_control_adjust">Dostosuj nakładkę</string> 223 <string name="emulation_control_adjust">Dostosuj nakładkę</string>
206 <string name="emulation_control_scale">Skala</string> 224 <string name="emulation_control_scale">Skala</string>
207 <string name="emulation_control_opacity">Przeźroczystość</string> 225 <string name="emulation_control_opacity">Przeźroczystość</string>
208 <string name="emulation_touch_overlay_reset">Resetuj</string> 226 <string name="emulation_touch_overlay_reset">Resetuj nakładkę</string>
209 <string name="emulation_touch_overlay_edit">Edytuj nakładkę</string> 227 <string name="emulation_touch_overlay_edit">Edytuj nakładkę</string>
210 <string name="emulation_pause">Wstrzymaj emulacjÄ™</string> 228 <string name="emulation_pause">Wstrzymaj emulacjÄ™</string>
211 <string name="emulation_unpause">Wznów emulację</string> 229 <string name="emulation_unpause">Wznów emulację</string>
212 <string name="emulation_input_overlay">Opcje nakładki</string> 230 <string name="emulation_input_overlay">Opcje nakładki</string>
213 231
214 <string name="load_settings">Wczytywanie ustawień...</string> 232 <string name="load_settings">Wczytuję ustawienia...</string>
215 233
216 <!-- Software keyboard --> 234 <!-- Software keyboard -->
217 <string name="software_keyboard">Klawiatura systemowa</string> 235 <string name="software_keyboard">Klawiatura programowa</string>
218 236
219 <!-- Errors and warnings --> 237 <!-- Errors and warnings -->
220 <string name="abort_button">Przerwij</string> 238 <string name="abort_button">Przerwij</string>
@@ -226,7 +244,6 @@
226 <string name="fatal_error">Błąd krytyczny</string> 244 <string name="fatal_error">Błąd krytyczny</string>
227 <string name="fatal_error_message">Wystąpił błąd krytyczny. Szczegóły znajdziesz w pliku log.\nKontynuowanie może spowodować błędy lub przerwanie emulacji. </string> 245 <string name="fatal_error_message">Wystąpił błąd krytyczny. Szczegóły znajdziesz w pliku log.\nKontynuowanie może spowodować błędy lub przerwanie emulacji. </string>
228 <string name="performance_warning">Wyłączenie tej opcji znacząco ograniczy wydajność! Dla najlepszego doświadczenia, zaleca się zostawienie tej opcji włączonej.</string> 246 <string name="performance_warning">Wyłączenie tej opcji znacząco ograniczy wydajność! Dla najlepszego doświadczenia, zaleca się zostawienie tej opcji włączonej.</string>
229
230 <!-- Region Names --> 247 <!-- Region Names -->
231 <string name="region_japan">Japonia</string> 248 <string name="region_japan">Japonia</string>
232 <string name="region_usa">USA</string> 249 <string name="region_usa">USA</string>
@@ -236,8 +253,7 @@
236 <string name="region_korea">Korea</string> 253 <string name="region_korea">Korea</string>
237 <string name="region_taiwan">Tajwan</string> 254 <string name="region_taiwan">Tajwan</string>
238 255
239 <!-- Language Names --> 256 <string name="memory_gigabyte">GB</string>
240
241 <!-- Renderer APIs --> 257 <!-- Renderer APIs -->
242 <string name="renderer_vulkan">Vulkan</string> 258 <string name="renderer_vulkan">Vulkan</string>
243 <string name="renderer_none">Żadny</string> 259 <string name="renderer_none">Żadny</string>
@@ -274,12 +290,14 @@
274 <string name="anti_aliasing_fxaa">FXAA</string> 290 <string name="anti_aliasing_fxaa">FXAA</string>
275 <string name="anti_aliasing_smaa">SMAA</string> 291 <string name="anti_aliasing_smaa">SMAA</string>
276 292
293 <string name="screen_layout_auto">Automatyczny</string>
294
277 <!-- Aspect Ratios --> 295 <!-- Aspect Ratios -->
278 <string name="ratio_default">Domyślne (16:9)</string> 296 <string name="ratio_default">Domyślne (16:9)</string>
279 <string name="ratio_force_four_three">WymuÅ› 4:3</string> 297 <string name="ratio_force_four_three">WymuÅ› 4:3</string>
280 <string name="ratio_force_twenty_one_nine">WymuÅ› 21:9</string> 298 <string name="ratio_force_twenty_one_nine">WymuÅ› 21:9</string>
281 <string name="ratio_force_sixteen_ten">WymuÅ› 16:10</string> 299 <string name="ratio_force_sixteen_ten">WymuÅ› 16:10</string>
282 <string name="ratio_stretch">RozciÄ…gnij do Okna</string> 300 <string name="ratio_stretch">RozciÄ…gnij do okna</string>
283 301
284 <!-- CPU Accuracy --> 302 <!-- CPU Accuracy -->
285 <string name="cpu_accuracy_accurate">Dokładny</string> 303 <string name="cpu_accuracy_accurate">Dokładny</string>
@@ -287,7 +305,7 @@
287 <string name="cpu_accuracy_paranoid">Paranoid (Wolny)</string> 305 <string name="cpu_accuracy_paranoid">Paranoid (Wolny)</string>
288 306
289 <!-- Gamepad Buttons --> 307 <!-- Gamepad Buttons -->
290 <string name="gamepad_d_pad">D-Pad</string> 308 <string name="gamepad_d_pad">D-pad</string>
291 <string name="gamepad_left_stick">Lewa gałka</string> 309 <string name="gamepad_left_stick">Lewa gałka</string>
292 <string name="gamepad_right_stick">Prawa gałka</string> 310 <string name="gamepad_right_stick">Prawa gałka</string>
293 <string name="gamepad_home">Home</string> 311 <string name="gamepad_home">Home</string>
@@ -298,18 +316,21 @@
298 <string name="building_shaders">Budowanie shaderów</string> 316 <string name="building_shaders">Budowanie shaderów</string>
299 317
300 <!-- Theme options --> 318 <!-- Theme options -->
301 <string name="change_app_theme">Zmień motyw aplikacji</string> 319 <string name="change_app_theme">Ustaw motyw aplikacji</string>
302 <string name="theme_default">Domyślny</string> 320 <string name="theme_default">Domyślny</string>
303 <string name="theme_material_you">Material You</string> 321 <string name="theme_material_you">Material You</string>
304 322
305 <!-- Theme Modes --> 323 <!-- Theme Modes -->
306 <string name="change_theme_mode">Zmiana trybu motywu</string> 324 <string name="change_theme_mode">Zmień tryb motywu</string>
307 <string name="theme_mode_follow_system">Podążaj za systemowym</string> 325 <string name="theme_mode_follow_system">Podążaj za systemowym</string>
308 <string name="theme_mode_light">Jasny</string> 326 <string name="theme_mode_light">Jasny</string>
309 <string name="theme_mode_dark">Ciemny</string> 327 <string name="theme_mode_dark">Ciemny</string>
310 328
311 <!-- Black backgrounds theme --> 329 <!-- Black backgrounds theme -->
312 <string name="use_black_backgrounds">Używaj czarnego tła</string> 330 <string name="use_black_backgrounds">Czarne tła</string>
313 <string name="use_black_backgrounds_description">Kiedy używany ciemny motyw, tła zostają zastąpione czernią.</string> 331 <string name="use_black_backgrounds_description">Kiedy używany ciemny motyw, tła zostają zastąpione czernią.</string>
314 332
315</resources> 333 <!-- Licenses screen strings -->
334 <string name="licenses">Licencje</string>
335 <string name="license_fidelityfx_fsr_description">Rozciąganie wysokiej jakości od AMD</string>
336 </resources>
diff --git a/src/android/app/src/main/res/values-pt-rBR/strings.xml b/src/android/app/src/main/res/values-pt-rBR/strings.xml
index caa095364..8888fc750 100644
--- a/src/android/app/src/main/res/values-pt-rBR/strings.xml
+++ b/src/android/app/src/main/res/values-pt-rBR/strings.xml
@@ -1,30 +1,31 @@
1<?xml version="1.0" encoding="utf-8"?> 1<?xml version="1.0" encoding="utf-8"?>
2<resources> 2<resources xmlns:tools="http://schemas.android.com/tools" tools:ignore="MissingTranslation">
3 3
4 <string name="app_disclaimer">Este software corre jogos para a consola Nintendo Switch. Não estão incluídas nem jogos ou chaves. &lt;br /&gt;&lt;br /&gt;Antes de começares, por favor localiza o ficheiro <![CDATA[1 prod.keys 1]]> no armazenamento do teu dispositivo.&lt;br /&gt;&lt;br /&gt;<![CDATA[2Learn more2]]></string> 4 <string name="app_disclaimer">Este software executa jogos do console Nintendo Switch. Não estão inclusos nem jogos ou chaves. &lt;br /&gt;&lt;br /&gt;Antes de começar, por favor localize o arquivo <![CDATA[1 prod.keys 1]]> no armazenamento de seu dispositivo.&lt;br /&gt;&lt;br /&gt;<![CDATA[2Saiba mais2]]></string>
5 <string name="emulation_notification_channel_name">Emulação está Ativa</string> 5 <string name="emulation_notification_channel_name">Emulação está Ativa</string>
6 <string name="emulation_notification_channel_description">Mostra uma notificação permanente enquanto a emulação está a correr.</string> 6 <string name="emulation_notification_channel_description">Mostra uma notificação permanente enquanto a emulação estiver em andamento.</string>
7 <string name="emulation_notification_running">Yuzu está em execução </string> 7 <string name="emulation_notification_running">Yuzu está em execução </string>
8 <string name="notice_notification_channel_name">Notificações e erros</string> 8 <string name="notice_notification_channel_name">Notificações e erros</string>
9 <string name="notice_notification_channel_description">Mostra notificações quendo algo corre mal.</string> 9 <string name="notice_notification_channel_description">Mostra notificações quando algo dá errado.</string>
10 <string name="notification_permission_not_granted">Permissões de notificação não permitidas </string> 10 <string name="notification_permission_not_granted">Acesso às notificações não concedido!</string>
11 11
12 <!-- Setup strings --> 12 <!-- Setup strings -->
13 <string name="welcome">Bemvindo! </string> 13 <string name="welcome">Bem-vindo! </string>
14 <string name="welcome_description">Aprende como configurar &lt;b>yuzu&lt;/b> e arranca a emulação.</string> 14 <string name="welcome_description">Aprenda como configurar o &lt;b>yuzu&lt;/b> e mergulhe na emulação.</string>
15 <string name="get_started">Começa</string> 15 <string name="get_started">Primeiros passos</string>
16 <string name="keys">Chaves</string> 16 <string name="keys">Keys</string>
17 <string name="keys_description">Seleciona o teu ficheiro &lt;b>prod.keys&lt;/b> com o botão abaixo.</string> 17 <string name="keys_description">Selecione seu arquivo &lt;b>prod.keys&lt;/b> com o botão abaixo.</string>
18 <string name="select_keys">Seleciona as Chaves</string> 18 <string name="select_keys">Selecione as Keys</string>
19 <string name="games">Jogos</string> 19 <string name="games">Jogos</string>
20 <string name="games_description">Seleciona a tua pasta &lt;b>Games&lt;/b> com o botão abaixo.</string> 20 <string name="games_description">Seleciona sua pasta &lt;b>Jogos&lt;/b> com o botão abaixo.</string>
21 <string name="done">Feito</string> 21 <string name="done">Feito</string>
22 <string name="done_description">Tudo pronto.\nDisfruta dos teus jogos!</string> 22 <string name="done_description">Tudo pronto.\nAproveite seus jogos!</string>
23 <string name="text_continue">Continuar</string> 23 <string name="text_continue">Continuar</string>
24 <string name="next">Próximo</string> 24 <string name="next">Próximo</string>
25 <string name="back">Voltar</string> 25 <string name="back">Voltar</string>
26 <string name="add_games">Adiciona Jogos</string> 26 <string name="add_games">Adicionar Jogos</string>
27 <string name="add_games_description">Seleciona a tua pasta de Jogos</string> 27 <string name="add_games_description">Selecione sua pasta de Jogos</string>
28 <string name="step_complete">Completo!</string>
28 29
29 <!-- Home strings --> 30 <!-- Home strings -->
30 <string name="home_games">Jogos</string> 31 <string name="home_games">Jogos</string>
@@ -37,7 +38,8 @@
37 <string name="add_games_warning">Ignorar a seleção da pasta de jogos?</string> 38 <string name="add_games_warning">Ignorar a seleção da pasta de jogos?</string>
38 <string name="add_games_warning_description">Os jogos não serão exibidos na lista de jogos se uma pasta não estiver selecionada.</string> 39 <string name="add_games_warning_description">Os jogos não serão exibidos na lista de jogos se uma pasta não estiver selecionada.</string>
39 <string name="add_games_warning_help">https://yuzu-emu.org/help/quickstart/#dumping-games</string> 40 <string name="add_games_warning_help">https://yuzu-emu.org/help/quickstart/#dumping-games</string>
40 <string name="home_search_games">Procurar Jogos</string> 41 <string name="home_search_games">Procurar jogos</string>
42 <string name="search_settings">Procurar nas definições</string>
41 <string name="games_dir_selected">Pasta de Jogos selecionada</string> 43 <string name="games_dir_selected">Pasta de Jogos selecionada</string>
42 <string name="install_prod_keys">Instala prod.keys</string> 44 <string name="install_prod_keys">Instala prod.keys</string>
43 <string name="install_prod_keys_description">Necessário para desencriptar jogos comerciais</string> 45 <string name="install_prod_keys_description">Necessário para desencriptar jogos comerciais</string>
@@ -61,15 +63,18 @@
61 <string name="invalid_keys_file">Ficheiro de chaves inválido</string> 63 <string name="invalid_keys_file">Ficheiro de chaves inválido</string>
62 <string name="install_keys_success">Chaves instaladas com sucesso</string> 64 <string name="install_keys_success">Chaves instaladas com sucesso</string>
63 <string name="reading_keys_failure">Erro ao ler chaves de encriptação</string> 65 <string name="reading_keys_failure">Erro ao ler chaves de encriptação</string>
66 <string name="install_prod_keys_failure_extension_description">Verifique se seu arquivo keys possui a extensão .keys e tente novamente.</string>
67 <string name="install_amiibo_keys_failure_extension_description">Verifique se seu arquivo keys possui a extensão .bin e tente novamente.</string>
64 <string name="invalid_keys_error">Chaves de encriptação inválidas</string> 68 <string name="invalid_keys_error">Chaves de encriptação inválidas</string>
65 <string name="dumping_keys_quickstart_link">https://yuzu-emu.org/help/quickstart/#dumping-decryption-keys</string> 69 <string name="dumping_keys_quickstart_link">https://yuzu-emu.org/help/quickstart/#dumping-decryption-keys</string>
66 <string name="install_keys_failure_description">O ficheiro selecionado está corrompido. Por favor recarrega as tuas chaves.</string> 70 <string name="install_keys_failure_description">O ficheiro selecionado está corrompido. Por favor recarrega as tuas chaves.</string>
67 <string name="install_gpu_driver">Instala driver para GPU</string> 71 <string name="install_gpu_driver">Instala driver para GPU</string>
68 <string name="install_gpu_driver_description">Instala drivers alternativos para desempenho ou precisão potencialmente melhores</string> 72 <string name="install_gpu_driver_description">Instala drivers alternativos para desempenho ou precisão potencialmente melhores</string>
69 <string name="advanced_settings">Definições avançadas</string> 73 <string name="advanced_settings">Definições avançadas</string>
74 <string name="advanced_settings_game">Definições avançadas: %1$s</string>
70 <string name="settings_description">Configura definições do emulador</string> 75 <string name="settings_description">Configura definições do emulador</string>
71 <string name="search_recently_played">Jogos recentes</string> 76 <string name="search_recently_played">Jogado recentemente</string>
72 <string name="search_recently_added">Adicionados recentemente</string> 77 <string name="search_recently_added">Adicionado recentemente</string>
73 <string name="search_retail">Jogos comerciais</string> 78 <string name="search_retail">Jogos comerciais</string>
74 <string name="search_homebrew">Homebrew</string> 79 <string name="search_homebrew">Homebrew</string>
75 <string name="open_user_folder">Abre a pasta Yuzu</string> 80 <string name="open_user_folder">Abre a pasta Yuzu</string>
@@ -86,6 +91,33 @@
86 <string name="save_file_invalid_zip_structure_description">O nome da primeira sub pasta tem de ser a ID do jogo.</string> 91 <string name="save_file_invalid_zip_structure_description">O nome da primeira sub pasta tem de ser a ID do jogo.</string>
87 <string name="import_saves">Importar</string> 92 <string name="import_saves">Importar</string>
88 <string name="export_saves">Exportar</string> 93 <string name="export_saves">Exportar</string>
94 <string name="install_firmware">Instalar firmware</string>
95 <string name="install_firmware_description">O firmware deve estar em um arquivo ZIP e é necessário para iniciar alguns jogos.</string>
96 <string name="firmware_installing">Instalando firmware</string>
97 <string name="firmware_installed_success">Firmware instalado com sucesso.</string>
98 <string name="firmware_installed_failure">Falha na instalação do firmware</string>
99 <string name="firmware_installed_failure_description">Cofirma que os ficheiros firmware nca estão no root do finheiro zip e tenta de novo.</string>
100 <string name="share_log">Compartilhe registros de debug.</string>
101 <string name="share_log_description">Compartilhe o arquivo de registro do yuzu para obter ajuda com problemas</string>
102 <string name="share_log_missing">Arquivo de registro não encontrado</string>
103 <string name="install_game_content">Instalar conteúdo de jogos</string>
104 <string name="install_game_content_description">Instalar atualizações de jogos ou DLC</string>
105 <string name="installing_game_content">A instalar conteúdo...</string>
106 <string name="install_game_content_failure">Erro ao instalar ficheiro(s) para NAND</string>
107 <string name="install_game_content_failure_description">Por favor confitma que o conteúdo(s) é válido e que as prod.keys estão instaladas.</string>
108 <string name="install_game_content_failure_base">A instalação de jogos base não é permitida para evitar possíveis conflitos.</string>
109 <string name="install_game_content_failure_file_extension">Sò conteúdos NSP e XCI são suportados. Por favor verifica que o conteúdo(s) do jogo são válidos.</string>
110 <string name="install_game_content_failed_count">%1$d erro(s) de instalação</string>
111 <string name="install_game_content_success">Conteúdo(s) de jogo instalados com sucesso</string>
112 <string name="install_game_content_success_install">%1$d instalado com sucesso</string>
113 <string name="install_game_content_success_overwrite">%1$d substituída com êxito</string>
114 <string name="install_game_content_help_link">https://yuzu-emu.org/help/quickstart/#dumping-installed-updates</string>
115 <string name="custom_driver_not_supported">Drivers personalizados não suportados</string>
116 <string name="custom_driver_not_supported_description">Carrea«gamento de drivers personalizados não é suportado pr este dispositivo. \nCheck verifica esta opção de futuro para confirmar se o suporte foi adicionado!</string>
117 <string name="manage_yuzu_data">Administrar dados yuzu</string>
118 <string name="manage_yuzu_data_description">Importa/exporta firmware, chaves, dados do usuário e mais!</string>
119 <string name="share_save_file">Partilha ficheiro duardado</string>
120 <string name="export_save_failed">Erro ao exportar dados guardados</string>
89 121
90 <!-- About screen strings --> 122 <!-- About screen strings -->
91 <string name="gaia_is_not_real">Gaia não é real</string> 123 <string name="gaia_is_not_real">Gaia não é real</string>
@@ -94,7 +126,18 @@
94 <string name="contributors">Contribuidores</string> 126 <string name="contributors">Contribuidores</string>
95 <string name="contributors_description">Feito com \u2764 da equipa do Yuzu</string> 127 <string name="contributors_description">Feito com \u2764 da equipa do Yuzu</string>
96 <string name="contributors_link">https://github.com/yuzu-emu/yuzu/graphs/contributors</string> 128 <string name="contributors_link">https://github.com/yuzu-emu/yuzu/graphs/contributors</string>
129 <string name="licenses_description">Projetos que tornam o yuzu para Android possível</string>
97 <string name="build">Versão</string> 130 <string name="build">Versão</string>
131 <string name="user_data">Dado de utilizados</string>
132 <string name="user_data_description">Importar/exportar todos dados da aplicação data.\n\n Ao importar dados do utilizados, todos os dados existentes do utilizados serão excluídos!</string>
133 <string name="exporting_user_data">A exportar dados de utilizados...</string>
134 <string name="importing_user_data">A importar dados de utilizador...</string>
135 <string name="import_user_data">Importar dados de utilizados...</string>
136 <string name="invalid_yuzu_backup">Backup yuzu inválido</string>
137 <string name="user_data_export_success">Dados de utilizados exportados com sucesso</string>
138 <string name="user_data_import_success">Dados de utilizador importado com sucesso</string>
139 <string name="user_data_export_cancelled">Exportação cancelada</string>
140 <string name="user_data_import_failed_description">Verifiqua se as pastas de dados do utilizados estão na raiz da pasta zip e contêm um arquivo de configuração em config/config.ini e tenta novamente.</string>
98 <string name="support_link">https://discord.gg/u77vRWY</string> 141 <string name="support_link">https://discord.gg/u77vRWY</string>
99 <string name="website_link">https://yuzu-emu.org/</string> 142 <string name="website_link">https://yuzu-emu.org/</string>
100 <string name="github_link">https://github.com/yuzu-emu</string> 143 <string name="github_link">https://github.com/yuzu-emu</string>
@@ -114,41 +157,53 @@
114 <string name="are_you_interested">Estás interessado?</string> 157 <string name="are_you_interested">Estás interessado?</string>
115 158
116 <!-- General settings strings --> 159 <!-- General settings strings -->
117 <string name="frame_limit_enable">Ativar limite de velocidade</string> 160 <string name="frame_limit_enable">Limite de velocidade</string>
118 <string name="frame_limit_enable_description">Quando ativada, a velocidade da emulação será limitada à percentagem definida da velocidade normal.</string> 161 <string name="frame_limit_enable_description">Limita a velocidade da emulação a uma porcentagem específica da velocidade normal.</string>
119 <string name="frame_limit_slider">Percentagem do limite de velocidade</string> 162 <string name="frame_limit_slider">Percentagem do limite de velocidade</string>
120 <string name="frame_limit_slider_description">Especifica o limite da percentagem da velocidade da emulação. Com a velocidade por defeito a 100% a emulação será limitada à velocidade normal. Valores maiores ou menores aumentarão ou diminuirão o limite de velocidade.</string> 163 <string name="frame_limit_slider_description">Especifica a porcentagem para limitar a velocidade de emulação. 100% é o normal. Valores mais altos ou mais baixos irão aumentar ou diminuir o limite de velocidade.</string>
121 <string name="cpu_accuracy">Precisão do CPU</string> 164 <string name="cpu_accuracy">Precisão do CPU</string>
165 <string name="value_with_units">%1$s%2$s</string>
122 166
123 <!-- System settings strings --> 167 <!-- System settings strings -->
124 <string name="use_docked_mode">Modo ancorado</string> 168 <string name="use_docked_mode">Modo Ancorado</string>
125 <string name="use_docked_mode_description">Emula em modo ancorado, que aumenta a resolução ás custas da performance.</string> 169 <string name="use_docked_mode_description">Aumenta a resolução, diminuindo o desempenho. O Modo Portátil é utilizado quando estiver desabilitado, diminuindo a resolução e melhorando o desempenho.</string>
126 <string name="emulated_region">Região da emulação</string> 170 <string name="emulated_region">Região da emulação</string>
127 <string name="emulated_language">Idioma da emulação</string> 171 <string name="emulated_language">Idioma da emulação</string>
128 <string name="select_rtc_date">Seleciona a data RTC</string> 172 <string name="select_rtc_date">Selecione a data do sistema</string>
129 <string name="select_rtc_time">Seleciona a hora RTC</string> 173 <string name="select_rtc_time">Selecione a hora do sistema</string>
130 <string name="use_custom_rtc">Ativa RTC personalizado</string> 174 <string name="use_custom_rtc">Data e hora personalizada</string>
131 <string name="use_custom_rtc_description">Esta configuração permite definir um RTC personalizado diferente da hora atual do sistema</string> 175 <string name="use_custom_rtc_description">Permite a você configurar um relógio em tempo real separado do relógio do seu dispositivo.</string>
132 <string name="set_custom_rtc">Define RTC personalizado</string> 176 <string name="set_custom_rtc">Defina um relógio em tempo real personalizado</string>
133 177
134 <!-- Graphics settings strings --> 178 <!-- Graphics settings strings -->
135 <string name="renderer_api">API</string>
136 <string name="renderer_accuracy">Nível de precisão</string> 179 <string name="renderer_accuracy">Nível de precisão</string>
137 <string name="renderer_resolution">Resolução</string> 180 <string name="renderer_resolution">Resolução (Portátil/Ancorado)</string>
138 <string name="renderer_vsync">Modo VSync</string> 181 <string name="renderer_vsync">Modo VSync</string>
139 <string name="renderer_aspect_ratio">Proporção do ecrã</string> 182 <string name="renderer_screen_layout">Oriantação</string>
183 <string name="renderer_aspect_ratio">Proporção da tela</string>
140 <string name="renderer_scaling_filter">Filtro de Adaptação da Janela</string> 184 <string name="renderer_scaling_filter">Filtro de Adaptação da Janela</string>
141 <string name="renderer_anti_aliasing">Método de Anti-Aliasing </string> 185 <string name="renderer_anti_aliasing">Método de Anti-Serrilhado</string>
142 <string name="renderer_force_max_clock">Força velocidade máxima (Adreno only)</string> 186 <string name="renderer_force_max_clock">Força velocidade máxima (Adreno only)</string>
143 <string name="renderer_force_max_clock_description">Força o GPU a correr à velocidade máxima (restrições térmicas serão aplicadas)</string> 187 <string name="renderer_force_max_clock_description">Força o GPU a correr à velocidade máxima (restrições térmicas serão aplicadas)</string>
144 <string name="renderer_asynchronous_shaders">Usa shaders assíncronos </string> 188 <string name="renderer_asynchronous_shaders">Usa shaders assíncronos </string>
145 <string name="renderer_asynchronous_shaders_description">Compila shaders assincronamente, que aumentará a fluidez, mas poderá causar falhas.</string> 189 <string name="renderer_asynchronous_shaders_description">Compila os shaders de forma assíncrona, reduzindo travamentos, mas pode apresentar problemas.</string>
190 <string name="renderer_reactive_flushing">Usar flushing reativo</string>
191 <string name="renderer_reactive_flushing_description">Melhora a precisão da renderização em alguns jogos ao custo de desempenho.</string>
192 <string name="use_disk_shader_cache">Cache de shaders em disco</string>
193 <string name="use_disk_shader_cache_description">Reduz travamentos ao armazenar e carregar localmente os shaders.</string>
194
195 <!-- Debug settings strings -->
196 <string name="cpu">CPU</string>
197 <string name="cpu_debug_mode">Depuração da CPU</string>
198 <string name="cpu_debug_mode_description">Coloca a CPU em um modo de depuração lento.</string>
199 <string name="gpu">GPU</string>
200 <string name="renderer_api">API</string>
146 <string name="renderer_debug">Ativar depuração de gráficos</string> 201 <string name="renderer_debug">Ativar depuração de gráficos</string>
147 <string name="renderer_debug_description">Quando selecionado, a API gráfica entra num modo de depuração mais lento.</string> 202 <string name="renderer_debug_description">Quando selecionado, a API gráfica entra num modo de depuração mais lento.</string>
148 <string name="use_disk_shader_cache">Usar cache de shaders em disco</string> 203 <string name="fastmem">Fastmem</string>
149 <string name="use_disk_shader_cache_description">Aumenta a fluidez ao guardar e carregar shaders gerados para o armazenamento.</string>
150 204
151 <!-- Audio settings strings --> 205 <!-- Audio settings strings -->
206 <string name="audio_output_engine">Motor de saída</string>
152 <string name="audio_volume">Volume</string> 207 <string name="audio_volume">Volume</string>
153 <string name="audio_volume_description">Especifica o volume de saída.</string> 208 <string name="audio_volume_description">Especifica o volume de saída.</string>
154 209
@@ -157,14 +212,24 @@
157 <string name="ini_saved">Definições guardadas</string> 212 <string name="ini_saved">Definições guardadas</string>
158 <string name="gameid_saved">Definições guardadas para %1$s</string> 213 <string name="gameid_saved">Definições guardadas para %1$s</string>
159 <string name="error_saving">Erro ao guardar %1$s.ini: %2$s</string> 214 <string name="error_saving">Erro ao guardar %1$s.ini: %2$s</string>
215 <string name="unimplemented_menu">Menu não implementado</string>
160 <string name="loading">A carregar...</string> 216 <string name="loading">A carregar...</string>
217 <string name="shutting_down">A desligar...</string>
161 <string name="reset_setting_confirmation">Queres reverter esta definição para os valores padrão?</string> 218 <string name="reset_setting_confirmation">Queres reverter esta definição para os valores padrão?</string>
162 <string name="reset_to_default">Reverter para padrão</string> 219 <string name="reset_to_default">Reverter para padrão</string>
163 <string name="reset_all_settings">Redefinir todas as definições?</string> 220 <string name="reset_all_settings">Redefinir todas as definições?</string>
164 <string name="reset_all_settings_description">Todas as definições avançadas serão redefinidas para as definições padrão. Isto não pode ser revertido.</string> 221 <string name="reset_all_settings_description">Todas as configurações avançadas retornarão ao padrão. Isto não pode ser desfeito.</string>
165 <string name="settings_reset">Redefinir definições</string> 222 <string name="settings_reset">Redefinir definições</string>
166 <string name="close">Fechar</string> 223 <string name="close">Fechar</string>
167 <string name="learn_more">Saiba mais</string> 224 <string name="learn_more">Saiba mais</string>
225 <string name="auto">Automático</string>
226 <string name="submit">Enviar</string>
227 <string name="string_null">Nenhum (desativado)</string>
228 <string name="string_import">Importar</string>
229 <string name="export">Exportar</string>
230 <string name="export_failed">Exportação falhada</string>
231 <string name="import_failed">IMportação falhada</string>
232 <string name="cancelling">A cancelar</string>
168 233
169 <!-- GPU driver installation --> 234 <!-- GPU driver installation -->
170 <string name="select_gpu_driver">Seleciona a driver para o GPU</string> 235 <string name="select_gpu_driver">Seleciona a driver para o GPU</string>
@@ -172,6 +237,7 @@
172 <string name="select_gpu_driver_install">Instalar</string> 237 <string name="select_gpu_driver_install">Instalar</string>
173 <string name="select_gpu_driver_default">Padrão</string> 238 <string name="select_gpu_driver_default">Padrão</string>
174 <string name="select_gpu_driver_use_default">Usar o driver padrão do GPU</string> 239 <string name="select_gpu_driver_use_default">Usar o driver padrão do GPU</string>
240 <string name="select_gpu_driver_error">Driver selecionado inválido, a usar o padrão do sistema!</string>
175 <string name="system_gpu_driver">Driver do GPU padrão</string> 241 <string name="system_gpu_driver">Driver do GPU padrão</string>
176 <string name="installing_driver">A instalar o Driver...</string> 242 <string name="installing_driver">A instalar o Driver...</string>
177 243
@@ -182,10 +248,11 @@
182 <string name="preferences_graphics">Gráficos</string> 248 <string name="preferences_graphics">Gráficos</string>
183 <string name="preferences_audio">Ãudio</string> 249 <string name="preferences_audio">Ãudio</string>
184 <string name="preferences_theme">Cor e tema.</string> 250 <string name="preferences_theme">Cor e tema.</string>
251 <string name="preferences_debug">Depuração</string>
185 252
186 <!-- ROM loading errors --> 253 <!-- ROM loading errors -->
187 <string name="loader_error_encrypted">A tua ROM está encriptada</string> 254 <string name="loader_error_encrypted">A tua ROM está encriptada</string>
188 <string name="loader_error_encrypted_roms_description"><![CDATA[Por favor segue os guias para fazer redump das tuas<a href=\"https://yuzu-emu.org/help/quickstart/#dumping-cartridge-games\">Cartidges de Jogo</a> or <a href=\"https://yuzu-emu.org/help/quickstart/#dumping-installed-titles-eshop\">Jogos Instalados</a>.]]></string> 255 <string name="loader_error_encrypted_roms_description"><![CDATA[Por favor, siga os guias para despejar novamente o seu <a href=\"https://yuzu-emu.org/help/quickstart/#dumping-physical-titles-game-cards\">cartucho de jogo</a> or <a href=\"https://yuzu-emu.org/help/quickstart/#dumping-digital-titles-eshop\">títulos instalados</a>.]]></string>
189 <string name="loader_error_encrypted_keys_description"><![CDATA[Por favor confirma que o teu ficheiro <a href=\"https://yuzu-emu.org/help/quickstart/#dumping-prodkeys-and-titlekeys\">prod.keys</a> está instalado para que os jogos possam ser desencriptados.]]></string> 256 <string name="loader_error_encrypted_keys_description"><![CDATA[Por favor confirma que o teu ficheiro <a href=\"https://yuzu-emu.org/help/quickstart/#dumping-prodkeys-and-titlekeys\">prod.keys</a> está instalado para que os jogos possam ser desencriptados.]]></string>
190 <string name="loader_error_video_core">Ocorreu um erro ao iniciar o núcleo de vídeo.</string> 257 <string name="loader_error_video_core">Ocorreu um erro ao iniciar o núcleo de vídeo.</string>
191 <string name="loader_error_video_core_description">Isto é normalmente causado por um driver de GPU incompatível. Instalar um driver GPU pode resolver este problema.</string> 258 <string name="loader_error_video_core_description">Isto é normalmente causado por um driver de GPU incompatível. Instalar um driver GPU pode resolver este problema.</string>
@@ -193,25 +260,25 @@
193 <string name="loader_error_file_not_found">O ficheiro da ROM não existe</string> 260 <string name="loader_error_file_not_found">O ficheiro da ROM não existe</string>
194 261
195 <!-- Emulation Menu --> 262 <!-- Emulation Menu -->
196 <string name="emulation_exit">Sair da emulação</string> 263 <string name="emulation_exit">Parar emulação</string>
197 <string name="emulation_done">Feito</string> 264 <string name="emulation_done">Feito</string>
198 <string name="emulation_fps_counter">Contador de FPS</string> 265 <string name="emulation_fps_counter">Contador de FPS</string>
199 <string name="emulation_toggle_controls">Alterar Controlos</string> 266 <string name="emulation_toggle_controls">Alterar controles</string>
200 <string name="emulation_rel_stick_center">Centro do Analógico Relativo</string> 267 <string name="emulation_rel_stick_center">Centro Relativo de Analógico</string>
201 <string name="emulation_dpad_slide">Deslizar do DPad</string> 268 <string name="emulation_dpad_slide">Deslizamento dos Botões Direcionais</string>
202 <string name="emulation_haptics">Hápticos </string> 269 <string name="emulation_haptics">Vibração ao tocar</string>
203 <string name="emulation_show_overlay">Mostrar sobreposição </string> 270 <string name="emulation_show_overlay">Mostrar overlay</string>
204 <string name="emulation_toggle_all">Alterar todos</string> 271 <string name="emulation_toggle_all">Marcar/Desmarcar tudo</string>
205 <string name="emulation_control_adjust">Ajustar a sobreposição </string> 272 <string name="emulation_control_adjust">Ajustar overlay</string>
206 <string name="emulation_control_scale">Escala</string> 273 <string name="emulation_control_scale">Escala</string>
207 <string name="emulation_control_opacity">Opacidade</string> 274 <string name="emulation_control_opacity">Opacidade</string>
208 <string name="emulation_touch_overlay_reset">Redefinir Sobreposição </string> 275 <string name="emulation_touch_overlay_reset">Restaurar overlay padrão</string>
209 <string name="emulation_touch_overlay_edit">Editar sobreposição </string> 276 <string name="emulation_touch_overlay_edit">Editar overlay</string>
210 <string name="emulation_pause">Pausa emulação</string> 277 <string name="emulation_pause">Pausar emulação</string>
211 <string name="emulation_unpause">Retomar emulação</string> 278 <string name="emulation_unpause">Retomar emulação</string>
212 <string name="emulation_input_overlay">Opções de sobreposição </string> 279 <string name="emulation_input_overlay">Opções de overlay</string>
213 280
214 <string name="load_settings">Configurações a carregar...</string> 281 <string name="load_settings">Carregando configurações...</string>
215 282
216 <!-- Software keyboard --> 283 <!-- Software keyboard -->
217 <string name="software_keyboard">Teclado de software</string> 284 <string name="software_keyboard">Teclado de software</string>
@@ -226,6 +293,9 @@
226 <string name="fatal_error">Erro fatal</string> 293 <string name="fatal_error">Erro fatal</string>
227 <string name="fatal_error_message">Ocorreu um erro fatal. Verifica o teu registro para detalhes. \nContinuar a emulação pode causar erros.</string> 294 <string name="fatal_error_message">Ocorreu um erro fatal. Verifica o teu registro para detalhes. \nContinuar a emulação pode causar erros.</string>
228 <string name="performance_warning">Desligar esta configuração irá reduzir a performance da emulação significantemente! Para a melhor experiência é recomendado que deixes esta configuração ativada.</string> 295 <string name="performance_warning">Desligar esta configuração irá reduzir a performance da emulação significantemente! Para a melhor experiência é recomendado que deixes esta configuração ativada.</string>
296 <string name="device_memory_inadequate">RAM do dispositivo: %1$s\nRecommended: %2$s</string>
297 <string name="memory_formatted">%1$s %2$s</string>
298 <string name="no_game_present">Nenhum jogo inicializável presente!</string>
229 299
230 <!-- Region Names --> 300 <!-- Region Names -->
231 <string name="region_japan">Japão</string> 301 <string name="region_japan">Japão</string>
@@ -236,7 +306,14 @@
236 <string name="region_korea">Coréia</string> 306 <string name="region_korea">Coréia</string>
237 <string name="region_taiwan">Taiwan</string> 307 <string name="region_taiwan">Taiwan</string>
238 308
239 <!-- Language Names --> 309 <!-- Memory Sizes -->
310 <string name="memory_byte">Byte</string>
311 <string name="memory_kilobyte">KB</string>
312 <string name="memory_megabyte">MB</string>
313 <string name="memory_gigabyte">GB</string>
314 <string name="memory_terabyte">TB</string>
315 <string name="memory_petabyte">PB</string>
316 <string name="memory_exabyte">EB</string>
240 317
241 <!-- Renderer APIs --> 318 <!-- Renderer APIs -->
242 <string name="renderer_vulkan">Vulcano</string> 319 <string name="renderer_vulkan">Vulcano</string>
@@ -274,12 +351,17 @@
274 <string name="anti_aliasing_fxaa">FXAA</string> 351 <string name="anti_aliasing_fxaa">FXAA</string>
275 <string name="anti_aliasing_smaa">SMAA</string> 352 <string name="anti_aliasing_smaa">SMAA</string>
276 353
354 <!-- Screen Layouts -->
355 <string name="screen_layout_landscape">Landscape</string>
356 <string name="screen_layout_portrait">Portrait</string>
357 <string name="screen_layout_auto">Automático</string>
358
277 <!-- Aspect Ratios --> 359 <!-- Aspect Ratios -->
278 <string name="ratio_default">Padrão (16:9)</string> 360 <string name="ratio_default">Padrão (16:9)</string>
279 <string name="ratio_force_four_three">Forçar 4:3</string> 361 <string name="ratio_force_four_three">Forçar 4:3</string>
280 <string name="ratio_force_twenty_one_nine">Forçar 21:9</string> 362 <string name="ratio_force_twenty_one_nine">Forçar 21:9</string>
281 <string name="ratio_force_sixteen_ten">Forçar 16:10</string> 363 <string name="ratio_force_sixteen_ten">Forçar 16:10</string>
282 <string name="ratio_stretch">Esticar para a janela</string> 364 <string name="ratio_stretch">Esticar à janela</string>
283 365
284 <!-- CPU Accuracy --> 366 <!-- CPU Accuracy -->
285 <string name="cpu_accuracy_accurate">Preciso</string> 367 <string name="cpu_accuracy_accurate">Preciso</string>
@@ -287,7 +369,7 @@
287 <string name="cpu_accuracy_paranoid">Paranoid (Lento)</string> 369 <string name="cpu_accuracy_paranoid">Paranoid (Lento)</string>
288 370
289 <!-- Gamepad Buttons --> 371 <!-- Gamepad Buttons -->
290 <string name="gamepad_d_pad">D-pad</string> 372 <string name="gamepad_d_pad">Botões Direcionais</string>
291 <string name="gamepad_left_stick">Analógico esquerdo</string> 373 <string name="gamepad_left_stick">Analógico esquerdo</string>
292 <string name="gamepad_right_stick">Analógico direito</string> 374 <string name="gamepad_right_stick">Analógico direito</string>
293 <string name="gamepad_home">Botão Home</string> 375 <string name="gamepad_home">Botão Home</string>
@@ -298,18 +380,32 @@
298 <string name="building_shaders">A criar shaders</string> 380 <string name="building_shaders">A criar shaders</string>
299 381
300 <!-- Theme options --> 382 <!-- Theme options -->
301 <string name="change_app_theme">Muda o Tema da App</string> 383 <string name="change_app_theme">Mudar o tema do aplicativo</string>
302 <string name="theme_default">Padrão</string> 384 <string name="theme_default">Padrão</string>
303 <string name="theme_material_you">Material You</string> 385 <string name="theme_material_you">Material You</string>
304 386
305 <!-- Theme Modes --> 387 <!-- Theme Modes -->
306 <string name="change_theme_mode">Altera o Modo do Tema</string> 388 <string name="change_theme_mode">Alterar o tema</string>
307 <string name="theme_mode_follow_system">Igual ao Sistema</string> 389 <string name="theme_mode_follow_system">Igual ao Sistema</string>
308 <string name="theme_mode_light">Claro</string> 390 <string name="theme_mode_light">Claro</string>
309 <string name="theme_mode_dark">Escuro</string> 391 <string name="theme_mode_dark">Escuro</string>
310 392
393 <!-- Audio output engines -->
394 <string name="cubeb">cubeb</string>
395
311 <!-- Black backgrounds theme --> 396 <!-- Black backgrounds theme -->
312 <string name="use_black_backgrounds">Usa Fundos Negros</string> 397 <string name="use_black_backgrounds">Plano de fundo preto</string>
313 <string name="use_black_backgrounds_description">Quando usar tema escuro, aplicar fundos escuros</string> 398 <string name="use_black_backgrounds_description">Quando usar tema escuro, aplicar fundos escuros</string>
314 399
315</resources> 400 <!-- Picture-In-Picture -->
401 <string name="picture_in_picture">Picture in Picture</string>
402 <string name="picture_in_picture_description">Minimizar a janela quando colocada em segundo plano</string>
403 <string name="pause">Pausa</string>
404 <string name="play">Correr</string>
405 <string name="mute">Mudo</string>
406 <string name="unmute">Unmute</string>
407
408 <!-- Licenses screen strings -->
409 <string name="licenses">Licenças</string>
410 <string name="license_fidelityfx_fsr_description">Upscaling de alta qualidade da AMD</string>
411 </resources>
diff --git a/src/android/app/src/main/res/values-pt-rPT/strings.xml b/src/android/app/src/main/res/values-pt-rPT/strings.xml
index 0a1a47fbb..6afea9b03 100644
--- a/src/android/app/src/main/res/values-pt-rPT/strings.xml
+++ b/src/android/app/src/main/res/values-pt-rPT/strings.xml
@@ -1,5 +1,5 @@
1<?xml version="1.0" encoding="utf-8"?> 1<?xml version="1.0" encoding="utf-8"?>
2<resources> 2<resources xmlns:tools="http://schemas.android.com/tools" tools:ignore="MissingTranslation">
3 3
4 <string name="app_disclaimer">Este software corre jogos para a consola Nintendo Switch. Não estão incluídas nem jogos ou chaves. &lt;br /&gt;&lt;br /&gt;Antes de começares, por favor localiza o ficheiro <![CDATA[1 prod.keys 1]]> no armazenamento do teu dispositivo.&lt;br /&gt;&lt;br /&gt;<![CDATA[2Learn more2]]></string> 4 <string name="app_disclaimer">Este software corre jogos para a consola Nintendo Switch. Não estão incluídas nem jogos ou chaves. &lt;br /&gt;&lt;br /&gt;Antes de começares, por favor localiza o ficheiro <![CDATA[1 prod.keys 1]]> no armazenamento do teu dispositivo.&lt;br /&gt;&lt;br /&gt;<![CDATA[2Learn more2]]></string>
5 <string name="emulation_notification_channel_name">Emulação está Ativa</string> 5 <string name="emulation_notification_channel_name">Emulação está Ativa</string>
@@ -25,6 +25,7 @@
25 <string name="back">Voltar</string> 25 <string name="back">Voltar</string>
26 <string name="add_games">Adiciona Jogos</string> 26 <string name="add_games">Adiciona Jogos</string>
27 <string name="add_games_description">Seleciona a tua pasta de Jogos</string> 27 <string name="add_games_description">Seleciona a tua pasta de Jogos</string>
28 <string name="step_complete">Completo!</string>
28 29
29 <!-- Home strings --> 30 <!-- Home strings -->
30 <string name="home_games">Jogos</string> 31 <string name="home_games">Jogos</string>
@@ -37,7 +38,8 @@
37 <string name="add_games_warning">Ignorar a seleção da pasta de jogos?</string> 38 <string name="add_games_warning">Ignorar a seleção da pasta de jogos?</string>
38 <string name="add_games_warning_description">Os jogos não serão exibidos na lista de jogos se uma pasta não estiver selecionada.</string> 39 <string name="add_games_warning_description">Os jogos não serão exibidos na lista de jogos se uma pasta não estiver selecionada.</string>
39 <string name="add_games_warning_help">https://yuzu-emu.org/help/quickstart/#dumping-games</string> 40 <string name="add_games_warning_help">https://yuzu-emu.org/help/quickstart/#dumping-games</string>
40 <string name="home_search_games">Procurar Jogos</string> 41 <string name="home_search_games">Procurar jogos</string>
42 <string name="search_settings">Procurar nas definições</string>
41 <string name="games_dir_selected">Pasta de Jogos selecionada</string> 43 <string name="games_dir_selected">Pasta de Jogos selecionada</string>
42 <string name="install_prod_keys">Instala prod.keys</string> 44 <string name="install_prod_keys">Instala prod.keys</string>
43 <string name="install_prod_keys_description">Necessário para desencriptar jogos comerciais</string> 45 <string name="install_prod_keys_description">Necessário para desencriptar jogos comerciais</string>
@@ -61,15 +63,18 @@
61 <string name="invalid_keys_file">Ficheiro de chaves inválido</string> 63 <string name="invalid_keys_file">Ficheiro de chaves inválido</string>
62 <string name="install_keys_success">Chaves instaladas com sucesso</string> 64 <string name="install_keys_success">Chaves instaladas com sucesso</string>
63 <string name="reading_keys_failure">Erro ao ler chaves de encriptação</string> 65 <string name="reading_keys_failure">Erro ao ler chaves de encriptação</string>
66 <string name="install_prod_keys_failure_extension_description">Verifique se seu arquivo keys possui a extensão .keys e tente novamente.</string>
67 <string name="install_amiibo_keys_failure_extension_description">Verifique se seu arquivo keys possui a extensão .bin e tente novamente.</string>
64 <string name="invalid_keys_error">Chaves de encriptação inválidas</string> 68 <string name="invalid_keys_error">Chaves de encriptação inválidas</string>
65 <string name="dumping_keys_quickstart_link">https://yuzu-emu.org/help/quickstart/#dumping-decryption-keys</string> 69 <string name="dumping_keys_quickstart_link">https://yuzu-emu.org/help/quickstart/#dumping-decryption-keys</string>
66 <string name="install_keys_failure_description">O ficheiro selecionado está corrompido. Por favor recarrega as tuas chaves.</string> 70 <string name="install_keys_failure_description">O ficheiro selecionado está corrompido. Por favor recarrega as tuas chaves.</string>
67 <string name="install_gpu_driver">Instala driver para GPU</string> 71 <string name="install_gpu_driver">Instala driver para GPU</string>
68 <string name="install_gpu_driver_description">Instala drivers alternativos para desempenho ou precisão potencialmente melhores</string> 72 <string name="install_gpu_driver_description">Instala drivers alternativos para desempenho ou precisão potencialmente melhores</string>
69 <string name="advanced_settings">Configurações avançadas</string> 73 <string name="advanced_settings">Configurações avançadas</string>
74 <string name="advanced_settings_game">Definições avançadas: %1$s</string>
70 <string name="settings_description">Configura configurações do emulador</string> 75 <string name="settings_description">Configura configurações do emulador</string>
71 <string name="search_recently_played">Jogos recentes</string> 76 <string name="search_recently_played">Jogado recentemente</string>
72 <string name="search_recently_added">Adicionados recentemente</string> 77 <string name="search_recently_added">Adicionado recentemente</string>
73 <string name="search_retail">Jogos comerciais</string> 78 <string name="search_retail">Jogos comerciais</string>
74 <string name="search_homebrew">Homebrew</string> 79 <string name="search_homebrew">Homebrew</string>
75 <string name="open_user_folder">Abre a pasta Yuzu</string> 80 <string name="open_user_folder">Abre a pasta Yuzu</string>
@@ -86,6 +91,33 @@
86 <string name="save_file_invalid_zip_structure_description">O nome da primeira sub pasta tem de ser a ID do jogo.</string> 91 <string name="save_file_invalid_zip_structure_description">O nome da primeira sub pasta tem de ser a ID do jogo.</string>
87 <string name="import_saves">Importar</string> 92 <string name="import_saves">Importar</string>
88 <string name="export_saves">Exportar</string> 93 <string name="export_saves">Exportar</string>
94 <string name="install_firmware">Instalar firmware</string>
95 <string name="install_firmware_description">O firmware deve estar em um arquivo ZIP e é necessário para iniciar alguns jogos.</string>
96 <string name="firmware_installing">Instalando firmware</string>
97 <string name="firmware_installed_success">Firmware instalado com sucesso.</string>
98 <string name="firmware_installed_failure">Falha na instalação do firmware</string>
99 <string name="firmware_installed_failure_description">Cofirma que os ficheiros firmware nca estão no root do finheiro zip e tenta de novo.</string>
100 <string name="share_log">Compartilhe registros de debug.</string>
101 <string name="share_log_description">Compartilhe o arquivo de registro do yuzu para obter ajuda com problemas</string>
102 <string name="share_log_missing">Arquivo de registro não encontrado</string>
103 <string name="install_game_content">Instalar conteúdo adicional</string>
104 <string name="install_game_content_description">Instale atualizações de jogos ou DLC</string>
105 <string name="installing_game_content">A instalar conteúdo...</string>
106 <string name="install_game_content_failure">Erro ao instalar ficheiro(s) para NAND</string>
107 <string name="install_game_content_failure_description">Por favor confitma que o conteúdo(s) é válido e que as prod.keys estão instaladas.</string>
108 <string name="install_game_content_failure_base">A instalação de jogos base não é permitida para evitar possíveis conflitos.</string>
109 <string name="install_game_content_failure_file_extension">Sò conteúdos NSP e XCI são suportados. Por favor verifica que o conteúdo(s) do jogo são válidos.</string>
110 <string name="install_game_content_failed_count">%1$d erro(s) de instalação</string>
111 <string name="install_game_content_success">Conteúdo(s) de jogo instalados com sucesso</string>
112 <string name="install_game_content_success_install">%1$d instalado com sucesso</string>
113 <string name="install_game_content_success_overwrite">%1$d substituída com êxito</string>
114 <string name="install_game_content_help_link">https://yuzu-emu.org/help/quickstart/#dumping-installed-updates</string>
115 <string name="custom_driver_not_supported">Drivers personalizados não suportados</string>
116 <string name="custom_driver_not_supported_description">Carrea«gamento de drivers personalizados não é suportado pr este dispositivo. \nCheck verifica esta opção de futuro para confirmar se o suporte foi adicionado!</string>
117 <string name="manage_yuzu_data">Administrar dados yuzu</string>
118 <string name="manage_yuzu_data_description">Importa/exporta firmware, chaves, dados do usuário e mais!</string>
119 <string name="share_save_file">Partilha ficheiro duardado</string>
120 <string name="export_save_failed">Erro ao exportar dados guardados</string>
89 121
90 <!-- About screen strings --> 122 <!-- About screen strings -->
91 <string name="gaia_is_not_real">Gaia não é real</string> 123 <string name="gaia_is_not_real">Gaia não é real</string>
@@ -94,7 +126,18 @@
94 <string name="contributors">Contribuidores</string> 126 <string name="contributors">Contribuidores</string>
95 <string name="contributors_description">Feito com \u2764 da equipa do Yuzu</string> 127 <string name="contributors_description">Feito com \u2764 da equipa do Yuzu</string>
96 <string name="contributors_link">https://github.com/yuzu-emu/yuzu/graphs/contributors</string> 128 <string name="contributors_link">https://github.com/yuzu-emu/yuzu/graphs/contributors</string>
129 <string name="licenses_description">Projetos que tornam o yuzu para Android possível</string>
97 <string name="build">Versão</string> 130 <string name="build">Versão</string>
131 <string name="user_data">Dado de utilizados</string>
132 <string name="user_data_description">Importar/exportar todos dados da aplicação data.\n\n Ao importar dados do utilizados, todos os dados existentes do utilizados serão excluídos!</string>
133 <string name="exporting_user_data">A exportar dados de utilizados...</string>
134 <string name="importing_user_data">A importar dados de utilizador...</string>
135 <string name="import_user_data">Importar dados de utilizados...</string>
136 <string name="invalid_yuzu_backup">Backup yuzu inválido</string>
137 <string name="user_data_export_success">Dados de utilizados exportados com sucesso</string>
138 <string name="user_data_import_success">Dados de utilizador importado com sucesso</string>
139 <string name="user_data_export_cancelled">Exportação cancelada</string>
140 <string name="user_data_import_failed_description">Verifiqua se as pastas de dados do utilizados estão na raiz da pasta zip e contêm um arquivo de configuração em config/config.ini e tenta novamente.</string>
98 <string name="support_link">https://discord.gg/u77vRWY</string> 141 <string name="support_link">https://discord.gg/u77vRWY</string>
99 <string name="website_link">https://yuzu-emu.org/</string> 142 <string name="website_link">https://yuzu-emu.org/</string>
100 <string name="github_link">https://github.com/yuzu-emu</string> 143 <string name="github_link">https://github.com/yuzu-emu</string>
@@ -114,41 +157,53 @@
114 <string name="are_you_interested">Estás interessado?</string> 157 <string name="are_you_interested">Estás interessado?</string>
115 158
116 <!-- General settings strings --> 159 <!-- General settings strings -->
117 <string name="frame_limit_enable">Ativar limite de velocidade</string> 160 <string name="frame_limit_enable">Limite de velocidade</string>
118 <string name="frame_limit_enable_description">Quando ativada, a velocidade da emulação será limitada à percentagem definida da velocidade normal.</string> 161 <string name="frame_limit_enable_description">Limita a velocidade da emulação a uma porcentagem específica da velocidade normal.</string>
119 <string name="frame_limit_slider">Percentagem do limite de velocidade</string> 162 <string name="frame_limit_slider">Percentagem do limite de velocidade</string>
120 <string name="frame_limit_slider_description">Especifica o limite da percentagem da velocidade da emulação. Com a velocidade por defeito a 100% a emulação será limitada à velocidade normal. Valores maiores ou menores aumentarão ou diminuirão o limite de velocidade.</string> 163 <string name="frame_limit_slider_description">Especifica a porcentagem para limitar a velocidade de emulação. 100% é o normal. Valores mais altos ou mais baixos irão aumentar ou diminuir o limite de velocidade.</string>
121 <string name="cpu_accuracy">Precisão do CPU</string> 164 <string name="cpu_accuracy">Precisão do CPU</string>
165 <string name="value_with_units">%1$s%2$s</string>
122 166
123 <!-- System settings strings --> 167 <!-- System settings strings -->
124 <string name="use_docked_mode">Modo ancorado</string> 168 <string name="use_docked_mode">Modo Ancorado</string>
125 <string name="use_docked_mode_description">Emula em modo ancorado, que aumenta a resolução ás custas da performance.</string> 169 <string name="use_docked_mode_description">Aumenta a resolução, diminuindo o desempenho. O Modo Portátil é utilizado quando estiver desabilitado, diminuindo a resolução e melhorando o desempenho.</string>
126 <string name="emulated_region">Região da emulação</string> 170 <string name="emulated_region">Região da emulação</string>
127 <string name="emulated_language">Idioma da emulação</string> 171 <string name="emulated_language">Idioma da emulação</string>
128 <string name="select_rtc_date">Seleciona a data RTC</string> 172 <string name="select_rtc_date">Selecione a data do sistema</string>
129 <string name="select_rtc_time">Seleciona a hora RTC</string> 173 <string name="select_rtc_time">Selecione a hora do sistema</string>
130 <string name="use_custom_rtc">Ativa RTC personalizado</string> 174 <string name="use_custom_rtc">RTC personalizado</string>
131 <string name="use_custom_rtc_description">Esta configuração permite definir um RTC personalizado diferente da hora atual do sistema</string> 175 <string name="use_custom_rtc_description">Permite a você configurar um relógio em tempo real separado do relógio do seu dispositivo.</string>
132 <string name="set_custom_rtc">Define RTC personalizado</string> 176 <string name="set_custom_rtc">Defina um relógio em tempo real personalizado</string>
133 177
134 <!-- Graphics settings strings --> 178 <!-- Graphics settings strings -->
135 <string name="renderer_api">API</string>
136 <string name="renderer_accuracy">Nível de precisão</string> 179 <string name="renderer_accuracy">Nível de precisão</string>
137 <string name="renderer_resolution">Resolução</string> 180 <string name="renderer_resolution">Resolução (Portátil/Ancorado)</string>
138 <string name="renderer_vsync">Modo VSync</string> 181 <string name="renderer_vsync">Modo VSync</string>
139 <string name="renderer_aspect_ratio">Proporção do ecrã</string> 182 <string name="renderer_screen_layout">Oriantação</string>
183 <string name="renderer_aspect_ratio">Proporção da tela</string>
140 <string name="renderer_scaling_filter">Filtro de Adaptação da Janela</string> 184 <string name="renderer_scaling_filter">Filtro de Adaptação da Janela</string>
141 <string name="renderer_anti_aliasing">Método de Anti-Aliasing </string> 185 <string name="renderer_anti_aliasing">Método de Anti-Serrilhado</string>
142 <string name="renderer_force_max_clock">Força velocidade máxima (Adreno only)</string> 186 <string name="renderer_force_max_clock">Força velocidade máxima (Adreno only)</string>
143 <string name="renderer_force_max_clock_description">Força o GPU a correr à velocidade máxima (restrições térmicas serão aplicadas)</string> 187 <string name="renderer_force_max_clock_description">Força o GPU a correr à velocidade máxima (restrições térmicas serão aplicadas)</string>
144 <string name="renderer_asynchronous_shaders">Usa shaders assíncronos </string> 188 <string name="renderer_asynchronous_shaders">Usa shaders assíncronos </string>
145 <string name="renderer_asynchronous_shaders_description">Compila shaders assincronamente, que aumentará a fluidez, mas poderá causar falhas.</string> 189 <string name="renderer_asynchronous_shaders_description">Compila os shaders de forma assíncrona, reduzindo travamentos, mas pode apresentar problemas.</string>
190 <string name="renderer_reactive_flushing">Usar flushing reativo</string>
191 <string name="renderer_reactive_flushing_description">Melhora a precisão da renderização em alguns jogos ao custo de desempenho.</string>
192 <string name="use_disk_shader_cache">Cache de shaders em disco</string>
193 <string name="use_disk_shader_cache_description">Reduz travamentos ao armazenar e carregar localmente os shaders.</string>
194
195 <!-- Debug settings strings -->
196 <string name="cpu">CPU</string>
197 <string name="cpu_debug_mode">Depuração da CPU</string>
198 <string name="cpu_debug_mode_description">Coloca a CPU em um modo de depuração lento.</string>
199 <string name="gpu">GPU</string>
200 <string name="renderer_api">API</string>
146 <string name="renderer_debug">Ativar depuração de gráficos</string> 201 <string name="renderer_debug">Ativar depuração de gráficos</string>
147 <string name="renderer_debug_description">Quando selecionado, a API gráfica entra num modo de depuração mais lento.</string> 202 <string name="renderer_debug_description">Quando selecionado, a API gráfica entra num modo de depuração mais lento.</string>
148 <string name="use_disk_shader_cache">Usar cache do disk shader</string> 203 <string name="fastmem">Fastmem</string>
149 <string name="use_disk_shader_cache_description">Aumenta a fluidez ao guardar e carregar shaders gerados para o armazenamento.</string>
150 204
151 <!-- Audio settings strings --> 205 <!-- Audio settings strings -->
206 <string name="audio_output_engine">Motor de saída</string>
152 <string name="audio_volume">Volume</string> 207 <string name="audio_volume">Volume</string>
153 <string name="audio_volume_description">Especifica o volume de saída.</string> 208 <string name="audio_volume_description">Especifica o volume de saída.</string>
154 209
@@ -157,14 +212,24 @@
157 <string name="ini_saved">Configurações guardadas</string> 212 <string name="ini_saved">Configurações guardadas</string>
158 <string name="gameid_saved">Configurações guardadas para %1$s</string> 213 <string name="gameid_saved">Configurações guardadas para %1$s</string>
159 <string name="error_saving">Erro ao guardar %1$s.ini: %2$s</string> 214 <string name="error_saving">Erro ao guardar %1$s.ini: %2$s</string>
215 <string name="unimplemented_menu">Menu não implementado</string>
160 <string name="loading">A carregar...</string> 216 <string name="loading">A carregar...</string>
217 <string name="shutting_down">A desligar...</string>
161 <string name="reset_setting_confirmation">Queres reverter esta definição para os valores padrão?</string> 218 <string name="reset_setting_confirmation">Queres reverter esta definição para os valores padrão?</string>
162 <string name="reset_to_default">Reverter para padrão</string> 219 <string name="reset_to_default">Reverter para padrão</string>
163 <string name="reset_all_settings">Redefinir todas as configurações?</string> 220 <string name="reset_all_settings">Redefinir todas as configurações?</string>
164 <string name="reset_all_settings_description">Todas as configurações avançadas serão redefinidas para as definições padrão. Isto não pode ser revertido.</string> 221 <string name="reset_all_settings_description">Todas as configurações avançadas retornarão ao padrão. Isto não pode ser desfeito.</string>
165 <string name="settings_reset">Redefinir configurações </string> 222 <string name="settings_reset">Redefinir configurações </string>
166 <string name="close">Fechar</string> 223 <string name="close">Fechar</string>
167 <string name="learn_more">Saber Mais</string> 224 <string name="learn_more">Saber mais</string>
225 <string name="auto">Automático</string>
226 <string name="submit">Enviar</string>
227 <string name="string_null">Nenhum (desativado)</string>
228 <string name="string_import">Importar</string>
229 <string name="export">Exportar</string>
230 <string name="export_failed">Exportação falhada</string>
231 <string name="import_failed">IMportação falhada</string>
232 <string name="cancelling">A cancelar</string>
168 233
169 <!-- GPU driver installation --> 234 <!-- GPU driver installation -->
170 <string name="select_gpu_driver">Seleciona a driver para o GPU</string> 235 <string name="select_gpu_driver">Seleciona a driver para o GPU</string>
@@ -172,6 +237,7 @@
172 <string name="select_gpu_driver_install">Instalar</string> 237 <string name="select_gpu_driver_install">Instalar</string>
173 <string name="select_gpu_driver_default">Padrão</string> 238 <string name="select_gpu_driver_default">Padrão</string>
174 <string name="select_gpu_driver_use_default">Usar o driver padrão do GPU</string> 239 <string name="select_gpu_driver_use_default">Usar o driver padrão do GPU</string>
240 <string name="select_gpu_driver_error">Driver selecionado inválido, a usar o padrão do sistema!</string>
175 <string name="system_gpu_driver">Driver do GPU padrão</string> 241 <string name="system_gpu_driver">Driver do GPU padrão</string>
176 <string name="installing_driver">A instalar o Driver...</string> 242 <string name="installing_driver">A instalar o Driver...</string>
177 243
@@ -182,10 +248,11 @@
182 <string name="preferences_graphics">Gráficos</string> 248 <string name="preferences_graphics">Gráficos</string>
183 <string name="preferences_audio">Audio</string> 249 <string name="preferences_audio">Audio</string>
184 <string name="preferences_theme">Cor e tema.</string> 250 <string name="preferences_theme">Cor e tema.</string>
251 <string name="preferences_debug">Depurar</string>
185 252
186 <!-- ROM loading errors --> 253 <!-- ROM loading errors -->
187 <string name="loader_error_encrypted">A tua ROM está encriptada</string> 254 <string name="loader_error_encrypted">A tua ROM está encriptada</string>
188 <string name="loader_error_encrypted_roms_description"><![CDATA[Por favor segue os guias para fazer redump das tuas<a href=\"https://yuzu-emu.org/help/quickstart/#dumping-cartridge-games\">Cartidges de Jogo</a> or <a href=\"https://yuzu-emu.org/help/quickstart/#dumping-installed-titles-eshop\">Jogos Instalados</a>.]]></string> 255 <string name="loader_error_encrypted_roms_description"><![CDATA[Por favor, siga os guias para despejar novamente o seu <a href=\"https://yuzu-emu.org/help/quickstart/#dumping-physical-titles-game-cards\">cartucho de jogo</a> or <a href=\"https://yuzu-emu.org/help/quickstart/#dumping-digital-titles-eshop\">títulos instalados</a>.]]></string>
189 <string name="loader_error_encrypted_keys_description"><![CDATA[Por favor confirma que o teu ficheiro <a href=\"https://yuzu-emu.org/help/quickstart/#dumping-prodkeys-and-titlekeys\">prod.keys</a> está instalado para que os jogos possam ser desencriptados.]]></string> 256 <string name="loader_error_encrypted_keys_description"><![CDATA[Por favor confirma que o teu ficheiro <a href=\"https://yuzu-emu.org/help/quickstart/#dumping-prodkeys-and-titlekeys\">prod.keys</a> está instalado para que os jogos possam ser desencriptados.]]></string>
190 <string name="loader_error_video_core">Ocorreu um erro ao iniciar o núcleo de vídeo.</string> 257 <string name="loader_error_video_core">Ocorreu um erro ao iniciar o núcleo de vídeo.</string>
191 <string name="loader_error_video_core_description">Isto é normalmente causado por um driver de GPU incompatível. Instalar um driver GPU pode resolver este problema.</string> 258 <string name="loader_error_video_core_description">Isto é normalmente causado por um driver de GPU incompatível. Instalar um driver GPU pode resolver este problema.</string>
@@ -193,28 +260,28 @@
193 <string name="loader_error_file_not_found">O ficheiro da ROM não existe</string> 260 <string name="loader_error_file_not_found">O ficheiro da ROM não existe</string>
194 261
195 <!-- Emulation Menu --> 262 <!-- Emulation Menu -->
196 <string name="emulation_exit">Sair da emulação</string> 263 <string name="emulation_exit">Parar emulação</string>
197 <string name="emulation_done">Feito</string> 264 <string name="emulation_done">Feito</string>
198 <string name="emulation_fps_counter">Contador de FPS</string> 265 <string name="emulation_fps_counter">Contador de FPS</string>
199 <string name="emulation_toggle_controls">Alterar Controlos</string> 266 <string name="emulation_toggle_controls">Alterar controles</string>
200 <string name="emulation_rel_stick_center">Centro do Analógico Relativo</string> 267 <string name="emulation_rel_stick_center">Centro Relativo de Analógico</string>
201 <string name="emulation_dpad_slide">Deslizar do DPad</string> 268 <string name="emulation_dpad_slide">Deslizamento dos Botões Direcionais</string>
202 <string name="emulation_haptics">Hápticos </string> 269 <string name="emulation_haptics">Vibração ao tocar</string>
203 <string name="emulation_show_overlay">Mostrar sobreposição </string> 270 <string name="emulation_show_overlay">Mostrar overlay</string>
204 <string name="emulation_toggle_all">Alterar todos</string> 271 <string name="emulation_toggle_all">Marcar/Desmarcar tudo</string>
205 <string name="emulation_control_adjust">Ajustar a sobreposição </string> 272 <string name="emulation_control_adjust">Ajustar overlay</string>
206 <string name="emulation_control_scale">Escala</string> 273 <string name="emulation_control_scale">Escala</string>
207 <string name="emulation_control_opacity">Opacidade</string> 274 <string name="emulation_control_opacity">Opacidade</string>
208 <string name="emulation_touch_overlay_reset">Redefinir Sobreposição </string> 275 <string name="emulation_touch_overlay_reset">Restaurar overlay padrão</string>
209 <string name="emulation_touch_overlay_edit">Editar sobreposição </string> 276 <string name="emulation_touch_overlay_edit">Editar overlay</string>
210 <string name="emulation_pause">Pausa emulação</string> 277 <string name="emulation_pause">Pausar emulação</string>
211 <string name="emulation_unpause">Retomar emulação</string> 278 <string name="emulation_unpause">Despausar emulação</string>
212 <string name="emulation_input_overlay">Opções de sobreposição </string> 279 <string name="emulation_input_overlay">Opções de overlay</string>
213 280
214 <string name="load_settings">Configurações a carregar...</string> 281 <string name="load_settings">Carregando configurações...</string>
215 282
216 <!-- Software keyboard --> 283 <!-- Software keyboard -->
217 <string name="software_keyboard">Teclado de Software</string> 284 <string name="software_keyboard">Teclado de software</string>
218 285
219 <!-- Errors and warnings --> 286 <!-- Errors and warnings -->
220 <string name="abort_button">Abortar</string> 287 <string name="abort_button">Abortar</string>
@@ -226,6 +293,9 @@
226 <string name="fatal_error">Erro fatal</string> 293 <string name="fatal_error">Erro fatal</string>
227 <string name="fatal_error_message">Ocorreu um erro fatal. Verifica o teu registro para detalhes. \nContinuar a emulação pode causar erros.</string> 294 <string name="fatal_error_message">Ocorreu um erro fatal. Verifica o teu registro para detalhes. \nContinuar a emulação pode causar erros.</string>
228 <string name="performance_warning">Desligar esta configuração irá reduzir a performance da emulação significantemente! Para a melhor experiência é recomendado que deixes esta configuração ativada.</string> 295 <string name="performance_warning">Desligar esta configuração irá reduzir a performance da emulação significantemente! Para a melhor experiência é recomendado que deixes esta configuração ativada.</string>
296 <string name="device_memory_inadequate">RAM do dispositivo: %1$s\nRecommended: %2$s</string>
297 <string name="memory_formatted">%1$s %2$s</string>
298 <string name="no_game_present">Nenhum jogo inicializável presente!</string>
229 299
230 <!-- Region Names --> 300 <!-- Region Names -->
231 <string name="region_japan">Japão</string> 301 <string name="region_japan">Japão</string>
@@ -236,7 +306,14 @@
236 <string name="region_korea">Coreia</string> 306 <string name="region_korea">Coreia</string>
237 <string name="region_taiwan">Taiwan</string> 307 <string name="region_taiwan">Taiwan</string>
238 308
239 <!-- Language Names --> 309 <!-- Memory Sizes -->
310 <string name="memory_byte">Byte</string>
311 <string name="memory_kilobyte">KB</string>
312 <string name="memory_megabyte">MB</string>
313 <string name="memory_gigabyte">GB</string>
314 <string name="memory_terabyte">TB</string>
315 <string name="memory_petabyte">PB</string>
316 <string name="memory_exabyte">EB</string>
240 317
241 <!-- Renderer APIs --> 318 <!-- Renderer APIs -->
242 <string name="renderer_vulkan">Vulcano</string> 319 <string name="renderer_vulkan">Vulcano</string>
@@ -274,12 +351,17 @@
274 <string name="anti_aliasing_fxaa">FXAA</string> 351 <string name="anti_aliasing_fxaa">FXAA</string>
275 <string name="anti_aliasing_smaa">SMAA</string> 352 <string name="anti_aliasing_smaa">SMAA</string>
276 353
354 <!-- Screen Layouts -->
355 <string name="screen_layout_landscape">Landscape</string>
356 <string name="screen_layout_portrait">Portrait</string>
357 <string name="screen_layout_auto">Automático</string>
358
277 <!-- Aspect Ratios --> 359 <!-- Aspect Ratios -->
278 <string name="ratio_default">Padrão (16:9)</string> 360 <string name="ratio_default">Padrão (16:9)</string>
279 <string name="ratio_force_four_three">Forçar 4:3</string> 361 <string name="ratio_force_four_three">Forçar 4:3</string>
280 <string name="ratio_force_twenty_one_nine">Forçar 21:9</string> 362 <string name="ratio_force_twenty_one_nine">Forçar 21:9</string>
281 <string name="ratio_force_sixteen_ten">Forçar 16:10</string> 363 <string name="ratio_force_sixteen_ten">Forçar 16:10</string>
282 <string name="ratio_stretch">Esticar à Janela</string> 364 <string name="ratio_stretch">Esticar à janela</string>
283 365
284 <!-- CPU Accuracy --> 366 <!-- CPU Accuracy -->
285 <string name="cpu_accuracy_accurate">Preciso</string> 367 <string name="cpu_accuracy_accurate">Preciso</string>
@@ -287,9 +369,9 @@
287 <string name="cpu_accuracy_paranoid">Paranoid (Lento)</string> 369 <string name="cpu_accuracy_paranoid">Paranoid (Lento)</string>
288 370
289 <!-- Gamepad Buttons --> 371 <!-- Gamepad Buttons -->
290 <string name="gamepad_d_pad">D-Pad</string> 372 <string name="gamepad_d_pad">Botões Direcionais</string>
291 <string name="gamepad_left_stick">Analógico Esquerdo</string> 373 <string name="gamepad_left_stick">Analógico esquerdo</string>
292 <string name="gamepad_right_stick">Analógico Direito</string> 374 <string name="gamepad_right_stick">Analógico direito</string>
293 <string name="gamepad_home">Home</string> 375 <string name="gamepad_home">Home</string>
294 <string name="gamepad_screenshot">Captura de ecrã</string> 376 <string name="gamepad_screenshot">Captura de ecrã</string>
295 377
@@ -298,18 +380,32 @@
298 <string name="building_shaders">A criar shaders</string> 380 <string name="building_shaders">A criar shaders</string>
299 381
300 <!-- Theme options --> 382 <!-- Theme options -->
301 <string name="change_app_theme">Muda o Tema da App</string> 383 <string name="change_app_theme">Mudar o tema do aplicativo</string>
302 <string name="theme_default">Padrão</string> 384 <string name="theme_default">Padrão</string>
303 <string name="theme_material_you">Material You</string> 385 <string name="theme_material_you">Material You</string>
304 386
305 <!-- Theme Modes --> 387 <!-- Theme Modes -->
306 <string name="change_theme_mode">Altera o Modo do Tema</string> 388 <string name="change_theme_mode">Alterar o tema</string>
307 <string name="theme_mode_follow_system">Igual ao Sistema</string> 389 <string name="theme_mode_follow_system">Igual ao Sistema</string>
308 <string name="theme_mode_light">Claro</string> 390 <string name="theme_mode_light">Claro</string>
309 <string name="theme_mode_dark">Escuro</string> 391 <string name="theme_mode_dark">Escuro</string>
310 392
393 <!-- Audio output engines -->
394 <string name="cubeb">cubeb</string>
395
311 <!-- Black backgrounds theme --> 396 <!-- Black backgrounds theme -->
312 <string name="use_black_backgrounds">Usa Fundos Escuros</string> 397 <string name="use_black_backgrounds">Plano de fundo preto</string>
313 <string name="use_black_backgrounds_description">Quando usar tema escuro, aplicar fundos escuros</string> 398 <string name="use_black_backgrounds_description">Quando usar tema escuro, aplicar fundos escuros</string>
314 399
315</resources> 400 <!-- Picture-In-Picture -->
401 <string name="picture_in_picture">Picture in Picture</string>
402 <string name="picture_in_picture_description">Minimizar a janela quando colocada em segundo plano</string>
403 <string name="pause">Pausa</string>
404 <string name="play">Correr</string>
405 <string name="mute">Mute</string>
406 <string name="unmute">Unmute</string>
407
408 <!-- Licenses screen strings -->
409 <string name="licenses">Licenças</string>
410 <string name="license_fidelityfx_fsr_description">Upscaling de alta qualidade da AMD</string>
411 </resources>
diff --git a/src/android/app/src/main/res/values-ru/strings.xml b/src/android/app/src/main/res/values-ru/strings.xml
index 0bef035d6..c614257a8 100644
--- a/src/android/app/src/main/res/values-ru/strings.xml
+++ b/src/android/app/src/main/res/values-ru/strings.xml
@@ -1,5 +1,5 @@
1<?xml version="1.0" encoding="utf-8"?> 1<?xml version="1.0" encoding="utf-8"?>
2<resources> 2<resources xmlns:tools="http://schemas.android.com/tools" tools:ignore="MissingTranslation">
3 3
4 <string name="app_disclaimer">Это программное обеÑпечение позволÑет запуÑкать игры Ð´Ð»Ñ Ð¸Ð³Ñ€Ð¾Ð²Ð¾Ð¹ конÑоли Nintendo Switch. Мы не предоÑтавлÑем Ñами игры или ключи.&lt;br /&gt;&lt;br /&gt;Перед началом работы найдите файл <![CDATA[<b> prod.keys </b>]]> в хранилище уÑтройÑтва..&lt;br /&gt;&lt;br /&gt;<![CDATA[<a href=\"https://yuzu-emu.org/help/quickstart\">Узнать больше</a>]]></string> 4 <string name="app_disclaimer">Это программное обеÑпечение позволÑет запуÑкать игры Ð´Ð»Ñ Ð¸Ð³Ñ€Ð¾Ð²Ð¾Ð¹ конÑоли Nintendo Switch. Мы не предоÑтавлÑем Ñами игры или ключи.&lt;br /&gt;&lt;br /&gt;Перед началом работы найдите файл <![CDATA[<b> prod.keys </b>]]> в хранилище уÑтройÑтва..&lt;br /&gt;&lt;br /&gt;<![CDATA[<a href=\"https://yuzu-emu.org/help/quickstart\">Узнать больше</a>]]></string>
5 <string name="emulation_notification_channel_name">ЭмулÑÑ†Ð¸Ñ Ð°ÐºÑ‚Ð¸Ð²Ð½Ð°</string> 5 <string name="emulation_notification_channel_name">ЭмулÑÑ†Ð¸Ñ Ð°ÐºÑ‚Ð¸Ð²Ð½Ð°</string>
@@ -7,7 +7,7 @@
7 <string name="emulation_notification_running">yuzu запущен</string> 7 <string name="emulation_notification_running">yuzu запущен</string>
8 <string name="notice_notification_channel_name">Ð£Ð²ÐµÐ´Ð¾Ð¼Ð»ÐµÐ½Ð¸Ñ Ð¸ ошибки</string> 8 <string name="notice_notification_channel_name">Ð£Ð²ÐµÐ´Ð¾Ð¼Ð»ÐµÐ½Ð¸Ñ Ð¸ ошибки</string>
9 <string name="notice_notification_channel_description">Показывать уведомлениÑ, когда что-то пошло не так</string> 9 <string name="notice_notification_channel_description">Показывать уведомлениÑ, когда что-то пошло не так</string>
10 <string name="notification_permission_not_granted">Ð’Ñ‹ не предоÑтавили разрешение уведомлений!</string> 10 <string name="notification_permission_not_granted">Ð’Ñ‹ не предоÑтавили разрешение на уведомлениÑ!</string>
11 11
12 <!-- Setup strings --> 12 <!-- Setup strings -->
13 <string name="welcome">Добро пожаловать!</string> 13 <string name="welcome">Добро пожаловать!</string>
@@ -25,6 +25,7 @@
25 <string name="back">Ðазад</string> 25 <string name="back">Ðазад</string>
26 <string name="add_games">Добавить игры</string> 26 <string name="add_games">Добавить игры</string>
27 <string name="add_games_description">Выберите папку Ñ Ð¸Ð³Ñ€Ð°Ð¼Ð¸</string> 27 <string name="add_games_description">Выберите папку Ñ Ð¸Ð³Ñ€Ð°Ð¼Ð¸</string>
28 <string name="step_complete">Выполнено!</string>
28 29
29 <!-- Home strings --> 30 <!-- Home strings -->
30 <string name="home_games">Игры</string> 31 <string name="home_games">Игры</string>
@@ -38,6 +39,7 @@
38 <string name="add_games_warning_description">Игры не будут отображатьÑÑ Ð² ÑпиÑке Игры, еÑли папка не выбрана.</string> 39 <string name="add_games_warning_description">Игры не будут отображатьÑÑ Ð² ÑпиÑке Игры, еÑли папка не выбрана.</string>
39 <string name="add_games_warning_help">https://yuzu-emu.org/help/quickstart/#dumping-games</string> 40 <string name="add_games_warning_help">https://yuzu-emu.org/help/quickstart/#dumping-games</string>
40 <string name="home_search_games">Ðайти игры</string> 41 <string name="home_search_games">Ðайти игры</string>
42 <string name="search_settings">ÐаÑтройки поиÑка</string>
41 <string name="games_dir_selected">Выбрана папка Ñ Ð¸Ð³Ñ€Ð°Ð¼Ð¸</string> 43 <string name="games_dir_selected">Выбрана папка Ñ Ð¸Ð³Ñ€Ð°Ð¼Ð¸</string>
42 <string name="install_prod_keys">УÑтановить prod.keys</string> 44 <string name="install_prod_keys">УÑтановить prod.keys</string>
43 <string name="install_prod_keys_description">ТребуетÑÑ Ð´Ð»Ñ Ñ€Ð°Ñшифровки розничных игр</string> 45 <string name="install_prod_keys_description">ТребуетÑÑ Ð´Ð»Ñ Ñ€Ð°Ñшифровки розничных игр</string>
@@ -61,14 +63,17 @@
61 <string name="invalid_keys_file">Выбран неверный файл ключей</string> 63 <string name="invalid_keys_file">Выбран неверный файл ключей</string>
62 <string name="install_keys_success">Ключи уÑпешно уÑтановлены</string> 64 <string name="install_keys_success">Ключи уÑпешно уÑтановлены</string>
63 <string name="reading_keys_failure">Ошибка при чтении ключей шифрованиÑ</string> 65 <string name="reading_keys_failure">Ошибка при чтении ключей шифрованиÑ</string>
66 <string name="install_prod_keys_failure_extension_description">УбедитеÑÑŒ, что файл ключей имеет раÑширение .keys, и повторите попытку.</string>
67 <string name="install_amiibo_keys_failure_extension_description">УбедитеÑÑŒ, что файл ключей имеет раÑширение .bin, и повторите попытку.</string>
64 <string name="invalid_keys_error">Ðеверные ключи шифрованиÑ</string> 68 <string name="invalid_keys_error">Ðеверные ключи шифрованиÑ</string>
65 <string name="dumping_keys_quickstart_link">https://yuzu-emu.org/help/quickstart/#dumping-decryption-keys</string> 69 <string name="dumping_keys_quickstart_link">https://yuzu-emu.org/help/quickstart/#dumping-decryption-keys</string>
66 <string name="install_keys_failure_description">Выбранный файл неверен или поврежден. ПожалуйÑта, пере-дампите ваши ключи.</string> 70 <string name="install_keys_failure_description">Выбранный файл неверен или поврежден. ПожалуйÑта, пере-дампите ваши ключи.</string>
67 <string name="install_gpu_driver">УÑтановить драйвер ГП</string> 71 <string name="install_gpu_driver">УÑтановить драйвер ГП</string>
68 <string name="install_gpu_driver_description">УÑтановите альтернативные драйверы Ð´Ð»Ñ Ð¿Ð¾Ñ‚ÐµÐ½Ñ†Ð¸Ð°Ð»ÑŒÐ½Ð¾ лучшей производительноÑти и/или точноÑти</string> 72 <string name="install_gpu_driver_description">УÑтановите альтернативные драйверы Ð´Ð»Ñ Ð¿Ð¾Ñ‚ÐµÐ½Ñ†Ð¸Ð°Ð»ÑŒÐ½Ð¾ лучшей производительноÑти и/или точноÑти</string>
69 <string name="advanced_settings">РаÑширенные наÑтройки</string> 73 <string name="advanced_settings">РаÑширенные наÑтройки</string>
74 <string name="advanced_settings_game">РаÑширенные наÑтройки: %1$s</string>
70 <string name="settings_description">ÐаÑтройка параметров ÑмулÑтора</string> 75 <string name="settings_description">ÐаÑтройка параметров ÑмулÑтора</string>
71 <string name="search_recently_played">Ðедавно Ñыграно</string> 76 <string name="search_recently_played">Ðедавно Ñыгранные</string>
72 <string name="search_recently_added">Ðедавно добавлено</string> 77 <string name="search_recently_added">Ðедавно добавлено</string>
73 <string name="search_retail">Розничные</string> 78 <string name="search_retail">Розничные</string>
74 <string name="search_homebrew">Homebrew</string> 79 <string name="search_homebrew">Homebrew</string>
@@ -86,6 +91,34 @@
86 <string name="save_file_invalid_zip_structure_description">Ðазвание первой вложенной папки должно быть идентификатором игры.</string> 91 <string name="save_file_invalid_zip_structure_description">Ðазвание первой вложенной папки должно быть идентификатором игры.</string>
87 <string name="import_saves">Импорт</string> 92 <string name="import_saves">Импорт</string>
88 <string name="export_saves">ЭкÑпорт</string> 93 <string name="export_saves">ЭкÑпорт</string>
94 <string name="install_firmware">УÑтановить прошивку</string>
95 <string name="install_firmware_description">Прошивка должна находитьÑÑ Ð² ZIP-архиве и необходима Ð´Ð»Ñ Ð·Ð°Ð³Ñ€ÑƒÐ·ÐºÐ¸ некоторых игр</string>
96 <string name="firmware_installing">УÑтановка прошивки</string>
97 <string name="firmware_installed_success">Прошивка уÑпешно уÑтановлена</string>
98 <string name="firmware_installed_failure">Ðе удалоÑÑŒ уÑтановить прошивку</string>
99 <string name="firmware_installed_failure_description">УбедитеÑÑŒ что файлы прошивки nca находÑÑ‚ÑÑ Ð² корне zip-архива и повторите попытку.</string>
100 <string name="share_log">ПоделитьÑÑ Ð¶ÑƒÑ€Ð½Ð°Ð»Ð¾Ð¼ отладки</string>
101 <string name="share_log_description">ПоделитьÑÑ Ð¶ÑƒÑ€Ð½Ð°Ð»Ð¾Ð¼ отладки yuzu Ð´Ð»Ñ ÑƒÑÑ‚Ñ€Ð°Ð½ÐµÐ½Ð¸Ñ Ð¿Ñ€Ð¾Ð±Ð»ÐµÐ¼</string>
102 <string name="share_log_missing">Файл журнала не найден</string>
103 <string name="install_game_content">УÑтановить игровой контент</string>
104 <string name="install_game_content_description">УÑтановить Ð¾Ð±Ð½Ð¾Ð²Ð»ÐµÐ½Ð¸Ñ Ð¸Ð³Ñ€Ñ‹ или дополнений</string>
105 <string name="installing_game_content">УÑтановка контента...</string>
106 <string name="install_game_content_failure">Ошибка уÑтановки файл(ов) в NAND.</string>
107 <string name="install_game_content_failure_description">УбедитеÑÑŒ что Ñодержимое допуÑтимо и что файл prod.keys уÑтановлен.</string>
108 <string name="install_game_content_failure_base">УÑтановка базовых игр запрещена во избежание возможных конфликтов.</string>
109 <string name="install_game_content_failure_file_extension">ПоддерживаетÑÑ Ñ‚Ð¾Ð»ÑŒÐºÐ¾ контент NSP и XCI. ПожалуйÑта убедитеÑÑŒ что игровой контент дейÑтвителен.</string>
110 <string name="install_game_content_failed_count">%1$d ошибка уÑтановки</string>
111 <string name="install_game_content_success">Игровой контент уÑпешно уÑтановлен</string>
112 <string name="install_game_content_success_install">%1$d УÑпешно уÑтановлено</string>
113 <string name="install_game_content_success_overwrite">%1$d УÑпешно перезапиÑано</string>
114 <string name="install_game_content_help_link">https://yuzu-emu.org/help/quickstart/#dumping-installed-updates</string>
115 <string name="custom_driver_not_supported">ПользовательÑкие драйверы не поддерживаютÑÑ</string>
116 <string name="custom_driver_not_supported_description">Загрузка пользовательÑкого драйвера в наÑтоÑщее Ð²Ñ€ÐµÐ¼Ñ Ð½Ðµ поддерживаетÑÑ Ð´Ð»Ñ Ñтого уÑтройÑтва.\nПроверьте Ñтот параметр еще раз в будущем чтобы узнать была ли добавлена ​​поддержка!
117 </string>
118 <string name="manage_yuzu_data">Управление данными yuzu</string>
119 <string name="manage_yuzu_data_description">Импортируйте/ÑкÑпортируйте прошивку, ключи, пользовательÑкие данные и многое другое!</string>
120 <string name="share_save_file">ПоделитьÑÑ Ñ„Ð°Ð¹Ð»Ð¾Ð¼ ÑохранениÑ</string>
121 <string name="export_save_failed">Ðе удалоÑÑŒ ÑкÑпортировать Ñохранение</string>
89 122
90 <!-- About screen strings --> 123 <!-- About screen strings -->
91 <string name="gaia_is_not_real">Gaia не ÑущеÑтвует</string> 124 <string name="gaia_is_not_real">Gaia не ÑущеÑтвует</string>
@@ -94,7 +127,18 @@
94 <string name="contributors">Контрибьюторы</string> 127 <string name="contributors">Контрибьюторы</string>
95 <string name="contributors_description">Сделано Ñ \u2764 от команды yuzu</string> 128 <string name="contributors_description">Сделано Ñ \u2764 от команды yuzu</string>
96 <string name="contributors_link">https://github.com/yuzu-emu/yuzu/graphs/contributors</string> 129 <string name="contributors_link">https://github.com/yuzu-emu/yuzu/graphs/contributors</string>
130 <string name="licenses_description">Проекты, которые Ñделали yuzu Ð´Ð»Ñ Android возможным</string>
97 <string name="build">Сборка</string> 131 <string name="build">Сборка</string>
132 <string name="user_data">Данные пользователÑ</string>
133 <string name="user_data_description">Импортируйте/ÑкÑпортируйте вÑе данные приложениÑ.\n\nПри импорте пользовательÑких данных вÑе ÑущеÑтвующие пользовательÑкие данные будут удалены!</string>
134 <string name="exporting_user_data">ЭкÑпорт пользовательÑких данных…</string>
135 <string name="importing_user_data">Импорт пользовательÑких данных…</string>
136 <string name="import_user_data">Импортировать пользовательÑкие данные</string>
137 <string name="invalid_yuzu_backup">ÐÐµÐ²ÐµÑ€Ð½Ð°Ñ Ñ€ÐµÐ·ÐµÑ€Ð²Ð½Ð°Ñ ÐºÐ¾Ð¿Ð¸Ñ yuzu</string>
138 <string name="user_data_export_success">ПользовательÑкие данные уÑпешно ÑкÑпортированы</string>
139 <string name="user_data_import_success">ПользовательÑкие данные уÑпешно импортированы</string>
140 <string name="user_data_export_cancelled">ЭкÑпорт отменен</string>
141 <string name="user_data_import_failed_description">УбедитеÑÑŒ что папки пользовательÑких данных находÑÑ‚ÑÑ Ð² корне zip-папки и Ñодержат файл конфигурации config/config.ini и повторите попытку.</string>
98 <string name="support_link">https://discord.gg/u77vRWY</string> 142 <string name="support_link">https://discord.gg/u77vRWY</string>
99 <string name="website_link">https://yuzu-emu.org/</string> 143 <string name="website_link">https://yuzu-emu.org/</string>
100 <string name="github_link">https://github.com/yuzu-emu</string> 144 <string name="github_link">https://github.com/yuzu-emu</string>
@@ -114,41 +158,51 @@
114 <string name="are_you_interested">Ð’Ñ‹ заинтереÑованы?</string> 158 <string name="are_you_interested">Ð’Ñ‹ заинтереÑованы?</string>
115 159
116 <!-- General settings strings --> 160 <!-- General settings strings -->
117 <string name="frame_limit_enable">Ðключить ограничение ÑкороÑти</string> 161 <string name="frame_limit_enable">Ограничить ÑкороÑть</string>
118 <string name="frame_limit_enable_description">ЕÑли Ñта Ñ„ÑƒÐ½ÐºÑ†Ð¸Ñ Ð²ÐºÐ»ÑŽÑ‡ÐµÐ½Ð°, ÑкороÑть ÑмулÑции будет ограничена указанным процентом от нормальной ÑкороÑти.</string> 162 <string name="frame_limit_enable_description">Ограничивает ÑкороÑть ÑмулÑции указанным процентом от нормальной ÑкороÑти.</string>
119 <string name="frame_limit_slider">Ограничение процента cкороÑти</string> 163 <string name="frame_limit_slider">Ограничение процента cкороÑти</string>
120 <string name="frame_limit_slider_description">Указывает процент Ð´Ð»Ñ Ð¾Ð³Ñ€Ð°Ð½Ð¸Ñ‡ÐµÐ½Ð¸Ñ ÑкороÑти ÑмулÑции. При значении по умолчанию 100% ÑмулÑÑ†Ð¸Ñ Ð±ÑƒÐ´ÐµÑ‚ ограничена нормальной ÑкороÑтью. Ð—Ð½Ð°Ñ‡ÐµÐ½Ð¸Ñ Ð²Ñ‹ÑˆÐµ или ниже будут увеличивать или уменьшать ограничение ÑкороÑти.</string> 164 <string name="frame_limit_slider_description">Указывает процент Ð¾Ð³Ñ€Ð°Ð½Ð¸Ñ‡ÐµÐ½Ð¸Ñ ÑкороÑти ÑмулÑции. 100% - Ñто Ð½Ð¾Ñ€Ð¼Ð°Ð»ÑŒÐ½Ð°Ñ ÑкороÑть. Ð—Ð½Ð°Ñ‡ÐµÐ½Ð¸Ñ Ð±Ð¾Ð»ÑŒÑˆÐµ или меньше увеличивают или уменьшают ограничение ÑкороÑти.</string>
121 <string name="cpu_accuracy">ТочноÑть ЦП</string> 165 <string name="cpu_accuracy">ТочноÑть ЦП</string>
166 <string name="value_with_units">%1$s%2$s</string>
122 167
123 <!-- System settings strings --> 168 <!-- System settings strings -->
124 <string name="use_docked_mode">Режим док-Ñтанции</string> 169 <string name="use_docked_mode">Режим док-Ñтанции</string>
125 <string name="use_docked_mode_description">ЭмулÑÑ†Ð¸Ñ Ñ€ÐµÐ¶Ð¸Ð¼Ð° док-Ñтанции, что увеличивает разрешение за Ñчет ÑÐ½Ð¸Ð¶ÐµÐ½Ð¸Ñ Ð¿Ñ€Ð¾Ð¸Ð·Ð²Ð¾Ð´Ð¸Ñ‚ÐµÐ»ÑŒÐ½Ð¾Ñти.</string> 170 <string name="use_docked_mode_description">Увеличивает разрешение, ÑÐ½Ð¸Ð¶Ð°Ñ Ð¿Ñ€Ð¾Ð¸Ð·Ð²Ð¾Ð´Ð¸Ñ‚ÐµÐ»ÑŒÐ½Ð¾Ñть. Портативный режим иÑпользуетÑÑ Ð¿Ñ€Ð¸ отключении, ÑÐ½Ð¸Ð¶Ð°Ñ Ñ€Ð°Ð·Ñ€ÐµÑˆÐµÐ½Ð¸Ðµ и Ð¿Ð¾Ð²Ñ‹ÑˆÐ°Ñ Ð¿Ñ€Ð¾Ð¸Ð·Ð²Ð¾Ð´Ð¸Ñ‚ÐµÐ»ÑŒÐ½Ð¾Ñть.</string>
126 <string name="emulated_region">Эмулируемый регион</string> 171 <string name="emulated_region">Регион конÑоли</string>
127 <string name="emulated_language">ЭмулируемÑй Ñзык</string> 172 <string name="emulated_language">ЯзÑк конÑоли</string>
128 <string name="select_rtc_date">Выберите дату RTC</string> 173 <string name="select_rtc_date">Выберите дату RTC</string>
129 <string name="select_rtc_time">Выберите Ð²Ñ€ÐµÐ¼Ñ RTC</string> 174 <string name="select_rtc_time">Выберите Ð²Ñ€ÐµÐ¼Ñ RTC</string>
130 <string name="use_custom_rtc">Ðключить пользовательÑкий RTC</string> 175 <string name="use_custom_rtc">ПользовательÑкий RTC</string>
131 <string name="use_custom_rtc_description">Этот параметр позволÑет уÑтановить пользовательÑкие чаÑÑ‹ реального времени отдельно от текущего ÑиÑтемного времени</string> 176 <string name="use_custom_rtc_description">ПозволÑет уÑтановить пользовательÑкие чаÑÑ‹ реального времени отдельно от текущего ÑиÑтемного времени.</string>
132 <string name="set_custom_rtc">УÑтановить пользовательÑкий RTC</string> 177 <string name="set_custom_rtc">УÑтановить пользовательÑкий RTC</string>
133 178
134 <!-- Graphics settings strings --> 179 <!-- Graphics settings strings -->
135 <string name="renderer_api">API</string>
136 <string name="renderer_accuracy">Уровень точноÑти</string> 180 <string name="renderer_accuracy">Уровень точноÑти</string>
137 <string name="renderer_resolution">Разрешение</string> 181 <string name="renderer_resolution">Разрешение (портативное/в док-Ñтанции)</string>
138 <string name="renderer_vsync">Режим верт. Ñинхронизации</string> 182 <string name="renderer_vsync">Режим верт. Ñинхронизации</string>
183 <string name="renderer_screen_layout">ОриентациÑ</string>
139 <string name="renderer_aspect_ratio">Соотношение Ñторон</string> 184 <string name="renderer_aspect_ratio">Соотношение Ñторон</string>
140 <string name="renderer_scaling_filter">Фильтр адаптации окна</string> 185 <string name="renderer_scaling_filter">Фильтр адаптации окна</string>
141 <string name="renderer_anti_aliasing">Метод ÑглаживаниÑ</string> 186 <string name="renderer_anti_aliasing">Метод ÑглаживаниÑ</string>
142 <string name="renderer_force_max_clock">Принудительно заÑтавить макÑимальную тактовую чаÑтоту (только Ð´Ð»Ñ Adreno)</string> 187 <string name="renderer_force_max_clock">Принудительно заÑтавить макÑимальную тактовую чаÑтоту (только Ð´Ð»Ñ Adreno)</string>
143 <string name="renderer_force_max_clock_description">ЗаÑтавлÑет ГП работать на макÑимально возможных тактовых чаÑтотах (тепловые Ð¾Ð³Ñ€Ð°Ð½Ð¸Ñ‡ÐµÐ½Ð¸Ñ Ð²Ñе равно будут применÑтьÑÑ).</string> 188 <string name="renderer_force_max_clock_description">ЗаÑтавлÑет ГП работать на макÑимально возможных тактовых чаÑтотах (тепловые Ð¾Ð³Ñ€Ð°Ð½Ð¸Ñ‡ÐµÐ½Ð¸Ñ Ð²Ñе равно будут применÑтьÑÑ).</string>
144 <string name="renderer_asynchronous_shaders">ИÑпользовать аÑинхронные шейдеры</string> 189 <string name="renderer_asynchronous_shaders">ИÑпользовать аÑинхронные шейдеры</string>
145 <string name="renderer_asynchronous_shaders_description">Компилирует шейдеры аÑинхронно, что уменьшает завиÑаниÑ, но может взамен предоÑтавить визуальные баги.</string> 190 <string name="renderer_asynchronous_shaders_description">КомпилÑÑ†Ð¸Ñ ÑˆÐµÐ¹Ð´ÐµÑ€Ð¾Ð² проиÑходит аÑинхронно, что уменьшает завиÑаниÑ, но может привеÑти к поÑвлению багов.</string>
146 <string name="renderer_debug">Включить отладку графики</string> 191 <string name="renderer_reactive_flushing">Ð ÐµÐ°ÐºÑ‚Ð¸Ð²Ð½Ð°Ñ Ð¾Ñ‡Ð¸Ñтка</string>
147 <string name="renderer_debug_description">ЕÑли включено, графичеÑкий API переходит в более медленный режим отладки</string> 192 <string name="renderer_reactive_flushing_description">Повышение точноÑти рендеринга в некоторых играх за Ñчет ÑÐ½Ð¸Ð¶ÐµÐ½Ð¸Ñ Ð¿Ñ€Ð¾Ð¸Ð·Ð²Ð¾Ð´Ð¸Ñ‚ÐµÐ»ÑŒÐ½Ð¾Ñти.</string>
148 <string name="use_disk_shader_cache">ИÑпользовать кÑш шейдеров на диÑке</string> 193 <string name="use_disk_shader_cache">КÑш шейдеров на диÑке</string>
149 <string name="use_disk_shader_cache_description">Уменьшение завиÑаний за Ñчет Ñ…Ñ€Ð°Ð½ÐµÐ½Ð¸Ñ Ð¸ загрузки Ñгенерированных шейдеров на хранилище.</string> 194 <string name="use_disk_shader_cache_description">Уменьшение завиÑаний за Ñчет Ñ…Ñ€Ð°Ð½ÐµÐ½Ð¸Ñ Ð¸ загрузки Ñгенерированных шейдеров.</string>
195
196 <!-- Debug settings strings -->
197 <string name="cpu">ЦП</string>
198 <string name="cpu_debug_mode">Отладка ЦП</string>
199 <string name="cpu_debug_mode_description">Переводит ЦП в режим медленной отладки.</string>
200 <string name="gpu">графичеÑкий процеÑÑор</string>
201 <string name="renderer_api">API</string>
202 <string name="renderer_debug">Отладка графики</string>
203 <string name="renderer_debug_description">Переводит графичеÑкий API в режим медленной отладки.</string>
204 <string name="fastmem">Fastmem</string>
150 205
151 <!-- Audio settings strings -->
152 <string name="audio_volume">ГромкоÑть</string> 206 <string name="audio_volume">ГромкоÑть</string>
153 <string name="audio_volume_description">Задает громкоÑть аудиовыхода.</string> 207 <string name="audio_volume_description">Задает громкоÑть аудиовыхода.</string>
154 208
@@ -157,7 +211,9 @@
157 <string name="ini_saved">Сохраненные наÑтройки</string> 211 <string name="ini_saved">Сохраненные наÑтройки</string>
158 <string name="gameid_saved">ÐаÑтройки Ñохранены Ð´Ð»Ñ %1$s</string> 212 <string name="gameid_saved">ÐаÑтройки Ñохранены Ð´Ð»Ñ %1$s</string>
159 <string name="error_saving">Ошибка ÑÐ¾Ñ…Ñ€Ð°Ð½ÐµÐ½Ð¸Ñ %1$s.ini: %2$s</string> 213 <string name="error_saving">Ошибка ÑÐ¾Ñ…Ñ€Ð°Ð½ÐµÐ½Ð¸Ñ %1$s.ini: %2$s</string>
214 <string name="unimplemented_menu">Ðереализованное меню</string>
160 <string name="loading">Загрузка...</string> 215 <string name="loading">Загрузка...</string>
216 <string name="shutting_down">Выключение…</string>
161 <string name="reset_setting_confirmation">Хотите ли вы вернуть Ñтот параметр к значению по умолчанию?</string> 217 <string name="reset_setting_confirmation">Хотите ли вы вернуть Ñтот параметр к значению по умолчанию?</string>
162 <string name="reset_to_default">Ð¡Ð±Ñ€Ð¾Ñ Ðº наÑтройкам по умолчанию</string> 218 <string name="reset_to_default">Ð¡Ð±Ñ€Ð¾Ñ Ðº наÑтройкам по умолчанию</string>
163 <string name="reset_all_settings">СброÑить вÑе наÑтройки?</string> 219 <string name="reset_all_settings">СброÑить вÑе наÑтройки?</string>
@@ -165,6 +221,14 @@
165 <string name="settings_reset">ÐаÑтройки Ñброшены</string> 221 <string name="settings_reset">ÐаÑтройки Ñброшены</string>
166 <string name="close">Закрыть</string> 222 <string name="close">Закрыть</string>
167 <string name="learn_more">Узнать больше</string> 223 <string name="learn_more">Узнать больше</string>
224 <string name="auto">Ðвто</string>
225 <string name="submit">Отправить</string>
226 <string name="string_null">Null</string>
227 <string name="string_import">Импорт</string>
228 <string name="export">ЭкÑпорт</string>
229 <string name="export_failed">Ошибка ÑкÑпорта</string>
230 <string name="import_failed">Ошибка импортированиÑ</string>
231 <string name="cancelling">ОтменÑÑŽ</string>
168 232
169 <!-- GPU driver installation --> 233 <!-- GPU driver installation -->
170 <string name="select_gpu_driver">Выбрать драйвер ГП</string> 234 <string name="select_gpu_driver">Выбрать драйвер ГП</string>
@@ -172,6 +236,7 @@
172 <string name="select_gpu_driver_install">УÑтановить</string> 236 <string name="select_gpu_driver_install">УÑтановить</string>
173 <string name="select_gpu_driver_default">По умолчанию</string> 237 <string name="select_gpu_driver_default">По умолчанию</string>
174 <string name="select_gpu_driver_use_default">ИÑпользуетÑÑ Ñтандартный драйвер ГП </string> 238 <string name="select_gpu_driver_use_default">ИÑпользуетÑÑ Ñтандартный драйвер ГП </string>
239 <string name="select_gpu_driver_error">Выбран неверный драйвер, иÑпользуетÑÑ Ñтандартный ÑиÑтемный!</string>
175 <string name="system_gpu_driver">СиÑтемный драйвер ГП</string> 240 <string name="system_gpu_driver">СиÑтемный драйвер ГП</string>
176 <string name="installing_driver">УÑтановка драйвера...</string> 241 <string name="installing_driver">УÑтановка драйвера...</string>
177 242
@@ -182,10 +247,11 @@
182 <string name="preferences_graphics">Графика</string> 247 <string name="preferences_graphics">Графика</string>
183 <string name="preferences_audio">Ðудио</string> 248 <string name="preferences_audio">Ðудио</string>
184 <string name="preferences_theme">Тема и цвет</string> 249 <string name="preferences_theme">Тема и цвет</string>
250 <string name="preferences_debug">Отладка</string>
185 251
186 <!-- ROM loading errors --> 252 <!-- ROM loading errors -->
187 <string name="loader_error_encrypted">Ваш ROM зашифрованный</string> 253 <string name="loader_error_encrypted">Ваш ROM зашифрованный</string>
188 <string name="loader_error_encrypted_roms_description"><![CDATA[ПожалуйÑта, Ñледуйте инÑтрукциÑм, чтобы пере-дампить ваши <a href=\"https://yuzu-emu.org/help/quickstart/#dumping-cartridge-games\">игровые картриджи</a> или <a href=\"https://yuzu-emu.org/help/quickstart/#dumping-installed-titles-eshop\">уÑтановленные игры</a>.]]></string> 254 <string name="loader_error_encrypted_roms_description"><![CDATA[Следуйте инÑтрукциÑм, чтобы пере-дампить игровые картриджи <a href=\"https://yuzu-emu.org/help/quickstart/#dumping-physical-titles-game-cards\"> или <a href=\"https://yuzu-emu.org/help/quickstart/#dumping-digital-titles-eshop\"> уÑтановленные игры</a>.]]></string>
189 <string name="loader_error_encrypted_keys_description"><![CDATA[ПожалуйÑта, убедитеÑÑŒ, что ваш файл <a href=\"https://yuzu-emu.org/help/quickstart/#dumping-prodkeys-and-titlekeys\">prod.keys</a> уÑтановлен, чтобы игры можно было раÑшифровать.]]></string> 255 <string name="loader_error_encrypted_keys_description"><![CDATA[ПожалуйÑта, убедитеÑÑŒ, что ваш файл <a href=\"https://yuzu-emu.org/help/quickstart/#dumping-prodkeys-and-titlekeys\">prod.keys</a> уÑтановлен, чтобы игры можно было раÑшифровать.]]></string>
190 <string name="loader_error_video_core">Произошла ошибка при инициализации видеоÑдра.</string> 256 <string name="loader_error_video_core">Произошла ошибка при инициализации видеоÑдра.</string>
191 <string name="loader_error_video_core_description">Обычно Ñто вызвано неÑовмеÑтимым драйвером ГП. УÑтановка пользовательÑкого драйвера ГП может решить Ñту проблему.</string> 257 <string name="loader_error_video_core_description">Обычно Ñто вызвано неÑовмеÑтимым драйвером ГП. УÑтановка пользовательÑкого драйвера ГП может решить Ñту проблему.</string>
@@ -199,17 +265,17 @@
199 <string name="emulation_toggle_controls">Переключение управлениÑ</string> 265 <string name="emulation_toggle_controls">Переключение управлениÑ</string>
200 <string name="emulation_rel_stick_center">ОтноÑительный центр Ñтика</string> 266 <string name="emulation_rel_stick_center">ОтноÑительный центр Ñтика</string>
201 <string name="emulation_dpad_slide">Слайд креÑтовиной</string> 267 <string name="emulation_dpad_slide">Слайд креÑтовиной</string>
202 <string name="emulation_haptics">Ð¢Ð°ÐºÑ‚Ð¸Ð»ÑŒÐ½Ð°Ñ Ð¾Ð±Ñ€Ð°Ñ‚Ð½Ð°Ñ ÑвÑзь</string> 268 <string name="emulation_haptics">ÐžÐ±Ñ€Ð°Ñ‚Ð½Ð°Ñ ÑвÑзь от нажатий</string>
203 <string name="emulation_show_overlay">Показать оверлей</string> 269 <string name="emulation_show_overlay">Показать оверлей</string>
204 <string name="emulation_toggle_all">Переключить вÑÑ‘</string> 270 <string name="emulation_toggle_all">Переключить вÑÑ‘</string>
205 <string name="emulation_control_adjust">ÐаÑтроить оверлей</string> 271 <string name="emulation_control_adjust">Регулировка оверлеÑ</string>
206 <string name="emulation_control_scale">МаÑштаб</string> 272 <string name="emulation_control_scale">МаÑштаб</string>
207 <string name="emulation_control_opacity">ÐепрозрачноÑть</string> 273 <string name="emulation_control_opacity">ÐепрозрачноÑть</string>
208 <string name="emulation_touch_overlay_reset">СброÑить оверлей</string> 274 <string name="emulation_touch_overlay_reset">СброÑить оверлей</string>
209 <string name="emulation_touch_overlay_edit">Изменить оверлей</string> 275 <string name="emulation_touch_overlay_edit">Редактировать оверлей</string>
210 <string name="emulation_pause">Пауза ÑмулÑции</string> 276 <string name="emulation_pause">Пауза ÑмулÑции</string>
211 <string name="emulation_unpause">Возобновление ÑмулÑции</string> 277 <string name="emulation_unpause">Возобновить ÑмулÑцию</string>
212 <string name="emulation_input_overlay">ÐаÑтройки оверлеÑ</string> 278 <string name="emulation_input_overlay">ÐаÑтройка оверлеÑ</string>
213 279
214 <string name="load_settings">Загрузка наÑтроек...</string> 280 <string name="load_settings">Загрузка наÑтроек...</string>
215 281
@@ -226,6 +292,9 @@
226 <string name="fatal_error">Ð¤Ð°Ñ‚Ð°Ð»ÑŒÐ½Ð°Ñ Ð¾ÑˆÐ¸Ð±ÐºÐ°</string> 292 <string name="fatal_error">Ð¤Ð°Ñ‚Ð°Ð»ÑŒÐ½Ð°Ñ Ð¾ÑˆÐ¸Ð±ÐºÐ°</string>
227 <string name="fatal_error_message">Произошла Ñ„Ð°Ñ‚Ð°Ð»ÑŒÐ½Ð°Ñ Ð¾ÑˆÐ¸Ð±ÐºÐ°. Проверьте журнал Ð´Ð»Ñ Ð¿Ð¾Ð»ÑƒÑ‡ÐµÐ½Ð¸Ñ Ð¿Ð¾Ð´Ñ€Ð¾Ð±Ð½Ð¾Ð¹ информации.\nПродолжение ÑмулÑции может привеÑти к ÑбоÑм и ошибкам.</string> 293 <string name="fatal_error_message">Произошла Ñ„Ð°Ñ‚Ð°Ð»ÑŒÐ½Ð°Ñ Ð¾ÑˆÐ¸Ð±ÐºÐ°. Проверьте журнал Ð´Ð»Ñ Ð¿Ð¾Ð»ÑƒÑ‡ÐµÐ½Ð¸Ñ Ð¿Ð¾Ð´Ñ€Ð¾Ð±Ð½Ð¾Ð¹ информации.\nПродолжение ÑмулÑции может привеÑти к ÑбоÑм и ошибкам.</string>
228 <string name="performance_warning">Отключение Ñтой наÑтройки значительно Ñнизит производительноÑть ÑмулÑции! Ð”Ð»Ñ Ð´Ð¾ÑÑ‚Ð¸Ð¶ÐµÐ½Ð¸Ñ Ð½Ð°Ð¸Ð»ÑƒÑ‡ÑˆÐ¸Ñ… результатов рекомендуетÑÑ Ð¾Ñтавить Ñту наÑтройку включенной.</string> 294 <string name="performance_warning">Отключение Ñтой наÑтройки значительно Ñнизит производительноÑть ÑмулÑции! Ð”Ð»Ñ Ð´Ð¾ÑÑ‚Ð¸Ð¶ÐµÐ½Ð¸Ñ Ð½Ð°Ð¸Ð»ÑƒÑ‡ÑˆÐ¸Ñ… результатов рекомендуетÑÑ Ð¾Ñтавить Ñту наÑтройку включенной.</string>
295 <string name="device_memory_inadequate">ÐžÐ¿ÐµÑ€Ð°Ñ‚Ð¸Ð²Ð½Ð°Ñ Ð¿Ð°Ð¼Ñть уÑтройÑтва: %1$s\nРекомендовано: %2$s</string>
296 <string name="memory_formatted">%1$s%2$s</string>
297 <string name="no_game_present">Загрузочной игры нету!</string>
229 298
230 <!-- Region Names --> 299 <!-- Region Names -->
231 <string name="region_japan">ЯпониÑ</string> 300 <string name="region_japan">ЯпониÑ</string>
@@ -236,7 +305,14 @@
236 <string name="region_korea">КореÑ</string> 305 <string name="region_korea">КореÑ</string>
237 <string name="region_taiwan">Тайвань</string> 306 <string name="region_taiwan">Тайвань</string>
238 307
239 <!-- Language Names --> 308 <!-- Memory Sizes -->
309 <string name="memory_byte">Байт</string>
310 <string name="memory_kilobyte">КБ</string>
311 <string name="memory_megabyte">МБ</string>
312 <string name="memory_gigabyte">GB</string>
313 <string name="memory_terabyte">ТБ</string>
314 <string name="memory_petabyte">ПБ</string>
315 <string name="memory_exabyte">ЕВ</string>
240 316
241 <!-- Renderer APIs --> 317 <!-- Renderer APIs -->
242 <string name="renderer_vulkan">Vulkan</string> 318 <string name="renderer_vulkan">Vulkan</string>
@@ -274,6 +350,11 @@
274 <string name="anti_aliasing_fxaa">FXAA</string> 350 <string name="anti_aliasing_fxaa">FXAA</string>
275 <string name="anti_aliasing_smaa">SMAA</string> 351 <string name="anti_aliasing_smaa">SMAA</string>
276 352
353 <!-- Screen Layouts -->
354 <string name="screen_layout_landscape">Пейзаж</string>
355 <string name="screen_layout_portrait">Портрет</string>
356 <string name="screen_layout_auto">Ðвто</string>
357
277 <!-- Aspect Ratios --> 358 <!-- Aspect Ratios -->
278 <string name="ratio_default">Стандартное (16:9)</string> 359 <string name="ratio_default">Стандартное (16:9)</string>
279 <string name="ratio_force_four_three">ЗаÑтавить 4:3</string> 360 <string name="ratio_force_four_three">ЗаÑтавить 4:3</string>
@@ -288,8 +369,8 @@
288 369
289 <!-- Gamepad Buttons --> 370 <!-- Gamepad Buttons -->
290 <string name="gamepad_d_pad">КреÑтовина</string> 371 <string name="gamepad_d_pad">КреÑтовина</string>
291 <string name="gamepad_left_stick">Левый мини-джойÑтик</string> 372 <string name="gamepad_left_stick">Левый Ñтик</string>
292 <string name="gamepad_right_stick">Правый мини-джойÑтик</string> 373 <string name="gamepad_right_stick">Правый Ñтик</string>
293 <string name="gamepad_home">Home</string> 374 <string name="gamepad_home">Home</string>
294 <string name="gamepad_screenshot">Скриншот</string> 375 <string name="gamepad_screenshot">Скриншот</string>
295 376
@@ -298,18 +379,32 @@
298 <string name="building_shaders">ПоÑтройка шейдеров</string> 379 <string name="building_shaders">ПоÑтройка шейдеров</string>
299 380
300 <!-- Theme options --> 381 <!-- Theme options -->
301 <string name="change_app_theme">Изменить тему приложениÑ</string> 382 <string name="change_app_theme">Сменить тему</string>
302 <string name="theme_default">По умолчанию</string> 383 <string name="theme_default">По умолчанию</string>
303 <string name="theme_material_you">Material You</string> 384 <string name="theme_material_you">Material You</string>
304 385
305 <!-- Theme Modes --> 386 <!-- Theme Modes -->
306 <string name="change_theme_mode">Изменить режим темы</string> 387 <string name="change_theme_mode">Сменить режим темы</string>
307 <string name="theme_mode_follow_system">СиÑтемнаÑ</string> 388 <string name="theme_mode_follow_system">СиÑтемнаÑ</string>
308 <string name="theme_mode_light">СветлаÑ</string> 389 <string name="theme_mode_light">СветлаÑ</string>
309 <string name="theme_mode_dark">ТемнаÑ</string> 390 <string name="theme_mode_dark">ТемнаÑ</string>
310 391
392 <!-- Audio output engines -->
393 <string name="cubeb">cubeb</string>
394
311 <!-- Black backgrounds theme --> 395 <!-- Black backgrounds theme -->
312 <string name="use_black_backgrounds">ИÑпользовать черный фон</string> 396 <string name="use_black_backgrounds">ЧÑрный фон</string>
313 <string name="use_black_backgrounds_description">При иÑпользовании темной темы применÑйте черный фон.</string> 397 <string name="use_black_backgrounds_description">При иÑпользовании темной темы применÑйте черный фон.</string>
314 398
315</resources> 399 <!-- Picture-In-Picture -->
400 <string name="picture_in_picture">Картинка в картинке</string>
401 <string name="picture_in_picture_description">Свернуть окно при размещении в фоновом режиме</string>
402 <string name="pause">Пауза</string>
403 <string name="play">Играть</string>
404 <string name="mute">Выключить звук</string>
405 <string name="unmute">Включить звук</string>
406
407 <!-- Licenses screen strings -->
408 <string name="licenses">Лицензии</string>
409 <string name="license_fidelityfx_fsr_description">Ð’Ñ‹ÑококачеÑтвенное маÑштабирование от AMD</string>
410 </resources>
diff --git a/src/android/app/src/main/res/values-uk/strings.xml b/src/android/app/src/main/res/values-uk/strings.xml
index 5b789ee98..34809dbb8 100644
--- a/src/android/app/src/main/res/values-uk/strings.xml
+++ b/src/android/app/src/main/res/values-uk/strings.xml
@@ -1,5 +1,5 @@
1<?xml version="1.0" encoding="utf-8"?> 1<?xml version="1.0" encoding="utf-8"?>
2<resources> 2<resources xmlns:tools="http://schemas.android.com/tools" tools:ignore="MissingTranslation">
3 3
4 <string name="app_disclaimer">Це програмне Ð·Ð°Ð±ÐµÐ·Ð¿ÐµÑ‡ÐµÐ½Ð½Ñ Ð´Ð¾Ð·Ð²Ð¾Ð»ÑÑ” запуÑкати ігри Ð´Ð»Ñ Ñ–Ð³Ñ€Ð¾Ð²Ð¾Ñ— конÑолі Nintendo Switch. Ми не надаємо Ñамі ігри або ключі.&lt;br /&gt;&lt;br /&gt;Перед початком роботи знайдіть ваш файл <![CDATA[<b> prod.keys </b>]]> у Ñховищі приÑтрою.&lt;br /&gt;&lt;br /&gt;<![CDATA[<a href=\"https://yuzu-emu.org/help/quickstart\">ДізнатиÑÑ Ð±Ñ–Ð»ÑŒÑˆÐµ</a>]]></string> 4 <string name="app_disclaimer">Це програмне Ð·Ð°Ð±ÐµÐ·Ð¿ÐµÑ‡ÐµÐ½Ð½Ñ Ð´Ð¾Ð·Ð²Ð¾Ð»ÑÑ” запуÑкати ігри Ð´Ð»Ñ Ñ–Ð³Ñ€Ð¾Ð²Ð¾Ñ— конÑолі Nintendo Switch. Ми не надаємо Ñамі ігри або ключі.&lt;br /&gt;&lt;br /&gt;Перед початком роботи знайдіть ваш файл <![CDATA[<b> prod.keys </b>]]> у Ñховищі приÑтрою.&lt;br /&gt;&lt;br /&gt;<![CDATA[<a href=\"https://yuzu-emu.org/help/quickstart\">ДізнатиÑÑ Ð±Ñ–Ð»ÑŒÑˆÐµ</a>]]></string>
5 <string name="emulation_notification_channel_name">ЕмулÑÑ†Ñ–Ñ Ð°ÐºÑ‚Ð¸Ð²Ð½Ð°</string> 5 <string name="emulation_notification_channel_name">ЕмулÑÑ†Ñ–Ñ Ð°ÐºÑ‚Ð¸Ð²Ð½Ð°</string>
@@ -25,7 +25,6 @@
25 <string name="back">Ðазад</string> 25 <string name="back">Ðазад</string>
26 <string name="add_games">Додати ігри</string> 26 <string name="add_games">Додати ігри</string>
27 <string name="add_games_description">Виберіть папку з іграми</string> 27 <string name="add_games_description">Виберіть папку з іграми</string>
28
29 <!-- Home strings --> 28 <!-- Home strings -->
30 <string name="home_games">Ігри</string> 29 <string name="home_games">Ігри</string>
31 <string name="home_search">Пошук</string> 30 <string name="home_search">Пошук</string>
@@ -61,6 +60,7 @@
61 <string name="invalid_keys_file">Вибрано неправильний файл ключів</string> 60 <string name="invalid_keys_file">Вибрано неправильний файл ключів</string>
62 <string name="install_keys_success">Ключі уÑпішно вÑтановлено</string> 61 <string name="install_keys_success">Ключі уÑпішно вÑтановлено</string>
63 <string name="reading_keys_failure">Помилка під Ñ‡Ð°Ñ Ð·Ñ‡Ð¸Ñ‚ÑƒÐ²Ð°Ð½Ð½Ñ ÐºÐ»ÑŽÑ‡Ñ–Ð² шифруваннÑ</string> 62 <string name="reading_keys_failure">Помилка під Ñ‡Ð°Ñ Ð·Ñ‡Ð¸Ñ‚ÑƒÐ²Ð°Ð½Ð½Ñ ÐºÐ»ÑŽÑ‡Ñ–Ð² шифруваннÑ</string>
63 <string name="install_prod_keys_failure_extension_description">ПереконайтеÑÑ, що файл ключів має Ñ€Ð¾Ð·ÑˆÐ¸Ñ€ÐµÐ½Ð½Ñ .keys, Ñ– повторіть Ñпробу.</string>
64 <string name="invalid_keys_error">Ðевірні ключі шифруваннÑ</string> 64 <string name="invalid_keys_error">Ðевірні ключі шифруваннÑ</string>
65 <string name="dumping_keys_quickstart_link">https://yuzu-emu.org/help/quickstart/#dumping-decryption-keys</string> 65 <string name="dumping_keys_quickstart_link">https://yuzu-emu.org/help/quickstart/#dumping-decryption-keys</string>
66 <string name="install_keys_failure_description">Обраний файл невірний або пошкоджений. Будь лаÑка, пере-дампіть ваші ключі.</string> 66 <string name="install_keys_failure_description">Обраний файл невірний або пошкоджений. Будь лаÑка, пере-дампіть ваші ключі.</string>
@@ -68,8 +68,6 @@
68 <string name="install_gpu_driver_description">Ð’Ñтановіть альтернативні драйвери Ð´Ð»Ñ Ð¿Ð¾Ñ‚ÐµÐ½Ñ†Ñ–Ð¹Ð½Ð¾ кращої продуктивноÑті та/або точноÑті</string> 68 <string name="install_gpu_driver_description">Ð’Ñтановіть альтернативні драйвери Ð´Ð»Ñ Ð¿Ð¾Ñ‚ÐµÐ½Ñ†Ñ–Ð¹Ð½Ð¾ кращої продуктивноÑті та/або точноÑті</string>
69 <string name="advanced_settings">Розширені налаштуваннÑ</string> 69 <string name="advanced_settings">Розширені налаштуваннÑ</string>
70 <string name="settings_description">ÐÐ°Ð»Ð°ÑˆÑ‚ÑƒÐ²Ð°Ð½Ð½Ñ Ð¿Ð°Ñ€Ð°Ð¼ÐµÑ‚Ñ€Ñ–Ð² емулÑтора</string> 70 <string name="settings_description">ÐÐ°Ð»Ð°ÑˆÑ‚ÑƒÐ²Ð°Ð½Ð½Ñ Ð¿Ð°Ñ€Ð°Ð¼ÐµÑ‚Ñ€Ñ–Ð² емулÑтора</string>
71 <string name="search_recently_played">Ðещодавно зіграно</string>
72 <string name="search_recently_added">Ðещодавно додано</string>
73 <string name="search_retail">Роздрібні</string> 71 <string name="search_retail">Роздрібні</string>
74 <string name="search_homebrew">Homebrew</string> 72 <string name="search_homebrew">Homebrew</string>
75 <string name="open_user_folder">Відкрити папку yuzu</string> 73 <string name="open_user_folder">Відкрити папку yuzu</string>
@@ -86,7 +84,6 @@
86 <string name="save_file_invalid_zip_structure_description">Ðазва першої вкладеної папки має бути ідентифікатором гри.</string> 84 <string name="save_file_invalid_zip_structure_description">Ðазва першої вкладеної папки має бути ідентифікатором гри.</string>
87 <string name="import_saves">Імпорт</string> 85 <string name="import_saves">Імпорт</string>
88 <string name="export_saves">ЕкÑпорт</string> 86 <string name="export_saves">ЕкÑпорт</string>
89
90 <!-- About screen strings --> 87 <!-- About screen strings -->
91 <string name="gaia_is_not_real">Gaia не Ñ–Ñнує</string> 88 <string name="gaia_is_not_real">Gaia не Ñ–Ñнує</string>
92 <string name="copied_to_clipboard">Скопійовано в буфер обміну</string> 89 <string name="copied_to_clipboard">Скопійовано в буфер обміну</string>
@@ -113,42 +110,20 @@
113 <string name="our_eternal_gratitude">Ðаша неÑкінченна вдÑчніÑть</string> 110 <string name="our_eternal_gratitude">Ðаша неÑкінченна вдÑчніÑть</string>
114 <string name="are_you_interested">Ви зацікавлені?</string> 111 <string name="are_you_interested">Ви зацікавлені?</string>
115 112
116 <!-- General settings strings -->
117 <string name="frame_limit_enable">Увімкнути Ð¾Ð±Ð¼ÐµÐ¶ÐµÐ½Ð½Ñ ÑˆÐ²Ð¸Ð´ÐºÐ¾Ñті</string>
118 <string name="frame_limit_enable_description">Якщо цю функцію ввімкнено, швидкіÑть емулÑції буде обмежена зазначеним відÑотком від нормальної швидкоÑті.</string>
119 <string name="frame_limit_slider">ÐžÐ±Ð¼ÐµÐ¶ÐµÐ½Ð½Ñ Ð²Ñ–Ð´Ñотка швидкоÑті</string> 113 <string name="frame_limit_slider">ÐžÐ±Ð¼ÐµÐ¶ÐµÐ½Ð½Ñ Ð²Ñ–Ð´Ñотка швидкоÑті</string>
120 <string name="frame_limit_slider_description">Вказує відÑоток Ð´Ð»Ñ Ð¾Ð±Ð¼ÐµÐ¶ÐµÐ½Ð½Ñ ÑˆÐ²Ð¸Ð´ÐºÐ¾Ñті емулÑції. При значенні за замовчуваннÑм 100% емулÑÑ†Ñ–Ñ Ð±ÑƒÐ´Ðµ обмежена нормальною швидкіÑтю. Ð—Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ Ð²Ð¸Ñ‰Ðµ або нижче збільшуватимуть або зменшуватимуть Ð¾Ð±Ð¼ÐµÐ¶ÐµÐ½Ð½Ñ ÑˆÐ²Ð¸Ð´ÐºÐ¾Ñті.</string>
121 <string name="cpu_accuracy">ТочніÑть ЦП</string> 114 <string name="cpu_accuracy">ТочніÑть ЦП</string>
122
123 <!-- System settings strings -->
124 <string name="use_docked_mode">Режим док-Ñтанції</string>
125 <string name="use_docked_mode_description">ЕмулÑÑ†Ñ–Ñ Ñ€ÐµÐ¶Ð¸Ð¼Ñƒ док-Ñтанції, що збільшує роздільну здатніÑть за рахунок Ð·Ð½Ð¸Ð¶ÐµÐ½Ð½Ñ Ð¿Ñ€Ð¾Ð´ÑƒÐºÑ‚Ð¸Ð²Ð½Ð¾Ñті.</string>
126 <string name="emulated_region">Емульований регіон</string> 115 <string name="emulated_region">Емульований регіон</string>
127 <string name="emulated_language">Емульована мова</string> 116 <string name="emulated_language">Емульована мова</string>
128 <string name="select_rtc_date">Оберіть дату RTC</string> 117 <string name="use_custom_rtc">КориÑтувацький RTC</string>
129 <string name="select_rtc_time">Оберіть Ñ‡Ð°Ñ RTC</string>
130 <string name="use_custom_rtc">Увімкнути кориÑтувацький RTC</string>
131 <string name="use_custom_rtc_description">Цей параметр дає змогу вÑтановити кориÑтувацький годинник реального чаÑу окремо від поточного ÑиÑтемного чаÑу</string>
132 <string name="set_custom_rtc">Ð’Ñтановити кориÑтувацький RTC</string>
133
134 <!-- Graphics settings strings --> 118 <!-- Graphics settings strings -->
135 <string name="renderer_api">API</string>
136 <string name="renderer_accuracy">Рівень точноÑті</string> 119 <string name="renderer_accuracy">Рівень точноÑті</string>
137 <string name="renderer_resolution">Роздільна здатніÑть</string>
138 <string name="renderer_vsync">Режим верт. Ñинхронізації</string> 120 <string name="renderer_vsync">Режим верт. Ñинхронізації</string>
139 <string name="renderer_aspect_ratio">Ð¡Ð¿Ñ–Ð²Ð²Ñ–Ð´Ð½Ð¾ÑˆÐµÐ½Ð½Ñ Ñторін</string>
140 <string name="renderer_scaling_filter">Фільтр адаптації вікна</string>
141 <string name="renderer_anti_aliasing">Метод згладжуваннÑ</string>
142 <string name="renderer_force_max_clock">ПримуÑово змуÑити макÑимальну тактову чаÑтоту (тільки Ð´Ð»Ñ Adreno)</string> 121 <string name="renderer_force_max_clock">ПримуÑово змуÑити макÑимальну тактову чаÑтоту (тільки Ð´Ð»Ñ Adreno)</string>
143 <string name="renderer_force_max_clock_description">Змушує ГП працювати на макÑимально можливих тактових чаÑтотах (теплові Ð¾Ð±Ð¼ÐµÐ¶ÐµÐ½Ð½Ñ Ð²Ñе одно будуть заÑтоÑовуватиÑÑ).</string> 122 <string name="renderer_force_max_clock_description">Змушує ГП працювати на макÑимально можливих тактових чаÑтотах (теплові Ð¾Ð±Ð¼ÐµÐ¶ÐµÐ½Ð½Ñ Ð²Ñе одно будуть заÑтоÑовуватиÑÑ).</string>
144 <string name="renderer_asynchronous_shaders">ВикориÑтовувати аÑинхронні шейдери</string> 123 <string name="renderer_asynchronous_shaders">ВикориÑтовувати аÑинхронні шейдери</string>
145 <string name="renderer_asynchronous_shaders_description">Компілює шейдери аÑинхронно, що зменшує завиÑаннÑ, але може натоміÑть надати візуальні баги.</string> 124 <!-- Debug settings strings -->
146 <string name="renderer_debug">Увімкнути Ð½Ð°Ð»Ð°Ð³Ð¾Ð´Ð¶ÐµÐ½Ð½Ñ Ð³Ñ€Ð°Ñ„Ñ–ÐºÐ¸</string> 125 <string name="cpu">ЦП</string>
147 <string name="renderer_debug_description">Якщо увімкнено, графічний API переходить у повільніший режим налагодженнÑ</string> 126 <string name="renderer_api">API</string>
148 <string name="use_disk_shader_cache">ВикориÑтовувати кеш шейдерів на диÑку</string>
149 <string name="use_disk_shader_cache_description">Ð—Ð¼ÐµÐ½ÑˆÐµÐ½Ð½Ñ Ð·Ð°Ð²Ð¸Ñань завдÑки зберіганню та завантаженню згенерованих шейдерів на Ñховище.</string>
150
151 <!-- Audio settings strings -->
152 <string name="audio_volume">ГучніÑть</string> 127 <string name="audio_volume">ГучніÑть</string>
153 <string name="audio_volume_description">Вказує гучніÑть аудіовиходу.</string> 128 <string name="audio_volume_description">Вказує гучніÑть аудіовиходу.</string>
154 129
@@ -161,17 +136,20 @@
161 <string name="reset_setting_confirmation">Чи хочете ви повернути цей параметр до Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ Ð·Ð° замовчуваннÑм?</string> 136 <string name="reset_setting_confirmation">Чи хочете ви повернути цей параметр до Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ Ð·Ð° замовчуваннÑм?</string>
162 <string name="reset_to_default">Ð¡ÐºÐ¸Ð´Ð°Ð½Ð½Ñ Ð´Ð¾ налаштувань за замовчуваннÑм</string> 137 <string name="reset_to_default">Ð¡ÐºÐ¸Ð´Ð°Ð½Ð½Ñ Ð´Ð¾ налаштувань за замовчуваннÑм</string>
163 <string name="reset_all_settings">Скинути вÑÑ– налаштуваннÑ</string> 138 <string name="reset_all_settings">Скинути вÑÑ– налаштуваннÑ</string>
164 <string name="reset_all_settings_description">УÑÑ– додаткові Ð½Ð°Ð»Ð°ÑˆÑ‚ÑƒÐ²Ð°Ð½Ð½Ñ Ð±ÑƒÐ´Ðµ Ñкинуто до Ð½Ð°Ð»Ð°ÑˆÑ‚ÑƒÐ²Ð°Ð½Ð½Ñ Ð·Ð° замовчуваннÑм. Це неможливо ÑкаÑувати.</string>
165 <string name="settings_reset">ÐÐ°Ð»Ð°ÑˆÑ‚ÑƒÐ²Ð°Ð½Ð½Ñ Ñкинуто</string> 139 <string name="settings_reset">ÐÐ°Ð»Ð°ÑˆÑ‚ÑƒÐ²Ð°Ð½Ð½Ñ Ñкинуто</string>
166 <string name="close">Закрити</string> 140 <string name="close">Закрити</string>
167 <string name="learn_more">ДізнатиÑÑ Ð±Ñ–Ð»ÑŒÑˆÐµ</string> 141 <string name="learn_more">ДізнатиÑÑ Ð±Ñ–Ð»ÑŒÑˆÐµ</string>
168 142 <string name="auto">Ðвто</string>
143 <string name="string_null">Null</string>
144 <string name="string_import">Імпорт</string>
145 <string name="export">ЕкÑпорт</string>
169 <!-- GPU driver installation --> 146 <!-- GPU driver installation -->
170 <string name="select_gpu_driver">Вибрати драйвер ГП</string> 147 <string name="select_gpu_driver">Вибрати драйвер ГП</string>
171 <string name="select_gpu_driver_title">Хочете замінити поточний драйвер ГП?</string> 148 <string name="select_gpu_driver_title">Хочете замінити поточний драйвер ГП?</string>
172 <string name="select_gpu_driver_install">Ð’Ñтановити</string> 149 <string name="select_gpu_driver_install">Ð’Ñтановити</string>
173 <string name="select_gpu_driver_default">За замовчуваннÑм</string> 150 <string name="select_gpu_driver_default">За замовчуваннÑм</string>
174 <string name="select_gpu_driver_use_default">ВикориÑтовуєтьÑÑ Ñтандартний драйвер ГП</string> 151 <string name="select_gpu_driver_use_default">ВикориÑтовуєтьÑÑ Ñтандартний драйвер ГП</string>
152 <string name="select_gpu_driver_error">Обрано неправильний драйвер, викориÑтовуєтьÑÑ Ñтандартний ÑиÑтемний!</string>
175 <string name="system_gpu_driver">СиÑтемний драйвер ГП</string> 153 <string name="system_gpu_driver">СиÑтемний драйвер ГП</string>
176 <string name="installing_driver">Ð’ÑÑ‚Ð°Ð½Ð¾Ð²Ð»ÐµÐ½Ð½Ñ Ð´Ñ€Ð°Ð¹Ð²ÐµÑ€Ð°...</string> 154 <string name="installing_driver">Ð’ÑÑ‚Ð°Ð½Ð¾Ð²Ð»ÐµÐ½Ð½Ñ Ð´Ñ€Ð°Ð¹Ð²ÐµÑ€Ð°...</string>
177 155
@@ -182,40 +160,19 @@
182 <string name="preferences_graphics">Графіка</string> 160 <string name="preferences_graphics">Графіка</string>
183 <string name="preferences_audio">Ðудіо</string> 161 <string name="preferences_audio">Ðудіо</string>
184 <string name="preferences_theme">Тема і колір</string> 162 <string name="preferences_theme">Тема і колір</string>
163 <string name="preferences_debug">ÐалагодженнÑ</string>
185 164
186 <!-- ROM loading errors --> 165 <!-- ROM loading errors -->
187 <string name="loader_error_encrypted">Ваш ROM зашифрований</string> 166 <string name="loader_error_encrypted">Ваш ROM зашифрований</string>
188 <string name="loader_error_encrypted_roms_description"><![CDATA[Будь лаÑка, дотримуйтеÑÑŒ інÑтрукцій, щоб пере-дампити ваші <a href=\"https://yuzu-emu.org/help/quickstart/#dumping-cartridge-games\">ігрові картриджі</a> або <a href=\"https://yuzu-emu.org/help/quickstart/#dumping-installed-titles-eshop\">вÑтановлені ігри</a>.]]></string>
189 <string name="loader_error_encrypted_keys_description"><![CDATA[Будь лаÑка, переконайтеÑÑ, що ваш файл <a href=\"https://yuzu-emu.org/help/quickstart/#dumping-prodkeys-and-titlekeys\">prod.keys</a> вÑтановлено, щоб ігри можна було розшифрувати.]]></string> 167 <string name="loader_error_encrypted_keys_description"><![CDATA[Будь лаÑка, переконайтеÑÑ, що ваш файл <a href=\"https://yuzu-emu.org/help/quickstart/#dumping-prodkeys-and-titlekeys\">prod.keys</a> вÑтановлено, щоб ігри можна було розшифрувати.]]></string>
190 <string name="loader_error_video_core">СталаÑÑ Ð¿Ð¾Ð¼Ð¸Ð»ÐºÐ° під Ñ‡Ð°Ñ Ñ–Ð½Ñ–Ñ†Ñ–Ð°Ð»Ñ–Ð·Ð°Ñ†Ñ–Ñ— відеоÑдра.</string> 168 <string name="loader_error_video_core">СталаÑÑ Ð¿Ð¾Ð¼Ð¸Ð»ÐºÐ° під Ñ‡Ð°Ñ Ñ–Ð½Ñ–Ñ†Ñ–Ð°Ð»Ñ–Ð·Ð°Ñ†Ñ–Ñ— відеоÑдра.</string>
191 <string name="loader_error_video_core_description">Зазвичай це Ñпричинено неÑуміÑним драйвером ГП. Ð’ÑÑ‚Ð°Ð½Ð¾Ð²Ð»ÐµÐ½Ð½Ñ ÐºÐ¾Ñ€Ð¸Ñтувацького драйвера ГП може вирішити цю проблему.</string> 169 <string name="loader_error_video_core_description">Зазвичай це Ñпричинено неÑуміÑним драйвером ГП. Ð’ÑÑ‚Ð°Ð½Ð¾Ð²Ð»ÐµÐ½Ð½Ñ ÐºÐ¾Ñ€Ð¸Ñтувацького драйвера ГП може вирішити цю проблему.</string>
192 <string name="loader_error_invalid_format">Ðе вдалоÑÑ Ð·Ð°Ð¿ÑƒÑтити ROM</string> 170 <string name="loader_error_invalid_format">Ðе вдалоÑÑ Ð·Ð°Ð¿ÑƒÑтити ROM</string>
193 <string name="loader_error_file_not_found">Файл ROM не Ñ–Ñнує</string> 171 <string name="loader_error_file_not_found">Файл ROM не Ñ–Ñнує</string>
194 172
195 <!-- Emulation Menu -->
196 <string name="emulation_exit">Вихід з емулÑції</string>
197 <string name="emulation_done">Готово</string> 173 <string name="emulation_done">Готово</string>
198 <string name="emulation_fps_counter">Лічильник FPS</string>
199 <string name="emulation_toggle_controls">ÐŸÐµÑ€ÐµÐ¼Ð¸ÐºÐ°Ð½Ð½Ñ ÐºÐµÑ€ÑƒÐ²Ð°Ð½Ð½Ñ</string>
200 <string name="emulation_rel_stick_center">ВідноÑний центр Ñтіка</string>
201 <string name="emulation_dpad_slide">Слайд хреÑтовиною</string>
202 <string name="emulation_haptics">Тактильний зворотний зв\'Ñзок</string>
203 <string name="emulation_show_overlay">Показати оверлей</string>
204 <string name="emulation_toggle_all">Перемкнути вÑе</string>
205 <string name="emulation_control_adjust">Ðалаштувати оверлей</string>
206 <string name="emulation_control_scale">МаÑштаб</string> 174 <string name="emulation_control_scale">МаÑштаб</string>
207 <string name="emulation_control_opacity">ÐепрозоріÑть</string> 175 <string name="emulation_control_opacity">ÐепрозоріÑть</string>
208 <string name="emulation_touch_overlay_reset">Скинути оверлей</string>
209 <string name="emulation_touch_overlay_edit">Змінити оверлей</string>
210 <string name="emulation_pause">Пауза емулÑції</string>
211 <string name="emulation_unpause">Ð’Ñ–Ð´Ð½Ð¾Ð²Ð»ÐµÐ½Ð½Ñ ÐµÐ¼ÑƒÐ»Ñції</string>
212 <string name="emulation_input_overlay">ÐÐ°Ð»Ð°ÑˆÑ‚ÑƒÐ²Ð°Ð½Ð½Ñ Ð¾Ð²ÐµÑ€Ð»ÐµÑ</string>
213
214 <string name="load_settings">Ð—Ð°Ð²Ð°Ð½Ñ‚Ð°Ð¶ÐµÐ½Ð½Ñ Ð½Ð°Ð»Ð°ÑˆÑ‚ÑƒÐ²Ð°Ð½ÑŒ...</string>
215
216 <!-- Software keyboard -->
217 <string name="software_keyboard">Віртуальна клавіатура</string>
218
219 <!-- Errors and warnings --> 176 <!-- Errors and warnings -->
220 <string name="abort_button">Перервати</string> 177 <string name="abort_button">Перервати</string>
221 <string name="continue_button">Продовжити</string> 178 <string name="continue_button">Продовжити</string>
@@ -226,7 +183,6 @@
226 <string name="fatal_error">Фатальна помилка</string> 183 <string name="fatal_error">Фатальна помилка</string>
227 <string name="fatal_error_message">СталаÑÑ Ñ„Ð°Ñ‚Ð°Ð»ÑŒÐ½Ð° помилка. Перевірте журнал Ð´Ð»Ñ Ð¾Ñ‚Ñ€Ð¸Ð¼Ð°Ð½Ð½Ñ Ð´Ð¾ÐºÐ»Ð°Ð´Ð½Ð¾Ñ— інформації.\nÐŸÑ€Ð¾Ð´Ð¾Ð²Ð¶ÐµÐ½Ð½Ñ ÐµÐ¼ÑƒÐ»Ñції може призвеÑти до збоїв Ñ– помилок.</string> 184 <string name="fatal_error_message">СталаÑÑ Ñ„Ð°Ñ‚Ð°Ð»ÑŒÐ½Ð° помилка. Перевірте журнал Ð´Ð»Ñ Ð¾Ñ‚Ñ€Ð¸Ð¼Ð°Ð½Ð½Ñ Ð´Ð¾ÐºÐ»Ð°Ð´Ð½Ð¾Ñ— інформації.\nÐŸÑ€Ð¾Ð´Ð¾Ð²Ð¶ÐµÐ½Ð½Ñ ÐµÐ¼ÑƒÐ»Ñції може призвеÑти до збоїв Ñ– помилок.</string>
228 <string name="performance_warning">Ð’Ð¸Ð¼ÐºÐ½ÐµÐ½Ð½Ñ Ñ†ÑŒÐ¾Ð³Ð¾ Ð½Ð°Ð»Ð°ÑˆÑ‚ÑƒÐ²Ð°Ð½Ð½Ñ Ð·Ð½Ð°Ñ‡Ð½Ð¾ знизить продуктивніÑть емулÑції! Ð”Ð»Ñ Ð´Ð¾ÑÑÐ³Ð½ÐµÐ½Ð½Ñ Ð½Ð°Ð¹ÐºÑ€Ð°Ñ‰Ð¸Ñ… результатів рекомендуєтьÑÑ Ð·Ð°Ð»Ð¸ÑˆÐ¸Ñ‚Ð¸ це Ð½Ð°Ð»Ð°ÑˆÑ‚ÑƒÐ²Ð°Ð½Ð½Ñ ÑƒÐ²Ñ–Ð¼ÐºÐ½ÐµÐ½Ð¸Ð¼.</string> 185 <string name="performance_warning">Ð’Ð¸Ð¼ÐºÐ½ÐµÐ½Ð½Ñ Ñ†ÑŒÐ¾Ð³Ð¾ Ð½Ð°Ð»Ð°ÑˆÑ‚ÑƒÐ²Ð°Ð½Ð½Ñ Ð·Ð½Ð°Ñ‡Ð½Ð¾ знизить продуктивніÑть емулÑції! Ð”Ð»Ñ Ð´Ð¾ÑÑÐ³Ð½ÐµÐ½Ð½Ñ Ð½Ð°Ð¹ÐºÑ€Ð°Ñ‰Ð¸Ñ… результатів рекомендуєтьÑÑ Ð·Ð°Ð»Ð¸ÑˆÐ¸Ñ‚Ð¸ це Ð½Ð°Ð»Ð°ÑˆÑ‚ÑƒÐ²Ð°Ð½Ð½Ñ ÑƒÐ²Ñ–Ð¼ÐºÐ½ÐµÐ½Ð¸Ð¼.</string>
229
230 <!-- Region Names --> 186 <!-- Region Names -->
231 <string name="region_japan">ЯпоніÑ</string> 187 <string name="region_japan">ЯпоніÑ</string>
232 <string name="region_usa">СШÐ</string> 188 <string name="region_usa">СШÐ</string>
@@ -236,8 +192,7 @@
236 <string name="region_korea">КореÑ</string> 192 <string name="region_korea">КореÑ</string>
237 <string name="region_taiwan">Тайвань</string> 193 <string name="region_taiwan">Тайвань</string>
238 194
239 <!-- Language Names --> 195 <string name="memory_gigabyte">GB</string>
240
241 <!-- Renderer APIs --> 196 <!-- Renderer APIs -->
242 <string name="renderer_vulkan">Vulkan</string> 197 <string name="renderer_vulkan">Vulkan</string>
243 <string name="renderer_none">Вимкнено</string> 198 <string name="renderer_none">Вимкнено</string>
@@ -274,22 +229,18 @@
274 <string name="anti_aliasing_fxaa">FXAA</string> 229 <string name="anti_aliasing_fxaa">FXAA</string>
275 <string name="anti_aliasing_smaa">SMAA</string> 230 <string name="anti_aliasing_smaa">SMAA</string>
276 231
232 <string name="screen_layout_auto">Ðвто</string>
233
277 <!-- Aspect Ratios --> 234 <!-- Aspect Ratios -->
278 <string name="ratio_default">За замовчуваннÑм (16:9)</string> 235 <string name="ratio_default">За замовчуваннÑм (16:9)</string>
279 <string name="ratio_force_four_three">ЗмуÑити 4:3</string> 236 <string name="ratio_force_four_three">ЗмуÑити 4:3</string>
280 <string name="ratio_force_twenty_one_nine">ЗмуÑити 21:9</string> 237 <string name="ratio_force_twenty_one_nine">ЗмуÑити 21:9</string>
281 <string name="ratio_force_sixteen_ten">ЗмуÑити 16:10</string> 238 <string name="ratio_force_sixteen_ten">ЗмуÑити 16:10</string>
282 <string name="ratio_stretch">РозтÑгнути до вікна</string>
283
284 <!-- CPU Accuracy --> 239 <!-- CPU Accuracy -->
285 <string name="cpu_accuracy_accurate">Точно</string> 240 <string name="cpu_accuracy_accurate">Точно</string>
286 <string name="cpu_accuracy_unsafe">Ðебезпечно</string> 241 <string name="cpu_accuracy_unsafe">Ðебезпечно</string>
287 <string name="cpu_accuracy_paranoid">Параноїк (повільно)</string> 242 <string name="cpu_accuracy_paranoid">Параноїк (повільно)</string>
288 243
289 <!-- Gamepad Buttons -->
290 <string name="gamepad_d_pad">Кнопки напрÑмків</string>
291 <string name="gamepad_left_stick">Лівий міні-джойÑтик</string>
292 <string name="gamepad_right_stick">Правий міні-джойÑтик</string>
293 <string name="gamepad_home">Home</string> 244 <string name="gamepad_home">Home</string>
294 <string name="gamepad_screenshot">Знімок екрану</string> 245 <string name="gamepad_screenshot">Знімок екрану</string>
295 246
@@ -297,19 +248,16 @@
297 <string name="preparing_shaders">Підготовка шейдерів</string> 248 <string name="preparing_shaders">Підготовка шейдерів</string>
298 <string name="building_shaders">Побудова шейдерів</string> 249 <string name="building_shaders">Побудова шейдерів</string>
299 250
300 <!-- Theme options -->
301 <string name="change_app_theme">Змінити тему заÑтоÑунку</string>
302 <string name="theme_default">За замовчуваннÑм</string> 251 <string name="theme_default">За замовчуваннÑм</string>
303 <string name="theme_material_you">Material You</string> 252 <string name="theme_material_you">Material You</string>
304 253
305 <!-- Theme Modes -->
306 <string name="change_theme_mode">Змінити режим теми</string>
307 <string name="theme_mode_follow_system">СиÑтемна</string> 254 <string name="theme_mode_follow_system">СиÑтемна</string>
308 <string name="theme_mode_light">Світла</string> 255 <string name="theme_mode_light">Світла</string>
309 <string name="theme_mode_dark">Темна</string> 256 <string name="theme_mode_dark">Темна</string>
310 257
311 <!-- Black backgrounds theme -->
312 <string name="use_black_backgrounds">ВикориÑтовувати чорне тло</string>
313 <string name="use_black_backgrounds_description">У разі викориÑÑ‚Ð°Ð½Ð½Ñ Ñ‚ÐµÐ¼Ð½Ð¾Ñ— теми заÑтоÑовуйте чорне тло.</string> 258 <string name="use_black_backgrounds_description">У разі викориÑÑ‚Ð°Ð½Ð½Ñ Ñ‚ÐµÐ¼Ð½Ð¾Ñ— теми заÑтоÑовуйте чорне тло.</string>
314 259
315</resources> 260 <string name="mute">Вимкнути звук</string>
261 <string name="unmute">Увімкнути звук</string>
262
263 </resources>
diff --git a/src/android/app/src/main/res/values-vi/strings.xml b/src/android/app/src/main/res/values-vi/strings.xml
new file mode 100644
index 000000000..f977db3a2
--- /dev/null
+++ b/src/android/app/src/main/res/values-vi/strings.xml
@@ -0,0 +1,340 @@
1<?xml version="1.0" encoding="utf-8"?>
2<resources xmlns:tools="http://schemas.android.com/tools" tools:ignore="MissingTranslation">
3
4 <string name="app_disclaimer">Phần má»m này sẽ chạy các game cho máy chÆ¡i game Nintendo Switch. Không có title games hoặc keys được bao gồm.&lt;br /&gt;&lt;br /&gt;Trước khi bạn bắt đầu, hãy tìm tập tin <![CDATA[<b> prod.keys </b>]]> trên bá»™ nhá»› thiết bị cá»§a bạn.&lt;br /&gt;&lt;br /&gt;<![CDATA[<a href=\"https://yuzu-emu.org/help/quickstart\">Tìm hiểu thêm</a>]]></string>
5 <string name="emulation_notification_channel_name">Giả lập đang chạy</string>
6 <string name="emulation_notification_channel_description">Hiển thị thông báo liên tục khi giả lập đang chạy.</string>
7 <string name="emulation_notification_running">yuzu đang chạy</string>
8 <string name="notice_notification_channel_name">Thông báo và lỗi</string>
9 <string name="notice_notification_channel_description">Hiển thị thông báo khi có sự cố xảy ra.</string>
10 <string name="notification_permission_not_granted">Ứng dụng không được cấp quyá»n thông báo!</string>
11
12 <!-- Setup strings -->
13 <string name="welcome">Chào mừng!</string>
14 <string name="welcome_description">Tìm hiểu cách cài đặt &lt;b>yuzu&lt;/b> và bắt đầu giả lập.</string>
15 <string name="get_started">Bắt đầu</string>
16 <string name="keys">Keys</string>
17 <string name="keys_description">Chá»n tệp &lt;b>prod.keys&lt;/b> cá»§a bạn bằng nút bên dưới.</string>
18 <string name="select_keys">Chá»n Keys</string>
19 <string name="games">Game</string>
20 <string name="games_description">Chá»n thư mục &lt;b>Game&lt;/b> cá»§a bạn bằng nút bên dưới.</string>
21 <string name="done">Hoàn thành</string>
22 <string name="done_description">Tất cả đã hoàn tất.\nHãy tận hưởng các game của bạn!</string>
23 <string name="text_continue">Tiếp tục</string>
24 <string name="next">Tiếp theo</string>
25 <string name="back">Trở lại</string>
26 <string name="add_games">Thêm Game</string>
27 <string name="add_games_description">Chá»n thư mục game cá»§a bạn</string>
28 <!-- Home strings -->
29 <string name="home_games">Game</string>
30 <string name="home_search">Tìm kiếm</string>
31 <string name="home_settings">Cài đặt</string>
32 <string name="empty_gamelist">Không tìm thấy tập tin hoặc chưa có thư mục game nào được chá»n.</string>
33 <string name="search_and_filter_games">Tìm và lá»c game</string>
34 <string name="select_games_folder">Chá»n thư mục game</string>
35 <string name="select_games_folder_description">Cho phép yuzu thêm vào danh sách game</string>
36 <string name="add_games_warning">Bá» qua việc lá»±a chá»n thư mục game?</string>
37 <string name="add_games_warning_description">Game sẽ không hiển thị trong danh sách nếu má»™t thư mục không được chá»n.</string>
38 <string name="add_games_warning_help">https://yuzu-emu.org/help/quickstart/#dumping-games</string>
39 <string name="home_search_games">Tìm kiếm game</string>
40 <string name="games_dir_selected">Thư mục game đã được chá»n</string>
41 <string name="install_prod_keys">Cài đặt prod.keys</string>
42 <string name="install_prod_keys_description">Yêu cầu để giải mã các game bán lẻ</string>
43 <string name="install_prod_keys_warning">BỠqua việc thêm keys?</string>
44 <string name="install_prod_keys_warning_description">Cần có keys hợp lệ để giả lập các game bán lẻ. Chỉ có các ứng dụng homebrew có thể vận hành nếu bạn tiếp tục.</string>
45 <string name="install_prod_keys_warning_help">https://yuzu-emu.org/help/quickstart/#guide-introduction</string>
46 <string name="notifications">Thông báo</string>
47 <string name="notifications_description">Cấp quyá»n thông báo bằng nút bên dưới.</string>
48 <string name="give_permission">Cấp quyá»n</string>
49 <string name="notification_warning">Bá» qua việc cấp quyá»n thông báo?</string>
50 <string name="notification_warning_description">yuzu sẽ không thể gá»­i những thông báo quan trá»ng đến bạn.</string>
51 <string name="permission_denied">Äã từ chối cấp quyá»n</string>
52 <string name="permission_denied_description">Bạn từ chối cấp quyá»n này quá nhiá»u lần và giá» bạn phải cấp quyá»n thá»§ công trong cài đặt máy.</string>
53 <string name="about">Thông tin</string>
54 <string name="about_description">Phiên bản, đóng góp và những thứ khác</string>
55 <string name="warning_help">Trợ giúp</string>
56 <string name="warning_skip">Bá» qua</string>
57 <string name="warning_cancel">Há»§y bá»</string>
58 <string name="install_amiibo_keys">Cài đặt keys Amiibo</string>
59 <string name="install_amiibo_keys_description">Cần thiết để dùng Amiibo trong game</string>
60 <string name="invalid_keys_file">Tệp keys không hợp lệ đã được chá»n</string>
61 <string name="install_keys_success">Cài đặt keys thành công</string>
62 <string name="reading_keys_failure">Lá»—i Ä‘á»c keys mã hóa</string>
63 <string name="install_prod_keys_failure_extension_description">Xác minh rằng tệp keys của bạn có đuôi .keys và thử lại.</string>
64 <string name="install_amiibo_keys_failure_extension_description">Xác minh rằng tệp keys của bạn có đuôi .bin và thử lại.</string>
65 <string name="invalid_keys_error">Keys mã hoá không hợp lệ</string>
66 <string name="dumping_keys_quickstart_link">https://yuzu-emu.org/help/quickstart/#dumping-decryption-keys</string>
67 <string name="install_keys_failure_description">Tệp đã chá»n sai hoặc há»ng. Vui lòng trích xuất lại keys cá»§a bạn.</string>
68 <string name="install_gpu_driver">Cài đặt driver GPU</string>
69 <string name="install_gpu_driver_description">Cài đặt driver thay thế để có thể có hiệu suất tốt và chính xác hơn</string>
70 <string name="advanced_settings">Cài đặt nâng cao</string>
71 <string name="settings_description">Cấu hình cài đặt giả lập</string>
72 <string name="search_recently_played">Äã chÆ¡i gần đây</string>
73 <string name="search_recently_added">Äã thêm gần đây</string>
74 <string name="search_retail">Bán lẻ</string>
75 <string name="search_homebrew">Homebrew</string>
76 <string name="open_user_folder">Mở thư mục yuzu</string>
77 <string name="open_user_folder_description">Quản lý tệp nội bộ của yuzu</string>
78 <string name="theme_and_color_description">Thay đổi giao diện ứng dụng</string>
79 <string name="no_file_manager">Không tìm thấy trình quản lý tập tin</string>
80 <string name="notification_no_directory_link">Không thể mở thư mục yuzu</string>
81 <string name="notification_no_directory_link_description">Vui lòng xác định thư mục ngưá»i dùng vá»›i bảng Ä‘iá»u khiển bên cá»§a trình quản lý tệp thá»§ công.</string>
82 <string name="manage_save_data">Quản lý dữ liệu save</string>
83 <string name="manage_save_data_description">Äã tìm thấy dữ liệu save. Vui lòng chá»n má»™t tuỳ chá»n bên dưới.</string>
84 <string name="import_export_saves_description">Nhập hoặc xuất tệp save</string>
85 <string name="save_file_imported_success">Nhập thành công</string>
86 <string name="save_file_invalid_zip_structure">Cấu trúc thư mục save không hợp lệ</string>
87 <string name="save_file_invalid_zip_structure_description">Tên thư mục con đầu tiên phải là ID title của game.</string>
88 <string name="import_saves">Nhập</string>
89 <string name="export_saves">Xuất</string>
90 <string name="install_firmware">Cài đặt firmware</string>
91 <string name="install_firmware_description">Firmware phải được đặt trong một tập tin nén ZIP và cần thiết để khởi chạy một số game</string>
92 <string name="firmware_installing">Äang cài đặt firmware</string>
93 <string name="firmware_installed_success">Cài đặt firmware thành công</string>
94 <string name="firmware_installed_failure">Cài đặt firmware thất bại</string>
95 <string name="share_log">Chia sẻ nhật ký gỡ lỗi</string>
96 <string name="share_log_description">Chia sẻ tập tin nhật ký cá»§a yuzu để gỡ lá»—i vấn Ä‘á»</string>
97 <string name="share_log_missing">Không tìm thấy tập tin nhật ký</string>
98 <string name="install_game_content">Cài đặt nội dung game</string>
99 <string name="install_game_content_description">Cài đặt cập nhật game hoặc DLC</string>
100 <string name="install_game_content_help_link">https://yuzu-emu.org/help/quickstart/#dumping-installed-updates</string>
101 <!-- About screen strings -->
102 <string name="gaia_is_not_real">Gaia không có thật</string>
103 <string name="copied_to_clipboard">Äã sao chép vào bá»™ nhá»› tạm</string>
104 <string name="about_app_description">Một giả lập Switch mã nguồn mở</string>
105 <string name="contributors">Ngưá»i đóng góp</string>
106 <string name="contributors_description">ÄÆ°á»£c làm vá»›i \u2764 từ nhóm yuzu</string>
107 <string name="contributors_link">https://github.com/yuzu-emu/yuzu/graphs/contributors</string>
108 <string name="licenses_description">Các dá»± án làm cho yuzu trên Android trở thành Ä‘iá»u có thể</string>
109 <string name="build">Dá»±ng</string>
110 <string name="support_link">https://discord.gg/u77vRWY</string>
111 <string name="website_link">https://yuzu-emu.org/</string>
112 <string name="github_link">https://github.com/yuzu-emu</string>
113
114 <!-- Early access upgrade strings -->
115 <string name="early_access">Early Access</string>
116 <string name="get_early_access">Tải Early Access</string>
117 <string name="play_store_link">https://play.google.com/store/apps/details?id=org.yuzu.yuzu_emu.ea</string>
118 <string name="get_early_access_description">Các tính năng tiên tiến, truy cập sá»›m các bản cập nhật và nhiá»u hÆ¡n nữa</string>
119 <string name="early_access_benefits">Lợi ích của Early Access</string>
120 <string name="cutting_edge_features">Tính năng tiên tiến</string>
121 <string name="early_access_updates">Truy cập sớm các bản cập nhật</string>
122 <string name="no_manual_installation">Không có cài đặt thủ công</string>
123 <string name="prioritized_support">Ưu tiên hỗ trợ</string>
124 <string name="helping_game_preservation">Hỗ trợ bảo tồn game</string>
125 <string name="our_eternal_gratitude">Sự biết ơn vô hạn của chúng tôi</string>
126 <string name="are_you_interested">Bạn có thấy hứng thú không?</string>
127
128 <!-- General settings strings -->
129 <string name="frame_limit_enable">Giới hạn tốc độ</string>
130 <string name="frame_limit_enable_description">Giá»›i hạn tốc độ giả lập ở má»™t phần trăm cụ thể cá»§a tốc độ bình thưá»ng.</string>
131 <string name="frame_limit_slider">Giới hạn phần trăm tốc độ</string>
132 <string name="frame_limit_slider_description">Xác định phần trăm để giá»›i hạn tốc độ giả lập. 100% là tốc độ bình thưá»ng. Giá trị cao hÆ¡n hoặc thấp hÆ¡n sẽ tăng hoặc giảm giá»›i hạn tốc độ.</string>
133 <string name="cpu_accuracy">Äá»™ chính xác CPU</string>
134 <!-- System settings strings -->
135 <string name="use_docked_mode">Chế độ docked</string>
136 <string name="use_docked_mode_description">Tăng độ phân giải, giảm hiệu suất. Chế độ handheld được sử dụng khi tắt, giảm độ phân giải và tăng hiệu suất.</string>
137 <string name="emulated_region">Khu vực giả lập</string>
138 <string name="emulated_language">Ngôn ngữ giả lập</string>
139 <string name="select_rtc_date">Chá»n ngày RTC</string>
140 <string name="select_rtc_time">Chá»n giá» RTC</string>
141 <string name="use_custom_rtc">RTC tuỳ chỉnh</string>
142 <string name="use_custom_rtc_description">Cho phép bạn thiết lập má»™t đồng hồ thá»i gian thá»±c tùy chỉnh riêng biệt so vá»›i thá»i gian hệ thống hiện tại.</string>
143 <string name="set_custom_rtc">Thiết lập RTC tùy chỉnh</string>
144
145 <!-- Graphics settings strings -->
146 <string name="renderer_accuracy">Mức độ chính xác</string>
147 <string name="renderer_resolution">Äá»™ phân giải (Handheld/Docked)</string>
148 <string name="renderer_vsync">Chế độ VSync</string>
149 <string name="renderer_aspect_ratio">Tỉ lệ khung hình</string>
150 <string name="renderer_scaling_filter">Bá»™ lá»c Ä‘iá»u chỉnh cá»­a sổ</string>
151 <string name="renderer_anti_aliasing">Phương pháp khử răng cưa</string>
152 <string name="renderer_force_max_clock">Buộc chạy ở xung nhịp tối đa (chỉ cho Adreno)</string>
153 <string name="renderer_force_max_clock_description">Buộc GPU hoạt động ở xung nhịp tối đa có thể (ràng buộc nhiệt độ vẫn sẽ được áp dụng).</string>
154 <string name="renderer_asynchronous_shaders">Dùng các shader bất đồng bộ</string>
155 <string name="renderer_asynchronous_shaders_description">Biên dịch các shader bất đồng bộ, giảm tình trạng giật lag nhưng có thể gây ra các lỗi.</string>
156 <string name="renderer_reactive_flushing">Dùng xả tương ứng</string>
157 <string name="renderer_reactive_flushing_description">Cải thiện độ chính xác kết xuất trong má»™t số game nhưng đồng thá»i giảm hiệu suất.</string>
158 <string name="use_disk_shader_cache">Lưu bộ nhớ đệm shader trên ổ cứng</string>
159 <string name="use_disk_shader_cache_description">Giảm tình trạng giật lag bằng cách lưu trữ và tải các shader được tạo ra nội bộ.</string>
160
161 <!-- Debug settings strings -->
162 <string name="cpu">CPU</string>
163 <string name="renderer_api">API</string>
164 <string name="renderer_debug">Gỡ lỗi đồ hoạ</string>
165 <string name="renderer_debug_description">Äặt API đồ há»a vào chế độ gỡ lá»—i chậm.</string>
166 <string name="audio_volume">Âm lượng</string>
167 <string name="audio_volume_description">Xác định âm lượng của đầu ra âm thanh.</string>
168
169 <!-- Miscellaneous -->
170 <string name="slider_default">Mặc định</string>
171 <string name="ini_saved">Cài đặt đã lưu</string>
172 <string name="gameid_saved">Cài đặt đã lưu cho %1$s</string>
173 <string name="error_saving">Lỗi khi lưu %1$s.ini: %2$s</string>
174 <string name="loading">Äang tải...</string>
175 <string name="reset_setting_confirmation">Bạn có muốn đặt lại cài đặt này vỠgiá trị mặc định không?</string>
176 <string name="reset_to_default">Äặt lại vá» mặc định</string>
177 <string name="reset_all_settings">Bạn có muốn đặt lại tất cả các cài đặt vỠgiá trị mặc định không?</string>
178 <string name="reset_all_settings_description">Tất cả các cài đặt nâng cao sẽ được đặt lại vá» cấu hình mặc định. Äiá»u này không thể hoàn tác.</string>
179 <string name="settings_reset">Cài đặt đã được đặt lại</string>
180 <string name="close">Äóng</string>
181 <string name="learn_more">Tìm hiểu thêm</string>
182 <string name="auto">Tự động</string>
183 <string name="submit">Gá»­i</string>
184 <string name="string_null">Null</string>
185 <string name="string_import">Nhập</string>
186 <string name="export">Xuất</string>
187 <!-- GPU driver installation -->
188 <string name="select_gpu_driver">Chá»n driver GPU</string>
189 <string name="select_gpu_driver_title">Bạn có muốn thay thế driver GPU hiện tại không?</string>
190 <string name="select_gpu_driver_install">Cài đặt</string>
191 <string name="select_gpu_driver_default">Mặc định</string>
192 <string name="select_gpu_driver_use_default">Dùng driver GPU mặc định</string>
193 <string name="select_gpu_driver_error">Driver không hợp lệ đã được chá»n, dùng mặc định hệ thống!</string>
194 <string name="system_gpu_driver">Driver GPU hệ thống</string>
195 <string name="installing_driver">Äang cài đặt driver...</string>
196
197 <!-- Preferences Screen -->
198 <string name="preferences_settings">Cài đặt</string>
199 <string name="preferences_general">Chung</string>
200 <string name="preferences_system">Hệ thống</string>
201 <string name="preferences_graphics">Äồ hoạ</string>
202 <string name="preferences_audio">Âm thanh</string>
203 <string name="preferences_theme">Chủ đỠvà màu sắc</string>
204 <string name="preferences_debug">Gỡ lỗi</string>
205
206 <!-- ROM loading errors -->
207 <string name="loader_error_encrypted">ROM của bạn đã bị mã hoá</string>
208 <string name="loader_error_encrypted_keys_description"><![CDATA[Vui lòng đảm bảo tệp <a href=\"https://yuzu-emu.org/help/quickstart/#dumping-prodkeys-and-titlekeys\">prod.keys</a> đã được cài đặt để các game có thể được giải mã.]]></string>
209 <string name="loader_error_video_core">Äã xảy ra lá»—i khi khởi tạo lõi video</string>
210 <string name="loader_error_video_core_description">Việc này thưá»ng do driver GPU không tương thích. Cài đặt má»™t driver GPU tùy chỉnh có thể giải quyết vấn đỠnày.</string>
211 <string name="loader_error_invalid_format">Không thể nạp ROM</string>
212 <string name="loader_error_file_not_found">Tệp ROM không tồn tại</string>
213
214 <!-- Emulation Menu -->
215 <string name="emulation_exit">Thoát giả lập</string>
216 <string name="emulation_done">Hoàn thành</string>
217 <string name="emulation_fps_counter">Bộ đếm FPS</string>
218 <string name="emulation_toggle_controls">Chuyển đổi Ä‘iá»u khiển</string>
219 <string name="emulation_rel_stick_center">Trung tâm nút cần xoay tương đối</string>
220 <string name="emulation_dpad_slide">Trượt D-pad</string>
221 <string name="emulation_haptics">Chạm haptics</string>
222 <string name="emulation_show_overlay">Hiện lớp phủ</string>
223 <string name="emulation_toggle_all">Chuyển đổi tất cả</string>
224 <string name="emulation_control_adjust">Äiá»u chỉnh lá»›p phá»§</string>
225 <string name="emulation_control_scale">Tỉ lệ thu phóng</string>
226 <string name="emulation_control_opacity">Äá»™ má»</string>
227 <string name="emulation_touch_overlay_reset">Äặt lại lá»›p phá»§</string>
228 <string name="emulation_touch_overlay_edit">Chỉnh sửa lớp phủ</string>
229 <string name="emulation_pause">Tạm đừng giả lập</string>
230 <string name="emulation_unpause">Tiếp tục giả lập</string>
231 <string name="emulation_input_overlay">Tuỳ chá»n lá»›p phá»§</string>
232
233 <string name="load_settings">Äang tải cài đặt...</string>
234
235 <!-- Software keyboard -->
236 <string name="software_keyboard">Bàn phím má»m</string>
237
238 <!-- Errors and warnings -->
239 <string name="abort_button">Há»§y bá»</string>
240 <string name="continue_button">Tiếp tục</string>
241 <string name="system_archive_not_found">Không tìm thấy bản lưu trữ của hệ thống</string>
242 <string name="system_archive_not_found_message">%s bị thiếu. Vui lòng trích xuất các bản lưu trữ hệ thống của bạn.\nNếu chạy tiếp giả lập có thể bị crash và lỗi.</string>
243 <string name="system_archive_general">Một bản lưu trữ của hệ thống</string>
244 <string name="save_load_error">Lỗi Lưu/Tải</string>
245 <string name="fatal_error">Lá»—i nghiêm trá»ng</string>
246 <string name="fatal_error_message">Äã xảy ra lá»—i nghiêm trá»ng. Kiểm tra nhật ký để biết thêm chi tiết.\nNếu chạy tiếp giả lập có thể bị crash và lá»—i.</string>
247 <string name="performance_warning">Tắt cài đặt này sẽ làm giảm đáng kể hiệu suất giả lập! Äể có trải nghiệm tốt nhất, bạn nên bật cài đặt này.</string>
248 <!-- Region Names -->
249 <string name="region_japan">Nhật Bản</string>
250 <string name="region_usa">Hoa Kỳ</string>
251 <string name="region_europe">Châu Âu</string>
252 <string name="region_australia">Úc</string>
253 <string name="region_china">Trung Quốc</string>
254 <string name="region_korea">Hàn Quốc</string>
255 <string name="region_taiwan">Äài Loan</string>
256
257 <string name="memory_gigabyte">GB</string>
258 <!-- Renderer APIs -->
259 <string name="renderer_vulkan">Vulkan</string>
260 <string name="renderer_none">Không có</string>
261
262 <!-- Renderer Accuracy -->
263 <string name="renderer_accuracy_normal">Bình thưá»ng</string>
264 <string name="renderer_accuracy_high">Cao</string>
265 <string name="renderer_accuracy_extreme">Cực đại (Chậm)</string>
266
267 <!-- Resolutions -->
268 <string name="resolution_half">0.5X (360p/540p)</string>
269 <string name="resolution_three_quarter">0.75X (540p/810p)</string>
270 <string name="resolution_one">1X (720p/1080p)</string>
271 <string name="resolution_two">2X (1440p/2160p) (Chậm)</string>
272 <string name="resolution_three">3X (2160p/3240p) (Chậm)</string>
273 <string name="resolution_four">4X (2880p/4320p) (Chậm)</string>
274
275 <!-- Renderer VSync -->
276 <string name="renderer_vsync_immediate">Immediate (Tắt)</string>
277 <string name="renderer_vsync_mailbox">Mailbox</string>
278 <string name="renderer_vsync_fifo">FIFO (Bật)</string>
279 <string name="renderer_vsync_fifo_relaxed">FIFO Relaxed</string>
280
281 <!-- Scaling Filters -->
282 <string name="scaling_filter_nearest_neighbor">Nearest Neighbor</string>
283 <string name="scaling_filter_bilinear">Bilinear</string>
284 <string name="scaling_filter_bicubic">Bicubic</string>
285 <string name="scaling_filter_gaussian">Gaussian</string>
286 <string name="scaling_filter_scale_force">ScaleForce</string>
287 <string name="scaling_filter_fsr">AMD FidelityFXâ„¢ Super Resolution</string>
288
289 <!-- Anti-Aliasing -->
290 <string name="anti_aliasing_none">Không có</string>
291 <string name="anti_aliasing_fxaa">FXAA</string>
292 <string name="anti_aliasing_smaa">SMAA</string>
293
294 <string name="screen_layout_auto">Tự động</string>
295
296 <!-- Aspect Ratios -->
297 <string name="ratio_default">Mặc định (16:9)</string>
298 <string name="ratio_force_four_three">Dùng 4:3</string>
299 <string name="ratio_force_twenty_one_nine">Dùng 21:9</string>
300 <string name="ratio_force_sixteen_ten">Dùng 16:10</string>
301 <string name="ratio_stretch">Mở rộng đến cửa sổ</string>
302
303 <!-- CPU Accuracy -->
304 <string name="cpu_accuracy_accurate">Chính xác</string>
305 <string name="cpu_accuracy_unsafe">Không an toàn</string>
306 <string name="cpu_accuracy_paranoid">Paranoid (Chậm)</string>
307
308 <!-- Gamepad Buttons -->
309 <string name="gamepad_d_pad">D-pad</string>
310 <string name="gamepad_left_stick">Cần trái</string>
311 <string name="gamepad_right_stick">Cần phải</string>
312 <string name="gamepad_home">Home</string>
313 <string name="gamepad_screenshot">Ảnh chụp màn hình</string>
314
315 <!-- Disk shader cache -->
316 <string name="preparing_shaders">Äang chuẩn bị shader</string>
317 <string name="building_shaders">Äang đựng shader</string>
318
319 <!-- Theme options -->
320 <string name="change_app_theme">Thay đổi chủ đỠứng dụng</string>
321 <string name="theme_default">Mặc định</string>
322 <string name="theme_material_you">Material You</string>
323
324 <!-- Theme Modes -->
325 <string name="change_theme_mode">Thay đổi chá»§ Ä‘á»</string>
326 <string name="theme_mode_follow_system">Theo hệ thống</string>
327 <string name="theme_mode_light">Sáng</string>
328 <string name="theme_mode_dark">Tối</string>
329
330 <!-- Black backgrounds theme -->
331 <string name="use_black_backgrounds">Ná»n Ä‘en</string>
332 <string name="use_black_backgrounds_description">Khi sá»­ dụng chá»§ đỠtối, hãy áp dụng ná»n Ä‘en.</string>
333
334 <string name="mute">Tắt tiếng</string>
335 <string name="unmute">Bật tiếng</string>
336
337 <!-- Licenses screen strings -->
338 <string name="licenses">Giấy phép</string>
339 <string name="license_fidelityfx_fsr_description">Upscaling chất lượng cao từ AMD</string>
340 </resources>
diff --git a/src/android/app/src/main/res/values-zh-rCN/strings.xml b/src/android/app/src/main/res/values-zh-rCN/strings.xml
index c0e885751..13455564f 100644
--- a/src/android/app/src/main/res/values-zh-rCN/strings.xml
+++ b/src/android/app/src/main/res/values-zh-rCN/strings.xml
@@ -1,5 +1,5 @@
1<?xml version="1.0" encoding="utf-8"?> 1<?xml version="1.0" encoding="utf-8"?>
2<resources> 2<resources xmlns:tools="http://schemas.android.com/tools" tools:ignore="MissingTranslation">
3 3
4 <string name="app_disclaimer">此软件å¯ä»¥è¿è¡Œ Nintendo Switch 游æˆï¼Œä½†ä¸åŒ…å«ä»»ä½•游æˆå’Œå¯†é’¥æ–‡ä»¶ã€‚&lt;br /&gt;&lt;br /&gt;在开始å‰ï¼Œè¯·æ‰¾åˆ°æ”¾ç½®äºŽè®¾å¤‡å­˜å‚¨ä¸­çš„ <![CDATA[<b> prod.keys </b>]]> 文件。&lt;br /&gt;&lt;br /&gt;<![CDATA[<a href=\"https://yuzu-emu.org/help/quickstart\">了解更多</a>]]></string> 4 <string name="app_disclaimer">此软件å¯ä»¥è¿è¡Œ Nintendo Switch 游æˆï¼Œä½†ä¸åŒ…å«ä»»ä½•游æˆå’Œå¯†é’¥æ–‡ä»¶ã€‚&lt;br /&gt;&lt;br /&gt;在开始å‰ï¼Œè¯·æ‰¾åˆ°æ”¾ç½®äºŽè®¾å¤‡å­˜å‚¨ä¸­çš„ <![CDATA[<b> prod.keys </b>]]> 文件。&lt;br /&gt;&lt;br /&gt;<![CDATA[<a href=\"https://yuzu-emu.org/help/quickstart\">了解更多</a>]]></string>
5 <string name="emulation_notification_channel_name">正在进行模拟</string> 5 <string name="emulation_notification_channel_name">正在进行模拟</string>
@@ -17,7 +17,7 @@
17 <string name="keys_description">使用下方的按钮æ¥é€‰æ‹©ä½ çš„ &lt;b>prod.keys&lt;/b> 文件。</string> 17 <string name="keys_description">使用下方的按钮æ¥é€‰æ‹©ä½ çš„ &lt;b>prod.keys&lt;/b> 文件。</string>
18 <string name="select_keys">选择密钥文件</string> 18 <string name="select_keys">选择密钥文件</string>
19 <string name="games">游æˆ</string> 19 <string name="games">游æˆ</string>
20 <string name="games_description">使用下方的按钮选择你的 &lt;b>游æˆ&lt;/b> 文件夹。</string> 20 <string name="games_description">使用下方的按钮选择你的&lt;b>游æˆ&lt;/b>文件夹。</string>
21 <string name="done">完æˆ</string> 21 <string name="done">完æˆ</string>
22 <string name="done_description">你完æˆäº†å…¨éƒ¨è®¾ç½®ã€‚\n玩的开心ï¼</string> 22 <string name="done_description">你完æˆäº†å…¨éƒ¨è®¾ç½®ã€‚\n玩的开心ï¼</string>
23 <string name="text_continue">ç»§ç»­</string> 23 <string name="text_continue">ç»§ç»­</string>
@@ -25,6 +25,7 @@
25 <string name="back">上一步</string> 25 <string name="back">上一步</string>
26 <string name="add_games">添加游æˆ</string> 26 <string name="add_games">添加游æˆ</string>
27 <string name="add_games_description">é€‰æ‹©ä½ çš„æ¸¸æˆæ–‡ä»¶å¤¹</string> 27 <string name="add_games_description">é€‰æ‹©ä½ çš„æ¸¸æˆæ–‡ä»¶å¤¹</string>
28 <string name="step_complete">完æˆï¼</string>
28 29
29 <!-- Home strings --> 30 <!-- Home strings -->
30 <string name="home_games">游æˆ</string> 31 <string name="home_games">游æˆ</string>
@@ -38,6 +39,7 @@
38 <string name="add_games_warning_description">å¦‚æžœæœªé€‰æ‹©æ¸¸æˆæ–‡ä»¶å¤¹ï¼Œæ¸¸æˆå°†ä¸ä¼šæ˜¾ç¤ºåœ¨æ¸¸æˆåˆ—表中。</string> 39 <string name="add_games_warning_description">å¦‚æžœæœªé€‰æ‹©æ¸¸æˆæ–‡ä»¶å¤¹ï¼Œæ¸¸æˆå°†ä¸ä¼šæ˜¾ç¤ºåœ¨æ¸¸æˆåˆ—表中。</string>
39 <string name="add_games_warning_help">https://yuzu-emu.org/help/quickstart/#dumping-games</string> 40 <string name="add_games_warning_help">https://yuzu-emu.org/help/quickstart/#dumping-games</string>
40 <string name="home_search_games">æœç´¢æ¸¸æˆ</string> 41 <string name="home_search_games">æœç´¢æ¸¸æˆ</string>
42 <string name="search_settings">æœç´¢è®¾ç½®</string>
41 <string name="games_dir_selected">å·²é€‰æ‹©æ¸¸æˆæ–‡ä»¶å¤¹</string> 43 <string name="games_dir_selected">å·²é€‰æ‹©æ¸¸æˆæ–‡ä»¶å¤¹</string>
42 <string name="install_prod_keys">安装 prod.keys 文件</string> 44 <string name="install_prod_keys">安装 prod.keys 文件</string>
43 <string name="install_prod_keys_description">需è¦å¯†é’¥æ–‡ä»¶æ¥è§£å¯†æ¸¸æˆ</string> 45 <string name="install_prod_keys_description">需è¦å¯†é’¥æ–‡ä»¶æ¥è§£å¯†æ¸¸æˆ</string>
@@ -61,12 +63,15 @@
61 <string name="invalid_keys_file">选择的密钥文件无效</string> 63 <string name="invalid_keys_file">选择的密钥文件无效</string>
62 <string name="install_keys_success">密钥文件已æˆåŠŸå®‰è£…</string> 64 <string name="install_keys_success">密钥文件已æˆåŠŸå®‰è£…</string>
63 <string name="reading_keys_failure">读å–加密密钥时出错</string> 65 <string name="reading_keys_failure">读å–加密密钥时出错</string>
66 <string name="install_prod_keys_failure_extension_description">è¯·ç¡®ä¿æ‚¨çš„密钥文件扩展å为 .keys å¹¶é‡è¯•。</string>
67 <string name="install_amiibo_keys_failure_extension_description">è¯·ç¡®ä¿æ‚¨çš„密钥文件扩展å为 .bin å¹¶é‡è¯•。</string>
64 <string name="invalid_keys_error">无效的加密密钥</string> 68 <string name="invalid_keys_error">无效的加密密钥</string>
65 <string name="dumping_keys_quickstart_link">https://yuzu-emu.org/help/quickstart/#dumping-decryption-keys</string> 69 <string name="dumping_keys_quickstart_link">https://yuzu-emu.org/help/quickstart/#dumping-decryption-keys</string>
66 <string name="install_keys_failure_description">é€‰æ‹©çš„å¯†é’¥æ–‡ä»¶ä¸æ­£ç¡®æˆ–å·²æŸåã€‚è¯·é‡æ–°è½¬å‚¨å¯†é’¥æ–‡ä»¶ã€‚</string> 70 <string name="install_keys_failure_description">é€‰æ‹©çš„å¯†é’¥æ–‡ä»¶ä¸æ­£ç¡®æˆ–å·²æŸåã€‚è¯·é‡æ–°è½¬å‚¨å¯†é’¥æ–‡ä»¶ã€‚</string>
67 <string name="install_gpu_driver">安装 GPU 驱动</string> 71 <string name="install_gpu_driver">安装 GPU 驱动</string>
68 <string name="install_gpu_driver_description">安装替代的驱动程åºä»¥èŽ·å¾—æ›´å¥½çš„æ€§èƒ½å’Œç²¾åº¦</string> 72 <string name="install_gpu_driver_description">安装替代的驱动程åºä»¥èŽ·å¾—æ›´å¥½çš„æ€§èƒ½å’Œç²¾åº¦</string>
69 <string name="advanced_settings">高级选项</string> 73 <string name="advanced_settings">高级选项</string>
74 <string name="advanced_settings_game">高级选项: %1$s</string>
70 <string name="settings_description">更改模拟器设置</string> 75 <string name="settings_description">更改模拟器设置</string>
71 <string name="search_recently_played">最近游玩</string> 76 <string name="search_recently_played">最近游玩</string>
72 <string name="search_recently_added">最近添加</string> 77 <string name="search_recently_added">最近添加</string>
@@ -86,6 +91,33 @@
86 <string name="save_file_invalid_zip_structure_description">ç¬¬ä¸€ä¸ªå­æ–‡ä»¶å¤¹åç§°å¿…é¡»ä¸ºå½“å‰æ¸¸æˆçš„ ID。</string> 91 <string name="save_file_invalid_zip_structure_description">ç¬¬ä¸€ä¸ªå­æ–‡ä»¶å¤¹åç§°å¿…é¡»ä¸ºå½“å‰æ¸¸æˆçš„ ID。</string>
87 <string name="import_saves">导入</string> 92 <string name="import_saves">导入</string>
88 <string name="export_saves">导出</string> 93 <string name="export_saves">导出</string>
94 <string name="install_firmware">安装固件</string>
95 <string name="install_firmware_description">固件文件必须为 zip æ ¼å¼ï¼Œå¯åЍæŸäº›æ¸¸æˆæ—¶å¿…需</string>
96 <string name="firmware_installing">正在安装固件</string>
97 <string name="firmware_installed_success">固件已æˆåŠŸå®‰è£…</string>
98 <string name="firmware_installed_failure">固件安装失败</string>
99 <string name="firmware_installed_failure_description">请确ä¿å›ºä»¶ nca 文件ä½äºŽ zip 压缩包的根目录,然åŽé‡è¯•。</string>
100 <string name="share_log">分享调试日志</string>
101 <string name="share_log_description">分享 yuzu 日志文件以便调试</string>
102 <string name="share_log_missing">未找到日志文件</string>
103 <string name="install_game_content">安装游æˆé™„加内容</string>
104 <string name="install_game_content_description">å®‰è£…æ¸¸æˆæ›´æ–°åŠ DLC</string>
105 <string name="installing_game_content">安装中...</string>
106 <string name="install_game_content_failure">å‘ NAND 安装文件时失败</string>
107 <string name="install_game_content_failure_description">请确ä¿é™„加内容的有效性,并且 prod.keys 密钥文件已安装。</string>
108 <string name="install_game_content_failure_base">为é¿å…产生冲çªï¼Œæ­¤åŠŸèƒ½ä¸èƒ½ç”¨äºŽå®‰è£…æ¸¸æˆæœ¬ä½“。</string>
109 <string name="install_game_content_failure_file_extension">åªæœ‰ NSP 或 XCI æ ¼å¼çš„附加内容å¯ä»¥å®‰è£…ã€‚è¯·ç¡®ä¿æ‚¨çš„æ¸¸æˆé™„加内容是有效的。</string>
110 <string name="install_game_content_failed_count">%1$d 安装出错</string>
111 <string name="install_game_content_success">游æˆé™„加内容已æˆåŠŸå®‰è£…</string>
112 <string name="install_game_content_success_install">%1$d 安装æˆåŠŸ</string>
113 <string name="install_game_content_success_overwrite">%1$d 覆盖安装æˆåŠŸ</string>
114 <string name="install_game_content_help_link">https://yuzu-emu.org/help/quickstart/#dumping-installed-updates</string>
115 <string name="custom_driver_not_supported">䏿”¯æŒè‡ªå®šä¹‰é©±åЍ</string>
116 <string name="custom_driver_not_supported_description">æ­¤è®¾å¤‡ä¸æ”¯æŒè‡ªå®šä¹‰é©±åŠ¨ã€‚\n请之åŽå†è®¿é—®æ­¤é¡¹ï¼ŒæŸ¥çœ‹æ˜¯å¦å·²ä¸ºæ­¤è®¾å¤‡æ·»åŠ æ”¯æŒã€‚</string>
117 <string name="manage_yuzu_data">ç®¡ç† yuzu æ•°æ®</string>
118 <string name="manage_yuzu_data_description">导入/导出固件ã€å¯†é’¥ã€ç”¨æˆ·æ•°æ®åŠå…¶ä»–。</string>
119 <string name="share_save_file">分享存档文件</string>
120 <string name="export_save_failed">导出存档文件失败</string>
89 121
90 <!-- About screen strings --> 122 <!-- About screen strings -->
91 <string name="gaia_is_not_real">Gaia ä¸çœŸå®ž</string> 123 <string name="gaia_is_not_real">Gaia ä¸çœŸå®ž</string>
@@ -94,14 +126,25 @@
94 <string name="contributors">贡献者</string> 126 <string name="contributors">贡献者</string>
95 <string name="contributors_description">使用æ¥è‡ª yuzu 团队的 \u2764 制作</string> 127 <string name="contributors_description">使用æ¥è‡ª yuzu 团队的 \u2764 制作</string>
96 <string name="contributors_link">https://github.com/yuzu-emu/yuzu/graphs/contributors</string> 128 <string name="contributors_link">https://github.com/yuzu-emu/yuzu/graphs/contributors</string>
129 <string name="licenses_description">Android 版 yuzu 离ä¸å¼€è¿™äº›é¡¹ç›®çš„æ”¯æŒ</string>
97 <string name="build">构建版本</string> 130 <string name="build">构建版本</string>
131 <string name="user_data">用户数æ®</string>
132 <string name="user_data_description">导入/å¯¼å‡ºåº”ç”¨ç¨‹åºæ‰€æœ‰æ•°æ®ã€‚\n\nå¯¼å…¥ç”¨æˆ·æ•°æ®æ—¶ï¼Œå°†åˆ é™¤å½“剿‰€æœ‰çš„用户数æ®ï¼</string>
133 <string name="exporting_user_data">正在导出用户数æ®...</string>
134 <string name="importing_user_data">正在导入用户数æ®...</string>
135 <string name="import_user_data">导入用户数æ®</string>
136 <string name="invalid_yuzu_backup">无效的 yuzu 备份</string>
137 <string name="user_data_export_success">å¯¼å‡ºç”¨æˆ·æ•°æ®æˆåŠŸ</string>
138 <string name="user_data_import_success">å¯¼å…¥ç”¨æˆ·æ•°æ®æˆåŠŸ</string>
139 <string name="user_data_export_cancelled">已喿¶ˆå¯¼å‡ºæ•°æ®</string>
140 <string name="user_data_import_failed_description">请确ä¿ç”¨æˆ·æ•°æ®æ–‡ä»¶å¤¹ä½äºŽ zip 压缩包的根目录,并在 config/config.ini 路径中包å«é…置文件,然åŽé‡è¯•。</string>
98 <string name="support_link">https://discord.gg/u77vRWY</string> 141 <string name="support_link">https://discord.gg/u77vRWY</string>
99 <string name="website_link">https://yuzu-emu.org/</string> 142 <string name="website_link">https://yuzu-emu.org/</string>
100 <string name="github_link">https://github.com/yuzu-emu</string> 143 <string name="github_link">https://github.com/yuzu-emu</string>
101 144
102 <!-- Early access upgrade strings --> 145 <!-- Early access upgrade strings -->
103 <string name="early_access">抢先体验</string> 146 <string name="early_access">抢先体验</string>
104 <string name="get_early_access">å–得抢先体验</string> 147 <string name="get_early_access">èŽ·å–æŠ¢å…ˆä½“éªŒï¼</string>
105 <string name="play_store_link">https://play.google.com/store/apps/details?id=org.yuzu.yuzu_emu.ea</string> 148 <string name="play_store_link">https://play.google.com/store/apps/details?id=org.yuzu.yuzu_emu.ea</string>
106 <string name="get_early_access_description">æœ€æ–°çš„åŠŸèƒ½ã€æŠ¢å…ˆæ›´æ–°ã€ä»¥åŠæ›´å¤š</string> 149 <string name="get_early_access_description">æœ€æ–°çš„åŠŸèƒ½ã€æŠ¢å…ˆæ›´æ–°ã€ä»¥åŠæ›´å¤š</string>
107 <string name="early_access_benefits">抢先体验的æƒç›Š</string> 150 <string name="early_access_benefits">抢先体验的æƒç›Š</string>
@@ -109,33 +152,34 @@
109 <string name="early_access_updates">抢先更新</string> 152 <string name="early_access_updates">抢先更新</string>
110 <string name="no_manual_installation">无需手动安装</string> 153 <string name="no_manual_installation">无需手动安装</string>
111 <string name="prioritized_support">优先支æŒ</string> 154 <string name="prioritized_support">优先支æŒ</string>
112 <string name="helping_game_preservation">帮助ä¿ç•™æ¸¸æˆ</string> 155 <string name="helping_game_preservation">帮助ä¿ç•™æ¸¸çŽ©åŽ†å²</string>
113 <string name="our_eternal_gratitude">我们真诚的感激</string> 156 <string name="our_eternal_gratitude">我们真诚的感激</string>
114 <string name="are_you_interested">您对此感兴趣å—?</string> 157 <string name="are_you_interested">您对此感兴趣å—?</string>
115 158
116 <!-- General settings strings --> 159 <!-- General settings strings -->
117 <string name="frame_limit_enable">å¯ç”¨è¿è¡Œé€Ÿåº¦é™åˆ¶</string> 160 <string name="frame_limit_enable">è¿è¡Œé€Ÿåº¦é™åˆ¶</string>
118 <string name="frame_limit_enable_description">å¯ç”¨åŽï¼Œæ¨¡æ‹Ÿé€Ÿåº¦å°†é™åˆ¶åœ¨æ­£å¸¸è¿è¡Œé€Ÿåº¦çš„æŒ‡å®šç™¾åˆ†æ¯”。</string> 161 <string name="frame_limit_enable_description">å°†è¿è¡Œé€Ÿåº¦é™åˆ¶ä¸ºæ­£å¸¸é€Ÿåº¦çš„æŒ‡å®šç™¾åˆ†æ¯”。</string>
119 <string name="frame_limit_slider">é™åˆ¶é€Ÿåº¦ç™¾åˆ†æ¯”</string> 162 <string name="frame_limit_slider">é™åˆ¶é€Ÿåº¦ç™¾åˆ†æ¯”</string>
120 <string name="frame_limit_slider_description">指定é™åˆ¶æ¨¡æ‹Ÿé€Ÿåº¦çš„百分比。预设为 100%,此时模拟速度将被é™åˆ¶ä¸ºæ ‡å‡†é€Ÿåº¦ã€‚更高或更低的值将增加或é™ä½Žé€Ÿåº¦é™åˆ¶ä¸Šé™ã€‚</string> 163 <string name="frame_limit_slider_description">指定é™åˆ¶è¿è¡Œé€Ÿåº¦çš„百分比。100% 为正常速度。更高或更低的值将增加或é™ä½Žé€Ÿåº¦é™åˆ¶ä¸Šé™ã€‚</string>
121 <string name="cpu_accuracy">CPU 精度</string> 164 <string name="cpu_accuracy">CPU 精度</string>
165 <string name="value_with_units">%1$s%2$s</string>
122 166
123 <!-- System settings strings --> 167 <!-- System settings strings -->
124 <string name="use_docked_mode">主机模å¼</string> 168 <string name="use_docked_mode">主机模å¼</string>
125 <string name="use_docked_mode_description">以主机模å¼è¿›è¡Œæ¨¡æ‹Ÿï¼Œç‰ºç‰²æ€§èƒ½å¹¶æé«˜ç”»é¢åˆ†è¾¨çŽ‡ã€‚</string> 169 <string name="use_docked_mode_description">æé«˜åˆ†è¾¨çŽ‡ï¼Œä½†é™ä½Žæ€§èƒ½ã€‚ç¦ç”¨æ­¤é¡¹æ—¶ä½¿ç”¨æŽŒæœºæ¨¡å¼ï¼Œé™ä½Žåˆ†è¾¨çއ并æé«˜æ€§èƒ½ã€‚</string>
126 <string name="emulated_region">模拟区域</string> 170 <string name="emulated_region">模拟区域</string>
127 <string name="emulated_language">模拟语言</string> 171 <string name="emulated_language">模拟语言</string>
128 <string name="select_rtc_date">选择日期</string> 172 <string name="select_rtc_date">选择日期</string>
129 <string name="select_rtc_time">选择时间</string> 173 <string name="select_rtc_time">选择时间</string>
130 <string name="use_custom_rtc">å¯ç”¨è‡ªå®šä¹‰ç³»ç»Ÿæ—¶é’Ÿ</string> 174 <string name="use_custom_rtc">自定义系统时间</string>
131 <string name="use_custom_rtc_description">此选项å…许您设置与目å‰ç³»ç»Ÿæ—¶é—´ç›¸ç‹¬ç«‹çš„自定义系统时钟</string> 175 <string name="use_custom_rtc_description">此选项å…许您设置与目å‰ç³»ç»Ÿæ—¶é—´ç›¸ç‹¬ç«‹çš„自定义系统时钟。</string>
132 <string name="set_custom_rtc">设置自定义系统时钟</string> 176 <string name="set_custom_rtc">设置自定义系统时间</string>
133 177
134 <!-- Graphics settings strings --> 178 <!-- Graphics settings strings -->
135 <string name="renderer_api">API</string>
136 <string name="renderer_accuracy">精度等级</string> 179 <string name="renderer_accuracy">精度等级</string>
137 <string name="renderer_resolution">分辨率</string> 180 <string name="renderer_resolution">分辨率 (掌机模å¼/主机模å¼)</string>
138 <string name="renderer_vsync">åž‚ç›´åŒæ­¥æ¨¡å¼</string> 181 <string name="renderer_vsync">åž‚ç›´åŒæ­¥æ¨¡å¼</string>
182 <string name="renderer_screen_layout">å±å¹•æ–¹å‘</string>
139 <string name="renderer_aspect_ratio">å±å¹•纵横比</string> 183 <string name="renderer_aspect_ratio">å±å¹•纵横比</string>
140 <string name="renderer_scaling_filter">çª—å£æ»¤é•œ</string> 184 <string name="renderer_scaling_filter">çª—å£æ»¤é•œ</string>
141 <string name="renderer_anti_aliasing">抗锯齿方å¼</string> 185 <string name="renderer_anti_aliasing">抗锯齿方å¼</string>
@@ -143,12 +187,23 @@
143 <string name="renderer_force_max_clock_description">强制 GPU 以最大时钟è¿è¡Œ (ä»è¢«æ¸©æŽ§é™åˆ¶)。</string> 187 <string name="renderer_force_max_clock_description">强制 GPU 以最大时钟è¿è¡Œ (ä»è¢«æ¸©æŽ§é™åˆ¶)。</string>
144 <string name="renderer_asynchronous_shaders">使用异步ç€è‰²å™¨</string> 188 <string name="renderer_asynchronous_shaders">使用异步ç€è‰²å™¨</string>
145 <string name="renderer_asynchronous_shaders_description">异步编译ç€è‰²å™¨ï¼Œå‡å°‘å¡é¡¿ï¼Œä½†å¯èƒ½å¼•入故障。</string> 189 <string name="renderer_asynchronous_shaders_description">异步编译ç€è‰²å™¨ï¼Œå‡å°‘å¡é¡¿ï¼Œä½†å¯èƒ½å¼•入故障。</string>
146 <string name="renderer_debug">å¯ç”¨å›¾å½¢è°ƒè¯•</string> 190 <string name="renderer_reactive_flushing">å¯ç”¨å应性刷新</string>
147 <string name="renderer_debug_description">å¯ç”¨æ—¶ï¼Œå›¾å½¢ API 将进入较慢的调试模å¼ã€‚</string> 191 <string name="renderer_reactive_flushing_description">牺牲性能,æé«˜æŸäº›æ¸¸æˆçš„æ¸²æŸ“精度。</string>
148 <string name="use_disk_shader_cache">使用ç£ç›˜ç€è‰²å™¨ç¼“å­˜</string> 192 <string name="use_disk_shader_cache">ç£ç›˜ç€è‰²å™¨ç¼“å­˜</string>
149 <string name="use_disk_shader_cache_description">将生æˆçš„ç€è‰²å™¨ç¼“存于ç£ç›˜ä¸­å¹¶è¿›è¡Œè¯»å–以å‡å°‘å¡é¡¿ã€‚</string> 193 <string name="use_disk_shader_cache_description">将生æˆçš„ç€è‰²å™¨ç¼“存于ç£ç›˜ä¸­å¹¶è¿›è¡Œè¯»å–,以å‡å°‘å¡é¡¿ã€‚</string>
194
195 <!-- Debug settings strings -->
196 <string name="cpu">CPU</string>
197 <string name="cpu_debug_mode">CPU 调试</string>
198 <string name="cpu_debug_mode_description">å°† CPU 设置为较慢的调试模å¼ã€‚</string>
199 <string name="gpu">GPU</string>
200 <string name="renderer_api">API</string>
201 <string name="renderer_debug">图形调试</string>
202 <string name="renderer_debug_description">将图形 API 设置为较慢的调试模å¼ã€‚</string>
203 <string name="fastmem">Fastmem</string>
150 204
151 <!-- Audio settings strings --> 205 <!-- Audio settings strings -->
206 <string name="audio_output_engine">输出引擎</string>
152 <string name="audio_volume">音é‡</string> 207 <string name="audio_volume">音é‡</string>
153 <string name="audio_volume_description">指定输出的音é‡ã€‚</string> 208 <string name="audio_volume_description">指定输出的音é‡ã€‚</string>
154 209
@@ -157,7 +212,9 @@
157 <string name="ini_saved">å·²ä¿å­˜è®¾ç½®</string> 212 <string name="ini_saved">å·²ä¿å­˜è®¾ç½®</string>
158 <string name="gameid_saved">å·²ä¿å­˜ %1$s 的设置</string> 213 <string name="gameid_saved">å·²ä¿å­˜ %1$s 的设置</string>
159 <string name="error_saving">ä¿å­˜ %1$s.ini 时出错: %2$s</string> 214 <string name="error_saving">ä¿å­˜ %1$s.ini 时出错: %2$s</string>
215 <string name="unimplemented_menu">未生效èœå•</string>
160 <string name="loading">加载中…</string> 216 <string name="loading">加载中…</string>
217 <string name="shutting_down">正在关闭…</string>
161 <string name="reset_setting_confirmation">您è¦å°†æ­¤è®¾å®šé‡è®¾ä¸ºé»˜è®¤å€¼å—?</string> 218 <string name="reset_setting_confirmation">您è¦å°†æ­¤è®¾å®šé‡è®¾ä¸ºé»˜è®¤å€¼å—?</string>
162 <string name="reset_to_default">æ¢å¤é»˜è®¤</string> 219 <string name="reset_to_default">æ¢å¤é»˜è®¤</string>
163 <string name="reset_all_settings">é‡ç½®æ‰€æœ‰è®¾ç½®é¡¹ï¼Ÿ</string> 220 <string name="reset_all_settings">é‡ç½®æ‰€æœ‰è®¾ç½®é¡¹ï¼Ÿ</string>
@@ -165,6 +222,14 @@
165 <string name="settings_reset">é‡è®¾è®¾ç½®é¡¹</string> 222 <string name="settings_reset">é‡è®¾è®¾ç½®é¡¹</string>
166 <string name="close">关闭</string> 223 <string name="close">关闭</string>
167 <string name="learn_more">了解更多</string> 224 <string name="learn_more">了解更多</string>
225 <string name="auto">自动</string>
226 <string name="submit">æäº¤</string>
227 <string name="string_null">æ— </string>
228 <string name="string_import">导入</string>
229 <string name="export">导出</string>
230 <string name="export_failed">导出失败</string>
231 <string name="import_failed">导入失败</string>
232 <string name="cancelling">å–æ¶ˆä¸­</string>
168 233
169 <!-- GPU driver installation --> 234 <!-- GPU driver installation -->
170 <string name="select_gpu_driver">选择 GPU 驱动程åº</string> 235 <string name="select_gpu_driver">选择 GPU 驱动程åº</string>
@@ -172,6 +237,7 @@
172 <string name="select_gpu_driver_install">安装</string> 237 <string name="select_gpu_driver_install">安装</string>
173 <string name="select_gpu_driver_default">系统默认</string> 238 <string name="select_gpu_driver_default">系统默认</string>
174 <string name="select_gpu_driver_use_default">使用默认 GPU 驱动程åº</string> 239 <string name="select_gpu_driver_use_default">使用默认 GPU 驱动程åº</string>
240 <string name="select_gpu_driver_error">é€‰æ‹©çš„é©±åŠ¨ç¨‹åºæ— æ•ˆï¼Œå°†ä½¿ç”¨ç³»ç»Ÿé»˜è®¤çš„驱动程åºï¼</string>
175 <string name="system_gpu_driver">系统 GPU 驱动程åº</string> 241 <string name="system_gpu_driver">系统 GPU 驱动程åº</string>
176 <string name="installing_driver">正在安装驱动程åºâ€¦</string> 242 <string name="installing_driver">正在安装驱动程åºâ€¦</string>
177 243
@@ -182,10 +248,11 @@
182 <string name="preferences_graphics">图形</string> 248 <string name="preferences_graphics">图形</string>
183 <string name="preferences_audio">声音</string> 249 <string name="preferences_audio">声音</string>
184 <string name="preferences_theme">主题和色彩</string> 250 <string name="preferences_theme">主题和色彩</string>
251 <string name="preferences_debug">调试</string>
185 252
186 <!-- ROM loading errors --> 253 <!-- ROM loading errors -->
187 <string name="loader_error_encrypted">您的 ROM 已加密</string> 254 <string name="loader_error_encrypted">您的 ROM 已加密</string>
188 <string name="loader_error_encrypted_roms_description"><![CDATA[请å‚考指å—釿–°è½¬å‚¨ä½ çš„<a href=\"https://yuzu-emu.org/help/quickstart/#dumping-cartridge-games\">游æˆå¡å¸¦</a>或<a href=\"https://yuzu-emu.org/help/quickstart/#dumping-installed-titles-eshop\">已安装的游æˆ</a>。]]></string> 255 <string name="loader_error_encrypted_roms_description"><![CDATA[请按照指å—釿–°è½¬å‚¨æ‚¨çš„<a href=\"https://yuzu-emu.org/help/quickstart/#dumping-physical-titles-game-cards\">游æˆå¡å¸¦</a>或<a href=\"https://yuzu-emu.org/help/quickstart/#dumping-digital-titles-eshop\">已安装的游æˆ</a>。]]></string>
189 <string name="loader_error_encrypted_keys_description"><![CDATA[è¯·ç¡®ä¿ <a href=\"https://yuzu-emu.org/help/quickstart/#dumping-prodkeys-and-titlekeys\">prod.keys</a> 文件已安装,使得游æˆå¯ä»¥è¢«è§£å¯†ã€‚]]></string> 256 <string name="loader_error_encrypted_keys_description"><![CDATA[è¯·ç¡®ä¿ <a href=\"https://yuzu-emu.org/help/quickstart/#dumping-prodkeys-and-titlekeys\">prod.keys</a> 文件已安装,使得游æˆå¯ä»¥è¢«è§£å¯†ã€‚]]></string>
190 <string name="loader_error_video_core">åˆå§‹åŒ–视频核心时å‘生错误</string> 257 <string name="loader_error_video_core">åˆå§‹åŒ–视频核心时å‘生错误</string>
191 <string name="loader_error_video_core_description">这通常由ä¸å…¼å®¹çš„ GPU 驱动程åºé€ æˆï¼Œå®‰è£…自定义 GPU 驱动程åºå¯èƒ½è§£å†³æ­¤é—®é¢˜ã€‚</string> 258 <string name="loader_error_video_core_description">这通常由ä¸å…¼å®¹çš„ GPU 驱动程åºé€ æˆï¼Œå®‰è£…自定义 GPU 驱动程åºå¯èƒ½è§£å†³æ­¤é—®é¢˜ã€‚</string>
@@ -226,6 +293,9 @@
226 <string name="fatal_error">致命错误</string> 293 <string name="fatal_error">致命错误</string>
227 <string name="fatal_error_message">å‘生致命错误,请查阅日志获å–详细信æ¯ã€‚\n继续模拟å¯èƒ½ä¼šé€ æˆå´©æºƒå’Œé”™è¯¯ã€‚</string> 294 <string name="fatal_error_message">å‘生致命错误,请查阅日志获å–详细信æ¯ã€‚\n继续模拟å¯èƒ½ä¼šé€ æˆå´©æºƒå’Œé”™è¯¯ã€‚</string>
228 <string name="performance_warning">关闭此项会显著é™ä½Žæ¨¡æ‹Ÿæ€§èƒ½ï¼å»ºè®®æ‚¨å°†æ­¤é¡¹ä¿æŒä¸ºå¯ç”¨çжæ€ã€‚</string> 295 <string name="performance_warning">关闭此项会显著é™ä½Žæ¨¡æ‹Ÿæ€§èƒ½ï¼å»ºè®®æ‚¨å°†æ­¤é¡¹ä¿æŒä¸ºå¯ç”¨çжæ€ã€‚</string>
296 <string name="device_memory_inadequate">设备 RAM: %1$s\n推è RAM: %2$s</string>
297 <string name="memory_formatted">%1$s%2$s</string>
298 <string name="no_game_present">当剿²¡æœ‰å¯å¯åŠ¨çš„æ¸¸æˆï¼</string>
229 299
230 <!-- Region Names --> 300 <!-- Region Names -->
231 <string name="region_japan">日本</string> 301 <string name="region_japan">日本</string>
@@ -236,7 +306,14 @@
236 <string name="region_korea">韩国</string> 306 <string name="region_korea">韩国</string>
237 <string name="region_taiwan">䏭国尿¹¾</string> 307 <string name="region_taiwan">䏭国尿¹¾</string>
238 308
239 <!-- Language Names --> 309 <!-- Memory Sizes -->
310 <string name="memory_byte">Byte</string>
311 <string name="memory_kilobyte">KB</string>
312 <string name="memory_megabyte">MB</string>
313 <string name="memory_gigabyte">GB</string>
314 <string name="memory_terabyte">TB</string>
315 <string name="memory_petabyte">PB</string>
316 <string name="memory_exabyte">EB</string>
240 317
241 <!-- Renderer APIs --> 318 <!-- Renderer APIs -->
242 <string name="renderer_vulkan">Vulkan</string> 319 <string name="renderer_vulkan">Vulkan</string>
@@ -274,6 +351,11 @@
274 <string name="anti_aliasing_fxaa">快速近似抗锯齿</string> 351 <string name="anti_aliasing_fxaa">快速近似抗锯齿</string>
275 <string name="anti_aliasing_smaa">å­åƒç´ å½¢æ€å­¦æŠ—锯齿</string> 352 <string name="anti_aliasing_smaa">å­åƒç´ å½¢æ€å­¦æŠ—锯齿</string>
276 353
354 <!-- Screen Layouts -->
355 <string name="screen_layout_landscape">横å‘大å±</string>
356 <string name="screen_layout_portrait">纵å‘å±å¹•</string>
357 <string name="screen_layout_auto">自动</string>
358
277 <!-- Aspect Ratios --> 359 <!-- Aspect Ratios -->
278 <string name="ratio_default">默认 (16:9)</string> 360 <string name="ratio_default">默认 (16:9)</string>
279 <string name="ratio_force_four_three">强制 4:3</string> 361 <string name="ratio_force_four_three">强制 4:3</string>
@@ -303,13 +385,27 @@
303 <string name="theme_material_you">Material You</string> 385 <string name="theme_material_you">Material You</string>
304 386
305 <!-- Theme Modes --> 387 <!-- Theme Modes -->
306 <string name="change_theme_mode">主题模å¼</string> 388 <string name="change_theme_mode">更改主题模å¼</string>
307 <string name="theme_mode_follow_system">è·Ÿéšç³»ç»Ÿ</string> 389 <string name="theme_mode_follow_system">è·Ÿéšç³»ç»Ÿ</string>
308 <string name="theme_mode_light">浅色</string> 390 <string name="theme_mode_light">浅色</string>
309 <string name="theme_mode_dark">深色</string> 391 <string name="theme_mode_dark">深色</string>
310 392
393 <!-- Audio output engines -->
394 <string name="cubeb">cubeb</string>
395
311 <!-- Black backgrounds theme --> 396 <!-- Black backgrounds theme -->
312 <string name="use_black_backgrounds">使用黑色背景</string> 397 <string name="use_black_backgrounds">使用黑色背景</string>
313 <string name="use_black_backgrounds_description">使用深色主题时,套用黑色背景。</string> 398 <string name="use_black_backgrounds_description">使用深色主题时,套用黑色背景。</string>
314 399
315</resources> 400 <!-- Picture-In-Picture -->
401 <string name="picture_in_picture">画中画</string>
402 <string name="picture_in_picture_description">模拟器ä½äºŽåŽå°æ—¶æœ€å°åŒ–窗å£</string>
403 <string name="pause">æš‚åœ</string>
404 <string name="play">开始</string>
405 <string name="mute">é™éŸ³</string>
406 <string name="unmute">å–æ¶ˆé™éŸ³</string>
407
408 <!-- Licenses screen strings -->
409 <string name="licenses">许å¯è¯</string>
410 <string name="license_fidelityfx_fsr_description">æ¥è‡ª AMD 的高å“质画质å‡çº§</string>
411 </resources>
diff --git a/src/android/app/src/main/res/values-zh-rTW/strings.xml b/src/android/app/src/main/res/values-zh-rTW/strings.xml
index 4a21bf893..b8f468c68 100644
--- a/src/android/app/src/main/res/values-zh-rTW/strings.xml
+++ b/src/android/app/src/main/res/values-zh-rTW/strings.xml
@@ -1,5 +1,5 @@
1<?xml version="1.0" encoding="utf-8"?> 1<?xml version="1.0" encoding="utf-8"?>
2<resources> 2<resources xmlns:tools="http://schemas.android.com/tools" tools:ignore="MissingTranslation">
3 3
4 <string name="app_disclaimer">此軟體å¯ä»¥åŸ·è¡Œ Nintendo Switch ä¸»æ©ŸéŠæˆ²ï¼Œä½†ä¸åŒ…å«ä»»ä½•éŠæˆ²å’Œé‡‘鑰。&lt;br /&gt;&lt;br /&gt;在您開始å‰ï¼Œè«‹æ‰¾åˆ°æ”¾ç½®æ–¼æ‚¨çš„è£ç½®å„²å­˜ç©ºé–“çš„ <![CDATA[<b> prod.keys </b>]]> 檔案。&lt;br /&gt;&lt;br /&gt;<![CDATA[<a href=\"https://yuzu-emu.org/help/quickstart\">深入瞭解</a>]]></string> 4 <string name="app_disclaimer">此軟體å¯ä»¥åŸ·è¡Œ Nintendo Switch ä¸»æ©ŸéŠæˆ²ï¼Œä½†ä¸åŒ…å«ä»»ä½•éŠæˆ²å’Œé‡‘鑰。&lt;br /&gt;&lt;br /&gt;在您開始å‰ï¼Œè«‹æ‰¾åˆ°æ”¾ç½®æ–¼æ‚¨çš„è£ç½®å„²å­˜ç©ºé–“çš„ <![CDATA[<b> prod.keys </b>]]> 檔案。&lt;br /&gt;&lt;br /&gt;<![CDATA[<a href=\"https://yuzu-emu.org/help/quickstart\">深入瞭解</a>]]></string>
5 <string name="emulation_notification_channel_name">模擬進行中</string> 5 <string name="emulation_notification_channel_name">模擬進行中</string>
@@ -25,6 +25,7 @@
25 <string name="back">上一步</string> 25 <string name="back">上一步</string>
26 <string name="add_games">æ–°å¢žéŠæˆ²</string> 26 <string name="add_games">æ–°å¢žéŠæˆ²</string>
27 <string name="add_games_description">é¸å–æ‚¨çš„éŠæˆ²è³‡æ–™å¤¾</string> 27 <string name="add_games_description">é¸å–æ‚¨çš„éŠæˆ²è³‡æ–™å¤¾</string>
28 <string name="step_complete">完æˆï¼</string>
28 29
29 <!-- Home strings --> 30 <!-- Home strings -->
30 <string name="home_games">éŠæˆ²</string> 31 <string name="home_games">éŠæˆ²</string>
@@ -33,11 +34,12 @@
33 <string name="empty_gamelist">找ä¸åˆ°æª”案,或者尚未é¸å–éŠæˆ²ç›®éŒ„。</string> 34 <string name="empty_gamelist">找ä¸åˆ°æª”案,或者尚未é¸å–éŠæˆ²ç›®éŒ„。</string>
34 <string name="search_and_filter_games">æœå°‹ä¸¦ç¯©é¸éŠæˆ²</string> 35 <string name="search_and_filter_games">æœå°‹ä¸¦ç¯©é¸éŠæˆ²</string>
35 <string name="select_games_folder">é¸å–éŠæˆ²è³‡æ–™å¤¾</string> 36 <string name="select_games_folder">é¸å–éŠæˆ²è³‡æ–™å¤¾</string>
36 <string name="select_games_folder_description">一律å…許 yuzu å¡«å…¥éŠæˆ²æ¸…å–®</string> 37 <string name="select_games_folder_description">å…許 yuzu å¡«å…¥éŠæˆ²æ¸…å–®</string>
37 <string name="add_games_warning">è·³éŽé¸å–éŠæˆ²è³‡æ–™å¤¾ï¼Ÿ</string> 38 <string name="add_games_warning">è·³éŽé¸å–éŠæˆ²è³‡æ–™å¤¾ï¼Ÿ</string>
38 <string name="add_games_warning_description">如果資料夾未é¸å–ï¼ŒéŠæˆ²å°‡ä¸æœƒé¡¯ç¤ºåœ¨éŠæˆ²æ¸…單。</string> 39 <string name="add_games_warning_description">如果資料夾未é¸å–ï¼ŒéŠæˆ²å°‡ä¸æœƒé¡¯ç¤ºåœ¨éŠæˆ²æ¸…單。</string>
39 <string name="add_games_warning_help">https://yuzu-emu.org/help/quickstart/#dumping-games</string> 40 <string name="add_games_warning_help">https://yuzu-emu.org/help/quickstart/#dumping-games</string>
40 <string name="home_search_games">æœå°‹éŠæˆ²</string> 41 <string name="home_search_games">æœå°‹éŠæˆ²</string>
42 <string name="search_settings">æœç´¢è®¾ç½®</string>
41 <string name="games_dir_selected">éŠæˆ²ç›®éŒ„å·²é¸å–</string> 43 <string name="games_dir_selected">éŠæˆ²ç›®éŒ„å·²é¸å–</string>
42 <string name="install_prod_keys">å®‰è£ prod.keys</string> 44 <string name="install_prod_keys">å®‰è£ prod.keys</string>
43 <string name="install_prod_keys_description">需è¦è§£å¯†é›¶å”®éŠæˆ²</string> 45 <string name="install_prod_keys_description">需è¦è§£å¯†é›¶å”®éŠæˆ²</string>
@@ -60,13 +62,16 @@
60 <string name="install_amiibo_keys_description">需è¦åœ¨éŠæˆ²ä¸­ä½¿ç”¨ Amiibo</string> 62 <string name="install_amiibo_keys_description">需è¦åœ¨éŠæˆ²ä¸­ä½¿ç”¨ Amiibo</string>
61 <string name="invalid_keys_file">無效的金鑰檔案已é¸å–</string> 63 <string name="invalid_keys_file">無效的金鑰檔案已é¸å–</string>
62 <string name="install_keys_success">金鑰已æˆåŠŸå®‰è£</string> 64 <string name="install_keys_success">金鑰已æˆåŠŸå®‰è£</string>
63 <string name="reading_keys_failure">讀å–加密金鑰時出ç¾éŒ¯èª¤</string> 65 <string name="reading_keys_failure">讀å–加密金鑰時發生錯誤</string>
66 <string name="install_prod_keys_failure_extension_description">驗證您的金鑰檔案是å¦å…·æœ‰ .keys 副檔å並å†è©¦ä¸€æ¬¡ã€‚</string>
67 <string name="install_amiibo_keys_failure_extension_description">驗證您的金鑰檔案是å¦å…·æœ‰ .bin 副檔å並å†è©¦ä¸€æ¬¡ã€‚</string>
64 <string name="invalid_keys_error">無效的加密金鑰</string> 68 <string name="invalid_keys_error">無效的加密金鑰</string>
65 <string name="dumping_keys_quickstart_link">https://yuzu-emu.org/help/quickstart/#dumping-decryption-keys</string> 69 <string name="dumping_keys_quickstart_link">https://yuzu-emu.org/help/quickstart/#dumping-decryption-keys</string>
66 <string name="install_keys_failure_description">é¸å–çš„æª”æ¡ˆä¸æ­£ç¢ºæˆ–å·²ææ¯€ï¼Œè«‹é‡æ–°å‚¾å°æ‚¨çš„金鑰。</string> 70 <string name="install_keys_failure_description">é¸å–çš„æª”æ¡ˆä¸æ­£ç¢ºæˆ–å·²ææ¯€ï¼Œè«‹é‡æ–°å‚¾å°æ‚¨çš„金鑰。</string>
67 <string name="install_gpu_driver">å®‰è£ GPU 驅動程å¼</string> 71 <string name="install_gpu_driver">å®‰è£ GPU 驅動程å¼</string>
68 <string name="install_gpu_driver_description">å®‰è£æ›¿ä»£é©…動程å¼ä»¥å–得潛在的更佳效能或準確度</string> 72 <string name="install_gpu_driver_description">å®‰è£æ›¿ä»£é©…動程å¼ä»¥å–得潛在的更佳效能或準確度</string>
69 <string name="advanced_settings">進階設定</string> 73 <string name="advanced_settings">進階設定</string>
74 <string name="advanced_settings_game">高级选项: %1$s</string>
70 <string name="settings_description">進行模擬器設定</string> 75 <string name="settings_description">進行模擬器設定</string>
71 <string name="search_recently_played">最近éŠçŽ©</string> 76 <string name="search_recently_played">最近éŠçŽ©</string>
72 <string name="search_recently_added">最近新增</string> 77 <string name="search_recently_added">最近新增</string>
@@ -86,6 +91,33 @@
86 <string name="save_file_invalid_zip_structure_description">首個å­è³‡æ–™å¤¾åç¨±å¿…é ˆç‚ºéŠæˆ²æ¨™é¡Œ ID。</string> 91 <string name="save_file_invalid_zip_structure_description">首個å­è³‡æ–™å¤¾åç¨±å¿…é ˆç‚ºéŠæˆ²æ¨™é¡Œ ID。</string>
87 <string name="import_saves">匯入</string> 92 <string name="import_saves">匯入</string>
88 <string name="export_saves">匯出</string> 93 <string name="export_saves">匯出</string>
94 <string name="install_firmware">安è£éŸŒé«”</string>
95 <string name="install_firmware_description">韌體必須為 ZIP å°å­˜æª”ï¼Œå°‡æœƒç”¨æ–¼éƒ¨åˆ†éŠæˆ²çš„啟動</string>
96 <string name="firmware_installing">正在安è£éŸŒé«”</string>
97 <string name="firmware_installed_success">韌體已æˆåŠŸå®‰è£</string>
98 <string name="firmware_installed_failure">韌體安è£å¤±æ•—</string>
99 <string name="firmware_installed_failure_description">请确ä¿å›ºä»¶ nca 文件ä½äºŽ zip 压缩包的根目录,然åŽé‡è¯•。</string>
100 <string name="share_log">分享åµéŒ¯è¨˜éŒ„</string>
101 <string name="share_log_description">分享 yuzu 的記錄檔以便å°ç›¸é—œå•題進行åµéŒ¯</string>
102 <string name="share_log_missing">找ä¸åˆ°è¨˜éŒ„檔</string>
103 <string name="install_game_content">安è£éŠæˆ²å…§å®¹</string>
104 <string name="install_game_content_description">安è£éŠæˆ²æ›´æ–°æˆ– DLC</string>
105 <string name="installing_game_content">安装中...</string>
106 <string name="install_game_content_failure">å‘ NAND 安装文件时失败</string>
107 <string name="install_game_content_failure_description">请确ä¿é™„加内容的有效性,并且 prod.keys 密钥文件已安装。</string>
108 <string name="install_game_content_failure_base">为é¿å…产生冲çªï¼Œæ­¤åŠŸèƒ½ä¸èƒ½ç”¨äºŽå®‰è£…æ¸¸æˆæœ¬ä½“。</string>
109 <string name="install_game_content_failure_file_extension">åªæœ‰ NSP 或 XCI æ ¼å¼çš„附加内容å¯ä»¥å®‰è£…ã€‚è¯·ç¡®ä¿æ‚¨çš„æ¸¸æˆé™„加内容是有效的。</string>
110 <string name="install_game_content_failed_count">%1$d 安装出错</string>
111 <string name="install_game_content_success">游æˆé™„加内容已æˆåŠŸå®‰è£…</string>
112 <string name="install_game_content_success_install">%1$d 安装æˆåŠŸ</string>
113 <string name="install_game_content_success_overwrite">%1$d 覆盖安装æˆåŠŸ</string>
114 <string name="install_game_content_help_link">https://yuzu-emu.org/help/quickstart/#dumping-installed-updates</string>
115 <string name="custom_driver_not_supported">䏿”¯æŒè‡ªå®šä¹‰é©±åЍ</string>
116 <string name="custom_driver_not_supported_description">æ­¤è®¾å¤‡ä¸æ”¯æŒè‡ªå®šä¹‰é©±åŠ¨ã€‚\n请之åŽå†è®¿é—®æ­¤é¡¹ï¼ŒæŸ¥çœ‹æ˜¯å¦å·²ä¸ºæ­¤è®¾å¤‡æ·»åŠ æ”¯æŒã€‚</string>
117 <string name="manage_yuzu_data">ç®¡ç† yuzu æ•°æ®</string>
118 <string name="manage_yuzu_data_description">导入/导出固件ã€å¯†é’¥ã€ç”¨æˆ·æ•°æ®åŠå…¶ä»–。</string>
119 <string name="share_save_file">分享存档文件</string>
120 <string name="export_save_failed">导出存档文件失败</string>
89 121
90 <!-- About screen strings --> 122 <!-- About screen strings -->
91 <string name="gaia_is_not_real">Gaia ä¸çœŸå¯¦</string> 123 <string name="gaia_is_not_real">Gaia ä¸çœŸå¯¦</string>
@@ -94,7 +126,18 @@
94 <string name="contributors">åƒèˆ‡è€…</string> 126 <string name="contributors">åƒèˆ‡è€…</string>
95 <string name="contributors_description">使用來自 yuzu 團隊的 \u2764 製作</string> 127 <string name="contributors_description">使用來自 yuzu 團隊的 \u2764 製作</string>
96 <string name="contributors_link">https://github.com/yuzu-emu/yuzu/graphs/contributors</string> 128 <string name="contributors_link">https://github.com/yuzu-emu/yuzu/graphs/contributors</string>
129 <string name="licenses_description">這些專案使 yuzu Android 版æˆç‚ºå¯èƒ½</string>
97 <string name="build">組建</string> 130 <string name="build">組建</string>
131 <string name="user_data">用户数æ®</string>
132 <string name="user_data_description">导入/å¯¼å‡ºåº”ç”¨ç¨‹åºæ‰€æœ‰æ•°æ®ã€‚\n\nå¯¼å…¥ç”¨æˆ·æ•°æ®æ—¶ï¼Œå°†åˆ é™¤å½“剿‰€æœ‰çš„用户数æ®ï¼</string>
133 <string name="exporting_user_data">正在导出用户数æ®...</string>
134 <string name="importing_user_data">正在导入用户数æ®...</string>
135 <string name="import_user_data">导入用户数æ®</string>
136 <string name="invalid_yuzu_backup">无效的 yuzu 备份</string>
137 <string name="user_data_export_success">å¯¼å‡ºç”¨æˆ·æ•°æ®æˆåŠŸ</string>
138 <string name="user_data_import_success">å¯¼å…¥ç”¨æˆ·æ•°æ®æˆåŠŸ</string>
139 <string name="user_data_export_cancelled">已喿¶ˆå¯¼å‡ºæ•°æ®</string>
140 <string name="user_data_import_failed_description">请确ä¿ç”¨æˆ·æ•°æ®æ–‡ä»¶å¤¹ä½äºŽ zip 压缩包的根目录,并在 config/config.ini 路径中包å«é…置文件,然åŽé‡è¯•。</string>
98 <string name="support_link">https://discord.gg/u77vRWY</string> 141 <string name="support_link">https://discord.gg/u77vRWY</string>
99 <string name="website_link">https://yuzu-emu.org/</string> 142 <string name="website_link">https://yuzu-emu.org/</string>
100 <string name="github_link">https://github.com/yuzu-emu</string> 143 <string name="github_link">https://github.com/yuzu-emu</string>
@@ -114,28 +157,29 @@
114 <string name="are_you_interested">æ‚¨ä»æ„Ÿèˆˆè¶£å—Žï¼Ÿ</string> 157 <string name="are_you_interested">æ‚¨ä»æ„Ÿèˆˆè¶£å—Žï¼Ÿ</string>
115 158
116 <!-- General settings strings --> 159 <!-- General settings strings -->
117 <string name="frame_limit_enable">啟用é™åˆ¶é€Ÿåº¦</string> 160 <string name="frame_limit_enable">é™åˆ¶é€Ÿåº¦</string>
118 <string name="frame_limit_enable_description">若啟用,模擬速度將會é™åˆ¶åœ¨æ¨™æº–速度的指定百分比。</string> 161 <string name="frame_limit_enable_description">將模擬速度é™åˆ¶åœ¨æ¨™æº–速度的指定百分比。</string>
119 <string name="frame_limit_slider">é™åˆ¶é€Ÿåº¦ç™¾åˆ†æ¯”</string> 162 <string name="frame_limit_slider">é™åˆ¶é€Ÿåº¦ç™¾åˆ†æ¯”</string>
120 <string name="frame_limit_slider_description">指定é™åˆ¶æ¨¡æ“¬é€Ÿåº¦çš„百分比。é è¨­ç‚º 100%,模擬速度將被é™åˆ¶ç‚ºæ¨™æº–速度。更高或更低的值將會增加或減少速度é™åˆ¶ã€‚</string> 163 <string name="frame_limit_slider_description">指定é™åˆ¶æ¨¡æ“¬é€Ÿåº¦çš„百分比。100% 為標準速度,更高或更低的值將會增加或減少速度é™åˆ¶ã€‚</string>
121 <string name="cpu_accuracy">CPU 準確度</string> 164 <string name="cpu_accuracy">CPU 準確度</string>
165 <string name="value_with_units">%1$s%2$s</string>
122 166
123 <!-- System settings strings --> 167 <!-- System settings strings -->
124 <string name="use_docked_mode">底座模å¼</string> 168 <string name="use_docked_mode">底座模å¼</string>
125 <string name="use_docked_mode_description">ä»¥åº•åº§æ¨¡å¼æ¨¡æ“¬ï¼Œä»¥çŠ§ç‰²æ•ˆèƒ½çš„ä»£åƒ¹æé«˜è§£æžåº¦ã€‚</string> 169 <string name="use_docked_mode_description">æé«˜è§£æžåº¦ï¼Œé™ä½Žæ•ˆèƒ½ã€‚åœç”¨å¾Œå°‡æœƒä½¿ç”¨æ‰‹ææ¨¡å¼ï¼Œæœƒé™ä½Žè§£æžåº¦ä¸¦æé«˜æ•ˆèƒ½ã€‚</string>
126 <string name="emulated_region">模擬å€åŸŸ</string> 170 <string name="emulated_region">模擬å€åŸŸ</string>
127 <string name="emulated_language">模擬語言</string> 171 <string name="emulated_language">模擬語言</string>
128 <string name="select_rtc_date">é¸å– RTC 日期</string> 172 <string name="select_rtc_date">é¸å– RTC 日期</string>
129 <string name="select_rtc_time">é¸å– RTC 時間</string> 173 <string name="select_rtc_time">é¸å– RTC 時間</string>
130 <string name="use_custom_rtc">啟用自訂 RTC</string> 174 <string name="use_custom_rtc">自訂 RTC</string>
131 <string name="use_custom_rtc_description">此設定å…許您設定與您的目å‰ç³»çµ±æ™‚間相互ç¨ç«‹çš„è‡ªè¨‚å³æ™‚時é˜</string> 175 <string name="use_custom_rtc_description">å…許您設定與您的目å‰ç³»çµ±æ™‚間相互ç¨ç«‹çš„è‡ªè¨‚å³æ™‚時é˜ã€‚</string>
132 <string name="set_custom_rtc">設定自訂 RTC</string> 176 <string name="set_custom_rtc">設定自訂 RTC</string>
133 177
134 <!-- Graphics settings strings --> 178 <!-- Graphics settings strings -->
135 <string name="renderer_api">API</string>
136 <string name="renderer_accuracy">準確度層級</string> 179 <string name="renderer_accuracy">準確度層級</string>
137 <string name="renderer_resolution">è§£æžåº¦</string> 180 <string name="renderer_resolution">è§£æžåº¦ (手æ/底座)</string>
138 <string name="renderer_vsync">VSync 模å¼</string> 181 <string name="renderer_vsync">VSync 模å¼</string>
182 <string name="renderer_screen_layout">å±å¹•æ–¹å‘</string>
139 <string name="renderer_aspect_ratio">長寬比</string> 183 <string name="renderer_aspect_ratio">長寬比</string>
140 <string name="renderer_scaling_filter">è¦–çª—é©æ‡‰éŽæ¿¾å™¨</string> 184 <string name="renderer_scaling_filter">è¦–çª—é©æ‡‰éŽæ¿¾å™¨</string>
141 <string name="renderer_anti_aliasing">消除鋸齒方法</string> 185 <string name="renderer_anti_aliasing">消除鋸齒方法</string>
@@ -143,12 +187,23 @@
143 <string name="renderer_force_max_clock_description">強制 GPU 以最大å¯èƒ½æ™‚脈執行 (熱溫é™åˆ¶ä»è¢«å¥—用)。</string> 187 <string name="renderer_force_max_clock_description">強制 GPU 以最大å¯èƒ½æ™‚脈執行 (熱溫é™åˆ¶ä»è¢«å¥—用)。</string>
144 <string name="renderer_asynchronous_shaders">使用éžåŒæ­¥è‘—色器</string> 188 <string name="renderer_asynchronous_shaders">使用éžåŒæ­¥è‘—色器</string>
145 <string name="renderer_asynchronous_shaders_description">éžåŒæ­¥ç·¨è­¯è‘—色器,將會減少間斷,但å¯èƒ½æœƒå¼•入故障。</string> 189 <string name="renderer_asynchronous_shaders_description">éžåŒæ­¥ç·¨è­¯è‘—色器,將會減少間斷,但å¯èƒ½æœƒå¼•入故障。</string>
146 <string name="renderer_debug">啟用圖形åµéŒ¯</string> 190 <string name="renderer_reactive_flushing">ä½¿ç”¨é‡æ–°å•Ÿç”¨æŽ’清</string>
147 <string name="renderer_debug_description">æ ¸å–æ™‚,åœå½¢ API 將會進入慢速åµéŒ¯æ¨¡å¼ã€‚</string> 191 <string name="renderer_reactive_flushing_description">犧牲效能,以改å–éƒ¨åˆ†éŠæˆ²çš„轉譯準確度。</string>
148 <string name="use_disk_shader_cache">使用ç£ç¢Ÿè‘—色器快å–</string> 192 <string name="use_disk_shader_cache">ç£ç¢Ÿè‘—色器快å–</string>
149 <string name="use_disk_shader_cache_description">é€éŽå°‡ç”¢ç”Ÿçš„著色器儲存並載入至ç£ç¢Ÿï¼Œæ¸›å°‘中斷。</string> 193 <string name="use_disk_shader_cache_description">é€éŽå°‡ç”¢ç”Ÿçš„著色器儲存並載入至ç£ç¢Ÿï¼Œæ¸›å°‘中斷。</string>
150 194
195 <!-- Debug settings strings -->
196 <string name="cpu">CPU</string>
197 <string name="cpu_debug_mode">CPU 调试</string>
198 <string name="cpu_debug_mode_description">å°† CPU 设置为较慢的调试模å¼ã€‚</string>
199 <string name="gpu">GPU</string>
200 <string name="renderer_api">API</string>
201 <string name="renderer_debug">圖形åµéŒ¯</string>
202 <string name="renderer_debug_description">將圖形 API 設為慢速åµéŒ¯æ¨¡å¼ã€‚</string>
203 <string name="fastmem">Fastmem</string>
204
151 <!-- Audio settings strings --> 205 <!-- Audio settings strings -->
206 <string name="audio_output_engine">输出引擎</string>
152 <string name="audio_volume">音é‡</string> 207 <string name="audio_volume">音é‡</string>
153 <string name="audio_volume_description">指定音訊輸出音é‡ã€‚</string> 208 <string name="audio_volume_description">指定音訊輸出音é‡ã€‚</string>
154 209
@@ -157,7 +212,9 @@
157 <string name="ini_saved">已儲存設定</string> 212 <string name="ini_saved">已儲存設定</string>
158 <string name="gameid_saved">已儲存 %1$s 設定</string> 213 <string name="gameid_saved">已儲存 %1$s 設定</string>
159 <string name="error_saving">儲存 %1$s 時發生錯誤 ini: %2$s</string> 214 <string name="error_saving">儲存 %1$s 時發生錯誤 ini: %2$s</string>
215 <string name="unimplemented_menu">未生效èœå•</string>
160 <string name="loading">正在載入…</string> 216 <string name="loading">正在載入…</string>
217 <string name="shutting_down">正在关闭…</string>
161 <string name="reset_setting_confirmation">è¦å°‡æ­¤è¨­å®šé‡è¨­å›žé è¨­å€¼å—Žï¼Ÿ</string> 218 <string name="reset_setting_confirmation">è¦å°‡æ­¤è¨­å®šé‡è¨­å›žé è¨­å€¼å—Žï¼Ÿ</string>
162 <string name="reset_to_default">é‡è¨­ç‚ºé è¨­å€¼</string> 219 <string name="reset_to_default">é‡è¨­ç‚ºé è¨­å€¼</string>
163 <string name="reset_all_settings">é‡è¨­æ‰€æœ‰è¨­å®šï¼Ÿ</string> 220 <string name="reset_all_settings">é‡è¨­æ‰€æœ‰è¨­å®šï¼Ÿ</string>
@@ -165,6 +222,14 @@
165 <string name="settings_reset">設定已é‡è¨­</string> 222 <string name="settings_reset">設定已é‡è¨­</string>
166 <string name="close">關閉</string> 223 <string name="close">關閉</string>
167 <string name="learn_more">深入瞭解</string> 224 <string name="learn_more">深入瞭解</string>
225 <string name="auto">自動</string>
226 <string name="submit">æäº¤</string>
227 <string name="string_null">ç„¡</string>
228 <string name="string_import">匯入</string>
229 <string name="export">匯出</string>
230 <string name="export_failed">导出失败</string>
231 <string name="import_failed">导入失败</string>
232 <string name="cancelling">å–æ¶ˆä¸­</string>
168 233
169 <!-- GPU driver installation --> 234 <!-- GPU driver installation -->
170 <string name="select_gpu_driver">é¸å– GPU 驅動程å¼</string> 235 <string name="select_gpu_driver">é¸å– GPU 驅動程å¼</string>
@@ -172,6 +237,7 @@
172 <string name="select_gpu_driver_install">安è£</string> 237 <string name="select_gpu_driver_install">安è£</string>
173 <string name="select_gpu_driver_default">é è¨­</string> 238 <string name="select_gpu_driver_default">é è¨­</string>
174 <string name="select_gpu_driver_use_default">使用é è¨­ GPU 驅動程å¼</string> 239 <string name="select_gpu_driver_use_default">使用é è¨­ GPU 驅動程å¼</string>
240 <string name="select_gpu_driver_error">é¸å–的驅動程å¼ç„¡æ•ˆï¼Œå°‡ä½¿ç”¨ç³»çµ±é è¨­é©…動程å¼ï¼</string>
175 <string name="system_gpu_driver">系統 GPU 驅動程å¼</string> 241 <string name="system_gpu_driver">系統 GPU 驅動程å¼</string>
176 <string name="installing_driver">正在安è£é©…動程å¼â€¦</string> 242 <string name="installing_driver">正在安è£é©…動程å¼â€¦</string>
177 243
@@ -182,10 +248,11 @@
182 <string name="preferences_graphics">圖形</string> 248 <string name="preferences_graphics">圖形</string>
183 <string name="preferences_audio">音訊</string> 249 <string name="preferences_audio">音訊</string>
184 <string name="preferences_theme">主題和色彩</string> 250 <string name="preferences_theme">主題和色彩</string>
251 <string name="preferences_debug">åµéŒ¯</string>
185 252
186 <!-- ROM loading errors --> 253 <!-- ROM loading errors -->
187 <string name="loader_error_encrypted">您的 ROM 已加密</string> 254 <string name="loader_error_encrypted">您的 ROM 已加密</string>
188 <string name="loader_error_encrypted_roms_description"><![CDATA[è«‹ä¾å¾ªæŒ‡å—釿–°å‚¾å°æ‚¨çš„<a href=\"https://yuzu-emu.org/help/quickstart/#dumping-cartridge-games\">éŠæˆ²å¡åŒ£</a>或<a href=\"https://yuzu-emu.org/help/quickstart/#dumping-installed-titles-eshop\">å®‰è£æ¨™é¡Œ</a>。]]></string> 255 <string name="loader_error_encrypted_roms_description"><![CDATA[请按照指å—釿–°è½¬å‚¨æ‚¨çš„<a href=\"https://yuzu-emu.org/help/quickstart/#dumping-physical-titles-game-cards\">游æˆå¡å¸¦</a>或<a href=\"https://yuzu-emu.org/help/quickstart/#dumping-digital-titles-eshop\">已安装的游æˆ</a>。]]></string>
189 <string name="loader_error_encrypted_keys_description"><![CDATA[è«‹ç¢ºä¿æ‚¨çš„ <a href=\"https://yuzu-emu.org/help/quickstart/#dumping-prodkeys-and-titlekeys\">prod.keys</a> 檔案已安è£ï¼Œè®“éŠæˆ²å¯ä»¥è§£å¯†ã€‚]]></string> 256 <string name="loader_error_encrypted_keys_description"><![CDATA[è«‹ç¢ºä¿æ‚¨çš„ <a href=\"https://yuzu-emu.org/help/quickstart/#dumping-prodkeys-and-titlekeys\">prod.keys</a> 檔案已安è£ï¼Œè®“éŠæˆ²å¯ä»¥è§£å¯†ã€‚]]></string>
190 <string name="loader_error_video_core">åˆå§‹åŒ–視訊核心時發生錯誤</string> 257 <string name="loader_error_video_core">åˆå§‹åŒ–視訊核心時發生錯誤</string>
191 <string name="loader_error_video_core_description">這經常由ä¸ç›¸å®¹çš„ GPU 驅動程å¼é€ æˆï¼Œå®‰è£è‡ªè¨‚ GPU 驅動程å¼å¯èƒ½æœƒè§£æ±ºæ­¤å•題。</string> 258 <string name="loader_error_video_core_description">這經常由ä¸ç›¸å®¹çš„ GPU 驅動程å¼é€ æˆï¼Œå®‰è£è‡ªè¨‚ GPU 驅動程å¼å¯èƒ½æœƒè§£æ±ºæ­¤å•題。</string>
@@ -219,13 +286,16 @@
219 <!-- Errors and warnings --> 286 <!-- Errors and warnings -->
220 <string name="abort_button">中止</string> 287 <string name="abort_button">中止</string>
221 <string name="continue_button">繼續</string> 288 <string name="continue_button">繼續</string>
222 <string name="system_archive_not_found">找ä¸åˆ°ç³»çµ±æª”案</string> 289 <string name="system_archive_not_found">找ä¸åˆ°ç³»çµ±å°å­˜</string>
223 <string name="system_archive_not_found_message">%s éºå¤±ï¼Œè«‹å‚¾å°æ‚¨çš„系統å°å­˜ã€‚\n繼續模擬å¯èƒ½æœƒé€ æˆç•¶æ©Ÿå’ŒéŒ¯èª¤ã€‚</string> 290 <string name="system_archive_not_found_message">%s éºå¤±ï¼Œè«‹å‚¾å°æ‚¨çš„系統å°å­˜ã€‚\n繼續模擬å¯èƒ½æœƒé€ æˆç•¶æ©Ÿå’ŒéŒ¯èª¤ã€‚</string>
224 <string name="system_archive_general">系統å°å­˜</string> 291 <string name="system_archive_general">系統å°å­˜</string>
225 <string name="save_load_error">儲存/載入發生錯誤</string> 292 <string name="save_load_error">儲存/載入發生錯誤</string>
226 <string name="fatal_error">åš´é‡éŒ¯èª¤</string> 293 <string name="fatal_error">åš´é‡éŒ¯èª¤</string>
227 <string name="fatal_error_message">發生嚴é‡éŒ¯èª¤ï¼Œæª¢æŸ¥è¨˜éŒ„以å–得詳細資訊。\n繼續模擬å¯èƒ½æœƒé€ æˆç•¶æ©Ÿå’ŒéŒ¯èª¤ã€‚</string> 294 <string name="fatal_error_message">發生嚴é‡éŒ¯èª¤ï¼Œæª¢æŸ¥è¨˜éŒ„以å–得詳細資訊。\n繼續模擬å¯èƒ½æœƒé€ æˆç•¶æ©Ÿå’ŒéŒ¯èª¤ã€‚</string>
228 <string name="performance_warning">關閉此設定會顯著é™ä½Žæ¨¡æ“¬æ•ˆèƒ½ï¼å¦‚éœ€æœ€ä½³é«”é©—ï¼Œå»ºè­°æ‚¨å°‡æ­¤è¨­å®šä¿æŒç‚ºå•Ÿç”¨ç‹€æ…‹ã€‚</string> 295 <string name="performance_warning">關閉此設定會顯著é™ä½Žæ¨¡æ“¬æ•ˆèƒ½ï¼å¦‚éœ€æœ€ä½³é«”é©—ï¼Œå»ºè­°æ‚¨å°‡æ­¤è¨­å®šä¿æŒç‚ºå•Ÿç”¨ç‹€æ…‹ã€‚</string>
296 <string name="device_memory_inadequate">设备 RAM: %1$s\n推è RAM: %2$s</string>
297 <string name="memory_formatted">%1$s%2$s</string>
298 <string name="no_game_present">当剿²¡æœ‰å¯å¯åŠ¨çš„æ¸¸æˆï¼</string>
229 299
230 <!-- Region Names --> 300 <!-- Region Names -->
231 <string name="region_japan">日本</string> 301 <string name="region_japan">日本</string>
@@ -236,7 +306,14 @@
236 <string name="region_korea">å—韓</string> 306 <string name="region_korea">å—韓</string>
237 <string name="region_taiwan">å°ç£</string> 307 <string name="region_taiwan">å°ç£</string>
238 308
239 <!-- Language Names --> 309 <!-- Memory Sizes -->
310 <string name="memory_byte">Byte</string>
311 <string name="memory_kilobyte">KB</string>
312 <string name="memory_megabyte">MB</string>
313 <string name="memory_gigabyte">英國</string>
314 <string name="memory_terabyte">TB</string>
315 <string name="memory_petabyte">PB</string>
316 <string name="memory_exabyte">EB</string>
240 317
241 <!-- Renderer APIs --> 318 <!-- Renderer APIs -->
242 <string name="renderer_vulkan">Vulkan</string> 319 <string name="renderer_vulkan">Vulkan</string>
@@ -274,14 +351,20 @@
274 <string name="anti_aliasing_fxaa">FXAA</string> 351 <string name="anti_aliasing_fxaa">FXAA</string>
275 <string name="anti_aliasing_smaa">SMAA</string> 352 <string name="anti_aliasing_smaa">SMAA</string>
276 353
354 <!-- Screen Layouts -->
355 <string name="screen_layout_landscape">横å‘大å±</string>
356 <string name="screen_layout_portrait">纵å‘å±å¹•</string>
357 <string name="screen_layout_auto">自動</string>
358
277 <!-- Aspect Ratios --> 359 <!-- Aspect Ratios -->
278 <string name="ratio_default">é è¨­ (16:9)</string> 360 <string name="ratio_default">é è¨­ (16:9)</string>
279 <string name="ratio_force_four_three">強制 4:3</string> 361 <string name="ratio_force_four_three">強制 4:3</string>
280 <string name="ratio_force_twenty_one_nine">強制 21:9</string> 362 <string name="ratio_force_twenty_one_nine">強制 21:9</string>
281 <string name="ratio_force_sixteen_ten">強制 16:10</string> 363 <string name="ratio_force_sixteen_ten">強制 16:10</string>
282 <string name="ratio_stretch">延伸視窗</string> 364 <string name="ratio_stretch">延展視窗</string>
283 365
284 <!-- CPU Accuracy --> 366 <!-- CPU Accuracy -->
367 <string name="cpu_accuracy_accurate">高精度</string>
285 <string name="cpu_accuracy_unsafe">低精度</string> 368 <string name="cpu_accuracy_unsafe">低精度</string>
286 <string name="cpu_accuracy_paranoid">ä¸åˆç† (æ…¢)</string> 369 <string name="cpu_accuracy_paranoid">ä¸åˆç† (æ…¢)</string>
287 370
@@ -307,8 +390,22 @@
307 <string name="theme_mode_light">淺色</string> 390 <string name="theme_mode_light">淺色</string>
308 <string name="theme_mode_dark">深色</string> 391 <string name="theme_mode_dark">深色</string>
309 392
393 <!-- Audio output engines -->
394 <string name="cubeb">cubeb</string>
395
310 <!-- Black backgrounds theme --> 396 <!-- Black backgrounds theme -->
311 <string name="use_black_backgrounds">使用黑色背景</string> 397 <string name="use_black_backgrounds">黑色背景</string>
312 <string name="use_black_backgrounds_description">使用深色主題時,套用黑色背景。</string> 398 <string name="use_black_backgrounds_description">使用深色主題時,套用黑色背景。</string>
313 399
314</resources> 400 <!-- Picture-In-Picture -->
401 <string name="picture_in_picture">画中画</string>
402 <string name="picture_in_picture_description">模拟器ä½äºŽåŽå°æ—¶æœ€å°åŒ–窗å£</string>
403 <string name="pause">æš‚åœ</string>
404 <string name="play">开始</string>
405 <string name="mute">éœéŸ³</string>
406 <string name="unmute">å–æ¶ˆéœéŸ³</string>
407
408 <!-- Licenses screen strings -->
409 <string name="licenses">授權</string>
410 <string name="license_fidelityfx_fsr_description">來自 AMD çš„å‡ç´šåœ–åƒå“質</string>
411 </resources>
diff --git a/src/android/app/src/main/res/values/strings.xml b/src/android/app/src/main/res/values/strings.xml
index 9e4854221..c551a6106 100644
--- a/src/android/app/src/main/res/values/strings.xml
+++ b/src/android/app/src/main/res/values/strings.xml
@@ -72,7 +72,7 @@
72 <string name="invalid_keys_error">Invalid encryption keys</string> 72 <string name="invalid_keys_error">Invalid encryption keys</string>
73 <string name="dumping_keys_quickstart_link">https://yuzu-emu.org/help/quickstart/#dumping-decryption-keys</string> 73 <string name="dumping_keys_quickstart_link">https://yuzu-emu.org/help/quickstart/#dumping-decryption-keys</string>
74 <string name="install_keys_failure_description">The selected file is incorrect or corrupt. Please redump your keys.</string> 74 <string name="install_keys_failure_description">The selected file is incorrect or corrupt. Please redump your keys.</string>
75 <string name="gpu_driver_manager">GPU Driver Manager</string> 75 <string name="gpu_driver_manager">GPU driver manager</string>
76 <string name="install_gpu_driver">Install GPU driver</string> 76 <string name="install_gpu_driver">Install GPU driver</string>
77 <string name="install_gpu_driver_description">Install alternative drivers for potentially better performance or accuracy</string> 77 <string name="install_gpu_driver_description">Install alternative drivers for potentially better performance or accuracy</string>
78 <string name="advanced_settings">Advanced settings</string> 78 <string name="advanced_settings">Advanced settings</string>
@@ -124,6 +124,24 @@
124 <string name="share_save_file">Share save file</string> 124 <string name="share_save_file">Share save file</string>
125 <string name="export_save_failed">Failed to export save</string> 125 <string name="export_save_failed">Failed to export save</string>
126 126
127 <!-- Applet launcher strings -->
128 <string name="applets">Applet launcher</string>
129 <string name="applets_description">Launch system applets using installed firmware</string>
130 <string name="applets_error_firmware">Firmware not installed</string>
131 <string name="applets_error_applet">Applet not available</string>
132 <string name="applets_error_description"><![CDATA[Please ensure your <a href="https://yuzu-emu.org/help/quickstart/#dumping-prodkeys-and-titlekeys">prod.keys</a> file and <a href="https://yuzu-emu.org/help/quickstart/#dumping-system-firmware">firmware</a> are installed and try again.]]></string>
133 <string name="album_applet">Album</string>
134 <string name="album_applet_description">See images stored in the user screenshots folder with the system photo viewer</string>
135 <string name="mii_edit_applet">Mii edit</string>
136 <string name="mii_edit_applet_description">View and edit Miis with the system editor</string>
137 <string name="cabinet_applet">Cabinet</string>
138 <string name="cabinet_applet_description">Edit and delete data stored on amiibo</string>
139 <string name="cabinet_launcher">Cabinet launcher</string>
140 <string name="cabinet_nickname_and_owner">Nickname and owner settings</string>
141 <string name="cabinet_game_data_eraser">Game data eraser</string>
142 <string name="cabinet_restorer">Restorer</string>
143 <string name="cabinet_formatter">Formatter</string>
144
127 <!-- About screen strings --> 145 <!-- About screen strings -->
128 <string name="gaia_is_not_real">Gaia isn\'t real</string> 146 <string name="gaia_is_not_real">Gaia isn\'t real</string>
129 <string name="copied_to_clipboard">Copied to clipboard</string> 147 <string name="copied_to_clipboard">Copied to clipboard</string>
diff --git a/src/android/app/src/main/res/xml/locales_config.xml b/src/android/app/src/main/res/xml/locales_config.xml
deleted file mode 100644
index 51b88d9dc..000000000
--- a/src/android/app/src/main/res/xml/locales_config.xml
+++ /dev/null
@@ -1,17 +0,0 @@
1<?xml version="1.0" encoding="utf-8"?>
2<locale-config xmlns:android="http://schemas.android.com/apk/res/android">
3 <locale android:name="en" /> <!-- English (default) -->
4 <locale android:name="de" /> <!-- German -->
5 <locale android:name="es" /> <!-- Spanish -->
6 <locale android:name="fr" /> <!-- French -->
7 <locale android:name="it" /> <!-- Italian -->
8 <locale android:name="ja" /> <!-- Japanese -->
9 <locale android:name="nb" /> <!-- Norwegian Bokmal -->
10 <locale android:name="pl" /> <!-- Polish -->
11 <locale android:name="pt-rBR" /> <!-- Portuguese (Brazil) -->
12 <locale android:name="pt-RPT" /> <!-- Portuguese (Portugal) -->
13 <locale android:name="ru" /> <!-- Russian -->
14 <locale android:name="uk" /> <!-- Ukranian -->
15 <locale android:name="zh-rCN" /> <!-- Chinese (China) -->
16 <locale android:name="zh-rTW" /> <!-- Chinese (Taiwan) -->
17</locale-config>
diff --git a/src/common/fs/fs_android.cpp b/src/common/fs/fs_android.cpp
index 298a79bac..1dd826a4a 100644
--- a/src/common/fs/fs_android.cpp
+++ b/src/common/fs/fs_android.cpp
@@ -2,6 +2,7 @@
2// SPDX-License-Identifier: GPL-2.0-or-later 2// SPDX-License-Identifier: GPL-2.0-or-later
3 3
4#include "common/fs/fs_android.h" 4#include "common/fs/fs_android.h"
5#include "common/string_util.h"
5 6
6namespace Common::FS::Android { 7namespace Common::FS::Android {
7 8
@@ -28,28 +29,35 @@ void RegisterCallbacks(JNIEnv* env, jclass clazz) {
28 env->GetJavaVM(&g_jvm); 29 env->GetJavaVM(&g_jvm);
29 native_library = clazz; 30 native_library = clazz;
30 31
32#define FH(FunctionName, JMethodID, Caller, JMethodName, Signature) \
33 F(JMethodID, JMethodName, Signature)
31#define FR(FunctionName, ReturnValue, JMethodID, Caller, JMethodName, Signature) \ 34#define FR(FunctionName, ReturnValue, JMethodID, Caller, JMethodName, Signature) \
32 F(JMethodID, JMethodName, Signature) 35 F(JMethodID, JMethodName, Signature)
33#define FS(FunctionName, ReturnValue, Parameters, JMethodID, JMethodName, Signature) \ 36#define FS(FunctionName, ReturnValue, Parameters, JMethodID, JMethodName, Signature) \
34 F(JMethodID, JMethodName, Signature) 37 F(JMethodID, JMethodName, Signature)
35#define F(JMethodID, JMethodName, Signature) \ 38#define F(JMethodID, JMethodName, Signature) \
36 JMethodID = env->GetStaticMethodID(native_library, JMethodName, Signature); 39 JMethodID = env->GetStaticMethodID(native_library, JMethodName, Signature);
40 ANDROID_SINGLE_PATH_HELPER_FUNCTIONS(FH)
37 ANDROID_SINGLE_PATH_DETERMINE_FUNCTIONS(FR) 41 ANDROID_SINGLE_PATH_DETERMINE_FUNCTIONS(FR)
38 ANDROID_STORAGE_FUNCTIONS(FS) 42 ANDROID_STORAGE_FUNCTIONS(FS)
39#undef F 43#undef F
40#undef FS 44#undef FS
41#undef FR 45#undef FR
46#undef FH
42} 47}
43 48
44void UnRegisterCallbacks() { 49void UnRegisterCallbacks() {
50#define FH(FunctionName, JMethodID, Caller, JMethodName, Signature) F(JMethodID)
45#define FR(FunctionName, ReturnValue, JMethodID, Caller, JMethodName, Signature) F(JMethodID) 51#define FR(FunctionName, ReturnValue, JMethodID, Caller, JMethodName, Signature) F(JMethodID)
46#define FS(FunctionName, ReturnValue, Parameters, JMethodID, JMethodName, Signature) F(JMethodID) 52#define FS(FunctionName, ReturnValue, Parameters, JMethodID, JMethodName, Signature) F(JMethodID)
47#define F(JMethodID) JMethodID = nullptr; 53#define F(JMethodID) JMethodID = nullptr;
54 ANDROID_SINGLE_PATH_HELPER_FUNCTIONS(FH)
48 ANDROID_SINGLE_PATH_DETERMINE_FUNCTIONS(FR) 55 ANDROID_SINGLE_PATH_DETERMINE_FUNCTIONS(FR)
49 ANDROID_STORAGE_FUNCTIONS(FS) 56 ANDROID_STORAGE_FUNCTIONS(FS)
50#undef F 57#undef F
51#undef FS 58#undef FS
52#undef FR 59#undef FR
60#undef FH
53} 61}
54 62
55bool IsContentUri(const std::string& path) { 63bool IsContentUri(const std::string& path) {
@@ -95,4 +103,29 @@ ANDROID_SINGLE_PATH_DETERMINE_FUNCTIONS(FR)
95#undef F 103#undef F
96#undef FR 104#undef FR
97 105
106#define FH(FunctionName, JMethodID, Caller, JMethodName, Signature) \
107 F(FunctionName, JMethodID, Caller)
108#define F(FunctionName, JMethodID, Caller) \
109 std::string FunctionName(const std::string& filepath) { \
110 if (JMethodID == nullptr) { \
111 return 0; \
112 } \
113 auto env = GetEnvForThread(); \
114 jstring j_filepath = env->NewStringUTF(filepath.c_str()); \
115 jstring j_return = \
116 static_cast<jstring>(env->Caller(native_library, JMethodID, j_filepath)); \
117 if (!j_return) { \
118 return {}; \
119 } \
120 const jchar* jchars = env->GetStringChars(j_return, nullptr); \
121 const jsize length = env->GetStringLength(j_return); \
122 const std::u16string_view string_view(reinterpret_cast<const char16_t*>(jchars), length); \
123 const std::string converted_string = Common::UTF16ToUTF8(string_view); \
124 env->ReleaseStringChars(j_return, jchars); \
125 return converted_string; \
126 }
127ANDROID_SINGLE_PATH_HELPER_FUNCTIONS(FH)
128#undef F
129#undef FH
130
98} // namespace Common::FS::Android 131} // namespace Common::FS::Android
diff --git a/src/common/fs/fs_android.h b/src/common/fs/fs_android.h
index b441c2a12..2c9234313 100644
--- a/src/common/fs/fs_android.h
+++ b/src/common/fs/fs_android.h
@@ -17,19 +17,28 @@
17 "(Ljava/lang/String;)Z") \ 17 "(Ljava/lang/String;)Z") \
18 V(Exists, bool, file_exists, CallStaticBooleanMethod, "exists", "(Ljava/lang/String;)Z") 18 V(Exists, bool, file_exists, CallStaticBooleanMethod, "exists", "(Ljava/lang/String;)Z")
19 19
20#define ANDROID_SINGLE_PATH_HELPER_FUNCTIONS(V) \
21 V(GetParentDirectory, get_parent_directory, CallStaticObjectMethod, "getParentDirectory", \
22 "(Ljava/lang/String;)Ljava/lang/String;") \
23 V(GetFilename, get_filename, CallStaticObjectMethod, "getFilename", \
24 "(Ljava/lang/String;)Ljava/lang/String;")
25
20namespace Common::FS::Android { 26namespace Common::FS::Android {
21 27
22static JavaVM* g_jvm = nullptr; 28static JavaVM* g_jvm = nullptr;
23static jclass native_library = nullptr; 29static jclass native_library = nullptr;
24 30
31#define FH(FunctionName, JMethodID, Caller, JMethodName, Signature) F(JMethodID)
25#define FR(FunctionName, ReturnValue, JMethodID, Caller, JMethodName, Signature) F(JMethodID) 32#define FR(FunctionName, ReturnValue, JMethodID, Caller, JMethodName, Signature) F(JMethodID)
26#define FS(FunctionName, ReturnValue, Parameters, JMethodID, JMethodName, Signature) F(JMethodID) 33#define FS(FunctionName, ReturnValue, Parameters, JMethodID, JMethodName, Signature) F(JMethodID)
27#define F(JMethodID) static jmethodID JMethodID = nullptr; 34#define F(JMethodID) static jmethodID JMethodID = nullptr;
35ANDROID_SINGLE_PATH_HELPER_FUNCTIONS(FH)
28ANDROID_SINGLE_PATH_DETERMINE_FUNCTIONS(FR) 36ANDROID_SINGLE_PATH_DETERMINE_FUNCTIONS(FR)
29ANDROID_STORAGE_FUNCTIONS(FS) 37ANDROID_STORAGE_FUNCTIONS(FS)
30#undef F 38#undef F
31#undef FS 39#undef FS
32#undef FR 40#undef FR
41#undef FH
33 42
34enum class OpenMode { 43enum class OpenMode {
35 Read, 44 Read,
@@ -62,4 +71,10 @@ ANDROID_SINGLE_PATH_DETERMINE_FUNCTIONS(FR)
62#undef F 71#undef F
63#undef FR 72#undef FR
64 73
74#define FH(FunctionName, JMethodID, Caller, JMethodName, Signature) F(FunctionName)
75#define F(FunctionName) std::string FunctionName(const std::string& filepath);
76ANDROID_SINGLE_PATH_HELPER_FUNCTIONS(FH)
77#undef F
78#undef FH
79
65} // namespace Common::FS::Android 80} // namespace Common::FS::Android
diff --git a/src/common/fs/path_util.cpp b/src/common/fs/path_util.cpp
index 0c4c88cde..c3a81f9a9 100644
--- a/src/common/fs/path_util.cpp
+++ b/src/common/fs/path_util.cpp
@@ -401,6 +401,16 @@ std::string SanitizePath(std::string_view path_, DirectorySeparator directory_se
401} 401}
402 402
403std::string_view GetParentPath(std::string_view path) { 403std::string_view GetParentPath(std::string_view path) {
404 if (path.empty()) {
405 return path;
406 }
407
408#ifdef ANDROID
409 if (path[0] != '/') {
410 std::string path_string{path};
411 return FS::Android::GetParentDirectory(path_string);
412 }
413#endif
404 const auto name_bck_index = path.rfind('\\'); 414 const auto name_bck_index = path.rfind('\\');
405 const auto name_fwd_index = path.rfind('/'); 415 const auto name_fwd_index = path.rfind('/');
406 std::size_t name_index; 416 std::size_t name_index;
diff --git a/src/common/string_util.cpp b/src/common/string_util.cpp
index 4c7aba3f5..72c481798 100644
--- a/src/common/string_util.cpp
+++ b/src/common/string_util.cpp
@@ -14,6 +14,10 @@
14#include <windows.h> 14#include <windows.h>
15#endif 15#endif
16 16
17#ifdef ANDROID
18#include <common/fs/fs_android.h>
19#endif
20
17namespace Common { 21namespace Common {
18 22
19/// Make a string lowercase 23/// Make a string lowercase
@@ -63,6 +67,14 @@ bool SplitPath(const std::string& full_path, std::string* _pPath, std::string* _
63 if (full_path.empty()) 67 if (full_path.empty())
64 return false; 68 return false;
65 69
70#ifdef ANDROID
71 if (full_path[0] != '/') {
72 *_pPath = Common::FS::Android::GetParentDirectory(full_path);
73 *_pFilename = Common::FS::Android::GetFilename(full_path);
74 return true;
75 }
76#endif
77
66 std::size_t dir_end = full_path.find_last_of("/" 78 std::size_t dir_end = full_path.find_last_of("/"
67// windows needs the : included for something like just "C:" to be considered a directory 79// windows needs the : included for something like just "C:" to be considered a directory
68#ifdef _WIN32 80#ifdef _WIN32
diff --git a/src/core/file_sys/romfs.cpp b/src/core/file_sys/romfs.cpp
index 1c580de57..1eb1f439a 100644
--- a/src/core/file_sys/romfs.cpp
+++ b/src/core/file_sys/romfs.cpp
@@ -35,13 +35,14 @@ struct RomFSHeader {
35static_assert(sizeof(RomFSHeader) == 0x50, "RomFSHeader has incorrect size."); 35static_assert(sizeof(RomFSHeader) == 0x50, "RomFSHeader has incorrect size.");
36 36
37struct DirectoryEntry { 37struct DirectoryEntry {
38 u32_le parent;
38 u32_le sibling; 39 u32_le sibling;
39 u32_le child_dir; 40 u32_le child_dir;
40 u32_le child_file; 41 u32_le child_file;
41 u32_le hash; 42 u32_le hash;
42 u32_le name_length; 43 u32_le name_length;
43}; 44};
44static_assert(sizeof(DirectoryEntry) == 0x14, "DirectoryEntry has incorrect size."); 45static_assert(sizeof(DirectoryEntry) == 0x18, "DirectoryEntry has incorrect size.");
45 46
46struct FileEntry { 47struct FileEntry {
47 u32_le parent; 48 u32_le parent;
@@ -64,25 +65,22 @@ std::pair<Entry, std::string> GetEntry(const VirtualFile& file, std::size_t offs
64 return {entry, string}; 65 return {entry, string};
65} 66}
66 67
67void ProcessFile(VirtualFile file, std::size_t file_offset, std::size_t data_offset, 68void ProcessFile(const VirtualFile& file, std::size_t file_offset, std::size_t data_offset,
68 u32 this_file_offset, std::shared_ptr<VectorVfsDirectory> parent) { 69 u32 this_file_offset, std::shared_ptr<VectorVfsDirectory>& parent) {
69 while (true) { 70 while (this_file_offset != ROMFS_ENTRY_EMPTY) {
70 auto entry = GetEntry<FileEntry>(file, file_offset + this_file_offset); 71 auto entry = GetEntry<FileEntry>(file, file_offset + this_file_offset);
71 72
72 parent->AddFile(std::make_shared<OffsetVfsFile>( 73 parent->AddFile(std::make_shared<OffsetVfsFile>(
73 file, entry.first.size, entry.first.offset + data_offset, entry.second)); 74 file, entry.first.size, entry.first.offset + data_offset, entry.second));
74 75
75 if (entry.first.sibling == ROMFS_ENTRY_EMPTY)
76 break;
77
78 this_file_offset = entry.first.sibling; 76 this_file_offset = entry.first.sibling;
79 } 77 }
80} 78}
81 79
82void ProcessDirectory(VirtualFile file, std::size_t dir_offset, std::size_t file_offset, 80void ProcessDirectory(const VirtualFile& file, std::size_t dir_offset, std::size_t file_offset,
83 std::size_t data_offset, u32 this_dir_offset, 81 std::size_t data_offset, u32 this_dir_offset,
84 std::shared_ptr<VectorVfsDirectory> parent) { 82 std::shared_ptr<VectorVfsDirectory>& parent) {
85 while (true) { 83 while (this_dir_offset != ROMFS_ENTRY_EMPTY) {
86 auto entry = GetEntry<DirectoryEntry>(file, dir_offset + this_dir_offset); 84 auto entry = GetEntry<DirectoryEntry>(file, dir_offset + this_dir_offset);
87 auto current = std::make_shared<VectorVfsDirectory>( 85 auto current = std::make_shared<VectorVfsDirectory>(
88 std::vector<VirtualFile>{}, std::vector<VirtualDir>{}, entry.second); 86 std::vector<VirtualFile>{}, std::vector<VirtualDir>{}, entry.second);
@@ -97,14 +95,12 @@ void ProcessDirectory(VirtualFile file, std::size_t dir_offset, std::size_t file
97 } 95 }
98 96
99 parent->AddDirectory(current); 97 parent->AddDirectory(current);
100 if (entry.first.sibling == ROMFS_ENTRY_EMPTY)
101 break;
102 this_dir_offset = entry.first.sibling; 98 this_dir_offset = entry.first.sibling;
103 } 99 }
104} 100}
105} // Anonymous namespace 101} // Anonymous namespace
106 102
107VirtualDir ExtractRomFS(VirtualFile file, RomFSExtractionType type) { 103VirtualDir ExtractRomFS(VirtualFile file) {
108 RomFSHeader header{}; 104 RomFSHeader header{};
109 if (file->ReadObject(&header) != sizeof(RomFSHeader)) 105 if (file->ReadObject(&header) != sizeof(RomFSHeader))
110 return nullptr; 106 return nullptr;
@@ -113,27 +109,17 @@ VirtualDir ExtractRomFS(VirtualFile file, RomFSExtractionType type) {
113 return nullptr; 109 return nullptr;
114 110
115 const u64 file_offset = header.file_meta.offset; 111 const u64 file_offset = header.file_meta.offset;
116 const u64 dir_offset = header.directory_meta.offset + 4; 112 const u64 dir_offset = header.directory_meta.offset;
117
118 auto root =
119 std::make_shared<VectorVfsDirectory>(std::vector<VirtualFile>{}, std::vector<VirtualDir>{},
120 file->GetName(), file->GetContainingDirectory());
121
122 ProcessDirectory(file, dir_offset, file_offset, header.data_offset, 0, root);
123 113
124 VirtualDir out = std::move(root); 114 auto root_container = std::make_shared<VectorVfsDirectory>();
125 115
126 if (type == RomFSExtractionType::SingleDiscard) 116 ProcessDirectory(file, dir_offset, file_offset, header.data_offset, 0, root_container);
127 return out->GetSubdirectories().front();
128 117
129 while (out->GetSubdirectories().size() == 1 && out->GetFiles().empty()) { 118 if (auto root = root_container->GetSubdirectory(""); root) {
130 if (Common::ToLower(out->GetSubdirectories().front()->GetName()) == "data" && 119 return std::make_shared<CachedVfsDirectory>(std::move(root));
131 type == RomFSExtractionType::Truncated)
132 break;
133 out = out->GetSubdirectories().front();
134 } 120 }
135 121
136 return std::make_shared<CachedVfsDirectory>(std::move(out)); 122 return nullptr;
137} 123}
138 124
139VirtualFile CreateRomFS(VirtualDir dir, VirtualDir ext) { 125VirtualFile CreateRomFS(VirtualDir dir, VirtualDir ext) {
diff --git a/src/core/file_sys/romfs.h b/src/core/file_sys/romfs.h
index 5d7f0c2a8..b75ff1aad 100644
--- a/src/core/file_sys/romfs.h
+++ b/src/core/file_sys/romfs.h
@@ -7,16 +7,9 @@
7 7
8namespace FileSys { 8namespace FileSys {
9 9
10enum class RomFSExtractionType {
11 Full, // Includes data directory
12 Truncated, // Traverses into data directory
13 SingleDiscard, // Traverses into the first subdirectory of root
14};
15
16// Converts a RomFS binary blob to VFS Filesystem 10// Converts a RomFS binary blob to VFS Filesystem
17// Returns nullptr on failure 11// Returns nullptr on failure
18VirtualDir ExtractRomFS(VirtualFile file, 12VirtualDir ExtractRomFS(VirtualFile file);
19 RomFSExtractionType type = RomFSExtractionType::Truncated);
20 13
21// Converts a VFS filesystem into a RomFS binary 14// Converts a VFS filesystem into a RomFS binary
22// Returns nullptr on failure 15// Returns nullptr on failure
diff --git a/src/core/hid/emulated_controller.cpp b/src/core/hid/emulated_controller.cpp
index 2af3f06fc..8e2894449 100644
--- a/src/core/hid/emulated_controller.cpp
+++ b/src/core/hid/emulated_controller.cpp
@@ -1091,30 +1091,30 @@ void EmulatedController::SetBattery(const Common::Input::CallbackStatus& callbac
1091 1091
1092 bool is_charging = false; 1092 bool is_charging = false;
1093 bool is_powered = false; 1093 bool is_powered = false;
1094 NpadBatteryLevel battery_level = 0; 1094 NpadBatteryLevel battery_level = NpadBatteryLevel::Empty;
1095 switch (controller.battery_values[index]) { 1095 switch (controller.battery_values[index]) {
1096 case Common::Input::BatteryLevel::Charging: 1096 case Common::Input::BatteryLevel::Charging:
1097 is_charging = true; 1097 is_charging = true;
1098 is_powered = true; 1098 is_powered = true;
1099 battery_level = 6; 1099 battery_level = NpadBatteryLevel::Full;
1100 break; 1100 break;
1101 case Common::Input::BatteryLevel::Medium: 1101 case Common::Input::BatteryLevel::Medium:
1102 battery_level = 6; 1102 battery_level = NpadBatteryLevel::High;
1103 break; 1103 break;
1104 case Common::Input::BatteryLevel::Low: 1104 case Common::Input::BatteryLevel::Low:
1105 battery_level = 4; 1105 battery_level = NpadBatteryLevel::Low;
1106 break; 1106 break;
1107 case Common::Input::BatteryLevel::Critical: 1107 case Common::Input::BatteryLevel::Critical:
1108 battery_level = 2; 1108 battery_level = NpadBatteryLevel::Critical;
1109 break; 1109 break;
1110 case Common::Input::BatteryLevel::Empty: 1110 case Common::Input::BatteryLevel::Empty:
1111 battery_level = 0; 1111 battery_level = NpadBatteryLevel::Empty;
1112 break; 1112 break;
1113 case Common::Input::BatteryLevel::None: 1113 case Common::Input::BatteryLevel::None:
1114 case Common::Input::BatteryLevel::Full: 1114 case Common::Input::BatteryLevel::Full:
1115 default: 1115 default:
1116 is_powered = true; 1116 is_powered = true;
1117 battery_level = 8; 1117 battery_level = NpadBatteryLevel::Full;
1118 break; 1118 break;
1119 } 1119 }
1120 1120
diff --git a/src/core/hid/hid_types.h b/src/core/hid/hid_types.h
index 00beb40dd..7ba75a50c 100644
--- a/src/core/hid/hid_types.h
+++ b/src/core/hid/hid_types.h
@@ -302,6 +302,15 @@ enum class TouchScreenModeForNx : u8 {
302 Heat2, 302 Heat2,
303}; 303};
304 304
305// This is nn::hid::system::NpadBatteryLevel
306enum class NpadBatteryLevel : u32 {
307 Empty,
308 Critical,
309 Low,
310 High,
311 Full,
312};
313
305// This is nn::hid::NpadStyleTag 314// This is nn::hid::NpadStyleTag
306struct NpadStyleTag { 315struct NpadStyleTag {
307 union { 316 union {
@@ -385,16 +394,12 @@ struct NpadGcTriggerState {
385}; 394};
386static_assert(sizeof(NpadGcTriggerState) == 0x10, "NpadGcTriggerState is an invalid size"); 395static_assert(sizeof(NpadGcTriggerState) == 0x10, "NpadGcTriggerState is an invalid size");
387 396
388// This is nn::hid::system::NpadBatteryLevel
389using NpadBatteryLevel = u32;
390static_assert(sizeof(NpadBatteryLevel) == 0x4, "NpadBatteryLevel is an invalid size");
391
392// This is nn::hid::system::NpadPowerInfo 397// This is nn::hid::system::NpadPowerInfo
393struct NpadPowerInfo { 398struct NpadPowerInfo {
394 bool is_powered{}; 399 bool is_powered{};
395 bool is_charging{}; 400 bool is_charging{};
396 INSERT_PADDING_BYTES(0x6); 401 INSERT_PADDING_BYTES(0x6);
397 NpadBatteryLevel battery_level{8}; 402 NpadBatteryLevel battery_level{NpadBatteryLevel::Full};
398}; 403};
399static_assert(sizeof(NpadPowerInfo) == 0xC, "NpadPowerInfo is an invalid size"); 404static_assert(sizeof(NpadPowerInfo) == 0xC, "NpadPowerInfo is an invalid size");
400 405
diff --git a/src/core/hle/service/am/am.cpp b/src/core/hle/service/am/am.cpp
index ff067c8d9..cc643ea09 100644
--- a/src/core/hle/service/am/am.cpp
+++ b/src/core/hle/service/am/am.cpp
@@ -23,6 +23,7 @@
23#include "core/hle/service/am/applets/applet_cabinet.h" 23#include "core/hle/service/am/applets/applet_cabinet.h"
24#include "core/hle/service/am/applets/applet_mii_edit_types.h" 24#include "core/hle/service/am/applets/applet_mii_edit_types.h"
25#include "core/hle/service/am/applets/applet_profile_select.h" 25#include "core/hle/service/am/applets/applet_profile_select.h"
26#include "core/hle/service/am/applets/applet_software_keyboard_types.h"
26#include "core/hle/service/am/applets/applet_web_browser.h" 27#include "core/hle/service/am/applets/applet_web_browser.h"
27#include "core/hle/service/am/applets/applets.h" 28#include "core/hle/service/am/applets/applets.h"
28#include "core/hle/service/am/idle.h" 29#include "core/hle/service/am/idle.h"
@@ -31,6 +32,7 @@
31#include "core/hle/service/apm/apm_controller.h" 32#include "core/hle/service/apm/apm_controller.h"
32#include "core/hle/service/apm/apm_interface.h" 33#include "core/hle/service/apm/apm_interface.h"
33#include "core/hle/service/bcat/backend/backend.h" 34#include "core/hle/service/bcat/backend/backend.h"
35#include "core/hle/service/caps/caps_su.h"
34#include "core/hle/service/caps/caps_types.h" 36#include "core/hle/service/caps/caps_types.h"
35#include "core/hle/service/filesystem/filesystem.h" 37#include "core/hle/service/filesystem/filesystem.h"
36#include "core/hle/service/ipc_helpers.h" 38#include "core/hle/service/ipc_helpers.h"
@@ -702,9 +704,17 @@ void ISelfController::SetAlbumImageTakenNotificationEnabled(HLERequestContext& c
702void ISelfController::SaveCurrentScreenshot(HLERequestContext& ctx) { 704void ISelfController::SaveCurrentScreenshot(HLERequestContext& ctx) {
703 IPC::RequestParser rp{ctx}; 705 IPC::RequestParser rp{ctx};
704 706
705 const auto album_report_option = rp.PopEnum<Capture::AlbumReportOption>(); 707 const auto report_option = rp.PopEnum<Capture::AlbumReportOption>();
706 708
707 LOG_WARNING(Service_AM, "(STUBBED) called. album_report_option={}", album_report_option); 709 LOG_INFO(Service_AM, "called, report_option={}", report_option);
710
711 const auto screenshot_service =
712 system.ServiceManager().GetService<Service::Capture::IScreenShotApplicationService>(
713 "caps:su");
714
715 if (screenshot_service) {
716 screenshot_service->CaptureAndSaveScreenshot(report_option);
717 }
708 718
709 IPC::ResponseBuilder rb{ctx, 2}; 719 IPC::ResponseBuilder rb{ctx, 2};
710 rb.Push(ResultSuccess); 720 rb.Push(ResultSuccess);
@@ -1562,7 +1572,7 @@ ILibraryAppletSelfAccessor::ILibraryAppletSelfAccessor(Core::System& system_)
1562 {16, nullptr, "GetMainAppletStorageId"}, 1572 {16, nullptr, "GetMainAppletStorageId"},
1563 {17, nullptr, "GetCallerAppletIdentityInfoStack"}, 1573 {17, nullptr, "GetCallerAppletIdentityInfoStack"},
1564 {18, nullptr, "GetNextReturnDestinationAppletIdentityInfo"}, 1574 {18, nullptr, "GetNextReturnDestinationAppletIdentityInfo"},
1565 {19, nullptr, "GetDesirableKeyboardLayout"}, 1575 {19, &ILibraryAppletSelfAccessor::GetDesirableKeyboardLayout, "GetDesirableKeyboardLayout"},
1566 {20, nullptr, "PopExtraStorage"}, 1576 {20, nullptr, "PopExtraStorage"},
1567 {25, nullptr, "GetPopExtraStorageEvent"}, 1577 {25, nullptr, "GetPopExtraStorageEvent"},
1568 {30, nullptr, "UnpopInData"}, 1578 {30, nullptr, "UnpopInData"},
@@ -1581,7 +1591,7 @@ ILibraryAppletSelfAccessor::ILibraryAppletSelfAccessor(Core::System& system_)
1581 {120, nullptr, "GetLaunchStorageInfoForDebug"}, 1591 {120, nullptr, "GetLaunchStorageInfoForDebug"},
1582 {130, nullptr, "GetGpuErrorDetectedSystemEvent"}, 1592 {130, nullptr, "GetGpuErrorDetectedSystemEvent"},
1583 {140, nullptr, "SetApplicationMemoryReservation"}, 1593 {140, nullptr, "SetApplicationMemoryReservation"},
1584 {150, nullptr, "ShouldSetGpuTimeSliceManually"}, 1594 {150, &ILibraryAppletSelfAccessor::ShouldSetGpuTimeSliceManually, "ShouldSetGpuTimeSliceManually"},
1585 }; 1595 };
1586 // clang-format on 1596 // clang-format on
1587 RegisterHandlers(functions); 1597 RegisterHandlers(functions);
@@ -1596,6 +1606,9 @@ ILibraryAppletSelfAccessor::ILibraryAppletSelfAccessor(Core::System& system_)
1596 case Applets::AppletId::PhotoViewer: 1606 case Applets::AppletId::PhotoViewer:
1597 PushInShowAlbum(); 1607 PushInShowAlbum();
1598 break; 1608 break;
1609 case Applets::AppletId::SoftwareKeyboard:
1610 PushInShowSoftwareKeyboard();
1611 break;
1599 default: 1612 default:
1600 break; 1613 break;
1601 } 1614 }
@@ -1672,6 +1685,14 @@ void ILibraryAppletSelfAccessor::GetCallerAppletIdentityInfo(HLERequestContext&
1672 rb.PushRaw(applet_info); 1685 rb.PushRaw(applet_info);
1673} 1686}
1674 1687
1688void ILibraryAppletSelfAccessor::GetDesirableKeyboardLayout(HLERequestContext& ctx) {
1689 LOG_WARNING(Service_AM, "(STUBBED) called");
1690
1691 IPC::ResponseBuilder rb{ctx, 3};
1692 rb.Push(ResultSuccess);
1693 rb.Push<u32>(0);
1694}
1695
1675void ILibraryAppletSelfAccessor::GetMainAppletAvailableUsers(HLERequestContext& ctx) { 1696void ILibraryAppletSelfAccessor::GetMainAppletAvailableUsers(HLERequestContext& ctx) {
1676 const Service::Account::ProfileManager manager{}; 1697 const Service::Account::ProfileManager manager{};
1677 bool is_empty{true}; 1698 bool is_empty{true};
@@ -1691,6 +1712,14 @@ void ILibraryAppletSelfAccessor::GetMainAppletAvailableUsers(HLERequestContext&
1691 rb.Push(user_count); 1712 rb.Push(user_count);
1692} 1713}
1693 1714
1715void ILibraryAppletSelfAccessor::ShouldSetGpuTimeSliceManually(HLERequestContext& ctx) {
1716 LOG_WARNING(Service_AM, "(STUBBED) called");
1717
1718 IPC::ResponseBuilder rb{ctx, 2};
1719 rb.Push(ResultSuccess);
1720 rb.Push<u8>(0);
1721}
1722
1694void ILibraryAppletSelfAccessor::PushInShowAlbum() { 1723void ILibraryAppletSelfAccessor::PushInShowAlbum() {
1695 const Applets::CommonArguments arguments{ 1724 const Applets::CommonArguments arguments{
1696 .arguments_version = Applets::CommonArgumentVersion::Version3, 1725 .arguments_version = Applets::CommonArgumentVersion::Version3,
@@ -1759,6 +1788,61 @@ void ILibraryAppletSelfAccessor::PushInShowMiiEditData() {
1759 queue_data.emplace_back(std::move(argument_data)); 1788 queue_data.emplace_back(std::move(argument_data));
1760} 1789}
1761 1790
1791void ILibraryAppletSelfAccessor::PushInShowSoftwareKeyboard() {
1792 const Applets::CommonArguments arguments{
1793 .arguments_version = Applets::CommonArgumentVersion::Version3,
1794 .size = Applets::CommonArgumentSize::Version3,
1795 .library_version = static_cast<u32>(Applets::SwkbdAppletVersion::Version524301),
1796 .theme_color = Applets::ThemeColor::BasicBlack,
1797 .play_startup_sound = true,
1798 .system_tick = system.CoreTiming().GetClockTicks(),
1799 };
1800
1801 std::vector<char16_t> initial_string(0);
1802
1803 const Applets::SwkbdConfigCommon swkbd_config{
1804 .type = Applets::SwkbdType::Qwerty,
1805 .ok_text{},
1806 .left_optional_symbol_key{},
1807 .right_optional_symbol_key{},
1808 .use_prediction = false,
1809 .key_disable_flags{},
1810 .initial_cursor_position = Applets::SwkbdInitialCursorPosition::Start,
1811 .header_text{},
1812 .sub_text{},
1813 .guide_text{},
1814 .max_text_length = 500,
1815 .min_text_length = 0,
1816 .password_mode = Applets::SwkbdPasswordMode::Disabled,
1817 .text_draw_type = Applets::SwkbdTextDrawType::Box,
1818 .enable_return_button = true,
1819 .use_utf8 = false,
1820 .use_blur_background = true,
1821 .initial_string_offset{},
1822 .initial_string_length = static_cast<u32>(initial_string.size()),
1823 .user_dictionary_offset{},
1824 .user_dictionary_entries{},
1825 .use_text_check = false,
1826 };
1827
1828 Applets::SwkbdConfigNew swkbd_config_new{};
1829
1830 std::vector<u8> argument_data(sizeof(arguments));
1831 std::vector<u8> swkbd_data(sizeof(swkbd_config) + sizeof(swkbd_config_new));
1832 std::vector<u8> work_buffer(swkbd_config.initial_string_length * sizeof(char16_t));
1833
1834 std::memcpy(argument_data.data(), &arguments, sizeof(arguments));
1835 std::memcpy(swkbd_data.data(), &swkbd_config, sizeof(swkbd_config));
1836 std::memcpy(swkbd_data.data() + sizeof(swkbd_config), &swkbd_config_new,
1837 sizeof(Applets::SwkbdConfigNew));
1838 std::memcpy(work_buffer.data(), initial_string.data(),
1839 swkbd_config.initial_string_length * sizeof(char16_t));
1840
1841 queue_data.emplace_back(std::move(argument_data));
1842 queue_data.emplace_back(std::move(swkbd_data));
1843 queue_data.emplace_back(std::move(work_buffer));
1844}
1845
1762IAppletCommonFunctions::IAppletCommonFunctions(Core::System& system_) 1846IAppletCommonFunctions::IAppletCommonFunctions(Core::System& system_)
1763 : ServiceFramework{system_, "IAppletCommonFunctions"} { 1847 : ServiceFramework{system_, "IAppletCommonFunctions"} {
1764 // clang-format off 1848 // clang-format off
diff --git a/src/core/hle/service/am/am.h b/src/core/hle/service/am/am.h
index 64b3f3fe2..8f8cb8a9e 100644
--- a/src/core/hle/service/am/am.h
+++ b/src/core/hle/service/am/am.h
@@ -347,11 +347,14 @@ private:
347 void GetLibraryAppletInfo(HLERequestContext& ctx); 347 void GetLibraryAppletInfo(HLERequestContext& ctx);
348 void ExitProcessAndReturn(HLERequestContext& ctx); 348 void ExitProcessAndReturn(HLERequestContext& ctx);
349 void GetCallerAppletIdentityInfo(HLERequestContext& ctx); 349 void GetCallerAppletIdentityInfo(HLERequestContext& ctx);
350 void GetDesirableKeyboardLayout(HLERequestContext& ctx);
350 void GetMainAppletAvailableUsers(HLERequestContext& ctx); 351 void GetMainAppletAvailableUsers(HLERequestContext& ctx);
352 void ShouldSetGpuTimeSliceManually(HLERequestContext& ctx);
351 353
352 void PushInShowAlbum(); 354 void PushInShowAlbum();
353 void PushInShowCabinetData(); 355 void PushInShowCabinetData();
354 void PushInShowMiiEditData(); 356 void PushInShowMiiEditData();
357 void PushInShowSoftwareKeyboard();
355 358
356 std::deque<std::vector<u8>> queue_data; 359 std::deque<std::vector<u8>> queue_data;
357}; 360};
diff --git a/src/core/hle/service/am/applets/applet_web_browser.cpp b/src/core/hle/service/am/applets/applet_web_browser.cpp
index 1c9a1dc29..b0ea2b381 100644
--- a/src/core/hle/service/am/applets/applet_web_browser.cpp
+++ b/src/core/hle/service/am/applets/applet_web_browser.cpp
@@ -330,8 +330,7 @@ void WebBrowser::ExtractOfflineRomFS() {
330 LOG_DEBUG(Service_AM, "Extracting RomFS to {}", 330 LOG_DEBUG(Service_AM, "Extracting RomFS to {}",
331 Common::FS::PathToUTF8String(offline_cache_dir)); 331 Common::FS::PathToUTF8String(offline_cache_dir));
332 332
333 const auto extracted_romfs_dir = 333 const auto extracted_romfs_dir = FileSys::ExtractRomFS(offline_romfs);
334 FileSys::ExtractRomFS(offline_romfs, FileSys::RomFSExtractionType::SingleDiscard);
335 334
336 const auto temp_dir = system.GetFilesystem()->CreateDirectory( 335 const auto temp_dir = system.GetFilesystem()->CreateDirectory(
337 Common::FS::PathToUTF8String(offline_cache_dir), FileSys::Mode::ReadWrite); 336 Common::FS::PathToUTF8String(offline_cache_dir), FileSys::Mode::ReadWrite);
diff --git a/src/core/hle/service/caps/caps_manager.cpp b/src/core/hle/service/caps/caps_manager.cpp
index 7d733eb54..96b225d5f 100644
--- a/src/core/hle/service/caps/caps_manager.cpp
+++ b/src/core/hle/service/caps/caps_manager.cpp
@@ -228,12 +228,14 @@ Result AlbumManager::LoadAlbumScreenShotThumbnail(
228 228
229Result AlbumManager::SaveScreenShot(ApplicationAlbumEntry& out_entry, 229Result AlbumManager::SaveScreenShot(ApplicationAlbumEntry& out_entry,
230 const ScreenShotAttribute& attribute, 230 const ScreenShotAttribute& attribute,
231 std::span<const u8> image_data, u64 aruid) { 231 AlbumReportOption report_option, std::span<const u8> image_data,
232 return SaveScreenShot(out_entry, attribute, {}, image_data, aruid); 232 u64 aruid) {
233 return SaveScreenShot(out_entry, attribute, report_option, {}, image_data, aruid);
233} 234}
234 235
235Result AlbumManager::SaveScreenShot(ApplicationAlbumEntry& out_entry, 236Result AlbumManager::SaveScreenShot(ApplicationAlbumEntry& out_entry,
236 const ScreenShotAttribute& attribute, 237 const ScreenShotAttribute& attribute,
238 AlbumReportOption report_option,
237 const ApplicationData& app_data, std::span<const u8> image_data, 239 const ApplicationData& app_data, std::span<const u8> image_data,
238 u64 aruid) { 240 u64 aruid) {
239 const u64 title_id = system.GetApplicationProcessProgramID(); 241 const u64 title_id = system.GetApplicationProcessProgramID();
@@ -407,10 +409,14 @@ Result AlbumManager::LoadImage(std::span<u8> out_image, const std::filesystem::p
407 return ResultSuccess; 409 return ResultSuccess;
408} 410}
409 411
410static void PNGToMemory(void* context, void* png, int len) { 412void AlbumManager::FlipVerticallyOnWrite(bool flip) {
413 stbi_flip_vertically_on_write(flip);
414}
415
416static void PNGToMemory(void* context, void* data, int len) {
411 std::vector<u8>* png_image = static_cast<std::vector<u8>*>(context); 417 std::vector<u8>* png_image = static_cast<std::vector<u8>*>(context);
412 png_image->reserve(len); 418 unsigned char* png = static_cast<unsigned char*>(data);
413 std::memcpy(png_image->data(), png, len); 419 png_image->insert(png_image->end(), png, png + len);
414} 420}
415 421
416Result AlbumManager::SaveImage(ApplicationAlbumEntry& out_entry, std::span<const u8> image, 422Result AlbumManager::SaveImage(ApplicationAlbumEntry& out_entry, std::span<const u8> image,
diff --git a/src/core/hle/service/caps/caps_manager.h b/src/core/hle/service/caps/caps_manager.h
index 44d85117f..e20c70c7b 100644
--- a/src/core/hle/service/caps/caps_manager.h
+++ b/src/core/hle/service/caps/caps_manager.h
@@ -59,14 +59,17 @@ public:
59 const ScreenShotDecodeOption& decoder_options) const; 59 const ScreenShotDecodeOption& decoder_options) const;
60 60
61 Result SaveScreenShot(ApplicationAlbumEntry& out_entry, const ScreenShotAttribute& attribute, 61 Result SaveScreenShot(ApplicationAlbumEntry& out_entry, const ScreenShotAttribute& attribute,
62 std::span<const u8> image_data, u64 aruid); 62 AlbumReportOption report_option, std::span<const u8> image_data,
63 Result SaveScreenShot(ApplicationAlbumEntry& out_entry, const ScreenShotAttribute& attribute,
64 const ApplicationData& app_data, std::span<const u8> image_data,
65 u64 aruid); 63 u64 aruid);
64 Result SaveScreenShot(ApplicationAlbumEntry& out_entry, const ScreenShotAttribute& attribute,
65 AlbumReportOption report_option, const ApplicationData& app_data,
66 std::span<const u8> image_data, u64 aruid);
66 Result SaveEditedScreenShot(ApplicationAlbumEntry& out_entry, 67 Result SaveEditedScreenShot(ApplicationAlbumEntry& out_entry,
67 const ScreenShotAttribute& attribute, const AlbumFileId& file_id, 68 const ScreenShotAttribute& attribute, const AlbumFileId& file_id,
68 std::span<const u8> image_data); 69 std::span<const u8> image_data);
69 70
71 void FlipVerticallyOnWrite(bool flip);
72
70private: 73private:
71 static constexpr std::size_t NandAlbumFileLimit = 1000; 74 static constexpr std::size_t NandAlbumFileLimit = 1000;
72 static constexpr std::size_t SdAlbumFileLimit = 10000; 75 static constexpr std::size_t SdAlbumFileLimit = 10000;
diff --git a/src/core/hle/service/caps/caps_ss.cpp b/src/core/hle/service/caps/caps_ss.cpp
index 1ba2b7972..eab023568 100644
--- a/src/core/hle/service/caps/caps_ss.cpp
+++ b/src/core/hle/service/caps/caps_ss.cpp
@@ -34,7 +34,7 @@ void IScreenShotService::SaveScreenShotEx0(HLERequestContext& ctx) {
34 IPC::RequestParser rp{ctx}; 34 IPC::RequestParser rp{ctx};
35 struct Parameters { 35 struct Parameters {
36 ScreenShotAttribute attribute{}; 36 ScreenShotAttribute attribute{};
37 u32 report_option{}; 37 AlbumReportOption report_option{};
38 INSERT_PADDING_BYTES(0x4); 38 INSERT_PADDING_BYTES(0x4);
39 u64 applet_resource_user_id{}; 39 u64 applet_resource_user_id{};
40 }; 40 };
@@ -49,13 +49,16 @@ void IScreenShotService::SaveScreenShotEx0(HLERequestContext& ctx) {
49 parameters.applet_resource_user_id); 49 parameters.applet_resource_user_id);
50 50
51 ApplicationAlbumEntry entry{}; 51 ApplicationAlbumEntry entry{};
52 const auto result = manager->SaveScreenShot(entry, parameters.attribute, image_data_buffer, 52 manager->FlipVerticallyOnWrite(false);
53 parameters.applet_resource_user_id); 53 const auto result =
54 manager->SaveScreenShot(entry, parameters.attribute, parameters.report_option,
55 image_data_buffer, parameters.applet_resource_user_id);
54 56
55 IPC::ResponseBuilder rb{ctx, 10}; 57 IPC::ResponseBuilder rb{ctx, 10};
56 rb.Push(result); 58 rb.Push(result);
57 rb.PushRaw(entry); 59 rb.PushRaw(entry);
58} 60}
61
59void IScreenShotService::SaveEditedScreenShotEx1(HLERequestContext& ctx) { 62void IScreenShotService::SaveEditedScreenShotEx1(HLERequestContext& ctx) {
60 IPC::RequestParser rp{ctx}; 63 IPC::RequestParser rp{ctx};
61 struct Parameters { 64 struct Parameters {
@@ -83,6 +86,7 @@ void IScreenShotService::SaveEditedScreenShotEx1(HLERequestContext& ctx) {
83 image_data_buffer.size(), thumbnail_image_data_buffer.size()); 86 image_data_buffer.size(), thumbnail_image_data_buffer.size());
84 87
85 ApplicationAlbumEntry entry{}; 88 ApplicationAlbumEntry entry{};
89 manager->FlipVerticallyOnWrite(false);
86 const auto result = manager->SaveEditedScreenShot(entry, parameters.attribute, 90 const auto result = manager->SaveEditedScreenShot(entry, parameters.attribute,
87 parameters.file_id, image_data_buffer); 91 parameters.file_id, image_data_buffer);
88 92
diff --git a/src/core/hle/service/caps/caps_su.cpp b/src/core/hle/service/caps/caps_su.cpp
index e85625ee4..296b07b00 100644
--- a/src/core/hle/service/caps/caps_su.cpp
+++ b/src/core/hle/service/caps/caps_su.cpp
@@ -2,10 +2,12 @@
2// SPDX-License-Identifier: GPL-2.0-or-later 2// SPDX-License-Identifier: GPL-2.0-or-later
3 3
4#include "common/logging/log.h" 4#include "common/logging/log.h"
5#include "core/core.h"
5#include "core/hle/service/caps/caps_manager.h" 6#include "core/hle/service/caps/caps_manager.h"
6#include "core/hle/service/caps/caps_su.h" 7#include "core/hle/service/caps/caps_su.h"
7#include "core/hle/service/caps/caps_types.h" 8#include "core/hle/service/caps/caps_types.h"
8#include "core/hle/service/ipc_helpers.h" 9#include "core/hle/service/ipc_helpers.h"
10#include "video_core/renderer_base.h"
9 11
10namespace Service::Capture { 12namespace Service::Capture {
11 13
@@ -58,8 +60,10 @@ void IScreenShotApplicationService::SaveScreenShotEx0(HLERequestContext& ctx) {
58 parameters.applet_resource_user_id); 60 parameters.applet_resource_user_id);
59 61
60 ApplicationAlbumEntry entry{}; 62 ApplicationAlbumEntry entry{};
61 const auto result = manager->SaveScreenShot(entry, parameters.attribute, image_data_buffer, 63 manager->FlipVerticallyOnWrite(false);
62 parameters.applet_resource_user_id); 64 const auto result =
65 manager->SaveScreenShot(entry, parameters.attribute, parameters.report_option,
66 image_data_buffer, parameters.applet_resource_user_id);
63 67
64 IPC::ResponseBuilder rb{ctx, 10}; 68 IPC::ResponseBuilder rb{ctx, 10};
65 rb.Push(result); 69 rb.Push(result);
@@ -88,13 +92,43 @@ void IScreenShotApplicationService::SaveScreenShotEx1(HLERequestContext& ctx) {
88 ApplicationAlbumEntry entry{}; 92 ApplicationAlbumEntry entry{};
89 ApplicationData app_data{}; 93 ApplicationData app_data{};
90 std::memcpy(&app_data, app_data_buffer.data(), sizeof(ApplicationData)); 94 std::memcpy(&app_data, app_data_buffer.data(), sizeof(ApplicationData));
95 manager->FlipVerticallyOnWrite(false);
91 const auto result = 96 const auto result =
92 manager->SaveScreenShot(entry, parameters.attribute, app_data, image_data_buffer, 97 manager->SaveScreenShot(entry, parameters.attribute, parameters.report_option, app_data,
93 parameters.applet_resource_user_id); 98 image_data_buffer, parameters.applet_resource_user_id);
94 99
95 IPC::ResponseBuilder rb{ctx, 10}; 100 IPC::ResponseBuilder rb{ctx, 10};
96 rb.Push(result); 101 rb.Push(result);
97 rb.PushRaw(entry); 102 rb.PushRaw(entry);
98} 103}
99 104
105void IScreenShotApplicationService::CaptureAndSaveScreenshot(AlbumReportOption report_option) {
106 auto& renderer = system.Renderer();
107 Layout::FramebufferLayout layout =
108 Layout::DefaultFrameLayout(screenshot_width, screenshot_height);
109
110 const Capture::ScreenShotAttribute attribute{
111 .unknown_0{},
112 .orientation = Capture::AlbumImageOrientation::None,
113 .unknown_1{},
114 .unknown_2{},
115 };
116
117 renderer.RequestScreenshot(
118 image_data.data(),
119 [attribute, report_option, this](bool invert_y) {
120 // Convert from BGRA to RGBA
121 for (std::size_t i = 0; i < image_data.size(); i += bytes_per_pixel) {
122 const u8 temp = image_data[i];
123 image_data[i] = image_data[i + 2];
124 image_data[i + 2] = temp;
125 }
126
127 Capture::ApplicationAlbumEntry entry{};
128 manager->FlipVerticallyOnWrite(invert_y);
129 manager->SaveScreenShot(entry, attribute, report_option, image_data, {});
130 },
131 layout);
132}
133
100} // namespace Service::Capture 134} // namespace Service::Capture
diff --git a/src/core/hle/service/caps/caps_su.h b/src/core/hle/service/caps/caps_su.h
index 89e71f506..21912e95f 100644
--- a/src/core/hle/service/caps/caps_su.h
+++ b/src/core/hle/service/caps/caps_su.h
@@ -10,6 +10,7 @@ class System;
10} 10}
11 11
12namespace Service::Capture { 12namespace Service::Capture {
13enum class AlbumReportOption : s32;
13class AlbumManager; 14class AlbumManager;
14 15
15class IScreenShotApplicationService final : public ServiceFramework<IScreenShotApplicationService> { 16class IScreenShotApplicationService final : public ServiceFramework<IScreenShotApplicationService> {
@@ -18,11 +19,19 @@ public:
18 std::shared_ptr<AlbumManager> album_manager); 19 std::shared_ptr<AlbumManager> album_manager);
19 ~IScreenShotApplicationService() override; 20 ~IScreenShotApplicationService() override;
20 21
22 void CaptureAndSaveScreenshot(AlbumReportOption report_option);
23
21private: 24private:
25 static constexpr std::size_t screenshot_width = 1280;
26 static constexpr std::size_t screenshot_height = 720;
27 static constexpr std::size_t bytes_per_pixel = 4;
28
22 void SetShimLibraryVersion(HLERequestContext& ctx); 29 void SetShimLibraryVersion(HLERequestContext& ctx);
23 void SaveScreenShotEx0(HLERequestContext& ctx); 30 void SaveScreenShotEx0(HLERequestContext& ctx);
24 void SaveScreenShotEx1(HLERequestContext& ctx); 31 void SaveScreenShotEx1(HLERequestContext& ctx);
25 32
33 std::array<u8, screenshot_width * screenshot_height * bytes_per_pixel> image_data;
34
26 std::shared_ptr<AlbumManager> manager; 35 std::shared_ptr<AlbumManager> manager;
27}; 36};
28 37
diff --git a/src/core/hle/service/hid/controllers/npad.cpp b/src/core/hle/service/hid/controllers/npad.cpp
index bc822f19e..21695bda2 100644
--- a/src/core/hle/service/hid/controllers/npad.cpp
+++ b/src/core/hle/service/hid/controllers/npad.cpp
@@ -1108,9 +1108,9 @@ Result Controller_NPad::DisconnectNpad(Core::HID::NpadIdType npad_id) {
1108 shared_memory->sixaxis_dual_right_properties.raw = 0; 1108 shared_memory->sixaxis_dual_right_properties.raw = 0;
1109 shared_memory->sixaxis_left_properties.raw = 0; 1109 shared_memory->sixaxis_left_properties.raw = 0;
1110 shared_memory->sixaxis_right_properties.raw = 0; 1110 shared_memory->sixaxis_right_properties.raw = 0;
1111 shared_memory->battery_level_dual = 0; 1111 shared_memory->battery_level_dual = Core::HID::NpadBatteryLevel::Empty;
1112 shared_memory->battery_level_left = 0; 1112 shared_memory->battery_level_left = Core::HID::NpadBatteryLevel::Empty;
1113 shared_memory->battery_level_right = 0; 1113 shared_memory->battery_level_right = Core::HID::NpadBatteryLevel::Empty;
1114 shared_memory->fullkey_color = { 1114 shared_memory->fullkey_color = {
1115 .attribute = ColorAttribute::NoController, 1115 .attribute = ColorAttribute::NoController,
1116 .fullkey = {}, 1116 .fullkey = {},
diff --git a/src/video_core/renderer_vulkan/vk_rasterizer.cpp b/src/video_core/renderer_vulkan/vk_rasterizer.cpp
index 059b7cb40..3983b2eb7 100644
--- a/src/video_core/renderer_vulkan/vk_rasterizer.cpp
+++ b/src/video_core/renderer_vulkan/vk_rasterizer.cpp
@@ -923,9 +923,13 @@ void RasterizerVulkan::UpdateDynamicStates() {
923} 923}
924 924
925void RasterizerVulkan::HandleTransformFeedback() { 925void RasterizerVulkan::HandleTransformFeedback() {
926 static std::once_flag warn_unsupported;
927
926 const auto& regs = maxwell3d->regs; 928 const auto& regs = maxwell3d->regs;
927 if (!device.IsExtTransformFeedbackSupported()) { 929 if (!device.IsExtTransformFeedbackSupported()) {
928 LOG_ERROR(Render_Vulkan, "Transform feedbacks used but not supported"); 930 std::call_once(warn_unsupported, [&] {
931 LOG_ERROR(Render_Vulkan, "Transform feedbacks used but not supported");
932 });
929 return; 933 return;
930 } 934 }
931 query_cache.CounterEnable(VideoCommon::QueryType::StreamingByteCount, 935 query_cache.CounterEnable(VideoCommon::QueryType::StreamingByteCount,
diff --git a/src/yuzu/main.cpp b/src/yuzu/main.cpp
index 9eafacea7..db9da6dc8 100644
--- a/src/yuzu/main.cpp
+++ b/src/yuzu/main.cpp
@@ -1072,7 +1072,7 @@ void GMainWindow::InitializeWidgets() {
1072 }); 1072 });
1073 volume_popup->layout()->addWidget(volume_slider); 1073 volume_popup->layout()->addWidget(volume_slider);
1074 1074
1075 volume_button = new QPushButton(); 1075 volume_button = new VolumeButton();
1076 volume_button->setObjectName(QStringLiteral("TogglableStatusBarButton")); 1076 volume_button->setObjectName(QStringLiteral("TogglableStatusBarButton"));
1077 volume_button->setFocusPolicy(Qt::NoFocus); 1077 volume_button->setFocusPolicy(Qt::NoFocus);
1078 volume_button->setCheckable(true); 1078 volume_button->setCheckable(true);
@@ -1103,6 +1103,8 @@ void GMainWindow::InitializeWidgets() {
1103 context_menu.exec(volume_button->mapToGlobal(menu_location)); 1103 context_menu.exec(volume_button->mapToGlobal(menu_location));
1104 volume_button->repaint(); 1104 volume_button->repaint();
1105 }); 1105 });
1106 connect(volume_button, &VolumeButton::VolumeChanged, this, &GMainWindow::UpdateVolumeUI);
1107
1106 statusBar()->insertPermanentWidget(0, volume_button); 1108 statusBar()->insertPermanentWidget(0, volume_button);
1107 1109
1108 // setup AA button 1110 // setup AA button
@@ -2735,7 +2737,7 @@ void GMainWindow::OnGameListDumpRomFS(u64 program_id, const std::string& game_pa
2735 return; 2737 return;
2736 } 2738 }
2737 2739
2738 const auto extracted = FileSys::ExtractRomFS(romfs, FileSys::RomFSExtractionType::Full); 2740 const auto extracted = FileSys::ExtractRomFS(romfs);
2739 if (extracted == nullptr) { 2741 if (extracted == nullptr) {
2740 failed(); 2742 failed();
2741 return; 2743 return;
@@ -5126,6 +5128,32 @@ void GMainWindow::changeEvent(QEvent* event) {
5126 QWidget::changeEvent(event); 5128 QWidget::changeEvent(event);
5127} 5129}
5128 5130
5131void VolumeButton::wheelEvent(QWheelEvent* event) {
5132
5133 int num_degrees = event->angleDelta().y() / 8;
5134 int num_steps = (num_degrees / 15) * scroll_multiplier;
5135 // Stated in QT docs: Most mouse types work in steps of 15 degrees, in which case the delta
5136 // value is a multiple of 120; i.e., 120 units * 1/8 = 15 degrees.
5137
5138 if (num_steps > 0) {
5139 Settings::values.volume.SetValue(
5140 std::min(200, Settings::values.volume.GetValue() + num_steps));
5141 } else {
5142 Settings::values.volume.SetValue(
5143 std::max(0, Settings::values.volume.GetValue() + num_steps));
5144 }
5145
5146 scroll_multiplier = std::min(MaxMultiplier, scroll_multiplier * 2);
5147 scroll_timer.start(100); // reset the multiplier if no scroll event occurs within 100 ms
5148
5149 emit VolumeChanged();
5150 event->accept();
5151}
5152
5153void VolumeButton::ResetMultiplier() {
5154 scroll_multiplier = 1;
5155}
5156
5129#ifdef main 5157#ifdef main
5130#undef main 5158#undef main
5131#endif 5159#endif
diff --git a/src/yuzu/main.h b/src/yuzu/main.h
index 270a40c5f..f9c6efe4f 100644
--- a/src/yuzu/main.h
+++ b/src/yuzu/main.h
@@ -8,6 +8,7 @@
8 8
9#include <QMainWindow> 9#include <QMainWindow>
10#include <QMessageBox> 10#include <QMessageBox>
11#include <QPushButton>
11#include <QTimer> 12#include <QTimer>
12#include <QTranslator> 13#include <QTranslator>
13 14
@@ -137,6 +138,28 @@ namespace VkDeviceInfo {
137class Record; 138class Record;
138} 139}
139 140
141class VolumeButton : public QPushButton {
142 Q_OBJECT
143public:
144 explicit VolumeButton(QWidget* parent = nullptr) : QPushButton(parent), scroll_multiplier(1) {
145 connect(&scroll_timer, &QTimer::timeout, this, &VolumeButton::ResetMultiplier);
146 }
147
148signals:
149 void VolumeChanged();
150
151protected:
152 void wheelEvent(QWheelEvent* event) override;
153
154private slots:
155 void ResetMultiplier();
156
157private:
158 int scroll_multiplier;
159 QTimer scroll_timer;
160 constexpr static int MaxMultiplier = 8;
161};
162
140class GMainWindow : public QMainWindow { 163class GMainWindow : public QMainWindow {
141 Q_OBJECT 164 Q_OBJECT
142 165
@@ -481,7 +504,7 @@ private:
481 QPushButton* dock_status_button = nullptr; 504 QPushButton* dock_status_button = nullptr;
482 QPushButton* filter_status_button = nullptr; 505 QPushButton* filter_status_button = nullptr;
483 QPushButton* aa_status_button = nullptr; 506 QPushButton* aa_status_button = nullptr;
484 QPushButton* volume_button = nullptr; 507 VolumeButton* volume_button = nullptr;
485 QWidget* volume_popup = nullptr; 508 QWidget* volume_popup = nullptr;
486 QSlider* volume_slider = nullptr; 509 QSlider* volume_slider = nullptr;
487 QTimer status_bar_update_timer; 510 QTimer status_bar_update_timer;