summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--doc/base/classes.xml33
-rw-r--r--scene/gui/text_edit.cpp1
-rw-r--r--tools/editor/code_editor.cpp200
-rw-r--r--tools/editor/code_editor.h17
-rw-r--r--tools/editor/editor_node.cpp2
-rw-r--r--tools/editor/io_plugins/editor_scene_import_plugin.cpp4
-rw-r--r--tools/editor/plugins/spatial_editor_plugin.cpp14
-rw-r--r--tools/editor/project_export.cpp2
-rw-r--r--tools/editor/project_settings.cpp8
-rw-r--r--tools/editor/script_editor_debugger.cpp10
-rw-r--r--tools/translations/fr.po90
-rw-r--r--tools/translations/it.po90
-rw-r--r--tools/translations/ru.po179
-rw-r--r--tools/translations/tools.pot75
-rw-r--r--tools/translations/zh_CN.po90
-rw-r--r--tools/translations/zh_HK.po76
16 files changed, 715 insertions, 176 deletions
diff --git a/doc/base/classes.xml b/doc/base/classes.xml
index 4893f0c483..074c14443c 100644
--- a/doc/base/classes.xml
+++ b/doc/base/classes.xml
@@ -42293,8 +42293,10 @@ This method controls whether the position between two cached points is interpola
</class>
<class name="VisibilityEnabler" inherits="VisibilityNotifier" category="Core">
<brief_description>
+ Enable certain nodes only when visible.
</brief_description>
<description>
+ The VisibilityEnabler will disable [RigidBody] and [AnimationPlayer] nodes when they are not visible. It will only affect other nodes within the same scene as the VisibilityEnabler itself.
</description>
<methods>
<method name="set_enabler">
@@ -42303,6 +42305,7 @@ This method controls whether the position between two cached points is interpola
<argument index="1" name="enabled" type="bool">
</argument>
<description>
+ Set an enabler to true for all nodes of its type to be disabled when the VisibilityEnabler is not in view. See the constants for enablers and what they affect.
</description>
</method>
<method name="is_enabler_enabled" qualifiers="const">
@@ -42311,13 +42314,16 @@ This method controls whether the position between two cached points is interpola
<argument index="0" name="enabler" type="int">
</argument>
<description>
+ Returns whether the specified enabler was set to true or not.
</description>
</method>
</methods>
<constants>
<constant name="ENABLER_FREEZE_BODIES" value="1">
+ This enabler will freeze [RigidBody] nodes.
</constant>
<constant name="ENABLER_PAUSE_ANIMATIONS" value="0">
+ This enabler will pause [AnimationPlayer] nodes.
</constant>
<constant name="ENABLER_MAX" value="2">
</constant>
@@ -42325,8 +42331,10 @@ This method controls whether the position between two cached points is interpola
</class>
<class name="VisibilityEnabler2D" inherits="VisibilityNotifier2D" category="Core">
<brief_description>
+ Enable certain nodes only when visible.
</brief_description>
<description>
+ The VisibilityEnabler2D will disable [RigidBody2D], [AnimationPlayer], and other nodes when they are not visible. It will only affect other nodes within the same scene as the VisibilityEnabler2D itself.
</description>
<methods>
<method name="set_enabler">
@@ -42335,6 +42343,7 @@ This method controls whether the position between two cached points is interpola
<argument index="1" name="enabled" type="bool">
</argument>
<description>
+ Set an enabler to true for all nodes of its type to be disabled when the VisibilityEnabler2D is not in view. See the constants for enablers and what they affect.
</description>
</method>
<method name="is_enabler_enabled" qualifiers="const">
@@ -42343,19 +42352,25 @@ This method controls whether the position between two cached points is interpola
<argument index="0" name="enabler" type="int">
</argument>
<description>
+ Returns whether the specified enabler was set to true or not.
</description>
</method>
</methods>
<constants>
<constant name="ENABLER_FREEZE_BODIES" value="1">
+ This enabler will freeze [RigidBody2D] nodes.
</constant>
<constant name="ENABLER_PAUSE_ANIMATIONS" value="0">
+ This enabler will pause [AnimationPlayer] nodes.
</constant>
<constant name="ENABLER_PAUSE_PARTICLES" value="2">
+ This enabler will stop [Particles2D] nodes.
</constant>
<constant name="ENABLER_PARENT_PROCESS" value="3">
+ This enabler will stop the parent's _process function.
</constant>
<constant name="ENABLER_PARENT_FIXED_PROCESS" value="4">
+ This enabler will stop the parent's _fixed_process function.
</constant>
<constant name="ENABLER_MAX" value="5">
</constant>
@@ -42363,48 +42378,57 @@ This method controls whether the position between two cached points is interpola
</class>
<class name="VisibilityNotifier" inherits="Spatial" category="Core">
<brief_description>
+ Detect when the node is visible on screen.
</brief_description>
<description>
+ The VisibilityNotifier is used to notify when its bounding box enters the screen, is visible on the screen, or when it exits the screen.
</description>
<methods>
<method name="set_aabb">
<argument index="0" name="rect" type="AABB">
</argument>
<description>
+ Set the visibility bounding box of the VisibilityNotifier.
</description>
</method>
<method name="get_aabb" qualifiers="const">
<return type="AABB">
</return>
<description>
+ Return the visibility bounding box of the VisibilityNotifier.
</description>
</method>
<method name="is_on_screen" qualifiers="const">
<return type="bool">
</return>
<description>
+ Return true if any part of the bounding box is on the screen.
</description>
</method>
</methods>
<signals>
<signal name="enter_screen">
<description>
+ Emitted when the VisibilityNotifier enters the screen.
</description>
</signal>
<signal name="enter_camera">
<argument index="0" name="camera" type="Object">
</argument>
<description>
+ Emitted when the VisibilityNotifier enters a [Camera]'s view.
</description>
</signal>
<signal name="exit_screen">
<description>
+ Emitted when the VisibilityNotifier exits the screen.
</description>
</signal>
<signal name="exit_camera">
<argument index="0" name="camera" type="Object">
</argument>
<description>
+ Emitted when the VisibilityNotifier exits a [Camera]'s view.
</description>
</signal>
</signals>
@@ -42413,48 +42437,57 @@ This method controls whether the position between two cached points is interpola
</class>
<class name="VisibilityNotifier2D" inherits="Node2D" category="Core">
<brief_description>
+ Detect when the node is visible on screen.
</brief_description>
<description>
+ The VisibilityNotifier2D is used to notify when its bounding rectangle enters the screen, is visible on the screen, or when it exits the screen.
</description>
<methods>
<method name="set_rect">
<argument index="0" name="rect" type="Rect2">
</argument>
<description>
+ Set the visibility bounding rectangle of the VisibilityNotifier2D.
</description>
</method>
<method name="get_rect" qualifiers="const">
<return type="Rect2">
</return>
<description>
+ Return the visibility bounding rectangle of the VisibilityNotifier2D.
</description>
</method>
<method name="is_on_screen" qualifiers="const">
<return type="bool">
</return>
<description>
+ Return true if any part of the bounding rectangle is on the screen.
</description>
</method>
</methods>
<signals>
<signal name="enter_screen">
<description>
+ Emitted when the VisibilityNotifier2D enters the screen.
</description>
</signal>
<signal name="enter_viewport">
<argument index="0" name="viewport" type="Object">
</argument>
<description>
+ Emitted when the VisibilityNotifier2D enters a [Viewport].
</description>
</signal>
<signal name="exit_screen">
<description>
+ Emitted when the VisibilityNotifier2D exits the screen.
</description>
</signal>
<signal name="exit_viewport">
<argument index="0" name="viewport" type="Object">
</argument>
<description>
+ Emitted when the VisibilityNotifier2D exits a [Viewport].
</description>
</signal>
</signals>
diff --git a/scene/gui/text_edit.cpp b/scene/gui/text_edit.cpp
index ceb40925ec..fd6e97d33f 100644
--- a/scene/gui/text_edit.cpp
+++ b/scene/gui/text_edit.cpp
@@ -3554,6 +3554,7 @@ void TextEdit::set_search_flags(uint32_t p_flags) {
void TextEdit::set_current_search_result(int line, int col) {
search_result_line = line;
search_result_col = col;
+ update();
}
void TextEdit::set_highlight_all_occurrences(const bool p_enabled) {
diff --git a/tools/editor/code_editor.cpp b/tools/editor/code_editor.cpp
index a9e31a6561..f62209fafa 100644
--- a/tools/editor/code_editor.cpp
+++ b/tools/editor/code_editor.cpp
@@ -122,82 +122,30 @@ void FindReplaceBar::_unhandled_input(const InputEvent &p_event) {
}
}
-bool FindReplaceBar::_search(bool p_include_current, bool p_backwards) {
+bool FindReplaceBar::_search(uint32_t p_flags, int p_from_line, int p_from_col) {
+ int line, col;
String text=get_search_text();
- uint32_t flags=0;
-
- if (is_whole_words())
- flags|=TextEdit::SEARCH_WHOLE_WORDS;
- if (is_case_sensitive())
- flags|=TextEdit::SEARCH_MATCH_CASE;
- if (p_backwards)
- flags|=TextEdit::SEARCH_BACKWARDS;
-
- int line=text_edit->cursor_get_line();
- int col=text_edit->cursor_get_column();
-
- if (text_edit->is_selection_active() && !replace_all_mode) {
- line = text_edit->get_selection_from_line();
- col = text_edit->get_selection_from_column();
- }
-
- bool cursor_at_result=false;
-
- if (line==current_result_line && col>=current_result_col && col<=current_result_col+text.length()) {
- col=current_result_col;
- cursor_at_result=true;
- }
-
- if (!p_include_current) {
- if (p_backwards) {
- col-=text.length();
- if (col<0) {
- line-=1;
- if (line<0)
- line=text_edit->get_line_count()-1;
- col=text_edit->get_line(line).length();
- }
- } else if (cursor_at_result) {
- col+=text.length();
- if (col>text_edit->get_line(line).length()) {
- line+=1;
- if (line>=text_edit->get_line_count())
- line=0;
- col=0;
- }
- }
- }
- bool found = text_edit->search(text,flags,line,col,line,col);
+ bool found=text_edit->search(text,p_flags,p_from_line,p_from_col,line,col);
- if (!found) {
- if (p_backwards) {
- line = text_edit->get_line_count()-1;
- col = text_edit->get_line(line).length()-1;
- } else {
- line = 0;
- col = 0;
+ if (found) {
+ if (!preserve_cursor) {
+ text_edit->cursor_set_line(line);
+ text_edit->cursor_set_column(col+text.length());
}
- found = text_edit->search(text,flags,line,col,line,col);
- }
-
- if (found) {
- text_edit->cursor_set_line(line);
- text_edit->cursor_set_column(p_backwards?col:col+text.length());
- text_edit->select(line,col,line,col+text.length());
text_edit->set_search_text(text);
- text_edit->set_search_flags(flags);
+ text_edit->set_search_flags(p_flags);
text_edit->set_current_search_result(line,col);
- current_result_line = line;
- current_result_col = col;
+ result_line=line;
+ result_col=col;
set_error("");
} else {
- current_result_line = -1;
- current_result_col = -1;
+ result_line=-1;
+ result_col=-1;
text_edit->set_search_text("");
set_error(text.empty()?"":TTR("No Matches"));
}
@@ -207,8 +155,13 @@ bool FindReplaceBar::_search(bool p_include_current, bool p_backwards) {
void FindReplaceBar::_replace() {
- if (text_edit->get_selection_text()==get_search_text()) {
+ if (result_line!=-1 && result_col!=-1) {
+ text_edit->begin_complex_operation();
+
+ text_edit->select(result_line,result_col,result_line,result_col+get_search_text().length());
text_edit->insert_text_at_cursor(get_replace_text());
+
+ text_edit->end_complex_operation();
}
search_current();
@@ -232,28 +185,26 @@ void FindReplaceBar::_replace_all() {
text_edit->cursor_set_line(0);
text_edit->cursor_set_column(0);
+ int search_text_len=get_search_text().length();
int rc=0;
replace_all_mode = true;
text_edit->begin_complex_operation();
- while(_search(false)) {
-
- if (!text_edit->is_selection_active()) {
- // search selects
- break;
- }
+ while (search_next()) {
// replace area
- Point2i match_from(text_edit->get_selection_from_line(),text_edit->get_selection_from_column());
- Point2i match_to(text_edit->get_selection_to_line(),text_edit->get_selection_to_column());
+ Point2i match_from(result_line,result_col);
+ Point2i match_to(result_line,result_col+search_text_len);
if (match_from < prev_match)
break; // done
prev_match=match_to;
+ text_edit->select(result_line,result_col,result_line,match_to.y);
+
if (selection_enabled && is_selection_only()) {
if (match_from<selection_begin || match_to>selection_end)
@@ -264,7 +215,7 @@ void FindReplaceBar::_replace_all() {
if (match_to.x==selection_end.x)
selection_end.y+=get_replace_text().length() - get_search_text().length();
} else {
- //just replace
+ // just replace
text_edit->insert_text_at_cursor(get_replace_text());
}
@@ -290,26 +241,96 @@ void FindReplaceBar::_replace_all() {
set_error(vformat(TTR("Replaced %d Ocurrence(s)."), rc));
}
-void FindReplaceBar::search_current() {
+void FindReplaceBar::_get_search_from(int& r_line, int& r_col) {
+
+ r_line=text_edit->cursor_get_line();
+ r_col=text_edit->cursor_get_column();
+
+ if (text_edit->is_selection_active() && !replace_all_mode) {
+ r_line=text_edit->get_selection_from_line();
+ r_col=text_edit->get_selection_to_column();
+ }
- _search(true);
+ if (r_line==result_line && r_col>=result_col && r_col<=result_col+get_search_text().length()) {
+ r_col=result_col;
+ }
}
-void FindReplaceBar::search_prev() {
+bool FindReplaceBar::search_current() {
+
+ uint32_t flags=0;
- _search(false, true);
+ if (is_whole_words())
+ flags|=TextEdit::SEARCH_WHOLE_WORDS;
+ if (is_case_sensitive())
+ flags|=TextEdit::SEARCH_MATCH_CASE;
+
+ int line, col;
+ _get_search_from(line, col);
+
+ return _search(flags,line,col);
}
-void FindReplaceBar::search_next() {
+bool FindReplaceBar::search_prev() {
- _search();
+ uint32_t flags=0;
+ String text = get_search_text();
+
+ if (is_whole_words())
+ flags|=TextEdit::SEARCH_WHOLE_WORDS;
+ if (is_case_sensitive())
+ flags|=TextEdit::SEARCH_MATCH_CASE;
+
+ flags|=TextEdit::SEARCH_BACKWARDS;
+
+ int line, col;
+ _get_search_from(line, col);
+
+ col-=text.length();
+ if (col<0) {
+ line-=1;
+ if (line<0)
+ line=text_edit->get_line_count()-1;
+ col=text_edit->get_line(line).length();
+ }
+
+ return _search(flags,line,col);
+}
+
+bool FindReplaceBar::search_next() {
+
+ uint32_t flags=0;
+ String text = get_search_text();
+
+ if (is_whole_words())
+ flags|=TextEdit::SEARCH_WHOLE_WORDS;
+ if (is_case_sensitive())
+ flags|=TextEdit::SEARCH_MATCH_CASE;
+
+ int line, col;
+ _get_search_from(line, col);
+
+ if (line==result_line && col==result_col) {
+ col+=text.length();
+ if (col>text_edit->get_line(line).length()) {
+ line+=1;
+ if (line>=text_edit->get_line_count())
+ line=0;
+ col=0;
+ }
+ }
+
+ return _search(flags,line,col);
}
void FindReplaceBar::_hide_bar() {
+ if (replace_text->has_focus() || search_text->has_focus())
+ text_edit->grab_focus();
+
text_edit->set_search_text("");
- current_result_line = -1;
- current_result_col = -1;
+ result_line = -1;
+ result_col = -1;
replace_hbc->hide();
replace_options_hbc->hide();
hide();
@@ -354,6 +375,15 @@ void FindReplaceBar::_search_options_changed(bool p_pressed) {
search_current();
}
+void FindReplaceBar::_editor_text_changed() {
+
+ if (is_visible()) {
+ preserve_cursor=true;
+ search_current();
+ preserve_cursor=false;
+ }
+}
+
void FindReplaceBar::_search_text_changed(const String& p_text) {
search_current();
@@ -397,13 +427,14 @@ void FindReplaceBar::set_error(const String &p_label) {
void FindReplaceBar::set_text_edit(TextEdit *p_text_edit) {
text_edit = p_text_edit;
- text_edit->connect("_text_changed",this,"_search_text_changed",varray(String()));
+ text_edit->connect("text_changed",this,"_editor_text_changed");
}
void FindReplaceBar::_bind_methods() {
ObjectTypeDB::bind_method("_unhandled_input",&FindReplaceBar::_unhandled_input);
+ ObjectTypeDB::bind_method("_editor_text_changed",&FindReplaceBar::_editor_text_changed);
ObjectTypeDB::bind_method("_search_text_changed",&FindReplaceBar::_search_text_changed);
ObjectTypeDB::bind_method("_search_text_entered",&FindReplaceBar::_search_text_entered);
ObjectTypeDB::bind_method("_search_current",&FindReplaceBar::search_current);
@@ -419,6 +450,9 @@ void FindReplaceBar::_bind_methods() {
FindReplaceBar::FindReplaceBar() {
+ replace_all_mode=false;
+ preserve_cursor=false;
+
text_vbc = memnew(VBoxContainer);
add_child(text_vbc);
diff --git a/tools/editor/code_editor.h b/tools/editor/code_editor.h
index 52a36c979d..2e1bf46c02 100644
--- a/tools/editor/code_editor.h
+++ b/tools/editor/code_editor.h
@@ -83,13 +83,18 @@ class FindReplaceBar : public HBoxContainer {
TextEdit *text_edit;
- int current_result_line;
- int current_result_col;
+ int result_line;
+ int result_col;
bool replace_all_mode;
+ bool preserve_cursor;
+
+ void _get_search_from(int& r_line, int& r_col);
void _show_search();
void _hide_bar();
+
+ void _editor_text_changed();
void _search_options_changed(bool p_pressed);
void _search_text_changed(const String& p_text);
void _search_text_entered(const String& p_text);
@@ -98,7 +103,7 @@ protected:
void _notification(int p_what);
void _unhandled_input(const InputEvent &p_event);
- bool _search(bool p_include_current=false, bool p_backwards=false);
+ bool _search(uint32_t p_flags, int p_from_line, int p_from_col);
void _replace();
void _replace_all();
@@ -119,9 +124,9 @@ public:
void popup_search();
void popup_replace();
- void search_current();
- void search_prev();
- void search_next();
+ bool search_current();
+ bool search_prev();
+ bool search_next();
FindReplaceBar();
};
diff --git a/tools/editor/editor_node.cpp b/tools/editor/editor_node.cpp
index 1a050e5981..40dce6cbaa 100644
--- a/tools/editor/editor_node.cpp
+++ b/tools/editor/editor_node.cpp
@@ -2723,7 +2723,7 @@ void EditorNode::_menu_option_confirm(int p_option,bool p_confirmed) {
if (!p_confirmed) {
confirmation->get_ok()->set_text(TTR("Yes"));
- confirmation->set_text("Open Project Manager? \n(Unsaved changes will be lost)");
+ confirmation->set_text(TTR("Open Project Manager? \n(Unsaved changes will be lost)"));
confirmation->popup_centered_minsize();
break;
}
diff --git a/tools/editor/io_plugins/editor_scene_import_plugin.cpp b/tools/editor/io_plugins/editor_scene_import_plugin.cpp
index a461633dcc..594d3f5bcd 100644
--- a/tools/editor/io_plugins/editor_scene_import_plugin.cpp
+++ b/tools/editor/io_plugins/editor_scene_import_plugin.cpp
@@ -1227,7 +1227,7 @@ EditorSceneImportDialog::EditorSceneImportDialog(EditorNode *p_editor, EditorSce
custom_root_hb->add_child(root_type);
root_default = memnew(CheckBox);
- root_default->set_text("Auto");
+ root_default->set_text(TTR("Auto"));
root_default->set_pressed(true);
root_default->connect("pressed",this,"_root_default_pressed");
custom_root_hb->add_child(root_default);
@@ -1324,7 +1324,7 @@ String EditorSceneImportPlugin::get_name() const {
String EditorSceneImportPlugin::get_visible_name() const{
- return "Scene";
+ return TTR("Scene");
}
void EditorSceneImportPlugin::import_dialog(const String& p_from){
diff --git a/tools/editor/plugins/spatial_editor_plugin.cpp b/tools/editor/plugins/spatial_editor_plugin.cpp
index 55485d8c92..f32d0448a2 100644
--- a/tools/editor/plugins/spatial_editor_plugin.cpp
+++ b/tools/editor/plugins/spatial_editor_plugin.cpp
@@ -3954,7 +3954,7 @@ SpatialEditor::SpatialEditor(EditorNode *p_editor) {
PopupMenu *p;
transform_menu = memnew( MenuButton );
- transform_menu->set_text("Transform");
+ transform_menu->set_text(TTR("Transform"));
hbc_menu->add_child( transform_menu );
p = transform_menu->get_popup();
@@ -3979,12 +3979,12 @@ SpatialEditor::SpatialEditor(EditorNode *p_editor) {
p->add_check_item(TTR("Use Default sRGB"),MENU_VIEW_USE_DEFAULT_SRGB);
p->add_separator();
- p->add_check_item("1 Viewport",MENU_VIEW_USE_1_VIEWPORT,KEY_MASK_CMD+KEY_1);
- p->add_check_item("2 Viewports",MENU_VIEW_USE_2_VIEWPORTS,KEY_MASK_CMD+KEY_2);
- p->add_check_item("2 Viewports (Alt)",MENU_VIEW_USE_2_VIEWPORTS_ALT,KEY_MASK_SHIFT+KEY_MASK_CMD+KEY_2);
- p->add_check_item("3 Viewports",MENU_VIEW_USE_3_VIEWPORTS,KEY_MASK_CMD+KEY_3);
- p->add_check_item("3 Viewports (Alt)",MENU_VIEW_USE_3_VIEWPORTS_ALT,KEY_MASK_SHIFT+KEY_MASK_CMD+KEY_3);
- p->add_check_item("4 Viewports",MENU_VIEW_USE_4_VIEWPORTS,KEY_MASK_CMD+KEY_4);
+ p->add_check_item(TTR("1 Viewport"),MENU_VIEW_USE_1_VIEWPORT,KEY_MASK_CMD+KEY_1);
+ p->add_check_item(TTR("2 Viewports"),MENU_VIEW_USE_2_VIEWPORTS,KEY_MASK_CMD+KEY_2);
+ p->add_check_item(TTR("2 Viewports (Alt)"),MENU_VIEW_USE_2_VIEWPORTS_ALT,KEY_MASK_SHIFT+KEY_MASK_CMD+KEY_2);
+ p->add_check_item(TTR("3 Viewports"),MENU_VIEW_USE_3_VIEWPORTS,KEY_MASK_CMD+KEY_3);
+ p->add_check_item(TTR("3 Viewports (Alt)"),MENU_VIEW_USE_3_VIEWPORTS_ALT,KEY_MASK_SHIFT+KEY_MASK_CMD+KEY_3);
+ p->add_check_item(TTR("4 Viewports"),MENU_VIEW_USE_4_VIEWPORTS,KEY_MASK_CMD+KEY_4);
p->add_separator();
p->add_check_item(TTR("Display Normal"),MENU_VIEW_DISPLAY_NORMAL);
diff --git a/tools/editor/project_export.cpp b/tools/editor/project_export.cpp
index 2045f2c030..7f016ead2d 100644
--- a/tools/editor/project_export.cpp
+++ b/tools/editor/project_export.cpp
@@ -1384,7 +1384,7 @@ ProjectExportDialog::ProjectExportDialog(EditorNode *p_editor) {
group_images->set_column_expand(1,false);
group_images->set_column_min_width(1,100);
group_images->set_column_titles_visible(true);
- group_images->set_column_title(0,"Image");
+ group_images->set_column_title(0,TTR("Images"));
group_images->set_column_title(1,TTR("Group"));
group_images->connect("item_edited",this,"_group_item_edited",varray(),CONNECT_DEFERRED);
diff --git a/tools/editor/project_settings.cpp b/tools/editor/project_settings.cpp
index ed26af29f7..1f49f2a9fc 100644
--- a/tools/editor/project_settings.cpp
+++ b/tools/editor/project_settings.cpp
@@ -81,10 +81,10 @@ void ProjectSettings::_notification(int p_what) {
translation_list->connect("button_pressed",this,"_translation_delete");
_update_actions();
- popup_add->add_icon_item(get_icon("Keyboard","EditorIcons"),"Key",InputEvent::KEY);
- popup_add->add_icon_item(get_icon("JoyButton","EditorIcons"),"Joy Button",InputEvent::JOYSTICK_BUTTON);
- popup_add->add_icon_item(get_icon("JoyAxis","EditorIcons"),"Joy Axis",InputEvent::JOYSTICK_MOTION);
- popup_add->add_icon_item(get_icon("Mouse","EditorIcons"),"Mouse Button",InputEvent::MOUSE_BUTTON);
+ popup_add->add_icon_item(get_icon("Keyboard","EditorIcons"),TTR("Key "),InputEvent::KEY);//"Key " - because the word 'key' has already been used as a key animation
+ popup_add->add_icon_item(get_icon("JoyButton","EditorIcons"),TTR("Joy Button"),InputEvent::JOYSTICK_BUTTON);
+ popup_add->add_icon_item(get_icon("JoyAxis","EditorIcons"),TTR("Joy Axis"),InputEvent::JOYSTICK_MOTION);
+ popup_add->add_icon_item(get_icon("Mouse","EditorIcons"),TTR("Mouse Button"),InputEvent::MOUSE_BUTTON);
List<String> tfn;
ResourceLoader::get_recognized_extensions_for_type("Translation",&tfn);
diff --git a/tools/editor/script_editor_debugger.cpp b/tools/editor/script_editor_debugger.cpp
index cbc5b44542..2f4846d63a 100644
--- a/tools/editor/script_editor_debugger.cpp
+++ b/tools/editor/script_editor_debugger.cpp
@@ -1802,7 +1802,7 @@ ScriptEditorDebugger::ScriptEditorDebugger(EditorNode *p_editor){
inspect_info->add_child(info_left);
inspect_scene_tree = memnew( Tree );
- info_left->add_margin_child("Live Scene Tree:",inspect_scene_tree,true);
+ info_left->add_margin_child(TTR("Live Scene Tree:"),inspect_scene_tree,true);
inspect_scene_tree->connect("cell_selected",this,"_scene_tree_selected");
inspect_scene_tree->connect("item_collapsed",this,"_scene_tree_folded");
@@ -1817,7 +1817,7 @@ ScriptEditorDebugger::ScriptEditorDebugger(EditorNode *p_editor){
inspect_properties->set_show_categories(true);
inspect_properties->connect("object_id_selected",this,"_scene_tree_property_select_object");
- info_right->add_margin_child("Remote Object Properties: ",inspect_properties,true);
+ info_right->add_margin_child(TTR("Remote Object Properties: "),inspect_properties,true);
inspect_scene_tree_timeout=EDITOR_DEF("debugger/scene_tree_refresh_interval",1.0);
inspect_edited_object_timeout=EDITOR_DEF("debugger/remote_inspect_refresh_interval",0.2);
@@ -1830,7 +1830,7 @@ ScriptEditorDebugger::ScriptEditorDebugger(EditorNode *p_editor){
{ //profiler
profiler = memnew( EditorProfiler );
- profiler->set_name("Profiler");
+ profiler->set_name(TTR("Profiler"));
tabs->add_child(profiler);
profiler->connect("enable_profiling",this,"_profiler_activate");
profiler->connect("break_request",this,"_profiler_seeked");
@@ -1852,7 +1852,7 @@ ScriptEditorDebugger::ScriptEditorDebugger(EditorNode *p_editor){
perf_draw = memnew( Control );
perf_draw->connect("draw",this,"_performance_draw");
hsp->add_child(perf_draw);
- hsp->set_name("Monitors");
+ hsp->set_name(TTR("Monitors"));
hsp->set_split_offset(300);
tabs->add_child(hsp);
perf_max.resize(Performance::MONITOR_MAX);
@@ -1929,7 +1929,7 @@ ScriptEditorDebugger::ScriptEditorDebugger(EditorNode *p_editor){
{ // misc
VBoxContainer *info_left = memnew( VBoxContainer );
info_left->set_h_size_flags(SIZE_EXPAND_FILL);
- info_left->set_name("Misc");
+ info_left->set_name(TTR("Misc"));
tabs->add_child(info_left);
clicked_ctrl = memnew( LineEdit );
info_left->add_margin_child(TTR("Clicked Control:"),clicked_ctrl);
diff --git a/tools/translations/fr.po b/tools/translations/fr.po
index 72ec7902f4..7f3b06418b 100644
--- a/tools/translations/fr.po
+++ b/tools/translations/fr.po
@@ -1501,6 +1501,20 @@ msgid "Remote Inspector"
msgstr "Inspecteur"
#: tools/editor/script_editor_debugger.cpp
+#, fuzzy
+msgid "Live Scene Tree:"
+msgstr "Arbre des scènes :"
+
+#: tools/editor/script_editor_debugger.cpp
+#, fuzzy
+msgid "Remote Object Properties: "
+msgstr "Propriétés de l'objet."
+
+#: tools/editor/script_editor_debugger.cpp
+msgid "Profiler"
+msgstr ""
+
+#: tools/editor/script_editor_debugger.cpp
msgid "Monitor"
msgstr "Moniteur"
@@ -1509,6 +1523,11 @@ msgid "Value"
msgstr "Valeur"
#: tools/editor/script_editor_debugger.cpp
+#, fuzzy
+msgid "Monitors"
+msgstr "Moniteur"
+
+#: tools/editor/script_editor_debugger.cpp
msgid "List of Video Memory Usage by Resource:"
msgstr "Liste de l'utilisation de la mémoire vidéo par ressource :"
@@ -1538,6 +1557,10 @@ msgid "Usage"
msgstr "Utilisation"
#: tools/editor/script_editor_debugger.cpp
+msgid "Misc"
+msgstr ""
+
+#: tools/editor/script_editor_debugger.cpp
msgid "Clicked Control:"
msgstr "Control cliqué :"
@@ -1587,6 +1610,25 @@ msgid "Scene Run Settings"
msgstr ""
#: tools/editor/project_settings.cpp
+msgid "Key "
+msgstr ""
+
+#: tools/editor/project_settings.cpp
+#, fuzzy
+msgid "Joy Button"
+msgstr "Bouton"
+
+#: tools/editor/project_settings.cpp
+#, fuzzy
+msgid "Joy Axis"
+msgstr "Axe"
+
+#: tools/editor/project_settings.cpp
+#, fuzzy
+msgid "Mouse Button"
+msgstr "Index du bouton de la souris :"
+
+#: tools/editor/project_settings.cpp
msgid "Invalid action (anything goes but '/' or ':')."
msgstr "Action invalide (tout passe, sauf « / » ou « : »)."
@@ -2616,6 +2658,13 @@ msgstr "Cette action ne peut être annulée. Réinitialiser quand même ?"
msgid "Quick Run Scene.."
msgstr "Lancer une scène rapidement..."
+#: tools/editor/editor_node.cpp
+#, fuzzy
+msgid ""
+"Open Project Manager? \n"
+"(Unsaved changes will be lost)"
+msgstr "Fermer la scène ? (les modifications non sauvegardées seront perdues)"
+
#: tools/editor/editor_node.cpp tools/editor/scene_tree_dock.cpp
msgid "Ugh"
msgstr "Oups"
@@ -2658,6 +2707,7 @@ msgid "%d more file(s) or folder(s)"
msgstr "%s fichier(s) ou dossier(s) supplémentaire(s)"
#: tools/editor/editor_node.cpp
+#: tools/editor/io_plugins/editor_scene_import_plugin.cpp
msgid "Scene"
msgstr "Scène"
@@ -4433,6 +4483,11 @@ msgid "Scale Mode (R)"
msgstr "Mode de mise à l'échelle (R)"
#: tools/editor/plugins/spatial_editor_plugin.cpp
+#, fuzzy
+msgid "Transform"
+msgstr "Type de transformation"
+
+#: tools/editor/plugins/spatial_editor_plugin.cpp
msgid "Local Coords"
msgstr "Coordonnées locales"
@@ -4449,6 +4504,33 @@ msgid "Use Default sRGB"
msgstr "Utiliser sRGB par défaut"
#: tools/editor/plugins/spatial_editor_plugin.cpp
+msgid "1 Viewport"
+msgstr ""
+
+#: tools/editor/plugins/spatial_editor_plugin.cpp
+#, fuzzy
+msgid "2 Viewports"
+msgstr "Paramètres de la vue"
+
+#: tools/editor/plugins/spatial_editor_plugin.cpp
+msgid "2 Viewports (Alt)"
+msgstr ""
+
+#: tools/editor/plugins/spatial_editor_plugin.cpp
+#, fuzzy
+msgid "3 Viewports"
+msgstr "Paramètres de la vue"
+
+#: tools/editor/plugins/spatial_editor_plugin.cpp
+msgid "3 Viewports (Alt)"
+msgstr ""
+
+#: tools/editor/plugins/spatial_editor_plugin.cpp
+#, fuzzy
+msgid "4 Viewports"
+msgstr "Paramètres de la vue"
+
+#: tools/editor/plugins/spatial_editor_plugin.cpp
msgid "Display Normal"
msgstr "Affichage normal"
@@ -5717,6 +5799,11 @@ msgid "Custom Root Node Type:"
msgstr ""
#: tools/editor/io_plugins/editor_scene_import_plugin.cpp
+#, fuzzy
+msgid "Auto"
+msgstr "AutoLoad"
+
+#: tools/editor/io_plugins/editor_scene_import_plugin.cpp
msgid "The Following Files are Missing:"
msgstr "Les fichiers suivants sont manquants :"
@@ -5891,9 +5978,6 @@ msgstr "Surface %d"
#~ msgid "Next Time:"
#~ msgstr "Les prochaines fois :"
-#~ msgid "Scene Tree:"
-#~ msgstr "Arbre des scènes :"
-
#~ msgid "Move Favorite Up"
#~ msgstr "Déplacer le favori vers le haut"
diff --git a/tools/translations/it.po b/tools/translations/it.po
index e4a8940c73..4333962dfa 100644
--- a/tools/translations/it.po
+++ b/tools/translations/it.po
@@ -1520,6 +1520,20 @@ msgid "Remote Inspector"
msgstr "Inspector"
#: tools/editor/script_editor_debugger.cpp
+#, fuzzy
+msgid "Live Scene Tree:"
+msgstr "Scene Tree:"
+
+#: tools/editor/script_editor_debugger.cpp
+#, fuzzy
+msgid "Remote Object Properties: "
+msgstr "Proprietà oggetto."
+
+#: tools/editor/script_editor_debugger.cpp
+msgid "Profiler"
+msgstr ""
+
+#: tools/editor/script_editor_debugger.cpp
msgid "Monitor"
msgstr "Monitor"
@@ -1528,6 +1542,11 @@ msgid "Value"
msgstr "Valore"
#: tools/editor/script_editor_debugger.cpp
+#, fuzzy
+msgid "Monitors"
+msgstr "Monitor"
+
+#: tools/editor/script_editor_debugger.cpp
msgid "List of Video Memory Usage by Resource:"
msgstr "Lista di Utilizzo Memoria Video per Risorsa:"
@@ -1557,6 +1576,10 @@ msgid "Usage"
msgstr "Utilizzo"
#: tools/editor/script_editor_debugger.cpp
+msgid "Misc"
+msgstr ""
+
+#: tools/editor/script_editor_debugger.cpp
msgid "Clicked Control:"
msgstr "Clicked Control:"
@@ -1606,6 +1629,25 @@ msgid "Scene Run Settings"
msgstr "Impostazioni Esecuzione Scena"
#: tools/editor/project_settings.cpp
+msgid "Key "
+msgstr ""
+
+#: tools/editor/project_settings.cpp
+#, fuzzy
+msgid "Joy Button"
+msgstr "Pulsante"
+
+#: tools/editor/project_settings.cpp
+#, fuzzy
+msgid "Joy Axis"
+msgstr "Asse"
+
+#: tools/editor/project_settings.cpp
+#, fuzzy
+msgid "Mouse Button"
+msgstr "Indice Pulsante Mouse:"
+
+#: tools/editor/project_settings.cpp
msgid "Invalid action (anything goes but '/' or ':')."
msgstr "Azione invalida (va bene tutto a parte '/' o ':')."
@@ -2640,6 +2682,13 @@ msgstr "Questa azione non può essere annullata. Ripristinare comunque?"
msgid "Quick Run Scene.."
msgstr "Esegui Scena Rapido.."
+#: tools/editor/editor_node.cpp
+#, fuzzy
+msgid ""
+"Open Project Manager? \n"
+"(Unsaved changes will be lost)"
+msgstr "Chiudi scena? (I cambiamenti non salvati saranno persi)"
+
#: tools/editor/editor_node.cpp tools/editor/scene_tree_dock.cpp
msgid "Ugh"
msgstr "Ugh"
@@ -2682,6 +2731,7 @@ msgid "%d more file(s) or folder(s)"
msgstr "% altri file o cartelle"
#: tools/editor/editor_node.cpp
+#: tools/editor/io_plugins/editor_scene_import_plugin.cpp
msgid "Scene"
msgstr "Scena"
@@ -4466,6 +4516,11 @@ msgid "Scale Mode (R)"
msgstr "Modalità Scala (R)"
#: tools/editor/plugins/spatial_editor_plugin.cpp
+#, fuzzy
+msgid "Transform"
+msgstr "Tipo Transform"
+
+#: tools/editor/plugins/spatial_editor_plugin.cpp
msgid "Local Coords"
msgstr "Coordinate locali"
@@ -4482,6 +4537,33 @@ msgid "Use Default sRGB"
msgstr "Usa sRGB Default"
#: tools/editor/plugins/spatial_editor_plugin.cpp
+msgid "1 Viewport"
+msgstr ""
+
+#: tools/editor/plugins/spatial_editor_plugin.cpp
+#, fuzzy
+msgid "2 Viewports"
+msgstr "Impostazioni Viewport"
+
+#: tools/editor/plugins/spatial_editor_plugin.cpp
+msgid "2 Viewports (Alt)"
+msgstr ""
+
+#: tools/editor/plugins/spatial_editor_plugin.cpp
+#, fuzzy
+msgid "3 Viewports"
+msgstr "Impostazioni Viewport"
+
+#: tools/editor/plugins/spatial_editor_plugin.cpp
+msgid "3 Viewports (Alt)"
+msgstr ""
+
+#: tools/editor/plugins/spatial_editor_plugin.cpp
+#, fuzzy
+msgid "4 Viewports"
+msgstr "Impostazioni Viewport"
+
+#: tools/editor/plugins/spatial_editor_plugin.cpp
msgid "Display Normal"
msgstr "Mostra Normale"
@@ -5749,6 +5831,11 @@ msgid "Custom Root Node Type:"
msgstr ""
#: tools/editor/io_plugins/editor_scene_import_plugin.cpp
+#, fuzzy
+msgid "Auto"
+msgstr "AutoLoad"
+
+#: tools/editor/io_plugins/editor_scene_import_plugin.cpp
msgid "The Following Files are Missing:"
msgstr "I File Seguenti sono Mancanti:"
@@ -5904,9 +5991,6 @@ msgstr ""
msgid "Surface %d"
msgstr "Superficie %d"
-#~ msgid "Scene Tree:"
-#~ msgstr "Scene Tree:"
-
#~ msgid "Move Favorite Up"
#~ msgstr "Sposta Preferito Su"
diff --git a/tools/translations/ru.po b/tools/translations/ru.po
index ea9311cb83..212970a790 100644
--- a/tools/translations/ru.po
+++ b/tools/translations/ru.po
@@ -553,9 +553,8 @@ msgid "Trailing Silence:"
msgstr "Удаление тишины:"
#: tools/editor/project_export.cpp
-#, fuzzy
msgid "Script"
-msgstr "Запустить скрипт"
+msgstr "Скрипт"
#: tools/editor/project_export.cpp
msgid "Script Export Mode:"
@@ -618,28 +617,24 @@ msgid "Line Number:"
msgstr "Номер строки:"
#: tools/editor/code_editor.cpp
-#, fuzzy
msgid "No Matches"
-msgstr "Совпадения:"
+msgstr "Нет совпадений"
#: tools/editor/code_editor.cpp
-#, fuzzy
msgid "Replaced %d Ocurrence(s)."
-msgstr "Заменено %d совпадений."
+msgstr "Заменено совпадений: %d."
#: tools/editor/code_editor.cpp
msgid "Replace"
msgstr "Заменить"
#: tools/editor/code_editor.cpp
-#, fuzzy
msgid "Replace All"
-msgstr "Заменить"
+msgstr "Заменить всё"
#: tools/editor/code_editor.cpp
-#, fuzzy
msgid "Match Case"
-msgstr "Совпадения:"
+msgstr "Учитывать регистр"
#: tools/editor/code_editor.cpp
msgid "Whole Words"
@@ -883,15 +878,13 @@ msgid "Dependencies"
msgstr "Зависимости"
#: tools/editor/dependency_editor.cpp
-#, fuzzy
msgid "Resource"
-msgstr "Ресурсы"
+msgstr "Ресурс"
#: tools/editor/dependency_editor.cpp tools/editor/project_settings.cpp
#: tools/editor/project_manager.cpp
-#, fuzzy
msgid "Path"
-msgstr "Путь:"
+msgstr "Путь"
#: tools/editor/dependency_editor.cpp
msgid "Dependencies:"
@@ -919,6 +912,8 @@ msgid ""
"work.\n"
"Remove them anyway? (no undo)"
msgstr ""
+"Удаляемый файл требуется для правильной работы других ресурсов.\n"
+"Всё равно удалить его? (нельзя отменить)"
#: tools/editor/dependency_editor.cpp
msgid "Remove selected files from the project? (no undo)"
@@ -1513,6 +1508,18 @@ msgid "Remote Inspector"
msgstr "Удалённый отладчик"
#: tools/editor/script_editor_debugger.cpp
+msgid "Live Scene Tree:"
+msgstr "Дерево сцены в реальном времени:"
+
+#: tools/editor/script_editor_debugger.cpp
+msgid "Remote Object Properties: "
+msgstr "Параметры объекта:"
+
+#: tools/editor/script_editor_debugger.cpp
+msgid "Profiler"
+msgstr "Профайлер"
+
+#: tools/editor/script_editor_debugger.cpp
msgid "Monitor"
msgstr "Параметр"
@@ -1521,6 +1528,10 @@ msgid "Value"
msgstr "Значение"
#: tools/editor/script_editor_debugger.cpp
+msgid "Monitors"
+msgstr "Мониторинг"
+
+#: tools/editor/script_editor_debugger.cpp
msgid "List of Video Memory Usage by Resource:"
msgstr "Список использования видеопамяти ресурсами:"
@@ -1550,6 +1561,10 @@ msgid "Usage"
msgstr "Использует"
#: tools/editor/script_editor_debugger.cpp
+msgid "Misc"
+msgstr "Прочее"
+
+#: tools/editor/script_editor_debugger.cpp
msgid "Clicked Control:"
msgstr "Нажатый нод:"
@@ -1599,6 +1614,22 @@ msgid "Scene Run Settings"
msgstr "Параметры запуска сцены"
#: tools/editor/project_settings.cpp
+msgid "Key "
+msgstr "Кнопка"
+
+#: tools/editor/project_settings.cpp
+msgid "Joy Button"
+msgstr "Кнопка геймпада"
+
+#: tools/editor/project_settings.cpp
+msgid "Joy Axis"
+msgstr "Ось геймпада"
+
+#: tools/editor/project_settings.cpp
+msgid "Mouse Button"
+msgstr "Кнопка мыши"
+
+#: tools/editor/project_settings.cpp
msgid "Invalid action (anything goes but '/' or ':')."
msgstr "Недопустимое название действия (подойдёт всё кроме '/' или ':')."
@@ -1680,7 +1711,7 @@ msgstr "Индекс оси джойстика"
#: tools/editor/project_settings.cpp
msgid "Axis"
-msgstr "Оси"
+msgstr "Ось"
#: tools/editor/project_settings.cpp
msgid "Joystick Button Index:"
@@ -1809,7 +1840,7 @@ msgstr "Включить"
#: tools/editor/project_settings.cpp
msgid "Project Settings (engine.cfg)"
-msgstr "Настройки проекта(engine.cfg)"
+msgstr "Настройки проекта (engine.cfg)"
#: tools/editor/project_settings.cpp tools/editor/addon_editor_plugin.cpp
msgid "Category:"
@@ -2118,24 +2149,23 @@ msgstr "Переподчинить"
#: tools/editor/editor_plugin_settings.cpp
msgid "Installed Plugins:"
-msgstr ""
+msgstr "Установленные плагины:"
#: tools/editor/editor_plugin_settings.cpp tools/editor/editor_node.cpp
msgid "Update"
msgstr "Обновление"
#: tools/editor/editor_plugin_settings.cpp
-#, fuzzy
msgid "Version:"
-msgstr "Описание:"
+msgstr "Версия:"
#: tools/editor/editor_plugin_settings.cpp
msgid "Author:"
-msgstr ""
+msgstr "Автор:"
#: tools/editor/editor_plugin_settings.cpp
msgid "Status:"
-msgstr ""
+msgstr "Статус:"
#: tools/editor/scenes_dock.cpp tools/editor/editor_file_dialog.cpp
msgid "Favorites:"
@@ -2623,6 +2653,14 @@ msgstr "Это действие нельзя отменить. Восстано
msgid "Quick Run Scene.."
msgstr "Быстро запустить сцену.."
+#: tools/editor/editor_node.cpp
+msgid ""
+"Open Project Manager? \n"
+"(Unsaved changes will be lost)"
+msgstr ""
+"Открыть менеджер проектов? \n"
+"(Несохранённые изменения будут потеряны)"
+
#: tools/editor/editor_node.cpp tools/editor/scene_tree_dock.cpp
msgid "Ugh"
msgstr "Нууу блин((("
@@ -2665,6 +2703,7 @@ msgid "%d more file(s) or folder(s)"
msgstr "Ещё %d файла(ов) или папка(ок)"
#: tools/editor/editor_node.cpp
+#: tools/editor/io_plugins/editor_scene_import_plugin.cpp
msgid "Scene"
msgstr "Сцена"
@@ -3519,9 +3558,8 @@ msgid "Cross-Animation Blend Times"
msgstr "Межанимационный инструмент смешивания"
#: tools/editor/plugins/animation_player_editor_plugin.cpp
-#, fuzzy
msgid "Animation"
-msgstr "Анимации"
+msgstr "Анимация"
#: tools/editor/plugins/light_occluder_2d_editor_plugin.cpp
#: tools/editor/plugins/collision_polygon_2d_editor_plugin.cpp
@@ -3649,8 +3687,8 @@ msgid ""
"Show a list of all objects at the position clicked\n"
"(same as Alt+RMB in select mode)."
msgstr ""
-"Показывает список всех объектов на жатой позиции,\n"
-"так же как и Alt+ПКМ в режимы выделения"
+"Показывает список всех объектов нажатой позиции,\n"
+"так же как и Alt+ПКМ в режиме выделения"
#: tools/editor/plugins/canvas_item_editor_plugin.cpp
msgid "Click to change object's rotation pivot."
@@ -3706,7 +3744,7 @@ msgstr "Использовать попиксельную привязку"
#: tools/editor/plugins/canvas_item_editor_plugin.cpp
msgid "Expand to Parent"
-msgstr "Растянуть до родителей"
+msgstr "Растянуть до размера родителей"
#: tools/editor/plugins/canvas_item_editor_plugin.cpp
msgid "Skeleton.."
@@ -3868,7 +3906,7 @@ msgstr "Сочетание"
#: tools/editor/plugins/animation_tree_editor_plugin.cpp
msgid "Auto Restart:"
-msgstr "Авто запуск:"
+msgstr "Авто перезапуск:"
#: tools/editor/plugins/animation_tree_editor_plugin.cpp
msgid "Restart (s):"
@@ -4096,7 +4134,7 @@ msgstr "Найти далее"
#: tools/editor/plugins/shader_editor_plugin.cpp
#: tools/editor/plugins/script_editor_plugin.cpp
msgid "Find Previous"
-msgstr ""
+msgstr "Найти предыдущее"
#: tools/editor/plugins/shader_editor_plugin.cpp
#: tools/editor/plugins/script_editor_plugin.cpp
@@ -4449,6 +4487,10 @@ msgid "Scale Mode (R)"
msgstr "Режим масштабирования (R)"
#: tools/editor/plugins/spatial_editor_plugin.cpp
+msgid "Transform"
+msgstr "Преобразование"
+
+#: tools/editor/plugins/spatial_editor_plugin.cpp
msgid "Local Coords"
msgstr "Локальные координаты"
@@ -4465,20 +4507,44 @@ msgid "Use Default sRGB"
msgstr "Использовать sRGB"
#: tools/editor/plugins/spatial_editor_plugin.cpp
+msgid "1 Viewport"
+msgstr "1 Окно"
+
+#: tools/editor/plugins/spatial_editor_plugin.cpp
+msgid "2 Viewports"
+msgstr "2 Окна"
+
+#: tools/editor/plugins/spatial_editor_plugin.cpp
+msgid "2 Viewports (Alt)"
+msgstr "2 Окна (другой)"
+
+#: tools/editor/plugins/spatial_editor_plugin.cpp
+msgid "3 Viewports"
+msgstr "3 Окна"
+
+#: tools/editor/plugins/spatial_editor_plugin.cpp
+msgid "3 Viewports (Alt)"
+msgstr "3 Окна (другой)"
+
+#: tools/editor/plugins/spatial_editor_plugin.cpp
+msgid "4 Viewports"
+msgstr "4 Окна"
+
+#: tools/editor/plugins/spatial_editor_plugin.cpp
msgid "Display Normal"
-msgstr "Отображать нормали"
+msgstr "Режим нормалей"
#: tools/editor/plugins/spatial_editor_plugin.cpp
msgid "Display Wireframe"
-msgstr "Отображать сетку"
+msgstr "Режим сетки"
#: tools/editor/plugins/spatial_editor_plugin.cpp
msgid "Display Overdraw"
-msgstr "Отображать просвечивание"
+msgstr "Режим просвечивания"
#: tools/editor/plugins/spatial_editor_plugin.cpp
msgid "Display Shadeless"
-msgstr "Отображать без теней"
+msgstr "Режим без теней"
#: tools/editor/plugins/spatial_editor_plugin.cpp
msgid "View Origin"
@@ -4645,19 +4711,16 @@ msgid "Toggle Breakpoint"
msgstr "Точка останова"
#: tools/editor/plugins/script_editor_plugin.cpp
-#, fuzzy
msgid "Remove All Breakpoints"
-msgstr "Точка останова"
+msgstr "Удалить все точки останова"
#: tools/editor/plugins/script_editor_plugin.cpp
-#, fuzzy
msgid "Goto Next Breakpoint"
-msgstr "Перейти к следующему шагу"
+msgstr "Перейти к следующей точке останова"
#: tools/editor/plugins/script_editor_plugin.cpp
-#, fuzzy
msgid "Goto Previous Breakpoint"
-msgstr "Точка останова"
+msgstr "Перейти к предыдущей точке останова"
#: tools/editor/plugins/script_editor_plugin.cpp
msgid "Keep Debugger Open"
@@ -5084,7 +5147,7 @@ msgstr "Скорость (FPS):"
#: tools/editor/plugins/sprite_frames_editor_plugin.cpp
#: tools/editor/io_plugins/editor_scene_import_plugin.cpp
msgid "Loop"
-msgstr "Закциклить"
+msgstr "Зациклить"
#: tools/editor/plugins/sprite_frames_editor_plugin.cpp
msgid "Animation Frames"
@@ -5444,7 +5507,7 @@ msgstr "Базовая текстура атласа"
#: tools/editor/io_plugins/editor_texture_import_plugin.cpp
msgid "Source Texture(s)"
-msgstr "Исходные текстура(ы)"
+msgstr "Исходная текстура(ы)"
#: tools/editor/io_plugins/editor_texture_import_plugin.cpp
msgid "Import Textures for 2D"
@@ -5503,9 +5566,8 @@ msgid "Accept"
msgstr "Принять"
#: tools/editor/io_plugins/editor_texture_import_plugin.cpp
-#, fuzzy
msgid "Texture"
-msgstr "2D текстура"
+msgstr "Текстура"
#: tools/editor/io_plugins/editor_texture_import_plugin.cpp
msgid "Import Large Texture"
@@ -5593,7 +5655,7 @@ msgstr "Не удалось импортировать!"
#: tools/editor/io_plugins/editor_translation_import_plugin.cpp
msgid "Import Translation"
-msgstr "Импорт перевода"
+msgstr "Импортирование перевода"
#: tools/editor/io_plugins/editor_translation_import_plugin.cpp
msgid "Source CSV:"
@@ -5616,9 +5678,8 @@ msgid "Import Languages:"
msgstr "Импортировать языки:"
#: tools/editor/io_plugins/editor_translation_import_plugin.cpp
-#, fuzzy
msgid "Translation"
-msgstr "Переводы"
+msgstr "Перевод"
#: tools/editor/io_plugins/editor_scene_import_plugin.cpp
msgid "New Clip"
@@ -5634,7 +5695,7 @@ msgstr "Флаги"
#: tools/editor/io_plugins/editor_scene_import_plugin.cpp
msgid "Bake FPS:"
-msgstr "Запечь FPS:"
+msgstr "FPS:"
#: tools/editor/io_plugins/editor_scene_import_plugin.cpp
msgid "Optimizer"
@@ -5642,15 +5703,15 @@ msgstr "Оптимизатор"
#: tools/editor/io_plugins/editor_scene_import_plugin.cpp
msgid "Max Linear Error"
-msgstr "Максимальная линейная погрешность"
+msgstr "Макс. линейная погрешность"
#: tools/editor/io_plugins/editor_scene_import_plugin.cpp
msgid "Max Angular Error"
-msgstr "Максимальная угловая погрешность"
+msgstr "Макс. угловая погрешность"
#: tools/editor/io_plugins/editor_scene_import_plugin.cpp
msgid "Max Angle"
-msgstr "Максимальный угол"
+msgstr "Макс. угол"
#: tools/editor/io_plugins/editor_scene_import_plugin.cpp
msgid "Clips"
@@ -5658,11 +5719,11 @@ msgstr "Клипы"
#: tools/editor/io_plugins/editor_scene_import_plugin.cpp
msgid "Start(s)"
-msgstr "Начало (сек)"
+msgstr "Нач(с.)"
#: tools/editor/io_plugins/editor_scene_import_plugin.cpp
msgid "End(s)"
-msgstr "Конец (сек)"
+msgstr "Кон(с.)"
#: tools/editor/io_plugins/editor_scene_import_plugin.cpp
msgid "Filters"
@@ -5694,11 +5755,11 @@ msgstr "Исходная сцена:"
#: tools/editor/io_plugins/editor_scene_import_plugin.cpp
msgid "Same as Target Scene"
-msgstr "То же, что и целевая сцена"
+msgstr "Та же, что и у сцены"
#: tools/editor/io_plugins/editor_scene_import_plugin.cpp
msgid "Shared"
-msgstr "Общий"
+msgstr "Раздельно"
#: tools/editor/io_plugins/editor_scene_import_plugin.cpp
msgid "Target Texture Folder:"
@@ -5720,6 +5781,10 @@ msgid "Custom Root Node Type:"
msgstr "Настраиваемый тип корневого нода:"
#: tools/editor/io_plugins/editor_scene_import_plugin.cpp
+msgid "Auto"
+msgstr "Авто"
+
+#: tools/editor/io_plugins/editor_scene_import_plugin.cpp
msgid "The Following Files are Missing:"
msgstr "Отсутствуют следующие файлы:"
@@ -5774,9 +5839,8 @@ msgid "Saving.."
msgstr "Сохранение.."
#: tools/editor/io_plugins/editor_scene_import_plugin.cpp
-#, fuzzy
msgid "3D Scene Animation"
-msgstr "Переименовать анимацию"
+msgstr "Анимация 3D сцены"
#: tools/editor/io_plugins/editor_font_import_plugin.cpp
msgid "No source font file!"
@@ -5854,9 +5918,8 @@ msgid "Source Sample(s):"
msgstr "Исходный сэмпл (ы)"
#: tools/editor/io_plugins/editor_sample_import_plugin.cpp
-#, fuzzy
msgid "Audio Sample"
-msgstr "Добавить сэмпл"
+msgstr "Аудио сэмпл"
#: tools/editor/io_plugins/editor_mesh_import_plugin.cpp
msgid "No meshes to import!"
@@ -5872,7 +5935,7 @@ msgstr "Исходный мэш(ы)"
#: tools/editor/io_plugins/editor_mesh_import_plugin.cpp
msgid "Mesh"
-msgstr ""
+msgstr "Мэш"
#: tools/editor/io_plugins/editor_mesh_import_plugin.cpp
msgid "Surface %d"
diff --git a/tools/translations/tools.pot b/tools/translations/tools.pot
index 70e0255aab..ba9cf6e9e4 100644
--- a/tools/translations/tools.pot
+++ b/tools/translations/tools.pot
@@ -1435,6 +1435,18 @@ msgid "Remote Inspector"
msgstr ""
#: tools/editor/script_editor_debugger.cpp
+msgid "Live Scene Tree:"
+msgstr ""
+
+#: tools/editor/script_editor_debugger.cpp
+msgid "Remote Object Properties: "
+msgstr ""
+
+#: tools/editor/script_editor_debugger.cpp
+msgid "Profiler"
+msgstr ""
+
+#: tools/editor/script_editor_debugger.cpp
msgid "Monitor"
msgstr ""
@@ -1443,6 +1455,10 @@ msgid "Value"
msgstr ""
#: tools/editor/script_editor_debugger.cpp
+msgid "Monitors"
+msgstr ""
+
+#: tools/editor/script_editor_debugger.cpp
msgid "List of Video Memory Usage by Resource:"
msgstr ""
@@ -1472,6 +1488,10 @@ msgid "Usage"
msgstr ""
#: tools/editor/script_editor_debugger.cpp
+msgid "Misc"
+msgstr ""
+
+#: tools/editor/script_editor_debugger.cpp
msgid "Clicked Control:"
msgstr ""
@@ -1521,6 +1541,22 @@ msgid "Scene Run Settings"
msgstr ""
#: tools/editor/project_settings.cpp
+msgid "Key "
+msgstr ""
+
+#: tools/editor/project_settings.cpp
+msgid "Joy Button"
+msgstr ""
+
+#: tools/editor/project_settings.cpp
+msgid "Joy Axis"
+msgstr ""
+
+#: tools/editor/project_settings.cpp
+msgid "Mouse Button"
+msgstr ""
+
+#: tools/editor/project_settings.cpp
msgid "Invalid action (anything goes but '/' or ':')."
msgstr ""
@@ -2533,6 +2569,12 @@ msgstr ""
msgid "Quick Run Scene.."
msgstr ""
+#: tools/editor/editor_node.cpp
+msgid ""
+"Open Project Manager? \n"
+"(Unsaved changes will be lost)"
+msgstr ""
+
#: tools/editor/editor_node.cpp tools/editor/scene_tree_dock.cpp
msgid "Ugh"
msgstr ""
@@ -2572,6 +2614,7 @@ msgid "%d more file(s) or folder(s)"
msgstr ""
#: tools/editor/editor_node.cpp
+#: tools/editor/io_plugins/editor_scene_import_plugin.cpp
msgid "Scene"
msgstr ""
@@ -4339,6 +4382,10 @@ msgid "Scale Mode (R)"
msgstr ""
#: tools/editor/plugins/spatial_editor_plugin.cpp
+msgid "Transform"
+msgstr ""
+
+#: tools/editor/plugins/spatial_editor_plugin.cpp
msgid "Local Coords"
msgstr ""
@@ -4355,6 +4402,30 @@ msgid "Use Default sRGB"
msgstr ""
#: tools/editor/plugins/spatial_editor_plugin.cpp
+msgid "1 Viewport"
+msgstr ""
+
+#: tools/editor/plugins/spatial_editor_plugin.cpp
+msgid "2 Viewports"
+msgstr ""
+
+#: tools/editor/plugins/spatial_editor_plugin.cpp
+msgid "2 Viewports (Alt)"
+msgstr ""
+
+#: tools/editor/plugins/spatial_editor_plugin.cpp
+msgid "3 Viewports"
+msgstr ""
+
+#: tools/editor/plugins/spatial_editor_plugin.cpp
+msgid "3 Viewports (Alt)"
+msgstr ""
+
+#: tools/editor/plugins/spatial_editor_plugin.cpp
+msgid "4 Viewports"
+msgstr ""
+
+#: tools/editor/plugins/spatial_editor_plugin.cpp
msgid "Display Normal"
msgstr ""
@@ -5601,6 +5672,10 @@ msgid "Custom Root Node Type:"
msgstr ""
#: tools/editor/io_plugins/editor_scene_import_plugin.cpp
+msgid "Auto"
+msgstr ""
+
+#: tools/editor/io_plugins/editor_scene_import_plugin.cpp
msgid "The Following Files are Missing:"
msgstr ""
diff --git a/tools/translations/zh_CN.po b/tools/translations/zh_CN.po
index 2c4f62794a..52aa2c8251 100644
--- a/tools/translations/zh_CN.po
+++ b/tools/translations/zh_CN.po
@@ -1473,6 +1473,20 @@ msgid "Remote Inspector"
msgstr "远程属性面板"
#: tools/editor/script_editor_debugger.cpp
+#, fuzzy
+msgid "Live Scene Tree:"
+msgstr "场景树:"
+
+#: tools/editor/script_editor_debugger.cpp
+#, fuzzy
+msgid "Remote Object Properties: "
+msgstr "对象属性。"
+
+#: tools/editor/script_editor_debugger.cpp
+msgid "Profiler"
+msgstr ""
+
+#: tools/editor/script_editor_debugger.cpp
msgid "Monitor"
msgstr "键名"
@@ -1481,6 +1495,11 @@ msgid "Value"
msgstr "值"
#: tools/editor/script_editor_debugger.cpp
+#, fuzzy
+msgid "Monitors"
+msgstr "键名"
+
+#: tools/editor/script_editor_debugger.cpp
msgid "List of Video Memory Usage by Resource:"
msgstr "占用显存的资源列表:"
@@ -1510,6 +1529,10 @@ msgid "Usage"
msgstr "用量"
#: tools/editor/script_editor_debugger.cpp
+msgid "Misc"
+msgstr ""
+
+#: tools/editor/script_editor_debugger.cpp
msgid "Clicked Control:"
msgstr "点击的控件:"
@@ -1559,6 +1582,25 @@ msgid "Scene Run Settings"
msgstr "场景运行设置"
#: tools/editor/project_settings.cpp
+msgid "Key "
+msgstr ""
+
+#: tools/editor/project_settings.cpp
+#, fuzzy
+msgid "Joy Button"
+msgstr "按钮"
+
+#: tools/editor/project_settings.cpp
+#, fuzzy
+msgid "Joy Axis"
+msgstr "轴"
+
+#: tools/editor/project_settings.cpp
+#, fuzzy
+msgid "Mouse Button"
+msgstr "鼠标按键:"
+
+#: tools/editor/project_settings.cpp
msgid "Invalid action (anything goes but '/' or ':')."
msgstr ""
@@ -2571,6 +2613,13 @@ msgstr "此操作无法撤销,确定要继续吗?"
msgid "Quick Run Scene.."
msgstr "快速运行场景"
+#: tools/editor/editor_node.cpp
+#, fuzzy
+msgid ""
+"Open Project Manager? \n"
+"(Unsaved changes will be lost)"
+msgstr "确定要关闭场景吗,未保存的修改将丢失?"
+
#: tools/editor/editor_node.cpp tools/editor/scene_tree_dock.cpp
msgid "Ugh"
msgstr "额"
@@ -2611,6 +2660,7 @@ msgid "%d more file(s) or folder(s)"
msgstr "更多的%d个文件或目录"
#: tools/editor/editor_node.cpp
+#: tools/editor/io_plugins/editor_scene_import_plugin.cpp
msgid "Scene"
msgstr "场景"
@@ -4378,6 +4428,11 @@ msgid "Scale Mode (R)"
msgstr "缩放模式(R)"
#: tools/editor/plugins/spatial_editor_plugin.cpp
+#, fuzzy
+msgid "Transform"
+msgstr "变换类型"
+
+#: tools/editor/plugins/spatial_editor_plugin.cpp
msgid "Local Coords"
msgstr "本地坐标"
@@ -4394,6 +4449,33 @@ msgid "Use Default sRGB"
msgstr "使用默认sRGB"
#: tools/editor/plugins/spatial_editor_plugin.cpp
+msgid "1 Viewport"
+msgstr ""
+
+#: tools/editor/plugins/spatial_editor_plugin.cpp
+#, fuzzy
+msgid "2 Viewports"
+msgstr "Viewport设置"
+
+#: tools/editor/plugins/spatial_editor_plugin.cpp
+msgid "2 Viewports (Alt)"
+msgstr ""
+
+#: tools/editor/plugins/spatial_editor_plugin.cpp
+#, fuzzy
+msgid "3 Viewports"
+msgstr "Viewport设置"
+
+#: tools/editor/plugins/spatial_editor_plugin.cpp
+msgid "3 Viewports (Alt)"
+msgstr ""
+
+#: tools/editor/plugins/spatial_editor_plugin.cpp
+#, fuzzy
+msgid "4 Viewports"
+msgstr "Viewport设置"
+
+#: tools/editor/plugins/spatial_editor_plugin.cpp
msgid "Display Normal"
msgstr "显示法线"
@@ -5646,6 +5728,11 @@ msgid "Custom Root Node Type:"
msgstr ""
#: tools/editor/io_plugins/editor_scene_import_plugin.cpp
+#, fuzzy
+msgid "Auto"
+msgstr "AutoLoad"
+
+#: tools/editor/io_plugins/editor_scene_import_plugin.cpp
msgid "The Following Files are Missing:"
msgstr "找不到下列文件:"
@@ -5804,9 +5891,6 @@ msgstr ""
#~ msgid "Keep Existing, Ignore New"
#~ msgstr "保留已有,忽略新的。"
-#~ msgid "Scene Tree:"
-#~ msgstr "场景树:"
-
#~ msgid ""
#~ "NOTICE: You are not forced to import textures for 2D projects. Just copy "
#~ "your .jpg or .png files to your project, and change export options later. "
diff --git a/tools/translations/zh_HK.po b/tools/translations/zh_HK.po
index 2ff54e70c2..8639e619b3 100644
--- a/tools/translations/zh_HK.po
+++ b/tools/translations/zh_HK.po
@@ -1439,6 +1439,19 @@ msgid "Remote Inspector"
msgstr ""
#: tools/editor/script_editor_debugger.cpp
+#, fuzzy
+msgid "Live Scene Tree:"
+msgstr "儲存場景"
+
+#: tools/editor/script_editor_debugger.cpp
+msgid "Remote Object Properties: "
+msgstr ""
+
+#: tools/editor/script_editor_debugger.cpp
+msgid "Profiler"
+msgstr ""
+
+#: tools/editor/script_editor_debugger.cpp
msgid "Monitor"
msgstr ""
@@ -1447,6 +1460,10 @@ msgid "Value"
msgstr ""
#: tools/editor/script_editor_debugger.cpp
+msgid "Monitors"
+msgstr ""
+
+#: tools/editor/script_editor_debugger.cpp
msgid "List of Video Memory Usage by Resource:"
msgstr ""
@@ -1476,6 +1493,10 @@ msgid "Usage"
msgstr ""
#: tools/editor/script_editor_debugger.cpp
+msgid "Misc"
+msgstr ""
+
+#: tools/editor/script_editor_debugger.cpp
msgid "Clicked Control:"
msgstr ""
@@ -1525,6 +1546,22 @@ msgid "Scene Run Settings"
msgstr ""
#: tools/editor/project_settings.cpp
+msgid "Key "
+msgstr ""
+
+#: tools/editor/project_settings.cpp
+msgid "Joy Button"
+msgstr ""
+
+#: tools/editor/project_settings.cpp
+msgid "Joy Axis"
+msgstr ""
+
+#: tools/editor/project_settings.cpp
+msgid "Mouse Button"
+msgstr ""
+
+#: tools/editor/project_settings.cpp
msgid "Invalid action (anything goes but '/' or ':')."
msgstr ""
@@ -2537,6 +2574,12 @@ msgstr ""
msgid "Quick Run Scene.."
msgstr ""
+#: tools/editor/editor_node.cpp
+msgid ""
+"Open Project Manager? \n"
+"(Unsaved changes will be lost)"
+msgstr ""
+
#: tools/editor/editor_node.cpp tools/editor/scene_tree_dock.cpp
msgid "Ugh"
msgstr ""
@@ -2576,6 +2619,7 @@ msgid "%d more file(s) or folder(s)"
msgstr ""
#: tools/editor/editor_node.cpp
+#: tools/editor/io_plugins/editor_scene_import_plugin.cpp
msgid "Scene"
msgstr "場景"
@@ -4343,6 +4387,10 @@ msgid "Scale Mode (R)"
msgstr ""
#: tools/editor/plugins/spatial_editor_plugin.cpp
+msgid "Transform"
+msgstr ""
+
+#: tools/editor/plugins/spatial_editor_plugin.cpp
msgid "Local Coords"
msgstr ""
@@ -4359,6 +4407,30 @@ msgid "Use Default sRGB"
msgstr ""
#: tools/editor/plugins/spatial_editor_plugin.cpp
+msgid "1 Viewport"
+msgstr ""
+
+#: tools/editor/plugins/spatial_editor_plugin.cpp
+msgid "2 Viewports"
+msgstr ""
+
+#: tools/editor/plugins/spatial_editor_plugin.cpp
+msgid "2 Viewports (Alt)"
+msgstr ""
+
+#: tools/editor/plugins/spatial_editor_plugin.cpp
+msgid "3 Viewports"
+msgstr ""
+
+#: tools/editor/plugins/spatial_editor_plugin.cpp
+msgid "3 Viewports (Alt)"
+msgstr ""
+
+#: tools/editor/plugins/spatial_editor_plugin.cpp
+msgid "4 Viewports"
+msgstr ""
+
+#: tools/editor/plugins/spatial_editor_plugin.cpp
msgid "Display Normal"
msgstr ""
@@ -5605,6 +5677,10 @@ msgid "Custom Root Node Type:"
msgstr ""
#: tools/editor/io_plugins/editor_scene_import_plugin.cpp
+msgid "Auto"
+msgstr ""
+
+#: tools/editor/io_plugins/editor_scene_import_plugin.cpp
msgid "The Following Files are Missing:"
msgstr ""