Improve layout direction/locale automatic selection.

(cherry picked from commit 82d7923c65)
This commit is contained in:
bruvzg
2023-02-22 00:08:05 +02:00
committed by Yuri Sizov
parent 24c4b5e8ad
commit db3fadc560
5 changed files with 77 additions and 23 deletions

View File

@@ -712,7 +712,25 @@ String TranslationServer::get_tool_locale() {
#else
{
#endif
return get_locale();
// Look for best matching loaded translation.
String best_locale = "en";
int best_score = 0;
for (const Ref<Translation> &E : translations) {
const Ref<Translation> &t = E;
ERR_FAIL_COND_V(t.is_null(), best_locale);
String l = t->get_locale();
int score = compare_locales(locale, l);
if (score > 0 && score >= best_score) {
best_locale = l;
best_score = score;
if (score == 10) {
break; // Exact match, skip the rest.
}
}
}
return best_locale;
}
}