Fix: Chinese language translation not working after recent refactor
Properly take into account script when searching for language folders. Pull Request: https://projects.blender.org/blender/blender/pulls/133532
This commit is contained in:
committed by
Brecht Van Lommel
parent
759a7a08d9
commit
b11316fa3f
@@ -480,17 +480,35 @@ class MOMessages {
|
||||
{
|
||||
/* Find language folders. */
|
||||
Vector<std::string> lang_folders;
|
||||
if (!info.language.empty()) {
|
||||
if (info.language.empty()) {
|
||||
return {};
|
||||
}
|
||||
|
||||
/* Blender uses non-standard uppercase script zh_HANS instead of zh_Hans, try both. */
|
||||
Vector<std::string> scripts = {info.script};
|
||||
if (!info.script.empty()) {
|
||||
std::string script_uppercase = info.script;
|
||||
for (char &c : script_uppercase) {
|
||||
make_upper_ascii(c);
|
||||
}
|
||||
scripts.append(script_uppercase);
|
||||
}
|
||||
|
||||
for (const std::string &script : scripts) {
|
||||
std::string language = info.language;
|
||||
if (!script.empty()) {
|
||||
language += "_" + script;
|
||||
}
|
||||
if (!info.variant.empty() && !info.country.empty()) {
|
||||
lang_folders.append(info.language + "_" + info.country + "@" + info.variant);
|
||||
lang_folders.append(language + "_" + info.country + "@" + info.variant);
|
||||
}
|
||||
if (!info.variant.empty()) {
|
||||
lang_folders.append(info.language + "@" + info.variant);
|
||||
lang_folders.append(language + "@" + info.variant);
|
||||
}
|
||||
if (!info.country.empty()) {
|
||||
lang_folders.append(info.language + "_" + info.country);
|
||||
lang_folders.append(language + "_" + info.country);
|
||||
}
|
||||
lang_folders.append(info.language);
|
||||
lang_folders.append(language);
|
||||
}
|
||||
|
||||
/* Find catalogs in language folders. */
|
||||
|
||||
Reference in New Issue
Block a user