impr: Make localization fall back to english if it doesn't exist

This commit is contained in:
WerWolv
2025-01-18 14:40:10 +01:00
parent 181be1a58e
commit 6259190ad9
2 changed files with 6 additions and 5 deletions

View File

@@ -31,7 +31,7 @@ namespace hex {
}
void loadLanguage(const std::string &language);
void loadLanguage(std::string language);
std::string getLocalizedString(const std::string &unlocalizedString, const std::string &language = "");
[[nodiscard]] const std::map<std::string, std::string> &getSupportedLanguages();

View File

@@ -56,18 +56,19 @@ namespace hex {
}
}
void loadLanguage(const std::string &language) {
void loadLanguage(std::string language) {
auto &definitions = ContentRegistry::Language::impl::getLanguageDefinitions();
const auto& fallbackLanguage = getFallbackLanguage();
if (!definitions.contains(language))
return;
language = fallbackLanguage;
s_currStrings->clear();
loadLanguageDefinitions(definitions.at(language));
const auto& fallbackLanguage = getFallbackLanguage();
loadLanguageDefinitions(definitions.at(fallbackLanguage));
if (language != fallbackLanguage)
loadLanguageDefinitions(definitions.at(fallbackLanguage));
s_selectedLanguage = language;
}