From c3921954f246c0d8230262d6cbecc0e49172f93d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Pa=CC=84vels=20Nadtoc=CC=8Cajevs?= <7645683+bruvzg@users.noreply.github.com> Date: Wed, 26 Mar 2025 20:27:11 +0200 Subject: [PATCH] Fix editor layout direction change on translation change. --- core/string/translation_server.cpp | 6 +++--- editor/editor_node.cpp | 4 ++++ editor/project_manager.cpp | 4 ++++ 3 files changed, 11 insertions(+), 3 deletions(-) diff --git a/core/string/translation_server.cpp b/core/string/translation_server.cpp index 441c0e0db2e..d6effb9d78e 100644 --- a/core/string/translation_server.cpp +++ b/core/string/translation_server.cpp @@ -504,10 +504,10 @@ String TranslationServer::get_tool_locale() { #ifdef TOOLS_ENABLED if (Engine::get_singleton()->is_editor_hint() || Engine::get_singleton()->is_project_manager_hint()) { const PackedStringArray &locales = editor_domain->get_loaded_locales(); - if (locales.is_empty()) { - return "en"; + if (locales.has(locale)) { + return locale; } - return locales[0]; + return "en"; } else { #else { diff --git a/editor/editor_node.cpp b/editor/editor_node.cpp index 6f5d53ac541..1733068bc44 100644 --- a/editor/editor_node.cpp +++ b/editor/editor_node.cpp @@ -621,6 +621,10 @@ void EditorNode::update_preview_themes(int p_mode) { void EditorNode::_notification(int p_what) { switch (p_what) { + case NOTIFICATION_TRANSLATION_CHANGED: { + callable_mp(this, &EditorNode::_titlebar_resized).call_deferred(); + } break; + case NOTIFICATION_POSTINITIALIZE: { EditorHelp::generate_doc(); #if defined(MODULE_GDSCRIPT_ENABLED) || defined(MODULE_MONO_ENABLED) diff --git a/editor/project_manager.cpp b/editor/project_manager.cpp index d96e75be975..869ac21b1b7 100644 --- a/editor/project_manager.cpp +++ b/editor/project_manager.cpp @@ -97,6 +97,10 @@ void ProjectManager::_notification(int p_what) { _titlebar_resized(); } break; + case NOTIFICATION_TRANSLATION_CHANGED: { + _titlebar_resized(); + } break; + case NOTIFICATION_VISIBILITY_CHANGED: { set_process_shortcut_input(is_visible_in_tree()); } break;