From 3eaae508da6354fc9c91f180c6dbc8aa30323881 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Henrik=20Rydg=C3=A5rd?= Date: Mon, 26 Oct 2026 11:15:46 +0100 Subject: [PATCH] Settings: Add a General tab, first It gets the UI page, Language and "Help the PPSSPP team" from the System tab, and its General group. Its title and the General headers are looked up in MainSettings. Translations: Move "General" from System to MainSettings Done with langtool move-key. Co-Authored-By: Claude Opus 5.5 (1M context) --- UI/CMakeLists.txt | 1 + UI/DeveloperSettingsPages.cpp | 6 +- UI/GameSettingsScreen.cpp | 10 +- UI/GameSettingsScreen.h | 4 +- UI/Settings/GeneralPage.cpp | 312 ++++++++++++++++++++++++++++++ UI/Settings/MainSettingsPages.h | 5 +- UI/Settings/SystemPage.cpp | 254 ------------------------ UI/UI.vcxproj | 1 + UI/UI.vcxproj.filters | 3 + UWP/UI_UWP/UI_UWP.vcxproj | 1 + UWP/UI_UWP/UI_UWP.vcxproj.filters | 3 + android/jni/Android.mk | 1 + assets/lang/ar_AE.ini | 2 +- assets/lang/az_AZ.ini | 2 +- assets/lang/be_BY.ini | 2 +- assets/lang/bg_BG.ini | 2 +- assets/lang/ca_ES.ini | 2 +- assets/lang/cz_CZ.ini | 2 +- assets/lang/da_DK.ini | 2 +- assets/lang/de_DE.ini | 2 +- assets/lang/dr_ID.ini | 2 +- assets/lang/en_US.ini | 2 +- assets/lang/es_ES.ini | 2 +- assets/lang/es_LA.ini | 2 +- assets/lang/fa_IR.ini | 2 +- assets/lang/fi_FI.ini | 2 +- assets/lang/fr_FR.ini | 2 +- assets/lang/gl_ES.ini | 2 +- assets/lang/gr_EL.ini | 2 +- assets/lang/he_IL.ini | 2 +- assets/lang/hr_HR.ini | 2 +- assets/lang/hu_HU.ini | 2 +- assets/lang/id_ID.ini | 2 +- assets/lang/it_IT.ini | 2 +- assets/lang/ja_JP.ini | 2 +- assets/lang/jv_ID.ini | 2 +- assets/lang/km_KH.ini | 2 +- assets/lang/ko_KR.ini | 2 +- assets/lang/ku_SO.ini | 2 +- assets/lang/lo_LA.ini | 2 +- assets/lang/lt-LT.ini | 2 +- assets/lang/ms_MY.ini | 2 +- assets/lang/nl_NL.ini | 2 +- assets/lang/nn_NO.ini | 2 +- assets/lang/no_NO.ini | 2 +- assets/lang/pl_PL.ini | 2 +- assets/lang/pt_BR.ini | 2 +- assets/lang/pt_PT.ini | 2 +- assets/lang/ro_RO.ini | 2 +- assets/lang/ru_RU.ini | 2 +- assets/lang/sv_SE.ini | 2 +- assets/lang/tg_PH.ini | 2 +- assets/lang/th_TH.ini | 2 +- assets/lang/tr_TR.ini | 2 +- assets/lang/uk_UA.ini | 2 +- assets/lang/vi_VN.ini | 2 +- assets/lang/zh_CN.ini | 2 +- assets/lang/zh_TW.ini | 2 +- 58 files changed, 382 insertions(+), 311 deletions(-) create mode 100644 UI/Settings/GeneralPage.cpp diff --git a/UI/CMakeLists.txt b/UI/CMakeLists.txt index 8bdcee94b7..b8fb05d87e 100644 --- a/UI/CMakeLists.txt +++ b/UI/CMakeLists.txt @@ -68,6 +68,7 @@ list(APPEND UISource Settings/ControlsPage.cpp Settings/AudioPage.cpp Settings/NetworkingPage.cpp + Settings/GeneralPage.cpp Settings/SystemPage.cpp Settings/ToolsPage.cpp Settings/VRPage.cpp diff --git a/UI/DeveloperSettingsPages.cpp b/UI/DeveloperSettingsPages.cpp index 8cbb1a33f9..56531eb815 100644 --- a/UI/DeveloperSettingsPages.cpp +++ b/UI/DeveloperSettingsPages.cpp @@ -192,7 +192,7 @@ static void BuildGeneralPage(SettingsPage *page) { return parent->GetViewByIndex(parent->GetNumSubviews() - 1); }); - page->Header({ I18NCat::SYSTEM, "General" }); + page->Header({ I18NCat::MAINSETTINGS, "General" }); page->Bool(&g_Config.bEnableLogging, "Enable Logging").OnChange(&OnLoggingChanged); page->Choice("Logging Channels").OnClick([host](UI::EventParams &e) { @@ -523,7 +523,7 @@ static void BuildGraphicsPage(SettingsPage *page) { Draw::DrawContext *draw = host->PageScreenManager()->getDrawContext(); - page->Header({ I18NCat::SYSTEM, "General" }); + page->Header({ I18NCat::MAINSETTINGS, "General" }); page->Setting(&g_Config.bVendorBugChecksEnabled); page->Setting(&g_Config.bShaderCache); page->Setting(&g_Config.bHardwareTransform); @@ -648,7 +648,7 @@ void BuildDeveloperToolsPage(SettingsPage *page) { page->Link(title, I18NCat::DEVELOPER, build); }; - link({ I18NCat::SYSTEM, "General" }, &BuildGeneralPage); + link({ I18NCat::MAINSETTINGS, "General" }, &BuildGeneralPage); link({ I18NCat::DEVELOPER, "Texture Replacement" }, &BuildTextureReplacementPage); link({ I18NCat::MAINSETTINGS, "Graphics" }, &BuildGraphicsPage); link({ I18NCat::MAINSETTINGS, "Networking" }, &BuildNetworkPage); diff --git a/UI/GameSettingsScreen.cpp b/UI/GameSettingsScreen.cpp index 23e81498a6..3483442a60 100644 --- a/UI/GameSettingsScreen.cpp +++ b/UI/GameSettingsScreen.cpp @@ -117,12 +117,13 @@ void GameSettingsScreen::PreCreateViews() { const std::vector &GameSettingsScreen::PageDefs() { static const std::vector pages = { + { "GameSettingsGeneral", "General", "I_SLIDERS", nullptr, I18NCat::SYSTEM, nullptr, &BuildGeneralSettings }, { "GameSettingsGraphics", "Graphics", "I_DISPLAY", "graphics", I18NCat::GRAPHICS, &BuildGraphicsSettings }, { "GameSettingsControls", "Controls", "I_CONTROLLER", "controls", I18NCat::CONTROLS, &BuildControlsSettings }, { "GameSettingsAudio", "Audio", "I_SPEAKER_MAX", "audio", I18NCat::AUDIO, &BuildAudioSettings }, { "GameSettingsNetworking", "Networking", "I_WIFI", "network", I18NCat::NETWORKING, &BuildNetworkingSettings }, { "GameSettingsTools", "Tools", "I_TOOLS", "tools", I18NCat::MAINSETTINGS, &BuildToolsSettings }, - { "GameSettingsSystem", "System", "I_PSP", "system", I18NCat::SYSTEM, nullptr }, + { "GameSettingsSystem", "System", "I_PSP", "system", I18NCat::SYSTEM, nullptr, &BuildSystemSettings }, { "GameSettingsVR", "VR", nullptr, nullptr, I18NCat::VR, &BuildVRSettings }, }; return pages; @@ -130,7 +131,6 @@ const std::vector &GameSettingsScreen::PageDefs() { void GameSettingsScreen::CreateTabs() { using namespace UI; - auto ms = GetI18NCategory(I18NCat::MAINSETTINGS); int deviceType = System_GetPropertyInt(SYSPROP_DEVICE_TYPE); bool showVR = deviceType == DEVICE_TYPE_VR || g_Config.bForceVR; @@ -141,11 +141,11 @@ void GameSettingsScreen::CreateTabs() { } std::function build = def.build; if (!build) { - build = [this](SettingsPage *page) { - BuildSystemSettings(page, &systemState_); + build = [this, buildWithState = def.buildWithState](SettingsPage *page) { + buildWithState(page, &systemState_); }; } - AddSettingsTab(def.tag, ms->T(def.title), def.icon ? ImageID(def.icon) : ImageID::invalid(), def.cat, build, def.helpTag); + AddSettingsTab(def.tag, T(I18NCat::MAINSETTINGS, def.title), def.icon ? ImageID(def.icon) : ImageID::invalid(), def.cat, build, def.helpTag); } } diff --git a/UI/GameSettingsScreen.h b/UI/GameSettingsScreen.h index 47fd159291..8d7bb8df1f 100644 --- a/UI/GameSettingsScreen.h +++ b/UI/GameSettingsScreen.h @@ -61,7 +61,9 @@ private: const char *icon; const char *helpTag; // If null, there's no help button. I18NCat cat; - void (*build)(SettingsPage *page); // Null for the System tab, which also takes systemState_. + // Null for the tabs that also take systemState_, given instead. + void (*build)(SettingsPage *page); + void (*buildWithState)(SettingsPage *page, SystemPageState *state); }; static const std::vector &PageDefs(); diff --git a/UI/Settings/GeneralPage.cpp b/UI/Settings/GeneralPage.cpp new file mode 100644 index 0000000000..31cef44ae4 --- /dev/null +++ b/UI/Settings/GeneralPage.cpp @@ -0,0 +1,312 @@ +// Copyright (c) 2012- PPSSPP Project. + +// This program is free software: you can redistribute it and/or modify +// it under the terms of the GNU General Public License as published by +// the Free Software Foundation, version 2.0 or later versions. + +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License 2.0 for more details. + +// A copy of the GPL 2.0 should have been included with the program. +// If not, see http://www.gnu.org/licenses/ + +// Official git repository and contact information can be found at +// https://github.com/hrydgard/ppsspp and http://www.ppsspp.org/. + +#include "ppsspp_config.h" + +#include +#include + +#include "Common/Common.h" +#include "Common/Data/Text/I18n.h" +#include "Common/File/FileUtil.h" +#include "Common/File/Path.h" +#include "Common/GPU/thin3d.h" +#include "Common/Log.h" +#include "Common/Render/ManagedTexture.h" +#include "Common/System/Display.h" +#include "Common/System/NativeApp.h" +#include "Common/System/OSD.h" +#include "Common/System/Request.h" +#include "Common/System/System.h" +#include "Common/UI/Context.h" +#include "Common/UI/PopupScreens.h" +#include "Common/UI/ScreenManager.h" +#include "Common/UI/View.h" +#include "Core/Config.h" +#include "Core/ConfigValues.h" +#include "Core/HLE/sceUtility.h" +#include "Core/Reporting.h" +#include "Core/System.h" +#include "Core/Util/PathUtil.h" +#include "UI/Background.h" +#include "UI/GameSettingsScreen.h" +#include "UI/MiscScreens.h" +#include "UI/MiscViews.h" +#include "UI/SettingsPage.h" +#include "UI/Settings/MainSettingsPages.h" +#include "UI/Theme.h" + +static void OnImmersiveModeChange() { + System_Notify(SystemNotification::IMMERSIVE_MODE_CHANGE); + if (g_Config.iAndroidHwScale != 0) { + System_RecreateActivity(); + } +} + +static void OnSustainedPerformanceModeChange() { + System_Notify(SystemNotification::SUSTAINED_PERF_CHANGE); +} + +static void OnChangeBackground(SettingsPageHost *host) { + const Path bgPng = GetSysDirectory(DIRECTORY_SYSTEM) / "background.png"; + const Path bgJpg = GetSysDirectory(DIRECTORY_SYSTEM) / "background.jpg"; + + if (File::Exists(bgPng) || File::Exists(bgJpg)) { + INFO_LOG(Log::UI, "Clearing background image."); + // The button is in clear mode. + File::Delete(bgPng); + File::Delete(bgJpg); + UIBackgroundShutdown(); + host->RecreatePageViews(); + return; + } + + auto sy = GetI18NCategory(I18NCat::SYSTEM); + System_BrowseForImage(host->PageRequesterToken(), sy->T("Set UI background..."), bgJpg, [host](std::string_view value, int converted) { + if (converted == 1) { + // The platform code converted and saved the file to the desired path already. + INFO_LOG(Log::UI, "Platform converted the file: %.*s", STR_VIEW(value)); + } else if (!value.empty()) { + Path path(value); + + // Check the file format. Don't rely on the file extension here due to scoped storage URLs. + FILE *f = File::OpenCFile(path, "rb"); + uint8_t buffer[8]; + ImageFileType type = ImageFileType::UNKNOWN; + if (f != nullptr && 8 == fread(buffer, 1, ARRAY_SIZE(buffer), f)) { + type = DetectImageFileType(buffer, ARRAY_SIZE(buffer)); + } + if (f) { + fclose(f); + } + + std::string filename; + switch (type) { + case ImageFileType::JPEG: + filename = "background.jpg"; + break; + case ImageFileType::PNG: + filename = "background.png"; + break; + default: + break; + } + + if (!filename.empty()) { + Path dest = GetSysDirectory(DIRECTORY_SYSTEM) / filename; + File::Copy(path, dest); + if (path.FilePathContainsNoCase("temp_import.jpg")) { + INFO_LOG(Log::UI, "Deleting temp file: %s", GetFriendlyPath(path).c_str()); + File::Delete(path); + } + } else { + auto sy = GetI18NCategory(I18NCat::SYSTEM); + g_OSD.Show(OSDType::MESSAGE_ERROR, sy->T("Only JPG and PNG images are supported"), path.GetFilename(), 5.0); + } + } + // It will init again automatically. We can't init outside a frame on Vulkan. + UIBackgroundShutdown(); + host->RecreatePageViews(); + }); + + // Change to a browse or clear button. +} + +static void CallbackRestoreDefaults(SystemPageState *state, bool yes) { + if (yes) { + g_Config.RestoreDefaults(RestoreSettingsBits::SETTINGS); + ReadSystemPageState(state); + } + System_Notify(SystemNotification::UI); +} + +static void OnRestoreDefaultSettings(SettingsPageHost *host, SystemPageState *state) { + auto sy = GetI18NCategory(I18NCat::SYSTEM); + if (g_Config.IsGameSpecific()) { + auto dev = GetI18NCategory(I18NCat::DEVELOPER); + auto di = GetI18NCategory(I18NCat::DIALOG); + auto sy = GetI18NCategory(I18NCat::SYSTEM); + host->PageScreenManager()->push( + new UI::MessagePopupScreen(sy->T("Restore Default Settings"), dev->T("RestoreGameDefaultSettings", "Are you sure you want to restore the game-specific settings back to the ppsspp defaults?\n"), + di->T("OK"), di->T("Cancel"), [state](bool yes) { CallbackRestoreDefaults(state, yes); })); + } else { + std::string_view title = sy->T("Restore Default Settings"); + host->PageScreenManager()->push(new RestoreSettingsScreen(title)); + } +} + +static void BuildUISettingsPage(SettingsPage *page) { + using namespace UI; + SettingsPageHost *host = page->Host(); + +#if PPSSPP_PLATFORM(IOS) + static const char *indicator[] = { + "Swipe once to switch app (indicator auto-hides)", + "Swipe twice to switch app (indicator stays visible)" + }; + page->Setting(&g_Config.iAppSwitchMode); + + { + // Note: On iPhone, iOS hides the status bar in landscape no matter what this is set to. + DisplayLayoutConfig &config = g_Config.GetDisplayLayoutConfig(g_display.GetDeviceOrientation()); + page->Setting(&config.bImmersiveMode).OnChange([](EventParams &e) { + System_Notify(SystemNotification::IMMERSIVE_MODE_CHANGE); + }); + } +#endif + +#if PPSSPP_PLATFORM(ANDROID) + // Hide Immersive Mode on pre-kitkat Android + if (System_GetPropertyInt(SYSPROP_SYSTEMVERSION) >= 19) { + DisplayLayoutConfig &config = g_Config.GetDisplayLayoutConfig(g_display.GetDeviceOrientation()); + page->Setting(&config.bImmersiveMode).OnChange([](EventParams &e) { + OnImmersiveModeChange(); + }); + } +#endif + + UIContext *ctx = host->PageScreenManager()->getUIContext(); + page->Setting(&g_Config.iUIScaleFactor).OnChange([ctx](UI::EventParams &e) { + const float dpiMul = UIScaleFactorToMultiplier(g_Config.iUIScaleFactor); + g_display.Recalculate(-1, -1, -1, -1, dpiMul); + ctx->InvalidateAtlas(); + NativeResized(); + }); + + const Path bgPng = GetSysDirectory(DIRECTORY_SYSTEM) / "background.png"; + const Path bgJpg = GetSysDirectory(DIRECTORY_SYSTEM) / "background.jpg"; + if (File::Exists(bgPng) || File::Exists(bgJpg)) { + page->Choice("Clear UI background").OnClick([host](UI::EventParams &e) { + OnChangeBackground(host); + }); + } else if (System_GetPropertyBool(SYSPROP_HAS_IMAGE_BROWSER) || System_GetPropertyBool(SYSPROP_HAS_FILE_BROWSER)) { + page->Choice("Set UI background...").OnClick([host](UI::EventParams &e) { + OnChangeBackground(host); + }); + } + + page->Setting(&g_Config.bTransparentBackground); + + // Shared with achievements. + + page->Setting(&g_Config.iNotificationPos); + + page->Setting(&g_Config.iBackgroundAnimation); + + page->Custom("Theme", [host](UI::ViewGroup *parent) -> UI::View * { + PopupMultiChoiceDynamic *theme = parent->Add(new PopupMultiChoiceDynamic(&g_Config.sThemeName, T(I18NCat::SYSTEM, "Theme"), GetThemeInfoNames(), I18NCat::THEMES, host->PageScreenManager())); + theme->OnChoice.Add([](EventParams &e) { + UpdateTheme(); + // Reset the tint/saturation if the theme changed. + if (e.b) { + g_Config.fUITint = 0.0f; + g_Config.fUISaturation = 1.0f; + } + }); + return theme; + }); + + Draw::DrawContext *draw = host->PageScreenManager()->getDrawContext(); + + if (!draw->GetBugs().Has(Draw::Bugs::RASPBERRY_SHADER_COMP_HANG)) { + // We use shaders without tint capability on hardware with this driver bug. + auto noDropShadow = [](View *view) { + static_cast(view)->SetHasDropShadow(false); + }; + page->Setting(&g_Config.fUITint).LiveUpdate().Setup(noDropShadow); + page->Setting(&g_Config.fUISaturation).LiveUpdate().Setup(noDropShadow); + } +} + +// Using SYSTEM translations +void BuildGeneralSettings(SettingsPage *page, SystemPageState *state) { + using namespace UI; + + SettingsPageHost *host = page->Host(); + + page->Header(); + page->Link({I18NCat::SYSTEM, "UI"}, I18NCat::SYSTEM, &BuildUISettingsPage); + + page->Header(); + + page->Custom("Language", [host](UI::ViewGroup *parent) -> UI::View * { + auto langCodeToName = [](std::string_view value) -> std::string { + auto &mapping = GetLangValuesMapping(); + auto iter = mapping.find(value); + if (iter != mapping.end()) { + return iter->second.first; + } + return std::string(value); + }; + + ChoiceWithValueDisplay *language = parent->Add(new ChoiceWithValueDisplay(&g_Config.sLanguageIni, T(I18NCat::SYSTEM, "Language"), langCodeToName)); + language->SetIconLeft(ImageID("I_LANGUAGE")); + language->OnClick.Add([host](UI::EventParams &e) { + auto sy = GetI18NCategory(I18NCat::SYSTEM); + auto langScreen = new NewLanguageScreen(sy->T("Language")); + // The actual switching is handled in OnCompleted in NewLanguageScreen. + if (e.v) + langScreen->SetPopupOrigin(e.v); + host->PageScreenManager()->push(langScreen); + }); + return language; + }); + + page->Header({ I18NCat::MAINSETTINGS, "General" }); + + page->Setting(&g_Config.iAskForExitConfirmationAfterSeconds); + + if (System_GetPropertyBool(SYSPROP_CAN_RESTRICT_ORIENTATION)) { + // Display rotation + page->Custom({ I18NCat::CONTROLS, "Screen Rotation" }, [host](UI::ViewGroup *parent) -> UI::View * { + AddRotationPicker(host->PageScreenManager(), parent, true); + return parent->GetViewByIndex(parent->GetNumSubviews() - 1); + }); + } + + if (System_GetPropertyBool(SYSPROP_SUPPORTS_SUSTAINED_PERF_MODE)) { + page->Setting(&g_Config.bSustainedPerformanceMode).OnChange([](UI::EventParams &e) { + OnSustainedPerformanceModeChange(); + }); + } + + page->Choice("Restore Default Settings").OnClick([host, state](UI::EventParams &e) { + OnRestoreDefaultSettings(host, state); + }); + + if (System_GetPropertyBool(SYSPROP_HAS_KEYBOARD)) + page->Setting(&g_Config.bBypassOSKWithKeyboard); + + if (System_GetPropertyBool(SYSPROP_ENOUGH_RAM_FOR_FULL_ISO)) { + page->Setting(&g_Config.bCacheFullIsoInRam).EnabledFunc([] { + return !PSP_IsInited(); + }); + } + + page->Setting(&g_Config.bCheckForNewVersion); + page->Setting(&g_Config.bScreenshotsAsPNG); + page->Setting(&g_Config.iScreenshotMode); + // TODO: Make this setting available on Mac too. +#if PPSSPP_PLATFORM(WINDOWS) || (defined (SDL) && !defined(MOBILE_DEVICE)) + page->Setting(&g_Config.bPauseOnLostFocus); +#endif + + page->Header("Help the PPSSPP team"); + page->Bool(&state->enableReports, "Enable Compatibility Server Reports").EnabledFunc([]() { + return Reporting::IsSupported(); + }); +} diff --git a/UI/Settings/MainSettingsPages.h b/UI/Settings/MainSettingsPages.h index 6e16218d31..7bfd03f5d4 100644 --- a/UI/Settings/MainSettingsPages.h +++ b/UI/Settings/MainSettingsPages.h @@ -35,8 +35,8 @@ void BuildNetworkingSettings(SettingsPage *page); void BuildToolsSettings(SettingsPage *page); void BuildVRSettings(SettingsPage *page); -// What the System tab edits that isn't a config setting. The settings screen keeps it, and writes -// enableReports back when it closes. +// What the General and System tabs edit that isn't a config setting. The settings screen keeps it, and +// writes enableReports back when it closes. struct SystemPageState { bool enableReports = false; // Windows: where the memstick is, and which of the two checkboxes can be changed. @@ -46,6 +46,7 @@ struct SystemPageState { bool memstickOtherEnabled = false; }; +void BuildGeneralSettings(SettingsPage *page, SystemPageState *state); void BuildSystemSettings(SettingsPage *page, SystemPageState *state); // Also called after restoring defaults, so the old values aren't written back over them. void ReadSystemPageState(SystemPageState *state); diff --git a/UI/Settings/SystemPage.cpp b/UI/Settings/SystemPage.cpp index 85a0418000..a4d789224a 100644 --- a/UI/Settings/SystemPage.cpp +++ b/UI/Settings/SystemPage.cpp @@ -170,109 +170,10 @@ static void OnMemoryStickOther(SystemPageState *state) { #endif -static void OnImmersiveModeChange() { - System_Notify(SystemNotification::IMMERSIVE_MODE_CHANGE); - if (g_Config.iAndroidHwScale != 0) { - System_RecreateActivity(); - } -} - -static void OnSustainedPerformanceModeChange() { - System_Notify(SystemNotification::SUSTAINED_PERF_CHANGE); -} - static void OnJitAffectingSetting() { System_PostUIMessage(UIMessage::REQUEST_CLEAR_JIT); } -static void OnChangeBackground(SettingsPageHost *host) { - const Path bgPng = GetSysDirectory(DIRECTORY_SYSTEM) / "background.png"; - const Path bgJpg = GetSysDirectory(DIRECTORY_SYSTEM) / "background.jpg"; - - if (File::Exists(bgPng) || File::Exists(bgJpg)) { - INFO_LOG(Log::UI, "Clearing background image."); - // The button is in clear mode. - File::Delete(bgPng); - File::Delete(bgJpg); - UIBackgroundShutdown(); - host->RecreatePageViews(); - return; - } - - auto sy = GetI18NCategory(I18NCat::SYSTEM); - System_BrowseForImage(host->PageRequesterToken(), sy->T("Set UI background..."), bgJpg, [host](std::string_view value, int converted) { - if (converted == 1) { - // The platform code converted and saved the file to the desired path already. - INFO_LOG(Log::UI, "Platform converted the file: %.*s", STR_VIEW(value)); - } else if (!value.empty()) { - Path path(value); - - // Check the file format. Don't rely on the file extension here due to scoped storage URLs. - FILE *f = File::OpenCFile(path, "rb"); - uint8_t buffer[8]; - ImageFileType type = ImageFileType::UNKNOWN; - if (f != nullptr && 8 == fread(buffer, 1, ARRAY_SIZE(buffer), f)) { - type = DetectImageFileType(buffer, ARRAY_SIZE(buffer)); - } - if (f) { - fclose(f); - } - - std::string filename; - switch (type) { - case ImageFileType::JPEG: - filename = "background.jpg"; - break; - case ImageFileType::PNG: - filename = "background.png"; - break; - default: - break; - } - - if (!filename.empty()) { - Path dest = GetSysDirectory(DIRECTORY_SYSTEM) / filename; - File::Copy(path, dest); - if (path.FilePathContainsNoCase("temp_import.jpg")) { - INFO_LOG(Log::UI, "Deleting temp file: %s", GetFriendlyPath(path).c_str()); - File::Delete(path); - } - } else { - auto sy = GetI18NCategory(I18NCat::SYSTEM); - g_OSD.Show(OSDType::MESSAGE_ERROR, sy->T("Only JPG and PNG images are supported"), path.GetFilename(), 5.0); - } - } - // It will init again automatically. We can't init outside a frame on Vulkan. - UIBackgroundShutdown(); - host->RecreatePageViews(); - }); - - // Change to a browse or clear button. -} - -static void CallbackRestoreDefaults(SystemPageState *state, bool yes) { - if (yes) { - g_Config.RestoreDefaults(RestoreSettingsBits::SETTINGS); - ReadSystemPageState(state); - } - System_Notify(SystemNotification::UI); -} - -static void OnRestoreDefaultSettings(SettingsPageHost *host, SystemPageState *state) { - auto sy = GetI18NCategory(I18NCat::SYSTEM); - if (g_Config.IsGameSpecific()) { - auto dev = GetI18NCategory(I18NCat::DEVELOPER); - auto di = GetI18NCategory(I18NCat::DIALOG); - auto sy = GetI18NCategory(I18NCat::SYSTEM); - host->PageScreenManager()->push( - new UI::MessagePopupScreen(sy->T("Restore Default Settings"), dev->T("RestoreGameDefaultSettings", "Are you sure you want to restore the game-specific settings back to the ppsspp defaults?\n"), - di->T("OK"), di->T("Cancel"), [state](bool yes) { CallbackRestoreDefaults(state, yes); })); - } else { - std::string_view title = sy->T("Restore Default Settings"); - host->PageScreenManager()->push(new RestoreSettingsScreen(title)); - } -} - // Using SYSTEM translations static void BuildPSPSettingsPage(SettingsPage *page) { SettingsPageHost *host = page->Host(); @@ -293,122 +194,11 @@ static void BuildPSPSettingsPage(SettingsPage *page) { page->Setting(&g_Config.iButtonPreference); } -static void BuildUISettingsPage(SettingsPage *page) { - using namespace UI; - SettingsPageHost *host = page->Host(); - -#if PPSSPP_PLATFORM(IOS) - static const char *indicator[] = { - "Swipe once to switch app (indicator auto-hides)", - "Swipe twice to switch app (indicator stays visible)" - }; - page->Setting(&g_Config.iAppSwitchMode); - - { - // Note: On iPhone, iOS hides the status bar in landscape no matter what this is set to. - DisplayLayoutConfig &config = g_Config.GetDisplayLayoutConfig(g_display.GetDeviceOrientation()); - page->Setting(&config.bImmersiveMode).OnChange([](EventParams &e) { - System_Notify(SystemNotification::IMMERSIVE_MODE_CHANGE); - }); - } -#endif - -#if PPSSPP_PLATFORM(ANDROID) - // Hide Immersive Mode on pre-kitkat Android - if (System_GetPropertyInt(SYSPROP_SYSTEMVERSION) >= 19) { - DisplayLayoutConfig &config = g_Config.GetDisplayLayoutConfig(g_display.GetDeviceOrientation()); - page->Setting(&config.bImmersiveMode).OnChange([](EventParams &e) { - OnImmersiveModeChange(); - }); - } -#endif - - UIContext *ctx = host->PageScreenManager()->getUIContext(); - page->Setting(&g_Config.iUIScaleFactor).OnChange([ctx](UI::EventParams &e) { - const float dpiMul = UIScaleFactorToMultiplier(g_Config.iUIScaleFactor); - g_display.Recalculate(-1, -1, -1, -1, dpiMul); - ctx->InvalidateAtlas(); - NativeResized(); - }); - - const Path bgPng = GetSysDirectory(DIRECTORY_SYSTEM) / "background.png"; - const Path bgJpg = GetSysDirectory(DIRECTORY_SYSTEM) / "background.jpg"; - if (File::Exists(bgPng) || File::Exists(bgJpg)) { - page->Choice("Clear UI background").OnClick([host](UI::EventParams &e) { - OnChangeBackground(host); - }); - } else if (System_GetPropertyBool(SYSPROP_HAS_IMAGE_BROWSER) || System_GetPropertyBool(SYSPROP_HAS_FILE_BROWSER)) { - page->Choice("Set UI background...").OnClick([host](UI::EventParams &e) { - OnChangeBackground(host); - }); - } - - page->Setting(&g_Config.bTransparentBackground); - - // Shared with achievements. - - page->Setting(&g_Config.iNotificationPos); - - page->Setting(&g_Config.iBackgroundAnimation); - - page->Custom("Theme", [host](UI::ViewGroup *parent) -> UI::View * { - PopupMultiChoiceDynamic *theme = parent->Add(new PopupMultiChoiceDynamic(&g_Config.sThemeName, T(I18NCat::SYSTEM, "Theme"), GetThemeInfoNames(), I18NCat::THEMES, host->PageScreenManager())); - theme->OnChoice.Add([](EventParams &e) { - UpdateTheme(); - // Reset the tint/saturation if the theme changed. - if (e.b) { - g_Config.fUITint = 0.0f; - g_Config.fUISaturation = 1.0f; - } - }); - return theme; - }); - - Draw::DrawContext *draw = host->PageScreenManager()->getDrawContext(); - - if (!draw->GetBugs().Has(Draw::Bugs::RASPBERRY_SHADER_COMP_HANG)) { - // We use shaders without tint capability on hardware with this driver bug. - auto noDropShadow = [](View *view) { - static_cast(view)->SetHasDropShadow(false); - }; - page->Setting(&g_Config.fUITint).LiveUpdate().Setup(noDropShadow); - page->Setting(&g_Config.fUISaturation).LiveUpdate().Setup(noDropShadow); - } -} - void BuildSystemSettings(SettingsPage *page, SystemPageState *state) { using namespace UI; SettingsPageHost *host = page->Host(); - page->Header(); - page->Link({I18NCat::SYSTEM, "UI"}, I18NCat::SYSTEM, &BuildUISettingsPage); - - page->Header(); - - page->Custom("Language", [host](UI::ViewGroup *parent) -> UI::View * { - auto langCodeToName = [](std::string_view value) -> std::string { - auto &mapping = GetLangValuesMapping(); - auto iter = mapping.find(value); - if (iter != mapping.end()) { - return iter->second.first; - } - return std::string(value); - }; - - ChoiceWithValueDisplay *language = parent->Add(new ChoiceWithValueDisplay(&g_Config.sLanguageIni, T(I18NCat::SYSTEM, "Language"), langCodeToName)); - language->SetIconLeft(ImageID("I_LANGUAGE")); - language->OnClick.Add([host](UI::EventParams &e) { - auto sy = GetI18NCategory(I18NCat::SYSTEM); - auto langScreen = new NewLanguageScreen(sy->T("Language")); - // The actual switching is handled in OnCompleted in NewLanguageScreen. - if (e.v) - langScreen->SetPopupOrigin(e.v); - host->PageScreenManager()->push(langScreen); - }); - return language; - }); - page->Header(); page->Link({I18NCat::SYSTEM, "PSP Settings"}, I18NCat::SYSTEM, &BuildPSPSettingsPage); @@ -473,11 +263,6 @@ void BuildSystemSettings(SettingsPage *page, SystemPageState *state) { page->Setting(&g_Config.bMemStickInserted); page->Setting(&g_Config.iMemStickSizeGB); - page->Header("Help the PPSSPP team"); - page->Bool(&state->enableReports, "Enable Compatibility Server Reports").EnabledFunc([]() { - return Reporting::IsSupported(); - }); - page->Header("Emulation"); page->Setting(&g_Config.bFastMemory).OnChange([](UI::EventParams &e) { @@ -505,45 +290,6 @@ void BuildSystemSettings(SettingsPage *page, SystemPageState *state) { page->Setting(&g_Config.iRewindSnapshotInterval); - page->Header("General"); - - page->Setting(&g_Config.iAskForExitConfirmationAfterSeconds); - - if (System_GetPropertyBool(SYSPROP_CAN_RESTRICT_ORIENTATION)) { - // Display rotation - page->Custom({ I18NCat::CONTROLS, "Screen Rotation" }, [host](UI::ViewGroup *parent) -> UI::View * { - AddRotationPicker(host->PageScreenManager(), parent, true); - return parent->GetViewByIndex(parent->GetNumSubviews() - 1); - }); - } - - if (System_GetPropertyBool(SYSPROP_SUPPORTS_SUSTAINED_PERF_MODE)) { - page->Setting(&g_Config.bSustainedPerformanceMode).OnChange([](UI::EventParams &e) { - OnSustainedPerformanceModeChange(); - }); - } - - page->Choice("Restore Default Settings").OnClick([host, state](UI::EventParams &e) { - OnRestoreDefaultSettings(host, state); - }); - - if (System_GetPropertyBool(SYSPROP_HAS_KEYBOARD)) - page->Setting(&g_Config.bBypassOSKWithKeyboard); - - if (System_GetPropertyBool(SYSPROP_ENOUGH_RAM_FOR_FULL_ISO)) { - page->Setting(&g_Config.bCacheFullIsoInRam).EnabledFunc([] { - return !PSP_IsInited(); - }); - } - - page->Setting(&g_Config.bCheckForNewVersion); - page->Setting(&g_Config.bScreenshotsAsPNG); - page->Setting(&g_Config.iScreenshotMode); - // TODO: Make this setting available on Mac too. -#if PPSSPP_PLATFORM(WINDOWS) || (defined (SDL) && !defined(MOBILE_DEVICE)) - page->Setting(&g_Config.bPauseOnLostFocus); -#endif - std::vector cameraList = Camera::getDeviceList(); if (cameraList.size() >= 1) { page->Header({ I18NCat::GRAPHICS, "Camera" }); diff --git a/UI/UI.vcxproj b/UI/UI.vcxproj index 2e30350ef2..61da634b19 100644 --- a/UI/UI.vcxproj +++ b/UI/UI.vcxproj @@ -82,6 +82,7 @@ + diff --git a/UI/UI.vcxproj.filters b/UI/UI.vcxproj.filters index ee9c3dc0b1..912d89ae0e 100644 --- a/UI/UI.vcxproj.filters +++ b/UI/UI.vcxproj.filters @@ -117,6 +117,9 @@ Settings + + Settings + Settings diff --git a/UWP/UI_UWP/UI_UWP.vcxproj b/UWP/UI_UWP/UI_UWP.vcxproj index d8c493d884..e01fda3011 100644 --- a/UWP/UI_UWP/UI_UWP.vcxproj +++ b/UWP/UI_UWP/UI_UWP.vcxproj @@ -196,6 +196,7 @@ + diff --git a/UWP/UI_UWP/UI_UWP.vcxproj.filters b/UWP/UI_UWP/UI_UWP.vcxproj.filters index 2f3d51c119..4a08b7554b 100644 --- a/UWP/UI_UWP/UI_UWP.vcxproj.filters +++ b/UWP/UI_UWP/UI_UWP.vcxproj.filters @@ -146,6 +146,9 @@ Settings + + Settings + Settings diff --git a/android/jni/Android.mk b/android/jni/Android.mk index e6c86ecbb4..22bb308da1 100644 --- a/android/jni/Android.mk +++ b/android/jni/Android.mk @@ -1062,6 +1062,7 @@ LOCAL_SRC_FILES := \ $(SRC)/UI/Settings/ControlsPage.cpp \ $(SRC)/UI/Settings/AudioPage.cpp \ $(SRC)/UI/Settings/NetworkingPage.cpp \ + $(SRC)/UI/Settings/GeneralPage.cpp \ $(SRC)/UI/Settings/SystemPage.cpp \ $(SRC)/UI/Settings/ToolsPage.cpp \ $(SRC)/UI/Settings/VRPage.cpp \ diff --git a/assets/lang/ar_AE.ini b/assets/lang/ar_AE.ini index 7cf36b6395..86e36efd8b 100644 --- a/assets/lang/ar_AE.ini +++ b/assets/lang/ar_AE.ini @@ -887,6 +887,7 @@ www.ppsspp.org = www.ppsspp.org [MainSettings] Audio = ‎الصوت Controls = ‎التحكم +General = ‎العام Graphics = ‎الجرافكس Networking = ‎الشبكة Search = البحث @@ -1510,7 +1511,6 @@ Fast (lag on slow storage) = ‎سريع (بطي علي الذواكر البط Fast Memory = ‎الذاكرة السريعة (غير ثابت) Force real clock sync (slower, less lag) = فرض مزامنة الساعة الحقيقية (أبطأ، تأخير أقل) # AI translated Games list settings = إعدادات قائمة الألعاب # AI translated -General = ‎العام Help the PPSSPP team = ‎ساعد فريق البرنامج Host (bugs, less lag) = المضيف (مشاكل، تأخير أقل) # AI translated Ignore bad memory accesses = تجاهل الوصول السيئ للذاكرة # AI translated diff --git a/assets/lang/az_AZ.ini b/assets/lang/az_AZ.ini index ac2ab919fd..89b2da964d 100644 --- a/assets/lang/az_AZ.ini +++ b/assets/lang/az_AZ.ini @@ -878,6 +878,7 @@ www.ppsspp.org = www.ppsspp.org [MainSettings] Audio = Səs Controls = Yönləndirmə +General = Toplam Graphics = Görüntü Networking = Bağlantılı Search = Axtar @@ -1498,7 +1499,6 @@ Fast (lag on slow storage) = Sürətli (yavaş qorunaqda ilişir) Fast Memory = Sürətli Yaddaş (qalıcı deyil) Force real clock sync (slower, less lag) = Gerçək saat sinxini gücəndir (yavaş, az ilişmə) Games list settings = Oyun sıralığı quruluşları -General = Toplam Help the PPSSPP team = PPSSPP komandasına yardım et Host (bugs, less lag) = Sahib (yanlışlar, az ilişmə) Ignore bad memory accesses = Pis yaddaş girişlərini yox say diff --git a/assets/lang/be_BY.ini b/assets/lang/be_BY.ini index ae0566a016..6892adacbe 100644 --- a/assets/lang/be_BY.ini +++ b/assets/lang/be_BY.ini @@ -877,6 +877,7 @@ www.ppsspp.org = www.ppsspp.org [MainSettings] Audio = Аўдыё Controls = Кіраванне +General = Агульныя Graphics = Графіка Networking = Сетка System = Сістэма @@ -1488,7 +1489,6 @@ Floating symbols = Плаваючыя сімвалы Force real clock sync (slower, less lag) = Прымусовая сінхранізацыя рэальнай частаты ЦП (павольней, менш затрымкі) Game crashed = Гульня зламалася Games list settings = Налады спісу гульняў -General = Агульныя Help the PPSSPP team = Help the PPSSPP team Host (bugs, less lag) = Хост (памылкі, менш затрымкі) Ignore bad memory accesses = Ігнараваць няправільны доступ да памяці diff --git a/assets/lang/bg_BG.ini b/assets/lang/bg_BG.ini index 08940fb988..6f94ae80d6 100644 --- a/assets/lang/bg_BG.ini +++ b/assets/lang/bg_BG.ini @@ -881,6 +881,7 @@ www.ppsspp.org = www.ppsspp.org [MainSettings] Audio = Аудио Controls = Контроли +General = Основни Graphics = Графика Networking = Мрежа Search = Търсене @@ -1509,7 +1510,6 @@ Fast (lag on slow storage) = Fast (lag on slow storage) Fast Memory = Бърза памет (нестабилно) Force real clock sync (slower, less lag) = Force real clock sync (slower, less lag) Games list settings = Games list settings -General = Основни Help the PPSSPP team = Help the PPSSPP team Host (bugs, less lag) = Host (bugs, less lag) Ignore bad memory accesses = Ignore bad memory accesses diff --git a/assets/lang/ca_ES.ini b/assets/lang/ca_ES.ini index 07df1172d5..c31d7f0ab1 100644 --- a/assets/lang/ca_ES.ini +++ b/assets/lang/ca_ES.ini @@ -881,6 +881,7 @@ www.ppsspp.org = www.ppsspp.org [MainSettings] Audio = Àudio Controls = Controls +General = General Graphics = Gràfics Networking = Joc en xarxa Search = Cercar @@ -1509,7 +1510,6 @@ Fast (lag on slow storage) = Fast (lag on slow storage) Fast Memory = Memòria ràpida (inestable) Force real clock sync (slower, less lag) = Force real clock sync (slower, less lag) Games list settings = Games list settings -General = General Help the PPSSPP team = Help the PPSSPP team Host (bugs, less lag) = Host (bugs, less lag) Ignore bad memory accesses = Ignore bad memory accesses diff --git a/assets/lang/cz_CZ.ini b/assets/lang/cz_CZ.ini index 7da47b0c7c..687927dc96 100644 --- a/assets/lang/cz_CZ.ini +++ b/assets/lang/cz_CZ.ini @@ -881,6 +881,7 @@ www.ppsspp.org = www.ppsspp.org [MainSettings] Audio = Zvuk Controls = Ovládání +General = Obecné Graphics = Grafika Networking = Síť Search = Search @@ -1509,7 +1510,6 @@ Fast (lag on slow storage) = Rychlá (zasekává se na pomalém úložišti) Fast Memory = Rychlá paměť (nestabilní) Force real clock sync (slower, less lag) = Vynutit skutečný soulad hodin (pomalejší, méně sekání) Games list settings = Games list settings -General = Obecné Help the PPSSPP team = Pomozte týmu PPSSPP Host (bugs, less lag) = Hostitel (chyby, zasekává se méně) Ignore bad memory accesses = Ignore bad memory accesses diff --git a/assets/lang/da_DK.ini b/assets/lang/da_DK.ini index 3830edabf4..8e3631ad76 100644 --- a/assets/lang/da_DK.ini +++ b/assets/lang/da_DK.ini @@ -881,6 +881,7 @@ www.ppsspp.org = www.ppsspp.org [MainSettings] Audio = Lyd Controls = Betjening +General = Generel Graphics = Grafik Networking = Netværk Search = Search @@ -1509,7 +1510,6 @@ Fast (lag on slow storage) = Hurtig (forsinkelser på langsomt lager) Fast Memory = Hurtig hukommelse (ustabil) Force real clock sync (slower, less lag) = Tving rigtig clock sync (langsommere, færre forsinkelser) Games list settings = Games list settings -General = Generel Help the PPSSPP team = Hjælp PPSSPP holdet Host (bugs, less lag) = Host (fejl, færre forsinkelser) Ignore bad memory accesses = Ignore bad memory accesses diff --git a/assets/lang/de_DE.ini b/assets/lang/de_DE.ini index d7a849db71..7d732f032a 100644 --- a/assets/lang/de_DE.ini +++ b/assets/lang/de_DE.ini @@ -880,6 +880,7 @@ www.ppsspp.org = www.ppsspp.org [MainSettings] Audio = Ton Controls = Bedienung +General = Allgemein Graphics = Grafik Networking = Netzwerk Search = Suchen @@ -1508,7 +1509,6 @@ Fast (lag on slow storage) = Schnell (Verzögerung bei langsamen Speicher) Fast Memory = Schneller Speicher (instabil) Force real clock sync (slower, less lag) = Echte Taktsync erzwingen (langsamer, weniger Verzögerung) Games list settings = Spielliste-Einstellungen -General = Allgemein Help the PPSSPP team = Dem PPSSPP-Team helfen Host (bugs, less lag) = Host (Fehlerbehaftet, weniger Verzögerung) Ignore bad memory accesses = Fehlerhafte Speicherzugriffe ignorieren diff --git a/assets/lang/dr_ID.ini b/assets/lang/dr_ID.ini index 1dbaf390f1..3a3dd430fe 100644 --- a/assets/lang/dr_ID.ini +++ b/assets/lang/dr_ID.ini @@ -877,6 +877,7 @@ www.ppsspp.org = www.ppsspp.org [MainSettings] Audio = Suarana Controls = Tombolna +General = Yato biasa Graphics = Gambara'na Networking = Networking Search = Search @@ -1497,7 +1498,6 @@ Fast (lag on slow storage) = Fast (lag on slow storage) Fast Memory = Memori malassi (tang stabil) Force real clock sync (slower, less lag) = Force real clock sync (slower, less lag) Games list settings = Games list settings -General = Yato biasa Help the PPSSPP team = Help the PPSSPP team Host (bugs, less lag) = Host (bugs, less lag) Ignore bad memory accesses = Ignore bad memory accesses diff --git a/assets/lang/en_US.ini b/assets/lang/en_US.ini index 732dc12087..fab9b688b4 100644 --- a/assets/lang/en_US.ini +++ b/assets/lang/en_US.ini @@ -906,6 +906,7 @@ www.ppsspp.org = www.ppsspp.org [MainSettings] Audio = Audio Controls = Controls +General = General Graphics = Graphics Networking = Networking System = System @@ -1527,7 +1528,6 @@ Floating symbols = Floating symbols Force real clock sync (slower, less lag) = Force real clock sync (slower, less lag) Game crashed = Game crashed Games list settings = Games list settings -General = General Help the PPSSPP team = Help the PPSSPP team Host (bugs, less lag) = Host (bugs, less lag) Ignore bad memory accesses = Ignore bad memory accesses diff --git a/assets/lang/es_ES.ini b/assets/lang/es_ES.ini index d75448906b..769102ff75 100644 --- a/assets/lang/es_ES.ini +++ b/assets/lang/es_ES.ini @@ -882,6 +882,7 @@ www.ppsspp.org = www.ppsspp.org [MainSettings] Audio = Sonido Controls = Controles +General = General Graphics = Gráficos Networking = Red Search = Buscar @@ -1493,7 +1494,6 @@ Floating symbols = Símbolos flotantes Force real clock sync (slower, less lag) = Forzar sincronización de velocidad real (más lento, menos retraso) Game crashed = El juego se bloqueó Games list settings = Ajustes de lista de juegos -General = General Grid = Cuadrícula # AI translated Help the PPSSPP team = Ayuda al equipo de PPSSPP Hide navigation bar = Ocultar barra de navegación # AI translated diff --git a/assets/lang/es_LA.ini b/assets/lang/es_LA.ini index 15cbef2247..2fc136a704 100644 --- a/assets/lang/es_LA.ini +++ b/assets/lang/es_LA.ini @@ -881,6 +881,7 @@ www.ppsspp.org = www.ppsspp.org [MainSettings] Audio = Audio Controls = Controles +General = General Graphics = Gráficos Networking = Juego en red Search = Buscar @@ -1511,7 +1512,6 @@ Fast (lag on slow storage) = Rápido (lag en almac. lento) Fast Memory = Memoria Rápida (inestable) Force real clock sync (slower, less lag) = Forzar sinc. real de reloj (lento, menos lag) Games list settings = Configuración de la lista de juegos -General = General Help the PPSSPP team = Ayuda al equipo de PPSSPP Host (bugs, less lag) = Anfitrión (con bugs pero menos lag) Ignore bad memory accesses = Ignorar malos accesos a la memoria diff --git a/assets/lang/fa_IR.ini b/assets/lang/fa_IR.ini index 8d6930a534..420029e2d3 100644 --- a/assets/lang/fa_IR.ini +++ b/assets/lang/fa_IR.ini @@ -878,6 +878,7 @@ www.ppsspp.org = ‎وبسایت شبیه ساز [MainSettings] Audio = ‎صدا Controls = ‎کنترل‌ها +General = ‎عمومی Graphics = ‎گرافیک Networking = ‎شبکه Search = جستجو @@ -1499,7 +1500,6 @@ Fast (lag on slow storage) = ‎سریع (در حافظه‌های کند باع Fast Memory = ‎(مموری سریع (ناپایدار Force real clock sync (slower, less lag) = ‎واقعی (کندتر، لگ کمتر) CPU اجبار به همگام سازی سرعت Games list settings = لیست تنظیمات بازی -General = ‎عمومی Help the PPSSPP team = Help the PPSSPP team Host (bugs, less lag) = ‎دستگاه (دارای باگ، لگ کمتر) Ignore bad memory accesses = Ignore bad memory accesses diff --git a/assets/lang/fi_FI.ini b/assets/lang/fi_FI.ini index d736daf5ee..12f1176599 100644 --- a/assets/lang/fi_FI.ini +++ b/assets/lang/fi_FI.ini @@ -881,6 +881,7 @@ www.ppsspp.org = www.ppsspp.org [MainSettings] Audio = Ääni Controls = Ohjaus +General = Yleiset Graphics = Grafiikka Networking = Verkko Search = Haku @@ -1509,7 +1510,6 @@ Fast (lag on slow storage) = Nopea (viive hidas tallennustilassa) Fast Memory = Nopea muisti Force real clock sync (slower, less lag) = Pakota todellinen kellon synkronointi (hidastaa, vähemmän viivettä) Games list settings = Peliluettelon asetukset -General = Yleiset Help the PPSSPP team = Auta PPSSPP-tiimiä Host (bugs, less lag) = Isäntä (enemmän virheitä, vähemmän viivettä) Ignore bad memory accesses = Ohita huonot muistipääsyt diff --git a/assets/lang/fr_FR.ini b/assets/lang/fr_FR.ini index ad63e4e33c..b497c00ae4 100644 --- a/assets/lang/fr_FR.ini +++ b/assets/lang/fr_FR.ini @@ -905,6 +905,7 @@ www.ppsspp.org = www.ppsspp.org [MainSettings] Audio = Son Controls = Commandes +General = Général Graphics = Graphismes Networking = Réseau Search = Rechercher @@ -1527,7 +1528,6 @@ Floating symbols = Symboles flottants Force real clock sync (slower, less lag) = Forcer synchronisation temps réel (+ lent, - de décalage) Game crashed = Le jeu a planté Games list settings = Paramètres des listes de jeux -General = Général Help the PPSSPP team = Aider l'équipe de PPSSPP Host (bugs, less lag) = Hôte (bugs, moins de lag) Ignore bad memory accesses = Ignorer les mauvais accès mémoire diff --git a/assets/lang/gl_ES.ini b/assets/lang/gl_ES.ini index 28b72d2a84..a63d1fc806 100644 --- a/assets/lang/gl_ES.ini +++ b/assets/lang/gl_ES.ini @@ -881,6 +881,7 @@ www.ppsspp.org = Sitio oficial [MainSettings] Audio = Son Controls = Controis +General = Xeral Graphics = Gráficos Networking = Xogo en rede Search = Search @@ -1508,7 +1509,6 @@ Fast (lag on slow storage) = Rápido (lag en almacenamento lento) Fast Memory = Memoria rápida (inestable) Force real clock sync (slower, less lag) = Forzar sinc. real de reloxo (lento, menos lag) Games list settings = Games list settings -General = Xeral Help the PPSSPP team = Axuda ó equipo de PPSSPP Host (bugs, less lag) = Anfitrión (Erros, menos lag) Ignore bad memory accesses = Ignore bad memory accesses diff --git a/assets/lang/gr_EL.ini b/assets/lang/gr_EL.ini index 807dbe8343..8052d85f7c 100644 --- a/assets/lang/gr_EL.ini +++ b/assets/lang/gr_EL.ini @@ -881,6 +881,7 @@ www.ppsspp.org = www.ppsspp.org [MainSettings] Audio = Ήχος Controls = Χειριστήριο +General = Γενικά Graphics = Γραφικά Networking = Δικτύωση Search = Search @@ -1508,7 +1509,6 @@ Fast (lag on slow storage) = Γρήγορος (καθυστερήσεις σε Fast Memory = Γρήγορη Μνήμη (ασταθής) Force real clock sync (slower, less lag) = Εξαναγκασμός συγχρονισμού πραγματικού χρόνου (πιο αργό αλλά λιγότερες καθυστερήσεις) Games list settings = Games list settings -General = Γενικά Help the PPSSPP team = Βοηθήστε την ομάδα του PPSSPP Host (bugs, less lag) = Host (σφάλματα, λιγότερη καθυστέρηση) Ignore bad memory accesses = Ignore bad memory accesses diff --git a/assets/lang/he_IL.ini b/assets/lang/he_IL.ini index 48a3a04748..4c70079e79 100644 --- a/assets/lang/he_IL.ini +++ b/assets/lang/he_IL.ini @@ -879,6 +879,7 @@ www.ppsspp.org = לאתר [MainSettings] Audio = שמע Controls = מקשים +General = כללי Graphics = גראפיקה Networking = Networking Search = Search @@ -1499,7 +1500,6 @@ Fast (lag on slow storage) = Fast (lag on slow storage) Fast Memory = עיבוד מהיר של זיכרון (לא יציב) Force real clock sync (slower, less lag) = Force real clock sync (slower, less lag) Games list settings = Games list settings -General = כללי Help the PPSSPP team = Help the PPSSPP team Host (bugs, less lag) = Host (bugs, less lag) Ignore bad memory accesses = Ignore bad memory accesses diff --git a/assets/lang/hr_HR.ini b/assets/lang/hr_HR.ini index f5145762cd..3fd6f9abc3 100644 --- a/assets/lang/hr_HR.ini +++ b/assets/lang/hr_HR.ini @@ -881,6 +881,7 @@ www.ppsspp.org = www.ppsspp.org [MainSettings] Audio = Zvuk Controls = Kontrole +General = Generalno Graphics = Grafike Networking = Internet Search = Search @@ -1509,7 +1510,6 @@ Fast (lag on slow storage) = Brzo (štekanje na malom prostoru) Fast Memory = Brza memorija (nestabilno) Force real clock sync (slower, less lag) = Prisili pravo-satno sinkroniziranje (sporije, manje šteka) Games list settings = Games list settings -General = Generalno Help the PPSSPP team = Pomozite PPSSPP timu Host (bugs, less lag) = Domaći (bugovi, manje šteka) Ignore bad memory accesses = Ignore bad memory accesses diff --git a/assets/lang/hu_HU.ini b/assets/lang/hu_HU.ini index 2d440b1c8d..b8fdf52c6e 100644 --- a/assets/lang/hu_HU.ini +++ b/assets/lang/hu_HU.ini @@ -881,6 +881,7 @@ www.ppsspp.org = www.ppsspp.org [MainSettings] Audio = Hang Controls = Irányítás +General = Általános Graphics = Grafika Networking = Hálózat Search = Keresés @@ -1509,7 +1510,6 @@ Fast (lag on slow storage) = Gyors (lassú tárolón akadozik) Fast Memory = Gyors memória elérés (instabil) Force real clock sync (slower, less lag) = Valós idejű óra szinkron kényszerítése (lassabb, kevesebb lag) Games list settings = Játéklista beállításai -General = Általános Help the PPSSPP team = Segítsd a PPSSPP csapatát Host (bugs, less lag) = Host (hibák, kevesebb lag) Ignore bad memory accesses = Hibás memóriaelérések figyelmen kívül hagyása diff --git a/assets/lang/id_ID.ini b/assets/lang/id_ID.ini index 256a37b267..f4d55d056d 100644 --- a/assets/lang/id_ID.ini +++ b/assets/lang/id_ID.ini @@ -881,6 +881,7 @@ www.ppsspp.org = www.ppsspp.org [MainSettings] Audio = Suara Controls = Kontrol +General = Umum Graphics = Grafis Networking = Koneksi System = Sistem @@ -1509,7 +1510,6 @@ Fast (lag on slow storage) = Cepat (telat di penyimpanan yang lambat) Fast Memory = Memori cepat (tidak stabil) Force real clock sync (slower, less lag) = Paksa sinkronisasi pewaktu nyata (lambat, namun lebih tepat) Games list settings = Daftar pengaturan game -General = Umum Help the PPSSPP team = Bantu tim PPSSPP Host (bugs, less lag) = Inang (ada bug tapi lebih cepat) Ignore bad memory accesses = Abaikan akses memori yang buruk diff --git a/assets/lang/it_IT.ini b/assets/lang/it_IT.ini index 6188a84875..ea77b01d24 100644 --- a/assets/lang/it_IT.ini +++ b/assets/lang/it_IT.ini @@ -882,6 +882,7 @@ www.ppsspp.org = www.ppsspp.org [MainSettings] Audio = Audio Controls = Controlli +General = Generali Graphics = Grafica Networking = Rete Search = Ricerca @@ -1543,7 +1544,6 @@ Top Right = In alto a destra Transparent UI background = Sfondo trasparente dell'interfaccia UI = Interfaccia Games list settings = Impostazioni Lista giochi -General = Generali Help the PPSSPP team = Aiuta il gruppo del PPSSPP Host (bugs, less lag) = Host (buggato, poca lag) Ignore bad memory accesses = Ignora i cattivi accessi alla memoria diff --git a/assets/lang/ja_JP.ini b/assets/lang/ja_JP.ini index 05949e6447..805ad5d8bb 100644 --- a/assets/lang/ja_JP.ini +++ b/assets/lang/ja_JP.ini @@ -881,6 +881,7 @@ www.ppsspp.org = www.ppsspp.org [MainSettings] Audio = オーディオ Controls = コントロール +General = 全般 Graphics = グラフィックス Networking = ネットワーク Search = 検索 @@ -1509,7 +1510,6 @@ Fast (lag on slow storage) = 高速 (遅いストレージだとラグあり) Fast Memory = 高速メモリ (不安定) Force real clock sync (slower, less lag) = リアルクロックへの同期を強制する (低速化, ラグ減少) Games list settings = ゲームリストの設定 -General = 全般 Help the PPSSPP team = PPSSPPチームを支援する Host (bugs, less lag) = ホスト (バグあり, ラグは少ない) Ignore bad memory accesses = 不正なメモリアクセスを無視する diff --git a/assets/lang/jv_ID.ini b/assets/lang/jv_ID.ini index cfaef4da41..e7a82c7cd4 100644 --- a/assets/lang/jv_ID.ini +++ b/assets/lang/jv_ID.ini @@ -877,6 +877,7 @@ www.ppsspp.org = www.ppsspp.org [MainSettings] Audio = Suoro Controls = Kontrol +General = Umum Graphics = Tampilan Networking = Jaringan Search = Search @@ -1497,7 +1498,6 @@ Fast (lag on slow storage) = Cepet (lag on slow storage) Fast Memory = Memory cepet (ora stabil) Force real clock sync (slower, less lag) = Pasukan jam nyata sink (alon, kurang lag) Games list settings = Games list settings -General = Umum Help the PPSSPP team = Bantu tim PPSSPP Host (bugs, less lag) = Host (bugs, less lag) Ignore bad memory accesses = Ignore bad memory accesses diff --git a/assets/lang/km_KH.ini b/assets/lang/km_KH.ini index 974dc59d70..c655c60a1b 100644 --- a/assets/lang/km_KH.ini +++ b/assets/lang/km_KH.ini @@ -874,6 +874,7 @@ www.ppsspp.org =www.ppsspp.org [MainSettings] Audio =អូឌីយ៉ូ Controls =ការត្រួតពិនិត្យ +General =ទូទៅ Graphics =ក្រាហ្វិក Networking =បណ្តាញ System =ប្រព័ន្ធ @@ -1486,7 +1487,6 @@ Floating symbols =និមិត្តសញ្ញាអណ្តែត Force real clock sync (slower, less lag) =បង្ខំ​ឱ្យ​ធ្វើ​សមកាលកម្ម​នាឡិកា​ពិត​ប្រាកដ (យឺត​ជាង​យឺត) Game crashed =ហ្គេមបានគាំង Games list settings =ការកំណត់បញ្ជីហ្គេម -General =ទូទៅ Help the PPSSPP team =ជួយក្រុម PPSSPP Host (bugs, less lag) =ម៉ាស៊ីន (កំហុស ភាពយឺតយ៉ាវតិច) Ignore bad memory accesses =មិនអើពើការចូលប្រើអង្គចងចាំមិនល្អ diff --git a/assets/lang/ko_KR.ini b/assets/lang/ko_KR.ini index 680ce76efe..25f5387d9a 100644 --- a/assets/lang/ko_KR.ini +++ b/assets/lang/ko_KR.ini @@ -881,6 +881,7 @@ www.ppsspp.org = www.ppsspp.org [MainSettings] Audio = 오디오 Controls = 조작 +General = 일반 Graphics = 그래픽 Networking = 네트워킹 System = 시스템 @@ -1500,7 +1501,6 @@ Floating symbols = 부동 기호 Force real clock sync (slower, less lag) = 실제 클럭 동기화 강제 실행(느림, 지연 감소) Game crashed = 게임 충돌 Games list settings = 게임 목록 설정 -General = 일반 Help the PPSSPP team = PPSSPP 팀 돕기 Host (bugs, less lag) = 호스트 (버그, 지연 감소) Ignore bad memory accesses = 잘못된 메모리 접속 무시 diff --git a/assets/lang/ku_SO.ini b/assets/lang/ku_SO.ini index 627e50021f..5924ae3146 100644 --- a/assets/lang/ku_SO.ini +++ b/assets/lang/ku_SO.ini @@ -891,6 +891,7 @@ www.ppsspp.org = www.ppsspp.org [MainSettings] Audio = دەنگ Controls = کۆنترۆڵەکان +General = گشتی Graphics = گرافیکەکان Networking = نێتوۆرک System = سیستەم @@ -1502,7 +1503,6 @@ Floating symbols = هێمای جوڵاو Force real clock sync (slower, less lag) = Force real clock sync (slower, less lag) Game crashed = Game crashed Games list settings = سێتینگەکانی لیستی یاریەکان -General = گشتی Help the PPSSPP team = Help the PPSSPP team Host (bugs, less lag) = Host (bugs, less lag) Ignore bad memory accesses = Ignore bad memory accesses diff --git a/assets/lang/lo_LA.ini b/assets/lang/lo_LA.ini index 2d2cb98c91..f537ffc160 100644 --- a/assets/lang/lo_LA.ini +++ b/assets/lang/lo_LA.ini @@ -877,6 +877,7 @@ www.ppsspp.org = www.ppsspp.org [MainSettings] Audio = ສຽງ Controls = ການຄວບຄຸມ +General = ທົ່ວໄປ Graphics = ກຣາບຟິກ Networking = ເຄື່ອຂ່າຍ Search = Search @@ -1497,7 +1498,6 @@ Fast (lag on slow storage) = ໄວ (ອາດແລັກຫາກບ່ອນ Fast Memory = ໜ່ວຍຄວາມຈຳເຮັດວຽກໄວຂຶ້ນ (ໃຊ້ໄດ້ກັບບາງອຸປະກອນ) Force real clock sync (slower, less lag) = ບັງຄັບການຊິງສັນຍານຄວາມຖີ່ (ຊ້າກວ່າ, ແລັກໜ້ອຍກວ່າ) Games list settings = Games list settings -General = ທົ່ວໄປ Help the PPSSPP team = ຊ່ອຍເຫຼືອທີມງານ PPSSPP Host (bugs, less lag) = Host (ອາດມີບັ໊ກ, ແລັກໜ້ອຍລົງ) Ignore bad memory accesses = Ignore bad memory accesses diff --git a/assets/lang/lt-LT.ini b/assets/lang/lt-LT.ini index de8ee795fc..c823e444e4 100644 --- a/assets/lang/lt-LT.ini +++ b/assets/lang/lt-LT.ini @@ -879,6 +879,7 @@ www.ppsspp.org = www.ppsspp.org [MainSettings] Audio = Garsas Controls = Valdymas +General = Pagrindiniai Graphics = Grafika Networking = Tinklų parametrai Search = Search @@ -1499,7 +1500,6 @@ Fast (lag on slow storage) = Fast (lag on slow storage) Fast Memory = Greita atmintis (nestabili) Force real clock sync (slower, less lag) = Priversti tikro greičio sinchronizaciją (lėtesnis, mažiau striginėjimų) Games list settings = Games list settings -General = Pagrindiniai Help the PPSSPP team = Help the PPSSPP team Host (bugs, less lag) = Host (bugs, less lag) Ignore bad memory accesses = Ignore bad memory accesses diff --git a/assets/lang/ms_MY.ini b/assets/lang/ms_MY.ini index 6d0ad91abd..2e674f8e1d 100644 --- a/assets/lang/ms_MY.ini +++ b/assets/lang/ms_MY.ini @@ -881,6 +881,7 @@ www.ppsspp.org = www.ppsspp.org [MainSettings] Audio = Suara Controls = Kawalan +General = Umum Graphics = Grafik Networking = Rangkaian Search = Carian @@ -1509,7 +1510,6 @@ Fast (lag on slow storage) = Laju (selang masa pada storan perlahan) Fast Memory = Memori dilajukan (tidak stabil) Force real clock sync (slower, less lag) = Paksa penyelarasan masa sebenar (lebih perlahan, kurang selang masa) Games list settings = Tetapan senarai permainan -General = Umum Help the PPSSPP team = Bantu pasukan PPSSPP Host (bugs, less lag) = Perumah (pepijat, kurang selang masa) Ignore bad memory accesses = Abaikan akses memori yang rosak diff --git a/assets/lang/nl_NL.ini b/assets/lang/nl_NL.ini index 4a3a351f7e..8f41f72288 100644 --- a/assets/lang/nl_NL.ini +++ b/assets/lang/nl_NL.ini @@ -881,6 +881,7 @@ www.ppsspp.org = www.ppsspp.org [MainSettings] Audio = Geluid Controls = Besturing +General = Algemeen Graphics = Beeld Networking = Netwerk Search = Search @@ -1509,7 +1510,6 @@ Fast (lag on slow storage) = Snel (lagt bij traag geheugen) Fast Memory = Snel geheugen (instabiel) Force real clock sync (slower, less lag) = Kloksnelheid gelijkzetten (trager, minder lag) Games list settings = Games list settings -General = Algemeen Help the PPSSPP team = Help het PPSSPP-team Host (bugs, less lag) = Host (bugs, minder lag) Ignore bad memory accesses = Ignore bad memory accesses diff --git a/assets/lang/nn_NO.ini b/assets/lang/nn_NO.ini index 1c30d8f73d..d15790b081 100644 --- a/assets/lang/nn_NO.ini +++ b/assets/lang/nn_NO.ini @@ -905,6 +905,7 @@ www.ppsspp.org = www.ppsspp.org [MainSettings] Audio = Lyd Controls = Kontrollar +General = Generelt Graphics = Grafikk Networking = Nettverk System = System @@ -1525,7 +1526,6 @@ Floating symbols = Flytande symbol Force real clock sync (slower, less lag) = Tving ekte klokkesynk (tregare, mindre forseinking) Game crashed = Spelet krasja Games list settings = Innstillingar for spelliste -General = Generelt Help the PPSSPP team = Hjelp PPSSPP-laget Host (bugs, less lag) = Vert (feil, mindre forseinking) Ignore bad memory accesses = Ignorer ugyldige minnetilgangar diff --git a/assets/lang/no_NO.ini b/assets/lang/no_NO.ini index d6981906e3..6b6abc237a 100644 --- a/assets/lang/no_NO.ini +++ b/assets/lang/no_NO.ini @@ -905,6 +905,7 @@ www.ppsspp.org = www.ppsspp.org [MainSettings] Audio = Lyd Controls = Kontroll +General = Generelt Graphics = Grafikk Networking = Nettverk System = System @@ -1525,7 +1526,6 @@ Floating symbols = Flytende symboler Force real clock sync (slower, less lag) = Tving ekte klokkesynk (tregere, mindre forsinkelse) Game crashed = Spillet krasjet Games list settings = Spilliste-innstillinger -General = Generelt Help the PPSSPP team = Hjelp PPSSPP-teamet Host (bugs, less lag) = Vert (feil, mindre forsinkelse) Ignore bad memory accesses = Ignorer ugyldige minnetilganger diff --git a/assets/lang/pl_PL.ini b/assets/lang/pl_PL.ini index 99e6bfe032..60b018c358 100644 --- a/assets/lang/pl_PL.ini +++ b/assets/lang/pl_PL.ini @@ -885,6 +885,7 @@ www.ppsspp.org = www.ppsspp.org [MainSettings] Audio = Dźwięk Controls = Sterowanie +General = Ogólne Graphics = Grafika Networking = Sieć Search = Wyszukiwanie @@ -1516,7 +1517,6 @@ Fast (lag on slow storage) = Szybka (zacina na wolnych dyskach) Fast Memory = Szybka pamięć (niestabilne) Force real clock sync (slower, less lag) = Wymuś rzeczywistą synchr. zegara (wolniej, mniej zacina) Games list settings = Ustawienia listy gier -General = Ogólne Help the PPSSPP team = Pomóż zespołowi PPSSPP Host (bugs, less lag) = Host (błędy, mniejsze zacinanie) Ignore bad memory accesses = Ignoruj złe dostępy do pamięci diff --git a/assets/lang/pt_BR.ini b/assets/lang/pt_BR.ini index 7b4ce547fa..edc37f5b53 100644 --- a/assets/lang/pt_BR.ini +++ b/assets/lang/pt_BR.ini @@ -903,6 +903,7 @@ www.ppsspp.org = www.ppsspp.org [MainSettings] Audio = Áudio Controls = Controles +General = Geral Graphics = Gráficos Networking = Rede System = Sistema @@ -1524,7 +1525,6 @@ Floating symbols = Símbolos flutuantes Force real clock sync (slower, less lag) = Forçar sincronização com o relógio real (mais lento, menos atrasos) Game crashed = O jogo teve um crash Games list settings = Configurações da lista de jogos -General = Geral Help the PPSSPP team = Ajude o time do PPSSPP Host (bugs, less lag) = Hospedeiro (tem bugs, menos atrasos) Ignore bad memory accesses = Ignorar acessos ruins da memória diff --git a/assets/lang/pt_PT.ini b/assets/lang/pt_PT.ini index c5ba077a70..5ab79f7975 100644 --- a/assets/lang/pt_PT.ini +++ b/assets/lang/pt_PT.ini @@ -906,6 +906,7 @@ www.ppsspp.org = www.ppsspp.org [MainSettings] Audio = Áudio Controls = Controlos +General = Geral Graphics = Gráficos Networking = Rede System = Sistema @@ -1525,7 +1526,6 @@ Floating symbols = Símbolos flutuantes Force real clock sync (slower, less lag) = Forçar sincronização com o relógio real (mais lento, menos atrasos) Game crashed = O jogo crashou :( Games list settings = Definições da lista de jogos -General = Geral Help the PPSSPP team = Ajude a equipa da PPSSPP Host (bugs, less lag) = Hospedeiro (mais bugs, menos atrasos) Ignore bad memory accesses = Ignorar acessos inválidos à memória diff --git a/assets/lang/ro_RO.ini b/assets/lang/ro_RO.ini index f9c4c877f3..0bfff958da 100644 --- a/assets/lang/ro_RO.ini +++ b/assets/lang/ro_RO.ini @@ -881,6 +881,7 @@ www.ppsspp.org = www.ppsspp.org [MainSettings] Audio = Audio Controls = Setări de Control +General = General Graphics = Grafică Networking = Rețelistică Search = Search @@ -1509,7 +1510,6 @@ Fast (lag on slow storage) = Rapid (lent pe stocare lentă) Fast Memory = Memorie rapidă (instabil) Force real clock sync (slower, less lag) = Forțează sincronizare cu ceas real (lent, mai puțină latență) Games list settings = Games list settings -General = General Help the PPSSPP team = Ajută echipa PPSSPP Host (bugs, less lag) = Host (cu erori, mai puțină latență) Ignore bad memory accesses = Ignore bad memory accesses diff --git a/assets/lang/ru_RU.ini b/assets/lang/ru_RU.ini index 80067abce8..15bcae45fe 100644 --- a/assets/lang/ru_RU.ini +++ b/assets/lang/ru_RU.ini @@ -881,6 +881,7 @@ www.ppsspp.org = www.ppsspp.org [MainSettings] Audio = Аудио Controls = Управление +General = Основные Graphics = Графика Networking = Сеть Search = Поиск @@ -1509,7 +1510,6 @@ Fast Memory = Быстрая память (нестабильно) Floating symbols = Парящие символы Force real clock sync (slower, less lag) = Принудительная синхронизация реальной частоты ЦП (медленнее, меньше лагов) Games list settings = Настройки списка игр -General = Основные Help the PPSSPP team = Помочь команде PPSSPP Host (bugs, less lag) = Хост (возможны баги, меньше лагов) Ignore bad memory accesses = Игнорировать ошибки доступа к памяти diff --git a/assets/lang/sv_SE.ini b/assets/lang/sv_SE.ini index 963364aa94..2c67ef88af 100644 --- a/assets/lang/sv_SE.ini +++ b/assets/lang/sv_SE.ini @@ -883,6 +883,7 @@ www.ppsspp.org = www.ppsspp.org [MainSettings] Audio = Ljud Controls = Kontroller +General = Allmänt Graphics = Grafik Networking = Nätverk Search = Sök @@ -1511,7 +1512,6 @@ Fast (lag on slow storage) = Snabbt (lagg på långsam lagring) Fast Memory = Snabbt minne (instabilt) Force real clock sync (slower, less lag) = Tvinga synkronisering med realtidsklockan (långsammare, mindre fördröjning) Games list settings = Inställningar för spellistan -General = Allmänt Help the PPSSPP team = Stöd PPSSPP-teamet Host (bugs, less lag) = Värd (buggar, mindre lagg) Ignore bad memory accesses = Ignorera felaktiga minnesåtkomster diff --git a/assets/lang/tg_PH.ini b/assets/lang/tg_PH.ini index 6180e398d1..138f39506f 100644 --- a/assets/lang/tg_PH.ini +++ b/assets/lang/tg_PH.ini @@ -879,6 +879,7 @@ www.ppsspp.org = www.ppsspp.org [MainSettings] Audio = Tunog Controls = Kontrol +General = Pangkalahatan Graphics = Grapiko Networking = Networking Search = Mag-hanap @@ -1501,7 +1502,6 @@ Fast (lag on slow storage) = Mabilis (mabagal naman sa mahinang storage) Fast Memory = Mabilis na memorya (hindi stable) Force real clock sync (slower, less lag) = Pilitin mag-sync sa 'real clock' (babagal pero mababawasan ang lag) Games list settings = Games list settings -General = Pangkalahatan Help the PPSSPP team = Tumulong sa PPSSPP team Host (bugs, less lag) = Host (magkakaroon ng bug pero mababawasan ang lag) Ignore bad memory accesses = Baliwalain ang bad memory accesses diff --git a/assets/lang/th_TH.ini b/assets/lang/th_TH.ini index 0c321ae324..126b1887b8 100644 --- a/assets/lang/th_TH.ini +++ b/assets/lang/th_TH.ini @@ -898,6 +898,7 @@ www.ppsspp.org = เว็บไซต์หลัก PPSSPP [MainSettings] Audio = เสียง Controls = ควบคุม +General = ทั่วไป Graphics = กราฟิก Networking = เครือข่าย Search = ค้นหา @@ -1533,7 +1534,6 @@ Floating symbols = สัญลักษณ์ปุ่มจอยลอยไ Force real clock sync (slower, less lag) = บังคับการซิงค์สัญญาณความถี่ (ช้ากว่า, เเล็กน้อยลง) Game crashed = Game crashed Games list settings = การตั้งค่าในรายการเกม -General = ทั่วไป Grid = ตาราง # AI translated Help the PPSSPP team = ช่วยเหลือทีมงาน PPSSPP Hide navigation bar = ซ่อนแถบการนำทาง diff --git a/assets/lang/tr_TR.ini b/assets/lang/tr_TR.ini index 100f4ff11e..bed90a9646 100644 --- a/assets/lang/tr_TR.ini +++ b/assets/lang/tr_TR.ini @@ -883,6 +883,7 @@ www.ppsspp.org = www.ppsspp.org [MainSettings] Audio = Ses Controls = Kontroller +General = Genel Graphics = Grafik Networking = Ağ Search = Arama @@ -1510,7 +1511,6 @@ Fast (lag on slow storage) = Hızlı (yavaş depolamada gecikme olabilir) Fast Memory = Hızlı Bellek Force real clock sync (slower, less lag) = Gerçek Saat Hızına Eşitlemeye Zorla (yavaş, az gecikme) Games list settings = Oyun Listesi Ayarları -General = Genel Help the PPSSPP team = PPSSPP Takımına Yardım Et Host (bugs, less lag) = Ana makine (hatalı, az gecikme) Ignore bad memory accesses = Kötü Bellek Erişimlerini Yoksay diff --git a/assets/lang/uk_UA.ini b/assets/lang/uk_UA.ini index 05142d13ef..5603bedb2c 100644 --- a/assets/lang/uk_UA.ini +++ b/assets/lang/uk_UA.ini @@ -881,6 +881,7 @@ www.ppsspp.org = www.ppsspp.org [MainSettings] Audio = Аудіо Controls = Управління +General = Загальні Graphics = Графіка Networking = Мережа Search = Пошук @@ -1508,7 +1509,6 @@ Fast (lag on slow storage) = Швидко (лаги при повільній ш Fast Memory = Швидка пам'ять (нестабільно) Force real clock sync (slower, less lag) = Примусова синхронізація реальної частоти ЦП (повільніше, можливі лаги) Games list settings = Налаштування списку ігор -General = Загальні Help the PPSSPP team = Допомога Команді PPSSPP Host (bugs, less lag) = Хост (повільніше, можливі лаги) Ignore bad memory accesses = Ігноруйте погані звернення до пам'яті diff --git a/assets/lang/vi_VN.ini b/assets/lang/vi_VN.ini index 1b4d4ee569..e06e73d664 100644 --- a/assets/lang/vi_VN.ini +++ b/assets/lang/vi_VN.ini @@ -881,6 +881,7 @@ www.ppsspp.org = www.ppsspp.org [MainSettings] Audio = Âm thanh Controls = Điều khiển +General = Linh tinh Graphics = Đồ họa Networking = Mạng Search = Search @@ -1508,7 +1509,6 @@ Fast (lag on slow storage) = Nhanh (lag trên bộ nhớ thấp) Fast Memory = Bộ nhớ nhanh (không ổn định) Force real clock sync (slower, less lag) = Buộc đồng bộ tốc độ xung nhịp (chậm hơn, giảm lag hơn) Games list settings = Games list settings -General = Linh tinh Help the PPSSPP team = Giúp nhóm PPSSPP Host (bugs, less lag) = Host (lỗi, ít lag) Ignore bad memory accesses = Ignore bad memory accesses diff --git a/assets/lang/zh_CN.ini b/assets/lang/zh_CN.ini index f11c55fd58..3bfe48acb7 100644 --- a/assets/lang/zh_CN.ini +++ b/assets/lang/zh_CN.ini @@ -881,6 +881,7 @@ www.ppsspp.org = 访问官网 [MainSettings] Audio = 声音设置 Controls = 控制设置 +General = 常规设置 Graphics = 图像设置 Networking = 网络设置 System = 系统设置 @@ -1516,7 +1517,6 @@ Fast (lag on slow storage) = 快速模式 (适合高速储存) Fast Memory = 快速内存 (不稳定) Force real clock sync (slower, less lag) = 强制同步实际时钟 (减少延迟,并降低性能) Games list settings = 游戏列表设置 -General = 常规设置 Help the PPSSPP team = 帮助PPSSPP作者 Host (bugs, less lag) = 主机模式 (存在错误, 不易卡顿) Ignore bad memory accesses = 忽略错误内存访问 (减少崩溃) diff --git a/assets/lang/zh_TW.ini b/assets/lang/zh_TW.ini index 65d04e7280..2bf39cbfcd 100644 --- a/assets/lang/zh_TW.ini +++ b/assets/lang/zh_TW.ini @@ -881,6 +881,7 @@ www.ppsspp.org = 官方網站 [MainSettings] Audio = 音訊 Controls = 控制 +General = 一般 Graphics = 圖形 Networking = 網路 System = 系統 @@ -1501,7 +1502,6 @@ Fast Memory = 快速記憶體 (不穩定) Floating symbols = 浮動符號 Force real clock sync (slower, less lag) = 強制真實時脈同步 (更慢,減少延遲) Games list settings = 遊戲清單設定 -General = 一般 Help the PPSSPP team = 協助 PPSSPP 團隊 Host (bugs, less lag) = 主機 (更多錯誤,減少延遲) Ignore bad memory accesses = 忽略損毀的記憶體存取