From 1e93693f7319c1d7e542b5d31b35aae20f18ccd9 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Henrik=20Rydg=C3=A5rd?= Date: Tue, 7 Oct 2025 13:25:08 -0600 Subject: [PATCH] Revert "Remove the upgrade reminder" This reverts commit a1a92780478bbc906d176fcf4a85825bff269a96. --- Core/Config.cpp | 90 +++++++++++++++++++++++++++++++++++- Core/Config.h | 10 +++- UI/MainScreen.cpp | 47 +++++++++++++++++++ UI/MainScreen.h | 3 ++ UI/RemoteISOScreen.cpp | 2 + assets/lang/ar_AE.ini | 1 + assets/lang/az_AZ.ini | 1 + assets/lang/be_BY.ini | 1 + assets/lang/bg_BG.ini | 1 + assets/lang/ca_ES.ini | 1 + assets/lang/cz_CZ.ini | 1 + assets/lang/da_DK.ini | 1 + assets/lang/de_DE.ini | 6 +-- assets/lang/dr_ID.ini | 1 + assets/lang/en_US.ini | 1 + assets/lang/es_ES.ini | 2 +- assets/lang/es_LA.ini | 1 + assets/lang/fa_IR.ini | 1 + assets/lang/fi_FI.ini | 1 + assets/lang/fr_FR.ini | 1 + assets/lang/gl_ES.ini | 1 + assets/lang/gr_EL.ini | 1 + assets/lang/he_IL.ini | 1 + assets/lang/he_IL_invert.ini | 1 + assets/lang/hr_HR.ini | 1 + assets/lang/hu_HU.ini | 1 + assets/lang/id_ID.ini | 1 + assets/lang/it_IT.ini | 2 +- assets/lang/ja_JP.ini | 1 + assets/lang/jv_ID.ini | 1 + assets/lang/ko_KR.ini | 2 +- assets/lang/ku_SO.ini | 2 +- assets/lang/lo_LA.ini | 1 + assets/lang/lt-LT.ini | 1 + assets/lang/ms_MY.ini | 1 + assets/lang/nl_NL.ini | 1 + assets/lang/no_NO.ini | 1 + assets/lang/pl_PL.ini | 1 + assets/lang/pt_BR.ini | 1 + assets/lang/pt_PT.ini | 2 +- assets/lang/ro_RO.ini | 1 + assets/lang/ru_RU.ini | 1 + assets/lang/sv_SE.ini | 1 + assets/lang/tg_PH.ini | 2 +- assets/lang/th_TH.ini | 2 +- assets/lang/tr_TR.ini | 1 + assets/lang/uk_UA.ini | 1 + assets/lang/vi_VN.ini | 1 + assets/lang/zh_CN.ini | 2 +- assets/lang/zh_TW.ini | 2 +- 50 files changed, 195 insertions(+), 16 deletions(-) diff --git a/Core/Config.cpp b/Core/Config.cpp index bdeb953412..7bc7112ce5 100644 --- a/Core/Config.cpp +++ b/Core/Config.cpp @@ -1108,11 +1108,16 @@ static const ConfigSetting jitSettings[] = { ConfigSetting("DiscardRegsOnJRRA", SETTING(g_Config, bDiscardRegsOnJRRA), false, CfgFlag::DONT_SAVE | CfgFlag::REPORT), }; +static const ConfigSetting upgradeSettings[] = { + ConfigSetting("UpgradeMessage", SETTING(g_Config, upgradeMessage), "", CfgFlag::DEFAULT), + ConfigSetting("UpgradeVersion", SETTING(g_Config, upgradeVersion), "", CfgFlag::DEFAULT), + ConfigSetting("DismissedVersion", SETTING(g_Config, dismissedVersion), "", CfgFlag::DEFAULT), +}; + static const ConfigSetting themeSettings[] = { ConfigSetting("ThemeName", SETTING(g_Config, sThemeName), "Default", CfgFlag::DEFAULT), }; - static const ConfigSetting vrSettings[] = { ConfigSetting("VREnable", SETTING(g_Config, bEnableVR), true, CfgFlag::PER_GAME), ConfigSetting("VREnable6DoF", SETTING(g_Config, bEnable6DoF), false, CfgFlag::PER_GAME), @@ -1147,6 +1152,7 @@ static const ConfigSectionMeta g_sectionMeta[] = { { &g_Config, themeSettings, ARRAY_SIZE(themeSettings), "Theme" }, { &g_Config, vrSettings, ARRAY_SIZE(vrSettings), "VR" }, { &g_Config, achievementSettings, ARRAY_SIZE(achievementSettings), "Achievements" }, + { &g_Config, upgradeSettings, ARRAY_SIZE(upgradeSettings), "Upgrade" }, { &g_Config.displayLayoutLandscape, displayLayoutSettings, ARRAY_SIZE(displayLayoutSettings), "DisplayLayout.Landscape", "Graphics" }, // We read the old settings from [Graphics], since most people played in landscape before. { &g_Config.displayLayoutPortrait, displayLayoutSettings, ARRAY_SIZE(displayLayoutSettings), "DisplayLayout.Portrait"}, // These we don't want to read from the old settings, since for most people, those settings will be bad. { &g_Config.touchControlsLandscape, touchControlSettings, ARRAY_SIZE(touchControlSettings), "TouchControls.Landscape", "Control" }, // We read the old settings from [Control], since most people played in landscape before. @@ -1381,6 +1387,28 @@ void Config::Load(const char *iniFileName, const char *controllerIniFilename) { } } + const char *gitVer = PPSSPP_GIT_VERSION; + Version installed(gitVer); + Version upgrade(upgradeVersion); + const bool versionsValid = installed.IsValid() && upgrade.IsValid(); + + // Do this regardless of iRunCount to prevent a silly bug where one might use an older + // build of PPSSPP, receive an upgrade notice, then start a newer version, and still receive the upgrade notice, + // even if said newer version is >= the upgrade found online. + if ((dismissedVersion == upgradeVersion) || (versionsValid && (installed >= upgrade))) { + upgradeMessage.clear(); + } + + // Check for new version on every 10 runs. + // Sometimes the download may not be finished when the main screen shows (if the user dismisses the + // splash screen quickly), but then we'll just show the notification next time instead, we store the + // upgrade number in the ini. + if (iRunCount % 10 == 0 && bCheckForNewVersion) { + const char *versionUrl = "http://www.ppsspp.org/version.json"; + const char *acceptMime = "application/json, text/*; q=0.9, */*; q=0.8"; + g_DownloadManager.StartDownloadWithCallback(versionUrl, Path(), http::RequestFlags::Default, &DownloadCompletedCallback, "version", acceptMime); + } + INFO_LOG(Log::Loader, "Loading controller config: %s", controllerIniFilename_.c_str()); bSaveSettings = true; @@ -1602,6 +1630,66 @@ void Config::NotifyUpdatedCpuCore() { } } +// Use for debugging the version check without messing with the server +#if 0 +#define PPSSPP_GIT_VERSION "v0.0.1-gaaaaaaaaa" +#endif + +void Config::DownloadCompletedCallback(http::Request &download) { + if (download.ResultCode() != 200) { + ERROR_LOG(Log::Loader, "Failed to download %s: %d", download.url().c_str(), download.ResultCode()); + return; + } + std::string data; + download.buffer().TakeAll(&data); + if (data.empty()) { + ERROR_LOG(Log::Loader, "Version check: Empty data from server!"); + return; + } + + json::JsonReader reader(data.c_str(), data.size()); + const json::JsonGet root = reader.root(); + if (!root) { + ERROR_LOG(Log::Loader, "Failed to parse json"); + return; + } + + std::string version; + root.getString("version", &version); + + const char *gitVer = PPSSPP_GIT_VERSION; + Version installed(gitVer); + Version upgrade(version); + Version dismissed(g_Config.dismissedVersion); + + if (!installed.IsValid()) { + ERROR_LOG(Log::Loader, "Version check: Local version string invalid. Build problems? %s", PPSSPP_GIT_VERSION); + return; + } + if (!upgrade.IsValid()) { + ERROR_LOG(Log::Loader, "Version check: Invalid server version: %s", version.c_str()); + return; + } + + if (installed >= upgrade) { + INFO_LOG(Log::Loader, "Version check: Already up to date, erasing any upgrade message"); + g_Config.upgradeMessage.clear(); + g_Config.upgradeVersion = upgrade.ToString(); + g_Config.dismissedVersion.clear(); + return; + } + + if (installed < upgrade && dismissed != upgrade) { + g_Config.upgradeMessage = "New version of PPSSPP available!"; + g_Config.upgradeVersion = upgrade.ToString(); + g_Config.dismissedVersion.clear(); + } +} + +void Config::DismissUpgrade() { + g_Config.dismissedVersion = g_Config.upgradeVersion; +} + void Config::SetSearchPath(const Path &searchPath) { searchPath_ = searchPath; } diff --git a/Core/Config.h b/Core/Config.h index 46faa3a45c..6f59e6e1d5 100644 --- a/Core/Config.h +++ b/Core/Config.h @@ -658,7 +658,7 @@ public: std::string sAchievementsUnlockAudioFile; std::string sAchievementsLeaderboardSubmitAudioFile; - // Achievements login info. Note that password is NOT stored, only a login token. + // Achivements login info. Note that password is NOT stored, only a login token. // Still, we may wanna store it more securely than in PPSSPP.ini, especially on Android. std::string sAchievementsUserName; std::string sAchievementsToken; // Not saved, to be used if you want to manually make your RA login persistent. See Native_SaveSecret for the normal case. @@ -675,6 +675,11 @@ public: Path mountRoot; // Actually, mount as host0. keeping consistent with headless args. + // Data for upgrade prompt + std::string upgradeMessage; // The actual message from the server is currently not used, need a translation mechanism. So this just acts as a flag. + std::string upgradeVersion; + std::string dismissedVersion; + void Load(const char *iniFileName = nullptr, const char *controllerIniFilename = nullptr); bool Save(const char *saveReason); void Reload(); @@ -694,6 +699,9 @@ public: void UpdateIniLocation(const char *iniFileName = nullptr, const char *controllerIniFilename = nullptr); + static void DownloadCompletedCallback(http::Request &download); + void DismissUpgrade(); + void GetReportingInfo(UrlEncoder &data) const; int NextValidBackend(); diff --git a/UI/MainScreen.cpp b/UI/MainScreen.cpp index 1f0400e740..7606a78ce1 100644 --- a/UI/MainScreen.cpp +++ b/UI/MainScreen.cpp @@ -1461,6 +1461,31 @@ void MainScreen::CreateViews() { } root_->SetTag("mainroot"); + + upgradeBar_ = nullptr; + if (!g_Config.upgradeMessage.empty()) { + auto di = GetI18NCategory(I18NCat::DIALOG); + upgradeBar_ = new LinearLayout(ORIENT_HORIZONTAL, new LinearLayoutParams(FILL_PARENT, WRAP_CONTENT)); + + UI::Margins textMargins(10, 5); + UI::Margins buttonMargins(0, 0); + UI::Drawable solid(0xFFbd9939); + upgradeBar_->SetBG(solid); + upgradeBar_->Add(new TextView(std::string(di->T("New version of PPSSPP available")) + std::string(": ") + g_Config.upgradeVersion, new LinearLayoutParams(1.0f, textMargins))); +#if PPSSPP_PLATFORM(ANDROID) || PPSSPP_PLATFORM(WINDOWS) + upgradeBar_->Add(new Button(di->T("Download"), new LinearLayoutParams(buttonMargins)))->OnClick.Handle(this, &MainScreen::OnDownloadUpgrade); +#else + upgradeBar_->Add(new Button(di->T("Details"), new LinearLayoutParams(buttonMargins)))->OnClick.Handle(this, &MainScreen::OnDownloadUpgrade); +#endif + upgradeBar_->Add(new Button(di->T("Dismiss"), new LinearLayoutParams(buttonMargins)))->OnClick.Handle(this, &MainScreen::OnDismissUpgrade); + + // Slip in under root_ + LinearLayout *newRoot = new LinearLayout(ORIENT_VERTICAL); + newRoot->Add(root_); + newRoot->Add(upgradeBar_); + root_->ReplaceLayoutParams(new LinearLayoutParams(1.0)); + root_ = newRoot; + } } bool MainScreen::key(const KeyInput &touch) { @@ -1486,6 +1511,28 @@ void MainScreen::OnAllowStorage(UI::EventParams &e) { System_AskForPermission(SYSTEM_PERMISSION_STORAGE); } +void MainScreen::OnDownloadUpgrade(UI::EventParams &e) { +#if PPSSPP_PLATFORM(ANDROID) + // Go to app store + if (System_GetPropertyBool(SYSPROP_APP_GOLD)) { + System_LaunchUrl(LaunchUrlType::BROWSER_URL, "market://details?id=org.ppsspp.ppssppgold"); + } else { + System_LaunchUrl(LaunchUrlType::BROWSER_URL, "market://details?id=org.ppsspp.ppsspp"); + } +#elif PPSSPP_PLATFORM(WINDOWS) + System_LaunchUrl(LaunchUrlType::BROWSER_URL, "https://www.ppsspp.org/download"); +#else + // Go directly to ppsspp.org and let the user sort it out + // (for details and in case downloads doesn't have their platform.) + System_LaunchUrl(LaunchUrlType::BROWSER_URL, "https://www.ppsspp.org/"); +#endif +} + +void MainScreen::OnDismissUpgrade(UI::EventParams &e) { + g_Config.DismissUpgrade(); + upgradeBar_->SetVisibility(UI::V_GONE); +} + void MainScreen::sendMessage(UIMessage message, const char *value) { // Always call the base class method first to handle the most common messages. UIBaseScreen::sendMessage(message, value); diff --git a/UI/MainScreen.h b/UI/MainScreen.h index 3f9f556e8f..ca79350252 100644 --- a/UI/MainScreen.h +++ b/UI/MainScreen.h @@ -159,8 +159,11 @@ protected: void OnPPSSPPOrg(UI::EventParams &e); void OnForums(UI::EventParams &e); void OnExit(UI::EventParams &e); + void OnDownloadUpgrade(UI::EventParams &e); + void OnDismissUpgrade(UI::EventParams &e); void OnAllowStorage(UI::EventParams &e); + UI::LinearLayout *upgradeBar_ = nullptr; UI::TabHolder *tabHolder_ = nullptr; UI::Button *fullscreenButton_ = nullptr; diff --git a/UI/RemoteISOScreen.cpp b/UI/RemoteISOScreen.cpp index a4ce24d843..8342e8af16 100644 --- a/UI/RemoteISOScreen.cpp +++ b/UI/RemoteISOScreen.cpp @@ -624,4 +624,6 @@ void RemoteISOBrowseScreen::CreateViews() { } root_->SetDefaultFocusView(tabHolder_); + + upgradeBar_ = 0; } diff --git a/assets/lang/ar_AE.ini b/assets/lang/ar_AE.ini index 01db3daba5..23dfe0395a 100644 --- a/assets/lang/ar_AE.ini +++ b/assets/lang/ar_AE.ini @@ -467,6 +467,7 @@ Move to trash = Move to trash Move Up = تحريك للأعلى Network Connection = ‎إتصال الشبكة NEW DATA = ‎بيانات جديدة +New version of PPSSPP available = ‎تتوفر نسخة جديدة من البرنامج No = ‎لا None = لا شيء ObtainingIP = Obtaining IP address.\nPlease wait... diff --git a/assets/lang/az_AZ.ini b/assets/lang/az_AZ.ini index e22bfb1a6f..50c5786dce 100644 --- a/assets/lang/az_AZ.ini +++ b/assets/lang/az_AZ.ini @@ -463,6 +463,7 @@ Move to trash = Çöplüyə daşı Move Up = Yuxarı daşı Network Connection = Tor Bağlantısı NEW DATA = YENİ VERİLƏN +New version of PPSSPP available = New version of PPSSPP available No = Yox None = Heç nə ObtainingIP = IP adresi əldə edilir.\nBuyurun, gözləyin... diff --git a/assets/lang/be_BY.ini b/assets/lang/be_BY.ini index cbb9f3b280..6dce6c0f41 100644 --- a/assets/lang/be_BY.ini +++ b/assets/lang/be_BY.ini @@ -459,6 +459,7 @@ Move Up = Move Up Move Down = Move Down Network Connection = Network Connection NEW DATA = NEW DATA +New version of PPSSPP available = Даступна новая версія PPSSPP No = No None = None ObtainingIP = Obtaining IP address.\nPlease wait... diff --git a/assets/lang/bg_BG.ini b/assets/lang/bg_BG.ini index 77ba17b3d4..1b4441e581 100644 --- a/assets/lang/bg_BG.ini +++ b/assets/lang/bg_BG.ini @@ -459,6 +459,7 @@ Move to trash = Премести в кошчето Move Up = Премести нагоре Network Connection = Мрежова връзка NEW DATA = НОВИ ДАННИ +New version of PPSSPP available = Налична е нова версия на PPSSPP No = Не None = Няма ObtainingIP = Obtaining IP address.\nPlease wait... diff --git a/assets/lang/ca_ES.ini b/assets/lang/ca_ES.ini index a8ec9323c7..ee2d239541 100644 --- a/assets/lang/ca_ES.ini +++ b/assets/lang/ca_ES.ini @@ -459,6 +459,7 @@ Move to trash = Move to trash Move Up = Pujar Network Connection = Connexión de xarxa NEW DATA = NOVES DADES DE PARTIDA +New version of PPSSPP available = Nova versió de PPSSPP disponible No = No None = None ObtainingIP = Obtenint direcció IP.\nPer favor espera... diff --git a/assets/lang/cz_CZ.ini b/assets/lang/cz_CZ.ini index c1aa26c629..53a2eadc8d 100644 --- a/assets/lang/cz_CZ.ini +++ b/assets/lang/cz_CZ.ini @@ -459,6 +459,7 @@ Move to trash = Move to trash Move Up = Move Up Network Connection = Síťové připojení NEW DATA = NOVÁ DATA +New version of PPSSPP available = Je dostupná nová verze PPSSPP No = Ne None = None ObtainingIP = Obtaining IP address.\nPlease wait... diff --git a/assets/lang/da_DK.ini b/assets/lang/da_DK.ini index feb8d979eb..d0b48aabca 100644 --- a/assets/lang/da_DK.ini +++ b/assets/lang/da_DK.ini @@ -459,6 +459,7 @@ Move to trash = Move to trash Move Up = Move Up Network Connection = Netværksforbindelse NEW DATA = NY DATA +New version of PPSSPP available = Ny version af PPSSPP tilgængelig No = Nej None = None ObtainingIP = Obtaining IP address.\nPlease wait... diff --git a/assets/lang/de_DE.ini b/assets/lang/de_DE.ini index f2ed52549a..6cbe064592 100644 --- a/assets/lang/de_DE.ini +++ b/assets/lang/de_DE.ini @@ -450,6 +450,7 @@ Move Down = Abwärts bewegen Move Up = Aufwärts bewegen Network Connection = Netzwerkverbindung NEW DATA = NEUE DATEN +New version of PPSSPP available = Neue PPSSPP-Version verfügbar No = Nein None = Keine ObtainingIP = Beziehen der IP-Adresse.\nBitte warten... @@ -1502,11 +1503,6 @@ Choices: = Auswahlmöglichkeiten: List: = Liste: Progress: %1% = Fortschritt: %1% Screen representation = Bildschirmdarstellung -[Upgrade] -Details = Details -Dismiss = Überspringen -Download = Herunterladen -New version of PPSSPP available = Neue PPSSPP-Version verfügbar [VR] % of native FoV = % des nativen Sichtfelds diff --git a/assets/lang/dr_ID.ini b/assets/lang/dr_ID.ini index c4baf8cf11..bc066a4c4b 100644 --- a/assets/lang/dr_ID.ini +++ b/assets/lang/dr_ID.ini @@ -459,6 +459,7 @@ Move to trash = Move to trash Move Up = Move Up Network Connection = Network Connection NEW DATA = DATA baru +New version of PPSSPP available = New version of PPSSPP available No = Edda mane None = None ObtainingIP = Obtaining IP address.\nPlease wait... diff --git a/assets/lang/en_US.ini b/assets/lang/en_US.ini index b363b25416..582ec36aff 100644 --- a/assets/lang/en_US.ini +++ b/assets/lang/en_US.ini @@ -483,6 +483,7 @@ Move Up = Move Up Move Down = Move Down Network Connection = Network Connection NEW DATA = NEW DATA +New version of PPSSPP available = New version of PPSSPP available No = No None = None ObtainingIP = Obtaining IP address.\nPlease wait... diff --git a/assets/lang/es_ES.ini b/assets/lang/es_ES.ini index 5a9e0a6b84..2afd96921b 100644 --- a/assets/lang/es_ES.ini +++ b/assets/lang/es_ES.ini @@ -460,6 +460,7 @@ Move to trash = Mover a la papelera Move Up = Mover arriba Network Connection = Conexión de red NEW DATA = NUEVOS DATOS +New version of PPSSPP available = Nueva versión de PPSSPP disponible No = No None = Ninguno ObtainingIP = Obteniendo dirección IP.\nPor favor, espera... @@ -1517,7 +1518,6 @@ List: = Lista: Progress: %1% = Progreso: %1% Screen representation = Representación de pantalla - [VR] % of native FoV = % de campo de visión nativo 6DoF movement = Movimiento 6DoF diff --git a/assets/lang/es_LA.ini b/assets/lang/es_LA.ini index e5aa190158..907a563fc8 100644 --- a/assets/lang/es_LA.ini +++ b/assets/lang/es_LA.ini @@ -459,6 +459,7 @@ Move to trash = Mover a la papelera Move Up = Mover arriba Network Connection = Conexión de red NEW DATA = CREAR DATOS +New version of PPSSPP available = Nueva versión de PPSSPP disponible No = No None = Ninguno ObtainingIP = Obteniendo dirección IP.\nEspera un momento... diff --git a/assets/lang/fa_IR.ini b/assets/lang/fa_IR.ini index 724955e39b..5853d100bd 100644 --- a/assets/lang/fa_IR.ini +++ b/assets/lang/fa_IR.ini @@ -459,6 +459,7 @@ Move to trash = Move to trash Move Up = حرکت به بالا Network Connection = Network Connection NEW DATA = ‎دادهٔ جدید +New version of PPSSPP available = نسخهٔ جدیدی از PPSSPP موجود است No = ‎خیر None = None ObtainingIP = Obtaining IP address.\nPlease wait... diff --git a/assets/lang/fi_FI.ini b/assets/lang/fi_FI.ini index 3f318ddb9a..44361446bc 100644 --- a/assets/lang/fi_FI.ini +++ b/assets/lang/fi_FI.ini @@ -459,6 +459,7 @@ Move to trash = Move to trash Move Up = Move Up Network Connection = Network Connection NEW DATA = NEW DATA +New version of PPSSPP available = Uusi PPSSPP-versio saatavilla No = Ei None = None ObtainingIP = Haetaan IP-osoitetta.\nOdota hetki... diff --git a/assets/lang/fr_FR.ini b/assets/lang/fr_FR.ini index 58a4fdc38b..0ebab07e20 100644 --- a/assets/lang/fr_FR.ini +++ b/assets/lang/fr_FR.ini @@ -459,6 +459,7 @@ Move to trash = Move to trash Move Up = Move Up Network Connection = Connexion réseau NEW DATA = NOUVELLES DONNÉES +New version of PPSSPP available = Nouvelle version de PPSSPP disponible No = Non None = None ObtainingIP = Obtention de l'adresse IP\nVeuillez patienter... diff --git a/assets/lang/gl_ES.ini b/assets/lang/gl_ES.ini index 99fa3792a5..490fd3097a 100644 --- a/assets/lang/gl_ES.ini +++ b/assets/lang/gl_ES.ini @@ -459,6 +459,7 @@ Move to trash = Move to trash Move Up = Move Up Network Connection = Conexión de rede NEW DATA = NOVOS DATOS +New version of PPSSPP available = Nova versión de PPSSPP dispoñible No = Non None = None ObtainingIP = Obtaining IP address.\nPlease wait... diff --git a/assets/lang/gr_EL.ini b/assets/lang/gr_EL.ini index 9f87283452..c0bee241c8 100644 --- a/assets/lang/gr_EL.ini +++ b/assets/lang/gr_EL.ini @@ -459,6 +459,7 @@ Move to trash = Move to trash Move Up = Move Up Network Connection = ΣΥΝΔΕΣΗ ΔΙΚΤΥΟΥ NEW DATA = ΝΕΑ ΔΕΔΟΜΕΝΑ +New version of PPSSPP available = Νέα διαθέσιμη έκδοση PPSSPP No = ΟΧΙ None = None ObtainingIP = Obtaining IP address.\nPlease wait... diff --git a/assets/lang/he_IL.ini b/assets/lang/he_IL.ini index d6b145339c..d88351e82c 100644 --- a/assets/lang/he_IL.ini +++ b/assets/lang/he_IL.ini @@ -459,6 +459,7 @@ Move to trash = Move to trash Move Up = Move Up Network Connection = Network Connection NEW DATA = םישדח םינותנ +New version of PPSSPP available = New version of PPSSPP available No = אל None = None ObtainingIP = Obtaining IP address.\nPlease wait... diff --git a/assets/lang/he_IL_invert.ini b/assets/lang/he_IL_invert.ini index 68189d6508..dd6446e62e 100644 --- a/assets/lang/he_IL_invert.ini +++ b/assets/lang/he_IL_invert.ini @@ -457,6 +457,7 @@ Move to trash = Move to trash Move Up = Move Up Network Connection = Network Connection NEW DATA = םישדח םינותנ +New version of PPSSPP available = New version of PPSSPP available No = אל None = None ObtainingIP = Obtaining IP address.\nPlease wait... diff --git a/assets/lang/hr_HR.ini b/assets/lang/hr_HR.ini index bb34ac97d0..79e9cc0761 100644 --- a/assets/lang/hr_HR.ini +++ b/assets/lang/hr_HR.ini @@ -459,6 +459,7 @@ Move to trash = Move to trash Move Up = Move Up Network Connection = Internetska veza NEW DATA = NOVA DATA +New version of PPSSPP available = Nova verzija PPSSPP-a je dostupna No = Ne None = None ObtainingIP = Obtaining IP address.\nPlease wait... diff --git a/assets/lang/hu_HU.ini b/assets/lang/hu_HU.ini index 12847c5fbc..0df8b554cb 100644 --- a/assets/lang/hu_HU.ini +++ b/assets/lang/hu_HU.ini @@ -459,6 +459,7 @@ Move to trash = Move to trash Move Up = Move Up Network Connection = Hálózati kapcsolat NEW DATA = ÚJ MENTÉS +New version of PPSSPP available = Elérhető a PPSSPP egy újabb verziója No = Nem None = Nincs ObtainingIP = Obtaining IP address.\nPlease wait... diff --git a/assets/lang/id_ID.ini b/assets/lang/id_ID.ini index 43646c0de2..287d3227ef 100644 --- a/assets/lang/id_ID.ini +++ b/assets/lang/id_ID.ini @@ -459,6 +459,7 @@ Move to trash = Move to trash Move Up = Naik ke Atas Network Connection = Koneksi Jaringan NEW DATA = DATA BARU +New version of PPSSPP available = Versi baru PPSSPP tersedia No = Tidak None = Tidak ada ObtainingIP = Mendapatkan alamat IP.\nHarap tunggu... diff --git a/assets/lang/it_IT.ini b/assets/lang/it_IT.ini index 05c2d24296..23863ed2bd 100644 --- a/assets/lang/it_IT.ini +++ b/assets/lang/it_IT.ini @@ -459,6 +459,7 @@ Move to trash = Sposta nel cestino Move Up = Sposta su Network Connection = Connessione di Rete NEW DATA = NUOVI DATI +New version of PPSSPP available = È disponibile una nuova versione di PPSSPP No = No None = Nessuno ObtainingIP = Cerco di ottenere l'indirizzo IP.\nAttendere, prego... @@ -1520,7 +1521,6 @@ List: = Lista: Progress: %1% = Avanzamento: %1% Screen representation = Rappresentazione su schermo - [VR] % of native FoV = % del FoV nativo 6DoF movement = Movimento 6DoF diff --git a/assets/lang/ja_JP.ini b/assets/lang/ja_JP.ini index 515541f850..a38d23970a 100644 --- a/assets/lang/ja_JP.ini +++ b/assets/lang/ja_JP.ini @@ -459,6 +459,7 @@ Move to trash = ゴミ箱に移動 Move Up = 上へ移動 Network Connection = ネットワーク接続 NEW DATA = 新しいデータ +New version of PPSSPP available = 新しいバージョンのPPSSPPを利用できます No = いいえ None = 無し ObtainingIP = IPアドレスの取得中。 \nしばらくお待ちください... diff --git a/assets/lang/jv_ID.ini b/assets/lang/jv_ID.ini index e23899badb..80fb721880 100644 --- a/assets/lang/jv_ID.ini +++ b/assets/lang/jv_ID.ini @@ -459,6 +459,7 @@ Move to trash = Move to trash Move Up = Move Up Network Connection = Koneksi Jaringan NEW DATA = DATA ANYAR +New version of PPSSPP available = Versi anyar PPSSPP mpun ono monggo di comot No = Ora None = None ObtainingIP = Obtaining IP address.\nPlease wait... diff --git a/assets/lang/ko_KR.ini b/assets/lang/ko_KR.ini index 3022119d4b..ffb2d71f36 100644 --- a/assets/lang/ko_KR.ini +++ b/assets/lang/ko_KR.ini @@ -459,6 +459,7 @@ Move Up = 위로 이동 Move Down = 아래로 이동 Network Connection = 네트워크 연결 NEW DATA = 새로운 데이터 +New version of PPSSPP available = PPSSPP의 새 버전 사용 가능 No = 아니오 None = 없음 ObtainingIP = IP 주소를 가져오는 중입니다.\n잠시만 기다려 주세요... @@ -1504,7 +1505,6 @@ Filter = 필터 Clear filter = 필터 지움 Search term = 검색어 - [UI Elements] %1 button = %1 버튼 %1 checkbox = %1 체크박스 diff --git a/assets/lang/ku_SO.ini b/assets/lang/ku_SO.ini index e7a777f72b..44b385a6fe 100644 --- a/assets/lang/ku_SO.ini +++ b/assets/lang/ku_SO.ini @@ -473,6 +473,7 @@ Move Up = Move Up Move Down = Move Down Network Connection = Network Connection NEW DATA = NEW DATA +New version of PPSSPP available = New version of PPSSPP available No = No None = None ObtainingIP = Obtaining IP address.\nPlease wait... @@ -1518,7 +1519,6 @@ Filter = فلتەر کردن Clear filter = لابردنی فلتەر Search term = Search term - [UI Elements] %1 button = %1 button %1 checkbox = %1 checkbox diff --git a/assets/lang/lo_LA.ini b/assets/lang/lo_LA.ini index 172ab249b0..a34e54727a 100644 --- a/assets/lang/lo_LA.ini +++ b/assets/lang/lo_LA.ini @@ -459,6 +459,7 @@ Move to trash = Move to trash Move Up = Move Up Network Connection = ການເຊື່ອມຕໍ່ເຄື່ອຂ່າຍ NEW DATA = ຂໍ້ມູນໃໝ່ +New version of PPSSPP available = ເວີຊັ່ນໃໝ່ຂອງ PPSSPP ພ້ອມໃຫ້ໂຫຼດແລ້ວ! No = ບໍ່ແມ່ນ None = None ObtainingIP = Obtaining IP address.\nPlease wait... diff --git a/assets/lang/lt-LT.ini b/assets/lang/lt-LT.ini index 727078dd9b..b7477cb253 100644 --- a/assets/lang/lt-LT.ini +++ b/assets/lang/lt-LT.ini @@ -459,6 +459,7 @@ Move to trash = Move to trash Move Up = Move Up Network Connection = Interneto tinklas NEW DATA = NAUJI DUOMENYS +New version of PPSSPP available = Galima nauja "PPSSPP" versija No = Ne None = None ObtainingIP = Obtaining IP address.\nPlease wait... diff --git a/assets/lang/ms_MY.ini b/assets/lang/ms_MY.ini index 01d4242f62..89ed1d6c1d 100644 --- a/assets/lang/ms_MY.ini +++ b/assets/lang/ms_MY.ini @@ -459,6 +459,7 @@ Move to trash = Move to trash Move Up = Move Up Network Connection = Network Connection NEW DATA = DATA BAHARU +New version of PPSSPP available = Versi terbaru PPSSPP tersedia No = Tidak None = None ObtainingIP = Obtaining IP address.\nPlease wait... diff --git a/assets/lang/nl_NL.ini b/assets/lang/nl_NL.ini index 493c7ce29b..36f745969d 100644 --- a/assets/lang/nl_NL.ini +++ b/assets/lang/nl_NL.ini @@ -459,6 +459,7 @@ Move to trash = Move to trash Move Up = Move Up Network Connection = Netwerkverbinding NEW DATA = NIEUWE DATA +New version of PPSSPP available = Er is een nieuwe versie van PPSSPP beschikbaar No = Nee None = None ObtainingIP = Obtaining IP address.\nPlease wait... diff --git a/assets/lang/no_NO.ini b/assets/lang/no_NO.ini index 5a6665f439..e7e10b8102 100644 --- a/assets/lang/no_NO.ini +++ b/assets/lang/no_NO.ini @@ -459,6 +459,7 @@ Move to trash = Move to trash Move Up = Move Up Network Connection = Network Connection NEW DATA = NEW DATA +New version of PPSSPP available = New version of PPSSPP available No = Nei None = Ingen ObtainingIP = Obtaining IP address.\nPlease wait... diff --git a/assets/lang/pl_PL.ini b/assets/lang/pl_PL.ini index 0e7ee9bc06..3e44e0facd 100644 --- a/assets/lang/pl_PL.ini +++ b/assets/lang/pl_PL.ini @@ -457,6 +457,7 @@ Move to trash = Move to trash Move Up = Przenieś w górę Network Connection = Połączenie sieciowe NEW DATA = NOWE DANE +New version of PPSSPP available = Dostępna jest nowa wersja PPSSPP! No = Nie None = Nic ObtainingIP = Uzyskiwanie adresu IP.\nProszę czekać... diff --git a/assets/lang/pt_BR.ini b/assets/lang/pt_BR.ini index 0650799bc7..300d2d6b11 100644 --- a/assets/lang/pt_BR.ini +++ b/assets/lang/pt_BR.ini @@ -483,6 +483,7 @@ Move Up = Mover pra Cima Move Down = Mover pra Baixo Network Connection = Conexão de rede NEW DATA = NOVOS DADOS +New version of PPSSPP available = Uma nova versão do PPSSPP está disponível No = Não None = Nenhum ObtainingIP = Obtendo endereço de IP.\nPor favor espere... diff --git a/assets/lang/pt_PT.ini b/assets/lang/pt_PT.ini index 5cea2aee2d..5a46d658fb 100644 --- a/assets/lang/pt_PT.ini +++ b/assets/lang/pt_PT.ini @@ -483,6 +483,7 @@ Move to trash = Move to trash Move Up = Mover para cima Network Connection = Conexão de rede NEW DATA = NOVOS DADOS +New version of PPSSPP available = Uma nova versão do PPSSPP está disponível No = Não None = Nenhum ObtainingIP = A obter o Endereço de IP.\nPor favor espere... @@ -1530,7 +1531,6 @@ Filter = Filtro Clear filter = Limpar filtro Search term = Termo de pesquisa - [UI Elements] %1 button = %1 botão %1 checkbox = %1 caixa de seleção diff --git a/assets/lang/ro_RO.ini b/assets/lang/ro_RO.ini index ebf960a440..3b70d6a6b9 100644 --- a/assets/lang/ro_RO.ini +++ b/assets/lang/ro_RO.ini @@ -460,6 +460,7 @@ Move to trash = Move to trash Move Up = Move Up Network Connection = Conexiune la rețea NEW DATA = DATE NOI +New version of PPSSPP available = Nouă versiune de PPSSPP disponibilă. No = Nu None = None ObtainingIP = Obtaining IP address.\nPlease wait... diff --git a/assets/lang/ru_RU.ini b/assets/lang/ru_RU.ini index b5fdbde618..33b9616933 100644 --- a/assets/lang/ru_RU.ini +++ b/assets/lang/ru_RU.ini @@ -459,6 +459,7 @@ Move to trash = Переместить в корзину Move Up = Сдвинуть вниз Network Connection = Сетевое подключение NEW DATA = Новое сохранение +New version of PPSSPP available = Доступна новая версия PPSSPP No = Нет None = Нет ObtainingIP = Получение IP-адреса.\nПожалуйста, подождите... diff --git a/assets/lang/sv_SE.ini b/assets/lang/sv_SE.ini index 6932dc5561..aecd3c1dbc 100644 --- a/assets/lang/sv_SE.ini +++ b/assets/lang/sv_SE.ini @@ -460,6 +460,7 @@ Move to trash = Flytta till papperskorgen Move Up = Flytta upp Network Connection = Nätverksanslutning NEW DATA = NY DATA +New version of PPSSPP available = Ny version av PPSSPP tillgänglig No = Nej None = Ingen ObtainingIP = Hämtar IP-adress.\nVänta... diff --git a/assets/lang/tg_PH.ini b/assets/lang/tg_PH.ini index c18343e47e..e2984c4319 100644 --- a/assets/lang/tg_PH.ini +++ b/assets/lang/tg_PH.ini @@ -460,6 +460,7 @@ Move to trash = Move to trash Move Up = Galawin paitaas Network Connection = Koneksyon ng Network NEW DATA = BAGONG DATOS +New version of PPSSPP available = Meron nang bagong bersiyon ang PPSSPP No = Hindi None = Wala ObtainingIP = Kinukuha na ang IP address.\nSandali lamang... @@ -1519,7 +1520,6 @@ List: = Listahan: Progress: %1% = Progreso: %1% Screen representation = Screen representation - [VR] % of native FoV = % of native FoV 6DoF movement = 6DoF movement diff --git a/assets/lang/th_TH.ini b/assets/lang/th_TH.ini index 1f7e0d3544..b47880faca 100644 --- a/assets/lang/th_TH.ini +++ b/assets/lang/th_TH.ini @@ -475,6 +475,7 @@ Move to trash = ย้ายไปยังถังขยะ Move Up = ย้ายขึ้นบน Network Connection = การเชื่อมต่อเครือข่าย NEW DATA = ข้อมูลใหม่ +New version of PPSSPP available = PPSSPP เวอร์ชั่นใหม่พร้อมให้ดาวน์โหลดแล้ว! No = ไม่ใช่ None = ไม่มี ObtainingIP = กำลังรับไอพี\nโปรดรอสักครู่... @@ -1551,7 +1552,6 @@ List: = รายการ: Progress: %1% = ความคืบหน้า: %1% Screen representation = การแสดงหน้าจอ - [VR] % of native FoV = % ของค่า FoV ดั้งเดิม 6DoF movement = การเคลื่อนไหวแบบ 6DoF diff --git a/assets/lang/tr_TR.ini b/assets/lang/tr_TR.ini index 33dbb7f2b0..bb2e4c0aca 100644 --- a/assets/lang/tr_TR.ini +++ b/assets/lang/tr_TR.ini @@ -461,6 +461,7 @@ Move to trash = Çöp Kutusuna Taşı Move Up = Yukarı Taşı Network Connection = Ağ Bağlantısı NEW DATA = YENİ VERİ +New version of PPSSPP available = PPSSPP'nin yeni sürümü mevcut No = Hayır None = Hiçbiri ObtainingIP = IP adresi alınıyor.\nLütfen bekleyin... diff --git a/assets/lang/uk_UA.ini b/assets/lang/uk_UA.ini index 69a4911b7b..7995eb66bc 100644 --- a/assets/lang/uk_UA.ini +++ b/assets/lang/uk_UA.ini @@ -459,6 +459,7 @@ Move to trash = Перемістити в кошик Move Up = Рух вгору Network Connection = Підключення до мережі NEW DATA = Нове збереження +New version of PPSSPP available = Доступна нова версія PPSSPP No = Ні None = Жодного ObtainingIP = Отримання IP-адреси.\nБудь ласка, зачекайте... diff --git a/assets/lang/vi_VN.ini b/assets/lang/vi_VN.ini index 957e83d8ba..6e3db38f3e 100644 --- a/assets/lang/vi_VN.ini +++ b/assets/lang/vi_VN.ini @@ -459,6 +459,7 @@ Move to trash = Move to trash Move Up = Move Up Network Connection = Kết nối mạng NEW DATA = DỮ LIỆU MỚI +New version of PPSSPP available = Đã có phiên bản mới của PPSSPP No = Không None = None ObtainingIP = Obtaining IP address.\nPlease wait... diff --git a/assets/lang/zh_CN.ini b/assets/lang/zh_CN.ini index 8ddf886b96..2a7d002895 100644 --- a/assets/lang/zh_CN.ini +++ b/assets/lang/zh_CN.ini @@ -459,6 +459,7 @@ Move to trash = 移到回收站 Move Up = 移至上层 Network Connection = 网络连接 NEW DATA = 新建存档 +New version of PPSSPP available = 检测到新版本的PPSSPP No = 否 None = 无 ObtainingIP = 获取IP地址。\n请稍候… @@ -1510,7 +1511,6 @@ List: = 列表: Progress: %1% = 进度:%1% Screen representation = 屏幕显示 - [Search] Filtering settings by '%1' = 找到名为“%1”的设置 Find settings = 查找选项 diff --git a/assets/lang/zh_TW.ini b/assets/lang/zh_TW.ini index ce6338055c..e0f160b58f 100644 --- a/assets/lang/zh_TW.ini +++ b/assets/lang/zh_TW.ini @@ -459,6 +459,7 @@ Move to trash = 移到回收站 Move Up = 上移 Network Connection = 網路連線 NEW DATA = 新存檔 +New version of PPSSPP available = PPSSPP 有可用的新版本 No = 否 None = 無 ObtainingIP = 正在取得 IP 位址\n請稍候… @@ -1504,7 +1505,6 @@ Filter = 篩選器 Clear filter = 清除篩選器 Search term = 搜尋詞彙 - [UI Elements] %1 button = %1 按鈕 %1 checkbox = %1 核取方塊