Compare commits

...
Sign in to create a new pull request.

14 commits

Author SHA1 Message Date
OpenSauce04
1277e84794 update_checker.cpp: Use fmt::format instead of std::format
It seems that certain environments still don't have access to `std::format` yet, and I missed this because it built fine on my machine and CI passed because the code using `std::format` wasn't included in non-tagged builds.
2025-05-27 13:52:04 +01:00
OpenSauce04
41ad2ef78d Updated language translations via Transifex 2025-05-27 13:06:28 +01:00
OpenSauce04
5271966a87 update_checker.cpp: Use GitHub's tags API to get latest tag for prereleases
The `releases` API can sometimes return releases out of order if they were uploaded too close to eachother, for whatever reason.
2025-05-27 13:01:06 +01:00
OpenSauce04
1206b00779 update_checker.cpp: Add alpha and beta substrings to prerelease detection logic 2025-05-27 11:39:29 +01:00
OpenSauce04
b5b9b72638 android: Enable android:windowOptOutEdgeToEdgeEnforcement for Android 15+ 2025-05-26 21:28:38 +01:00
RedBlackAka
4c084db13a Update MoltenVK to 1.2.9 2025-05-26 19:34:07 +01:00
Kex
f22e575f57 Make argument of --username required 2025-05-26 00:13:18 +01:00
OpenSauce04
414d6f5757 android: Fixed Turbo toast appearing in situations other than toggling Turbo
+ minor code cleanup
2025-05-26 00:12:18 +01:00
PabloMK7
8da60d02af Add setting to toggle RPC server (disabled by default) (#1047) 2025-05-20 13:03:38 +01:00
OpenSauce04
2909e86696 video_core: Fixed incorrect Vulkan mode when speed unthrottled w/ vsync
When the frame limit was set to 0 (unthrottled), the Vulkan present mode would be unintentionally set to FIFO, which caps out at the monitor's refresh rate
2025-05-16 21:01:53 +01:00
OpenSauce04
851c2709a3 file_util.cpp: Removed unnecessary definitions 2025-05-16 21:01:53 +01:00
OpenSauce04
0f28165c45 file_util.cpp: Use _stat64 instead of stat where appropriate
Avoids compile failures introduced in an MSYS2 update
2025-05-16 21:01:53 +01:00
OpenSauce04
fa2c7d0c76 Updated translations via Transifex 2025-05-07 21:22:58 +01:00
PabloMK7
c94caeb9a4 Fix savestates with the OpenGL renderer 2025-05-07 21:06:16 +01:00
63 changed files with 6264 additions and 5658 deletions

View file

@ -171,16 +171,16 @@ endfunction()
function(download_moltenvk) function(download_moltenvk)
if (IOS) if (IOS)
set(MOLTENVK_PLATFORM "iOS") set(MOLTENVK_PLATFORM "static/MoltenVK.xcframework/ios-arm64")
else() else()
set(MOLTENVK_PLATFORM "macOS") set(MOLTENVK_PLATFORM "dynamic/dylib/macOS")
endif() endif()
set(MOLTENVK_DIR "${CMAKE_BINARY_DIR}/externals/MoltenVK") set(MOLTENVK_DIR "${CMAKE_BINARY_DIR}/externals/MoltenVK")
set(MOLTENVK_TAR "${CMAKE_BINARY_DIR}/externals/MoltenVK.tar") set(MOLTENVK_TAR "${CMAKE_BINARY_DIR}/externals/MoltenVK.tar")
if (NOT EXISTS ${MOLTENVK_DIR}) if (NOT EXISTS ${MOLTENVK_DIR})
if (NOT EXISTS ${MOLTENVK_TAR}) if (NOT EXISTS ${MOLTENVK_TAR})
file(DOWNLOAD https://github.com/KhronosGroup/MoltenVK/releases/download/v1.2.7-rc2/MoltenVK-all.tar file(DOWNLOAD https://github.com/KhronosGroup/MoltenVK/releases/download/v1.2.9/MoltenVK-all.tar
${MOLTENVK_TAR} SHOW_PROGRESS) ${MOLTENVK_TAR} SHOW_PROGRESS)
endif() endif()
@ -189,7 +189,7 @@ function(download_moltenvk)
endif() endif()
# Add the MoltenVK library path to the prefix so find_library can locate it. # Add the MoltenVK library path to the prefix so find_library can locate it.
list(APPEND CMAKE_PREFIX_PATH "${MOLTENVK_DIR}/MoltenVK/dylib/${MOLTENVK_PLATFORM}") list(APPEND CMAKE_PREFIX_PATH "${MOLTENVK_DIR}/MoltenVK/${MOLTENVK_PLATFORM}")
set(CMAKE_PREFIX_PATH ${CMAKE_PREFIX_PATH} PARENT_SCOPE) set(CMAKE_PREFIX_PATH ${CMAKE_PREFIX_PATH} PARENT_SCOPE)
endfunction() endfunction()

File diff suppressed because it is too large Load diff

File diff suppressed because it is too large Load diff

504
dist/languages/de.ts vendored

File diff suppressed because it is too large Load diff

464
dist/languages/el.ts vendored

File diff suppressed because it is too large Load diff

File diff suppressed because it is too large Load diff

464
dist/languages/fi.ts vendored

File diff suppressed because it is too large Load diff

464
dist/languages/fr.ts vendored

File diff suppressed because it is too large Load diff

File diff suppressed because it is too large Load diff

464
dist/languages/id.ts vendored

File diff suppressed because it is too large Load diff

464
dist/languages/it.ts vendored

File diff suppressed because it is too large Load diff

File diff suppressed because it is too large Load diff

File diff suppressed because it is too large Load diff

File diff suppressed because it is too large Load diff

464
dist/languages/nb.ts vendored

File diff suppressed because it is too large Load diff

464
dist/languages/nl.ts vendored

File diff suppressed because it is too large Load diff

File diff suppressed because it is too large Load diff

File diff suppressed because it is too large Load diff

File diff suppressed because it is too large Load diff

File diff suppressed because it is too large Load diff

472
dist/languages/sv.ts vendored

File diff suppressed because it is too large Load diff

File diff suppressed because it is too large Load diff

File diff suppressed because it is too large Load diff

File diff suppressed because it is too large Load diff

File diff suppressed because it is too large Load diff

View file

@ -25,7 +25,7 @@ class HotkeyUtility(
Hotkey.CYCLE_LAYOUT.button -> screenAdjustmentUtil.cycleLayouts() Hotkey.CYCLE_LAYOUT.button -> screenAdjustmentUtil.cycleLayouts()
Hotkey.CLOSE_GAME.button -> EmulationLifecycleUtil.closeGame() Hotkey.CLOSE_GAME.button -> EmulationLifecycleUtil.closeGame()
Hotkey.PAUSE_OR_RESUME.button -> EmulationLifecycleUtil.pauseOrResume() Hotkey.PAUSE_OR_RESUME.button -> EmulationLifecycleUtil.pauseOrResume()
Hotkey.TURBO_LIMIT.button -> TurboHelper.setTurboEnabled(!TurboHelper.isTurboSpeedEnabled()) Hotkey.TURBO_LIMIT.button -> TurboHelper.toggleTurbo(true)
Hotkey.QUICKSAVE.button -> { Hotkey.QUICKSAVE.button -> {
NativeLibrary.saveState(NativeLibrary.QUICKSAVE_SLOT) NativeLibrary.saveState(NativeLibrary.QUICKSAVE_SLOT)
Toast.makeText(context, Toast.makeText(context,

View file

@ -16,6 +16,7 @@ enum class BooleanSetting(
ALLOW_PLUGIN_LOADER("allow_plugin_loader", Settings.SECTION_SYSTEM, true), ALLOW_PLUGIN_LOADER("allow_plugin_loader", Settings.SECTION_SYSTEM, true),
SWAP_SCREEN("swap_screen", Settings.SECTION_LAYOUT, false), SWAP_SCREEN("swap_screen", Settings.SECTION_LAYOUT, false),
INSTANT_DEBUG_LOG("instant_debug_log", Settings.SECTION_DEBUG, false), INSTANT_DEBUG_LOG("instant_debug_log", Settings.SECTION_DEBUG, false),
ENABLE_RPC_SERVER("enable_rpc_server", Settings.SECTION_DEBUG, false),
CUSTOM_LAYOUT("custom_layout",Settings.SECTION_LAYOUT,false), CUSTOM_LAYOUT("custom_layout",Settings.SECTION_LAYOUT,false),
DELAY_START_LLE_MODULES("delay_start_for_lle_modules", Settings.SECTION_DEBUG, true), DELAY_START_LLE_MODULES("delay_start_for_lle_modules", Settings.SECTION_DEBUG, true),
DETERMINISTIC_ASYNC_OPERATIONS("deterministic_async_operations", Settings.SECTION_DEBUG, false), DETERMINISTIC_ASYNC_OPERATIONS("deterministic_async_operations", Settings.SECTION_DEBUG, false),

View file

@ -67,7 +67,7 @@ class SettingsActivityPresenter(private val activityView: SettingsActivityView)
//added to ensure that layout changes take effect as soon as settings window closes //added to ensure that layout changes take effect as soon as settings window closes
NativeLibrary.reloadSettings() NativeLibrary.reloadSettings()
NativeLibrary.updateFramebuffer(NativeLibrary.isPortraitMode) NativeLibrary.updateFramebuffer(NativeLibrary.isPortraitMode)
TurboHelper.reloadTurbo() // TODO: Can this go someone else? -OS TurboHelper.reloadTurbo(false) // TODO: Can this go somewhere else? -OS
} }
NativeLibrary.reloadSettings() NativeLibrary.reloadSettings()
} }

View file

@ -1473,6 +1473,15 @@ class SettingsFragmentPresenter(private val fragmentView: SettingsFragmentView)
BooleanSetting.INSTANT_DEBUG_LOG.defaultValue BooleanSetting.INSTANT_DEBUG_LOG.defaultValue
) )
) )
add(
SwitchSetting(
BooleanSetting.ENABLE_RPC_SERVER,
R.string.enable_rpc_server,
R.string.enable_rpc_server_desc,
BooleanSetting.ENABLE_RPC_SERVER.key,
BooleanSetting.ENABLE_RPC_SERVER.defaultValue
)
)
add( add(
SwitchSetting( SwitchSetting(
BooleanSetting.DELAY_START_LLE_MODULES, BooleanSetting.DELAY_START_LLE_MODULES,

View file

@ -107,7 +107,7 @@ class InputOverlay(context: Context?, attrs: AttributeSet?) : SurfaceView(contex
} }
if (button.id == NativeLibrary.ButtonType.BUTTON_TURBO && button.status == NativeLibrary.ButtonState.PRESSED) { if (button.id == NativeLibrary.ButtonType.BUTTON_TURBO && button.status == NativeLibrary.ButtonState.PRESSED) {
TurboHelper.setTurboEnabled((!TurboHelper.isTurboSpeedEnabled())) TurboHelper.toggleTurbo(true)
} }
NativeLibrary.onGamePadEvent(NativeLibrary.TouchScreenDevice, button.id, button.status) NativeLibrary.onGamePadEvent(NativeLibrary.TouchScreenDevice, button.id, button.status)

View file

@ -17,12 +17,7 @@ object TurboHelper {
return turboSpeedEnabled return turboSpeedEnabled
} }
fun setTurboEnabled(state: Boolean) { fun reloadTurbo(showToast: Boolean) {
turboSpeedEnabled = state
reloadTurbo()
}
fun reloadTurbo() {
val context = CitraApplication.appContext val context = CitraApplication.appContext
val toastMessage: String val toastMessage: String
@ -34,6 +29,17 @@ object TurboHelper {
toastMessage = context.getString(R.string.turbo_disabled_toast) toastMessage = context.getString(R.string.turbo_disabled_toast)
} }
Toast.makeText(context, toastMessage, Toast.LENGTH_SHORT).show() if (showToast) {
Toast.makeText(context, toastMessage, Toast.LENGTH_SHORT).show()
}
}
fun setTurboEnabled(state: Boolean, showToast: Boolean) {
turboSpeedEnabled = state
reloadTurbo(showToast)
}
fun toggleTurbo(showToast: Boolean) {
setTurboEnabled(!TurboHelper.isTurboSpeedEnabled(), showToast)
} }
} }

View file

@ -292,6 +292,7 @@ void Config::ReadValues() {
ReadSetting("Debugging", Settings::values.use_gdbstub); ReadSetting("Debugging", Settings::values.use_gdbstub);
ReadSetting("Debugging", Settings::values.gdbstub_port); ReadSetting("Debugging", Settings::values.gdbstub_port);
ReadSetting("Debugging", Settings::values.instant_debug_log); ReadSetting("Debugging", Settings::values.instant_debug_log);
ReadSetting("Debugging", Settings::values.enable_rpc_server);
for (const auto& service_module : Service::service_module_map) { for (const auto& service_module : Service::service_module_map) {
bool use_lle = sdl2_config->GetBoolean("Debugging", "LLE\\" + service_module.name, false); bool use_lle = sdl2_config->GetBoolean("Debugging", "LLE\\" + service_module.name, false);

View file

@ -436,6 +436,10 @@ gdbstub_port=24689
# Immediately commits the debug log to file. Use this if Azahar crashes and the log output is being cut. # Immediately commits the debug log to file. Use this if Azahar crashes and the log output is being cut.
instant_debug_log = instant_debug_log =
# Enable RPC server for scripting purposes. Allows accessing guest memory remotely.
# 0 (default): Off, 1: On
enable_rpc_server =
# Delay the start of apps when LLE modules are enabled # Delay the start of apps when LLE modules are enabled
# 0: Off, 1 (default): On # 0: Off, 1 (default): On
delay_start_for_lle_modules = delay_start_for_lle_modules =

View file

@ -298,7 +298,6 @@ S\'esperen errors gràfics temporals quan estigue activat.</string>
<string name="delay_start_lle_modules_description">Retarda l\'inici de l\'aplicació quan els mòduls LLE estan habilitats.</string> <string name="delay_start_lle_modules_description">Retarda l\'inici de l\'aplicació quan els mòduls LLE estan habilitats.</string>
<string name="deterministic_async_operations">Operacions asíncrones deterministes</string> <string name="deterministic_async_operations">Operacions asíncrones deterministes</string>
<string name="deterministic_async_operations_description">Fa que les operacions asíncrones siguen deterministes per a la depuració. Habilitar esta opció pot causar bloquejos.</string> <string name="deterministic_async_operations_description">Fa que les operacions asíncrones siguen deterministes per a la depuració. Habilitar esta opció pot causar bloquejos.</string>
<!-- Layout settings strings --> <!-- Layout settings strings -->
<string name="layout_screen_orientation">Orientació de pantalla</string> <string name="layout_screen_orientation">Orientació de pantalla</string>
<string name="layout_screen_orientation_auto_sensor">Automàtica</string> <string name="layout_screen_orientation_auto_sensor">Automàtica</string>
@ -306,7 +305,6 @@ S\'esperen errors gràfics temporals quan estigue activat.</string>
<string name="layout_screen_orientation_landscape_reverse">Horitzontal invertida</string> <string name="layout_screen_orientation_landscape_reverse">Horitzontal invertida</string>
<string name="layout_screen_orientation_portrait">Vertical</string> <string name="layout_screen_orientation_portrait">Vertical</string>
<string name="layout_screen_orientation_portrait_reverse">Vertical invertida</string> <string name="layout_screen_orientation_portrait_reverse">Vertical invertida</string>
<!-- Miscellaneous --> <!-- Miscellaneous -->
<string name="clear">Reiniciar</string> <string name="clear">Reiniciar</string>
<string name="slider_default">Per omissió</string> <string name="slider_default">Per omissió</string>
@ -342,7 +340,6 @@ S\'esperen errors gràfics temporals quan estigue activat.</string>
<string name="cancelling">Cancel·lant</string> <string name="cancelling">Cancel·lant</string>
<string name="important">Important</string> <string name="important">Important</string>
<string name="dont_show_again">No tornar a mostrar</string> <string name="dont_show_again">No tornar a mostrar</string>
<!-- Add Directory Screen--> <!-- Add Directory Screen-->
<string name="select_game_folder">Seleccionar Directori de Joc</string> <string name="select_game_folder">Seleccionar Directori de Joc</string>
@ -425,7 +422,6 @@ S\'esperen errors gràfics temporals quan estigue activat.</string>
<string name="emulation_cycle_landscape_layouts">Alternar estils</string> <string name="emulation_cycle_landscape_layouts">Alternar estils</string>
<string name="emulation_swap_screens">Intercanviar Pantalles</string> <string name="emulation_swap_screens">Intercanviar Pantalles</string>
<string name="emulation_touch_overlay_reset">Reiniciar Estil</string> <string name="emulation_touch_overlay_reset">Reiniciar Estil</string>
<string name="emulation_show_overlay">Mostrar Estil</string>
<string name="emulation_close_game">Tancar Joc</string> <string name="emulation_close_game">Tancar Joc</string>
<string name="emulation_toggle_pause">Activar pausa</string> <string name="emulation_toggle_pause">Activar pausa</string>
<string name="miscellaneous">Miscel·lanis</string> <string name="miscellaneous">Miscel·lanis</string>

View file

@ -125,6 +125,10 @@
<string name="button_turbo">Turbo</string> <string name="button_turbo">Turbo</string>
<string name="input_message_analog_only">Denne kontrol skal være bundet til et gamepad analogt greb eller akse D-Pad!</string> <string name="input_message_analog_only">Denne kontrol skal være bundet til et gamepad analogt greb eller akse D-Pad!</string>
<string name="input_message_button_only">Denne kontrol skal være bundet til en gamepad knap!</string> <string name="input_message_button_only">Denne kontrol skal være bundet til en gamepad knap!</string>
<string name="turbo_limit_hotkey">Turbohastighed</string>
<string name="turbo_enabled_toast">Turbohastighed aktiveret</string>
<string name="turbo_disabled_toast">Turbohastighed deaktiveret</string>
<!-- System files strings --> <!-- System files strings -->
<string name="setup_system_files">Systemfiler</string> <string name="setup_system_files">Systemfiler</string>
<string name="setup_system_files_description">Udfør handlinger som installation af systemfiler eller opstart af startmenu</string> <string name="setup_system_files_description">Udfør handlinger som installation af systemfiler eller opstart af startmenu</string>
@ -223,6 +227,8 @@
<string name="frame_limit_enable_description">Når aktiveret, vil emuleringshastigheden være begrænset til en specificeret procentdel af normal hastighed. Hvis deaktiveret, vil emuleringshastigheden være ubegrænset, og genvejstasten for turbohastighed vil ikke fungere.</string> <string name="frame_limit_enable_description">Når aktiveret, vil emuleringshastigheden være begrænset til en specificeret procentdel af normal hastighed. Hvis deaktiveret, vil emuleringshastigheden være ubegrænset, og genvejstasten for turbohastighed vil ikke fungere.</string>
<string name="frame_limit_slider">Begræns hastighedsprocent</string> <string name="frame_limit_slider">Begræns hastighedsprocent</string>
<string name="frame_limit_slider_description">Angiver procentdelen emuleringshastigheden skal begrænses til. Med standardværdien på 100% vil emulering være begrænset til normal hastighed. Værdier højere eller lavere vil øge eller mindske hastighedsgrænsen.</string> <string name="frame_limit_slider_description">Angiver procentdelen emuleringshastigheden skal begrænses til. Med standardværdien på 100% vil emulering være begrænset til normal hastighed. Værdier højere eller lavere vil øge eller mindske hastighedsgrænsen.</string>
<string name="turbo_limit">Turbohastighedsgrænse</string>
<string name="turbo_limit_description">Grænse for emuleringens hastighed bruges, når turbo-genvejstasten er aktiv.</string>
<string name="expand_to_cutout_area">Anvend området ved frontkamera</string> <string name="expand_to_cutout_area">Anvend området ved frontkamera</string>
<string name="expand_to_cutout_area_description">Udvider visningsområdet til at omfatte området ved frontkameraet (eller indhakket).</string> <string name="expand_to_cutout_area_description">Udvider visningsområdet til at omfatte området ved frontkameraet (eller indhakket).</string>
<string name="internal_resolution">Intern opløsning</string> <string name="internal_resolution">Intern opløsning</string>
@ -291,6 +297,8 @@
<string name="delay_start_lle_modules_description">Forsinker starten af appen, når LLE moduler er aktiveret.</string> <string name="delay_start_lle_modules_description">Forsinker starten af appen, når LLE moduler er aktiveret.</string>
<string name="deterministic_async_operations">Deterministiske asynkrone operationer</string> <string name="deterministic_async_operations">Deterministiske asynkrone operationer</string>
<string name="deterministic_async_operations_description">Gør asynkrone operationer deterministiske for fejlretning. Aktivering af dette kan forårsage at programmet fryser fast.</string> <string name="deterministic_async_operations_description">Gør asynkrone operationer deterministiske for fejlretning. Aktivering af dette kan forårsage at programmet fryser fast.</string>
<string name="enable_rpc_server">Aktivér RPC-server</string>
<string name="enable_rpc_server_desc">Aktiverer RPC-serveren på port 45987. Dette tillader fjernlæsning/skrivning af gæstehukommelse.</string>
<!-- Layout settings strings --> <!-- Layout settings strings -->
<string name="layout_screen_orientation">Skærmorientering</string> <string name="layout_screen_orientation">Skærmorientering</string>
@ -299,6 +307,12 @@
<string name="layout_screen_orientation_landscape_reverse">Omvendt landskab</string> <string name="layout_screen_orientation_landscape_reverse">Omvendt landskab</string>
<string name="layout_screen_orientation_portrait">Portræt</string> <string name="layout_screen_orientation_portrait">Portræt</string>
<string name="layout_screen_orientation_portrait_reverse">Omvendt portræt</string> <string name="layout_screen_orientation_portrait_reverse">Omvendt portræt</string>
<string name="aspect_ratio_default">Standard</string>
<string name="aspect_ratio_16_9">16:9</string>
<string name="aspect_ratio_4_3">4:3</string>
<string name="aspect_ratio_21_9_fullscreen">21:9</string>
<string name="aspect_ratio_16_10_fullscreen_stretched">16:10</string>
<string name="aspect_ratio_stretch">Strække</string>
<!-- Miscellaneous --> <!-- Miscellaneous -->
<string name="clear">Ryd</string> <string name="clear">Ryd</string>
@ -335,6 +349,8 @@
<string name="cancelling">Annullerer...</string> <string name="cancelling">Annullerer...</string>
<string name="important">Vigtig</string> <string name="important">Vigtig</string>
<string name="dont_show_again">Vis ikke igen</string> <string name="dont_show_again">Vis ikke igen</string>
<string name="visibility">Sigtbarhed</string>
<string name="information">Information</string>
<!-- Add Directory Screen--> <!-- Add Directory Screen-->
<string name="select_game_folder">Vælg spilmappe</string> <string name="select_game_folder">Vælg spilmappe</string>
@ -382,6 +398,7 @@
<string name="emulation_control_dpad_slide_enable">D-Pad glidning</string> <string name="emulation_control_dpad_slide_enable">D-Pad glidning</string>
<string name="emulation_open_settings">Åbn Indstillinger</string> <string name="emulation_open_settings">Åbn Indstillinger</string>
<string name="emulation_open_cheats">Åbn snydekoder</string> <string name="emulation_open_cheats">Åbn snydekoder</string>
<string name="emulation_aspect_ratio">Billedformat</string>
<string name="emulation_switch_screen_layout">Landskab skærmlayout</string> <string name="emulation_switch_screen_layout">Landskab skærmlayout</string>
<string name="emulation_switch_portrait_layout">Portræt skærmlayout</string> <string name="emulation_switch_portrait_layout">Portræt skærmlayout</string>
<string name="emulation_screen_layout_largescreen">Stor skærm</string> <string name="emulation_screen_layout_largescreen">Stor skærm</string>
@ -418,7 +435,7 @@
<string name="emulation_cycle_landscape_layouts">Skift layout</string> <string name="emulation_cycle_landscape_layouts">Skift layout</string>
<string name="emulation_swap_screens">Byt skærme</string> <string name="emulation_swap_screens">Byt skærme</string>
<string name="emulation_touch_overlay_reset">Nulstil overlejring</string> <string name="emulation_touch_overlay_reset">Nulstil overlejring</string>
<string name="emulation_show_overlay">Vis overlejring</string> <string name="emulation_show_controller_overlay">Vis controller-overlejring</string>
<string name="emulation_close_game">Luk spil</string> <string name="emulation_close_game">Luk spil</string>
<string name="emulation_toggle_pause">Slå Pause til/fra</string> <string name="emulation_toggle_pause">Slå Pause til/fra</string>
<string name="miscellaneous">Diverse</string> <string name="miscellaneous">Diverse</string>
@ -507,6 +524,34 @@
<string name="game_context_uninstall_dlc">Afinstaller DLC</string> <string name="game_context_uninstall_dlc">Afinstaller DLC</string>
<string name="game_context_uninstall_updates">Afinstaller opdateringer</string> <string name="game_context_uninstall_updates">Afinstaller opdateringer</string>
<!-- Performance Overlay settings -->
<string name="performance_overlay_show">Vis ydelsesoverlejring</string>
<string name="performance_overlay_options">Ydelsesoverlejring</string>
<string name="performance_overlay_enable">Aktivér ydelsesoverlejring</string>
<string name="performance_overlay_options_description">Konfigurer, om ydelsesoverlejringen skal vises, og hvilke oplysninger der vises.</string>
<string name="overlay_show_fps">Vis FPS</string>
<string name="overlay_show_fps_description">Vis aktuelle billeder pr. sekund.</string>
<string name="overlay_show_frametime">Vis billedtid</string>
<string name="overlay_show_frametime_description">Vis aktuel billedtid.</string>
<string name="overlay_show_speed">Vis hastighed</string>
<string name="overlay_show_speed_description">Vis den aktuelle emuleringshastighed i procent.</string>
<string name="overlay_show_app_ram_usage">Vis hukommelsesforbrug for app</string>
<string name="overlay_show_app_ram_usage_description">Vis mængden af RAM, der bruges af emulatoren.</string>
<string name="overlay_show_available_ram">Vis tilgængelig hukommelse</string>
<string name="overlay_show_available_ram_description">Vis mængden af RAM, der er tilgængelig.</string>
<string name="overlay_show_battery_temp">Vis batteritemperatur</string>
<string name="overlay_show_battery_temp_description">Viser den aktuelle batteritemperatur i Celsius og Fahrenheit.</string>
<string name="overlay_position">Position af overlejring</string>
<string name="overlay_position_description">Vælg, hvor ydelsesoverlejringen skal vises på skærmen.</string>
<string name="overlay_position_top_left">Øverst til venstre</string>
<string name="overlay_position_top_right">Øverst til højre</string>
<string name="overlay_position_bottom_left">Nederst til venstre</string>
<string name="overlay_position_bottom_right">Nederst til højre</string>
<string name="overlay_position_center_top">Midten øverst</string>
<string name="overlay_position_center_bottom">Midten nederst</string>
<string name="overlay_background">Overlejret baggrund</string>
<string name="overlay_background_description">Tilføjer en baggrund bag overlejringen for lettere læsning.</string>
<!-- Cheats --> <!-- Cheats -->
<string name="cheats">Snyd</string> <string name="cheats">Snyd</string>
<string name="cheats_add">Tilføj snyd</string> <string name="cheats_add">Tilføj snyd</string>

View file

@ -298,6 +298,8 @@ Se esperan fallos gráficos temporales cuando ésta esté activado.</string>
<string name="delay_start_lle_modules_description">Retrasa el inicio de la aplicación cuando los módulos LLE están habilitados.</string> <string name="delay_start_lle_modules_description">Retrasa el inicio de la aplicación cuando los módulos LLE están habilitados.</string>
<string name="deterministic_async_operations">Operaciones asíncronas deterministas</string> <string name="deterministic_async_operations">Operaciones asíncronas deterministas</string>
<string name="deterministic_async_operations_description">Hace que las operaciones asíncronas sean deterministas para la depuración. Habilitar esta opción puede causar bloqueos.</string> <string name="deterministic_async_operations_description">Hace que las operaciones asíncronas sean deterministas para la depuración. Habilitar esta opción puede causar bloqueos.</string>
<string name="enable_rpc_server">Activar RPC servidor</string>
<string name="enable_rpc_server_desc">Activar el RPC servidor en el puerto 45987. Esto permite remotamente leer/escribir el guest memory.</string>
<!-- Layout settings strings --> <!-- Layout settings strings -->
<string name="layout_screen_orientation">Orientación de pantalla</string> <string name="layout_screen_orientation">Orientación de pantalla</string>
@ -306,6 +308,12 @@ Se esperan fallos gráficos temporales cuando ésta esté activado.</string>
<string name="layout_screen_orientation_landscape_reverse">Horizontal invertida</string> <string name="layout_screen_orientation_landscape_reverse">Horizontal invertida</string>
<string name="layout_screen_orientation_portrait">Retrato</string> <string name="layout_screen_orientation_portrait">Retrato</string>
<string name="layout_screen_orientation_portrait_reverse">Retrato invertido</string> <string name="layout_screen_orientation_portrait_reverse">Retrato invertido</string>
<string name="aspect_ratio_default">Por defecto</string>
<string name="aspect_ratio_16_9">16:9</string>
<string name="aspect_ratio_4_3">4:3</string>
<string name="aspect_ratio_21_9_fullscreen">21:9</string>
<string name="aspect_ratio_16_10_fullscreen_stretched">16:10</string>
<string name="aspect_ratio_stretch">Alargar</string>
<!-- Miscellaneous --> <!-- Miscellaneous -->
<string name="clear">Reiniciar</string> <string name="clear">Reiniciar</string>
@ -342,6 +350,8 @@ Se esperan fallos gráficos temporales cuando ésta esté activado.</string>
<string name="cancelling">Cancelando...</string> <string name="cancelling">Cancelando...</string>
<string name="important">Importante</string> <string name="important">Importante</string>
<string name="dont_show_again">No volver a mostrar</string> <string name="dont_show_again">No volver a mostrar</string>
<string name="visibility">Visibilidad</string>
<string name="information">Información</string>
<!-- Add Directory Screen--> <!-- Add Directory Screen-->
<string name="select_game_folder">Seleccionar Directorio de Juego</string> <string name="select_game_folder">Seleccionar Directorio de Juego</string>
@ -389,6 +399,7 @@ Se esperan fallos gráficos temporales cuando ésta esté activado.</string>
<string name="emulation_control_dpad_slide_enable">Deslizamiento de la Cruceta</string> <string name="emulation_control_dpad_slide_enable">Deslizamiento de la Cruceta</string>
<string name="emulation_open_settings">Abrir Configuración</string> <string name="emulation_open_settings">Abrir Configuración</string>
<string name="emulation_open_cheats">Abrir Trucos</string> <string name="emulation_open_cheats">Abrir Trucos</string>
<string name="emulation_aspect_ratio">Relación de Aspecto</string>
<string name="emulation_switch_screen_layout">Estilo de Pantalla Apaisada</string> <string name="emulation_switch_screen_layout">Estilo de Pantalla Apaisada</string>
<string name="emulation_switch_portrait_layout">Estilo de Pantalla de Perfil</string> <string name="emulation_switch_portrait_layout">Estilo de Pantalla de Perfil</string>
<string name="emulation_screen_layout_largescreen">Pantalla amplia</string> <string name="emulation_screen_layout_largescreen">Pantalla amplia</string>
@ -425,7 +436,7 @@ Se esperan fallos gráficos temporales cuando ésta esté activado.</string>
<string name="emulation_cycle_landscape_layouts">Alternar estilos</string> <string name="emulation_cycle_landscape_layouts">Alternar estilos</string>
<string name="emulation_swap_screens">Intercambiar Pantallas</string> <string name="emulation_swap_screens">Intercambiar Pantallas</string>
<string name="emulation_touch_overlay_reset">Reiniciar Estilo</string> <string name="emulation_touch_overlay_reset">Reiniciar Estilo</string>
<string name="emulation_show_overlay">Mostrar Estilo</string> <string name="emulation_show_controller_overlay">Mostrar superposición de controles</string>
<string name="emulation_close_game">Cerrar Juego</string> <string name="emulation_close_game">Cerrar Juego</string>
<string name="emulation_toggle_pause">Activar pausa</string> <string name="emulation_toggle_pause">Activar pausa</string>
<string name="miscellaneous">Misceláneos</string> <string name="miscellaneous">Misceláneos</string>
@ -514,6 +525,34 @@ Se esperan fallos gráficos temporales cuando ésta esté activado.</string>
<string name="game_context_uninstall_dlc">Desinstalar DLC</string> <string name="game_context_uninstall_dlc">Desinstalar DLC</string>
<string name="game_context_uninstall_updates">Desinstalar Actualizaciones</string> <string name="game_context_uninstall_updates">Desinstalar Actualizaciones</string>
<!-- Performance Overlay settings -->
<string name="performance_overlay_show">Mostrar superposición de rendimiento</string>
<string name="performance_overlay_options">Superposición de rendimiento</string>
<string name="performance_overlay_enable">Activar superposición de rendimiento</string>
<string name="performance_overlay_options_description">Configura si la superposición de rendimiento será mostrada y que información será mostrada.</string>
<string name="overlay_show_fps">Mostrar FPS</string>
<string name="overlay_show_fps_description">Muestra los fotogramas actuales por segundo.</string>
<string name="overlay_show_frametime">Mostrar duración de fotogramas</string>
<string name="overlay_show_frametime_description">Muestra la actual duración de cada fotograma.</string>
<string name="overlay_show_speed">Mostrar velocidad</string>
<string name="overlay_show_speed_description">Muestra el porcentaje de velocidad de emulación actual.</string>
<string name="overlay_show_app_ram_usage">Mostrar el uso de memoria de la aplicación</string>
<string name="overlay_show_app_ram_usage_description">Muestra la cantidad de memoria RAM que esta usando el emulador.</string>
<string name="overlay_show_available_ram">Mostrar memoria disponible</string>
<string name="overlay_show_available_ram_description">Muestra la cantidad de memoria RAM que esta disponible.</string>
<string name="overlay_show_battery_temp">Mostrar la temperatura de la batería</string>
<string name="overlay_show_battery_temp_description">Muestra la temperatura actual de la batería en Celsius y Fahrenheit.</string>
<string name="overlay_position">Posición de superposición</string>
<string name="overlay_position_description">Elige donde la superposición de rendimiento será mostrada en la pantalla.</string>
<string name="overlay_position_top_left">Arriba a la izquierda</string>
<string name="overlay_position_top_right">Arriba a la derecha</string>
<string name="overlay_position_bottom_left">Abajo a la izquierda</string>
<string name="overlay_position_bottom_right">Abajo a la derecha</string>
<string name="overlay_position_center_top">Centro superior</string>
<string name="overlay_position_center_bottom">Centro inferior </string>
<string name="overlay_background">Fondo de superposición</string>
<string name="overlay_background_description">Agrega un fondo detrás de las superposiciones para hacerlos más legibles.</string>
<!-- Cheats --> <!-- Cheats -->
<string name="cheats">Trucos</string> <string name="cheats">Trucos</string>
<string name="cheats_add">Añadir trucos</string> <string name="cheats_add">Añadir trucos</string>

View file

@ -71,7 +71,6 @@
<string name="cancelling">Atšaukiama...</string> <string name="cancelling">Atšaukiama...</string>
<string name="important">Svarbu</string> <string name="important">Svarbu</string>
<string name="dont_show_again">Daugiau niekada nerodyti</string> <string name="dont_show_again">Daugiau niekada nerodyti</string>
<!-- Preferences Screen --> <!-- Preferences Screen -->
<string name="preferences_settings">Nustatymai</string> <string name="preferences_settings">Nustatymai</string>
<string name="preferences_system">Sistema</string> <string name="preferences_system">Sistema</string>

View file

@ -297,6 +297,8 @@
<string name="delay_start_lle_modules_description">Opóźnia uruchomienie aplikacji, gdy włączone są moduły LLE.</string> <string name="delay_start_lle_modules_description">Opóźnia uruchomienie aplikacji, gdy włączone są moduły LLE.</string>
<string name="deterministic_async_operations">Deterministyczne operacje asynchroniczne</string> <string name="deterministic_async_operations">Deterministyczne operacje asynchroniczne</string>
<string name="deterministic_async_operations_description">Sprawia, że operacje asynchroniczne są deterministyczne dla debugowania. Włączenie tej opcji może powodować zawieszanie się gry.</string> <string name="deterministic_async_operations_description">Sprawia, że operacje asynchroniczne są deterministyczne dla debugowania. Włączenie tej opcji może powodować zawieszanie się gry.</string>
<string name="enable_rpc_server">Włącz serwer RPC</string>
<string name="enable_rpc_server_desc">Włącza serwer RPC na porcie 45987. Pozwala to na zdalny odczyt/zapis pamięci gościa. Nie włączaj tej opcji, jeśli nie wiesz, co robisz.</string>
<!-- Layout settings strings --> <!-- Layout settings strings -->
<string name="layout_screen_orientation">Orientacja Ekranu</string> <string name="layout_screen_orientation">Orientacja Ekranu</string>
@ -305,6 +307,12 @@
<string name="layout_screen_orientation_landscape_reverse">Odwrócony widok</string> <string name="layout_screen_orientation_landscape_reverse">Odwrócony widok</string>
<string name="layout_screen_orientation_portrait">Ekran</string> <string name="layout_screen_orientation_portrait">Ekran</string>
<string name="layout_screen_orientation_portrait_reverse">Odwrócony Ekran</string> <string name="layout_screen_orientation_portrait_reverse">Odwrócony Ekran</string>
<string name="aspect_ratio_default">Domyślny</string>
<string name="aspect_ratio_16_9">16:9</string>
<string name="aspect_ratio_4_3">4:3</string>
<string name="aspect_ratio_21_9_fullscreen">21:9</string>
<string name="aspect_ratio_16_10_fullscreen_stretched">16:10</string>
<string name="aspect_ratio_stretch">Rozciągliwość</string>
<!-- Miscellaneous --> <!-- Miscellaneous -->
<string name="clear">Wyczyść</string> <string name="clear">Wyczyść</string>
@ -341,6 +349,8 @@
<string name="cancelling">Anulowanie...</string> <string name="cancelling">Anulowanie...</string>
<string name="important">Ważne</string> <string name="important">Ważne</string>
<string name="dont_show_again">Nie pokazuj tego ponownie</string> <string name="dont_show_again">Nie pokazuj tego ponownie</string>
<string name="visibility">Widoczność</string>
<string name="information">Informacje</string>
<!-- Add Directory Screen--> <!-- Add Directory Screen-->
<string name="select_game_folder">Wybierz folder gry</string> <string name="select_game_folder">Wybierz folder gry</string>
@ -388,6 +398,7 @@
<string name="emulation_control_dpad_slide_enable">Przesuwanie Krzyżaka</string> <string name="emulation_control_dpad_slide_enable">Przesuwanie Krzyżaka</string>
<string name="emulation_open_settings">Otwórz ustawienia</string> <string name="emulation_open_settings">Otwórz ustawienia</string>
<string name="emulation_open_cheats">Otwórz cheaty</string> <string name="emulation_open_cheats">Otwórz cheaty</string>
<string name="emulation_aspect_ratio">Proporcje obrazu</string>
<string name="emulation_switch_screen_layout">Geometryczny Układ Ekranu</string> <string name="emulation_switch_screen_layout">Geometryczny Układ Ekranu</string>
<string name="emulation_switch_portrait_layout">Pionowy Układ Ekranu</string> <string name="emulation_switch_portrait_layout">Pionowy Układ Ekranu</string>
<string name="emulation_screen_layout_largescreen">Duży Ekran</string> <string name="emulation_screen_layout_largescreen">Duży Ekran</string>
@ -424,7 +435,7 @@
<string name="emulation_cycle_landscape_layouts">Układy Cykli</string> <string name="emulation_cycle_landscape_layouts">Układy Cykli</string>
<string name="emulation_swap_screens">Zamień Ekrany</string> <string name="emulation_swap_screens">Zamień Ekrany</string>
<string name="emulation_touch_overlay_reset">Zresetuj Nakładkę</string> <string name="emulation_touch_overlay_reset">Zresetuj Nakładkę</string>
<string name="emulation_show_overlay">Pokaż Nakładkę</string> <string name="emulation_show_controller_overlay">Wyświetl nakładkę kontrolera</string>
<string name="emulation_close_game">Zamknij Grę</string> <string name="emulation_close_game">Zamknij Grę</string>
<string name="emulation_toggle_pause">Włącz Pauzę</string> <string name="emulation_toggle_pause">Włącz Pauzę</string>
<string name="miscellaneous">Różne</string> <string name="miscellaneous">Różne</string>
@ -513,6 +524,34 @@
<string name="game_context_uninstall_dlc">Odinstaluj DLC</string> <string name="game_context_uninstall_dlc">Odinstaluj DLC</string>
<string name="game_context_uninstall_updates">Odinstaluj aktualizacje</string> <string name="game_context_uninstall_updates">Odinstaluj aktualizacje</string>
<!-- Performance Overlay settings -->
<string name="performance_overlay_show">Wyświetl nakładkę wydajności</string>
<string name="performance_overlay_options">Nakładkę wydajności</string>
<string name="performance_overlay_enable">Włącz nakładkę wydajności</string>
<string name="performance_overlay_options_description">Konfiguruje, czy wyświetlana jest nakładka wydajności i jakie informacje są wyświetlane.</string>
<string name="overlay_show_fps">Wyświetl FPS</string>
<string name="overlay_show_fps_description">Wyświetla aktualną liczbę klatek na sekundę.</string>
<string name="overlay_show_frametime">Pokaż czas klatek</string>
<string name="overlay_show_frametime_description">Wyświetla bieżący czas klatek.</string>
<string name="overlay_show_speed">Wyświetl Prędkość</string>
<string name="overlay_show_speed_description">Wyświetla aktualną procentową prędkość emulacji.</string>
<string name="overlay_show_app_ram_usage">Wyświetl użycie pamięci aplikacji</string>
<string name="overlay_show_app_ram_usage_description">Wyświetla ilość pamięci RAM używanej przez emulator.</string>
<string name="overlay_show_available_ram">Wyświetl dostępną pamięć</string>
<string name="overlay_show_available_ram_description">Wyświetla ilość dostępnej pamięci RAM.</string>
<string name="overlay_show_battery_temp">Wyświetl temperaturę baterii</string>
<string name="overlay_show_battery_temp_description">Wyświetla bieżącą temperaturę baterii w stopniach Celcjusza i Fahrenheita.</string>
<string name="overlay_position">Pozycja nakładki</string>
<string name="overlay_position_description">Wybierz miejsce wyświetlania nakładki wydajności na ekranie.</string>
<string name="overlay_position_top_left">Lewy górny róg</string>
<string name="overlay_position_top_right">Prawy górny róg</string>
<string name="overlay_position_bottom_left">Lewy dolny róg</string>
<string name="overlay_position_bottom_right">Prawy dolny róg</string>
<string name="overlay_position_center_top">Środkowy górny</string>
<string name="overlay_position_center_bottom">Środkowy dolny</string>
<string name="overlay_background">Tło nakładki</string>
<string name="overlay_background_description">Dodaje tło z tyłu nakładki w celu łatwego odczytu.</string>
<!-- Cheats --> <!-- Cheats -->
<string name="cheats">Cheaty</string> <string name="cheats">Cheaty</string>
<string name="cheats_add">Dodaj Kod</string> <string name="cheats_add">Dodaj Kod</string>

View file

@ -290,7 +290,6 @@
<string name="delay_start_lle_modules_description">Atrasa a inicialização do aplicativo quando os módulos LLE estão ativados.</string> <string name="delay_start_lle_modules_description">Atrasa a inicialização do aplicativo quando os módulos LLE estão ativados.</string>
<string name="deterministic_async_operations">Operações Assíncronas Determinísticas</string> <string name="deterministic_async_operations">Operações Assíncronas Determinísticas</string>
<string name="deterministic_async_operations_description">Torna as operações assíncronas determinísticas para depuração. Ativar essa opção pode causar congelamentos.</string> <string name="deterministic_async_operations_description">Torna as operações assíncronas determinísticas para depuração. Ativar essa opção pode causar congelamentos.</string>
<!-- Layout settings strings --> <!-- Layout settings strings -->
<string name="layout_screen_orientation">Orientação da Tela</string> <string name="layout_screen_orientation">Orientação da Tela</string>
<string name="layout_screen_orientation_auto_sensor">Automático</string> <string name="layout_screen_orientation_auto_sensor">Automático</string>
@ -298,7 +297,6 @@
<string name="layout_screen_orientation_landscape_reverse">Paisagem Reversa</string> <string name="layout_screen_orientation_landscape_reverse">Paisagem Reversa</string>
<string name="layout_screen_orientation_portrait">Retrato</string> <string name="layout_screen_orientation_portrait">Retrato</string>
<string name="layout_screen_orientation_portrait_reverse">Retrato Reverso</string> <string name="layout_screen_orientation_portrait_reverse">Retrato Reverso</string>
<!-- Miscellaneous --> <!-- Miscellaneous -->
<string name="clear">Limpar</string> <string name="clear">Limpar</string>
<string name="slider_default">Padrão</string> <string name="slider_default">Padrão</string>
@ -333,7 +331,6 @@
<string name="cancelling">Cancelando...</string> <string name="cancelling">Cancelando...</string>
<string name="important">Importante</string> <string name="important">Importante</string>
<string name="dont_show_again">Não mostrar novamente</string> <string name="dont_show_again">Não mostrar novamente</string>
<!-- Add Directory Screen--> <!-- Add Directory Screen-->
<string name="select_game_folder">Escolher pasta de jogos</string> <string name="select_game_folder">Escolher pasta de jogos</string>
@ -414,7 +411,6 @@
<string name="emulation_cycle_landscape_layouts">Trocar Disposições</string> <string name="emulation_cycle_landscape_layouts">Trocar Disposições</string>
<string name="emulation_swap_screens">Trocar telas</string> <string name="emulation_swap_screens">Trocar telas</string>
<string name="emulation_touch_overlay_reset">Redefinir sobreposição</string> <string name="emulation_touch_overlay_reset">Redefinir sobreposição</string>
<string name="emulation_show_overlay">Mostrar sobreposição</string>
<string name="emulation_close_game">Fechar jogo</string> <string name="emulation_close_game">Fechar jogo</string>
<string name="emulation_toggle_pause">Alternar Pausa</string> <string name="emulation_toggle_pause">Alternar Pausa</string>
<string name="miscellaneous">Diversos</string> <string name="miscellaneous">Diversos</string>

View file

@ -152,7 +152,7 @@
<string name="utility">Инструменты</string> <string name="utility">Инструменты</string>
<string name="dump_textures">Снимать дамп текстур</string> <string name="dump_textures">Снимать дамп текстур</string>
<string name="dump_textures_description">Текстуры сохраняются в dump/textures/[ID игры]/.</string> <string name="dump_textures_description">Текстуры сохраняются в dump/textures/[ID игры]/.</string>
<string name="custom_textures">Внешние текстуры</string> <string name="custom_textures">Пользовательские текстуры</string>
<string name="custom_textures_description">Текстуры загружаются из load/textures/[ID игры]/.</string> <string name="custom_textures_description">Текстуры загружаются из load/textures/[ID игры]/.</string>
<string name="preload_textures">Предзагрузка внешних текстур</string> <string name="preload_textures">Предзагрузка внешних текстур</string>
<string name="preload_textures_description">Загружать все внешние текстуры в память. Может существенно повышать использование памяти.</string> <string name="preload_textures_description">Загружать все внешние текстуры в память. Может существенно повышать использование памяти.</string>
@ -252,7 +252,6 @@
<string name="emulation_screen_layout_hybrid">Совмещённый экран</string> <string name="emulation_screen_layout_hybrid">Совмещённый экран</string>
<string name="emulation_swap_screens">Поменять экраны</string> <string name="emulation_swap_screens">Поменять экраны</string>
<string name="emulation_touch_overlay_reset">Сбросить оверлей</string> <string name="emulation_touch_overlay_reset">Сбросить оверлей</string>
<string name="emulation_show_overlay">Показывать оверлей</string>
<string name="emulation_close_game">Закрыть игру</string> <string name="emulation_close_game">Закрыть игру</string>
<string name="emulation_toggle_pause">Вкл/выкл паузу</string> <string name="emulation_toggle_pause">Вкл/выкл паузу</string>
<string name="emulation_close_game_message">Вы действительно хотите закрыть игру?</string> <string name="emulation_close_game_message">Вы действительно хотите закрыть игру?</string>

View file

@ -139,6 +139,7 @@
<string name="setup_system_files_possible">Kurulum mümkün.</string> <string name="setup_system_files_possible">Kurulum mümkün.</string>
<string name="setup_system_files_o3ds_needed">Önce eski 3DS kurulumu gereklidir.</string> <string name="setup_system_files_o3ds_needed">Önce eski 3DS kurulumu gereklidir.</string>
<string name="setup_system_files_completed">Kurulum zaten tamamlandı.</string> <string name="setup_system_files_completed">Kurulum zaten tamamlandı.</string>
<string name="setup_system_files_enter_address">Artic Kurulum Aracı adresini girin</string>
<string name="setup_system_files_preparing">Kurulum hazırlanıyor, lütfen bekleyin...</string> <string name="setup_system_files_preparing">Kurulum hazırlanıyor, lütfen bekleyin...</string>
<string name="boot_home_menu">HOME Menüsünü Aç</string> <string name="boot_home_menu">HOME Menüsünü Aç</string>
<string name="show_home_apps">HOME menü uygulamalarını Uygulamalar listesinde göster</string> <string name="show_home_apps">HOME menü uygulamalarını Uygulamalar listesinde göster</string>
@ -177,7 +178,7 @@
<string name="regenerate_console_id_description">Bu, mevcut sanal 3DS konsol kimliğinizi yenisiyle değiştirecektir. Mevcut sanal 3DS konsol kimliğiniz kurtarılamayacaktır. Bu, uygulamaların içinde beklenmedik etkilere neden olabilir. Eski bir konfigürasyon kaydı kullanıyorsanız bu işlem başarısız olabilir. Devam etmek istiyor musunuz?</string> <string name="regenerate_console_id_description">Bu, mevcut sanal 3DS konsol kimliğinizi yenisiyle değiştirecektir. Mevcut sanal 3DS konsol kimliğiniz kurtarılamayacaktır. Bu, uygulamaların içinde beklenmedik etkilere neden olabilir. Eski bir konfigürasyon kaydı kullanıyorsanız bu işlem başarısız olabilir. Devam etmek istiyor musunuz?</string>
<string name="mac_address">MAC Adresi</string> <string name="mac_address">MAC Adresi</string>
<string name="regenerate_mac_address">MAC Adresini Yeniden Oluştur</string> <string name="regenerate_mac_address">MAC Adresini Yeniden Oluştur</string>
<string name="regenerate_mac_address_description">Bu, mevcut MAC adresinizi yenisiyle değiştirecektir. MAC adresini kurulum aracını kullanarak gerçek konsolunuzdan aldıysanız bunu yapmanız önerilmez. Yine de devam mı?</string> <string name="regenerate_mac_address_description">Bu, mevcut MAC adresinizi yenisiyle değiştirecektir. MAC adresini kurulum aracını kullanarak gerçek konsolunuzdan aldıysanız bunu yapmanız önerilmez. Yine de devam etmek ister misiniz?</string>
<string name="plugin_loader">3GX Eklenti Yükleyici</string> <string name="plugin_loader">3GX Eklenti Yükleyici</string>
<string name="plugin_loader_description">3GX eklentilerini eğer mevcutsa emüle edilmiş SD karttan yükler.</string> <string name="plugin_loader_description">3GX eklentilerini eğer mevcutsa emüle edilmiş SD karttan yükler.</string>
<string name="allow_plugin_loader">Uygulamaların Eklenti Yükleyici Durumunu Değiştirmesine İzin Verin</string> <string name="allow_plugin_loader">Uygulamaların Eklenti Yükleyici Durumunu Değiştirmesine İzin Verin</string>
@ -191,8 +192,10 @@
İç Kamera</string> İç Kamera</string>
<string name="outer_left_camera">Dış Sol Kamera</string> <string name="outer_left_camera">Dış Sol Kamera</string>
<string name="outer_right_camera">Dış Sağ Kamera</string> <string name="outer_right_camera">Dış Sağ Kamera</string>
<string name="image_source">Kamera Resim Kaynağı</string> <string name="image_source">Kamera Görüntü Kaynağı</string>
<string name="image_source_description">Sanal kameranın görüntü kaynağını ayarlar. Bir görüntü dosyası veya desteklendiğinde bir cihaz kamerası kullanabilirsiniz.</string>
<string name="camera_device">Kamera</string> <string name="camera_device">Kamera</string>
<string name="camera_device_description">“Görüntü Kaynağı” ayarı Cihaz Kamerası olarak ayarlanmışsa, bu ayar kullanılacak fiziksel kamerayı ayarlar.</string>
<string name="camera_facing_front">Ön</string> <string name="camera_facing_front">Ön</string>
<string name="camera_facing_back">Geri</string> <string name="camera_facing_back">Geri</string>
<!-- Graphics settings strings --> <!-- Graphics settings strings -->
@ -209,7 +212,7 @@
<string name="delay_render_thread_description">GPU\'ya veri gönderirken oyun işleme iş parçacığını geciktirin. Dinamik kare hızlarına sahip (çok az sayıda) uygulamada performans sorunlarına yardımcı olur.</string> <string name="delay_render_thread_description">GPU\'ya veri gönderirken oyun işleme iş parçacığını geciktirin. Dinamik kare hızlarına sahip (çok az sayıda) uygulamada performans sorunlarına yardımcı olur.</string>
<string name="advanced">Gelişmiş\"</string> <string name="advanced">Gelişmiş\"</string>
<string name="texture_sampling_name">Doku Örnekleme</string> <string name="texture_sampling_name">Doku Örnekleme</string>
<string name="texture_sampling_description">Oyunlar tarafından kullanılan örnekleme filtresini geçersiz kılar. Bu, yükseltme sırasında kötü davranan oyunlarla ilgili bazı durumlarda yararlı olabilir. Emin değilseniz, bunu Oyun Kontrollü olarak ayarlayın.</string> <string name="texture_sampling_description">Uygulamalar tarafından kullanılan örnekleme filtresini geçersiz kılar. Bu, görüntü yükseltme sırasında hatalı davranan uygulamaların olduğu bazı durumlarda faydalı olabilir. Emin değilseniz, bunu Uygulama Kontrollü olarak ayarlayın.</string>
<string name="shaders_accurate_mul">İsabetli Çoğaltma</string> <string name="shaders_accurate_mul">İsabetli Çoğaltma</string>
<string name="shaders_accurate_mul_description">Donanım gölgelendiricilerinde daha doğru çarpım kullanır, bu da bazı grafik hatalarını düzeltebilir. Etkinleştirildiğinde performans düşecektir.</string> <string name="shaders_accurate_mul_description">Donanım gölgelendiricilerinde daha doğru çarpım kullanır, bu da bazı grafik hatalarını düzeltebilir. Etkinleştirildiğinde performans düşecektir.</string>
<string name="asynchronous_gpu">Asenkron GPU emülasyonunu etkinleştir</string> <string name="asynchronous_gpu">Asenkron GPU emülasyonunu etkinleştir</string>
@ -258,6 +261,7 @@
<!-- Audio settings strings --> <!-- Audio settings strings -->
<string name="audio_volume">Ses düzeyi</string> <string name="audio_volume">Ses düzeyi</string>
<string name="audio_stretch">Ses Gerdirme</string> <string name="audio_stretch">Ses Gerdirme</string>
<string name="audio_stretch_description">Takılmayı azaltmak için sesi esnetir. Etkinleştirildiğinde, ses gecikmesini artırır ve performansı biraz düşürür.</string>
<string name="realtime_audio">Gerçek zamanlı sesi etkinleştir</string> <string name="realtime_audio">Gerçek zamanlı sesi etkinleştir</string>
<string name="realtime_audio_description">Emülasyon kare hızındaki düşüşleri hesaba katmak için ses çalma hızını ölçeklendirir. Bu, oyun kare hızı düşük olsa bile sesin tam hızda çalınacağı anlamına gelir. Ses senkronizasyon sorunlarına neden olabilir.</string> <string name="realtime_audio_description">Emülasyon kare hızındaki düşüşleri hesaba katmak için ses çalma hızını ölçeklendirir. Bu, oyun kare hızı düşük olsa bile sesin tam hızda çalınacağı anlamına gelir. Ses senkronizasyon sorunlarına neden olabilir.</string>
<string name="audio_input_type">Ses Giriş Cihazı</string> <string name="audio_input_type">Ses Giriş Cihazı</string>
@ -271,14 +275,20 @@
<string name="cpu_clock_speed">CPU Saat Hızı</string> <string name="cpu_clock_speed">CPU Saat Hızı</string>
<string name="vsync">V-Sync\'i Etkinleştir</string> <string name="vsync">V-Sync\'i Etkinleştir</string>
<string name="vsync_description">Oyun kare hızını cihazınızın yenileme hızına senkronize eder.</string> <string name="vsync_description">Oyun kare hızını cihazınızın yenileme hızına senkronize eder.</string>
<string name="renderer_debug_description">Grafiklerle ilgili ek hata ayıklama bilgilerini günlüğe kaydedin. Etkinleştirildiğinde, oyun performansı önemli ölçüde azalacaktır.</string>
<string name="instant_debug_log">Her mesajda günlük çıktısını temizle</string>
<string name="instant_debug_log_description">Hata ayıklama günlüğünü hemen dosyaya işler. Azahar çöküyor ve günlük çıktısı kesiliyorsa bunu kullanın.</string>
<string name="delay_start_lle_modules">LLE modülleriyle başlamayı geciktir</string> <string name="delay_start_lle_modules">LLE modülleriyle başlamayı geciktir</string>
<string name="delay_start_lle_modules_description">LLE modülleri etkinken uygulamanın başlamasını geciktirir</string> <string name="delay_start_lle_modules_description">LLE modülleri etkinken uygulamanın başlamasını geciktirir</string>
<string name="deterministic_async_operations">Deterministik Asenkron İşlemler</string>
<string name="deterministic_async_operations_description">Hata ayıklama için asenkron işlemleri deterministik hale getirir. Bunu etkinleştirmek donmalara neden olabilir.</string>
<!-- Layout settings strings --> <!-- Layout settings strings -->
<string name="layout_screen_orientation">Ekran Yönelimi</string> <string name="layout_screen_orientation">Ekran Yönelimi</string>
<string name="layout_screen_orientation_auto_sensor">Otomatik</string> <string name="layout_screen_orientation_auto_sensor">Otomatik</string>
<string name="layout_screen_orientation_landscape">Yatay</string>
<string name="layout_screen_orientation_landscape_reverse">Ters Yatay</string>
<string name="layout_screen_orientation_portrait">Portre</string> <string name="layout_screen_orientation_portrait">Portre</string>
<string name="layout_screen_orientation_portrait_reverse">Ters Portre</string> <string name="layout_screen_orientation_portrait_reverse">Ters Portre</string>
<!-- Miscellaneous --> <!-- Miscellaneous -->
<string name="clear">Temizle</string> <string name="clear">Temizle</string>
<string name="slider_default">Varsayılan</string> <string name="slider_default">Varsayılan</string>
@ -292,6 +302,7 @@
<string name="learn_more">Daha Fazla Öğren </string> <string name="learn_more">Daha Fazla Öğren </string>
<string name="close">Kapat</string> <string name="close">Kapat</string>
<string name="reset_to_default">Varsayılanlara Sıfırla</string> <string name="reset_to_default">Varsayılanlara Sıfırla</string>
<string name="redump_games"><![CDATA[Lütfen <a href=\"https://web.archive.org/web/20240304210021/https://citra-emu.org/wiki/dumping-game-cartridges/\">oyun kartuşlarınızı</a> veya <a href=\"https://web.archive.org/web/20240304210011/https://citra-emu.org/wiki/dumping-installed-titles/\">yüklü başlıklarınızı</a>yeniden yüklemek için kılavuzları izleyin.]]></string>
<string name="option_default">Varsayılan</string> <string name="option_default">Varsayılan</string>
<string name="off">Kapalı</string> <string name="off">Kapalı</string>
<string name="install">Yükle</string> <string name="install">Yükle</string>
@ -311,7 +322,6 @@
<string name="cancelling">İptal ediliyor...</string> <string name="cancelling">İptal ediliyor...</string>
<string name="important">Önemli</string> <string name="important">Önemli</string>
<string name="dont_show_again">Tekrar gösterme</string> <string name="dont_show_again">Tekrar gösterme</string>
<!-- Add Directory Screen--> <!-- Add Directory Screen-->
<string name="select_game_folder">Oyun Dosyası Seç</string> <string name="select_game_folder">Oyun Dosyası Seç</string>
@ -341,8 +351,11 @@
<string name="emulation_menu_help">Menüye erişmek için Geri\'ye basın</string> <string name="emulation_menu_help">Menüye erişmek için Geri\'ye basın</string>
<string name="emulation_save_state">Durumu Kaydet</string> <string name="emulation_save_state">Durumu Kaydet</string>
<string name="emulation_load_state">Durumu Yükle</string> <string name="emulation_load_state">Durumu Yükle</string>
<string name="emulation_empty_state_slot">Yuva %1$d</string>
<string name="emulation_occupied_state_slot">Yuva %1$d - %2$tF %2$tR</string>
<string name="emulation_show_fps">FPS\'i Göster</string> <string name="emulation_show_fps">FPS\'i Göster</string>
<string name="emulation_haptic_feedback">Dokunsal Geri Bildirim</string> <string name="emulation_haptic_feedback">Dokunsal Geri Bildirim</string>
<string name="emulation_overlay_options">Yerleşim Seçenekleri</string>
<string name="emulation_configure_controls">Kontrolleri Yapılandır</string> <string name="emulation_configure_controls">Kontrolleri Yapılandır</string>
<string name="emulation_edit_layout">Düzeni Değiştir</string> <string name="emulation_edit_layout">Düzeni Değiştir</string>
<string name="emulation_done">Bitti</string> <string name="emulation_done">Bitti</string>
@ -372,6 +385,8 @@
<string name="small_screen_position_bottom_left">Sol Alt</string> <string name="small_screen_position_bottom_left">Sol Alt</string>
<string name="small_screen_position_above">Yukarı</string> <string name="small_screen_position_above">Yukarı</string>
<string name="small_screen_position_below">Aşağı</string> <string name="small_screen_position_below">Aşağı</string>
<string name="screen_gap">Ekran Boşluğu</string>
<string name="screen_gap_description">Tüm iki ekran modlarında ekranlar arasındaki boşluk. Büyük ekranın 240 piksel yüksekliğine göre px cinsinden ölçülür.</string>
<string name="large_screen_proportion">Büyük Ekran Oranı</string> <string name="large_screen_proportion">Büyük Ekran Oranı</string>
<string name="large_screen_proportion_description">Büyük Ekran düzeninde büyük ekran küçük ekrandan kaç kat daha büyük olsun?</string> <string name="large_screen_proportion_description">Büyük Ekran düzeninde büyük ekran küçük ekrandan kaç kat daha büyük olsun?</string>
<string name="emulation_adjust_custom_layout">Ayarlarda Özel Düzeni Değiştirin</string> <string name="emulation_adjust_custom_layout">Ayarlarda Özel Düzeni Değiştirin</string>
@ -384,9 +399,12 @@
<string name="emulation_custom_layout_width">Genişlik</string> <string name="emulation_custom_layout_width">Genişlik</string>
<string name="emulation_custom_layout_height">Yükseklik</string> <string name="emulation_custom_layout_height">Yükseklik</string>
<string name="emulation_swap_screens">Ekranları Değiştir</string> <string name="emulation_swap_screens">Ekranları Değiştir</string>
<string name="emulation_touch_overlay_reset">Yerleşimi Sıfırla</string>
<string name="emulation_close_game">Oyunu Kapat</string> <string name="emulation_close_game">Oyunu Kapat</string>
<string name="emulation_toggle_pause">Duraklatmayı Aç / Kapat</string>
<string name="miscellaneous">Çeşitli</string> <string name="miscellaneous">Çeşitli</string>
<string name="use_artic_base_controller">Artic Base Sunucusundayken Artic Oyun Kolunu kullan</string> <string name="use_artic_base_controller">Artic Base Sunucusundayken Artic Oyun Kolunu kullan</string>
<string name="use_artic_base_controller_description">Artic Base Sunucusuna bağlanıldığında yapılandırılmış giriş cihazı yerine Artic Base Sunucusu tarafından sağlanan kontrolleri kullanın.</string>
<string name="emulation_close_game_message">Mevcut oyunu kapatmak istediğinizden emin misiniz?</string> <string name="emulation_close_game_message">Mevcut oyunu kapatmak istediğinizden emin misiniz?</string>
<string name="menu_emulation_amiibo">Amiibo</string> <string name="menu_emulation_amiibo">Amiibo</string>
<string name="menu_emulation_amiibo_load">Yükle</string> <string name="menu_emulation_amiibo_load">Yükle</string>
@ -513,6 +531,8 @@
<string name="theme_mode_light">ık</string> <string name="theme_mode_light">ık</string>
<string name="theme_mode_dark">Koyu</string> <string name="theme_mode_dark">Koyu</string>
<!-- Material You theme -->
<string name="material_you">Material You</string>
<string name="material_you_description">Uygulama genelinde işletim sisteminin renk temasını kullanın (Etkinleştirildiğinde “Tema Rengi” ayarını geçersiz kılar)</string> <string name="material_you_description">Uygulama genelinde işletim sisteminin renk temasını kullanın (Etkinleştirildiğinde “Tema Rengi” ayarını geçersiz kılar)</string>
<!-- Static theme color --> <!-- Static theme color -->
@ -569,6 +589,9 @@
<string name="side_by_side">Yan Yana</string> <string name="side_by_side">Yan Yana</string>
<string name="reverse_side_by_side">Ters Yan Yana</string> <string name="reverse_side_by_side">Ters Yan Yana</string>
<string name="anaglyph">Anaglif</string> <string name="anaglyph">Anaglif</string>
<string name="interlaced">Geçmeli</string>
<string name="reverse_interlaced">Ters Geçmeli</string>
<!-- Graphics API names --> <!-- Graphics API names -->
<string name="opengles">OpenGLES</string> <string name="opengles">OpenGLES</string>
<string name="vulkan">Vulkan</string> <string name="vulkan">Vulkan</string>
@ -621,6 +644,7 @@
<string name="matinique">Martinik</string> <string name="matinique">Martinik</string>
<string name="mexico">Meksika</string> <string name="mexico">Meksika</string>
<string name="monsterrat">Montserrat</string> <string name="monsterrat">Montserrat</string>
<string name="netherlands_antilles">Hollanda Antilleri</string>
<string name="nicaragua">Nikaragua</string> <string name="nicaragua">Nikaragua</string>
<string name="panama">Panama</string> <string name="panama">Panama</string>
<string name="paraguay">Paraguay</string> <string name="paraguay">Paraguay</string>

View file

@ -297,6 +297,8 @@
<string name="delay_start_lle_modules_description">当 LLE 模块启用时延迟应用的启动。</string> <string name="delay_start_lle_modules_description">当 LLE 模块启用时延迟应用的启动。</string>
<string name="deterministic_async_operations">确定性异步操作</string> <string name="deterministic_async_operations">确定性异步操作</string>
<string name="deterministic_async_operations_description">使异步操作在调试时具有确定性。启用此功能可能会导致停滞。</string> <string name="deterministic_async_operations_description">使异步操作在调试时具有确定性。启用此功能可能会导致停滞。</string>
<string name="enable_rpc_server">启用 RPC 服务器</string>
<string name="enable_rpc_server_desc">在端口 45987 上启用 RPC 服务器。这允许远程读/写客户机内存。</string>
<!-- Layout settings strings --> <!-- Layout settings strings -->
<string name="layout_screen_orientation">屏幕方向</string> <string name="layout_screen_orientation">屏幕方向</string>
@ -305,6 +307,12 @@
<string name="layout_screen_orientation_landscape_reverse">横向反转</string> <string name="layout_screen_orientation_landscape_reverse">横向反转</string>
<string name="layout_screen_orientation_portrait">纵向</string> <string name="layout_screen_orientation_portrait">纵向</string>
<string name="layout_screen_orientation_portrait_reverse">纵向反转</string> <string name="layout_screen_orientation_portrait_reverse">纵向反转</string>
<string name="aspect_ratio_default">默认</string>
<string name="aspect_ratio_16_9">16:9</string>
<string name="aspect_ratio_4_3">4:3</string>
<string name="aspect_ratio_21_9_fullscreen">21:9</string>
<string name="aspect_ratio_16_10_fullscreen_stretched">16:10</string>
<string name="aspect_ratio_stretch">拉伸</string>
<!-- Miscellaneous --> <!-- Miscellaneous -->
<string name="clear">清除</string> <string name="clear">清除</string>
@ -341,6 +349,8 @@
<string name="cancelling">取消中…</string> <string name="cancelling">取消中…</string>
<string name="important">重要提示</string> <string name="important">重要提示</string>
<string name="dont_show_again">不再显示</string> <string name="dont_show_again">不再显示</string>
<string name="visibility">可见度</string>
<string name="information">信息</string>
<!-- Add Directory Screen--> <!-- Add Directory Screen-->
<string name="select_game_folder">选择游戏目录</string> <string name="select_game_folder">选择游戏目录</string>
@ -388,6 +398,7 @@
<string name="emulation_control_dpad_slide_enable">十字方向键滑动</string> <string name="emulation_control_dpad_slide_enable">十字方向键滑动</string>
<string name="emulation_open_settings">打开设置项</string> <string name="emulation_open_settings">打开设置项</string>
<string name="emulation_open_cheats">开启金手指</string> <string name="emulation_open_cheats">开启金手指</string>
<string name="emulation_aspect_ratio">宽高比</string>
<string name="emulation_switch_screen_layout">屏幕布局</string> <string name="emulation_switch_screen_layout">屏幕布局</string>
<string name="emulation_switch_portrait_layout">纵向屏幕布局</string> <string name="emulation_switch_portrait_layout">纵向屏幕布局</string>
<string name="emulation_screen_layout_largescreen">大屏幕</string> <string name="emulation_screen_layout_largescreen">大屏幕</string>
@ -424,7 +435,7 @@
<string name="emulation_cycle_landscape_layouts">环形布局</string> <string name="emulation_cycle_landscape_layouts">环形布局</string>
<string name="emulation_swap_screens">交换上下屏</string> <string name="emulation_swap_screens">交换上下屏</string>
<string name="emulation_touch_overlay_reset">重置虚拟按键</string> <string name="emulation_touch_overlay_reset">重置虚拟按键</string>
<string name="emulation_show_overlay">显示虚拟按键</string> <string name="emulation_show_controller_overlay">显示虚拟控制器</string>
<string name="emulation_close_game">关闭游戏</string> <string name="emulation_close_game">关闭游戏</string>
<string name="emulation_toggle_pause">暂停/继续</string> <string name="emulation_toggle_pause">暂停/继续</string>
<string name="miscellaneous">杂项</string> <string name="miscellaneous">杂项</string>
@ -515,6 +526,34 @@
<string name="game_context_uninstall_dlc">卸载 DLC</string> <string name="game_context_uninstall_dlc">卸载 DLC</string>
<string name="game_context_uninstall_updates">卸载更新</string> <string name="game_context_uninstall_updates">卸载更新</string>
<!-- Performance Overlay settings -->
<string name="performance_overlay_show">显示性能参数</string>
<string name="performance_overlay_options">性能参数覆盖</string>
<string name="performance_overlay_enable">启用性能参数覆盖</string>
<string name="performance_overlay_options_description">设置是否显示性能参数以及其他覆盖信息。</string>
<string name="overlay_show_fps">显示帧率</string>
<string name="overlay_show_fps_description">显示当前每秒帧数。</string>
<string name="overlay_show_frametime">显示帧生成时间</string>
<string name="overlay_show_frametime_description">显示当前帧生成时间。</string>
<string name="overlay_show_speed">显示速度</string>
<string name="overlay_show_speed_description">显示当前模拟速度百分比。</string>
<string name="overlay_show_app_ram_usage">显示应用内存占用</string>
<string name="overlay_show_app_ram_usage_description">显示模拟器使用的内存容量。</string>
<string name="overlay_show_available_ram">显示可用内存</string>
<string name="overlay_show_available_ram_description">显示可用的内存容量。</string>
<string name="overlay_show_battery_temp">显示电池温度</string>
<string name="overlay_show_battery_temp_description">以摄氏度和华氏度显示当前电池温度。</string>
<string name="overlay_position">覆盖位置</string>
<string name="overlay_position_description">选择性能参数覆盖在屏幕上的显示位置。</string>
<string name="overlay_position_top_left">左上</string>
<string name="overlay_position_top_right">右上</string>
<string name="overlay_position_bottom_left">左下</string>
<string name="overlay_position_bottom_right">右下</string>
<string name="overlay_position_center_top">中上</string>
<string name="overlay_position_center_bottom">中下</string>
<string name="overlay_background">覆盖背景</string>
<string name="overlay_background_description">在覆盖层后面添加背景以便于识别。</string>
<!-- Cheats --> <!-- Cheats -->
<string name="cheats">金手指</string> <string name="cheats">金手指</string>
<string name="cheats_add">添加金手指</string> <string name="cheats_add">添加金手指</string>

View file

@ -8,7 +8,7 @@
<!-- Home Strings --> <!-- Home Strings -->
<string name="grid_menu_core_settings">Einstellungen</string> <string name="grid_menu_core_settings">Einstellungen</string>
<string name="home_options">Optionen</string> <string name="home_options">Einstellungen</string>
<string name="home_search">Suchen</string> <string name="home_search">Suchen</string>
<string name="home_games">Anwendungen</string> <string name="home_games">Anwendungen</string>
<string name="settings_description">Emulatoreinstellungen ändern </string> <string name="settings_description">Emulatoreinstellungen ändern </string>
@ -32,6 +32,8 @@
<string name="select_citra_user_folder_home_description">Ändere die Dateien, die Azahar nutzt, um Anwendungen zu laden</string> <string name="select_citra_user_folder_home_description">Ändere die Dateien, die Azahar nutzt, um Anwendungen zu laden</string>
<string name="theme_and_color_description">Ändere das Aussehen der App</string> <string name="theme_and_color_description">Ändere das Aussehen der App</string>
<string name="install_cia_title">CIA Installieren</string> <string name="install_cia_title">CIA Installieren</string>
<string name="warning_3ds_files"><![CDATA[Verschlüsselte Dateien und .3ds-Dateien werden nicht mehr unterstützt. Eine Entschlüsselung und/oder Umbenennung in .cci kann erforderlich sein. <a href=\"https://azahar-emu.org/blog/game-loading-changes/\">Erfahre mehr.</a>]]></string>
<!-- GPU driver installation --> <!-- GPU driver installation -->
<string name="select_gpu_driver">GPU-Treiber auswählen</string> <string name="select_gpu_driver">GPU-Treiber auswählen</string>
<string name="select_gpu_driver_title">Möchtest du den aktuellen GPU-Treiber ersetzten</string> <string name="select_gpu_driver_title">Möchtest du den aktuellen GPU-Treiber ersetzten</string>
@ -75,11 +77,15 @@
<string name="warning_help">Hilfe</string> <string name="warning_help">Hilfe</string>
<string name="warning_skip">Überspringen</string> <string name="warning_skip">Überspringen</string>
<string name="warning_cancel">Abbrechen</string> <string name="warning_cancel">Abbrechen</string>
<string name="select_citra_user_folder">Wähle einen Nutzterordner aus</string> <string name="select_citra_user_folder">Wähle ein Nutzerverzeichnis aus</string>
<string name="select_citra_user_folder_description"><![CDATA[Wähle dein <a href=\"https://web.archive.org/web/20240304193549/https://github.com/citra-emu/citra/wiki/Citra-Android-user-data-and-storage\">Nutzerdaten</a>verzeichnis, mit dem unteren Knopf.]]></string> <string name="select_citra_user_folder_description"><![CDATA[Wähle dein <a href=\"https://web.archive.org/web/20240304193549/https://github.com/citra-emu/citra/wiki/Citra-Android-user-data-and-storage\">Nutzerdaten</a>verzeichnis, mit dem unteren Knopf.]]></string>
<string name="select_which_user_directory_to_use">Es hat den Anschein, dass du Nutzerverzeichnisse für Lime3DS und Azahar eingerichtet hast. Das kann daran liegen, dass du von Lime3DS auf Azahar upgegradet hast und dabei ein neues Verzeichnis ausgewählt hast.\n\nEs kann sein, dass du dadurch gedacht hast, dass deine Speicherstände verloren gegangen sind - Wir entschuldigen und, sollte dies der Fall sein.\n\nMöchtest du wieder dein ursprüngliches Lime3DS-Verzeichnis nutzen, wodurch deine Einstellungen und Speicherstände von Lime3DS wiederhergestellt werden, oder das aktuelle Azahar-Nutzerverzeichnis nutzen?\n\nKeine der Verzeinisse werden dadurch gelöscht und du kannst das Verzeichnis jederzeit wechseln, indem du die „Wähle ein Nutzerverzeichnis aus“-Option auswählst.</string>
<string name="keep_current_azahar_directory">Aktuelles Azahar-Verzeichnis behalten</string>
<string name="use_prior_lime3ds_directory">Vorheriges Lime3DS-Verzeichnis nutzen</string>
<string name="select">Auswählen</string> <string name="select">Auswählen</string>
<string name="cannot_skip">Du kannst diesen Schritt nicht überspringen</string> <string name="cannot_skip">Du kannst diesen Schritt nicht überspringen</string>
<string name="cannot_skip_directory_description">Dieser Schritt ist nötig, damit Azahar funktionieren kann. Bitte wähle ein Verzeichnis aus, damit du fortfahren kannst.</string> <string name="cannot_skip_directory_description">Dieser Schritt ist nötig, damit Azahar funktionieren kann. Bitte wähle ein Verzeichnis aus, damit du fortfahren kannst.</string>
<string name="selecting_user_directory_without_write_permissions">Die Schreibrechte auf dein <a href="https://web.archive.org/web/20240304193549/https://github.com/citra-emu/citra/wiki/Citra-Android-user-data-and-storage">Nutzerdaten</a>-Verzeichnis, wo deine Speicherstände und andere Informationen gespeichert sind, fehlen. Dies kann durch ein Anwendungsupdate, oder ein Androidupdate passiert sein. Bitte wähle das Verzeichnis erneut aus, damit die Berechtigungen wiederhergestellt werden können.</string>
<string name="set_up_theme_settings">Design-Einstellung</string> <string name="set_up_theme_settings">Design-Einstellung</string>
<string name="setup_theme_settings_description">Konfigurieren sie ihre Designeinstellungen für Azahar.</string> <string name="setup_theme_settings_description">Konfigurieren sie ihre Designeinstellungen für Azahar.</string>
<string name="setup_set_theme">Design wählen</string> <string name="setup_set_theme">Design wählen</string>
@ -116,8 +122,28 @@
<string name="input_binding_description_horizontal_axis">Bewegen den Joystick nach links oder rechts.</string> <string name="input_binding_description_horizontal_axis">Bewegen den Joystick nach links oder rechts.</string>
<string name="button_home">HOME</string> <string name="button_home">HOME</string>
<string name="button_swap">Bildschirme tauschen</string> <string name="button_swap">Bildschirme tauschen</string>
<string name="button_turbo">Turbo</string>
<string name="input_message_analog_only">Diese Eingabe muss an einen Analogstick oder eine Steuerkreuz-Achse gebunden sein!</string> <string name="input_message_analog_only">Diese Eingabe muss an einen Analogstick oder eine Steuerkreuz-Achse gebunden sein!</string>
<string name="input_message_button_only">Diese Eingabe muss an einen Gamepad-Knopf gebunden sein!</string> <string name="input_message_button_only">Diese Eingabe muss an einen Gamepad-Knopf gebunden sein!</string>
<string name="turbo_limit_hotkey">Turbogeschwindigkeit</string>
<string name="turbo_enabled_toast">Turbogeschwindigkeit aktiviert</string>
<string name="turbo_disabled_toast">Turbogeschwindigkeit deaktiviert</string>
<!-- System files strings -->
<string name="setup_system_files">Systemdateien</string>
<string name="setup_system_files_description">Systemdateivorgänge wie die Installation von Systemdateien oder das Booten des HOME-Menüs durchführen</string>
<string name="setup_tool_connect">Verbindung mit Artic-Einrichtungstool erstellen</string>
<string name="setup_system_files_preamble"><![CDATA[Azahar benötigt Dateien von einer echten Konsole, um einige seiner Funktionen nutzen zu können. Du kannst diese Dateien mit dem Azahar Artic Einrichtung-Tool bekommen.<br>Hinweise:<ul><li><b>Bei diesem Vorgang werden konsolenspezifische Dateien in Azahar installiert. Gib deine Benutzer- oder NAND-Ordner nicht frei, nachdem der Einrichtungsvorgang durchgeführt wurde!</b></li><li>Während des Einrichtungsvorgangs, verknüpft Azahar deine Konsole mit dem Einrichtungstool. Du kannst die Verknüpfung jederzeit im „Systemdateien“-Reiter in den Emulatoreinstellungen beenden.</li><li>Gehe nicht zeitgleich mit deinem eigenen 3DS und Azahr online, da dies sonst zu Probleme führen könnte.</li><li>Damit die New 3DS-Einrichtung funktioniert, ist zuerst eine Old 3DS-Einrichtung erforderlich (Es wird empfohlen beides einzurichten).</li><li>Beide Setup-Modi funktionieren unabhängig vom Modell der Konsole, auf dem das Setup-Tool ausgeführt wird.</li></ul>]]></string>
<string name="setup_system_files_detect">Aktueller Systemdateienstatus wird abgerufen, bitte warten...</string>
<string name="delete_system_files">Einzigartige Konsolendaten entkoppeln</string>
<string name="delete_system_files_description"><![CDATA[Dadurch wird die Verknüpfung zwischen Azahar und deiner echten Konsole getrennt, was folgendes mitsichbringt:<br><ul><li>Dein OTP, SecureInfo und LocalFriendCodeSeed werden von Azahar entfernt.</li><li>Deine Freundesliste wird zurückgesetzt und du wirst aus deinem NNID/PNID Account abgemeldet.</li><li>Systemdateien und eShop-Titel, die durch Azahar erhalten wurden, werden unzugänglich, bis die Konsole wieder verknüpft wird (Speicherdaten gehen nicht verloren).</li></ul><br>Forfahren?]]></string>
<string name="setup_system_files_o3ds">Old 3DS-Einrichtung</string>
<string name="setup_system_files_n3ds">New 3DS-Einrichtung</string>
<string name="setup_system_files_possible">Einrichtung ist möglich.</string>
<string name="setup_system_files_o3ds_needed">Du musst zuerst die Old 3DS-Einrichtung abschließen.</string>
<string name="setup_system_files_completed">Einrichtung bereits abgeschlossen.</string>
<string name="setup_system_files_enter_address">Gib die Adresse des Artic Einrichtung-Tools ein</string>
<string name="setup_system_files_preparing">Einrichtung wird vorbereitet, bitte warten...</string>
<string name="boot_home_menu">HOME-Menü starten</string> <string name="boot_home_menu">HOME-Menü starten</string>
<string name="show_home_apps">Zeige Home Menü Apps in der Anwendungs Liste</string> <string name="show_home_apps">Zeige Home Menü Apps in der Anwendungs Liste</string>
<string name="run_system_setup">System-Setup ausführen, wenn das HOME-Menü aufgerufen wird</string> <string name="run_system_setup">System-Setup ausführen, wenn das HOME-Menü aufgerufen wird</string>
@ -127,14 +153,20 @@
<string name="generic_buttons">Knöpfe</string> <string name="generic_buttons">Knöpfe</string>
<string name="button">Knopf</string> <string name="button">Knopf</string>
<!-- System settings strings -->
<string name="emulation_settings">Emulationseinstellungen</string>
<string name="username">Nutzername</string> <string name="username">Nutzername</string>
<string name="new_3ds">New 3DS-Modus</string> <string name="new_3ds">New 3DS-Modus</string>
<string name="lle_applets">Nutze LLE-Applets (sofern installiert)</string> <string name="lle_applets">Nutze LLE-Applets (sofern installiert)</string>
<string name="enable_required_online_lle_modules">Aktivere benötigte LLE-Module, um Online-Funktionen zu aktivieren (sofern installiert)</string>
<string name="enable_required_online_lle_modules_desc">Aktiviert die LLE-Module, die vonnöten sind, um Online-Multispieler, eShop-Zugriff und mehr zu verwenden.</string>
<string name="clock">Uhr</string> <string name="clock">Uhr</string>
<string name="init_clock">Uhr</string> <string name="init_clock">Uhr</string>
<string name="init_clock_description">Du kannst die 3DS-Uhr so einstellen, dass sie entweder die Systemzeit deines Gerätes widerspiegelt, oder dir eine eigene Zeit aussuchen.</string> <string name="init_clock_description">Du kannst die 3DS-Uhr so einstellen, dass sie entweder die Systemzeit deines Gerätes widerspiegelt, oder dir eine eigene Zeit aussuchen.</string>
<string name="device_clock">Systemuhr</string> <string name="device_clock">Systemuhr</string>
<string name="simulated_clock">Simulierte Uhr</string> <string name="simulated_clock">Simulierte Uhr</string>
<string name="simulated_clock_description">Falls die Systemuhr auf „Simulierte Uhr“ gesetzt ist, verschiebt dies dementsprechend die Ursprungszeit und das Ursprungsdatum, auf das die Uhr eingestellt war.</string>
<string name="profile_settings">Profileinstellungen</string>
<string name="emulated_region">Region</string> <string name="emulated_region">Region</string>
<string name="emulated_language">Sprache</string> <string name="emulated_language">Sprache</string>
<string name="birthday">Geburtstag</string> <string name="birthday">Geburtstag</string>
@ -146,10 +178,18 @@
<string name="steps_per_hour_description">Anzahl der Schritte, die pro Stunde am Schrittzähler hinzugefügt werden soll. Wähle einen Bereich zwischen 0 und 65.535.</string> <string name="steps_per_hour_description">Anzahl der Schritte, die pro Stunde am Schrittzähler hinzugefügt werden soll. Wähle einen Bereich zwischen 0 und 65.535.</string>
<string name="console_id">Konsolen-ID</string> <string name="console_id">Konsolen-ID</string>
<string name="regenerate_console_id">Konsolen-ID regenerieren</string> <string name="regenerate_console_id">Konsolen-ID regenerieren</string>
<string name="regenerate_console_id_description">Dadurch wird deine aktuelle virtuelle 3DS Konsolen-ID durch eine neue ersetzt. Die aktuelle virtuelle Konsolen-ID kann nicht wiederhergestellt werden. Dies kann unerwartete Auswirkungen auf Anwendungen haben. Dies kann fehlschlagen, wenn du eine veraltete Konfigurationsspeicherdatei nutzt. Fortfahren?</string>
<string name="mac_address">MAC-Adresse</string>
<string name="regenerate_mac_address">MAC-Adresse regenerieren</string>
<string name="regenerate_mac_address_description">Dadurch wird deine aktuelle MAC-Adresse durch eine neue ersetzt. Dies wird nicht empfohlen, wenn du die MAC-Adresse mithilfe des Einrichtungs-Tools von deiner echten Konsole erhalten hast. Fortfahren?</string>
<string name="plugin_loader">3GX-Plugin-Lader</string> <string name="plugin_loader">3GX-Plugin-Lader</string>
<string name="plugin_loader_description">Lade 3GX Plugins von der emulierten SD-Karte, wenn sie verfügbar sind.</string> <string name="plugin_loader_description">Lade 3GX Plugins von der emulierten SD-Karte, wenn sie verfügbar sind.</string>
<string name="allow_plugin_loader">Erlaubt Anwendungen den Plugin-Lader-Zustand zu ändern</string> <string name="allow_plugin_loader">Erlaubt Anwendungen den Plugin-Lader-Zustand zu ändern</string>
<string name="allow_plugin_loader_description">Erlaubt es Homebrew-Anwendungen den Plugin-Lader zu aktivieren, auch wenn es sonst deaktiviert ist.</string> <string name="allow_plugin_loader_description">Erlaubt es Homebrew-Anwendungen den Plugin-Lader zu aktivieren, auch wenn es sonst deaktiviert ist.</string>
<string name="region_mismatch">Region passt nicht überein</string>
<string name="region_mismatch_emulated">Die Ländereinstellung ist für die ausgewählte emulierte Region nicht gültig.</string>
<string name="region_mismatch_console">Die Ländereinstellung ist für die gekoppelte Konsole ungültig.</string>
<!-- Camera settings strings --> <!-- Camera settings strings -->
<string name="inner_camera">Innenkamera</string> <string name="inner_camera">Innenkamera</string>
<string name="outer_left_camera">Außenkamera Links</string> <string name="outer_left_camera">Außenkamera Links</string>
@ -176,15 +216,24 @@
<string name="texture_filter_description">Verbessert die Optik von Anwendungen durch Anwenden eines Filters auf Texturen. Die unterstützten Filter sind Anime4K Ultrafast, Bicubic, ScaleForce, xBRZ freescale und MMPX.</string> <string name="texture_filter_description">Verbessert die Optik von Anwendungen durch Anwenden eines Filters auf Texturen. Die unterstützten Filter sind Anime4K Ultrafast, Bicubic, ScaleForce, xBRZ freescale und MMPX.</string>
<string name="delay_render_thread">Game-Render-Thread verzögern</string> <string name="delay_render_thread">Game-Render-Thread verzögern</string>
<string name="delay_render_thread_description">Verzögert den Render-Thread des Spiels, wenn er Daten an die GPU sendet. Hilft bei Leistungsproblemen in den (sehr wenigen) Anwendungen mit dynamischen Frameraten.</string> <string name="delay_render_thread_description">Verzögert den Render-Thread des Spiels, wenn er Daten an die GPU sendet. Hilft bei Leistungsproblemen in den (sehr wenigen) Anwendungen mit dynamischen Frameraten.</string>
<string name="advanced">Fortgeschritten\"</string>
<string name="texture_sampling_name">Textur-Sampling</string>
<string name="texture_sampling_description">Setzt den von Spielen verwendeten Sampling-Filter außer Kraft. Dies kann in bestimmten Fällen nützlich sein, wenn sich die Spiele beim Hochskalieren schlecht verhalten. Wenn du dir unsicher bist, setze diese Einstellung auf „Spielgesteuert“</string>
<string name="shaders_accurate_mul">Genaue Multiplikation</string> <string name="shaders_accurate_mul">Genaue Multiplikation</string>
<string name="shaders_accurate_mul_description">Benutzt genauere Multiplikation in Hardware-Shadern, welche einige Grafikbugs fixen kann. Wenn aktiviert, ist die Leistung reduziert.</string> <string name="shaders_accurate_mul_description">Benutzt genauere Multiplikation in Hardware-Shadern, welche einige Grafikbugs fixen kann. Wenn aktiviert, ist die Leistung reduziert.</string>
<string name="asynchronous_gpu">Asynchrone GPU-Emulation aktivieren</string> <string name="asynchronous_gpu">Asynchrone GPU-Emulation aktivieren</string>
<string name="asynchronous_gpu_description">Verwendet einen separaten Thread, um die GPU asynchron zu emulieren. Wenn aktiviert, wird die Leistung verbessert.</string> <string name="asynchronous_gpu_description">Verwendet einen separaten Thread, um die GPU asynchron zu emulieren. Wenn aktiviert, wird die Leistung verbessert.</string>
<string name="frame_limit_enable">Höchstgeschwindigkeit</string> <string name="frame_limit_enable">Höchstgeschwindigkeit</string>
<string name="frame_limit_enable_description">Wenn aktiviert, wird die Emulationsgeschwindigkeit auf einen angegebenen Prozentsatz der normalen Geschwindigkeit begrenzt. Wenn diese Option deaktiviert ist, wird die Emulationsgeschwindigkeit nicht begrenzt und der Hotkey für die Turbogeschwindigkeit funktioniert nicht.</string>
<string name="frame_limit_slider">Höchstgeschwindigkeit in Prozent</string> <string name="frame_limit_slider">Höchstgeschwindigkeit in Prozent</string>
<string name="frame_limit_slider_description">Gibt den Prozentsatz zur Begrenzung der Emulationsgeschwindigkeit an. Mit der Voreinstellung von 100% wird die Emulation auf normale Geschwindigkeit begrenzt. Höhere oder niedrigere Werte erhöhen oder verringern die Geschwindigkeitsbeschränkung.</string> <string name="frame_limit_slider_description">Gibt den Prozentsatz zur Begrenzung der Emulationsgeschwindigkeit an. Mit der Voreinstellung von 100% wird die Emulation auf normale Geschwindigkeit begrenzt. Höhere oder niedrigere Werte erhöhen oder verringern die Geschwindigkeitsbeschränkung.</string>
<string name="turbo_limit">Turbogeschwindigkeitslimit</string>
<string name="turbo_limit_description">Emulationsgeschwindigkeit wird genutzt, während der Turbo-Hotkey aktiviert ist.</string>
<string name="expand_to_cutout_area">Zum Ausschnitbereich erweitern</string>
<string name="expand_to_cutout_area_description">Erweitert den Displaybereich, um den Ausschnitt- oder Einkerbungsbereich einzuschließen.</string>
<string name="internal_resolution">Interne Auflösung</string> <string name="internal_resolution">Interne Auflösung</string>
<string name="internal_resolution_description">Gibt die zum Rendern verwendete Auflösung an. Eine hohe Auflösung verbessert die Bildqualität erheblich, geht aber auch zu Lasten der Leistung und kann bei bestimmten Anwendungen zu Störungen führen.</string> <string name="internal_resolution_description">Gibt die zum Rendern verwendete Auflösung an. Eine hohe Auflösung verbessert die Bildqualität erheblich, geht aber auch zu Lasten der Leistung und kann bei bestimmten Anwendungen zu Störungen führen.</string>
<string name="internal_resolution_setting_auto">Auto (Bildschirmgröße)</string>
<string name="internal_resolution_setting_1x">Nativ (400x240)</string> <string name="internal_resolution_setting_1x">Nativ (400x240)</string>
<string name="internal_resolution_setting_2x">2x Nativ (800x480)</string> <string name="internal_resolution_setting_2x">2x Nativ (800x480)</string>
<string name="internal_resolution_setting_3x">3x Nativ (1200x720)</string> <string name="internal_resolution_setting_3x">3x Nativ (1200x720)</string>
@ -200,6 +249,7 @@
<string name="stereoscopy">Stereoskopie</string> <string name="stereoscopy">Stereoskopie</string>
<string name="render3d">Stereoskopischer 3D-Modus</string> <string name="render3d">Stereoskopischer 3D-Modus</string>
<string name="factor3d">Tiefe</string> <string name="factor3d">Tiefe</string>
<string name="factor3d_description">Gibt den Wert des 3D-Schiebereglers an. Dieser Wert sollte auf mehr als 0 % eingestellt werden, wenn Stereoskopisches 3D aktiviert ist.\nHinweis: Tiefenwerte über 100% werden nicht von echter Hardware unterstützt und könnten zu grafischen Fehlern führen.</string>
<string name="disable_right_eye_render">Rendering für das rechte Auge deaktivieren</string> <string name="disable_right_eye_render">Rendering für das rechte Auge deaktivieren</string>
<string name="disable_right_eye_render_description">Verbessert die Leistung in einigen Anwendungen erheblich, kann in anderen jedoch zu Flackern führen.</string> <string name="disable_right_eye_render_description">Verbessert die Leistung in einigen Anwendungen erheblich, kann in anderen jedoch zu Flackern führen.</string>
<string name="cardboard_vr">Karton-VR</string> <string name="cardboard_vr">Karton-VR</string>
@ -242,6 +292,11 @@
<string name="renderer_debug">Debug-Renderer</string> <string name="renderer_debug">Debug-Renderer</string>
<string name="renderer_debug_description">Zusätzliche grafisch spezifische Debuginformationen werden protokolliert. Wenn dies aktiviert ist, ist die Leistung des Spiels minimal reduziert.</string> <string name="renderer_debug_description">Zusätzliche grafisch spezifische Debuginformationen werden protokolliert. Wenn dies aktiviert ist, ist die Leistung des Spiels minimal reduziert.</string>
<string name="instant_debug_log">Protokollausgabe bei jeder Nachricht</string> <string name="instant_debug_log">Protokollausgabe bei jeder Nachricht</string>
<string name="instant_debug_log_description">Überträgt das Debugprotokoll sofort in eine Datei. Verwenden Sie dies, wenn Azahar abstürzt und die Protokollausgabe abgeschnitten wird.</string>
<string name="delay_start_lle_modules">Start mit LLE-Module verzögern</string>
<string name="delay_start_lle_modules_description">Verzögert den Start der App, wenn die LLE-Module aktiviert sind.</string>
<string name="deterministic_async_operations">Deterministische asynchrone Operationen</string>
<string name="deterministic_async_operations_description">Asynchrone Operationen werden für Debug-Zwecke deterministisch. Die Aktivierung dieser Funktion kann zum Einfrieren führen.</string>
<!-- Layout settings strings --> <!-- Layout settings strings -->
<string name="layout_screen_orientation">Bildschirmausrichtung</string> <string name="layout_screen_orientation">Bildschirmausrichtung</string>
<string name="layout_screen_orientation_auto_sensor">Automatisch</string> <string name="layout_screen_orientation_auto_sensor">Automatisch</string>
@ -249,13 +304,13 @@
<string name="layout_screen_orientation_landscape_reverse">Umgekehrtes Querformat</string> <string name="layout_screen_orientation_landscape_reverse">Umgekehrtes Querformat</string>
<string name="layout_screen_orientation_portrait">Hochformat</string> <string name="layout_screen_orientation_portrait">Hochformat</string>
<string name="layout_screen_orientation_portrait_reverse">Umgekehrtes Hochformat</string> <string name="layout_screen_orientation_portrait_reverse">Umgekehrtes Hochformat</string>
<!-- Miscellaneous --> <!-- Miscellaneous -->
<string name="clear">Zurücksetzen</string> <string name="clear">Zurücksetzen</string>
<string name="slider_default">Standard</string> <string name="slider_default">Standard</string>
<string name="ini_saved">Einstellungen gespeichert</string> <string name="ini_saved">Einstellungen gespeichert</string>
<string name="gameid_saved">Einstellungen gespeichert für %1$s</string> <string name="gameid_saved">Einstellungen gespeichert für %1$s</string>
<string name="error_saving">Fehler beim Speichern von %1$s.ini: %2$s</string> <string name="error_saving">Fehler beim Speichern von %1$s.ini: %2$s</string>
<string name="saving">Speichervorgang...</string>
<string name="loading">Ladevorgang...</string> <string name="loading">Ladevorgang...</string>
<string name="next">Weiter</string> <string name="next">Weiter</string>
<string name="back">Zurück</string> <string name="back">Zurück</string>
@ -276,10 +331,14 @@
<string name="select_rtc_time">RTC-Zeit auswählen</string> <string name="select_rtc_time">RTC-Zeit auswählen</string>
<string name="reset_setting_confirmation">Möchtest du diese Einstellung auf den Werkzustand zurücksetzen?</string> <string name="reset_setting_confirmation">Möchtest du diese Einstellung auf den Werkzustand zurücksetzen?</string>
<string name="setting_not_editable">Du kannst das nicht bearbeiten</string> <string name="setting_not_editable">Du kannst das nicht bearbeiten</string>
<string name="setting_disabled">Einstellungen deaktiviert</string>
<string name="setting_disabled_description">Diese Einstellung ist aktuell deaktiviert, da eine andere Einstellung nicht den geeigneten Wert hat. </string>
<string name="setting_not_editable_description">Diese Einstellung kann nicht geändert werden, solange ein Spiel läuft.</string> <string name="setting_not_editable_description">Diese Einstellung kann nicht geändert werden, solange ein Spiel läuft.</string>
<string name="auto_select">Automatisch auswählen</string> <string name="auto_select">Automatisch auswählen</string>
<string name="start">Start</string> <string name="start">Start</string>
<string name="cancelling">Wird abgebrochen...</string> <string name="cancelling">Wird abgebrochen...</string>
<string name="important">Wichtig</string>
<string name="dont_show_again">Nicht noch einmal anzeigen</string>
<!-- Add Directory Screen--> <!-- Add Directory Screen-->
<string name="select_game_folder">Spieleordner auswählen</string> <string name="select_game_folder">Spieleordner auswählen</string>
@ -346,6 +405,8 @@
<string name="small_screen_position_bottom_left">Unten Links</string> <string name="small_screen_position_bottom_left">Unten Links</string>
<string name="small_screen_position_above">Oben</string> <string name="small_screen_position_above">Oben</string>
<string name="small_screen_position_below">Unten</string> <string name="small_screen_position_below">Unten</string>
<string name="screen_gap">Bildschirmabstand</string>
<string name="screen_gap_description">Abstand zwischen den Bildschirmen in allen Zwei-Bildschirm-Modi. Gemessen in px relativ zur 240px-Höhe des größeren Bildschirms.</string>
<string name="large_screen_proportion">Größe des großen Bildschirms</string> <string name="large_screen_proportion">Größe des großen Bildschirms</string>
<string name="large_screen_proportion_description">Wie viel größer ist der große Bildschirm, als der kleine in der Bildschirmanordnung?</string> <string name="large_screen_proportion_description">Wie viel größer ist der große Bildschirm, als der kleine in der Bildschirmanordnung?</string>
<string name="emulation_adjust_custom_layout">Bearbeite die benutzerdefinierte Anordnung in den Einstellungen</string> <string name="emulation_adjust_custom_layout">Bearbeite die benutzerdefinierte Anordnung in den Einstellungen</string>
@ -360,11 +421,11 @@
<string name="emulation_cycle_landscape_layouts">Anordnung wechseln</string> <string name="emulation_cycle_landscape_layouts">Anordnung wechseln</string>
<string name="emulation_swap_screens">Bildschirme tauschen</string> <string name="emulation_swap_screens">Bildschirme tauschen</string>
<string name="emulation_touch_overlay_reset">Overlay zurücksetzen</string> <string name="emulation_touch_overlay_reset">Overlay zurücksetzen</string>
<string name="emulation_show_overlay">Overlay anzeigen</string>
<string name="emulation_close_game">Spiel schließen</string> <string name="emulation_close_game">Spiel schließen</string>
<string name="emulation_toggle_pause">Pause umschalten</string> <string name="emulation_toggle_pause">Pause umschalten</string>
<string name="miscellaneous">Weiteres</string> <string name="miscellaneous">Weiteres</string>
<string name="use_artic_base_controller">Verwende den Artic Controller, wenn eine Verbindung zum Artic Base Server besteht</string> <string name="use_artic_base_controller">Verwende den Artic Controller, wenn eine Verbindung zum Artic Base Server besteht</string>
<string name="use_artic_base_controller_description">Verwende die Artic Base Server bereitgestellten Steuerelemente, wenn du damit verbunden bist, anstelle des konfigurierten Eingabegeräts.</string>
<string name="emulation_close_game_message">Möchtest du das Spiel wirklich schließen?</string> <string name="emulation_close_game_message">Möchtest du das Spiel wirklich schließen?</string>
<string name="menu_emulation_amiibo">Amiibo</string> <string name="menu_emulation_amiibo">Amiibo</string>
<string name="menu_emulation_amiibo_load">Laden</string> <string name="menu_emulation_amiibo_load">Laden</string>
@ -426,6 +487,9 @@
<string name="save_load_error">Fehler beim Speichern/Laden</string> <string name="save_load_error">Fehler beim Speichern/Laden</string>
<string name="fatal_error">Schwerwiegender Fehler</string> <string name="fatal_error">Schwerwiegender Fehler</string>
<string name="fatal_error_message">Es ist ein schwerwiegender Fehler aufgetreten. Weitere Informationen findest du in der Protokolldatei.\nDas Fortfahren könnte zu ungewollten Abstürzen oder Problemen führen.</string> <string name="fatal_error_message">Es ist ein schwerwiegender Fehler aufgetreten. Weitere Informationen findest du in der Protokolldatei.\nDas Fortfahren könnte zu ungewollten Abstürzen oder Problemen führen.</string>
<string name="invalid_region">Ungültige Region</string>
<string name="unsupported_encrypted">Nicht unterstützte verschlüsselte Anwendung</string>
<!-- Disk Shader Cache --> <!-- Disk Shader Cache -->
<string name="preparing_shaders">Shader werden vorbereitet</string> <string name="preparing_shaders">Shader werden vorbereitet</string>
<string name="building_shaders">Shader werden erstellt</string> <string name="building_shaders">Shader werden erstellt</string>
@ -433,6 +497,18 @@
<!-- About Game Dialog --> <!-- About Game Dialog -->
<string name="play">Spielen</string> <string name="play">Spielen</string>
<string name="shortcut">Verknüpfung</string> <string name="shortcut">Verknüpfung</string>
<string name="uninstall_cia">Anwendung deinstallieren</string>
<string name="uninstalling">Deinstallationsvorgang...</string>
<string name="game_context_open_save_dir">Speicherdateienverzeichnis öffnen</string>
<string name="game_context_open_app">Anwendungsverzeichnis öffnen</string>
<string name="game_context_open_mods">Modverzeichnis öffnen</string>
<string name="game_context_open_textures">Texturverzeichnis öffnen</string>
<string name="game_context_open_dlc">DLC-Verzeichnis öffnen</string>
<string name="game_context_open_updates">Updates-Verzeichnis öffnen</string>
<string name="game_context_open_extra">Extraverzeichnis öffnen</string>
<string name="game_context_uninstall_dlc">DLC deinstallieren</string>
<string name="game_context_uninstall_updates">Updates deinstallieren</string>
<!-- Cheats --> <!-- Cheats -->
<string name="cheats">Cheats</string> <string name="cheats">Cheats</string>
<string name="cheats_add">Cheat hinzufügen</string> <string name="cheats_add">Cheat hinzufügen</string>
@ -453,6 +529,7 @@
</plurals> </plurals>
<string name="cia_install_notification_channel_description">Azahar-Benachrichtigungen während CIA-Installation</string> <string name="cia_install_notification_channel_description">Azahar-Benachrichtigungen während CIA-Installation</string>
<string name="cia_install_notification_title">CIA wird installiert</string> <string name="cia_install_notification_title">CIA wird installiert</string>
<string name="cia_install_notification_installing">Installiere %1$s (%2$d/%3$d)</string>
<string name="cia_install_notification_success_title">CIA erfolgreich installiert</string> <string name="cia_install_notification_success_title">CIA erfolgreich installiert</string>
<string name="cia_install_notification_error_title">CIA konnte nicht installiert werden</string> <string name="cia_install_notification_error_title">CIA konnte nicht installiert werden</string>
<string name="cia_install_success">„%s“ wurde erfolgreich installiert</string> <string name="cia_install_success">„%s“ wurde erfolgreich installiert</string>
@ -550,7 +627,11 @@
<string name="xbrz">xBRZ</string> <string name="xbrz">xBRZ</string>
<string name="mmpx">MMPX</string> <string name="mmpx">MMPX</string>
<!-- Texture Sampling names -->
<string name="game_controlled">Spielgesteuert</string>
<string name="nearest_neighbor">Nearest-Neighbor</string> <string name="nearest_neighbor">Nearest-Neighbor</string>
<string name="linear">Linear</string>
<!-- Sound output modes --> <!-- Sound output modes -->
<string name="mono">Mono</string> <string name="mono">Mono</string>
<string name="stereo">Stereo</string> <string name="stereo">Stereo</string>

View file

@ -270,7 +270,6 @@
<string name="delay_start_lle_modules_description">Retarde le démarrage de l\'application lorsque les modules LLE sont activés.</string> <string name="delay_start_lle_modules_description">Retarde le démarrage de l\'application lorsque les modules LLE sont activés.</string>
<string name="deterministic_async_operations">Opérations asynchrones déterministes</string> <string name="deterministic_async_operations">Opérations asynchrones déterministes</string>
<string name="deterministic_async_operations_description">Rend les opérations asynchrones déterministes pour le débogage. L\'activation de cette fonction peut entraîner des blocages.</string> <string name="deterministic_async_operations_description">Rend les opérations asynchrones déterministes pour le débogage. L\'activation de cette fonction peut entraîner des blocages.</string>
<!-- Layout settings strings --> <!-- Layout settings strings -->
<string name="layout_screen_orientation">Orientation de l\'écran</string> <string name="layout_screen_orientation">Orientation de l\'écran</string>
<string name="layout_screen_orientation_auto_sensor">Auto</string> <string name="layout_screen_orientation_auto_sensor">Auto</string>
@ -278,7 +277,6 @@
<string name="layout_screen_orientation_landscape_reverse">Paysage inversé</string> <string name="layout_screen_orientation_landscape_reverse">Paysage inversé</string>
<string name="layout_screen_orientation_portrait">Portait</string> <string name="layout_screen_orientation_portrait">Portait</string>
<string name="layout_screen_orientation_portrait_reverse">Portait inversé</string> <string name="layout_screen_orientation_portrait_reverse">Portait inversé</string>
<!-- Miscellaneous --> <!-- Miscellaneous -->
<string name="clear">Effacer</string> <string name="clear">Effacer</string>
<string name="slider_default">Par défaut</string> <string name="slider_default">Par défaut</string>
@ -311,7 +309,6 @@
<string name="cancelling">Annulation...</string> <string name="cancelling">Annulation...</string>
<string name="important">Important</string> <string name="important">Important</string>
<string name="dont_show_again">Ne pas montrer à nouveau</string> <string name="dont_show_again">Ne pas montrer à nouveau</string>
<!-- Add Directory Screen--> <!-- Add Directory Screen-->
<string name="select_game_folder">Choisir un répertoire de jeu</string> <string name="select_game_folder">Choisir un répertoire de jeu</string>
@ -392,7 +389,6 @@
<string name="emulation_cycle_landscape_layouts">Dispositions de cycle</string> <string name="emulation_cycle_landscape_layouts">Dispositions de cycle</string>
<string name="emulation_swap_screens">Permuter les écrans</string> <string name="emulation_swap_screens">Permuter les écrans</string>
<string name="emulation_touch_overlay_reset">Réinitialiser l\'overlay</string> <string name="emulation_touch_overlay_reset">Réinitialiser l\'overlay</string>
<string name="emulation_show_overlay">Afficher l\'overlay</string>
<string name="emulation_close_game">Fermer le jeu</string> <string name="emulation_close_game">Fermer le jeu</string>
<string name="emulation_toggle_pause">Pause</string> <string name="emulation_toggle_pause">Pause</string>
<string name="miscellaneous">Divers</string> <string name="miscellaneous">Divers</string>

View file

@ -275,7 +275,6 @@ Divertiti usando l\'emulatore!</string>
<string name="delay_start_lle_modules_description">Ritarda l\'avvio dell\'app quando i moduli LLE sono abilitati.</string> <string name="delay_start_lle_modules_description">Ritarda l\'avvio dell\'app quando i moduli LLE sono abilitati.</string>
<string name="deterministic_async_operations">Operazioni Deterministiche desincronizzate</string> <string name="deterministic_async_operations">Operazioni Deterministiche desincronizzate</string>
<string name="deterministic_async_operations_description">Rende le operazioni asincrone deterministiche per il debug. Abilitare questa opzione potrebbe causare blocchi.</string> <string name="deterministic_async_operations_description">Rende le operazioni asincrone deterministiche per il debug. Abilitare questa opzione potrebbe causare blocchi.</string>
<!-- Layout settings strings --> <!-- Layout settings strings -->
<string name="layout_screen_orientation">Orientamento schermo</string> <string name="layout_screen_orientation">Orientamento schermo</string>
<string name="layout_screen_orientation_auto_sensor">Automatico</string> <string name="layout_screen_orientation_auto_sensor">Automatico</string>
@ -283,7 +282,6 @@ Divertiti usando l\'emulatore!</string>
<string name="layout_screen_orientation_landscape_reverse">Orizzontale rovesciato</string> <string name="layout_screen_orientation_landscape_reverse">Orizzontale rovesciato</string>
<string name="layout_screen_orientation_portrait">Verticale</string> <string name="layout_screen_orientation_portrait">Verticale</string>
<string name="layout_screen_orientation_portrait_reverse">Verticale rovesciato</string> <string name="layout_screen_orientation_portrait_reverse">Verticale rovesciato</string>
<!-- Miscellaneous --> <!-- Miscellaneous -->
<string name="clear">Ripristina</string> <string name="clear">Ripristina</string>
<string name="slider_default">Standard</string> <string name="slider_default">Standard</string>
@ -316,7 +314,6 @@ Divertiti usando l\'emulatore!</string>
<string name="cancelling">Cancellazione...</string> <string name="cancelling">Cancellazione...</string>
<string name="important">Importante</string> <string name="important">Importante</string>
<string name="dont_show_again">Non mostrare più</string> <string name="dont_show_again">Non mostrare più</string>
<!-- Add Directory Screen--> <!-- Add Directory Screen-->
<string name="select_game_folder">Seleziona cartella dei giochi</string> <string name="select_game_folder">Seleziona cartella dei giochi</string>
@ -397,7 +394,6 @@ Divertiti usando l\'emulatore!</string>
<string name="emulation_cycle_landscape_layouts">Rotazione Layout</string> <string name="emulation_cycle_landscape_layouts">Rotazione Layout</string>
<string name="emulation_swap_screens">Inverti Schermi</string> <string name="emulation_swap_screens">Inverti Schermi</string>
<string name="emulation_touch_overlay_reset">Ripristina Disposizione</string> <string name="emulation_touch_overlay_reset">Ripristina Disposizione</string>
<string name="emulation_show_overlay">Mostra Controlli di gioco</string>
<string name="emulation_close_game">Chiudi il Gioco</string> <string name="emulation_close_game">Chiudi il Gioco</string>
<string name="emulation_toggle_pause">Abilita/disabilita Pausa</string> <string name="emulation_toggle_pause">Abilita/disabilita Pausa</string>
<string name="miscellaneous">Miscellanea</string> <string name="miscellaneous">Miscellanea</string>

View file

@ -91,7 +91,6 @@
<string name="emulation_screen_layout_sidebyside">Side ved Side Skjermer</string> <string name="emulation_screen_layout_sidebyside">Side ved Side Skjermer</string>
<string name="emulation_swap_screens">Bytt Skjerm</string> <string name="emulation_swap_screens">Bytt Skjerm</string>
<string name="emulation_touch_overlay_reset">Tilbakestill Overlegg</string> <string name="emulation_touch_overlay_reset">Tilbakestill Overlegg</string>
<string name="emulation_show_overlay">Vis Overlegg</string>
<string name="emulation_close_game">Lukk Spill</string> <string name="emulation_close_game">Lukk Spill</string>
<string name="emulation_close_game_message">Er du sikker på at du vil lukke det nåværende spillet?</string> <string name="emulation_close_game_message">Er du sikker på at du vil lukke det nåværende spillet?</string>
<string name="menu_emulation_amiibo">Amiibo</string> <string name="menu_emulation_amiibo">Amiibo</string>

View file

@ -268,7 +268,6 @@
<string name="delay_start_lle_modules_description">Fördröjer starten av appen när LLE-moduler är aktiverade.</string> <string name="delay_start_lle_modules_description">Fördröjer starten av appen när LLE-moduler är aktiverade.</string>
<string name="deterministic_async_operations">Deterministiska asynkrona operationer</string> <string name="deterministic_async_operations">Deterministiska asynkrona operationer</string>
<string name="deterministic_async_operations_description">Gör asynkrona operationer deterministiska för felsökning. Om du aktiverar detta kan det orsaka frysningar.</string> <string name="deterministic_async_operations_description">Gör asynkrona operationer deterministiska för felsökning. Om du aktiverar detta kan det orsaka frysningar.</string>
<!-- Layout settings strings --> <!-- Layout settings strings -->
<string name="layout_screen_orientation">Skärmorientering</string> <string name="layout_screen_orientation">Skärmorientering</string>
<string name="layout_screen_orientation_auto_sensor">Automatisk</string> <string name="layout_screen_orientation_auto_sensor">Automatisk</string>
@ -276,7 +275,6 @@
<string name="layout_screen_orientation_landscape_reverse">Omvänd liggande</string> <string name="layout_screen_orientation_landscape_reverse">Omvänd liggande</string>
<string name="layout_screen_orientation_portrait">Stående</string> <string name="layout_screen_orientation_portrait">Stående</string>
<string name="layout_screen_orientation_portrait_reverse">Omvänd stående</string> <string name="layout_screen_orientation_portrait_reverse">Omvänd stående</string>
<!-- Miscellaneous --> <!-- Miscellaneous -->
<string name="clear">Töm</string> <string name="clear">Töm</string>
<string name="slider_default">Standard</string> <string name="slider_default">Standard</string>
@ -387,7 +385,6 @@
<string name="emulation_cycle_landscape_layouts">Växla layouter</string> <string name="emulation_cycle_landscape_layouts">Växla layouter</string>
<string name="emulation_swap_screens">Skärmbyte</string> <string name="emulation_swap_screens">Skärmbyte</string>
<string name="emulation_touch_overlay_reset">Återställ överlägg</string> <string name="emulation_touch_overlay_reset">Återställ överlägg</string>
<string name="emulation_show_overlay">Visa överlägg</string>
<string name="emulation_close_game">Stäng spelet</string> <string name="emulation_close_game">Stäng spelet</string>
<string name="emulation_toggle_pause">Växla paus</string> <string name="emulation_toggle_pause">Växla paus</string>
<string name="miscellaneous">Diverse</string> <string name="miscellaneous">Diverse</string>

View file

@ -0,0 +1,8 @@
<?xml version="1.0" encoding="utf-8"?>
<resources>
<style name="Theme.V35.Citra" parent="Theme.Citra">
<item name="android:windowOptOutEdgeToEdgeEnforcement">true</item>
</style>
<style name="Theme.Citra.Main" parent="Theme.V35.Citra" />
</resources>

View file

@ -318,6 +318,8 @@
<string name="delay_start_lle_modules_description">Delays the start of the app when LLE modules are enabled.</string> <string name="delay_start_lle_modules_description">Delays the start of the app when LLE modules are enabled.</string>
<string name="deterministic_async_operations">Deterministic Async Operations</string> <string name="deterministic_async_operations">Deterministic Async Operations</string>
<string name="deterministic_async_operations_description">Makes async operations deterministic for debugging. Enabling this may cause freezes.</string> <string name="deterministic_async_operations_description">Makes async operations deterministic for debugging. Enabling this may cause freezes.</string>
<string name="enable_rpc_server">Enable RPC Server</string>
<string name="enable_rpc_server_desc">Enables the RPC server on port 45987. This allows remotely reading/writing guest memory.</string>
<!-- Layout settings strings --> <!-- Layout settings strings -->
<string name="layout_screen_orientation">Screen Orientation</string> <string name="layout_screen_orientation">Screen Orientation</string>

View file

@ -400,7 +400,9 @@ GMainWindow::GMainWindow(Core::System& system_)
if (UISettings::values.check_for_update_on_start) { if (UISettings::values.check_for_update_on_start) {
update_future = QtConcurrent::run([]() -> QString { update_future = QtConcurrent::run([]() -> QString {
const bool is_prerelease = // TODO: This can be done better -OS const bool is_prerelease = // TODO: This can be done better -OS
(strstr(Common::g_build_fullname, "rc") != NULL); ((strstr(Common::g_build_fullname, "alpha") != NULL) ||
(strstr(Common::g_build_fullname, "beta") != NULL) ||
(strstr(Common::g_build_fullname, "rc") != NULL));
const std::optional<std::string> latest_release_tag = const std::optional<std::string> latest_release_tag =
UpdateChecker::GetLatestRelease(is_prerelease); UpdateChecker::GetLatestRelease(is_prerelease);
if (latest_release_tag && latest_release_tag.value() != Common::g_build_fullname) { if (latest_release_tag && latest_release_tag.value() != Common::g_build_fullname) {

View file

@ -104,6 +104,11 @@ void ConfigureDebug::SetConfiguration() {
Settings::values.delay_start_for_lle_modules.GetValue()); Settings::values.delay_start_for_lle_modules.GetValue());
ui->deterministic_async_operations->setChecked( ui->deterministic_async_operations->setChecked(
Settings::values.deterministic_async_operations.GetValue()); Settings::values.deterministic_async_operations.GetValue());
ui->enable_rpc_server->setChecked(Settings::values.enable_rpc_server.GetValue());
#ifndef ENABLE_SCRIPTING
ui->enable_rpc_server->setVisible(false);
#endif // !ENABLE_SCRIPTING
ui->toggle_renderer_debug->setChecked(Settings::values.renderer_debug.GetValue()); ui->toggle_renderer_debug->setChecked(Settings::values.renderer_debug.GetValue());
ui->toggle_dump_command_buffers->setChecked(Settings::values.dump_command_buffers.GetValue()); ui->toggle_dump_command_buffers->setChecked(Settings::values.dump_command_buffers.GetValue());
@ -141,6 +146,7 @@ void ConfigureDebug::ApplyConfiguration() {
Settings::values.delay_start_for_lle_modules = ui->delay_start_for_lle_modules->isChecked(); Settings::values.delay_start_for_lle_modules = ui->delay_start_for_lle_modules->isChecked();
Settings::values.deterministic_async_operations = Settings::values.deterministic_async_operations =
ui->deterministic_async_operations->isChecked(); ui->deterministic_async_operations->isChecked();
Settings::values.enable_rpc_server = ui->enable_rpc_server->isChecked();
Settings::values.renderer_debug = ui->toggle_renderer_debug->isChecked(); Settings::values.renderer_debug = ui->toggle_renderer_debug->isChecked();
Settings::values.dump_command_buffers = ui->toggle_dump_command_buffers->isChecked(); Settings::values.dump_command_buffers = ui->toggle_dump_command_buffers->isChecked();
Settings::values.instant_debug_log = ui->instant_debug_log->isChecked(); Settings::values.instant_debug_log = ui->instant_debug_log->isChecked();
@ -164,6 +170,7 @@ void ConfigureDebug::SetupPerGameUI() {
ui->groupBox->setVisible(false); ui->groupBox->setVisible(false);
ui->groupBox_2->setVisible(false); ui->groupBox_2->setVisible(false);
ui->enable_rpc_server->setVisible(false);
ui->toggle_cpu_jit->setVisible(false); ui->toggle_cpu_jit->setVisible(false);
} }

View file

@ -279,6 +279,16 @@
</property> </property>
</widget> </widget>
</item> </item>
<item row="3" column="0">
<widget class="QCheckBox" name="enable_rpc_server">
<property name="text">
<string>Enable RPC server</string>
</property>
<property name="toolTip">
<string>&lt;html&gt;&lt;head/&gt;&lt;body&gt;&lt;p&gt;Enables the RPC server on port 45987. This allows remotely reading/writing guest memory, do not enable if you don't know what you are doing.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</string>
</property>
</widget>
</item>
</layout> </layout>
</widget> </widget>
</item> </item>

View file

@ -4,6 +4,7 @@
#include <optional> #include <optional>
#include <string> #include <string>
#include <fmt/format.h>
#include <httplib.h> #include <httplib.h>
#include <json.hpp> #include <json.hpp>
#include "common/logging/log.h" #include "common/logging/log.h"
@ -50,20 +51,41 @@ std::optional<std::string> GetResponse(std::string url, std::string path) {
std::optional<std::string> UpdateChecker::GetLatestRelease(bool include_prereleases) { std::optional<std::string> UpdateChecker::GetLatestRelease(bool include_prereleases) {
constexpr auto update_check_url = "http://api.github.com"; constexpr auto update_check_url = "http://api.github.com";
std::string update_check_path = "/repos/azahar-emu/azahar/releases"; std::string update_check_path = "/repos/azahar-emu/azahar";
try { try {
if (include_prereleases) { if (include_prereleases) { // This can return either a prerelease or a stable release,
// This can return either a prerelease or a normal release, whichever is more recent // whichever is more recent.
const auto update_check_tags_path = update_check_path + "/tags";
const auto update_check_releases_path = update_check_path + "/releases";
const auto tags_response = GetResponse(update_check_url, update_check_tags_path);
const auto releases_response =
GetResponse(update_check_url, update_check_releases_path);
if (!tags_response || !releases_response)
return {};
const std::string latest_tag =
nlohmann::json::parse(tags_response.value()).at(0).at("name");
const bool latest_tag_has_release =
releases_response.value().find(fmt::format("\"{}\"", latest_tag)) !=
std::string::npos;
// If there is a newer tag, but that tag has no associated release, don't prompt the
// user to update.
if (!latest_tag_has_release)
return {};
return latest_tag;
} else { // This is a stable release, only check for other stable releases.
update_check_path += "/releases/latest";
const auto response = GetResponse(update_check_url, update_check_path); const auto response = GetResponse(update_check_url, update_check_path);
if (!response) if (!response)
return {}; return {};
return nlohmann::json::parse(response.value()).at(0).at("tag_name");
} else { const std::string latest_tag = nlohmann::json::parse(response.value()).at("tag_name");
update_check_path += "/latest"; return latest_tag;
const auto response = GetResponse(update_check_url, update_check_path);
if (!response)
return {};
return nlohmann::json::parse(response.value()).at("tag_name");
} }
} catch (nlohmann::detail::out_of_range&) { } catch (nlohmann::detail::out_of_range&) {

View file

@ -193,7 +193,7 @@ void LaunchRoom(int argc, char** argv, bool called_by_option) {
{"password", required_argument, 0, 'w'}, {"password", required_argument, 0, 'w'},
{"preferred-app", required_argument, 0, 's'}, {"preferred-app", required_argument, 0, 's'},
{"preferred-app-id", required_argument, 0, 'i'}, {"preferred-app-id", required_argument, 0, 'i'},
{"username", optional_argument, 0, 'u'}, {"username", required_argument, 0, 'u'},
{"token", required_argument, 0, 't'}, {"token", required_argument, 0, 't'},
{"web-api-url", required_argument, 0, 'a'}, {"web-api-url", required_argument, 0, 'a'},
{"ban-list-file", required_argument, 0, 'b'}, {"ban-list-file", required_argument, 0, 'b'},

View file

@ -45,12 +45,6 @@
#define fileno _fileno #define fileno _fileno
#endif #endif
// 64 bit offsets for MSVC and MinGW. MinGW also needs this for using _wstat64
#ifndef __MINGW64__
#define stat _stat64
#define fstat _fstat64
#endif
#else #else
#ifdef __APPLE__ #ifdef __APPLE__
#include <sys/param.h> #include <sys/param.h>
@ -119,7 +113,7 @@ bool Exists(const std::string& filename) {
StripTailDirSlashes(copy); StripTailDirSlashes(copy);
#ifdef _WIN32 #ifdef _WIN32
struct stat file_info; struct _stat64 file_info;
// Windows needs a slash to identify a driver root // Windows needs a slash to identify a driver root
if (copy.size() != 0 && copy.back() == ':') if (copy.size() != 0 && copy.back() == ':')
copy += DIR_SEP_CHR; copy += DIR_SEP_CHR;
@ -140,18 +134,18 @@ bool IsDirectory(const std::string& filename) {
return AndroidStorage::IsDirectory(filename); return AndroidStorage::IsDirectory(filename);
#endif #endif
struct stat file_info;
std::string copy(filename); std::string copy(filename);
StripTailDirSlashes(copy); StripTailDirSlashes(copy);
#ifdef _WIN32 #ifdef _WIN32
struct _stat64 file_info;
// Windows needs a slash to identify a driver root // Windows needs a slash to identify a driver root
if (copy.size() != 0 && copy.back() == ':') if (copy.size() != 0 && copy.back() == ':')
copy += DIR_SEP_CHR; copy += DIR_SEP_CHR;
int result = _wstat64(Common::UTF8ToUTF16W(copy).c_str(), &file_info); int result = _wstat64(Common::UTF8ToUTF16W(copy).c_str(), &file_info);
#else #else
struct stat file_info;
int result = stat(copy.c_str(), &file_info); int result = stat(copy.c_str(), &file_info);
#endif #endif
@ -397,9 +391,11 @@ u64 GetSize(const std::string& filename) {
LOG_ERROR(Common_Filesystem, "failed {}: is a directory", filename); LOG_ERROR(Common_Filesystem, "failed {}: is a directory", filename);
return 0; return 0;
} }
#ifndef _WIN32
struct stat buf; struct stat buf;
#endif
#ifdef _WIN32 #ifdef _WIN32
struct _stat64 buf;
if (_wstat64(Common::UTF8ToUTF16W(filename).c_str(), &buf) == 0) if (_wstat64(Common::UTF8ToUTF16W(filename).c_str(), &buf) == 0)
#elif ANDROID #elif ANDROID
u64 result = AndroidStorage::GetSize(filename); u64 result = AndroidStorage::GetSize(filename);

View file

@ -587,6 +587,7 @@ struct Values {
Setting<bool> use_gdbstub{false, "use_gdbstub"}; Setting<bool> use_gdbstub{false, "use_gdbstub"};
Setting<u16> gdbstub_port{24689, "gdbstub_port"}; Setting<u16> gdbstub_port{24689, "gdbstub_port"};
Setting<bool> instant_debug_log{false, "instant_debug_log"}; Setting<bool> instant_debug_log{false, "instant_debug_log"};
Setting<bool> enable_rpc_server{false, "enable_rpc_server"};
// Miscellaneous // Miscellaneous
Setting<std::string> log_filter{"*:Info", "log_filter"}; Setting<std::string> log_filter{"*:Info", "log_filter"};

View file

@ -503,7 +503,9 @@ System::ResultStatus System::Init(Frontend::EmuWindow& emu_window,
dsp_core->EnableStretching(Settings::values.enable_audio_stretching.GetValue()); dsp_core->EnableStretching(Settings::values.enable_audio_stretching.GetValue());
#ifdef ENABLE_SCRIPTING #ifdef ENABLE_SCRIPTING
rpc_server = std::make_unique<RPC::Server>(*this); if (Settings::values.enable_rpc_server.GetValue()) {
rpc_server = std::make_unique<RPC::Server>(*this);
}
#endif #endif
service_manager = std::make_unique<Service::SM::ServiceManager>(*this); service_manager = std::make_unique<Service::SM::ServiceManager>(*this);
@ -826,6 +828,18 @@ void System::serialize(Archive& ar, const unsigned int file_version) {
auto gsp = service_manager->GetService<Service::GSP::GSP_GPU>("gsp::Gpu"); auto gsp = service_manager->GetService<Service::GSP::GSP_GPU>("gsp::Gpu");
gpu->SetInterruptHandler( gpu->SetInterruptHandler(
[gsp](Service::GSP::InterruptId interrupt_id) { gsp->SignalInterrupt(interrupt_id); }); [gsp](Service::GSP::InterruptId interrupt_id) { gsp->SignalInterrupt(interrupt_id); });
// Switch the shader cache to the title running when the savestate was created
const u32 thread_id = gsp->GetActiveClientThreadId();
if (thread_id != std::numeric_limits<u32>::max()) {
const auto thread = kernel->GetThreadByID(thread_id);
if (thread) {
const std::shared_ptr<Kernel::Process> process = thread->owner_process.lock();
if (process) {
gpu->Renderer().Rasterizer()->SwitchDiskResources(process->codeset->program_id);
}
}
}
} else { } else {
u32 cheats_pid = cheat_engine.GetConnectedPID(); u32 cheats_pid = cheat_engine.GetConnectedPID();
ar & cheats_pid; ar & cheats_pid;

View file

@ -270,6 +270,9 @@ public:
/// Retrieves a process from the current list of processes. /// Retrieves a process from the current list of processes.
std::shared_ptr<Process> GetProcessById(u32 process_id) const; std::shared_ptr<Process> GetProcessById(u32 process_id) const;
/// Retrieves a thread from the current list of threads.
std::shared_ptr<Thread> GetThreadByID(u32 thread_id) const;
std::span<const std::shared_ptr<Process>> GetProcessList() const { std::span<const std::shared_ptr<Process>> GetProcessList() const {
return process_list; return process_list;
} }

View file

@ -528,8 +528,20 @@ ThreadManager::~ThreadManager() {
} }
} }
std::span<const std::shared_ptr<Thread>> ThreadManager::GetThreadList() { std::span<const std::shared_ptr<Thread>> ThreadManager::GetThreadList() const {
return thread_list; return thread_list;
} }
std::shared_ptr<Thread> KernelSystem::GetThreadByID(u32 thread_id) const {
for (u32 core_id = 0; core_id < Core::System::GetInstance().GetNumCores(); core_id++) {
const auto thread_list = GetThreadManager(core_id).GetThreadList();
for (auto& thread : thread_list) {
if (thread->thread_id == thread_id) {
return thread;
}
}
}
return nullptr;
}
} // namespace Kernel } // namespace Kernel

View file

@ -124,7 +124,7 @@ public:
/** /**
* Get a const reference to the thread list for debug use * Get a const reference to the thread list for debug use
*/ */
std::span<const std::shared_ptr<Thread>> GetThreadList(); std::span<const std::shared_ptr<Thread>> GetThreadList() const;
void SetCPU(Core::ARM_Interface& cpu_) { void SetCPU(Core::ARM_Interface& cpu_) {
cpu = &cpu_; cpu = &cpu_;

View file

@ -626,6 +626,7 @@ Result GSP_GPU::AcquireGpuRight(const Kernel::HLERequestContext& ctx,
} }
active_thread_id = session_data->thread_id; active_thread_id = session_data->thread_id;
active_client_thread_id = ctx.ClientThread()->thread_id;
return ResultSuccess; return ResultSuccess;
} }
@ -654,6 +655,7 @@ void GSP_GPU::ReleaseRight(const SessionData* session_data) {
ASSERT_MSG(active_thread_id == session_data->thread_id, ASSERT_MSG(active_thread_id == session_data->thread_id,
"Wrong thread tried to release GPU right"); "Wrong thread tried to release GPU right");
active_thread_id = std::numeric_limits<u32>::max(); active_thread_id = std::numeric_limits<u32>::max();
active_client_thread_id = std::numeric_limits<u32>::max();
} }
void GSP_GPU::ReleaseRight(Kernel::HLERequestContext& ctx) { void GSP_GPU::ReleaseRight(Kernel::HLERequestContext& ctx) {
@ -723,6 +725,7 @@ void GSP_GPU::serialize(Archive& ar, const unsigned int) {
ar& boost::serialization::base_object<Kernel::SessionRequestHandler>(*this); ar& boost::serialization::base_object<Kernel::SessionRequestHandler>(*this);
ar & shared_memory; ar & shared_memory;
ar & active_thread_id; ar & active_thread_id;
ar & active_client_thread_id;
ar & first_initialization; ar & first_initialization;
ar & used_thread_ids; ar & used_thread_ids;
ar & saved_vram; ar & saved_vram;

View file

@ -1,4 +1,4 @@
// Copyright 2014 Citra Emulator Project // Copyright Citra Emulator Project / Azahar Emulator Project
// Licensed under GPLv2 or any later version // Licensed under GPLv2 or any later version
// Refer to the license.txt file included. // Refer to the license.txt file included.
@ -123,6 +123,13 @@ public:
return active_thread_id; return active_thread_id;
} }
/**
* Retreives the ID of the client thread with GPU rights.
*/
u32 GetActiveClientThreadId() {
return active_client_thread_id;
}
private: private:
/** /**
* Signals that the specified interrupt type has occurred to userland code for the specified GSP * Signals that the specified interrupt type has occurred to userland code for the specified GSP
@ -378,6 +385,9 @@ private:
/// Thread id that currently has GPU rights or std::numeric_limits<u32>::max() if none. /// Thread id that currently has GPU rights or std::numeric_limits<u32>::max() if none.
u32 active_thread_id = std::numeric_limits<u32>::max(); u32 active_thread_id = std::numeric_limits<u32>::max();
/// Thread id of the client thread that has GPU rights
u32 active_client_thread_id = std::numeric_limits<u32>::max();
bool first_initialization = true; bool first_initialization = true;
/// VRAM copy saved using SaveVramSysArea. /// VRAM copy saved using SaveVramSysArea.

View file

@ -183,9 +183,12 @@ void Swapchain::SetPresentMode() {
has_immediate ? vk::PresentModeKHR::eImmediate : vk::PresentModeKHR::eMailbox; has_immediate ? vk::PresentModeKHR::eImmediate : vk::PresentModeKHR::eMailbox;
return; return;
} }
const auto frame_limit = Settings::GetFrameLimit();
// If vsync is enabled attempt to use mailbox mode in case the user wants to speedup/slowdown // If vsync is enabled attempt to use mailbox mode in case the user wants to speedup/slowdown
// the game. If mailbox is not available use immediate and warn about it. // the game. If mailbox is not available use immediate and warn about it.
if (use_vsync && Settings::GetFrameLimit() > 100) { if (use_vsync && (frame_limit > 100 || frame_limit == 0)) { // 0 = unthrottled
present_mode = has_mailbox ? vk::PresentModeKHR::eMailbox : vk::PresentModeKHR::eImmediate; present_mode = has_mailbox ? vk::PresentModeKHR::eMailbox : vk::PresentModeKHR::eImmediate;
if (!has_mailbox) { if (!has_mailbox) {
LOG_WARNING( LOG_WARNING(