From c783f1b5bbf4d038dd4ffb9216cdb33f064bcedf Mon Sep 17 00:00:00 2001 From: Capry Date: Wed, 22 Oct 2025 14:57:29 +0200 Subject: [PATCH] Make editor remember the translation preview locale --- editor/editor_node.cpp | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/editor/editor_node.cpp b/editor/editor_node.cpp index abc50032c93..cb5ce09444a 100644 --- a/editor/editor_node.cpp +++ b/editor/editor_node.cpp @@ -936,6 +936,12 @@ void EditorNode::_notification(int p_what) { CanvasItemEditor::ThemePreviewMode theme_preview_mode = (CanvasItemEditor::ThemePreviewMode)(int)EditorSettings::get_singleton()->get_project_metadata("2d_editor", "theme_preview", CanvasItemEditor::THEME_PREVIEW_PROJECT); update_preview_themes(theme_preview_mode); + // Remember the selected locale to preview node translations. + const String preview_locale = EditorSettings::get_singleton()->get_project_metadata("editor_metadata", "preview_locale", String()); + if (!preview_locale.is_empty() && TranslationServer::get_singleton()->get_loaded_locales().has(preview_locale)) { + set_preview_locale(preview_locale); + } + if (Engine::get_singleton()->is_recovery_mode_hint()) { EditorToaster::get_singleton()->popup_str(TTR("Recovery Mode is enabled. Editor functionality has been restricted."), EditorToaster::SEVERITY_WARNING); } @@ -4221,6 +4227,8 @@ void EditorNode::set_preview_locale(const String &p_locale) { main_domain->set_locale_override(p_locale); } + EditorSettings::get_singleton()->set_project_metadata("editor_metadata", "preview_locale", p_locale); + _translation_resources_changed(); }