Allow localizing the application name with project translations

This commit is contained in:
Haoyu Qiu 2025-11-05 12:36:16 +08:00
parent 6fd949a6dc
commit b8a8f8b35a
12 changed files with 100 additions and 57 deletions

View file

@ -611,7 +611,10 @@ void TranslationServer::_bind_methods() {
ADD_PROPERTY(PropertyInfo(Variant::Type::BOOL, "pseudolocalization_enabled"), "set_pseudolocalization_enabled", "is_pseudolocalization_enabled");
}
void TranslationServer::load_translations() {
void TranslationServer::load_project_translations(Ref<TranslationDomain> p_domain) {
DEV_ASSERT(p_domain.is_valid());
p_domain->clear();
const String prop = "internationalization/locale/translations";
if (!ProjectSettings::get_singleton()->has_setting(prop)) {
return;
@ -620,7 +623,7 @@ void TranslationServer::load_translations() {
for (const String &path : translations) {
Ref<Translation> tr = ResourceLoader::load(path);
if (tr.is_valid()) {
add_translation(tr);
p_domain->add_translation(tr);
}
}
}

View file

@ -151,7 +151,7 @@ public:
void clear();
void load_translations();
void load_project_translations(Ref<TranslationDomain> p_domain);
#ifdef TOOLS_ENABLED
virtual void get_argument_options(const StringName &p_function, int p_idx, List<String> *r_options) const override;