From a2170728f5728f6f63330c17a86a8372c4e0c78d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Henrik=20Rydg=C3=A5rd?= Date: Mon, 26 Oct 2026 16:20:03 +0100 Subject: [PATCH] UI: Look up strings in the sections where they're translated These were looked up in a different section from the one with the translation, so they always showed in English (the savedata error messages, "Done!" after moving the memstick, "Switch UMD", "Ask for network permission" and others). Co-Authored-By: Claude Opus 5.5 (1M context) --- Core/Dialog/PSPMsgDialog.cpp | 2 +- Core/Util/MemStick.cpp | 2 +- SDL/CocoaBarItems.mm | 2 +- UI/DevScreens.cpp | 2 +- UI/DeveloperSettingsPages.cpp | 8 ++++---- UI/MemStickScreen.cpp | 2 +- UI/RemoteISOScreen.cpp | 2 +- UI/TiltAnalogSettingsScreen.cpp | 2 +- Windows/MainWindowMenu.cpp | 4 ++-- 9 files changed, 13 insertions(+), 13 deletions(-) diff --git a/Core/Dialog/PSPMsgDialog.cpp b/Core/Dialog/PSPMsgDialog.cpp index 30aaa7e106..acf06a26a1 100755 --- a/Core/Dialog/PSPMsgDialog.cpp +++ b/Core/Dialog/PSPMsgDialog.cpp @@ -159,7 +159,7 @@ int PSPMsgDialog::Init(unsigned int paramAddr) { void PSPMsgDialog::FormatErrorCode(uint32_t code) { - auto err = GetI18NCategory(I18NCat::DIALOG); + auto err = GetI18NCategory(I18NCat::ERRORS); switch (code) { case SCE_UTILITY_SAVEDATA_ERROR_LOAD_DATA_BROKEN: diff --git a/Core/Util/MemStick.cpp b/Core/Util/MemStick.cpp index 8189886503..1ad685e572 100644 --- a/Core/Util/MemStick.cpp +++ b/Core/Util/MemStick.cpp @@ -161,7 +161,7 @@ MoveResult *MoveDirectoryContentsSafe(Path moveSrc, Path moveDest, MoveProgressR // We loop through the files/dirs in the source directory and just try to move them, it should work. if (MoveChildrenFast(moveSrc, moveDest, progressReporter)) { INFO_LOG(Log::System, "Quick-move succeeded after %0.1f ms", moveStart.ElapsedMs()); - progressReporter.SetProgress(StringFromFormat("%s (%0.3f)", ms->T_cstr("Done!"), moveStart.ElapsedSeconds())); + progressReporter.SetProgress(StringFromFormat("%s (%0.3f)", T_cstr(I18NCat::DIALOG, "Done!"), moveStart.ElapsedSeconds())); return new MoveResult{ true, "" }; } else { INFO_LOG(Log::System, "Quick move denied after %0.1f ms, falling back to slow move.", moveStart.ElapsedMs()); diff --git a/SDL/CocoaBarItems.mm b/SDL/CocoaBarItems.mm index f769122653..25d06788ba 100644 --- a/SDL/CocoaBarItems.mm +++ b/SDL/CocoaBarItems.mm @@ -362,7 +362,7 @@ static bool CanUseSaveStates(bool isSaveAction) { Core_Resume(); }].enabledWhen = inGame; [self addItem:DesktopUI("Switch UMD") to:menu action:^{ - System_BrowseForFile(NON_EPHEMERAL_TOKEN, T(I18NCat::MAINMENU, "Switch UMD"), BrowseFileType::BOOTABLE, [](std::string_view value, int) { + System_BrowseForFile(NON_EPHEMERAL_TOKEN, T(I18NCat::DESKTOPUI, "Switch UMD"), BrowseFileType::BOOTABLE, [](std::string_view value, int) { // The callback runs on the emu thread. __UmdReplace(Path(value)); }); diff --git a/UI/DevScreens.cpp b/UI/DevScreens.cpp index b687d9d093..55df94401f 100644 --- a/UI/DevScreens.cpp +++ b/UI/DevScreens.cpp @@ -640,7 +640,7 @@ void FrameDumpTestScreen::CreateTabs() { auto di = GetI18NCategory(I18NCat::DIALOG); auto dev = GetI18NCategory(I18NCat::DEVELOPER); - AddTab("General", dev->T("Dumps"), [this](UI::LinearLayout *parent) { + AddTab("General", di->T("Dumps"), [this](UI::LinearLayout *parent) { ChoiceGroup *dumps = parent->Add(new ChoiceGroupList())->Add(new ChoiceGroup("GE Frame Dumps")); for (auto &file : files_) { diff --git a/UI/DeveloperSettingsPages.cpp b/UI/DeveloperSettingsPages.cpp index 56531eb815..4aa40bffd8 100644 --- a/UI/DeveloperSettingsPages.cpp +++ b/UI/DeveloperSettingsPages.cpp @@ -244,8 +244,8 @@ static void BuildGeneralPage(SettingsPage *page) { #endif #if PPSSPP_PLATFORM(IOS) - page->Custom({ I18NCat::MAINSETTINGS, "Moving the memstick directory is NOT recommended on iOS" }, [](UI::ViewGroup *parent) -> UI::View * { - NoticeView *notice = parent->Add(new NoticeView(NoticeLevel::WARN, T(I18NCat::MAINSETTINGS, "Moving the memstick directory is NOT recommended on iOS"), "")); + page->Custom({ I18NCat::MEMSTICK, "Moving the memstick directory is NOT recommended on iOS" }, [](UI::ViewGroup *parent) -> UI::View * { + NoticeView *notice = parent->Add(new NoticeView(NoticeLevel::WARN, T(I18NCat::MEMSTICK, "Moving the memstick directory is NOT recommended on iOS"), "")); notice->SetWrapText(true); return notice; }); @@ -530,7 +530,7 @@ static void BuildGraphicsPage(SettingsPage *page) { page->Setting(&g_Config.iDisplayRefreshRate); - page->Header("Vulkan"); + page->Header({ I18NCat::GRAPHICS, "Vulkan" }); page->Setting(&g_Config.bVulkanDisableImplicitLayers); if (g_Config.iGPUBackend == (int)GPUBackend::VULKAN) { @@ -654,7 +654,7 @@ void BuildDeveloperToolsPage(SettingsPage *page) { link({ I18NCat::MAINSETTINGS, "Networking" }, &BuildNetworkPage); link({ I18NCat::MAINSETTINGS, "Audio" }, &BuildAudioPage); link({ I18NCat::DEVELOPER, "Tests" }, &BuildTestsPage); - link({ I18NCat::DEVELOPER, "UI" }, &BuildUIPage); + link({ I18NCat::SYSTEM, "UI" }, &BuildUIPage); link({ I18NCat::DEVELOPER, "Dump files" }, &BuildDumpFilePage); link({ I18NCat::DEVELOPER, "HLE" }, &BuildHLEPage); #if !PPSSPP_PLATFORM(ANDROID) && !PPSSPP_PLATFORM(IOS) && !PPSSPP_PLATFORM(SWITCH) diff --git a/UI/MemStickScreen.cpp b/UI/MemStickScreen.cpp index f00e6245b4..a9369b003b 100644 --- a/UI/MemStickScreen.cpp +++ b/UI/MemStickScreen.cpp @@ -605,7 +605,7 @@ void ConfirmMemstickMoveScreen::update() { if (result) { if (result->success) { - progressReporter_.SetProgress(ms->T("Done!")); + progressReporter_.SetProgress(T(I18NCat::DIALOG, "Done!")); INFO_LOG(Log::System, "Move data task finished successfully!"); // Succeeded! FinishFolderMove(); diff --git a/UI/RemoteISOScreen.cpp b/UI/RemoteISOScreen.cpp index b72846cee6..b64c669a69 100644 --- a/UI/RemoteISOScreen.cpp +++ b/UI/RemoteISOScreen.cpp @@ -339,7 +339,7 @@ void RemoteISOScreen::CreateConnectTab(UI::ViewGroup *tab) { PermissionStatus status = System_GetPermissionStatus(SYSTEM_PERMISSION_LOCAL_NETWORK); if (status != PERMISSION_STATUS_GRANTED) { // Proceed with local network functionality - tab->Add(new Choice(ri->T("Ask for network permission")))->OnClick.Add([](UI::EventParams &e) { + tab->Add(new Choice(T(I18NCat::NETWORKING, "Ask for network permission")))->OnClick.Add([](UI::EventParams &e) { System_AskForPermission(SYSTEM_PERMISSION_LOCAL_NETWORK); }); return; diff --git a/UI/TiltAnalogSettingsScreen.cpp b/UI/TiltAnalogSettingsScreen.cpp index e8a724923a..1f4584e852 100644 --- a/UI/TiltAnalogSettingsScreen.cpp +++ b/UI/TiltAnalogSettingsScreen.cpp @@ -104,7 +104,7 @@ void TiltAnalogSettingsScreen::CreateSettingsViews(UI::ViewGroup *settings) { }; ChoiceGroup *setupSettings = groups->Add(new ChoiceGroup(co->T("Tilt control setup"))); - CheckBox *enabled = setupSettings->Add(new CheckBox(&g_Config.bTiltInputEnabled, co->T("Enabled"))); + CheckBox *enabled = setupSettings->Add(new CheckBox(&g_Config.bTiltInputEnabled, T(I18NCat::DIALOG, "Enabled"))); PopupMultiChoice *typeChoice = setupSettings->Add(new PopupMultiChoice(&g_Config.iTiltInputType, co->T("Tilt Input Type"), g_tiltTypes, 0, g_numTiltTypes, I18NCat::CONTROLS, screenManager())); if (g_Config.iTiltInputType != 0) { typeChoice->HideChoice(0); // The null choice is no longer relevant since we added an enabled toggle diff --git a/Windows/MainWindowMenu.cpp b/Windows/MainWindowMenu.cpp index dae9d92ef2..1e6eab89d6 100644 --- a/Windows/MainWindowMenu.cpp +++ b/Windows/MainWindowMenu.cpp @@ -386,8 +386,8 @@ namespace MainWindow { } static void UmdSwitchAction(RequesterToken token) { - auto mm = GetI18NCategory(I18NCat::MAINMENU); - System_BrowseForFile(token, mm->T("Switch UMD"), BrowseFileType::BOOTABLE, [](std::string_view value, int) { + auto des = GetI18NCategory(I18NCat::DESKTOPUI); + System_BrowseForFile(token, des->T("Switch UMD"), BrowseFileType::BOOTABLE, [](std::string_view value, int) { // This is safe because the callback runs on the emu thread. __UmdReplace(Path(value)); });