Fix locale always selecting translation instead of "en", when no match found.

This commit is contained in:
bruvzg 2022-01-19 16:46:48 +02:00
parent 82efb1d262
commit de48d5101b
No known key found for this signature in database
GPG key ID: 7960FCF39844EC38
3 changed files with 4 additions and 4 deletions

View file

@ -820,7 +820,7 @@ String ResourceLoader::_path_remap(const String &p_path, bool *r_translation_rem
}
String l = res_remaps[i].substr(split + 1).strip_edges();
int score = TranslationServer::get_singleton()->compare_locales(locale, l);
if (score >= best_score) {
if (score > best_score) {
new_path = res_remaps[i].left(split);
best_score = score;
if (score == 10) {

View file

@ -544,7 +544,7 @@ Ref<Translation> TranslationServer::get_translation_object(const String &p_local
String l = t->get_locale();
int score = compare_locales(p_locale, l);
if (score >= best_score) {
if (score > best_score) {
res = t;
best_score = score;
if (score == 10) {
@ -617,7 +617,7 @@ StringName TranslationServer::_get_message_from_translations(const StringName &p
String l = t->get_locale();
int score = compare_locales(p_locale, l);
if (score >= best_score) {
if (score > best_score) {
StringName r;
if (!plural) {
res = t->get_message(p_message, p_context);

View file

@ -377,7 +377,7 @@ void EditorSettings::_load_defaults(Ref<ConfigFile> p_extra_config) {
lang_hint += locale;
int score = TranslationServer::get_singleton()->compare_locales(host_lang, locale);
if (score >= best_score) {
if (score > best_score) {
best = locale;
best_score = score;
if (score == 10) {