diff options
Diffstat (limited to 'src')
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 | ||
| 6 | import android.app.Dialog | 6 | import android.app.Dialog |
| 7 | import android.content.DialogInterface | 7 | import android.content.DialogInterface |
| 8 | import android.net.Uri | ||
| 8 | import android.os.Bundle | 9 | import android.os.Bundle |
| 9 | import android.text.Html | 10 | import android.text.Html |
| 10 | import android.text.method.LinkMovementMethod | 11 | import android.text.method.LinkMovementMethod |
| @@ -16,7 +17,7 @@ import androidx.fragment.app.DialogFragment | |||
| 16 | import com.google.android.material.dialog.MaterialAlertDialogBuilder | 17 | import com.google.android.material.dialog.MaterialAlertDialogBuilder |
| 17 | import java.lang.ref.WeakReference | 18 | import java.lang.ref.WeakReference |
| 18 | import org.yuzu.yuzu_emu.activities.EmulationActivity | 19 | import org.yuzu.yuzu_emu.activities.EmulationActivity |
| 19 | import org.yuzu.yuzu_emu.utils.DocumentsTree.Companion.isNativePath | 20 | import org.yuzu.yuzu_emu.utils.DocumentsTree |
| 20 | import org.yuzu.yuzu_emu.utils.FileUtil | 21 | import org.yuzu.yuzu_emu.utils.FileUtil |
| 21 | import org.yuzu.yuzu_emu.utils.Log | 22 | import org.yuzu.yuzu_emu.utils.Log |
| 22 | import org.yuzu.yuzu_emu.utils.SerializableHelper.serializable | 23 | import 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 | |||
| 45 | import org.yuzu.yuzu_emu.features.settings.model.Settings | 45 | import org.yuzu.yuzu_emu.features.settings.model.Settings |
| 46 | import org.yuzu.yuzu_emu.model.EmulationViewModel | 46 | import org.yuzu.yuzu_emu.model.EmulationViewModel |
| 47 | import org.yuzu.yuzu_emu.model.Game | 47 | import org.yuzu.yuzu_emu.model.Game |
| 48 | import org.yuzu.yuzu_emu.utils.ControllerMappingHelper | ||
| 49 | import org.yuzu.yuzu_emu.utils.ForegroundService | 48 | import org.yuzu.yuzu_emu.utils.ForegroundService |
| 50 | import org.yuzu.yuzu_emu.utils.InputHandler | 49 | import org.yuzu.yuzu_emu.utils.InputHandler |
| 50 | import org.yuzu.yuzu_emu.utils.Log | ||
| 51 | import org.yuzu.yuzu_emu.utils.MemoryUtil | 51 | import org.yuzu.yuzu_emu.utils.MemoryUtil |
| 52 | import org.yuzu.yuzu_emu.utils.NfcReader | 52 | import org.yuzu.yuzu_emu.utils.NfcReader |
| 53 | import org.yuzu.yuzu_emu.utils.ThemeHelper | 53 | import org.yuzu.yuzu_emu.utils.ThemeHelper |
| @@ -57,17 +57,16 @@ import kotlin.math.roundToInt | |||
| 57 | class EmulationActivity : AppCompatActivity(), SensorEventListener { | 57 | class 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 | |||
| 4 | package org.yuzu.yuzu_emu.adapters | ||
| 5 | |||
| 6 | import android.view.LayoutInflater | ||
| 7 | import android.view.View | ||
| 8 | import android.view.ViewGroup | ||
| 9 | import android.widget.Toast | ||
| 10 | import androidx.core.content.res.ResourcesCompat | ||
| 11 | import androidx.fragment.app.FragmentActivity | ||
| 12 | import androidx.navigation.findNavController | ||
| 13 | import androidx.recyclerview.widget.RecyclerView | ||
| 14 | import org.yuzu.yuzu_emu.HomeNavigationDirections | ||
| 15 | import org.yuzu.yuzu_emu.NativeLibrary | ||
| 16 | import org.yuzu.yuzu_emu.R | ||
| 17 | import org.yuzu.yuzu_emu.YuzuApplication | ||
| 18 | import org.yuzu.yuzu_emu.databinding.CardAppletOptionBinding | ||
| 19 | import org.yuzu.yuzu_emu.model.Applet | ||
| 20 | import org.yuzu.yuzu_emu.model.AppletInfo | ||
| 21 | import org.yuzu.yuzu_emu.model.Game | ||
| 22 | |||
| 23 | class 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 | |||
| 4 | package org.yuzu.yuzu_emu.adapters | ||
| 5 | |||
| 6 | import android.view.LayoutInflater | ||
| 7 | import android.view.View | ||
| 8 | import android.view.ViewGroup | ||
| 9 | import androidx.core.content.res.ResourcesCompat | ||
| 10 | import androidx.fragment.app.Fragment | ||
| 11 | import androidx.navigation.fragment.findNavController | ||
| 12 | import androidx.recyclerview.widget.RecyclerView | ||
| 13 | import org.yuzu.yuzu_emu.HomeNavigationDirections | ||
| 14 | import org.yuzu.yuzu_emu.NativeLibrary | ||
| 15 | import org.yuzu.yuzu_emu.R | ||
| 16 | import org.yuzu.yuzu_emu.YuzuApplication | ||
| 17 | import org.yuzu.yuzu_emu.databinding.DialogListItemBinding | ||
| 18 | import org.yuzu.yuzu_emu.model.CabinetMode | ||
| 19 | import org.yuzu.yuzu_emu.adapters.CabinetLauncherDialogAdapter.CabinetModeViewHolder | ||
| 20 | import org.yuzu.yuzu_emu.model.AppletInfo | ||
| 21 | import org.yuzu.yuzu_emu.model.Game | ||
| 22 | |||
| 23 | class 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 | |||
| 4 | package org.yuzu.yuzu_emu.fragments | ||
| 5 | |||
| 6 | import android.os.Bundle | ||
| 7 | import android.view.LayoutInflater | ||
| 8 | import android.view.View | ||
| 9 | import android.view.ViewGroup | ||
| 10 | import androidx.core.view.ViewCompat | ||
| 11 | import androidx.core.view.WindowInsetsCompat | ||
| 12 | import androidx.core.view.updatePadding | ||
| 13 | import androidx.fragment.app.Fragment | ||
| 14 | import androidx.fragment.app.activityViewModels | ||
| 15 | import androidx.navigation.findNavController | ||
| 16 | import androidx.recyclerview.widget.GridLayoutManager | ||
| 17 | import com.google.android.material.transition.MaterialSharedAxis | ||
| 18 | import org.yuzu.yuzu_emu.R | ||
| 19 | import org.yuzu.yuzu_emu.adapters.AppletAdapter | ||
| 20 | import org.yuzu.yuzu_emu.databinding.FragmentAppletLauncherBinding | ||
| 21 | import org.yuzu.yuzu_emu.model.Applet | ||
| 22 | import org.yuzu.yuzu_emu.model.AppletInfo | ||
| 23 | import org.yuzu.yuzu_emu.model.HomeViewModel | ||
| 24 | |||
| 25 | class 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 | |||
| 4 | package org.yuzu.yuzu_emu.fragments | ||
| 5 | |||
| 6 | import android.app.Dialog | ||
| 7 | import android.os.Bundle | ||
| 8 | import android.view.LayoutInflater | ||
| 9 | import android.view.View | ||
| 10 | import android.view.ViewGroup | ||
| 11 | import androidx.fragment.app.DialogFragment | ||
| 12 | import androidx.recyclerview.widget.LinearLayoutManager | ||
| 13 | import com.google.android.material.dialog.MaterialAlertDialogBuilder | ||
| 14 | import org.yuzu.yuzu_emu.R | ||
| 15 | import org.yuzu.yuzu_emu.adapters.CabinetLauncherDialogAdapter | ||
| 16 | import org.yuzu.yuzu_emu.databinding.DialogListBinding | ||
| 17 | |||
| 18 | class 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 | |||
| 30 | import com.google.android.material.transition.MaterialSharedAxis | 30 | import com.google.android.material.transition.MaterialSharedAxis |
| 31 | import org.yuzu.yuzu_emu.BuildConfig | 31 | import org.yuzu.yuzu_emu.BuildConfig |
| 32 | import org.yuzu.yuzu_emu.HomeNavigationDirections | 32 | import org.yuzu.yuzu_emu.HomeNavigationDirections |
| 33 | import org.yuzu.yuzu_emu.NativeLibrary | ||
| 33 | import org.yuzu.yuzu_emu.R | 34 | import org.yuzu.yuzu_emu.R |
| 34 | import org.yuzu.yuzu_emu.adapters.HomeSettingAdapter | 35 | import org.yuzu.yuzu_emu.adapters.HomeSettingAdapter |
| 35 | import org.yuzu.yuzu_emu.databinding.FragmentHomeSettingsBinding | 36 | import org.yuzu.yuzu_emu.databinding.FragmentHomeSettingsBinding |
| @@ -41,6 +42,7 @@ import org.yuzu.yuzu_emu.model.HomeViewModel | |||
| 41 | import org.yuzu.yuzu_emu.ui.main.MainActivity | 42 | import org.yuzu.yuzu_emu.ui.main.MainActivity |
| 42 | import org.yuzu.yuzu_emu.utils.FileUtil | 43 | import org.yuzu.yuzu_emu.utils.FileUtil |
| 43 | import org.yuzu.yuzu_emu.utils.GpuDriverHelper | 44 | import org.yuzu.yuzu_emu.utils.GpuDriverHelper |
| 45 | import org.yuzu.yuzu_emu.utils.Log | ||
| 44 | 46 | ||
| 45 | class HomeSettingsFragment : Fragment() { | 47 | class 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 | |||
| 8 | import android.content.Intent | 8 | import android.content.Intent |
| 9 | import android.net.Uri | 9 | import android.net.Uri |
| 10 | import android.os.Bundle | 10 | import android.os.Bundle |
| 11 | import android.text.Html | ||
| 11 | import androidx.fragment.app.DialogFragment | 12 | import androidx.fragment.app.DialogFragment |
| 12 | import androidx.fragment.app.FragmentActivity | 13 | import androidx.fragment.app.FragmentActivity |
| 13 | import androidx.fragment.app.activityViewModels | 14 | import 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 | |||
| 4 | package org.yuzu.yuzu_emu.model | ||
| 5 | |||
| 6 | import androidx.annotation.DrawableRes | ||
| 7 | import androidx.annotation.StringRes | ||
| 8 | import org.yuzu.yuzu_emu.R | ||
| 9 | |||
| 10 | data 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 | ||
| 19 | enum 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 | ||
| 45 | enum 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 |
| 13 | class Game( | 13 | class 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 | |||
| 14 | import kotlinx.coroutines.flow.StateFlow | 14 | import kotlinx.coroutines.flow.StateFlow |
| 15 | import kotlinx.coroutines.launch | 15 | import kotlinx.coroutines.launch |
| 16 | import kotlinx.coroutines.withContext | 16 | import kotlinx.coroutines.withContext |
| 17 | import kotlinx.serialization.ExperimentalSerializationApi | ||
| 18 | import kotlinx.serialization.MissingFieldException | ||
| 19 | import kotlinx.serialization.decodeFromString | 17 | import kotlinx.serialization.decodeFromString |
| 20 | import kotlinx.serialization.json.Json | 18 | import kotlinx.serialization.json.Json |
| 21 | import org.yuzu.yuzu_emu.NativeLibrary | 19 | import org.yuzu.yuzu_emu.NativeLibrary |
| 22 | import org.yuzu.yuzu_emu.YuzuApplication | 20 | import org.yuzu.yuzu_emu.YuzuApplication |
| 23 | import org.yuzu.yuzu_emu.utils.GameHelper | 21 | import org.yuzu.yuzu_emu.utils.GameHelper |
| 22 | import org.yuzu.yuzu_emu.utils.GameMetadata | ||
| 24 | 23 | ||
| 25 | @OptIn(ExperimentalSerializationApi::class) | ||
| 26 | class GamesViewModel : ViewModel() { | 24 | class 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 | |||
| 4 | package org.yuzu.yuzu_emu.utils | ||
| 5 | |||
| 6 | import android.view.InputDevice | ||
| 7 | import android.view.KeyEvent | ||
| 8 | import android.view.MotionEvent | ||
| 9 | |||
| 10 | /** | ||
| 11 | * Some controllers have incorrect mappings. This class has special-case fixes for them. | ||
| 12 | */ | ||
| 13 | class 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 | |||
| 18 | import coil.memory.MemoryCache | 18 | import coil.memory.MemoryCache |
| 19 | import coil.request.ImageRequest | 19 | import coil.request.ImageRequest |
| 20 | import coil.request.Options | 20 | import coil.request.Options |
| 21 | import org.yuzu.yuzu_emu.NativeLibrary | ||
| 22 | import org.yuzu.yuzu_emu.R | 21 | import org.yuzu.yuzu_emu.R |
| 23 | import org.yuzu.yuzu_emu.YuzuApplication | 22 | import org.yuzu.yuzu_emu.YuzuApplication |
| 24 | import org.yuzu.yuzu_emu.model.Game | 23 | import 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 | |||
| 4 | package org.yuzu.yuzu_emu.utils | ||
| 5 | |||
| 6 | object 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 | ||
| 4 | package org.yuzu.yuzu_emu.utils | 4 | package org.yuzu.yuzu_emu.utils |
| 5 | 5 | ||
| 6 | import android.view.InputDevice | ||
| 6 | import android.view.KeyEvent | 7 | import android.view.KeyEvent |
| 7 | import android.view.MotionEvent | 8 | import android.view.MotionEvent |
| 8 | import kotlin.math.sqrt | 9 | import kotlin.math.sqrt |
| 9 | import org.yuzu.yuzu_emu.NativeLibrary | 10 | import org.yuzu.yuzu_emu.NativeLibrary |
| 10 | 11 | ||
| 11 | class InputHandler { | 12 | object 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 | ||
| 4 | package org.yuzu.yuzu_emu.utils | 4 | package org.yuzu.yuzu_emu.utils |
| 5 | 5 | ||
| 6 | import android.util.Log | ||
| 7 | import 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 | */ | ||
| 14 | object Log { | 6 | object 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 | ||
| 21 | set_property(TARGET yuzu-android PROPERTY IMPORTED_LOCATION ${FFmpeg_LIBRARY_DIR}) | 24 | set_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 | |||
| 12 | struct 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 | |||
| 21 | std::unordered_map<std::string, RomMetadata> m_rom_metadata_cache; | ||
| 22 | |||
| 23 | RomMetadata 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 | |||
| 64 | RomMetadata 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 | |||
| 72 | extern "C" { | ||
| 73 | |||
| 74 | jstring 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 | |||
| 79 | jstring 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 | |||
| 84 | jstring 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 | |||
| 89 | jstring 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 | |||
| 94 | jbyteArray 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 | |||
| 103 | jboolean 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 | |||
| 108 | void 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 | ||
| 69 | namespace { | 64 | static EmulationSession s_instance; |
| 70 | 65 | ||
| 71 | class EmulationSession final { | 66 | EmulationSession::EmulationSession() { |
| 72 | public: | 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() { | 70 | EmulationSession& EmulationSession::GetInstance() { |
| 88 | return m_system; | 71 | return s_instance; |
| 89 | } | 72 | } |
| 90 | 73 | ||
| 91 | const EmuWindow_Android& Window() const { | 74 | const Core::System& EmulationSession::System() const { |
| 92 | return *m_window; | 75 | return m_system; |
| 93 | } | 76 | } |
| 94 | 77 | ||
| 95 | EmuWindow_Android& Window() { | 78 | Core::System& EmulationSession::System() { |
| 96 | return *m_window; | 79 | return m_system; |
| 97 | } | 80 | } |
| 98 | 81 | ||
| 99 | ANativeWindow* NativeWindow() const { | 82 | const EmuWindow_Android& EmulationSession::Window() const { |
| 100 | return m_native_window; | 83 | return *m_window; |
| 101 | } | 84 | } |
| 102 | 85 | ||
| 103 | void SetNativeWindow(ANativeWindow* native_window) { | 86 | EmuWindow_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) { | 90 | ANativeWindow* 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; | 94 | void 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()) { | 98 | int 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) { | 162 | void 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; | 194 | bool EmulationSession::IsRunning() const { |
| 195 | return m_is_running; | ||
| 196 | } | ||
| 317 | 197 | ||
| 318 | // Unload user input. | 198 | bool 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 | 202 | const 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. | 207 | void 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() { | 214 | void 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()); | 250 | void 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 | |||
| 266 | Core::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) { | 312 | void 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() { | 335 | void 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) { | 341 | void 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) { | 347 | void 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(); | 353 | void 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 | |||
| 392 | bool 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 | ||
| 470 | private: | 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) { | 406 | void 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); | 411 | void 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 | ||
| 504 | private: | 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 | ||
| 524 | private: | 441 | void 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 | 446 | SoftwareKeyboard::AndroidKeyboard* EmulationSession::SoftwareKeyboard() { |
| 548 | std::shared_ptr<Common::DynamicLibrary> m_vulkan_library; | 447 | return m_software_keyboard; |
| 448 | } | ||
| 549 | 449 | ||
| 550 | // Synchronization | 450 | void 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; | 458 | void EmulationSession::OnEmulationStarted() { |
| 459 | JNIEnv* env = IDCache::GetEnvForThread(); | ||
| 460 | env->CallStaticVoidMethod(IDCache::GetNativeLibraryClass(), IDCache::GetOnEmulationStarted()); | ||
| 461 | } | ||
| 557 | 462 | ||
| 558 | } // Anonymous namespace | 463 | void 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 | ||
| 560 | static Core::SystemResultStatus RunEmulation(const std::string& filepath) { | 469 | static 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 | ||
| 660 | void Java_org_yuzu_yuzu_1emu_NativeLibrary_resetRomMetadata(JNIEnv* env, jclass clazz) { | ||
| 661 | EmulationSession::GetInstance().ResetRomMetadata(); | ||
| 662 | } | ||
| 663 | |||
| 664 | jboolean Java_org_yuzu_yuzu_1emu_NativeLibrary_isRunning(JNIEnv* env, jclass clazz) { | 565 | jboolean 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 | ||
| 769 | jbyteArray Java_org_yuzu_yuzu_1emu_NativeLibrary_getIcon(JNIEnv* env, jclass clazz, | 670 | void 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 | |||
| 778 | jstring 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 | |||
| 784 | jstring Java_org_yuzu_yuzu_1emu_NativeLibrary_getDescription(JNIEnv* env, jclass clazz, | ||
| 785 | jstring j_filename) { | ||
| 786 | return j_filename; | ||
| 787 | } | ||
| 788 | |||
| 789 | jstring Java_org_yuzu_yuzu_1emu_NativeLibrary_getGameId(JNIEnv* env, jclass clazz, | ||
| 790 | jstring j_filename) { | ||
| 791 | return j_filename; | ||
| 792 | } | ||
| 793 | |||
| 794 | jstring Java_org_yuzu_yuzu_1emu_NativeLibrary_getRegions(JNIEnv* env, jclass clazz, | ||
| 795 | jstring j_filename) { | ||
| 796 | return env->NewStringUTF(""); | ||
| 797 | } | ||
| 798 | |||
| 799 | jstring Java_org_yuzu_yuzu_1emu_NativeLibrary_getCompany(JNIEnv* env, jclass clazz, | ||
| 800 | jstring j_filename) { | ||
| 801 | return env->NewStringUTF(""); | ||
| 802 | } | ||
| 803 | |||
| 804 | jboolean 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 | |||
| 809 | void 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 | ||
| 816 | jint Java_org_yuzu_yuzu_1emu_NativeLibrary_defaultCPUCore(JNIEnv* env, jclass clazz) { | 678 | jint 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 | ||
| 763 | jstring 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 | |||
| 780 | void 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 | |||
| 786 | void 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 | |||
| 792 | jboolean 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 | |||
| 16 | class EmulationSession final { | ||
| 17 | public: | ||
| 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 | |||
| 55 | private: | ||
| 56 | static void LoadDiskCacheProgress(VideoCore::LoadCallbackStage stage, int progress, int max); | ||
| 57 | static void OnEmulationStarted(); | ||
| 58 | static void OnEmulationStopped(Core::SystemResultStatus result); | ||
| 59 | |||
| 60 | private: | ||
| 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 | |||
| 9 | extern "C" { | ||
| 10 | |||
| 11 | void Java_org_yuzu_yuzu_1emu_utils_Log_debug(JNIEnv* env, jobject obj, jstring jmessage) { | ||
| 12 | LOG_DEBUG(Frontend, "{}", GetJString(env, jmessage)); | ||
| 13 | } | ||
| 14 | |||
| 15 | void Java_org_yuzu_yuzu_1emu_utils_Log_warning(JNIEnv* env, jobject obj, jstring jmessage) { | ||
| 16 | LOG_WARNING(Frontend, "{}", GetJString(env, jmessage)); | ||
| 17 | } | ||
| 18 | |||
| 19 | void Java_org_yuzu_yuzu_1emu_utils_Log_info(JNIEnv* env, jobject obj, jstring jmessage) { | ||
| 20 | LOG_INFO(Frontend, "{}", GetJString(env, jmessage)); | ||
| 21 | } | ||
| 22 | |||
| 23 | void Java_org_yuzu_yuzu_1emu_utils_Log_error(JNIEnv* env, jobject obj, jstring jmessage) { | ||
| 24 | LOG_ERROR(Frontend, "{}", GetJString(env, jmessage)); | ||
| 25 | } | ||
| 26 | |||
| 27 | void 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">اختر مل٠<b>prod.keys</b> من الزر ادناه</string> | ||
| 17 | <string name="select_keys">إختيار Ø§Ù„Ù…ÙØ§ØªÙŠØ</string> | ||
| 18 | <string name="games">الألعاب</string> | ||
| 19 | <string name="games_description">اختر مجلد <b>العابك</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">ئەم نەرمەکاڵایە یارییەکانی کۆنسۆلی نینتێندۆ سویچ کارپێدەکات. هیچ ناونیشانێکی یاری Ùˆ کلیلی تێدا نییە..<br /><br />Ù¾ÛŽØ´ ئەوەی دەست Ù¾ÛŽ بکەیت، تکایە شوێنی ÙØ§ÛŒÙ„ÛŒ <![CDATA[<b> prod.keys </b>]]> دیاریبکە Ù„Û• Ù†ÛŽÙˆ کۆگای ئامێرەکەت.<br /><br /><![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">Ùێربە Ú†Û†Ù† <b>yuzu</b> ڕێکبخەیت Ùˆ بچییە ناو ئیمولەیشن.</string> | ||
| 15 | <string name="get_started">دەست پێبکە</string> | ||
| 16 | <string name="keys">کلیلەکان</string> | ||
| 17 | <string name="keys_description">ÙØ§ÛŒÙ„ÛŒ <b>prod.keys</b> هەڵبژێرە بە دوگمەی خوارەوە.</string> | ||
| 18 | <string name="select_keys">کلیلەکان هەڵبژێرە</string> | ||
| 19 | <string name="games">یاریەکان</string> | ||
| 20 | <string name="games_description">Ùۆڵدەری <b>Games</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.<br /><br />Bevor du beginnst, bitte halte deine <![CDATA[<b> prod.keys </b>]]> auf deinem Gerät bereit. .<br /><br /><![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.<br /><br />Bevor du beginnst, bitte halte deine <![CDATA[<b> prod.keys </b>]]> auf deinem Gerät bereit. .<br /><br /><![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.<br /><br />Antes de empezar, por favor, localice el archivo <![CDATA[<b> prod.keys </b>]]>en el almacenamiento de su dispositivo..<br /><br /><![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.<br /><br />Antes de empezar, por favor, localice el archivo <![CDATA[<b> prod.keys </b>]]>en el almacenamiento de su dispositivo..<br /><br /><![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.<br /><br />Avant de commencer, veuillez localiser votre fichier <![CDATA[<b> prod.keys </b>]]> sur le stockage de votre appareil.<br /><br /><![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.<br /><br />Avant de commencer, veuillez localiser votre fichier <![CDATA[<b> prod.keys </b>]]> sur le stockage de votre appareil.<br /><br /><![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 <b>de Jeux</b> avec le bouton ci-dessous.</string> | 20 | <string name="games_description">Sélectionnez votre dossier <b>de Jeux</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. ××£ משחק ×ו ×§×‘×¦×™× ×‘×¢×œ×™ זכויות ×™×•×¦×¨×™× × ×›×œ×œ×™×.<br /><br /> ×œ×¤× ×™ ש×ת/×” מתחיל בבקשה ×ž×¦× ×ת קובץ <![CDATA[<b>prod.keys</b>]]> על המכשיר.<br /><br /><![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">למד ×יך להפעיל <b>yuzu</b> וקפוץ ישר ל×מולציה.</string> | ||
| 15 | <string name="get_started">כדי להתחיל</string> | ||
| 16 | <string name="keys">מפתחות</string> | ||
| 17 | <string name="keys_description">בחר ×ת קובץ ×” <b>prod.keys</b> שלך ×¢× ×”×›×¤×ª×•×¨ למטה.</string> | ||
| 18 | <string name="select_keys">בחר מפתחות</string> | ||
| 19 | <string name="games">משחקי×</string> | ||
| 20 | <string name="games_description">בחר ×ת התיקיית ×” <b>Games</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. .<br /><br />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<br /><br /><![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 <b>yuzu</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) <b>prod.keys</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"> | ||
| 21 | Válaszd ki a(z) <b>Games</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.<br /><br />Prima di iniziare, perfavore individua il file <![CDATA[<b>prod.keys </b>]]> nella memoria del tuo dispositivo.<br /><br /><![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.<br /><br />Prima di iniziare, perfavore individua il file <![CDATA[<b>prod.keys </b>]]> nella memoria del tuo dispositivo.<br /><br /><![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 <b>yuzu</b> e passare all\'emulazione.</string> | 14 | <string name="welcome_description">Scopri come configurare <b>yuzu</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 <b>prod.keys</b> con il pulsante in basso.</string> | 17 | <string name="keys_description">Seleziona il tuo file <b>prod.keys</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 <b>Games</b> con il pulsante in basso.</string> | 20 | <string name="games_description">Seleziona la cartella <b>Games</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用ã®ã‚²ãƒ¼ãƒ を実行ã—ã¾ã™ã€‚ ゲームソフトやã‚ーã¯å«ã¾ã‚Œã¾ã›ã‚“。<br /><br />事å‰ã«ã€ <![CDATA[<b> prod.keys </b>]]> ファイルをデãƒã‚¤ã‚¹ã®ã‚¹ãƒˆãƒ¬ãƒ¼ã‚¸ã«é…ç½®ã—ã¦ãŠã„ã¦ãã ã•ã„。<br /><br /><![CDATA[<a href=\"https://yuzu-emu.org/help/quickstart\">詳細</a>]]></string> | 4 | <string name="app_disclaimer">ã“ã®ã‚½ãƒ•トウェアã§ã¯ã€Nintendo Switchã®ã‚²ãƒ¼ãƒ を実行ã§ãã¾ã™ã€‚ ゲームソフトやã‚ーã¯å«ã¾ã‚Œã¾ã›ã‚“。<br /><br />事å‰ã«ã€ <![CDATA[<b> prod.keys </b>]]> ファイルをストレージã«é…ç½®ã—ã¦ãŠã„ã¦ãã ã•ã„。<br /><br /><![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">下ã®ãƒœã‚¿ãƒ³ã‹ã‚‰ <b>prod.keys</b> ãƒ•ã‚¡ã‚¤ãƒ«ã‚’é¸æŠžã—ã¦ãã ã•ã„。</string> | 17 | <string name="keys_description">下ã®ãƒœã‚¿ãƒ³ã‹ã‚‰ <b>prod.keys</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">下ã®ãƒœã‚¿ãƒ³ã‹ã‚‰<b>ゲーム</b>ãŒã‚ã‚‹ãƒ•ã‚©ãƒ«ãƒ€ã‚’é¸æŠžã—ã¦ãã ã•ã„。</string> | 20 | <string name="games_description">下ã®ãƒœã‚¿ãƒ³ã‹ã‚‰<b>ゲーム</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는 í¬í•¨ë˜ì–´ 있지 않습니다.<br /><br />시작하기 ì „ì— ìž¥ì¹˜ ì €ìž¥ì†Œì—서 <![CDATA[<b> prod.keys </b>]]> 파ì¼ì„ 찾아주세요.<br /><br /><![CDATA[<a href=\"https://yuzu-emu.org/help/quickstart\">ìžì„¸ížˆ 알아보기</a>]]></string> | 4 | <string name="app_disclaimer">ì´ ì†Œí”„íŠ¸ì›¨ì–´ëŠ” Nintendo Switch ê²Œìž„ì„ ì‹¤í–‰í•©ë‹ˆë‹¤. 게임 타ì´í‹€ì´ë‚˜ 키는 í¬í•¨ë˜ì–´ 있지 않습니다.<br /><br />시작하기 ì „ì— ìž¥ì¹˜ ì €ìž¥ì†Œì—서 <![CDATA[<b> prod.keys </b>]]> 파ì¼ì„ 찾아주세요.<br /><br /><![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"><b>yuzu</b> 를 ì„¤ì •í•˜ê³ ì—ë®¬ë ˆì´ì…˜ìœ¼ë¡œ ì´ë™í•˜ëŠ” ë°©ë²•ì„ ì•Œì•„ë³´ì„¸ìš”.</string> | 14 | <string name="welcome_description"><b>yuzu</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">아래 ë²„íŠ¼ì„ ì‚¬ìš©í•˜ì—¬ <b>prod.keys</b> 파ì¼ì„ ì„ íƒí•©ë‹ˆë‹¤.</string> | 17 | <string name="keys_description">아래 버튼으로 <b>prod.keys</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">아래 버튼으로 <b>게임</b> í´ë”를 ì„ íƒí•©ë‹ˆë‹¤.</string> | 20 | <string name="games_description">아래 버튼으로 <b>게임</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.<br /><br />Før du begynner, må du finne <![CDATA[<b> prod.keys </b>]]> filen din på enhetslagringen.<br /><br /><![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.<br /><br />Før du begynner, må du finne <![CDATA[<b> prod.keys </b>]]> filen din på enhetslagringen.<br /><br /><![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.<br /><br />Zanim zaczniesz, wybierz plik kluczy <![CDATA[<b> prod.keys </b>]]> z katalogu w pamięci masowej.<br /><br /><![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.<br /><br />Zanim zaczniesz, wybierz plik kluczy <![CDATA[<b> prod.keys </b>]]> z katalogu w pamięci masowej.<br /><br /><![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. <br /><br />Antes de começares, por favor localiza o ficheiro <![CDATA[1 prod.keys 1]]> no armazenamento do teu dispositivo.<br /><br /><![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. <br /><br />Antes de começar, por favor localize o arquivo <![CDATA[1 prod.keys 1]]> no armazenamento de seu dispositivo.<br /><br /><![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 <b>yuzu</b> e arranca a emulação.</string> | 14 | <string name="welcome_description">Aprenda como configurar o <b>yuzu</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 <b>prod.keys</b> com o botão abaixo.</string> | 17 | <string name="keys_description">Selecione seu arquivo <b>prod.keys</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 <b>Games</b> com o botão abaixo.</string> | 20 | <string name="games_description">Seleciona sua pasta <b>Jogos</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. <br /><br />Antes de começares, por favor localiza o ficheiro <![CDATA[1 prod.keys 1]]> no armazenamento do teu dispositivo.<br /><br /><![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. <br /><br />Antes de começares, por favor localiza o ficheiro <![CDATA[1 prod.keys 1]]> no armazenamento do teu dispositivo.<br /><br /><![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. Мы не предоÑтавлÑем Ñами игры или ключи.<br /><br />Перед началом работы найдите файл <![CDATA[<b> prod.keys </b>]]> в хранилище уÑтройÑтва..<br /><br /><![CDATA[<a href=\"https://yuzu-emu.org/help/quickstart\">Узнать больше</a>]]></string> | 4 | <string name="app_disclaimer">Ðто программное обеÑпечение позволÑет запуÑкать игры Ð´Ð»Ñ Ð¸Ð³Ñ€Ð¾Ð²Ð¾Ð¹ конÑоли Nintendo Switch. Мы не предоÑтавлÑем Ñами игры или ключи.<br /><br />Перед началом работы найдите файл <![CDATA[<b> prod.keys </b>]]> в хранилище уÑтройÑтва..<br /><br /><![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. Ми не надаємо Ñамі ігри або ключі.<br /><br />Перед початком роботи знайдіть ваш файл <![CDATA[<b> prod.keys </b>]]> у Ñховищі приÑтрою.<br /><br /><![CDATA[<a href=\"https://yuzu-emu.org/help/quickstart\">ДізнатиÑÑ Ð±Ñ–Ð»ÑŒÑˆÐµ</a>]]></string> | 4 | <string name="app_disclaimer">Це програмне Ð·Ð°Ð±ÐµÐ·Ð¿ÐµÑ‡ÐµÐ½Ð½Ñ Ð´Ð¾Ð·Ð²Ð¾Ð»ÑÑ” запуÑкати ігри Ð´Ð»Ñ Ñ–Ð³Ñ€Ð¾Ð²Ð¾Ñ— конÑолі Nintendo Switch. Ми не надаємо Ñамі ігри або ключі.<br /><br />Перед початком роботи знайдіть ваш файл <![CDATA[<b> prod.keys </b>]]> у Ñховищі приÑтрою.<br /><br /><![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.<br /><br />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.<br /><br /><![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 <b>yuzu</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 <b>prod.keys</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 <b>Game</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 游æˆï¼Œä½†ä¸åŒ…å«ä»»ä½•游æˆå’Œå¯†é’¥æ–‡ä»¶ã€‚<br /><br />在开始å‰ï¼Œè¯·æ‰¾åˆ°æ”¾ç½®äºŽè®¾å¤‡å˜å‚¨ä¸çš„ <![CDATA[<b> prod.keys </b>]]> 文件。<br /><br /><![CDATA[<a href=\"https://yuzu-emu.org/help/quickstart\">了解更多</a>]]></string> | 4 | <string name="app_disclaimer">æ¤è½¯ä»¶å¯ä»¥è¿è¡Œ Nintendo Switch 游æˆï¼Œä½†ä¸åŒ…å«ä»»ä½•游æˆå’Œå¯†é’¥æ–‡ä»¶ã€‚<br /><br />在开始å‰ï¼Œè¯·æ‰¾åˆ°æ”¾ç½®äºŽè®¾å¤‡å˜å‚¨ä¸çš„ <![CDATA[<b> prod.keys </b>]]> 文件。<br /><br /><![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">使用下方的按钮æ¥é€‰æ‹©ä½ çš„ <b>prod.keys</b> 文件。</string> | 17 | <string name="keys_description">使用下方的按钮æ¥é€‰æ‹©ä½ çš„ <b>prod.keys</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">ä½¿ç”¨ä¸‹æ–¹çš„æŒ‰é’®é€‰æ‹©ä½ çš„ <b>游æˆ</b> 文件夹。</string> | 20 | <string name="games_description">ä½¿ç”¨ä¸‹æ–¹çš„æŒ‰é’®é€‰æ‹©ä½ çš„<b>游æˆ</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 ä¸»æ©ŸéŠæˆ²ï¼Œä½†ä¸åŒ…å«ä»»ä½•éŠæˆ²å’Œé‡‘鑰。<br /><br />在您開始å‰ï¼Œè«‹æ‰¾åˆ°æ”¾ç½®æ–¼æ‚¨çš„è£ç½®å„²å˜ç©ºé–“çš„ <![CDATA[<b> prod.keys </b>]]> 檔案。<br /><br /><![CDATA[<a href=\"https://yuzu-emu.org/help/quickstart\">深入çžè§£</a>]]></string> | 4 | <string name="app_disclaimer">æ¤è»Ÿé«”å¯ä»¥åŸ·è¡Œ Nintendo Switch ä¸»æ©ŸéŠæˆ²ï¼Œä½†ä¸åŒ…å«ä»»ä½•éŠæˆ²å’Œé‡‘鑰。<br /><br />在您開始å‰ï¼Œè«‹æ‰¾åˆ°æ”¾ç½®æ–¼æ‚¨çš„è£ç½®å„²å˜ç©ºé–“çš„ <![CDATA[<b> prod.keys </b>]]> 檔案。<br /><br /><![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 | ||
| 6 | namespace Common::FS::Android { | 7 | namespace 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 | ||
| 44 | void UnRegisterCallbacks() { | 49 | void 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 | ||
| 55 | bool IsContentUri(const std::string& path) { | 63 | bool 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 | } | ||
| 127 | ANDROID_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 | |||
| 20 | namespace Common::FS::Android { | 26 | namespace Common::FS::Android { |
| 21 | 27 | ||
| 22 | static JavaVM* g_jvm = nullptr; | 28 | static JavaVM* g_jvm = nullptr; |
| 23 | static jclass native_library = nullptr; | 29 | static 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; |
| 35 | ANDROID_SINGLE_PATH_HELPER_FUNCTIONS(FH) | ||
| 28 | ANDROID_SINGLE_PATH_DETERMINE_FUNCTIONS(FR) | 36 | ANDROID_SINGLE_PATH_DETERMINE_FUNCTIONS(FR) |
| 29 | ANDROID_STORAGE_FUNCTIONS(FS) | 37 | ANDROID_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 | ||
| 34 | enum class OpenMode { | 43 | enum 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); | ||
| 76 | ANDROID_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 | ||
| 403 | std::string_view GetParentPath(std::string_view path) { | 403 | std::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 | |||
| 17 | namespace Common { | 21 | namespace 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 { | |||
| 35 | static_assert(sizeof(RomFSHeader) == 0x50, "RomFSHeader has incorrect size."); | 35 | static_assert(sizeof(RomFSHeader) == 0x50, "RomFSHeader has incorrect size."); |
| 36 | 36 | ||
| 37 | struct DirectoryEntry { | 37 | struct 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 | }; |
| 44 | static_assert(sizeof(DirectoryEntry) == 0x14, "DirectoryEntry has incorrect size."); | 45 | static_assert(sizeof(DirectoryEntry) == 0x18, "DirectoryEntry has incorrect size."); |
| 45 | 46 | ||
| 46 | struct FileEntry { | 47 | struct 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 | ||
| 67 | void ProcessFile(VirtualFile file, std::size_t file_offset, std::size_t data_offset, | 68 | void 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 | ||
| 82 | void ProcessDirectory(VirtualFile file, std::size_t dir_offset, std::size_t file_offset, | 80 | void 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 | ||
| 107 | VirtualDir ExtractRomFS(VirtualFile file, RomFSExtractionType type) { | 103 | VirtualDir 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 | ||
| 139 | VirtualFile CreateRomFS(VirtualDir dir, VirtualDir ext) { | 125 | VirtualFile 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 | ||
| 8 | namespace FileSys { | 8 | namespace FileSys { |
| 9 | 9 | ||
| 10 | enum 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 |
| 18 | VirtualDir ExtractRomFS(VirtualFile file, | 12 | VirtualDir 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 | ||
| 306 | enum 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 |
| 306 | struct NpadStyleTag { | 315 | struct NpadStyleTag { |
| 307 | union { | 316 | union { |
| @@ -385,16 +394,12 @@ struct NpadGcTriggerState { | |||
| 385 | }; | 394 | }; |
| 386 | static_assert(sizeof(NpadGcTriggerState) == 0x10, "NpadGcTriggerState is an invalid size"); | 395 | static_assert(sizeof(NpadGcTriggerState) == 0x10, "NpadGcTriggerState is an invalid size"); |
| 387 | 396 | ||
| 388 | // This is nn::hid::system::NpadBatteryLevel | ||
| 389 | using NpadBatteryLevel = u32; | ||
| 390 | static_assert(sizeof(NpadBatteryLevel) == 0x4, "NpadBatteryLevel is an invalid size"); | ||
| 391 | |||
| 392 | // This is nn::hid::system::NpadPowerInfo | 397 | // This is nn::hid::system::NpadPowerInfo |
| 393 | struct NpadPowerInfo { | 398 | struct 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 | }; |
| 399 | static_assert(sizeof(NpadPowerInfo) == 0xC, "NpadPowerInfo is an invalid size"); | 404 | static_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 | |||
| 702 | void ISelfController::SaveCurrentScreenshot(HLERequestContext& ctx) { | 704 | void 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 | ||
| 1688 | void 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 | |||
| 1675 | void ILibraryAppletSelfAccessor::GetMainAppletAvailableUsers(HLERequestContext& ctx) { | 1696 | void 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 | ||
| 1715 | void 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 | |||
| 1694 | void ILibraryAppletSelfAccessor::PushInShowAlbum() { | 1723 | void 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 | ||
| 1791 | void 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 | |||
| 1762 | IAppletCommonFunctions::IAppletCommonFunctions(Core::System& system_) | 1846 | IAppletCommonFunctions::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 | ||
| 229 | Result AlbumManager::SaveScreenShot(ApplicationAlbumEntry& out_entry, | 229 | Result 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 | ||
| 235 | Result AlbumManager::SaveScreenShot(ApplicationAlbumEntry& out_entry, | 236 | Result 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 | ||
| 410 | static void PNGToMemory(void* context, void* png, int len) { | 412 | void AlbumManager::FlipVerticallyOnWrite(bool flip) { |
| 413 | stbi_flip_vertically_on_write(flip); | ||
| 414 | } | ||
| 415 | |||
| 416 | static 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 | ||
| 416 | Result AlbumManager::SaveImage(ApplicationAlbumEntry& out_entry, std::span<const u8> image, | 422 | Result 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 | |||
| 70 | private: | 73 | private: |
| 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 | |||
| 59 | void IScreenShotService::SaveEditedScreenShotEx1(HLERequestContext& ctx) { | 62 | void 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 | ||
| 10 | namespace Service::Capture { | 12 | namespace 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 | ||
| 105 | void 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 | ||
| 12 | namespace Service::Capture { | 12 | namespace Service::Capture { |
| 13 | enum class AlbumReportOption : s32; | ||
| 13 | class AlbumManager; | 14 | class AlbumManager; |
| 14 | 15 | ||
| 15 | class IScreenShotApplicationService final : public ServiceFramework<IScreenShotApplicationService> { | 16 | class 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 | |||
| 21 | private: | 24 | private: |
| 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 | ||
| 925 | void RasterizerVulkan::HandleTransformFeedback() { | 925 | void 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 | ||
| 5131 | void 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 | |||
| 5153 | void 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 { | |||
| 137 | class Record; | 138 | class Record; |
| 138 | } | 139 | } |
| 139 | 140 | ||
| 141 | class VolumeButton : public QPushButton { | ||
| 142 | Q_OBJECT | ||
| 143 | public: | ||
| 144 | explicit VolumeButton(QWidget* parent = nullptr) : QPushButton(parent), scroll_multiplier(1) { | ||
| 145 | connect(&scroll_timer, &QTimer::timeout, this, &VolumeButton::ResetMultiplier); | ||
| 146 | } | ||
| 147 | |||
| 148 | signals: | ||
| 149 | void VolumeChanged(); | ||
| 150 | |||
| 151 | protected: | ||
| 152 | void wheelEvent(QWheelEvent* event) override; | ||
| 153 | |||
| 154 | private slots: | ||
| 155 | void ResetMultiplier(); | ||
| 156 | |||
| 157 | private: | ||
| 158 | int scroll_multiplier; | ||
| 159 | QTimer scroll_timer; | ||
| 160 | constexpr static int MaxMultiplier = 8; | ||
| 161 | }; | ||
| 162 | |||
| 140 | class GMainWindow : public QMainWindow { | 163 | class 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; |