diff options
Diffstat (limited to 'tools')
-rwxr-xr-x | tools/Godot.app/Contents/Info.plist | 2 | ||||
-rw-r--r-- | tools/editor/asset_library_editor_plugin.cpp | 6 | ||||
-rw-r--r-- | tools/editor/code_editor.cpp | 17 | ||||
-rw-r--r-- | tools/editor/connections_dialog.cpp | 49 | ||||
-rw-r--r-- | tools/editor/connections_dialog.h | 1 | ||||
-rw-r--r-- | tools/editor/create_dialog.cpp | 6 | ||||
-rw-r--r-- | tools/editor/editor_help.cpp | 2 | ||||
-rw-r--r-- | tools/editor/plugins/script_editor_plugin.cpp | 45 | ||||
-rw-r--r-- | tools/editor/plugins/script_editor_plugin.h | 2 | ||||
-rw-r--r-- | tools/editor/plugins/spatial_editor_plugin.cpp | 8 | ||||
-rw-r--r-- | tools/editor/plugins/texture_region_editor_plugin.cpp | 44 | ||||
-rw-r--r-- | tools/editor/plugins/texture_region_editor_plugin.h | 2 | ||||
-rw-r--r-- | tools/editor/property_editor.cpp | 2 | ||||
-rw-r--r-- | tools/editor/quick_open.cpp | 4 | ||||
-rw-r--r-- | tools/editor/scene_tree_editor.cpp | 2 | ||||
-rw-r--r-- | tools/translations/ru.po | 177 |
16 files changed, 254 insertions, 115 deletions
diff --git a/tools/Godot.app/Contents/Info.plist b/tools/Godot.app/Contents/Info.plist index 2b58162ae8..37c80fc8a3 100755 --- a/tools/Godot.app/Contents/Info.plist +++ b/tools/Godot.app/Contents/Info.plist @@ -34,7 +34,7 @@ <string>10.6.0</string> </dict> <key>NSHighResolutionCapable</key> - <false/> + <true/> <key>CFBundleDocumentTypes</key> <array> <dict> diff --git a/tools/editor/asset_library_editor_plugin.cpp b/tools/editor/asset_library_editor_plugin.cpp index 928acdbcbb..c571310ded 100644 --- a/tools/editor/asset_library_editor_plugin.cpp +++ b/tools/editor/asset_library_editor_plugin.cpp @@ -541,8 +541,12 @@ void EditorAssetLibrary::_notification(int p_what) { error_hb->add_child(tf); error_label->raise(); + } - _repository_changed(0); + if (p_what==NOTIFICATION_VISIBILITY_CHANGED) { + if(!is_hidden()) { + _repository_changed(0); // Update when shown for the first time + } } if (p_what==NOTIFICATION_PROCESS) { diff --git a/tools/editor/code_editor.cpp b/tools/editor/code_editor.cpp index f62209fafa..be5d9c47ff 100644 --- a/tools/editor/code_editor.cpp +++ b/tools/editor/code_editor.cpp @@ -247,8 +247,18 @@ void FindReplaceBar::_get_search_from(int& r_line, int& r_col) { 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(); + + int selection_line=text_edit->get_selection_from_line(); + + if (text_edit->get_selection_text()==get_search_text() && r_line==selection_line) { + + int selection_from_col=text_edit->get_selection_from_column(); + + if (r_col>=selection_from_col && r_col<=text_edit->get_selection_to_column()) { + r_col=selection_line; + r_col=selection_from_col; + } + } } if (r_line==result_line && r_col>=result_col && r_col<=result_col+get_search_text().length()) { @@ -521,6 +531,9 @@ FindReplaceBar::FindReplaceBar() { error_label = memnew(Label); search_options->add_child(error_label); + error_label->add_color_override("font_color", Color(1,1,0,1)); + error_label->add_color_override("font_color_shadow", Color(0,0,0,1)); + error_label->add_constant_override("shadow_as_outline", 1); search_options->add_spacer(); diff --git a/tools/editor/connections_dialog.cpp b/tools/editor/connections_dialog.cpp index 222e42f8a7..8847654ad7 100644 --- a/tools/editor/connections_dialog.cpp +++ b/tools/editor/connections_dialog.cpp @@ -35,6 +35,7 @@ #include "print_string.h" #include "editor_settings.h" #include "editor_node.h" +#include "plugins/script_editor_plugin.h" class ConnectDialogBinds : public Object { @@ -766,11 +767,58 @@ void ConnectionsDock::_something_selected() { } +void ConnectionsDock::_something_activated() { + + TreeItem *item = tree->get_selected(); + + if (!item) + return; + + if (item->get_parent()==tree->get_root() || item->get_parent()->get_parent()==tree->get_root()) { + // a signal - connect + String signal=item->get_metadata(0).operator Dictionary()["name"]; + String midname=node->get_name(); + for(int i=0;i<midname.length();i++) { + CharType c = midname[i]; + if ((c>='a' && c<='z') || (c>='A' && c<='Z') || (c>='0' && c<='9') || c=='_') { + //all good + } else if (c==' ') { + c='_'; + } else { + midname.remove(i); + i--; + continue; + } + + midname[i]=c; + } + + connect_dialog->edit(node); + connect_dialog->popup_centered_ratio(); + connect_dialog->set_dst_method("_on_"+midname+"_"+signal); + connect_dialog->set_dst_node(node->get_owner()?node->get_owner():node); + } else { + // a slot - go to target method + Connection c=item->get_metadata(0); + ERR_FAIL_COND(c.source!=node); //shouldn't happen but...bugcheck + + if (!c.target) + return; + + Ref<Script> script = c.target->get_script(); + + if (script.is_valid() && ScriptEditor::get_singleton()->script_go_to_method(script,c.method)) { + editor->call("_editor_select",EditorNode::EDITOR_SCRIPT); + } + } +} + void ConnectionsDock::_bind_methods() { ObjectTypeDB::bind_method("_connect",&ConnectionsDock::_connect); ObjectTypeDB::bind_method("_something_selected",&ConnectionsDock::_something_selected); + ObjectTypeDB::bind_method("_something_activated",&ConnectionsDock::_something_activated); ObjectTypeDB::bind_method("_close",&ConnectionsDock::_close); ObjectTypeDB::bind_method("_connect_pressed",&ConnectionsDock::_connect_pressed); ObjectTypeDB::bind_method("update_tree",&ConnectionsDock::update_tree); @@ -823,6 +871,7 @@ ConnectionsDock::ConnectionsDock(EditorNode *p_editor) { remove_confirm->connect("confirmed", this,"_remove_confirm"); connect_dialog->connect("connected", this,"_connect"); tree->connect("item_selected", this,"_something_selected"); + tree->connect("item_activated", this,"_something_activated"); add_constant_override("separation",3*EDSCALE); } diff --git a/tools/editor/connections_dialog.h b/tools/editor/connections_dialog.h index 96ebaf85b0..73f52abc9e 100644 --- a/tools/editor/connections_dialog.h +++ b/tools/editor/connections_dialog.h @@ -111,6 +111,7 @@ class ConnectionsDock : public VBoxContainer { void _close(); void _connect(); void _something_selected(); + void _something_activated(); UndoRedo *undo_redo; protected: diff --git a/tools/editor/create_dialog.cpp b/tools/editor/create_dialog.cpp index b6137ddac0..5275e1beeb 100644 --- a/tools/editor/create_dialog.cpp +++ b/tools/editor/create_dialog.cpp @@ -103,7 +103,7 @@ void CreateDialog::add_type(const String& p_type,HashMap<String,TreeItem*>& p_ty item->set_selectable(0,false); } else { - if (!*to_select && (search_box->get_text()=="" || p_type.findn(search_box->get_text())!=-1)) { + if (!*to_select && (search_box->get_text().is_subsequence_ofi(p_type))) { *to_select=item; } @@ -172,7 +172,7 @@ void CreateDialog::_update_search() { bool found=false; String type=I->get(); while(type!="" && ObjectTypeDB::is_type(type,base_type) && type!=base_type) { - if (type.findn(search_box->get_text())!=-1) { + if (search_box->get_text().is_subsequence_ofi(type)) { found=true; break; @@ -194,7 +194,7 @@ void CreateDialog::_update_search() { const Vector<EditorData::CustomType> &ct = EditorNode::get_editor_data().get_custom_types()[type]; for(int i=0;i<ct.size();i++) { - bool show = search_box->get_text()=="" || ct[i].name.findn(search_box->get_text())!=-1; + bool show = search_box->get_text().is_subsequence_ofi(ct[i].name); if (!show) continue; diff --git a/tools/editor/editor_help.cpp b/tools/editor/editor_help.cpp index ac9feacd46..0b60db5ee3 100644 --- a/tools/editor/editor_help.cpp +++ b/tools/editor/editor_help.cpp @@ -453,7 +453,7 @@ void EditorHelpIndex::_update_class_list() { String type = E->key(); while(type != "") { - if (type.findn(filter)!=-1) { + if (filter.is_subsequence_ofi(type)) { if (to_select.empty()) { to_select = type; diff --git a/tools/editor/plugins/script_editor_plugin.cpp b/tools/editor/plugins/script_editor_plugin.cpp index 8b7323ec08..a313b0053a 100644 --- a/tools/editor/plugins/script_editor_plugin.cpp +++ b/tools/editor/plugins/script_editor_plugin.cpp @@ -2503,6 +2503,51 @@ void ScriptEditor::set_scene_root_script( Ref<Script> p_script ) { } } +bool ScriptEditor::script_go_to_method(Ref<Script> p_script, const String& p_method) { + + Vector<String> functions; + bool found=false; + + for (int i=0;i<tab_container->get_child_count();i++) { + ScriptTextEditor *current = tab_container->get_child(i)->cast_to<ScriptTextEditor>(); + + if (current && current->get_edited_script()==p_script) { + functions=current->get_functions(); + found=true; + break; + } + } + + if (!found) { + String errortxt; + int line=-1,col; + String text=p_script->get_source_code(); + List<String> fnc; + + if (p_script->get_language()->validate(text,line,col,errortxt,p_script->get_path(),&fnc)) { + + for (List<String>::Element *E=fnc.front();E;E=E->next()) + functions.push_back(E->get()); + } + } + + String method_search = p_method + ":"; + + for (int i=0;i<functions.size();i++) { + String function=functions[i]; + + if (function.begins_with(method_search)) { + + edit(p_script); + int line=function.get_slice(":",1).to_int(); + _goto_script_line2(line-1); + return true; + } + } + + return false; +} + void ScriptEditor::set_live_auto_reload_running_scripts(bool p_enabled) { auto_reload_running_scripts=p_enabled; diff --git a/tools/editor/plugins/script_editor_plugin.h b/tools/editor/plugins/script_editor_plugin.h index 5a9dce759e..3d723adfe9 100644 --- a/tools/editor/plugins/script_editor_plugin.h +++ b/tools/editor/plugins/script_editor_plugin.h @@ -325,6 +325,8 @@ public: void set_scene_root_script( Ref<Script> p_script ); + bool script_go_to_method(Ref<Script> p_script, const String& p_method); + virtual void edited_scene_changed(); ScriptEditorDebugger *get_debugger() { return debugger; } diff --git a/tools/editor/plugins/spatial_editor_plugin.cpp b/tools/editor/plugins/spatial_editor_plugin.cpp index e261b48f67..fdb654571a 100644 --- a/tools/editor/plugins/spatial_editor_plugin.cpp +++ b/tools/editor/plugins/spatial_editor_plugin.cpp @@ -996,26 +996,26 @@ void SpatialEditorViewport::_sinput(const InputEvent &p_event) { case TRANSFORM_VIEW: { _edit.plane=TRANSFORM_X_AXIS; - set_message(TTR("View Plane Transform."),2); + set_message(TTR("X-Axis Transform."),2); name=""; _update_name(); } break; case TRANSFORM_X_AXIS: { _edit.plane=TRANSFORM_Y_AXIS; - set_message(TTR("X-Axis Transform."),2); + set_message(TTR("Y-Axis Transform."),2); } break; case TRANSFORM_Y_AXIS: { _edit.plane=TRANSFORM_Z_AXIS; - set_message(TTR("Y-Axis Transform."),2); + set_message(TTR("Z-Axis Transform."),2); } break; case TRANSFORM_Z_AXIS: { _edit.plane=TRANSFORM_VIEW; - set_message(TTR("Z-Axis Transform."),2); + set_message(TTR("View Plane Transform."),2); } break; } diff --git a/tools/editor/plugins/texture_region_editor_plugin.cpp b/tools/editor/plugins/texture_region_editor_plugin.cpp index b69b0d7a9b..57db19b736 100644 --- a/tools/editor/plugins/texture_region_editor_plugin.cpp +++ b/tools/editor/plugins/texture_region_editor_plugin.cpp @@ -43,6 +43,8 @@ void TextureRegionEditor::_region_draw() base_tex = node_patch9->get_texture(); else if(node_type == "StyleBoxTexture" && obj_styleBox) base_tex = obj_styleBox->get_texture(); + else if(node_type == "AtlasTexture" && atlas_tex) + base_tex = atlas_tex->get_atlas(); if (base_tex.is_null()) return; @@ -164,6 +166,8 @@ void TextureRegionEditor::_region_input(const InputEvent& p_input) drag=true; if(node_type == "Sprite" && node_sprite ) rect_prev=node_sprite->get_region_rect(); + else if(node_type == "AtlasTexture" && atlas_tex) + rect_prev=atlas_tex->get_region(); else if(node_type == "Patch9Frame" && node_patch9) rect_prev=node_patch9->get_region_rect(); else if(node_type == "StyleBoxTexture" && obj_styleBox) @@ -191,10 +195,18 @@ void TextureRegionEditor::_region_input(const InputEvent& p_input) undo_redo->add_do_method(node_sprite ,"set_region_rect",node_sprite->get_region_rect()); undo_redo->add_undo_method(node_sprite,"set_region_rect",rect_prev); } + else if(node_type == "AtlasTexture" && atlas_tex ){ + undo_redo->add_do_method(atlas_tex ,"set_region",atlas_tex->get_region()); + undo_redo->add_undo_method(atlas_tex,"set_region",rect_prev); + } else if(node_type == "Patch9Frame" && node_patch9){ undo_redo->add_do_method(node_patch9 ,"set_region_rect",node_patch9->get_region_rect()); undo_redo->add_undo_method(node_patch9,"set_region_rect",rect_prev); } + else if(node_type == "StyleBoxTexture" && obj_styleBox){ + undo_redo->add_do_method(obj_styleBox ,"set_region_rect",obj_styleBox->get_region_rect()); + undo_redo->add_undo_method(obj_styleBox,"set_region_rect",rect_prev); + } undo_redo->add_do_method(edit_draw,"update"); undo_redo->add_undo_method(edit_draw,"update"); undo_redo->commit_action(); @@ -355,6 +367,8 @@ void TextureRegionEditor::apply_rect(const Rect2& rect){ node_patch9->set_region_rect(rect); else if(obj_styleBox) obj_styleBox->set_region_rect(rect); + else if(atlas_tex) + atlas_tex->set_region(rect); } else if(this->editing_region == REGION_PATCH_MARGIN) { if(node_patch9) { @@ -387,10 +401,11 @@ void TextureRegionEditor::_notification(int p_what) void TextureRegionEditor::_node_removed(Object *p_obj) { - if(p_obj == node_sprite || p_obj == node_patch9 || p_obj == obj_styleBox) { - node_patch9 = NULL; - node_sprite = NULL; + if(p_obj == node_sprite || p_obj == node_patch9 || p_obj == obj_styleBox || p_obj == atlas_tex) { + node_patch9 = NULL; + node_sprite = NULL; obj_styleBox = NULL; + atlas_tex = NULL; hide(); } } @@ -421,30 +436,42 @@ void TextureRegionEditor::edit(Object *p_obj) node_sprite = p_obj->cast_to<Sprite>(); node_patch9 = NULL; obj_styleBox = NULL; + atlas_tex = NULL; + } + else if(node_type == "AtlasTexture") { + atlas_tex = p_obj->cast_to<AtlasTexture>(); + node_sprite = NULL; + node_patch9 = NULL; + obj_styleBox = NULL; } else if(node_type == "Patch9Frame") { node_patch9 = p_obj->cast_to<Patch9Frame>(); node_sprite = NULL; obj_styleBox = NULL; + atlas_tex = NULL; margin_button->show(); } else if(node_type == "StyleBoxTexture") { obj_styleBox = p_obj->cast_to<StyleBoxTexture>(); node_sprite = NULL; node_patch9 = NULL; + atlas_tex = NULL; margin_button->show(); } p_obj->connect("exit_tree",this,"_node_removed",varray(p_obj),CONNECT_ONESHOT); } else { if(node_sprite) node_sprite->disconnect("exit_tree",this,"_node_removed"); + else if(atlas_tex) + atlas_tex->disconnect("exit_tree",this,"_node_removed"); else if(node_patch9) node_patch9->disconnect("exit_tree",this,"_node_removed"); else if(obj_styleBox) obj_styleBox->disconnect("exit_tree",this,"_node_removed"); - node_sprite = NULL; - node_patch9 = NULL; + node_sprite = NULL; + node_patch9 = NULL; obj_styleBox = NULL; + atlas_tex = NULL; } } @@ -469,6 +496,8 @@ void TextureRegionEditor::_edit_node(int region) texture = node_patch9->get_texture(); else if(node_type == "StyleBoxTexture" && obj_styleBox) texture = obj_styleBox->get_texture(); + else if(node_type == "AtlasTexture" && atlas_tex) + texture = atlas_tex->get_atlas(); if (texture.is_null()) { error->set_text(TTR("No texture in this node.\nSet a texture to be able to edit region.")); @@ -482,6 +511,8 @@ void TextureRegionEditor::_edit_node(int region) tex_region = node_patch9->get_region_rect(); else if(node_type == "StyleBoxTexture" && obj_styleBox) tex_region = obj_styleBox->get_region_rect(); + else if(node_type == "AtlasTexture" && atlas_tex) + tex_region = atlas_tex->get_region(); rect = tex_region; if(region == REGION_PATCH_MARGIN) { @@ -521,6 +552,7 @@ TextureRegionEditor::TextureRegionEditor(EditorNode* p_editor) { node_sprite = NULL; node_patch9 = NULL; + atlas_tex = NULL; editor=p_editor; undo_redo = editor->get_undo_redo(); @@ -661,7 +693,7 @@ void TextureRegionEditorPlugin::edit(Object *p_node) bool TextureRegionEditorPlugin::handles(Object *p_obj) const { - return p_obj->is_type("Sprite") || p_obj->is_type("Patch9Frame") || p_obj->is_type("StyleBoxTexture"); + return p_obj->is_type("Sprite") || p_obj->is_type("Patch9Frame") || p_obj->is_type("StyleBoxTexture") || p_obj->is_type("AtlasTexture"); } void TextureRegionEditorPlugin::make_visible(bool p_visible) diff --git a/tools/editor/plugins/texture_region_editor_plugin.h b/tools/editor/plugins/texture_region_editor_plugin.h index 951b11e1e6..1e4888b06d 100644 --- a/tools/editor/plugins/texture_region_editor_plugin.h +++ b/tools/editor/plugins/texture_region_editor_plugin.h @@ -38,6 +38,7 @@ #include "scene/2d/sprite.h" #include "scene/gui/patch_9_frame.h" #include "scene/resources/style_box.h" +#include "scene/resources/texture.h" class TextureRegionEditor : public HBoxContainer { @@ -82,6 +83,7 @@ class TextureRegionEditor : public HBoxContainer { Patch9Frame *node_patch9; Sprite *node_sprite; StyleBoxTexture *obj_styleBox; + AtlasTexture *atlas_tex; int editing_region; Rect2 rect; diff --git a/tools/editor/property_editor.cpp b/tools/editor/property_editor.cpp index 7dfcf88e2c..763734f035 100644 --- a/tools/editor/property_editor.cpp +++ b/tools/editor/property_editor.cpp @@ -2812,7 +2812,7 @@ void PropertyEditor::update_tree() { if (capitalize_paths) cat = cat.capitalize(); - if (cat.findn(filter)==-1 && name.findn(filter)==-1) + if (!filter.is_subsequence_ofi(cat) && !filter.is_subsequence_ofi(name)) continue; } diff --git a/tools/editor/quick_open.cpp b/tools/editor/quick_open.cpp index 72059c264f..fc2a2241ab 100644 --- a/tools/editor/quick_open.cpp +++ b/tools/editor/quick_open.cpp @@ -126,7 +126,7 @@ void EditorQuickOpen::_parse_fs(EditorFileSystemDirectory *efsd) { path+="/"; if (path!="res://") { path=path.substr(6,path.length()); - if (path.findn(search_box->get_text())!=-1) { + if (search_box->get_text().is_subsequence_ofi(path)) { TreeItem *ti = search_options->create_item(root); ti->set_text(0,path); Ref<Texture> icon = get_icon("folder","FileDialog"); @@ -138,7 +138,7 @@ void EditorQuickOpen::_parse_fs(EditorFileSystemDirectory *efsd) { String file = efsd->get_file_path(i); file=file.substr(6,file.length()); - if (ObjectTypeDB::is_type(efsd->get_file_type(i),base_type) && (search_box->get_text()=="" || file.findn(search_box->get_text())!=-1)) { + if (ObjectTypeDB::is_type(efsd->get_file_type(i),base_type) && (search_box->get_text().is_subsequence_ofi(file))) { TreeItem *ti = search_options->create_item(root); ti->set_text(0,file); diff --git a/tools/editor/scene_tree_editor.cpp b/tools/editor/scene_tree_editor.cpp index 65e731dd4d..2de6fc5cf2 100644 --- a/tools/editor/scene_tree_editor.cpp +++ b/tools/editor/scene_tree_editor.cpp @@ -428,7 +428,7 @@ bool SceneTreeEditor::_add_nodes(Node *p_node,TreeItem *p_parent) { item->set_as_cursor(0); } - bool keep= ( filter==String() || String(p_node->get_name()).to_lower().find(filter.to_lower())!=-1 ); + bool keep= (filter.is_subsequence_ofi(String(p_node->get_name()))); for (int i=0;i<p_node->get_child_count();i++) { diff --git a/tools/translations/ru.po b/tools/translations/ru.po index aa98be2767..138aa2c858 100644 --- a/tools/translations/ru.po +++ b/tools/translations/ru.po @@ -26,7 +26,7 @@ msgid "" "order for AnimatedSprite to display frames." msgstr "" "Чтобы AnimatedSprite отображал кадры, пожалуйста установите или создайте " -"ресурс SpriteFrames в параметре 'Frames'" +"ресурс SpriteFrames в параметре 'Frames'." #: scene/2d/canvas_modulate.cpp msgid "" @@ -218,13 +218,12 @@ msgstr "" "ресурс SampleLibrary в параметре 'samples'." #: scene/3d/sprite_3d.cpp -#, fuzzy msgid "" "A SpriteFrames resource must be created or set in the 'Frames' property in " "order for AnimatedSprite3D to display frames." msgstr "" -"Чтобы AnimatedSprite отображал кадры, пожалуйста установите или создайте " -"ресурс SpriteFrames в параметре 'Frames'" +"Чтобы AnimatedSprite3D отображал кадры, пожалуйста установите или создайте " +"ресурс SpriteFrames в параметре 'Frames'." #: scene/gui/dialogs.cpp tools/editor/io_plugins/editor_scene_import_plugin.cpp msgid "Cancel" @@ -262,24 +261,20 @@ msgid "Open" msgstr "Открыть" #: scene/gui/file_dialog.cpp -#, fuzzy msgid "Open a File" -msgstr "Открыть сэмпл(ы)" +msgstr "Открыть файл" #: scene/gui/file_dialog.cpp -#, fuzzy msgid "Open File(s)" -msgstr "Открыть сэмпл(ы)" +msgstr "Открыть файл(ы)" #: scene/gui/file_dialog.cpp -#, fuzzy msgid "Open a Directory" -msgstr "Выбрать каталог" +msgstr "Открыть каталог" #: scene/gui/file_dialog.cpp -#, fuzzy msgid "Open a File or Directory" -msgstr "Выбрать каталог" +msgstr "Открыть каталог или файл" #: scene/gui/file_dialog.cpp tools/editor/editor_file_dialog.cpp #: tools/editor/editor_node.cpp @@ -343,7 +338,7 @@ msgstr "Alt+" #: scene/gui/input_action.cpp msgid "Ctrl+" -msgstr "" +msgstr "Ctrl+" #: scene/gui/input_action.cpp tools/editor/project_settings.cpp #: tools/editor/settings_config_dialog.cpp @@ -715,7 +710,7 @@ msgstr "Включить индивидуальное редактировани #: tools/editor/animation_editor.cpp msgid "Anim. Optimizer" -msgstr "Оптимизатор анимации." +msgstr "Оптимизатор анимации" #: tools/editor/animation_editor.cpp msgid "Max. Linear Error:" @@ -810,22 +805,20 @@ msgid "Site:" msgstr "Сайт:" #: tools/editor/asset_library_editor_plugin.cpp -#, fuzzy msgid "Support.." -msgstr "Экспортировать.." +msgstr "Поддержка.." #: tools/editor/asset_library_editor_plugin.cpp msgid "Official" -msgstr "" +msgstr "Официально" #: tools/editor/asset_library_editor_plugin.cpp msgid "Community" -msgstr "" +msgstr "Сообщество" #: tools/editor/asset_library_editor_plugin.cpp -#, fuzzy msgid "Testing" -msgstr "Настройки" +msgstr "Тестируемые" #: tools/editor/asset_library_editor_plugin.cpp msgid "Assets ZIP File" @@ -1018,9 +1011,8 @@ msgid "Disconnect" msgstr "Отсоединить" #: tools/editor/connections_dialog.cpp tools/editor/node_dock.cpp -#, fuzzy msgid "Signals" -msgstr "Сигналы:" +msgstr "Сигналы" #: tools/editor/create_dialog.cpp msgid "Create New" @@ -1245,7 +1237,7 @@ msgstr "Описание методов:" #: tools/editor/editor_help.cpp msgid "Search Text" -msgstr "Искать текст:" +msgstr "Искать текст" #: tools/editor/editor_import_export.cpp msgid "Added:" @@ -1280,9 +1272,8 @@ msgid "Setting Up.." msgstr "Настройка.." #: tools/editor/editor_log.cpp -#, fuzzy msgid " Output:" -msgstr "Вывод" +msgstr " Вывод:" #: tools/editor/editor_node.cpp tools/editor/editor_reimport_dialog.cpp msgid "Re-Importing" @@ -1396,9 +1387,8 @@ msgid "Copy Params" msgstr "Копировать параметры" #: tools/editor/editor_node.cpp -#, fuzzy msgid "Paste Params" -msgstr "Вставить кадр" +msgstr "Вставить параметры" #: tools/editor/editor_node.cpp #: tools/editor/plugins/resource_preloader_editor_plugin.cpp @@ -1418,9 +1408,8 @@ msgid "Make Sub-Resources Unique" msgstr "Сделать вложенные ресурсы уникальными" #: tools/editor/editor_node.cpp -#, fuzzy msgid "Open in Help" -msgstr "Открыть сцену" +msgstr "Открыть в справке" #: tools/editor/editor_node.cpp msgid "There is no defined scene to run." @@ -1431,6 +1420,9 @@ msgid "" "No main scene has ever been defined.\n" "Select one from \"Project Settings\" under the 'application' category." msgstr "" +"Не назначена главная сцена.\n" +"Укажите её в параметре \"main_scene\" расположенном\n" +"в \"Настройки проекта - Основное - application\"." #: tools/editor/editor_node.cpp msgid "Current scene was never saved, please save it prior to running." @@ -1550,9 +1542,8 @@ msgid "Save Layout" msgstr "Сохранить макет" #: tools/editor/editor_node.cpp -#, fuzzy msgid "Load Layout" -msgstr "Сохранить макет" +msgstr "Загрузить макет" #: tools/editor/editor_node.cpp tools/editor/project_export.cpp msgid "Default" @@ -1616,9 +1607,8 @@ msgid "Open Recent" msgstr "Открыть последнее" #: tools/editor/editor_node.cpp -#, fuzzy msgid "Quick Filter Files.." -msgstr "Быстрый поиск файлов.." +msgstr "Быстро отсортировать файлы.." #: tools/editor/editor_node.cpp msgid "Convert To.." @@ -1690,9 +1680,8 @@ msgid "Export" msgstr "Экспорт" #: tools/editor/editor_node.cpp -#, fuzzy msgid "Play the project." -msgstr "Запустить проект (F5)." +msgstr "Запустить проект." #: tools/editor/editor_node.cpp #: tools/editor/plugins/sample_library_editor_plugin.cpp @@ -1704,14 +1693,12 @@ msgid "Pause the scene" msgstr "Приостановить сцену" #: tools/editor/editor_node.cpp -#, fuzzy msgid "Pause Scene" msgstr "Приостановить сцену" #: tools/editor/editor_node.cpp -#, fuzzy msgid "Stop the scene." -msgstr "Остановить проект (F8)." +msgstr "Остановить сцену." #: tools/editor/editor_node.cpp #: tools/editor/plugins/sample_library_editor_plugin.cpp @@ -1719,14 +1706,12 @@ msgid "Stop" msgstr "Остановить" #: tools/editor/editor_node.cpp -#, fuzzy msgid "Play the edited scene." -msgstr "Запустить текущую сцену (F6)." +msgstr "Запустить текущую сцену." #: tools/editor/editor_node.cpp -#, fuzzy msgid "Play Scene" -msgstr "Сохранить сцену" +msgstr "Запустить сцену" #: tools/editor/editor_node.cpp msgid "Play custom scene" @@ -1737,19 +1722,20 @@ msgid "Debug options" msgstr "Параметры отладки" #: tools/editor/editor_node.cpp -#, fuzzy msgid "Deploy with Remote Debug" -msgstr "Развернуть удалённую отладку" +msgstr "Развернуть с удалённой отладкой" #: tools/editor/editor_node.cpp msgid "" "When exporting or deploying, the resulting executable will attempt to connect " "to the IP of this computer in order to be debugged." msgstr "" +"При экспорте или развёртывании, полученный исполняемый файл будет пытаться " +"подключиться к IP этого компьютера с целью отладки." #: tools/editor/editor_node.cpp msgid "Small Deploy with Network FS" -msgstr "" +msgstr "Небольшое развёртывание через сеть" #: tools/editor/editor_node.cpp msgid "" @@ -1760,6 +1746,11 @@ msgid "" "On Android, deploy will use the USB cable for faster performance. This option " "speeds up testing for games with a large footprint." msgstr "" +"Когда эта опция включена, экспорт или развёртывание будет создавать " +"минимальный исполняемый файл.\n" +"Файловая система проекта будет предоставляться редактором через сеть.\n" +"На Android развёртывание будет быстрее при подключении через USB.\n" +"Эта опция ускоряет тестирование больших проектов." #: tools/editor/editor_node.cpp msgid "Visible Collision Shapes" @@ -1770,6 +1761,8 @@ msgid "" "Collision shapes and raycast nodes (for 2D and 3D) will be visible on the " "running game if this option is turned on." msgstr "" +"Когда эта опция включена, области соприкосновений и ноды Raycast(в 2D и 3D) " +"будут видимыми в запущенной игре." #: tools/editor/editor_node.cpp msgid "Visible Navigation" @@ -1780,10 +1773,12 @@ msgid "" "Navigation meshes and polygons will be visible on the running game if this " "option is turned on." msgstr "" +"Когда эта опция включена, навигационные полисетки и полигоны будут видимыми " +"в запущенной игре." #: tools/editor/editor_node.cpp msgid "Sync Scene Changes" -msgstr "" +msgstr "Синхронизация изменений на сцене" #: tools/editor/editor_node.cpp msgid "" @@ -1792,11 +1787,14 @@ msgid "" "When used remotely on a device, this is more efficient with network " "filesystem." msgstr "" +"Когда эта опция включена, все изменения, внесённые на сцену, в редакторе " +"будут перенесены в запущенную игру.\n" +"При удалённом использовании на устройстве, это работает более эффективно с " +"сетевой файловой системой." #: tools/editor/editor_node.cpp -#, fuzzy msgid "Sync Script Changes" -msgstr "Обновлять при изменениях" +msgstr "Синхронизация изменений в скриптах" #: tools/editor/editor_node.cpp msgid "" @@ -1805,6 +1803,10 @@ msgid "" "When used remotely on a device, this is more efficient with network " "filesystem." msgstr "" +"Когда эта опция включена, любой сохранённый скрипт будет перезагружен в " +"запущенную игру.\n" +"При удалённом использовании на устройстве, это работает более эффективно с " +"сетевой файловой системой." #: tools/editor/editor_node.cpp tools/editor/plugins/spatial_editor_plugin.cpp msgid "Settings" @@ -2068,9 +2070,8 @@ msgid "Imported Resources" msgstr "Импортированные ресурсы" #: tools/editor/io_plugins/editor_bitmask_import_plugin.cpp -#, fuzzy msgid "No bit masks to import!" -msgstr "Нет элементов для импорта!" +msgstr "Нет битовой маски для импорта!" #: tools/editor/io_plugins/editor_bitmask_import_plugin.cpp #: tools/editor/io_plugins/editor_sample_import_plugin.cpp @@ -2100,9 +2101,8 @@ msgid "Save path is empty!" msgstr "Путь сохранения пуст!" #: tools/editor/io_plugins/editor_bitmask_import_plugin.cpp -#, fuzzy msgid "Import BitMasks" -msgstr "Импорт текстур" +msgstr "Импорт битовой маски" #: tools/editor/io_plugins/editor_bitmask_import_plugin.cpp #: tools/editor/io_plugins/editor_texture_import_plugin.cpp @@ -2129,7 +2129,7 @@ msgstr "Принять" #: tools/editor/io_plugins/editor_bitmask_import_plugin.cpp msgid "Bit Mask" -msgstr "" +msgstr "Битовая маска" #: tools/editor/io_plugins/editor_font_import_plugin.cpp msgid "No source font file!" @@ -2164,7 +2164,7 @@ msgid "The quick brown fox jumps over the lazy dog." msgstr "" "Съешь ещё этих мягких французских булок да выпей чаю. \n" "The quick brown fox jumps over the lazy dog.\n" -"0123456789`!@#$%^&*()_+-=\\/" +"0123456789`!@#$%^&*()_+-=\\/." #: tools/editor/io_plugins/editor_font_import_plugin.cpp msgid "Test:" @@ -2646,18 +2646,18 @@ msgid "MultiNode Set" msgstr "Мульти нодовый набор" #: tools/editor/node_dock.cpp -#, fuzzy msgid "Node" -msgstr "Mix Node" +msgstr "Нод" #: tools/editor/node_dock.cpp -#, fuzzy msgid "Groups" -msgstr "Группы:" +msgstr "Группы" #: tools/editor/node_dock.cpp msgid "Select a Node to edit Signals and Groups." msgstr "" +"Выберите нод для редактирования\n" +"сигналов и групп." #: tools/editor/plugins/animation_player_editor_plugin.cpp msgid "Toggle Autoplay" @@ -2774,7 +2774,7 @@ msgstr "Загрузить анимацию с диска." #: tools/editor/plugins/animation_player_editor_plugin.cpp msgid "Save the current animation" -msgstr "Сохранить текущую анимацию." +msgstr "Сохранить текущую анимацию" #: tools/editor/plugins/animation_player_editor_plugin.cpp msgid "Display list of animations in player." @@ -2925,39 +2925,39 @@ msgstr "Дерево анимации не действительно." #: tools/editor/plugins/animation_tree_editor_plugin.cpp msgid "Animation Node" -msgstr "Animation Node" +msgstr "Animation нод" #: tools/editor/plugins/animation_tree_editor_plugin.cpp msgid "OneShot Node" -msgstr "OneShot Node" +msgstr "OneShot нод" #: tools/editor/plugins/animation_tree_editor_plugin.cpp msgid "Mix Node" -msgstr "Mix Node" +msgstr "Mix нод" #: tools/editor/plugins/animation_tree_editor_plugin.cpp msgid "Blend2 Node" -msgstr "Blend2 Node" +msgstr "Blend2 нод" #: tools/editor/plugins/animation_tree_editor_plugin.cpp msgid "Blend3 Node" -msgstr "Blend3 Node" +msgstr "Blend3 нод" #: tools/editor/plugins/animation_tree_editor_plugin.cpp msgid "Blend4 Node" -msgstr "Blend4 Node" +msgstr "Blend4 нод" #: tools/editor/plugins/animation_tree_editor_plugin.cpp msgid "TimeScale Node" -msgstr "TimeScale Node" +msgstr "TimeScale нод" #: tools/editor/plugins/animation_tree_editor_plugin.cpp msgid "TimeSeek Node" -msgstr "TimeSeek Node" +msgstr "TimeSeek нод" #: tools/editor/plugins/animation_tree_editor_plugin.cpp msgid "Transition Node" -msgstr "Transition Node" +msgstr "Transition нод" #: tools/editor/plugins/animation_tree_editor_plugin.cpp msgid "Import Animations.." @@ -3971,14 +3971,12 @@ msgid "Auto Indent" msgstr "Автоотступ" #: tools/editor/plugins/script_editor_plugin.cpp -#, fuzzy msgid "Reload Tool Script" -msgstr "Перезагрузить скрипты" +msgstr "Перезагрузить инструм. скрипт" #: tools/editor/plugins/script_editor_plugin.cpp -#, fuzzy msgid "Reload Tool Script (Soft)" -msgstr "Перезагрузить скрипты" +msgstr "Перезагрузить инструм. скрипт (мягко)" #: tools/editor/plugins/script_editor_plugin.cpp #: tools/editor/plugins/shader_editor_plugin.cpp @@ -4635,20 +4633,20 @@ msgid "StyleBox Preview:" msgstr "StyleBox предпросмотр:" #: tools/editor/plugins/texture_region_editor_plugin.cpp -#, fuzzy msgid "Texture Region Editor" -msgstr "Редактор Области Спрайта" +msgstr "Редактор области текстуры" #: tools/editor/plugins/texture_region_editor_plugin.cpp -#, fuzzy msgid "Scale Region Editor" -msgstr "Редактор Области Спрайта" +msgstr "Редактор масштабируемой области текстуры" #: tools/editor/plugins/texture_region_editor_plugin.cpp msgid "" "No texture in this node.\n" "Set a texture to be able to edit region." msgstr "" +"В этом ноде нет текстуры.\n" +"Выберите текстуру, чтобы редактировать область." #: tools/editor/plugins/theme_editor_plugin.cpp msgid "Can't save theme to file:" @@ -5171,14 +5169,12 @@ msgid "Remove project from the list? (Folder contents will not be modified)" msgstr "Удалить проект из списка? (Содержимое папки не будет изменено)" #: tools/editor/project_manager.cpp -#, fuzzy msgid "Project Manager" -msgstr "Название проекта:" +msgstr "Менеджер проектов" #: tools/editor/project_manager.cpp -#, fuzzy msgid "Project List" -msgstr "Выйти в список проектов" +msgstr "Список проектов" #: tools/editor/project_manager.cpp msgid "Run" @@ -5198,7 +5194,7 @@ msgstr "Выход" #: tools/editor/project_settings.cpp msgid "Key " -msgstr "Кнопка" +msgstr "Кнопка " #: tools/editor/project_settings.cpp msgid "Joy Button" @@ -5334,14 +5330,12 @@ msgstr "" "константы." #: tools/editor/project_settings.cpp -#, fuzzy msgid "Autoload '%s' already exists!" -msgstr "Действие '%s' уже существует!" +msgstr "Автозагрузка '%s' уже существует!" #: tools/editor/project_settings.cpp -#, fuzzy msgid "Rename Autoload" -msgstr "Удалена автозагрузка" +msgstr "Переименовать автозагрузку" #: tools/editor/project_settings.cpp msgid "Toggle AutoLoad Globals" @@ -5691,9 +5685,7 @@ msgstr "Не могу работать с нодами из внешней сц #: tools/editor/scene_tree_dock.cpp msgid "Can't operate on nodes the current scene inherits from!" -msgstr "" -"Не могу работать с нодами текущей сцены, наследуемой откуда-то!\n" -"Очистите наследование, чтобы продолжить работу с ними." +msgstr "Невозможно работать с нодами текущей сцены, наследуемой откуда-то!" #: tools/editor/scene_tree_dock.cpp msgid "Remove Node(s)" @@ -5861,7 +5853,7 @@ msgstr "Файлы не выбраны!" #: tools/editor/scenes_dock.cpp msgid "Instance" -msgstr "Экземпляр" +msgstr "Добавить экземпляр" #: tools/editor/scenes_dock.cpp msgid "Edit Dependencies.." @@ -5872,9 +5864,8 @@ msgid "View Owners.." msgstr "Просмотреть владельцев.." #: tools/editor/scenes_dock.cpp -#, fuzzy msgid "Copy Path" -msgstr "Копировать параметры" +msgstr "Копировать путь" #: tools/editor/scenes_dock.cpp msgid "Rename or Move.." @@ -6050,7 +6041,7 @@ msgstr "Дерево сцены в реальном времени:" #: tools/editor/script_editor_debugger.cpp msgid "Remote Object Properties: " -msgstr "Параметры объекта:" +msgstr "Параметры объекта: " #: tools/editor/script_editor_debugger.cpp msgid "Profiler" @@ -6114,7 +6105,7 @@ msgstr "Установить из дерева нодов" #: tools/editor/settings_config_dialog.cpp msgid "Shortcuts" -msgstr "" +msgstr "Горячие клавиши" #: tools/editor/spatial_editor_gizmos.cpp msgid "Change Light Radius" |