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 = 忽略損毀的記憶體存取