From 4acdd10e84a543d4a416c39247561941cc0c0158 Mon Sep 17 00:00:00 2001 From: rainmakerv2 <30595646+rainmakerv3@users.noreply.github.com> Date: Fri, 13 Mar 2026 18:16:12 +0800 Subject: [PATCH] WIP: imgui translations --- CMakeLists.txt | 1 + src/imgui/imgui_translations.h | 94 ++++++++++++++++++++++++++++++++++ 2 files changed, 95 insertions(+) create mode 100644 src/imgui/imgui_translations.h diff --git a/CMakeLists.txt b/CMakeLists.txt index b07dcea87..6d5225602 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -1074,6 +1074,7 @@ set(IMGUI src/imgui/imgui_config.h src/imgui/imgui_layer.h src/imgui/imgui_std.h src/imgui/imgui_texture.h + src/imgui/imgui_translations.h src/imgui/renderer/imgui_core.cpp src/imgui/renderer/imgui_core.h src/imgui/renderer/imgui_impl_sdl3.cpp diff --git a/src/imgui/imgui_translations.h b/src/imgui/imgui_translations.h new file mode 100644 index 000000000..3f4403a51 --- /dev/null +++ b/src/imgui/imgui_translations.h @@ -0,0 +1,94 @@ +// SPDX-FileCopyrightText: Copyright 2026 shadPS4 Emulator Project +// SPDX-License-Identifier: GPL-2.0-or-later + +#include + +#include "common/config.h" + +std::map langMap = {{0, "Japanese"}, + {1, "English (US)"}, + {2, "French"}, + {3, "Spanish"}, + {4, "German"}, + {5, "Italian"}, + {6, "Dutch"}, + {7, "Portuguese (PT)"}, + {8, "Russian"}, + {9, "Korean"}, + {10, "Chinese (Traditional)"}, + {11, "Chinese (Simplified)"}, + {12, "Finnish"}, + {13, "Swedish"}, + {14, "Danish"}, + {15, "Norwegian"}, + {16, "Polish"}, + {17, "Portuguese (BR)"}, + {18, "English (UK)"}, + {19, "Turkish"}, + {20, "Spanish (Latin America)"}, + {21, "Arabic"}, + {22, "French (Canada)"}, + {23, "Czech"}, + {24, "Hungarian"}, + {25, "Greek"}, + {26, "Romanian"}, + {27, "Thai"}, + {28, "Vietnamese"}, + {29, "Indonesian"}, + {30, "Ukrainian"}}; + +///////////// ImGui Translation Tables + +// disable clang line limits for ease of translation +// clang-format off + +const std::map TrophyEarnedTable = { + {"Japanese", "Trophy Earned"}, + {"English (US)", "Trophy Earned"}, + {"French", "Trophy Earned"}, + {"Spanish", "Trophy Earned"}, + {"German", "Trophy Earned"}, + {"Italian", "Trophy Earned"}, + {"Dutch", "Trophy Earned"}, + {"Portuguese (PT)", "Trophy Earned"}, + {"Russian", "Trophy Earned"}, + {"Korean", "Trophy Earned"}, + {"Chinese (Traditional)", "Trophy Earned"}, + {"Chinese (Simplified)", "Trophy Earned"}, + {"Finnish", "Trophy Earned"}, + {"Swedish", "Trophy Earned"}, + {"Danish", "Trophy Earned"}, + {"Norwegian", "Trophy Earned"}, + {"Polish", "Trophy Earned"}, + {"Portuguese (BR)", "Trophy Earned"}, + {"English (UK)", "Trophy Earned"}, + {"Turkish", "Trophy Earned"}, + {"Spanish (Latin America)", "Trophy Earned"}, + {"Arabic", "Trophy Earned"}, + {"French (Canada)", "Trophy Earned"}, + {"Czech", "Trophy Earned"}, + {"Hungarian", "Trophy Earned"}, + {"Greek", "Trophy Earned"}, + {"Romanian", "Trophy Earned"}, + {"Thai", "Trophy Earned"}, + {"Vietnamese", "Trophy Earned"}, + {"Indonesian", "Trophy Earned"}, + {"Ukrainian", "Trophy Earned"}}; + +// clang-format on + +///////////// End ImGui Translation Tables + +std::map> tableMap = { + {"Trophy Earned", TrophyEarnedTable}, +}; + +namespace ImguiTranslate { + +std::string tr(std::string input) { + std::string language = langMap[Config::GetLanguage()]; + std::map translationTable = tableMap[input]; + return translationTable[language]; +} + +} // namespace ImguiTranslate