Added TranslationServer::get_loaded_locales to return an array of all locales with a loaded Translation

This commit is contained in:
Ken Paulson 2019-04-24 21:39:29 -04:00
parent e9be53acd7
commit 6b117c44fb
2 changed files with 17 additions and 0 deletions

View File

@ -968,6 +968,19 @@ String TranslationServer::get_locale_name(const String &p_locale) const {
return locale_name_map[p_locale]; return locale_name_map[p_locale];
} }
Array TranslationServer::get_loaded_locales() const {
Array locales;
for (const Set<Ref<Translation> >::Element *E = translations.front(); E; E = E->next()) {
const Ref<Translation> &t = E->get();
String l = t->get_locale();
locales.push_back(l);
}
return locales;
}
Vector<String> TranslationServer::get_all_locales() { Vector<String> TranslationServer::get_all_locales() {
Vector<String> locales; Vector<String> locales;
@ -1168,6 +1181,8 @@ void TranslationServer::_bind_methods() {
ClassDB::bind_method(D_METHOD("remove_translation", "translation"), &TranslationServer::remove_translation); ClassDB::bind_method(D_METHOD("remove_translation", "translation"), &TranslationServer::remove_translation);
ClassDB::bind_method(D_METHOD("clear"), &TranslationServer::clear); ClassDB::bind_method(D_METHOD("clear"), &TranslationServer::clear);
ClassDB::bind_method(D_METHOD("get_loaded_locales"), &TranslationServer::get_loaded_locales);
} }
void TranslationServer::load_translations() { void TranslationServer::load_translations() {

View File

@ -94,6 +94,8 @@ public:
String get_locale_name(const String &p_locale) const; String get_locale_name(const String &p_locale) const;
Array get_loaded_locales() const;
void add_translation(const Ref<Translation> &p_translation); void add_translation(const Ref<Translation> &p_translation);
void remove_translation(const Ref<Translation> &p_translation); void remove_translation(const Ref<Translation> &p_translation);