Skip to content

Commit ef42154

Browse files
committed
Merge pull request #102562 from KoBeWi/edytor_dans_todos_Sprache
Enable changing editor language without restart
2 parents 95a0cad + 68d9833 commit ef42154

File tree

3 files changed

+13
-9
lines changed

3 files changed

+13
-9
lines changed

editor/editor_node.cpp

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -7436,7 +7436,7 @@ EditorNode::EditorNode() {
74367436
main_menu->set_switch_on_hover(true);
74377437

74387438
file_menu = memnew(PopupMenu);
7439-
file_menu->set_name(TTR("Scene"));
7439+
file_menu->set_name(TTRC("Scene"));
74407440
main_menu->add_child(file_menu);
74417441
main_menu->set_menu_tooltip(0, TTR("Operations with scene files."));
74427442

@@ -7562,7 +7562,7 @@ EditorNode::EditorNode() {
75627562
#endif
75637563

75647564
project_menu = memnew(PopupMenu);
7565-
project_menu->set_name(TTR("Project"));
7565+
project_menu->set_name(TTRC("Project"));
75667566
main_menu->add_child(project_menu);
75677567

75687568
project_menu->add_shortcut(ED_SHORTCUT_AND_COMMAND("editor/project_settings", TTRC("Project Settings..."), Key::NONE, TTRC("Project Settings")), PROJECT_OPEN_SETTINGS);
@@ -7619,11 +7619,11 @@ EditorNode::EditorNode() {
76197619

76207620
// Options are added and handled by DebuggerEditorPlugin.
76217621
debug_menu = memnew(PopupMenu);
7622-
debug_menu->set_name(TTR("Debug"));
7622+
debug_menu->set_name(TTRC("Debug"));
76237623
main_menu->add_child(debug_menu);
76247624

76257625
settings_menu = memnew(PopupMenu);
7626-
settings_menu->set_name(TTR("Editor"));
7626+
settings_menu->set_name(TTRC("Editor"));
76277627
main_menu->add_child(settings_menu);
76287628

76297629
#ifdef MACOS_ENABLED
@@ -7673,7 +7673,7 @@ EditorNode::EditorNode() {
76737673
#endif
76747674

76757675
help_menu = memnew(PopupMenu);
7676-
help_menu->set_name(TTR("Help"));
7676+
help_menu->set_name(TTRC("Help"));
76777677
if (global_menu && NativeMenu::get_singleton()->has_system_menu(NativeMenu::HELP_MENU_ID)) {
76787678
help_menu->set_system_menu(NativeMenu::HELP_MENU_ID);
76797679
}

editor/editor_settings.cpp

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -77,6 +77,10 @@ bool EditorSettings::_set(const StringName &p_name, const Variant &p_value) {
7777
}
7878
}
7979
emit_signal(SNAME("settings_changed"));
80+
81+
if (p_name == SNAME("interface/editor/editor_language")) {
82+
setup_language();
83+
}
8084
}
8185
return true;
8286
}
@@ -1323,9 +1327,9 @@ void EditorSettings::create() {
13231327

13241328
void EditorSettings::setup_language() {
13251329
String lang = get("interface/editor/editor_language");
1326-
TranslationServer::get_singleton()->set_locale(lang);
13271330

13281331
if (lang == "en") {
1332+
TranslationServer::get_singleton()->set_locale(lang);
13291333
return; // Default, nothing to do.
13301334
}
13311335
// Load editor translation for configured/detected locale.
@@ -1337,6 +1341,8 @@ void EditorSettings::setup_language() {
13371341

13381342
// Load extractable translation for projects.
13391343
load_extractable_translations(lang);
1344+
1345+
TranslationServer::get_singleton()->set_locale(lang);
13401346
}
13411347

13421348
void EditorSettings::setup_network() {

scene/main/scene_tree.cpp

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -769,9 +769,7 @@ void SceneTree::_main_window_focus_in() {
769769
void SceneTree::_notification(int p_notification) {
770770
switch (p_notification) {
771771
case NOTIFICATION_TRANSLATION_CHANGED: {
772-
if (!Engine::get_singleton()->is_editor_hint()) {
773-
get_root()->propagate_notification(p_notification);
774-
}
772+
get_root()->propagate_notification(p_notification);
775773
} break;
776774

777775
case NOTIFICATION_OS_MEMORY_WARNING:

0 commit comments

Comments
 (0)