From 56229ea468bc1a1e91c29ef6feafed1a4ae74342 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Henrik=20Rydg=C3=A5rd?= Date: Fri, 1 May 2026 20:45:42 +0200 Subject: [PATCH] Improved error and success messages for cheat import --- Common/UI/Notice.h | 3 ++ UI/CwCheatScreen.cpp | 89 ++++++++++++++++++++++++------------ UI/CwCheatScreen.h | 11 +++-- assets/lang/ar_AE.ini | 2 + assets/lang/az_AZ.ini | 2 + assets/lang/be_BY.ini | 2 + assets/lang/bg_BG.ini | 2 + assets/lang/ca_ES.ini | 2 + assets/lang/cz_CZ.ini | 2 + assets/lang/da_DK.ini | 2 + assets/lang/de_DE.ini | 2 + assets/lang/dr_ID.ini | 2 + assets/lang/en_US.ini | 2 + assets/lang/es_ES.ini | 2 + assets/lang/es_LA.ini | 2 + assets/lang/fa_IR.ini | 2 + assets/lang/fi_FI.ini | 2 + assets/lang/fr_FR.ini | 2 + assets/lang/gl_ES.ini | 2 + assets/lang/gr_EL.ini | 2 + assets/lang/he_IL.ini | 2 + assets/lang/he_IL_invert.ini | 2 + assets/lang/hr_HR.ini | 2 + assets/lang/hu_HU.ini | 2 + assets/lang/id_ID.ini | 2 + assets/lang/it_IT.ini | 2 + assets/lang/ja_JP.ini | 2 + assets/lang/jv_ID.ini | 2 + assets/lang/ko_KR.ini | 2 + assets/lang/ku_SO.ini | 2 + assets/lang/lo_LA.ini | 2 + assets/lang/lt-LT.ini | 2 + assets/lang/ms_MY.ini | 2 + assets/lang/nl_NL.ini | 2 + assets/lang/no_NO.ini | 2 + assets/lang/pl_PL.ini | 2 + assets/lang/pt_BR.ini | 2 + assets/lang/pt_PT.ini | 2 + assets/lang/ro_RO.ini | 2 + assets/lang/ru_RU.ini | 2 + assets/lang/sv_SE.ini | 2 + assets/lang/tg_PH.ini | 2 + assets/lang/th_TH.ini | 2 + assets/lang/tr_TR.ini | 2 + assets/lang/uk_UA.ini | 2 + assets/lang/vi_VN.ini | 2 + assets/lang/zh_CN.ini | 2 + assets/lang/zh_TW.ini | 2 + 48 files changed, 162 insertions(+), 31 deletions(-) diff --git a/Common/UI/Notice.h b/Common/UI/Notice.h index 9ff4218154..e35710ae76 100644 --- a/Common/UI/Notice.h +++ b/Common/UI/Notice.h @@ -40,6 +40,9 @@ public: void SetWrapText(bool wrapText) { wrapText_ = wrapText; } + void SetDetailsText(std::string_view detailsText) { + detailsText_ = detailsText; + } void GetContentDimensionsBySpec(const UIContext &dc, UI::MeasureSpec horiz, UI::MeasureSpec vert, float &w, float &h) const override; void Draw(UIContext &dc) override; diff --git a/UI/CwCheatScreen.cpp b/UI/CwCheatScreen.cpp index 24ab8b184b..3c9590efb7 100644 --- a/UI/CwCheatScreen.cpp +++ b/UI/CwCheatScreen.cpp @@ -101,10 +101,8 @@ void CwCheatScreen::CreateSettingsViews(UI::ViewGroup *leftColumn) { std::string title = StringFromFormat(cw->T_cstr("Import from %s"), "PSP/Cheats/cheat.db"); - leftColumn->Add(new Choice(title.c_str()))->OnClick.Handle(this, &CwCheatScreen::OnImportCheat); + leftColumn->Add(new Choice(title))->OnClick.Handle(this, &CwCheatScreen::OnImportCheat); leftColumn->Add(new Choice(mm->T("Browse"), ImageID("I_FOLDER_OPEN")))->OnClick.Handle(this, &CwCheatScreen::OnImportBrowse); - errorMessageView_ = leftColumn->Add(new TextView(di->T("LoadingFailed"))); - errorMessageView_->SetVisibility(V_GONE); leftColumn->Add(new ItemHeader(di->T("Options"))); #if !defined(MOBILE_DEVICE) @@ -127,7 +125,14 @@ void CwCheatScreen::CreateContentViews(UI::ViewGroup *parent) { LinearLayout *rightColumn = new LinearLayoutList(ORIENT_VERTICAL, new LinearLayoutParams(200, FILL_PARENT)); rightColumn->SetSpacing(0.0f); rightScroll->Add(rightColumn); + + if (!errorMessage_.empty()) { + rightColumn->Add(new NoticeView(errorLevel_, errorMessage_, errorDetails_)); + rightColumn->Add(new Spacer(8.0f)); + } + rightColumn->Add(new ItemHeader(cw->T("Cheats"))); + bool prevIsTitle = false; for (size_t i = 0; i < fileInfo_.size(); ++i) { std::string_view text; @@ -231,30 +236,61 @@ static char *GetLineNoNewline(char *temp, int sz, FILE *fp) { return line; } -void CwCheatScreen::OnImportBrowse(UI::EventParams ¶ms) { - System_BrowseForFile(GetRequesterToken(), "Open cheat DB file", BrowseFileType::DB, [&](const std::string &value, int) { - Path path(value); - INFO_LOG(Log::System, "Attempting to load cheats from: '%s'", path.ToVisualString().c_str()); - if (ImportCheats(path)) { - g_Config.bReloadCheats = true; - } else { - // Show an error message? - } - RecreateViews(); - }); -} - -void CwCheatScreen::OnImportCheat(UI::EventParams ¶ms) { - if (!ImportCheats(GetGlobalCheatFilePath())) { +void CwCheatScreen::ImportAndReport(const Path &cheatFile) { + int cheatCount = 0; + if (!ImportCheats(cheatFile, &cheatCount)) { // Show an error message? - errorMessageView_->SetVisibility(UI::V_VISIBLE); + if (File::Exists(cheatFile)) { + auto er = GetI18NCategory(I18NCat::ERRORS); + errorMessage_ = ApplySafeSubstitutions(er->T("File not found: %1"), ""); + errorLevel_ = NoticeLevel::WARN; + } else { + auto di = GetI18NCategory(I18NCat::DIALOG); + errorMessage_ = di->T("LoadingFailed"); + errorLevel_ = NoticeLevel::ERROR; + } + errorDetails_ = GetFriendlyPath(cheatFile); + } else if (cheatCount == 0) { + auto cw = GetI18NCategory(I18NCat::CWCHEATS); + // Show an error message? + errorLevel_ = NoticeLevel::INFO; + errorMessage_ = cw->T("No cheats found for this game"); + errorDetails_.clear(); + } else { + auto cw = GetI18NCategory(I18NCat::CWCHEATS); + // Show a success message? + errorLevel_ = NoticeLevel::SUCCESS; + errorMessage_ = ApplySafeSubstitutions(cw->T("Added %1 cheats for this game"), cheatCount); + errorDetails_ = GetFriendlyPath(cheatFile); } - g_Config.bReloadCheats = true; RecreateViews(); } -bool CwCheatScreen::ImportCheats(const Path & cheatFile) { +void CwCheatScreen::OnImportBrowse(UI::EventParams ¶ms) { + System_BrowseForFile(GetRequesterToken(), "Open cheat DB file", BrowseFileType::DB, [&](const std::string &value, int) { + if (value.empty()) { + return; + } + Path path(value); + INFO_LOG(Log::System, "Attempting to load cheats from: '%s'", path.ToVisualString().c_str()); + int cheatsFound = 0; + ImportAndReport(path); + }); +} + +void CwCheatScreen::OnImportCheat(UI::EventParams ¶ms) { + const Path importPath = GetGlobalCheatFilePath(); + ImportAndReport(importPath); +} + +bool CwCheatScreen::ImportCheats(const Path &cheatFile, int *cheatsFound) { + FILE *in = File::OpenCFile(cheatFile, "rt"); + if (!in) { + WARN_LOG(Log::Common, "Unable to open %s\n", cheatFile.c_str()); + return false; + } + if (gameID_.length() != 9 || !engine_) { WARN_LOG(Log::Common, "CWCHEAT: Incorrect ID(%s) - can't import cheats.", gameID_.c_str()); return false; @@ -262,12 +298,6 @@ bool CwCheatScreen::ImportCheats(const Path & cheatFile) { std::string gameID = StringFromFormat("_S %s-%s", gameID_.substr(0, 4).c_str(), gameID_.substr(4).c_str()); - FILE *in = File::OpenCFile(cheatFile, "rt"); - if (!in) { - WARN_LOG(Log::Common, "Unable to open %s\n", cheatFile.c_str()); - return false; - } - std::vector title; std::vector newList; @@ -275,6 +305,7 @@ bool CwCheatScreen::ImportCheats(const Path & cheatFile) { bool parseGameEntry = false; bool parseCheatEntry = false; + (*cheatsFound) = 0; while (in && !feof(in)) { char *line = GetLineNoNewline(linebuf, sizeof(linebuf), in); @@ -304,6 +335,7 @@ bool CwCheatScreen::ImportCheats(const Path & cheatFile) { title.push_back(line); } else if (parseCheatEntry && ((line[0] == '_' && (line[1] == 'C' || line[1] == 'L')) || line[0] == '/' || line[0] == '#')) { newList.push_back(line); + (*cheatsFound)++; } } fclose(in); @@ -320,8 +352,9 @@ bool CwCheatScreen::ImportCheats(const Path & cheatFile) { } FILE *append = File::OpenCFile(engine_->CheatFilename(), "at"); - if (!append) + if (!append) { return false; + } if (title2.size() == 0 || title2[0] != '_' || title2[1] != 'S') { for (int i = (int)title.size(); i > 0; i--) { diff --git a/UI/CwCheatScreen.h b/UI/CwCheatScreen.h index b36eef070d..a5333d6480 100644 --- a/UI/CwCheatScreen.h +++ b/UI/CwCheatScreen.h @@ -28,6 +28,7 @@ struct CheatFileInfo; class CWCheatEngine; +class NoticeView; class CwCheatScreen : public UITwoPaneBaseDialogScreen { public: @@ -55,17 +56,21 @@ protected: private: void OnCheckBox(int index); - bool ImportCheats(const Path &cheatFile); + bool ImportCheats(const Path &cheatFile, int *cheatsFound); + + void ImportAndReport(const Path &cheatFile); enum { INDEX_ALL = -1 }; bool HasCheatWithName(const std::string &name); bool RebuildCheatFile(int index); - UI::TextView *errorMessageView_ = nullptr; - CWCheatEngine *engine_ = nullptr; std::vector fileInfo_; std::string gameID_; int fileCheckCounter_ = 0; uint64_t fileCheckHash_ = 0; + + std::string errorMessage_; + NoticeLevel errorLevel_ = NoticeLevel::ERROR; + std::string errorDetails_; }; diff --git a/assets/lang/ar_AE.ini b/assets/lang/ar_AE.ini index c1893310b3..ab715deaf9 100644 --- a/assets/lang/ar_AE.ini +++ b/assets/lang/ar_AE.ini @@ -202,10 +202,12 @@ X = X Y = Y [CwCheats] +Added %1 cheats for this game = تمت إضافة %1 غش لهذه اللعبة # AI translated Cheats = ‎الغش Edit Cheat File = ‎عدل ملف الغش Import Cheats = ‎إستورد من cheat.db Import from %s = ‎إستورد من %s +No new cheats found for this game = لم يتم العثور على خدع جديدة لهذه اللعبة # AI translated Refresh interval = ‎معدل التحديث [DesktopUI] diff --git a/assets/lang/az_AZ.ini b/assets/lang/az_AZ.ini index a80e2a033a..b904606006 100644 --- a/assets/lang/az_AZ.ini +++ b/assets/lang/az_AZ.ini @@ -194,10 +194,12 @@ X = X Y = Y [CwCheats] +Added %1 cheats for this game = %1 kod oyuna əlavə edildi # AI translated Cheats = Hiylələr Edit Cheat File = Hiylə faylını düzəlt Import Cheats = Cheat.db'dən götür Import from %s = %s yerindən götür +No new cheats found for this game = Bu oyun üçün yeni hilelər tapılmadı # AI translated Refresh interval = Yeniləniş aralığı [DesktopUI] diff --git a/assets/lang/be_BY.ini b/assets/lang/be_BY.ini index a57f8d8574..33d7306c59 100644 --- a/assets/lang/be_BY.ini +++ b/assets/lang/be_BY.ini @@ -194,10 +194,12 @@ X = X Y = Y [CwCheats] +Added %1 cheats for this game = Дададзена %1 чыт для гэтай гульні # AI translated Cheats = Чыты Edit Cheat File = Рэдагаваць файл чытаў Import Cheats = Імпарт з cheat.db Import from %s = Імпарт з %s +No new cheats found for this game = Новых читов для гэтай гульні не знойдзена # AI translated Refresh interval = Інтэрвал абнаўлення [DesktopUI] diff --git a/assets/lang/bg_BG.ini b/assets/lang/bg_BG.ini index 7fec95a4fe..3fcf7e4c14 100644 --- a/assets/lang/bg_BG.ini +++ b/assets/lang/bg_BG.ini @@ -194,10 +194,12 @@ X = X Y = Y [CwCheats] +Added %1 cheats for this game = Добавени са %1 чийтове за тази игра # AI translated Cheats = Чийтове Edit Cheat File = Редактиране на чийтове файл Import Cheats = Внеси от cheat.db Import from %s = Внеси от %s +No new cheats found for this game = Не са намерени нови чийтове за тази игра # AI translated Refresh interval = Интервал на обновяване [DesktopUI] diff --git a/assets/lang/ca_ES.ini b/assets/lang/ca_ES.ini index 02cf74ab39..cc82c06b2d 100644 --- a/assets/lang/ca_ES.ini +++ b/assets/lang/ca_ES.ini @@ -194,10 +194,12 @@ X = X Y = Y [CwCheats] +Added %1 cheats for this game = S'han afegit %1 trucs per a aquest joc # AI translated Cheats = Trucs Edit Cheat File = Editar el fitxer de trucs Import Cheats = Importar «cheat.db» Import from %s = Importar %s +No new cheats found for this game = No s'han trobat nous trucs per a aquest joc # AI translated Refresh interval = Freqüència de refrescament [DesktopUI] diff --git a/assets/lang/cz_CZ.ini b/assets/lang/cz_CZ.ini index c277d2aee9..b8c2210460 100644 --- a/assets/lang/cz_CZ.ini +++ b/assets/lang/cz_CZ.ini @@ -194,10 +194,12 @@ X = X Y = Y [CwCheats] +Added %1 cheats for this game = Přidáno %1 cheatů pro tuto hru # AI translated Cheats = Cheaty Edit Cheat File = Upravit soubor s cheaty Import Cheats = Importovat z cheat.db Import from %s = Importovat z %s +No new cheats found for this game = Nebyly nalezeny žádné nové cheaty pro tuto hru # AI translated Refresh interval = Frekvence obnoveni [DesktopUI] diff --git a/assets/lang/da_DK.ini b/assets/lang/da_DK.ini index 2909a16662..8288242145 100644 --- a/assets/lang/da_DK.ini +++ b/assets/lang/da_DK.ini @@ -194,10 +194,12 @@ X = X Y = Y [CwCheats] +Added %1 cheats for this game = Tilføjet %1 snyd til dette spil # AI translated Cheats = Snyd Edit Cheat File = Editer snydefil Import Cheats = Import from cheat.db Import from %s = Importer fra %s +No new cheats found for this game = Ingen nye cheats fundet til dette spil # AI translated Refresh interval = Opdateringsinterval [DesktopUI] diff --git a/assets/lang/de_DE.ini b/assets/lang/de_DE.ini index 6d530601da..2e53597264 100644 --- a/assets/lang/de_DE.ini +++ b/assets/lang/de_DE.ini @@ -194,10 +194,12 @@ X = X Y = Y [CwCheats] +Added %1 cheats for this game = Es wurden %1 Cheats für dieses Spiel hinzugefügt # AI translated Cheats = Cheats Edit Cheat File = Cheat-Datei ändern Import Cheats = Cheats importieren (aus cheat.db) Import from %s = Importieren von %s +No new cheats found for this game = Keine neuen Cheats für dieses Spiel gefunden # AI translated Refresh interval = Aktualisierungsintervall [DesktopUI] diff --git a/assets/lang/dr_ID.ini b/assets/lang/dr_ID.ini index 0de49afc84..6dae8bcabb 100644 --- a/assets/lang/dr_ID.ini +++ b/assets/lang/dr_ID.ini @@ -194,10 +194,12 @@ X = X Y = Y [CwCheats] +Added %1 cheats for this game = Ditambahkan %1 cheat untuk game ini # AI translated Cheats = Cheat Edit Cheat File = Edit cheat file Import Cheats = Patamanni cheat.db Import from %s = Patamanni %s +No new cheats found for this game = Tidak ada cheat baru ditemukan untuk permainan ini # AI translated Refresh interval = Refresh interval [DesktopUI] diff --git a/assets/lang/en_US.ini b/assets/lang/en_US.ini index d3e523805d..caafb55c2e 100644 --- a/assets/lang/en_US.ini +++ b/assets/lang/en_US.ini @@ -218,10 +218,12 @@ X = X Y = Y [CwCheats] +Added %1 cheats for this game = Added %1 cheats for this game Cheats = Cheats Edit Cheat File = Edit cheat file Import Cheats = Import from cheat.db Import from %s = Import from %s +No new cheats found for this game = No new cheats found for this game Refresh interval = Refresh interval [DesktopUI] diff --git a/assets/lang/es_ES.ini b/assets/lang/es_ES.ini index d39d37f1b1..7e81d3c42b 100644 --- a/assets/lang/es_ES.ini +++ b/assets/lang/es_ES.ini @@ -195,10 +195,12 @@ X = X Y = Y [CwCheats] +Added %1 cheats for this game = Añadidos %1 trucos para este juego # AI translated Cheats = Trucos Edit Cheat File = Editar archivo de trucos Import Cheats = Importar archivo cheat.db Import from %s = Importar desde %s +No new cheats found for this game = No se han encontrado nuevos trucos para este juego # AI translated Refresh interval = Frecuencia de actualización [DesktopUI] diff --git a/assets/lang/es_LA.ini b/assets/lang/es_LA.ini index fabd4c9f30..9b5a9e8d1e 100644 --- a/assets/lang/es_LA.ini +++ b/assets/lang/es_LA.ini @@ -194,10 +194,12 @@ X = X Y = Y [CwCheats] +Added %1 cheats for this game = Se añadieron %1 trucos para este juego # AI translated Cheats = Trucos Edit Cheat File = Editar archivo de trucos Import Cheats = Importar archivo cheat.db Import from %s = Importar desde %s +No new cheats found for this game = No se encontraron nuevos trucos para este juego # AI translated Refresh interval = Frecuencia de actualización [DesktopUI] diff --git a/assets/lang/fa_IR.ini b/assets/lang/fa_IR.ini index ecee13ceb8..2f145615db 100644 --- a/assets/lang/fa_IR.ini +++ b/assets/lang/fa_IR.ini @@ -194,10 +194,12 @@ X = X Y = Y [CwCheats] +Added %1 cheats for this game = به این بازی %1 تقلب اضافه شد # AI translated Cheats = ‎کد‌های تقلب Edit Cheat File = ‎ویرایش فایل کد‌ها Import Cheats = ‎cheat.db وارد کردن از Import from %s = وارد کردن از %s +No new cheats found for this game = هیچ تقلب جدیدی برای این بازی یافت نشد # AI translated Refresh interval = دورهٔ تازه‌سازی [DesktopUI] diff --git a/assets/lang/fi_FI.ini b/assets/lang/fi_FI.ini index 5f0ff2ad00..fae5ed3304 100644 --- a/assets/lang/fi_FI.ini +++ b/assets/lang/fi_FI.ini @@ -194,10 +194,12 @@ X = X Y = Y [CwCheats] +Added %1 cheats for this game = Lisätty %1 koodia tälle pelille # AI translated Cheats = Huijaukset Edit Cheat File = Muokkaa huijaustiedostoa Import Cheats = Tuo huijauksia Import from %s = %s +No new cheats found for this game = Tätä peliä varten ei löytynyt uusia huijauksia # AI translated Refresh interval = Ruudunpäivitysnopeus [DesktopUI] diff --git a/assets/lang/fr_FR.ini b/assets/lang/fr_FR.ini index f6e85b3439..d1712c049d 100644 --- a/assets/lang/fr_FR.ini +++ b/assets/lang/fr_FR.ini @@ -218,10 +218,12 @@ X = Axe X Y = Axe Y [CwCheats] +Added %1 cheats for this game = Ajout de %1 astuces pour ce jeu # AI translated Cheats = Codes de triche Edit Cheat File = Modifier le fichier de triche Import Cheats = Importer des codes de triche Import from %s = Importer de %s +No new cheats found for this game = Aucun nouveau cheat trouvé pour ce jeu # AI translated Refresh interval = Taux de rafraîchissement [DesktopUI] diff --git a/assets/lang/gl_ES.ini b/assets/lang/gl_ES.ini index fe29f4ef8f..c1a53d3055 100644 --- a/assets/lang/gl_ES.ini +++ b/assets/lang/gl_ES.ini @@ -194,10 +194,12 @@ X = X Y = Y [CwCheats] +Added %1 cheats for this game = Engadidos %1 trucos para este xogo # AI translated Cheats = Trucos Edit Cheat File = Editar arquivo de trucos Import Cheats = Importar cheat.db Import from %s = Importar %s +No new cheats found for this game = Non se atoparon novos trucos para este xogo # AI translated Refresh interval = Frecuencia de actualización [DesktopUI] diff --git a/assets/lang/gr_EL.ini b/assets/lang/gr_EL.ini index 5860b5e279..2825d3cc63 100644 --- a/assets/lang/gr_EL.ini +++ b/assets/lang/gr_EL.ini @@ -194,10 +194,12 @@ X = X Y = Y [CwCheats] +Added %1 cheats for this game = Προστέθηκαν %1 cheats για αυτό το παιχνίδι # AI translated Cheats = Κωδικοί Edit Cheat File = Επεξεργασία αρχείου κωδικών Import Cheats = Εισαγωγή από cheat.db Import from %s = Εισαγωγή από %s +No new cheats found for this game = Δεν βρέθηκαν νέοι κωδικοί για αυτό το παιχνίδι # AI translated Refresh interval = Ρυθμός ανανέωσης [DesktopUI] diff --git a/assets/lang/he_IL.ini b/assets/lang/he_IL.ini index e8375ec9ce..1ab4d9eb74 100644 --- a/assets/lang/he_IL.ini +++ b/assets/lang/he_IL.ini @@ -194,10 +194,12 @@ X = X Y = Y [CwCheats] +Added %1 cheats for this game = הוספו %1 קודי רמאות למשחק הזה # AI translated Cheats = Cheats Edit Cheat File = Edit cheat file Import Cheats = Import from cheat.db Import from %s = Import from %s +No new cheats found for this game = לא נמצאו קודים חדשים למשחק זה # AI translated Refresh interval = Refresh interval [DesktopUI] diff --git a/assets/lang/he_IL_invert.ini b/assets/lang/he_IL_invert.ini index a8c736cd72..b140fa0d39 100644 --- a/assets/lang/he_IL_invert.ini +++ b/assets/lang/he_IL_invert.ini @@ -194,10 +194,12 @@ X = X Y = Y [CwCheats] +Added %1 cheats for this game = המשחק הזה קיבל %1 קודי רמאות # AI translated Cheats = Cheats Edit Cheat File = Edit cheat file Import Cheats = Import from cheat.db Import from %s = Import from %s +No new cheats found for this game = המשחק הזה הוא ללא קודים חדשים # AI translated Refresh interval = Refresh interval [DesktopUI] diff --git a/assets/lang/hr_HR.ini b/assets/lang/hr_HR.ini index ccaed8ed74..03025c83b9 100644 --- a/assets/lang/hr_HR.ini +++ b/assets/lang/hr_HR.ini @@ -194,10 +194,12 @@ X = X Y = Y [CwCheats] +Added %1 cheats for this game = Dodano %1 varanja za ovu igru # AI translated Cheats = Šifre Edit Cheat File = Izmijeni cheat datoteku Import Cheats = Uvezi iz cheat.db Import from %s = Uvezi iz %s +No new cheats found for this game = Nisu pronađeni novi trikovi za ovu igru # AI translated Refresh interval = Brzina osvježavanja [DesktopUI] diff --git a/assets/lang/hu_HU.ini b/assets/lang/hu_HU.ini index 60f7015b1e..52c31944e4 100644 --- a/assets/lang/hu_HU.ini +++ b/assets/lang/hu_HU.ini @@ -194,10 +194,12 @@ X = X Y = Y [CwCheats] +Added %1 cheats for this game = %1 csalást adtunk hozzá ehhez a játékhoz # AI translated Cheats = Csalások Edit Cheat File = Csalás fájl szerkesztése Import Cheats = Importálás cheat.db-ből Import from %s = Importálás innen: %s +No new cheats found for this game = Nincs új csalás található ehhez a játékhoz # AI translated Refresh interval = Frissítési gyakoriság [DesktopUI] diff --git a/assets/lang/id_ID.ini b/assets/lang/id_ID.ini index 6cdc4f366a..765e32a2cd 100644 --- a/assets/lang/id_ID.ini +++ b/assets/lang/id_ID.ini @@ -194,10 +194,12 @@ X = X Y = Y [CwCheats] +Added %1 cheats for this game = Ditambahkan %1 cheat untuk permainan ini # AI translated Cheats = Cheat Edit Cheat File = Edit berkas cheat Import Cheats = Impor dari cheat.db Import from %s = Impor dari %s +No new cheats found for this game = Tidak ada cheat baru yang ditemukan untuk game ini # AI translated Refresh interval = Interval penyegaran [DesktopUI] diff --git a/assets/lang/it_IT.ini b/assets/lang/it_IT.ini index f81f12cea3..5eec7025fa 100644 --- a/assets/lang/it_IT.ini +++ b/assets/lang/it_IT.ini @@ -194,10 +194,12 @@ X = X Y = Y [CwCheats] +Added %1 cheats for this game = Aggiunti %1 trucchi per questo gioco # AI translated Cheats = Trucchi Edit Cheat File = Modifica file Trucchi Import Cheats = Importa da cheat.db Import from %s = Importa da %s +No new cheats found for this game = Non sono stati trovati nuovi trucchi per questo gioco # AI translated Refresh interval = Frequenza di Aggiornamento [DesktopUI] diff --git a/assets/lang/ja_JP.ini b/assets/lang/ja_JP.ini index ce8247c9c6..514e4d43c2 100644 --- a/assets/lang/ja_JP.ini +++ b/assets/lang/ja_JP.ini @@ -194,10 +194,12 @@ X = X Y = Y [CwCheats] +Added %1 cheats for this game = このゲームに%1 チートが追加されました # AI translated Cheats = チート Edit Cheat File = チートファイルを編集する Import Cheats = cheat.dbからインポートする Import from %s = %sからインポートする +No new cheats found for this game = このゲームの新しいチートは見つかりませんでした # AI translated Refresh interval = リフレッシュレート [DesktopUI] diff --git a/assets/lang/jv_ID.ini b/assets/lang/jv_ID.ini index 9ae77b2f0e..8a6397f8cd 100644 --- a/assets/lang/jv_ID.ini +++ b/assets/lang/jv_ID.ini @@ -194,10 +194,12 @@ X = X Y = Y [CwCheats] +Added %1 cheats for this game = Dianyari %1 curang kanggo game iki # AI translated Cheats = Mbeling Edit Cheat File = Sunting berkas mbeling Import Cheats = Import from cheat.db Import from %s = Njokot soko %s +No new cheats found for this game = Ora ana cheat anyar sing ditemokake kanggo game iki # AI translated Refresh interval = Restar rate [DesktopUI] diff --git a/assets/lang/ko_KR.ini b/assets/lang/ko_KR.ini index 5735647351..a45e285725 100644 --- a/assets/lang/ko_KR.ini +++ b/assets/lang/ko_KR.ini @@ -194,10 +194,12 @@ X = X Y = Y [CwCheats] +Added %1 cheats for this game = 이 게임에 %1 치트가 추가되었습니다 # AI translated Cheats = 치트 Edit Cheat File = 치트 파일 수정 Import Cheats = cheat.db에서 가져오기 Import from %s = %s에서 가져오기 +No new cheats found for this game = 이 게임에 대한 새로운 치트를 찾을 수 없습니다 # AI translated Refresh interval = 주사율 [DesktopUI] diff --git a/assets/lang/ku_SO.ini b/assets/lang/ku_SO.ini index 4453e81fdc..6e4bd5ab89 100644 --- a/assets/lang/ku_SO.ini +++ b/assets/lang/ku_SO.ini @@ -207,10 +207,12 @@ X = X Y = Y [CwCheats] +Added %1 cheats for this game = Lihevhatin %1 tîkîne ji bo vê lîstikê # AI translated Cheats = Cheats Edit Cheat File = Edit cheat file Import Cheats = Import from cheat.db Import from %s = Import from %s +No new cheats found for this game = Çalakî nû nehat dîtin ji bo vê lîstikê # AI translated Refresh interval = Refresh interval [DesktopUI] diff --git a/assets/lang/lo_LA.ini b/assets/lang/lo_LA.ini index 5c50a4e0f5..8429ddf408 100644 --- a/assets/lang/lo_LA.ini +++ b/assets/lang/lo_LA.ini @@ -194,10 +194,12 @@ X = X Y = Y [CwCheats] +Added %1 cheats for this game = ເພີ່ມເຂົ້າແບບ %1 ສໍາລັບເກมນີ້ # AI translated Cheats = ການໃຊ້ສູດໂກງ Edit Cheat File = ປັບແຕ່ງໄຟລ໌ສູດໂກງ Import Cheats = Import from cheat.db Import from %s = ນຳເຂົ້າຈາກໄຟລ໌ສູດໂກງ %s +No new cheats found for this game = ບໍ່ມີຄວາມສາມາດໃໝ່ສໍາລັບເກມນີ້ # AI translated Refresh interval = ອັດຕາການຟື້ນຟູ [DesktopUI] diff --git a/assets/lang/lt-LT.ini b/assets/lang/lt-LT.ini index f79ff62c52..3c08bfea97 100644 --- a/assets/lang/lt-LT.ini +++ b/assets/lang/lt-LT.ini @@ -194,10 +194,12 @@ X = X Y = Y [CwCheats] +Added %1 cheats for this game = Pridėta %1 sukčiavimų šiai žaidimui # AI translated Cheats = Kodai Edit Cheat File = Redaguoti kodų failą Import Cheats = Importuoti iš cheat.db Import from %s = Importuoti iš %s +No new cheats found for this game = Šiai žaidimui naujų apgavysčių nerasta # AI translated Refresh interval = Atsinaujinimo dažnis [DesktopUI] diff --git a/assets/lang/ms_MY.ini b/assets/lang/ms_MY.ini index 5289390e3f..89aef024db 100644 --- a/assets/lang/ms_MY.ini +++ b/assets/lang/ms_MY.ini @@ -194,10 +194,12 @@ X = X Y = Y [CwCheats] +Added %1 cheats for this game = Ditambahkan %1 helah untuk permainan ini # AI translated Cheats = Cheat Edit Cheat File = Ubah cheat file Import Cheats = Import dari cheat.db Import from %s = Import dari %s +No new cheats found for this game = Tiada cheat baru ditemui untuk permainan ini # AI translated Refresh interval = Refresh interval [DesktopUI] diff --git a/assets/lang/nl_NL.ini b/assets/lang/nl_NL.ini index afff1f2e26..4cca044c41 100644 --- a/assets/lang/nl_NL.ini +++ b/assets/lang/nl_NL.ini @@ -194,10 +194,12 @@ X = X Y = Y [CwCheats] +Added %1 cheats for this game = Toegevoegd %1 cheats voor dit spel # AI translated Cheats = Cheats Edit Cheat File = Cheatbestand bewerken Import Cheats = Importeren van cheat.db Import from %s = Importeren van %s +No new cheats found for this game = Geen nieuwe cheats gevonden voor dit spel # AI translated Refresh interval = Vernieuwingsfrequentie [DesktopUI] diff --git a/assets/lang/no_NO.ini b/assets/lang/no_NO.ini index 431c5658b2..b7d3ef29ef 100644 --- a/assets/lang/no_NO.ini +++ b/assets/lang/no_NO.ini @@ -194,10 +194,12 @@ X = X Y = Y [CwCheats] +Added %1 cheats for this game = Lagt til %1 jukse for dette spillet # AI translated Cheats = Cheats Edit Cheat File = Edit cheat file Import Cheats = Import from cheat.db Import from %s = Import from %s +No new cheats found for this game = Ingen nye jukser funnet for dette spillet # AI translated Refresh interval = Refresh interval [DesktopUI] diff --git a/assets/lang/pl_PL.ini b/assets/lang/pl_PL.ini index 267af1ab48..8c42f77324 100644 --- a/assets/lang/pl_PL.ini +++ b/assets/lang/pl_PL.ini @@ -194,10 +194,12 @@ X = X Y = Y [CwCheats] +Added %1 cheats for this game = Dodano %1 cheatów do tej gry # AI translated Cheats = Kody Edit Cheat File = Edytuj plik kodów Import Cheats = Importuj z pliku cheat.db Import from %s = Importuj z pliku %s +No new cheats found for this game = Nie znaleziono nowych cheatów dla tej gry # AI translated Refresh interval = Szybkość odświeżania [DesktopUI] diff --git a/assets/lang/pt_BR.ini b/assets/lang/pt_BR.ini index 2647b9b820..f41093e36b 100644 --- a/assets/lang/pt_BR.ini +++ b/assets/lang/pt_BR.ini @@ -218,10 +218,12 @@ X = X Y = Y [CwCheats] +Added %1 cheats for this game = Adicionados %1 cheats para este jogo # AI translated Cheats = Trapaças Edit Cheat File = Editar arquivo de trapaças Import Cheats = Importar do cheat.db Import from %s = Importar do %s +No new cheats found for this game = Nenhum novo cheat encontrado para este jogo # AI translated Refresh interval = Intervalo da atualização [DesktopUI] diff --git a/assets/lang/pt_PT.ini b/assets/lang/pt_PT.ini index 038b289f62..1f76b16f93 100644 --- a/assets/lang/pt_PT.ini +++ b/assets/lang/pt_PT.ini @@ -218,10 +218,12 @@ X = X Y = Y [CwCheats] +Added %1 cheats for this game = Adicionados %1 cheats para este jogo # AI translated Cheats = Cheats Edit Cheat File = Editar ficheiro de Cheats Import Cheats = Importar de cheat.db Import from %s = Importar de %s +No new cheats found for this game = Não foram encontrados novos cheats para este jogo # AI translated Refresh interval = Taxa de atualização [DesktopUI] diff --git a/assets/lang/ro_RO.ini b/assets/lang/ro_RO.ini index 40e87df141..dfe5f02d19 100644 --- a/assets/lang/ro_RO.ini +++ b/assets/lang/ro_RO.ini @@ -194,11 +194,13 @@ X = X Y = Y [CwCheats] +Added %1 cheats for this game = Adăugate %1 cheats pentru acest joc # AI translated Cheats = Trișare Edit Cheat File = Editare fișier trișare Import Cheats = Importă din cheat.db #Import %s = Importă din %s Import from %s = Import from %s +No new cheats found for this game = Nu au fost găsite cheat-uri noi pentru acest joc # AI translated Refresh interval = Rată de împrospatare [DesktopUI] diff --git a/assets/lang/ru_RU.ini b/assets/lang/ru_RU.ini index c34ae08613..7addc6b490 100644 --- a/assets/lang/ru_RU.ini +++ b/assets/lang/ru_RU.ini @@ -194,10 +194,12 @@ X = X Y = Y [CwCheats] +Added %1 cheats for this game = Добавлено %1 читов для этой игры # AI translated Cheats = Читы Edit Cheat File = Изменить файл чита Import Cheats = Импортировать из cheat.db Import from %s = Импортировать из %s +No new cheats found for this game = Не найдено новых читов для этой игры # AI translated Refresh interval = Интервал обновления [DesktopUI] diff --git a/assets/lang/sv_SE.ini b/assets/lang/sv_SE.ini index d84c792653..ba46efd822 100644 --- a/assets/lang/sv_SE.ini +++ b/assets/lang/sv_SE.ini @@ -194,10 +194,12 @@ X = X Y = Y [CwCheats] +Added %1 cheats for this game = Lade till %1 fusk för det här spelet # AI translated Cheats = Fusk Edit Cheat File = Redigera fuskfil Import Cheats = Importera från cheat.db Import from %s = Importera från %s +No new cheats found for this game = Inga nya fusk hittades för det här spelet # AI translated Refresh interval = Uppdateringsintervall [DesktopUI] diff --git a/assets/lang/tg_PH.ini b/assets/lang/tg_PH.ini index 2760bf1dbc..03baa0c989 100644 --- a/assets/lang/tg_PH.ini +++ b/assets/lang/tg_PH.ini @@ -194,10 +194,12 @@ X = X Y = Y [CwCheats] +Added %1 cheats for this game = Эҳтимолҳои %1 барои ин бозӣ илова карда шуданд # AI translated Cheats = Mga Daya Edit Cheat File = I-edit ang Cheat File Import Cheats = I-import ang mga daya mula sa cheat.db Import from %s = I-Import ang mga daya mula sa %s +No new cheats found for this game = Барои ин бозӣ хардӣ нави пайдо нашуд # AI translated Refresh interval = Pagitan ng pag-refresh [DesktopUI] diff --git a/assets/lang/th_TH.ini b/assets/lang/th_TH.ini index 0cf4aaf4f1..5c9217e1d0 100644 --- a/assets/lang/th_TH.ini +++ b/assets/lang/th_TH.ini @@ -194,10 +194,12 @@ X = แกน X Y = แกน Y [CwCheats] +Added %1 cheats for this game = เพิ่ม %1 โกงสำหรับเกมนี้ # AI translated Cheats = การใช้สูตรโกง Edit Cheat File = ปรับแต่งไฟล์สูตรโกง Import Cheats = นำเข้าจากไฟล์สูตรโกง Import from %s = นำเข้าจาก %s +No new cheats found for this game = ไม่พบโกงใหม่สำหรับเกมนี้ # AI translated Refresh interval = ช่วงเวลารีเฟรชสูตร [DesktopUI] diff --git a/assets/lang/tr_TR.ini b/assets/lang/tr_TR.ini index c692a38e93..15c1454aa5 100644 --- a/assets/lang/tr_TR.ini +++ b/assets/lang/tr_TR.ini @@ -194,10 +194,12 @@ X = X Y = Y [CwCheats] +Added %1 cheats for this game = Bu oyun için %1 hile eklendi # AI translated Cheats = Hileler Edit Cheat File = Hile Dosyası Düzenle Import Cheats = Hileleri İçe Aktar Import from %s = Şuradan Aktar %s +No new cheats found for this game = Bu oyun için yeni hile bulunamadı # AI translated Refresh interval = Yenileme Aralığı [DesktopUI] diff --git a/assets/lang/uk_UA.ini b/assets/lang/uk_UA.ini index 08387cf6d2..9c7b81c781 100644 --- a/assets/lang/uk_UA.ini +++ b/assets/lang/uk_UA.ini @@ -194,10 +194,12 @@ X = X Y = Y [CwCheats] +Added %1 cheats for this game = Додано %1 читів для цієї гри # AI translated Cheats = Чіт-коди Edit Cheat File = Змінити файл чіт-коду Import Cheats = Імпортувати з cheat.db Import from %s = Імпортувати з %s +No new cheats found for this game = Нових чітів для цієї гри не знайдено # AI translated Refresh interval = Частота оновлення [DesktopUI] diff --git a/assets/lang/vi_VN.ini b/assets/lang/vi_VN.ini index a961b6137f..917fd1ca0c 100644 --- a/assets/lang/vi_VN.ini +++ b/assets/lang/vi_VN.ini @@ -194,10 +194,12 @@ X = X Y = Y [CwCheats] +Added %1 cheats for this game = Đã thêm %1 mã gian lận cho trò chơi này # AI translated Cheats = Cheats Edit Cheat File = Sửa mục cheat Import Cheats = Nhập mã từ cheat.db Import from %s = Nhập mã từ %s +No new cheats found for this game = Không tìm thấy mã gian lận mới cho trò chơi này # AI translated Refresh interval = Tần số làm mới [DesktopUI] diff --git a/assets/lang/zh_CN.ini b/assets/lang/zh_CN.ini index f55c0cfec4..4d92289a41 100644 --- a/assets/lang/zh_CN.ini +++ b/assets/lang/zh_CN.ini @@ -194,10 +194,12 @@ X = X Y = Y [CwCheats] +Added %1 cheats for this game = 为此游戏添加了 %1 作弊码 # AI translated Cheats = 金手指 Edit Cheat File = 编辑金手指文件 Import Cheats = 从cheat.db导入 Import from %s = 从%s导入 +No new cheats found for this game = 未找到此游戏的新作弊 # AI translated Refresh interval = 刷新间隔 [DesktopUI] diff --git a/assets/lang/zh_TW.ini b/assets/lang/zh_TW.ini index bbe0a92b8b..0dffd6bd1d 100644 --- a/assets/lang/zh_TW.ini +++ b/assets/lang/zh_TW.ini @@ -194,10 +194,12 @@ X = X Y = Y [CwCheats] +Added %1 cheats for this game = 為此遊戲添加了 %1 作弊碼 # AI translated Cheats = 密技 Edit Cheat File = 編輯密技檔案 Import Cheats = 從 cheat.db 匯入 Import from %s = 從 %s 匯入 +No new cheats found for this game = 未找到此遊戲的新作弊 # AI translated Refresh interval = 重新整理間隔 [DesktopUI]