diff options
Diffstat (limited to 'core/translation.cpp')
-rw-r--r-- | core/translation.cpp | 33 |
1 files changed, 21 insertions, 12 deletions
diff --git a/core/translation.cpp b/core/translation.cpp index 17c23b86cd..3f45bb17c9 100644 --- a/core/translation.cpp +++ b/core/translation.cpp @@ -407,7 +407,7 @@ static const char *locale_list[] = { "zh_SG", // Chinese (Singapore) "zh_TW", // Chinese (Taiwan) "zu_ZA", // Zulu (South Africa) - 0 + nullptr }; static const char *locale_names[] = { @@ -775,7 +775,7 @@ static const char *locale_names[] = { "Chinese (Singapore)", "Chinese (Taiwan)", "Zulu (South Africa)", - 0 + nullptr }; // Windows has some weird locale identifiers which do not honor the ISO 639-1 @@ -789,7 +789,7 @@ static const char *locale_renames[][2] = { { "in", "id" }, // Indonesian { "iw", "he" }, // Hebrew { "no", "nb" }, // Norwegian Bokmål - { NULL, NULL } + { nullptr, nullptr } }; /////////////////////////////////////////////// @@ -929,7 +929,7 @@ String TranslationServer::standardize_locale(const String &p_locale) { // Handles known non-ISO locale names used e.g. on Windows int idx = 0; - while (locale_renames[idx][0] != NULL) { + while (locale_renames[idx][0] != nullptr) { if (locale_renames[idx][0] == univ_locale) { univ_locale = locale_renames[idx][1]; break; @@ -995,7 +995,7 @@ String TranslationServer::get_locale_name(const String &p_locale) const { Array TranslationServer::get_loaded_locales() const { Array locales; - for (const Set<Ref<Translation> >::Element *E = translations.front(); E; E = E->next()) { + for (const Set<Ref<Translation>>::Element *E = translations.front(); E; E = E->next()) { const Ref<Translation> &t = E->get(); ERR_FAIL_COND_V(t.is_null(), Array()); @@ -1072,7 +1072,7 @@ StringName TranslationServer::translate(const StringName &p_message) const { String lang = get_language_code(locale); bool near_match = false; - for (const Set<Ref<Translation> >::Element *E = translations.front(); E; E = E->next()) { + for (const Set<Ref<Translation>>::Element *E = translations.front(); E; E = E->next()) { const Ref<Translation> &t = E->get(); ERR_FAIL_COND_V(t.is_null(), p_message); String l = t->get_locale(); @@ -1105,7 +1105,7 @@ StringName TranslationServer::translate(const StringName &p_message) const { String fallback_lang = get_language_code(fallback); near_match = false; - for (const Set<Ref<Translation> >::Element *E = translations.front(); E; E = E->next()) { + for (const Set<Ref<Translation>>::Element *E = translations.front(); E; E = E->next()) { const Ref<Translation> &t = E->get(); ERR_FAIL_COND_V(t.is_null(), p_message); String l = t->get_locale(); @@ -1141,7 +1141,7 @@ StringName TranslationServer::translate(const StringName &p_message) const { return res; } -TranslationServer *TranslationServer::singleton = NULL; +TranslationServer *TranslationServer::singleton = nullptr; bool TranslationServer::_load_translations(const String &p_from) { @@ -1176,7 +1176,6 @@ void TranslationServer::setup() { set_locale(OS::get_singleton()->get_locale()); fallback = GLOBAL_DEF("locale/fallback", "en"); #ifdef TOOLS_ENABLED - { String options = ""; int idx = 0; @@ -1189,7 +1188,6 @@ void TranslationServer::setup() { ProjectSettings::get_singleton()->set_custom_property_info("locale/fallback", PropertyInfo(Variant::STRING, "locale/fallback", PROPERTY_HINT_ENUM, options)); } #endif - //load translations } void TranslationServer::set_tool_translation(const Ref<Translation> &p_translation) { @@ -1197,15 +1195,26 @@ void TranslationServer::set_tool_translation(const Ref<Translation> &p_translati } StringName TranslationServer::tool_translate(const StringName &p_message) const { - if (tool_translation.is_valid()) { StringName r = tool_translation->get_message(p_message); - if (r) { return r; } } + return p_message; +} +void TranslationServer::set_doc_translation(const Ref<Translation> &p_translation) { + doc_translation = p_translation; +} + +StringName TranslationServer::doc_translate(const StringName &p_message) const { + if (doc_translation.is_valid()) { + StringName r = doc_translation->get_message(p_message); + if (r) { + return r; + } + } return p_message; } |