impr: Rewrite Localization Manager to use more standard format and load localizations on the fly

This commit is contained in:
WerWolv
2025-08-12 18:00:10 +02:00
parent 25c8f4b588
commit b5a3a8b4c2
153 changed files with 18215 additions and 18475 deletions

View File

@@ -1,10 +1,5 @@
{
"code": "de-DE",
"country": "Germany",
"language": "German",
"translations": {
"hex.script_loader.menu.run_script": "Skript ausführen",
"hex.script_loader.menu.loading": "Laden...",
"hex.script_loader.menu.no_scripts": "Keine Skripte gefunden"
}
"hex.script_loader.menu.run_script": "Skript ausführen",
"hex.script_loader.menu.loading": "Laden...",
"hex.script_loader.menu.no_scripts": "Keine Skripte gefunden"
}

View File

@@ -1,12 +1,7 @@
{
"code": "en-US",
"country": "United States",
"language": "English",
"translations": {
"hex.script_loader.menu.run_script": "Run Script...",
"hex.script_loader.menu.loading": "Loading...",
"hex.script_loader.menu.no_scripts": "No scripts found",
"hex.script_loader.task.updating": "Updating scripts...",
"hex.script_loader.task.running": "Running script..."
}
"hex.script_loader.menu.run_script": "Run Script...",
"hex.script_loader.menu.loading": "Loading...",
"hex.script_loader.menu.no_scripts": "No scripts found",
"hex.script_loader.task.updating": "Updating scripts...",
"hex.script_loader.task.running": "Running script..."
}

View File

@@ -1,12 +1,7 @@
{
"code": "fr-FR",
"country": "France",
"language": "Français",
"translations": {
"hex.script_loader.menu.run_script": "Exécuter le script...",
"hex.script_loader.menu.loading": "Chargement...",
"hex.script_loader.menu.no_scripts": "Aucun script trouvé",
"hex.script_loader.task.updating": "Mise à jour des scripts...",
"hex.script_loader.task.running": "Exécution du script..."
}
"hex.script_loader.menu.run_script": "Exécuter le script...",
"hex.script_loader.menu.loading": "Chargement...",
"hex.script_loader.menu.no_scripts": "Aucun script trouvé",
"hex.script_loader.task.updating": "Mise à jour des scripts...",
"hex.script_loader.task.running": "Exécution du script..."
}

View File

@@ -1,11 +1,5 @@
{
"code": "hu_HU",
"language": "Hungarian",
"country": "Hungary",
"fallback": false,
"translations": {
"hex.script_loader.menu.run_script": "Script futtatása...",
"hex.script_loader.menu.loading": "Betöltés...",
"hex.script_loader.menu.no_scripts": "Nem található script"
}
"hex.script_loader.menu.run_script": "Script futtatása...",
"hex.script_loader.menu.loading": "Betöltés...",
"hex.script_loader.menu.no_scripts": "Nem található script"
}

View File

@@ -0,0 +1,34 @@
[
{
"code": "en-US",
"path": "lang/en_US.json"
},
{
"code": "fr-FR",
"path": "lang/fr_FR.json"
},
{
"code": "de-DE",
"path": "lang/de_DE.json"
},
{
"code": "hu-HU",
"path": "lang/hu_HU.json"
},
{
"code": "ru-RU",
"path": "lang/ru_RU.json"
},
{
"code": "pl-PL",
"path": "lang/pl_PL.json"
},
{
"code": "zh-CN",
"path": "lang/zh_CN.json"
},
{
"code": "zh-TW",
"path": "lang/zh_TW.json"
}
]

View File

@@ -1,13 +1,7 @@
{
"code": "pl-PL",
"country": "Polska",
"language": "Polski",
"fallback": false,
"translations": {
"hex.script_loader.menu.loading": "Ładowanie...",
"hex.script_loader.menu.no_scripts": "Nie znaleziono skryptów",
"hex.script_loader.menu.run_script": "Uruchom skrypt...",
"hex.script_loader.task.running": "Uruchamianie skryptu...",
"hex.script_loader.task.updating": "Aktualizowanie skryptów..."
}
"hex.script_loader.menu.loading": "Ładowanie...",
"hex.script_loader.menu.no_scripts": "Nie znaleziono skryptów",
"hex.script_loader.menu.run_script": "Uruchom skrypt...",
"hex.script_loader.task.running": "Uruchamianie skryptu...",
"hex.script_loader.task.updating": "Aktualizowanie skryptów..."
}

View File

@@ -1,12 +1,7 @@
{
"code": "ru-RU",
"country": "Russia",
"language": "Russian",
"translations": {
"hex.script_loader.menu.run_script": "Запустить скрипт",
"hex.script_loader.menu.loading": "Загрузка...",
"hex.script_loader.menu.no_scripts": "Скрипты не найдены",
"hex.script_loader.task.updating": "Обновление скриптов...",
"hex.script_loader.task.running": "Запуск скрипта..."
}
"hex.script_loader.menu.run_script": "Запустить скрипт",
"hex.script_loader.menu.loading": "Загрузка...",
"hex.script_loader.menu.no_scripts": "Скрипты не найдены",
"hex.script_loader.task.updating": "Обновление скриптов...",
"hex.script_loader.task.running": "Запуск скрипта..."
}

View File

@@ -1,12 +1,7 @@
{
"code": "zh-CN",
"country": "China",
"language": "Chinese (Simplified)",
"translations": {
"hex.script_loader.menu.loading": "加载中……",
"hex.script_loader.menu.no_scripts": "空空如也",
"hex.script_loader.menu.run_script": "运行脚本……",
"hex.script_loader.task.running": "运行脚本……",
"hex.script_loader.task.updating": "更新脚本……"
}
"hex.script_loader.menu.loading": "加载中……",
"hex.script_loader.menu.no_scripts": "空空如也",
"hex.script_loader.menu.run_script": "运行脚本……",
"hex.script_loader.task.running": "运行脚本……",
"hex.script_loader.task.updating": "更新脚本……"
}

View File

@@ -1,10 +1,5 @@
{
"code": "zh-TW",
"country": "Taiwan",
"language": "Chinese (Traditional)",
"translations": {
"hex.script_loader.menu.loading": "正在載入...",
"hex.script_loader.menu.no_scripts": "找不到指令碼",
"hex.script_loader.menu.run_script": "執行指令碼..."
}
"hex.script_loader.menu.loading": "正在載入...",
"hex.script_loader.menu.no_scripts": "找不到指令碼",
"hex.script_loader.menu.run_script": "執行指令碼..."
}

View File

@@ -134,8 +134,9 @@ std::vector<const Script*> loadAllScripts() {
IMHEX_PLUGIN_SETUP("Script Loader", "WerWolv", "Script Loader plugin") {
hex::log::debug("Using romfs: '{}'", romfs::name());
for (auto &path : romfs::list("lang"))
hex::ContentRegistry::Language::addLocalization(nlohmann::json::parse(romfs::get(path).string()));
hex::LocalizationManager::addLanguages(romfs::get("lang/languages.json").string(), [](const std::filesystem::path &path) {
return romfs::get(path).string();
});
if (initializeAllLoaders()) {
addScriptsMenu();