1
0
mirror of https://github.com/vcmi/vcmi.git synced 2025-06-15 00:05:02 +02:00

Minor refactoring of translations:

- removed unsuccessful and broken validation of translations
- pass JsonNode when registering strings to provide information on mod
source
This commit is contained in:
Ivan Savenko
2024-09-30 10:21:10 +00:00
parent c77da2e476
commit b85ccccb37
19 changed files with 48 additions and 141 deletions

View File

@ -401,33 +401,6 @@ CModVersion CModHandler::getModVersion(TModID modName) const
return {};
}
bool CModHandler::validateTranslations(TModID modName) const
{
bool result = true;
const auto & mod = allMods.at(modName);
{
auto fileList = mod.config["translations"].convertTo<std::vector<std::string> >();
JsonNode json = JsonUtils::assembleFromFiles(fileList);
result |= VLC->generaltexth->validateTranslation(mod.baseLanguage, modName, json);
}
for(const auto & language : Languages::getLanguageList())
{
if (mod.config[language.identifier].isNull())
continue;
if (mod.config[language.identifier]["skipValidation"].Bool())
continue;
auto fileList = mod.config[language.identifier]["translations"].convertTo<std::vector<std::string> >();
JsonNode json = JsonUtils::assembleFromFiles(fileList);
result |= VLC->generaltexth->validateTranslation(language.identifier, modName, json);
}
return result;
}
void CModHandler::loadTranslation(const TModID & modName)
{
const auto & mod = allMods[modName];
@ -441,8 +414,8 @@ void CModHandler::loadTranslation(const TModID & modName)
JsonNode baseTranslation = JsonUtils::assembleFromFiles(baseTranslationList);
JsonNode extraTranslation = JsonUtils::assembleFromFiles(extraTranslationList);
VLC->generaltexth->loadTranslationOverrides(modBaseLanguage, modName, baseTranslation);
VLC->generaltexth->loadTranslationOverrides(preferredLanguage, modName, extraTranslation);
VLC->generaltexth->loadTranslationOverrides(modName, baseTranslation);
VLC->generaltexth->loadTranslationOverrides(modName, extraTranslation);
}
void CModHandler::load()
@ -480,12 +453,6 @@ void CModHandler::load()
for(const TModID & modName : activeMods)
loadTranslation(modName);
#if 0
for(const TModID & modName : activeMods)
if (!validateTranslations(modName))
allMods[modName].validation = CModInfo::FAILED;
#endif
logMod->info("\tLoading mod data: %d ms", timer.getDiff());
VLC->creh->loadCrExpMod();
VLC->identifiersHandler->finalize();