diff options
Diffstat (limited to 'tools')
95 files changed, 18827 insertions, 6864 deletions
diff --git a/tools/collada/collada.cpp b/tools/collada/collada.cpp index 11a0e1726b..268d42a613 100644 --- a/tools/collada/collada.cpp +++ b/tools/collada/collada.cpp @@ -681,9 +681,6 @@ void Collada::_parse_effect_material(XMLParser& parser,Effect &effect,String &id } else { String uri = effect.params[surface]; - int channel=0; - //if (parser.has_attribute("texcoord")) - if (what=="diffuse") { effect.diffuse.texture=uri; @@ -759,9 +756,6 @@ void Collada::_parse_effect_material(XMLParser& parser,Effect &effect,String &id } else { String uri = effect.params[surface]; - int channel=0; - //if (parser.has_attribute("texcoord")) - if (parser.has_attribute("bumptype") && parser.get_attribute_value("bumptype")!="NORMALMAP") { WARN_PRINT("'bump' texture type is not NORMALMAP, only NORMALMAP is supported.") } @@ -2636,7 +2630,6 @@ void Collada::_find_morph_nodes(VisualScene *p_vscene,Node *p_node) { base=sk.base; } else if (state.morph_controller_data_map.has(base)) { - MorphControllerData &sk = state.morph_controller_data_map[base]; state.morph_ownership_map[base]=nj->id; break; } else { diff --git a/tools/doc/doc_data.cpp b/tools/doc/doc_data.cpp index 470dd078ae..398267937b 100644 --- a/tools/doc/doc_data.cpp +++ b/tools/doc/doc_data.cpp @@ -36,21 +36,6 @@ #include "io/compression.h" #include "scene/resources/theme.h" -struct _ConstantComparator { - - inline bool operator()(const DocData::ConstantDoc &a, const DocData::ConstantDoc &b) const { - String left_a = a.name.find("_") == -1 ? a.name : a.name.substr(0, a.name.find("_")); - String left_b = b.name.find("_") == -1 ? b.name : b.name.substr(0, b.name.find("_")); - if (left_a == left_b) // If they have the same prefix - if (a.value == b.value) - return a.name < b.name; // Sort by name if the values are the same - else - return a.value < b.value; // Sort by value otherwise - else - return left_a < left_b; // Sort by name if the prefixes aren't the same - } -}; - void DocData::merge_from(const DocData& p_data) { for( Map<String,ClassDoc>::Element *E=class_list.front();E;E=E->next()) { @@ -955,11 +940,11 @@ Error DocData::save(const String& p_path) { _write_string(f,0,header); _write_string(f,1,"<brief_description>"); if (c.brief_description!="") - _write_string(f,1,c.brief_description.xml_escape()); + _write_string(f,2,c.brief_description.xml_escape()); _write_string(f,1,"</brief_description>"); _write_string(f,1,"<description>"); if (c.description!="") - _write_string(f,1,c.description.xml_escape()); + _write_string(f,2,c.description.xml_escape()); _write_string(f,1,"</description>"); _write_string(f,1,"<methods>"); @@ -995,7 +980,7 @@ Error DocData::save(const String& p_path) { _write_string(f,3,"<description>"); if (m.description!="") - _write_string(f,3,m.description.xml_escape()); + _write_string(f,4,m.description.xml_escape()); _write_string(f,3,"</description>"); _write_string(f,2,"</method>"); @@ -1041,7 +1026,7 @@ Error DocData::save(const String& p_path) { _write_string(f,3,"<description>"); if (m.description!="") - _write_string(f,3,m.description.xml_escape()); + _write_string(f,4,m.description.xml_escape()); _write_string(f,3,"</description>"); _write_string(f,2,"</signal>"); @@ -1052,7 +1037,6 @@ Error DocData::save(const String& p_path) { _write_string(f,1,"<constants>"); - c.constants.sort_custom<_ConstantComparator>(); for(int i=0;i<c.constants.size();i++) { diff --git a/tools/editor/animation_editor.cpp b/tools/editor/animation_editor.cpp index 7582162b72..9eb6b4013f 100644 --- a/tools/editor/animation_editor.cpp +++ b/tools/editor/animation_editor.cpp @@ -85,7 +85,6 @@ private: int points = 48; if (mode==MODE_MULTIPLE) { - int max_draw = 16; Color mcolor=color; mcolor.a*=0.3; @@ -694,11 +693,103 @@ void AnimationKeyEditor::_menu_add_track(int p_type) { } } +void AnimationKeyEditor::_anim_duplicate_keys(bool transpose) { + //duplicait! + if (selection.size() && animation.is_valid() && selected_track>=0 && selected_track<animation->get_track_count()) { + + int top_track=0x7FFFFFFF; + float top_time = 1e10; + for(Map<SelectedKey,KeyInfo>::Element *E=selection.back();E;E=E->prev()) { + + const SelectedKey &sk = E->key(); + + float t = animation->track_get_key_time(sk.track,sk.key); + if (t<top_time) + top_time=t; + if (sk.track<top_track) + top_track=sk.track; + + } + ERR_FAIL_COND( top_track == 0x7FFFFFFF || top_time==1e10 ); + + // + + int start_track = transpose ? selected_track : top_track; + + undo_redo->create_action(TTR("Anim Duplicate Keys")); + + List<Pair<int,float> > new_selection_values; + + for(Map<SelectedKey,KeyInfo>::Element *E=selection.back();E;E=E->prev()) { + + const SelectedKey &sk = E->key(); + + float t = animation->track_get_key_time(sk.track,sk.key); + + float dst_time = t+(timeline_pos - top_time); + int dst_track = sk.track + (start_track - top_track); + + if (dst_track < 0 || dst_track>= animation->get_track_count()) + continue; + + if (animation->track_get_type(dst_track) != animation->track_get_type(sk.track)) + continue; + + int existing_idx = animation->track_find_key(dst_track,dst_time,true); + + undo_redo->add_do_method(animation.ptr(),"track_insert_key",dst_track,dst_time,animation->track_get_key_value(E->key().track,E->key().key),animation->track_get_key_transition(E->key().track,E->key().key)); + undo_redo->add_undo_method(animation.ptr(),"track_remove_key_at_pos",dst_track,dst_time); + + Pair<int,float> p; + p.first=dst_track; + p.second=dst_time; + new_selection_values.push_back( p ); + + if (existing_idx!=-1) { + + undo_redo->add_undo_method(animation.ptr(),"track_insert_key",dst_track,dst_time,animation->track_get_key_value(dst_track,existing_idx),animation->track_get_key_transition(dst_track,existing_idx)); + + } + + } + + undo_redo->commit_action(); + + //reselect duplicated + + Map<SelectedKey,KeyInfo> new_selection; + for (List<Pair<int,float> >::Element *E=new_selection_values.front();E;E=E->next()) { + + int track=E->get().first; + float time = E->get().second; + + int existing_idx = animation->track_find_key(track,time,true); + + if (existing_idx==-1) + continue; + SelectedKey sk2; + sk2.track=track; + sk2.key=existing_idx; + + KeyInfo ki; + ki.pos=time; + + new_selection[sk2]=ki; + + } + + + selection=new_selection; + track_editor->update(); + _edit_if_single_selection(); + + } +} + void AnimationKeyEditor::_menu_track(int p_type) { ERR_FAIL_COND(!animation.is_valid()); - last_menu_track_opt=p_type; switch(p_type) { @@ -766,108 +857,7 @@ void AnimationKeyEditor::_menu_track(int p_type) { case TRACK_MENU_DUPLICATE: case TRACK_MENU_DUPLICATE_TRANSPOSE: { - - //duplicait! - if (selection.size() && animation.is_valid() && selected_track>=0 && selected_track<animation->get_track_count()) { - - - int top_track=0x7FFFFFFF; - float top_time = 1e10; - for(Map<SelectedKey,KeyInfo>::Element *E=selection.back();E;E=E->prev()) { - - const SelectedKey &sk = E->key(); - - float t = animation->track_get_key_time(sk.track,sk.key); - if (t<top_time) - top_time=t; - if (sk.track<top_track) - top_track=sk.track; - - - } - ERR_FAIL_COND( top_track == 0x7FFFFFFF || top_time==1e10 ); - - // - - int start_track = p_type==TRACK_MENU_DUPLICATE_TRANSPOSE ? selected_track : top_track; - - - undo_redo->create_action(TTR("Anim Duplicate Keys")); - - List<Pair<int,float> > new_selection_values; - - for(Map<SelectedKey,KeyInfo>::Element *E=selection.back();E;E=E->prev()) { - - const SelectedKey &sk = E->key(); - - float t = animation->track_get_key_time(sk.track,sk.key); - - float dst_time = t+(timeline_pos - top_time); - int dst_track = sk.track + (start_track - top_track); - - if (dst_track < 0 || dst_track>= animation->get_track_count()) - continue; - - if (animation->track_get_type(dst_track) != animation->track_get_type(sk.track)) - continue; - - int existing_idx = animation->track_find_key(dst_track,dst_time,true); - - undo_redo->add_do_method(animation.ptr(),"track_insert_key",dst_track,dst_time,animation->track_get_key_value(E->key().track,E->key().key),animation->track_get_key_transition(E->key().track,E->key().key)); - undo_redo->add_undo_method(animation.ptr(),"track_remove_key_at_pos",dst_track,dst_time); - - Pair<int,float> p; - p.first=dst_track; - p.second=dst_time; - new_selection_values.push_back( p ); - - if (existing_idx!=-1) { - - undo_redo->add_undo_method(animation.ptr(),"track_insert_key",dst_track,dst_time,animation->track_get_key_value(dst_track,existing_idx),animation->track_get_key_transition(dst_track,existing_idx)); - - } - - - - } - - undo_redo->commit_action(); - - //reselect duplicated - - Map<SelectedKey,KeyInfo> new_selection; - for (List<Pair<int,float> >::Element *E=new_selection_values.front();E;E=E->next()) { - - - int track=E->get().first; - float time = E->get().second; - - int existing_idx = animation->track_find_key(track,time,true); - - if (existing_idx==-1) - continue; - SelectedKey sk2; - sk2.track=track; - sk2.key=existing_idx; - - KeyInfo ki; - ki.pos=time; - - - new_selection[sk2]=ki; - - - } - - - selection=new_selection; - track_editor->update(); - _edit_if_single_selection(); - - - } - - + _anim_duplicate_keys(p_type==TRACK_MENU_DUPLICATE_TRANSPOSE); } break; case TRACK_MENU_SET_ALL_TRANS_LINEAR: case TRACK_MENU_SET_ALL_TRANS_CONSTANT: @@ -1356,7 +1346,6 @@ void AnimationKeyEditor::_track_editor_draw() { } } - Color sep_color=color; color.a*=0.5; for(int i=0;i<fit;i++) { @@ -1620,9 +1609,7 @@ void AnimationKeyEditor::_track_menu_selected(int p_idx) { undo_redo->add_do_method(animation.ptr(),"track_set_interpolation_type",interp_editing,p_idx); undo_redo->add_undo_method(animation.ptr(),"track_set_interpolation_type",interp_editing,animation->track_get_interpolation_type(interp_editing)); undo_redo->commit_action(); - } - - if (cont_editing!=-1) { + } else if (cont_editing!=-1) { ERR_FAIL_INDEX(cont_editing,animation->get_track_count()); @@ -1630,6 +1617,16 @@ void AnimationKeyEditor::_track_menu_selected(int p_idx) { undo_redo->add_do_method(animation.ptr(),"value_track_set_update_mode",cont_editing,p_idx); undo_redo->add_undo_method(animation.ptr(),"value_track_set_update_mode",cont_editing,animation->value_track_get_update_mode(cont_editing)); undo_redo->commit_action(); + } else { + switch (p_idx) { + + case RIGHT_MENU_DUPLICATE: + _anim_duplicate_keys(); break; + case RIGHT_MENU_DUPLICATE_TRANSPOSE: + _anim_duplicate_keys(true); break; + case RIGHT_MENU_REMOVE: + _anim_delete_keys(); break; + } } } @@ -1791,6 +1788,25 @@ bool AnimationKeyEditor::_edit_if_single_selection() { } +void AnimationKeyEditor::_anim_delete_keys() { + if (selection.size()) { + undo_redo->create_action(TTR("Anim Delete Keys")); + + for(Map<SelectedKey,KeyInfo>::Element *E=selection.back();E;E=E->prev()) { + + undo_redo->add_do_method(animation.ptr(),"track_remove_key",E->key().track,E->key().key); + undo_redo->add_undo_method(animation.ptr(),"track_insert_key",E->key().track,E->get().pos,animation->track_get_key_value(E->key().track,E->key().key),animation->track_get_key_transition(E->key().track,E->key().key)); + + } + undo_redo->add_do_method(this,"_clear_selection_for_anim",animation); + undo_redo->add_undo_method(this,"_clear_selection_for_anim",animation); + undo_redo->commit_action(); + //selection.clear(); + accept_event(); + _edit_if_single_selection(); + } +} + void AnimationKeyEditor::_track_editor_input_event(const InputEvent& p_input) { Control *te=track_editor; @@ -1806,8 +1822,6 @@ void AnimationKeyEditor::_track_editor_input_event(const InputEvent& p_input) { Ref<Font> font = te->get_font("font","Tree"); int sep = get_constant("vseparation","Tree"); int hsep = get_constant("hseparation","Tree"); - Color color = get_color("font_color","Tree"); - Color sepcolor = get_color("guide_color","Tree"); Ref<Texture> remove_icon = get_icon("Remove","EditorIcons"); Ref<Texture> move_up_icon = get_icon("MoveUp","EditorIcons"); Ref<Texture> move_down_icon = get_icon("MoveDown","EditorIcons"); @@ -1863,22 +1877,7 @@ void AnimationKeyEditor::_track_editor_input_event(const InputEvent& p_input) { } else if (p_input.key.scancode==KEY_DELETE && p_input.key.pressed && click.click==ClickOver::CLICK_NONE) { - if (selection.size()) { - undo_redo->create_action(TTR("Anim Delete Keys")); - - for(Map<SelectedKey,KeyInfo>::Element *E=selection.back();E;E=E->prev()) { - - undo_redo->add_do_method(animation.ptr(),"track_remove_key",E->key().track,E->key().key); - undo_redo->add_undo_method(animation.ptr(),"track_insert_key",E->key().track,E->get().pos,animation->track_get_key_value(E->key().track,E->key().key),animation->track_get_key_transition(E->key().track,E->key().key)); - - } - undo_redo->add_do_method(this,"_clear_selection_for_anim",animation); - undo_redo->add_undo_method(this,"_clear_selection_for_anim",animation); - undo_redo->commit_action(); - //selection.clear(); - accept_event(); - _edit_if_single_selection(); - } + _anim_delete_keys(); } else if (animation.is_valid() && animation->get_track_count()>0) { if (p_input.is_pressed() && (p_input.is_action("ui_up") || p_input.is_action("ui_page_up"))) { @@ -1938,6 +1937,116 @@ void AnimationKeyEditor::_track_editor_input_event(const InputEvent& p_input) { v_scroll->set_val( v_scroll->get_val() + v_scroll->get_page() / 8 ); } + if (mb.button_index==BUTTON_RIGHT && mb.pressed) { + + Point2 mpos = Point2(mb.x,mb.y)-ofs; + + if (selection.size() == 0) { + // Auto-select on right-click if nothing is selected + // Note: This code is pretty much duplicated from the left click code, + // both codes could be moved into a function to avoid the duplicated code. + Point2 mpos = Point2(mb.x,mb.y)-ofs; + + if (mpos.y < h ) { + return; + } + + mpos.y -= h; + + int idx = mpos.y / h; + idx+=v_scroll->get_val(); + if (idx <0 || idx>=animation->get_track_count()) + break; + + if (mpos.x < name_limit) { + } else if (mpos.x < settings_limit) { + float pos = mpos.x - name_limit; + pos/=_get_zoom_scale(); + pos+=h_scroll->get_val(); + float w_time = (type_icon[0]->get_width() / _get_zoom_scale())/2.0; + + int kidx = animation->track_find_key(idx,pos); + int kidx_n = kidx+1; + int key=-1; + + if (kidx>=0 && kidx<animation->track_get_key_count(idx)) { + + float kpos = animation->track_get_key_time(idx,kidx); + if (ABS(pos-kpos)<=w_time) { + + key=kidx; + } + } + + if (key==-1 && kidx_n>=0 && kidx_n<animation->track_get_key_count(idx)) { + + float kpos = animation->track_get_key_time(idx,kidx_n); + if (ABS(pos-kpos)<=w_time) { + + key=kidx_n; + } + } + + if (key==-1) { + + click.click=ClickOver::CLICK_SELECT_KEYS; + click.at=Point2(mb.x,mb.y); + click.to=click.at; + click.shift=mb.mod.shift; + selected_track=idx; + track_editor->update(); + //drag select region + return; + + } + + + + SelectedKey sk; + sk.track=idx; + sk.key=key; + KeyInfo ki; + ki.pos= animation->track_get_key_time(idx,key); + click.shift=mb.mod.shift; + click.selk=sk; + + + if (!mb.mod.shift && !selection.has(sk)) + _clear_selection(); + + selection.insert(sk,ki); + + click.click=ClickOver::CLICK_MOVE_KEYS; + click.at=Point2(mb.x,mb.y); + click.to=click.at; + update(); + selected_track=idx; + track_editor->update(); + + if (_edit_if_single_selection() && mb.mod.command) { + edit_button->set_pressed(true); + key_editor_tab->show(); + } + } + } + + if (selection.size()) { + // User has right clicked and we have a selection, show a popup menu with options + track_menu->clear(); + track_menu->set_size(Point2(1,1)); + track_menu->add_item(TTR("Duplicate Selection"), RIGHT_MENU_DUPLICATE); + track_menu->add_item(TTR("Duplicate Transposed"), RIGHT_MENU_DUPLICATE_TRANSPOSE); + track_menu->add_item(TTR("Remove Selection"), RIGHT_MENU_REMOVE); + + track_menu->set_pos(te->get_global_pos()+mpos); + + interp_editing=-1; + cont_editing=-1; + + track_menu->popup(); + } + } + if (mb.button_index==BUTTON_LEFT && !(mb.button_mask&~BUTTON_MASK_LEFT)) { @@ -3007,7 +3116,6 @@ void AnimationKeyEditor::_update_menu() { updating=true; - bool empty= !animation.is_valid(); if (animation.is_valid()) { length->set_val(animation->get_length()); diff --git a/tools/editor/animation_editor.h b/tools/editor/animation_editor.h index 413c73b4b9..131100a205 100644 --- a/tools/editor/animation_editor.h +++ b/tools/editor/animation_editor.h @@ -99,6 +99,12 @@ class AnimationKeyEditor : public VBoxContainer { CURVE_SET_CONSTANT }; + enum { + RIGHT_MENU_DUPLICATE, + RIGHT_MENU_DUPLICATE_TRANSPOSE, + RIGHT_MENU_REMOVE + }; + struct MouseOver { enum Over { @@ -313,6 +319,9 @@ class AnimationKeyEditor : public VBoxContainer { void _add_call_track(const NodePath& p_base); + void _anim_duplicate_keys(bool transpose = false); + void _anim_delete_keys(); + void _root_removed(); protected: diff --git a/tools/editor/asset_library_editor_plugin.cpp b/tools/editor/asset_library_editor_plugin.cpp index ee535310bc..4f685badfb 100644 --- a/tools/editor/asset_library_editor_plugin.cpp +++ b/tools/editor/asset_library_editor_plugin.cpp @@ -444,6 +444,13 @@ void EditorAssetLibraryItemDownload::_close() { void EditorAssetLibraryItemDownload::_install() { String file = download->get_download_file(); + + if (external_install) { + emit_signal("install_asset",file,title->get_text()); + return; + } + + asset_installer->open(file,1); } @@ -465,6 +472,8 @@ void EditorAssetLibraryItemDownload::_bind_methods() { ObjectTypeDB::bind_method("_close",&EditorAssetLibraryItemDownload::_close); ObjectTypeDB::bind_method("_make_request",&EditorAssetLibraryItemDownload::_make_request); + ADD_SIGNAL(MethodInfo("install_asset",PropertyInfo(Variant::STRING,"zip_path"),PropertyInfo(Variant::STRING,"name"))); + } EditorAssetLibraryItemDownload::EditorAssetLibraryItemDownload() { @@ -530,6 +539,8 @@ EditorAssetLibraryItemDownload::EditorAssetLibraryItemDownload() { prev_status=-1; + external_install=false; + } @@ -600,7 +611,8 @@ void EditorAssetLibrary::_install_asset() { EditorAssetLibraryItemDownload *d = downloads_hb->get_child(i)->cast_to<EditorAssetLibraryItemDownload>(); if (d && d->get_asset_id() == description->get_asset_id()) { - EditorNode::get_singleton()->show_warning("Download for this asset is already in progress!"); + if (EditorNode::get_singleton() != NULL) + EditorNode::get_singleton()->show_warning("Download for this asset is already in progress!"); return; } } @@ -610,6 +622,11 @@ void EditorAssetLibrary::_install_asset() { downloads_hb->add_child(download); download->configure(description->get_title(),description->get_asset_id(),description->get_preview_icon(),description->get_download_url(),description->get_sha256()); + if (templates_only) { + download->set_external_install(true); + download->connect("install_asset",this,"_install_external_asset"); + } + } const char* EditorAssetLibrary::sort_key[SORT_MAX]={ @@ -1258,6 +1275,11 @@ void EditorAssetLibrary::_manage_plugins() { +void EditorAssetLibrary::_install_external_asset(String p_zip_path,String p_title) { + + emit_signal("install_asset",p_zip_path,p_title); +} + void EditorAssetLibrary::_bind_methods() { ObjectTypeDB::bind_method("_http_request_completed",&EditorAssetLibrary::_http_request_completed); @@ -1273,6 +1295,11 @@ void EditorAssetLibrary::_bind_methods() { ObjectTypeDB::bind_method("_repository_changed",&EditorAssetLibrary::_repository_changed); ObjectTypeDB::bind_method("_support_toggled",&EditorAssetLibrary::_support_toggled); ObjectTypeDB::bind_method("_rerun_search",&EditorAssetLibrary::_rerun_search); + ObjectTypeDB::bind_method("_install_external_asset",&EditorAssetLibrary::_install_external_asset); + + + + ADD_SIGNAL(MethodInfo("install_asset",PropertyInfo(Variant::STRING,"zip_path"),PropertyInfo(Variant::STRING,"name"))); } diff --git a/tools/editor/asset_library_editor_plugin.h b/tools/editor/asset_library_editor_plugin.h index 89663aa00b..fe40255af9 100644 --- a/tools/editor/asset_library_editor_plugin.h +++ b/tools/editor/asset_library_editor_plugin.h @@ -155,6 +155,8 @@ class EditorAssetLibraryItemDownload : public PanelContainer { int asset_id; + bool external_install; + EditorAssetInstaller *asset_installer; void _close(); @@ -168,6 +170,7 @@ protected: static void _bind_methods(); public: + void set_external_install(bool p_enable) { external_install=p_enable; } int get_asset_id() { return asset_id; } void configure(const String& p_title,int p_asset_id,const Ref<Texture>& p_preview, const String& p_download_url, const String& p_sha256_hash); EditorAssetLibraryItemDownload(); @@ -301,6 +304,8 @@ class EditorAssetLibrary : public PanelContainer { void _repository_changed(int p_repository_id); void _support_toggled(int p_support); + void _install_external_asset(String p_zip_path,String p_title); + friend class EditorAssetLibraryItemDescription; friend class EditorAssetLibraryItem; protected: diff --git a/tools/editor/code_editor.cpp b/tools/editor/code_editor.cpp index 644478923c..71ae171dfe 100644 --- a/tools/editor/code_editor.cpp +++ b/tools/editor/code_editor.cpp @@ -32,6 +32,7 @@ #include "scene/gui/separator.h" #include "scene/resources/dynamic_font.h" #include "os/keyboard.h" +#include "tools/editor/editor_scale.h" void GotoLineDialog::popup_find_line(TextEdit *p_edit) { @@ -984,36 +985,47 @@ void CodeTextEditor::_text_editor_input_event(const InputEvent& p_event) { if (mb.pressed && mb.mod.command) { if (mb.button_index==BUTTON_WHEEL_UP) { - - font_resize_val+=1; - - if (font_resize_timer->get_time_left()==0) - font_resize_timer->start(); - + _zoom_in(); } else if (mb.button_index==BUTTON_WHEEL_DOWN) { - - font_resize_val-=1; - - if (font_resize_timer->get_time_left()==0) - font_resize_timer->start(); + _zoom_out(); } } } else if (p_event.type==InputEvent::KEY) { - const InputEventKey& k=p_event.key; + if (p_event.key.pressed) { + if (ED_IS_SHORTCUT("script_editor/zoom_in", p_event)) { + _zoom_in(); + } + if (ED_IS_SHORTCUT("script_editor/zoom_out", p_event)) { + _zoom_out(); + } + if (ED_IS_SHORTCUT("script_editor/reset_zoom", p_event)) { + _reset_zoom(); + } + } + } +} - if (k.pressed && k.mod.command) { +void CodeTextEditor::_zoom_in() { + font_resize_val+=1; - if (k.scancode==KEY_0) { // reset source font size to default + if (font_resize_timer->get_time_left()==0) + font_resize_timer->start(); +} - Ref<DynamicFont> font = text_editor->get_font("font"); +void CodeTextEditor::_zoom_out() { + font_resize_val-=1; - if (font.is_valid()) { - EditorSettings::get_singleton()->set("global/source_font_size",14); - font->set_size(14); - } - } - } + if (font_resize_timer->get_time_left()==0) + font_resize_timer->start(); +} + +void CodeTextEditor::_reset_zoom() { + Ref<DynamicFont> font = text_editor->get_font("font"); // reset source font size to default + + if (font.is_valid()) { + EditorSettings::get_singleton()->set("global/source_font_size",14); + font->set_size(14); } } @@ -1149,6 +1161,10 @@ void CodeTextEditor::_bind_methods() { CodeTextEditor::CodeTextEditor() { + ED_SHORTCUT("script_editor/zoom_in", TTR("Zoom In"), KEY_MASK_CMD|KEY_EQUAL); + ED_SHORTCUT("script_editor/zoom_out", TTR("Zoom Out"), KEY_MASK_CMD|KEY_MINUS); + ED_SHORTCUT("script_editor/reset_zoom", TTR("Reset Zoom"), KEY_MASK_CMD|KEY_0); + find_replace_bar = memnew( FindReplaceBar ); add_child(find_replace_bar); find_replace_bar->set_h_size_flags(SIZE_EXPAND_FILL); @@ -1198,6 +1214,10 @@ CodeTextEditor::CodeTextEditor() { line_col = memnew( Label ); status_bar->add_child(line_col); line_col->set_valign(Label::VALIGN_CENTER); + line_col->set_autowrap(true); + line_col->set_v_size_flags(SIZE_FILL); + line_col->set_custom_minimum_size(Size2(100,1)*EDSCALE); + status_bar->add_child( memnew( Label ) ); //to keep the height if the other labels are not visible text_editor->connect("input_event", this,"_text_editor_input_event"); diff --git a/tools/editor/code_editor.h b/tools/editor/code_editor.h index bdfd295ded..7983c46f7a 100644 --- a/tools/editor/code_editor.h +++ b/tools/editor/code_editor.h @@ -214,6 +214,9 @@ class CodeTextEditor : public VBoxContainer { void _font_resize_timeout(); void _text_editor_input_event(const InputEvent& p_event); + void _zoom_in(); + void _zoom_out(); + void _reset_zoom(); protected: diff --git a/tools/editor/connections_dialog.cpp b/tools/editor/connections_dialog.cpp index faaae4360b..bdc420c70f 100644 --- a/tools/editor/connections_dialog.cpp +++ b/tools/editor/connections_dialog.cpp @@ -309,6 +309,7 @@ ConnectDialog::ConnectDialog() { tree = memnew(SceneTreeEditor(false)); + tree->get_scene_tree()->connect("item_activated",this,"_ok"); vbc_left->add_margin_child(TTR("Connect To Node:"),tree,true); diff --git a/tools/editor/create_dialog.cpp b/tools/editor/create_dialog.cpp index 5275e1beeb..3ab2e35242 100644 --- a/tools/editor/create_dialog.cpp +++ b/tools/editor/create_dialog.cpp @@ -42,12 +42,13 @@ void CreateDialog::popup(bool p_dontclear) { - popup_centered_ratio(0.6); + popup_centered_ratio(); if (p_dontclear) search_box->select_all(); else search_box->clear(); search_box->grab_focus(); + _update_search(); @@ -153,6 +154,9 @@ void CreateDialog::_update_search() { TreeItem *root = search_options->create_item(); root->set_text(0,base_type); + if (has_icon(base_type,"EditorIcons")) { + root->set_icon(0,get_icon(base_type,"EditorIcons")); + } List<StringName>::Element *I=type_list.front(); TreeItem *to_select=NULL; @@ -160,14 +164,18 @@ void CreateDialog::_update_search() { for(;I;I=I->next()) { + String type=I->get(); + if (base_type=="Node" && type.begins_with("Editor")) + continue; // do not show editor nodes if (!ObjectTypeDB::can_instance(type)) continue; // cant create what can't be instanced - if (search_box->get_text()=="") + + if (search_box->get_text()=="") { add_type(type,types,root,&to_select); - else { + } else { bool found=false; String type=I->get(); @@ -186,7 +194,7 @@ void CreateDialog::_update_search() { add_type(I->get(),types,root,&to_select); } - if (EditorNode::get_editor_data().get_custom_types().has(type)) { + if (EditorNode::get_editor_data().get_custom_types().has(type) && ObjectTypeDB::is_type(type, base_type)) { //there are custom types based on this... cool. //print_line("there are custom types"); @@ -198,6 +206,7 @@ void CreateDialog::_update_search() { if (!show) continue; + if (!types.has(type)) add_type(type,types,root,&to_select); @@ -216,7 +225,7 @@ void CreateDialog::_update_search() { } - if (!to_select && (search_box->get_text()=="" || ct[i].name.findn(search_box->get_text())!=-1)) { + if (!to_select) { to_select=item; } @@ -246,7 +255,6 @@ void CreateDialog::_notification(int p_what) { if (p_what==NOTIFICATION_ENTER_TREE) { connect("confirmed",this,"_confirmed"); - _update_search(); } if (p_what==NOTIFICATION_EXIT_TREE) { diff --git a/tools/editor/dependency_editor.cpp b/tools/editor/dependency_editor.cpp index ad2eb57f00..049bcefc75 100644 --- a/tools/editor/dependency_editor.cpp +++ b/tools/editor/dependency_editor.cpp @@ -80,8 +80,6 @@ void DependencyEditor::_fix_and_find(EditorFileSystemDirectory *efsd, Map<String continue; String path = efsd->get_file_path(i); - Map<String,String> &ss = candidates[file]; - for(Map<String,String>::Element *E=candidates[file].front();E;E=E->next()) { @@ -420,7 +418,7 @@ void DependencyRemoveDialog::show(const Vector<String> &to_erase) { exist=false; owners->clear(); files.clear(); - TreeItem *root=owners->create_item(); + owners->create_item(); // root for(int i=0;i<to_erase.size();i++) { files[to_erase[i]]=NULL; } diff --git a/tools/editor/editor_asset_installer.cpp b/tools/editor/editor_asset_installer.cpp index ec36773d8d..b6051886c0 100644 --- a/tools/editor/editor_asset_installer.cpp +++ b/tools/editor/editor_asset_installer.cpp @@ -317,9 +317,11 @@ void EditorAssetInstaller::ok_pressed() { } msg+=failed_files[i]; } - EditorNode::get_singleton()->show_warning(msg); + if (EditorNode::get_singleton() != NULL) + EditorNode::get_singleton()->show_warning(msg); } else { - EditorNode::get_singleton()->show_warning("Package Installed Successfully!","Success!"); + if (EditorNode::get_singleton() != NULL) + EditorNode::get_singleton()->show_warning("Package Installed Successfully!","Success!"); } diff --git a/tools/editor/editor_autoload_settings.cpp b/tools/editor/editor_autoload_settings.cpp new file mode 100644 index 0000000000..97062b1480 --- /dev/null +++ b/tools/editor/editor_autoload_settings.cpp @@ -0,0 +1,616 @@ +/*************************************************************************/ +/* editor_autoload_settings.cpp */ +/*************************************************************************/ +/* This file is part of: */ +/* GODOT ENGINE */ +/* http://www.godotengine.org */ +/*************************************************************************/ +/* Copyright (c) 2007-2016 Juan Linietsky, Ariel Manzur. */ +/* */ +/* Permission is hereby granted, free of charge, to any person obtaining */ +/* a copy of this software and associated documentation files (the */ +/* "Software"), to deal in the Software without restriction, including */ +/* without limitation the rights to use, copy, modify, merge, publish, */ +/* distribute, sublicense, and/or sell copies of the Software, and to */ +/* permit persons to whom the Software is furnished to do so, subject to */ +/* the following conditions: */ +/* */ +/* The above copyright notice and this permission notice shall be */ +/* included in all copies or substantial portions of the Software. */ +/* */ +/* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, */ +/* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF */ +/* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.*/ +/* IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY */ +/* CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, */ +/* TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE */ +/* SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */ +/*************************************************************************/ + +#include "editor_autoload_settings.h" + +#include "globals.h" +#include "global_constants.h" + +#include "editor_node.h" + +#define PREVIEW_LIST_MAX_SIZE 10 + +void EditorAutoloadSettings::_notification(int p_what) { + + if (p_what == NOTIFICATION_ENTER_TREE) { + + List<String> afn; + ResourceLoader::get_recognized_extensions_for_type("Script", &afn); + ResourceLoader::get_recognized_extensions_for_type("PackedScene", &afn); + + EditorFileDialog *file_dialog = autoload_add_path->get_file_dialog(); + + for (List<String>::Element *E = afn.front(); E; E = E->next()) { + + file_dialog->add_filter("*." + E->get()); + } + } +} + +bool EditorAutoloadSettings::_autoload_name_is_valid(const String& p_name, String* r_error) { + + if (!p_name.is_valid_identifier()) { + if (r_error) + *r_error = TTR("Invalid name.") + "\n" + TTR("Valid characters:")+" a-z, A-Z, 0-9 or _"; + + return false; + } + + if (ObjectTypeDB::type_exists(p_name)) { + if (r_error) + *r_error = TTR("Invalid name. Must not collide with an existing engine class name."); + + return false; + } + + for (int i = 0; i < Variant::VARIANT_MAX; i++) { + if (Variant::get_type_name( Variant::Type(i) ) == p_name) { + if (r_error) + *r_error = TTR("Invalid name. Must not collide with an existing buit-in type name."); + + return false; + } + } + + for (int i = 0; i < GlobalConstants::get_global_constant_count(); i++) { + if (GlobalConstants::get_global_constant_name(i) == p_name) { + if (r_error) + *r_error = TTR("Invalid name. Must not collide with an existing global constant name."); + + return false; + } + } + + return true; +} + +void EditorAutoloadSettings::_autoload_add() { + + String name = autoload_add_name->get_text(); + + String error; + if (!_autoload_name_is_valid(name, &error)) { + EditorNode::get_singleton()->show_warning(error); + return; + } + + String path = autoload_add_path->get_line_edit()->get_text(); + if (!FileAccess::exists(path)) { + EditorNode::get_singleton()->show_warning(TTR("Invalid Path.") + "\n" + TTR("File does not exist.")); + return; + } + + if (!path.begins_with("res://")) { + EditorNode::get_singleton()->show_warning(TTR("Invalid Path.") + "\n"+ TTR("Not in resource path.")); + return; + } + + name = "autoload/" + name; + + UndoRedo* undo_redo = EditorNode::get_singleton()->get_undo_redo(); + + undo_redo->create_action(TTR("Add AutoLoad")); + undo_redo->add_do_property(Globals::get_singleton(), name, "*" + path); + undo_redo->add_do_method(Globals::get_singleton(), "set_persisting", name, true); + + if (Globals::get_singleton()->has(name)) { + undo_redo->add_undo_property(Globals::get_singleton(), name, Globals::get_singleton()->get(name)); + } else { + undo_redo->add_undo_property(Globals::get_singleton(), name, Variant()); + } + + undo_redo->add_do_method(this, "update_autoload"); + undo_redo->add_undo_method(this, "update_autoload"); + + undo_redo->add_do_method(this, "emit_signal", autoload_changed); + undo_redo->add_undo_method(this, "emit_signal", autoload_changed); + + undo_redo->commit_action(); + + autoload_add_path->get_line_edit()->set_text(""); + autoload_add_name->set_text(""); +} + +void EditorAutoloadSettings::_autoload_selected() { + + TreeItem *ti = tree->get_selected(); + + if (!ti) + return; + + selected_autoload = "autoload/" + ti->get_text(0); +} + +void EditorAutoloadSettings::_autoload_edited() { + + if (updating_autoload) + return; + + TreeItem *ti = tree->get_edited(); + int column = tree->get_edited_column(); + + UndoRedo *undo_redo = EditorNode::get_undo_redo(); + + if (column == 0) { + String name = ti->get_text(0); + String old_name = selected_autoload.get_slice("/", 1); + + if (name == old_name) + return; + + String error; + if (!_autoload_name_is_valid(name, &error)) { + ti->set_text(0, old_name); + EditorNode::get_singleton()->show_warning(error); + return; + } + + if (Globals::get_singleton()->has("autoload/" + name)) { + ti->set_text(0, old_name); + EditorNode::get_singleton()->show_warning(vformat(TTR("Autoload '%s' already exists!"), name)); + return; + } + + updating_autoload = true; + + name = "autoload/" + name; + + bool persisting = Globals::get_singleton()->get(selected_autoload); + int order = Globals::get_singleton()->get(selected_autoload); + String path = Globals::get_singleton()->get(selected_autoload); + + undo_redo->create_action(TTR("Rename Autoload")); + + undo_redo->add_do_property(Globals::get_singleton(), name, path); + undo_redo->add_do_method(Globals::get_singleton(), "set_persisting", name, persisting); + undo_redo->add_do_method(Globals::get_singleton(), "set_order", name, order); + undo_redo->add_do_method(Globals::get_singleton(), "clear", selected_autoload); + + undo_redo->add_undo_property(Globals::get_singleton(), selected_autoload, path); + undo_redo->add_undo_method(Globals::get_singleton(), "set_persisting", selected_autoload, persisting); + undo_redo->add_undo_method(Globals::get_singleton(), "set_order", selected_autoload, order); + undo_redo->add_undo_method(Globals::get_singleton(), "clear", name); + + undo_redo->add_do_method(this, "update_autoload"); + undo_redo->add_undo_method(this, "update_autoload"); + + undo_redo->add_do_method(this, "emit_signal", autoload_changed); + undo_redo->add_undo_method(this, "emit_signal", autoload_changed); + + undo_redo->commit_action(); + + selected_autoload = name; + } else if (column == 2) { + updating_autoload = true; + + bool checked = ti->is_checked(2); + String base = "autoload/" + ti->get_text(0); + + int order = Globals::get_singleton()->get_order(base); + String path = Globals::get_singleton()->get(base); + + if (path.begins_with("*")) + path = path.substr(1, path.length()); + + if (checked) + path = "*" + path; + + undo_redo->create_action(TTR("Toggle AutoLoad Globals")); + + undo_redo->add_do_property(Globals::get_singleton(), base, path); + undo_redo->add_undo_property(Globals::get_singleton(), base, Globals::get_singleton()->get(base)); + + undo_redo->add_do_method(Globals::get_singleton(),"set_order", base, order); + undo_redo->add_undo_method(Globals::get_singleton(),"set_order", base, order); + + undo_redo->add_do_method(this, "update_autoload"); + undo_redo->add_undo_method(this, "update_autoload"); + + undo_redo->add_do_method(this, "emit_signal", autoload_changed); + undo_redo->add_undo_method(this, "emit_signal", autoload_changed); + + undo_redo->commit_action(); + } + + updating_autoload = false; +} + +void EditorAutoloadSettings::_autoload_button_pressed(Object *p_item, int p_column, int p_button) { + + TreeItem *ti = p_item->cast_to<TreeItem>(); + + String name = "autoload/" + ti->get_text(0); + + UndoRedo *undo_redo = EditorNode::get_undo_redo(); + + switch (p_button) { + + case BUTTON_MOVE_UP: + case BUTTON_MOVE_DOWN: { + + TreeItem *swap = NULL; + + if (p_button == BUTTON_MOVE_UP) { + swap = ti->get_prev(); + } else { + swap = ti->get_next(); + } + + if (!swap) + return; + + String swap_name = "autoload/" + swap->get_text(0); + + int order = Globals::get_singleton()->get_order(name); + int swap_order = Globals::get_singleton()->get_order(swap_name); + + undo_redo->create_action(TTR("Move Autoload")); + + undo_redo->add_do_method(Globals::get_singleton(), "set_order", name, swap_order); + undo_redo->add_undo_method(Globals::get_singleton(), "set_order", name, order); + + undo_redo->add_do_method(Globals::get_singleton(), "set_order", swap_name, order); + undo_redo->add_undo_method(Globals::get_singleton(), "set_order", swap_name, swap_order); + + undo_redo->add_do_method(this, "update_autoload"); + undo_redo->add_undo_method(this, "update_autoload"); + + undo_redo->add_do_method(this, "emit_signal", autoload_changed); + undo_redo->add_undo_method(this, "emit_signal", autoload_changed); + + undo_redo->commit_action(); + } break; + case BUTTON_DELETE: { + + int order = Globals::get_singleton()->get_order(name); + + undo_redo->create_action(TTR("Remove Autoload")); + + undo_redo->add_do_property(Globals::get_singleton(), name, Variant()); + + undo_redo->add_undo_property(Globals::get_singleton(), name, Globals::get_singleton()->get(name)); + undo_redo->add_undo_method(Globals::get_singleton(), "set_persisting", name, true); + undo_redo->add_undo_method(Globals::get_singleton(), "set_order", order); + + undo_redo->add_do_method(this, "update_autoload"); + undo_redo->add_undo_method(this, "update_autoload"); + + undo_redo->add_do_method(this, "emit_signal", autoload_changed); + undo_redo->add_undo_method(this, "emit_signal", autoload_changed); + + undo_redo->commit_action(); + } break; + } +} + +void EditorAutoloadSettings::_autoload_file_callback(const String& p_path) { + + autoload_add_name->set_text(p_path.get_file().basename()); +} + +void EditorAutoloadSettings::update_autoload() { + + if (updating_autoload) + return; + + updating_autoload = true; + + autoload_cache.clear(); + + tree->clear(); + TreeItem *root = tree->create_item(); + + List<PropertyInfo> props; + Globals::get_singleton()->get_property_list(&props); + + for (List<PropertyInfo>::Element *E = props.front(); E; E = E->next()) { + + const PropertyInfo &pi = E->get(); + + if (!pi.name.begins_with("autoload/")) + continue; + + String name = pi.name.get_slice("/", 1); + String path = Globals::get_singleton()->get(pi.name); + + if (name.empty()) + continue; + + AutoLoadInfo info; + info.name = pi.name; + info.order = Globals::get_singleton()->get_order(pi.name); + + autoload_cache.push_back(info); + + bool global = false; + + if (path.begins_with("*")) { + global = true; + path = path.substr(1, path.length()); + } + + TreeItem *item = tree->create_item(root); + item->set_text(0, name); + item->set_editable(0, true); + + item->set_text(1, path); + item->set_selectable(1, false); + + item->set_cell_mode(2, TreeItem::CELL_MODE_CHECK); + item->set_editable(2, true); + item->set_text(2, TTR("Enable")); + item->set_checked(2, global); + + item->add_button(3, get_icon("MoveUp","EditorIcons"), BUTTON_MOVE_UP); + item->add_button(3, get_icon("MoveDown","EditorIcons"), BUTTON_MOVE_DOWN); + item->add_button(3, get_icon("Del","EditorIcons"), BUTTON_DELETE); + item->set_selectable(3, false); + } + + updating_autoload = false; +} + +Variant EditorAutoloadSettings::get_drag_data_fw(const Point2& p_point, Control *p_control) { + + if (autoload_cache.size() <= 1) + return false; + + StringArray autoloads; + + TreeItem *next = tree->get_next_selected(NULL); + + while (next) { + autoloads.push_back(next->get_text(0)); + next = tree->get_next_selected(next); + } + + if (autoloads.size() == 0 || autoloads.size() == autoload_cache.size()) + return Variant(); + + VBoxContainer *preview = memnew( VBoxContainer ); + + int max_size = MIN(PREVIEW_LIST_MAX_SIZE, autoloads.size()); + + for (int i = 0; i < max_size; i++) { + Label *label = memnew( Label(autoloads[i]) ); + label->set_self_opacity(Math::lerp(1, 0, float(i)/PREVIEW_LIST_MAX_SIZE)); + + preview->add_child(label); + } + + tree->set_drop_mode_flags(Tree::DROP_MODE_INBETWEEN); + tree->set_drag_preview(preview); + + Dictionary drop_data; + drop_data["type"] = "autoload"; + drop_data["autoloads"] = autoloads; + + return drop_data; +} + +bool EditorAutoloadSettings::can_drop_data_fw(const Point2& p_point, const Variant& p_data, Control *p_control) const { + if (updating_autoload) + return false; + + Dictionary drop_data = p_data; + + if (!drop_data.has("type")) + return false; + + if (drop_data.has("type")) { + TreeItem *ti = tree->get_item_at_pos(p_point); + + if (!ti) + return false; + + int section = tree->get_drop_section_at_pos(p_point); + + if (section < -1) + return false; + + return true; + } + + return false; +} + +void EditorAutoloadSettings::drop_data_fw(const Point2& p_point, const Variant& p_data, Control *p_control) { + + TreeItem *ti = tree->get_item_at_pos(p_point); + + if (!ti) + return; + + int section = tree->get_drop_section_at_pos(p_point); + + if (section < -1) + return; + + String name; + bool move_to_back = false; + + if (section < 0) { + name = ti->get_text(0); + } else if (ti->get_next()) { + name = ti->get_next()->get_text(0); + } else { + name = ti->get_text(0); + move_to_back = true; + } + + int order = Globals::get_singleton()->get_order("autoload/" + name); + + AutoLoadInfo aux; + List<AutoLoadInfo>::Element *E = NULL; + + if (!move_to_back) { + aux.order = order; + E = autoload_cache.find(aux); + } + + Dictionary drop_data = p_data; + StringArray autoloads = drop_data["autoloads"]; + + Vector<int> orders; + orders.resize(autoload_cache.size()); + + for (int i = 0; i < autoloads.size(); i++) { + aux.order = Globals::get_singleton()->get_order("autoload/" + autoloads[i]); + + List<AutoLoadInfo>::Element *I = autoload_cache.find(aux); + + if (move_to_back) { + autoload_cache.move_to_back(I); + } else if (E != I) { + autoload_cache.move_before(I, E); + } else if (E->next()) { + E = E->next(); + } else { + break; + } + } + + int i = 0; + + for (List<AutoLoadInfo>::Element *E = autoload_cache.front(); E; E = E->next()) { + orders[i++] = E->get().order; + } + + orders.sort(); + + UndoRedo *undo_redo = EditorNode::get_undo_redo(); + + undo_redo->create_action(TTR("Rearrange Autoloads")); + + i = 0; + + for (List<AutoLoadInfo>::Element *E = autoload_cache.front(); E; E = E->next()) { + undo_redo->add_do_method(Globals::get_singleton(), "set_order", E->get().name, orders[i++]); + undo_redo->add_undo_method(Globals::get_singleton(), "set_order", E->get().name, E->get().order); + } + + orders.clear(); + + undo_redo->add_do_method(this, "update_autoload"); + undo_redo->add_undo_method(this, "update_autoload"); + + undo_redo->add_do_method(this, "emit_signal", autoload_changed); + undo_redo->add_undo_method(this, "emit_signal", autoload_changed); + + undo_redo->commit_action(); +} + +void EditorAutoloadSettings::_bind_methods() { + + ObjectTypeDB::bind_method("_autoload_add", &EditorAutoloadSettings::_autoload_add); + ObjectTypeDB::bind_method("_autoload_selected", &EditorAutoloadSettings::_autoload_selected); + ObjectTypeDB::bind_method("_autoload_edited", &EditorAutoloadSettings::_autoload_edited); + ObjectTypeDB::bind_method("_autoload_button_pressed", &EditorAutoloadSettings::_autoload_button_pressed); + ObjectTypeDB::bind_method("_autoload_file_callback", &EditorAutoloadSettings::_autoload_file_callback); + + ObjectTypeDB::bind_method("get_drag_data_fw", &EditorAutoloadSettings::get_drag_data_fw); + ObjectTypeDB::bind_method("can_drop_data_fw", &EditorAutoloadSettings::can_drop_data_fw); + ObjectTypeDB::bind_method("drop_data_fw", &EditorAutoloadSettings::drop_data_fw); + + ObjectTypeDB::bind_method("update_autoload", &EditorAutoloadSettings::update_autoload); + + ADD_SIGNAL(MethodInfo("autoload_changed")); +} + +EditorAutoloadSettings::EditorAutoloadSettings() { + + autoload_changed = "autoload_changed"; + + updating_autoload = false; + selected_autoload = ""; + + HBoxContainer *hbc = memnew( HBoxContainer ); + add_child(hbc); + + VBoxContainer *vbc_path = memnew( VBoxContainer ); + vbc_path->set_h_size_flags(SIZE_EXPAND_FILL); + + autoload_add_path = memnew( EditorLineEditFileChooser ); + autoload_add_path->set_h_size_flags(SIZE_EXPAND_FILL); + + autoload_add_path->get_file_dialog()->set_mode(EditorFileDialog::MODE_OPEN_FILE); + autoload_add_path->get_file_dialog()->connect("file_selected", this, "_autoload_file_callback"); + + vbc_path->add_margin_child(TTR("Path:"), autoload_add_path); + hbc->add_child(vbc_path); + + VBoxContainer *vbc_name = memnew( VBoxContainer ); + vbc_name->set_h_size_flags(SIZE_EXPAND_FILL); + + HBoxContainer *hbc_name = memnew( HBoxContainer ); + + autoload_add_name = memnew( LineEdit ); + autoload_add_name->set_h_size_flags(SIZE_EXPAND_FILL); + hbc_name->add_child(autoload_add_name); + + Button *add_autoload = memnew( Button ); + add_autoload->set_text(TTR("Add")); + hbc_name->add_child(add_autoload); + add_autoload->connect("pressed", this, "_autoload_add"); + + vbc_name->add_margin_child(TTR("Node Name:"), hbc_name); + hbc->add_child(vbc_name); + + tree = memnew( Tree ); + tree->set_hide_root(true); + tree->set_select_mode(Tree::SELECT_MULTI); + tree->set_single_select_cell_editing_only_when_already_selected(true); + + tree->set_drag_forwarding(this); + + tree->set_columns(4); + tree->set_column_titles_visible(true); + + tree->set_column_title(0,TTR("Name")); + tree->set_column_expand(0,true); + tree->set_column_min_width(0,100); + + tree->set_column_title(1,TTR("Path")); + tree->set_column_expand(1,true); + tree->set_column_min_width(1,100); + + tree->set_column_title(2,TTR("Singleton")); + tree->set_column_expand(2,false); + tree->set_column_min_width(2,80); + + tree->set_column_expand(3,false); + tree->set_column_min_width(3,80); + + tree->connect("cell_selected", this, "_autoload_selected"); + tree->connect("item_edited", this, "_autoload_edited"); + tree->connect("button_pressed", this, "_autoload_button_pressed"); + + add_margin_child(TTR("List:"), tree, true); +} + diff --git a/tools/editor/import_settings.h b/tools/editor/editor_autoload_settings.h index 5a383a1a1a..b61c44b9c2 100644 --- a/tools/editor/import_settings.h +++ b/tools/editor/editor_autoload_settings.h @@ -1,5 +1,5 @@ /*************************************************************************/ -/* import_settings.h */ +/* editor_autoload_settings.h */ /*************************************************************************/ /* This file is part of: */ /* GODOT ENGINE */ @@ -26,57 +26,69 @@ /* TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE */ /* SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */ /*************************************************************************/ -#ifndef IMPORT_SETTINGS_H -#define IMPORT_SETTINGS_H -#include "object.h" -#include "scene/gui/dialogs.h" +#ifndef EDITOR_AUTOLOAD_SETTINGS_H +#define EDITOR_AUTOLOAD_SETTINGS_H + #include "scene/gui/tree.h" -#include "scene/gui/label.h" -#include "scene/gui/option_button.h" -#include "scene/gui/line_edit.h" -#include "scene/gui/file_dialog.h" -#include "scene/gui/progress_bar.h" -#include "scene/gui/slider.h" -#include "scene/gui/spin_box.h" -#include "scene/resources/mesh.h" -#include "editor_import_export.h" -#include "editor_file_system.h" -#include "editor_dir_dialog.h" -class EditorNode; - - -class ImportSettingsDialog : public ConfirmationDialog { - - OBJ_TYPE(ImportSettingsDialog,ConfirmationDialog); - - TreeItem *edited; - EditorNode *editor; + +#include "editor_file_dialog.h" + +class EditorAutoloadSettings : public VBoxContainer { + + OBJ_TYPE( EditorAutoloadSettings, VBoxContainer ); + + enum { + BUTTON_MOVE_UP, + BUTTON_MOVE_DOWN, + BUTTON_DELETE + }; + + String autoload_changed; + + struct AutoLoadInfo { + String name; + int order; + + bool operator==(const AutoLoadInfo& p_info) { + return order == p_info.order; + } + }; + + List<AutoLoadInfo> autoload_cache; + + bool updating_autoload; + int number_of_autoloads; + String selected_autoload; + Tree *tree; - bool updating; + EditorLineEditFileChooser *autoload_add_path; + LineEdit *autoload_add_name; - void _button_pressed(Object *p_button, int p_col, int p_id); - void _item_pressed(int p_idx); - bool _generate_fs(TreeItem *p_parent,EditorFileSystemDirectory *p_dir); + bool _autoload_name_is_valid(const String& p_string, String *r_error = NULL); - String texformat; + void _autoload_add(); + void _autoload_selected(); + void _autoload_edited(); + void _autoload_button_pressed(Object *p_item, int p_column, int p_button); + void _autoload_file_callback(const String& p_path); - void _item_edited(); - virtual void ok_pressed(); + Variant get_drag_data_fw(const Point2& p_point, Control *p_from); + bool can_drop_data_fw(const Point2& p_point, const Variant& p_data, Control *p_from) const; + void drop_data_fw(const Point2& p_point, const Variant& p_data, Control *p_from); protected: - void _notification(int p_what); static void _bind_methods(); -public: - void update_tree(); +public: + void update_autoload(); - void popup_import_settings(); - ImportSettingsDialog(EditorNode *p_editor); + EditorAutoloadSettings(); }; -#endif // IMPORT_SETTINGS_H +#endif + diff --git a/tools/editor/editor_data.cpp b/tools/editor/editor_data.cpp index 0f10041034..8d3fd6c9c2 100644 --- a/tools/editor/editor_data.cpp +++ b/tools/editor/editor_data.cpp @@ -326,6 +326,13 @@ Dictionary EditorData::get_editor_states() const { } +Dictionary EditorData::get_scene_editor_states(int p_idx) const +{ + ERR_FAIL_INDEX_V(p_idx,edited_scene.size(),Dictionary()); + EditedScene es = edited_scene[p_idx]; + return es.editor_states; +} + void EditorData::set_editor_states(const Dictionary& p_states) { List<Variant> keys; @@ -613,11 +620,14 @@ void EditorData::set_edited_scene(int p_idx){ current_edited_scene=p_idx; //swap } -Node* EditorData::get_edited_scene_root(){ - - ERR_FAIL_INDEX_V(current_edited_scene,edited_scene.size(),NULL); - - return edited_scene[current_edited_scene].root; +Node* EditorData::get_edited_scene_root(int p_idx){ + if (p_idx < 0) { + ERR_FAIL_INDEX_V(current_edited_scene,edited_scene.size(),NULL); + return edited_scene[current_edited_scene].root; + } else { + ERR_FAIL_INDEX_V(p_idx,edited_scene.size(),NULL); + return edited_scene[p_idx].root; + } } void EditorData::set_edited_scene_root(Node* p_root) { @@ -630,9 +640,14 @@ int EditorData::get_edited_scene_count() const { return edited_scene.size(); } -void EditorData::set_edited_scene_version(uint64_t version) { +void EditorData::set_edited_scene_version(uint64_t version, int scene_idx) { ERR_FAIL_INDEX(current_edited_scene,edited_scene.size()); - edited_scene[current_edited_scene].version=version; + if (scene_idx < 0) { + edited_scene[current_edited_scene].version=version; + } else { + ERR_FAIL_INDEX(scene_idx,edited_scene.size()); + edited_scene[scene_idx].version=version; + } } @@ -758,10 +773,15 @@ void EditorData::set_edited_scene_import_metadata(Ref<ResourceImportMetadata> p_ } -Ref<ResourceImportMetadata> EditorData::get_edited_scene_import_metadata() const{ +Ref<ResourceImportMetadata> EditorData::get_edited_scene_import_metadata(int idx) const{ ERR_FAIL_INDEX_V(current_edited_scene,edited_scene.size(),Ref<ResourceImportMetadata>()); - return edited_scene[current_edited_scene].medatata; + if(idx<0) { + return edited_scene[current_edited_scene].medatata; + } else { + ERR_FAIL_INDEX_V(idx,edited_scene.size(),Ref<ResourceImportMetadata>()); + return edited_scene[idx].medatata; + } } diff --git a/tools/editor/editor_data.h b/tools/editor/editor_data.h index 319155655d..a0b716f560 100644 --- a/tools/editor/editor_data.h +++ b/tools/editor/editor_data.h @@ -156,6 +156,7 @@ public: void paste_object_params(Object *p_object); Dictionary get_editor_states() const; + Dictionary get_scene_editor_states(int p_idx) const; void set_editor_states(const Dictionary& p_states); void get_editor_breakpoints(List<String> *p_breakpoints); void clear_editor_states(); @@ -184,15 +185,15 @@ public: void set_edited_scene(int p_idx); void set_edited_scene_root(Node* p_root); void set_edited_scene_import_metadata(Ref<ResourceImportMetadata> p_mdata); - Ref<ResourceImportMetadata> get_edited_scene_import_metadata() const; + Ref<ResourceImportMetadata> get_edited_scene_import_metadata(int p_idx = -1) const; int get_edited_scene() const; - Node* get_edited_scene_root(); + Node* get_edited_scene_root(int p_idx = -1); int get_edited_scene_count() const; String get_scene_title(int p_idx) const; String get_scene_path(int p_idx) const; String get_scene_type(int p_idx) const; Ref<Script> get_scene_root_script(int p_idx) const; - void set_edited_scene_version(uint64_t version); + void set_edited_scene_version(uint64_t version, int p_scene_idx = -1); uint64_t get_edited_scene_version() const; uint64_t get_scene_version(int p_idx) const; void clear_edited_scenes(); diff --git a/tools/editor/editor_help.cpp b/tools/editor/editor_help.cpp index 0b60db5ee3..1fc157098c 100644 --- a/tools/editor/editor_help.cpp +++ b/tools/editor/editor_help.cpp @@ -332,7 +332,7 @@ EditorHelpSearch::EditorHelpSearch() { register_text_enter(search_box); set_hide_on_ok(false); search_options->connect("item_activated",this,"_confirmed"); - set_title(TTR("Search Classes")); + set_title(TTR("Search Help")); // search_options->set_hide_root(true); @@ -526,6 +526,7 @@ EditorHelpIndex::EditorHelpIndex() { class_list->connect("item_activated",this,"_tree_item_selected"); get_ok()->set_text(TTR("Open")); + set_title(TTR("Search Classes")); } diff --git a/tools/editor/editor_node.cpp b/tools/editor/editor_node.cpp index ae632ab381..3f93c05919 100644 --- a/tools/editor/editor_node.cpp +++ b/tools/editor/editor_node.cpp @@ -508,8 +508,6 @@ void EditorNode::_rebuild_import_menu() for (int i = 0; i < editor_import_export->get_import_plugin_count(); i++) { p->add_item(editor_import_export->get_import_plugin(i)->get_visible_name(), IMPORT_PLUGIN_BASE + i); } - //p->add_separator(); - //p->add_item(TTR("Re-Import.."), SETTINGS_IMPORT); } void EditorNode::_node_renamed() { @@ -597,7 +595,6 @@ void EditorNode::save_resource(const Ref<Resource>& p_resource) { void EditorNode::save_resource_as(const Ref<Resource>& p_resource,const String& p_at_path) { file->set_mode(EditorFileDialog::MODE_SAVE_FILE); - bool relpaths = (p_resource->has_meta("__editor_relpaths__") && p_resource->get_meta("__editor_relpaths__").operator bool()); current_option=RESOURCE_SAVE_AS; List<String> extensions; @@ -707,7 +704,7 @@ void EditorNode::_get_scene_metadata(const String& p_file) { cf.instance(); Error err = cf->load(path); - if (err!=OK) + if (err!=OK || !cf->has_section("editor_states")) return; //must not exist List<String> esl; @@ -728,9 +725,9 @@ void EditorNode::_get_scene_metadata(const String& p_file) { } -void EditorNode::_set_scene_metadata(const String& p_file) { +void EditorNode::_set_scene_metadata(const String& p_file, int p_idx) { - Node *scene = editor_data.get_edited_scene_root(); + Node *scene = editor_data.get_edited_scene_root(p_idx); if (!scene) return; @@ -743,7 +740,14 @@ void EditorNode::_set_scene_metadata(const String& p_file) { Ref<ConfigFile> cf; cf.instance(); - Dictionary md = editor_data.get_editor_states(); + Dictionary md; + + if (p_idx<0 || editor_data.get_edited_scene()==p_idx) { + md = editor_data.get_editor_states(); + } else { + md = editor_data.get_scene_editor_states(p_idx); + } + List<Variant> keys; md.get_key_list(&keys); @@ -957,9 +961,9 @@ void EditorNode::_save_scene_with_preview(String p_file) { } -void EditorNode::_save_scene(String p_file) { +void EditorNode::_save_scene(String p_file, int idx) { - Node *scene = editor_data.get_edited_scene_root(); + Node *scene = editor_data.get_edited_scene_root(idx); if (!scene) { @@ -973,7 +977,7 @@ void EditorNode::_save_scene(String p_file) { editor_data.apply_changes_in_editors(); - _set_scene_metadata(p_file); + _set_scene_metadata(p_file,idx); Ref<PackedScene> sdata; @@ -1004,7 +1008,7 @@ void EditorNode::_save_scene(String p_file) { return; } - sdata->set_import_metadata(editor_data.get_edited_scene_import_metadata()); + sdata->set_import_metadata(editor_data.get_edited_scene_import_metadata(idx)); int flg=0; if (EditorSettings::get_singleton()->get("on_save/compress_binary_resources")) flg|=ResourceSaver::FLAG_COMPRESS; @@ -1020,7 +1024,10 @@ void EditorNode::_save_scene(String p_file) { if (err==OK) { scene->set_filename( Globals::get_singleton()->localize_path(p_file) ); //EditorFileSystem::get_singleton()->update_file(p_file,sdata->get_type()); - set_current_version(editor_data.get_undo_redo().get_version()); + if (idx < 0 || idx == editor_data.get_edited_scene()) + set_current_version(editor_data.get_undo_redo().get_version()); + else + editor_data.set_edited_scene_version(0,idx); _update_title(); _update_scene_tabs(); } else { @@ -1168,6 +1175,8 @@ void EditorNode::_dialog_action(String p_file) { case SETTINGS_PICK_MAIN_SCENE: { Globals::get_singleton()->set("application/main_scene",p_file); + Globals::get_singleton()->set_persisting("application/main_scene",true); + Globals::get_singleton()->save(); //would be nice to show the project manager opened with the hilighted field.. } break; case FILE_SAVE_OPTIMIZED: { @@ -1551,9 +1560,10 @@ void EditorNode::_property_editor_back() { void EditorNode::_imported(Node *p_node) { - Node *scene = editor_data.get_edited_scene_root(); -// add_edited_scene(p_node); /* + Node *scene = editor_data.get_edited_scene_root(); + add_edited_scene(p_node); + if (scene) { String path = scene->get_filename(); p_node->set_filename(path); @@ -1613,6 +1623,7 @@ void EditorNode::_edit_current() { object_menu->set_disabled(true); bool is_resource = current_obj->is_type("Resource"); + bool is_node = current_obj->is_type("Node"); resource_save_button->set_disabled(!is_resource); if (is_resource) { @@ -1629,7 +1640,7 @@ void EditorNode::_edit_current() { //top_pallete->set_current_tab(1); - } else if (current_obj->is_type("Node")) { + } else if (is_node) { Node * current_node = current_obj->cast_to<Node>(); ERR_FAIL_COND(!current_node); @@ -1725,10 +1736,14 @@ void EditorNode::_edit_current() { p->add_shortcut(ED_SHORTCUT("property_editor/copy_resource",TTR("Copy Resource")),RESOURCE_COPY); p->add_shortcut(ED_SHORTCUT("property_editor/unref_resource",TTR("Make Built-In")),RESOURCE_UNREF); } - p->add_separator(); - p->add_shortcut(ED_SHORTCUT("property_editor/make_subresources_unique",TTR("Make Sub-Resources Unique")),OBJECT_UNIQUE_RESOURCES); - p->add_separator(); - p->add_icon_shortcut(gui_base->get_icon("Help","EditorIcons"),ED_SHORTCUT("property_editor/open_help",TTR("Open in Help")),OBJECT_REQUEST_HELP); + + if (is_resource || is_node) { + p->add_separator(); + p->add_shortcut(ED_SHORTCUT("property_editor/make_subresources_unique",TTR("Make Sub-Resources Unique")),OBJECT_UNIQUE_RESOURCES); + p->add_separator(); + p->add_icon_shortcut(gui_base->get_icon("Help","EditorIcons"),ED_SHORTCUT("property_editor/open_help",TTR("Open in Help")),OBJECT_REQUEST_HELP); + } + List<MethodInfo> methods; current_obj->get_method_list(&methods); @@ -1807,7 +1822,6 @@ void EditorNode::_run(bool p_current,const String& p_custom) { String args; - if (p_current || (editor_data.get_edited_scene_root() && p_custom==editor_data.get_edited_scene_root()->get_filename())) { Node *scene = editor_data.get_edited_scene_root(); @@ -1830,12 +1844,7 @@ void EditorNode::_run(bool p_current,const String& p_custom) { } - bool autosave = EDITOR_DEF("run/auto_save_before_running",true); - if (autosave) { - - _menu_option(FILE_SAVE_SCENE); - } if (run_settings_dialog->get_run_mode()==RunSettingsDialog::RUN_LOCAL_SCENE) { @@ -1908,7 +1917,7 @@ void EditorNode::_run(bool p_current,const String& p_custom) { _save_scene_with_preview(scene->get_filename()); } } - + _menu_option(FILE_SAVE_ALL_SCENES); editor_data.save_editor_external_data(); } @@ -2129,7 +2138,6 @@ void EditorNode::_menu_option_confirm(int p_option,bool p_confirmed) { } file->set_mode(EditorFileDialog::MODE_SAVE_FILE); - bool relpaths = (scene->has_meta("__editor_relpaths__") && scene->get_meta("__editor_relpaths__").operator bool()); List<String> extensions; @@ -2155,7 +2163,7 @@ void EditorNode::_menu_option_confirm(int p_option,bool p_confirmed) { String existing; if (extensions.size()) { String root_name(get_edited_scene()->get_name()); - existing=root_name+".tscn";//+extensions.front()->get().to_lower(); + existing=root_name+"."+extensions.front()->get().to_lower(); } file->set_current_path(existing); @@ -2165,6 +2173,19 @@ void EditorNode::_menu_option_confirm(int p_option,bool p_confirmed) { } break; + case FILE_SAVE_ALL_SCENES: { + for (int i = 0; i < editor_data.get_edited_scene_count(); i++) { + Node *scene = editor_data.get_edited_scene_root(i); + if (scene && scene->get_filename()!="") { + // save in background if in the script editor + if (i != editor_data.get_edited_scene() || _get_current_main_editor() == EDITOR_SCRIPT) { + _save_scene(scene->get_filename(), i); + } else { + _save_scene_with_preview(scene->get_filename()); + } + }// else: ignore new scenes + } + } break; case FILE_SAVE_BEFORE_RUN: { if (!p_confirmed) { accept->get_ok()->set_text(TTR("Yes")); @@ -2210,8 +2231,6 @@ void EditorNode::_menu_option_confirm(int p_option,bool p_confirmed) { } - bool relpaths = (scene->has_meta("__editor_relpaths__") && scene->get_meta("__editor_relpaths__").operator bool()); - file->set_mode(EditorFileDialog::MODE_SAVE_FILE); file->set_current_path(cpath); @@ -2220,8 +2239,8 @@ void EditorNode::_menu_option_confirm(int p_option,bool p_confirmed) { } break; case FILE_SAVE_OPTIMIZED: { - Node *scene = editor_data.get_edited_scene_root(); #if 0 + Node *scene = editor_data.get_edited_scene_root(); if (!scene) { current_option=-1; @@ -2494,7 +2513,7 @@ void EditorNode::_menu_option_confirm(int p_option,bool p_confirmed) { #endif case RESOURCE_NEW: { - create_dialog->popup_centered_ratio(); + create_dialog->popup(true); } break; case RESOURCE_LOAD: { @@ -2665,11 +2684,16 @@ void EditorNode::_menu_option_confirm(int p_option,bool p_confirmed) { } break; case RUN_PLAY_NATIVE: { - _menu_option_confirm(RUN_STOP,true); - emit_signal("play_pressed"); - editor_run.run_native_notify(); - - + + bool autosave = EDITOR_DEF("run/auto_save_before_running",true); + if (autosave) { + _menu_option_confirm(FILE_SAVE_ALL_SCENES, false); + } + if (run_native->is_deploy_debug_remote_enabled()){ + _menu_option_confirm(RUN_STOP,true); + emit_signal("play_pressed"); + editor_run.run_native_notify(); + } } break; case RUN_SCENE_SETTINGS: { @@ -2782,10 +2806,6 @@ void EditorNode::_menu_option_confirm(int p_option,bool p_confirmed) { settings_config_dialog->popup_edit_settings(); } break; - case SETTINGS_IMPORT: { - - import_settings->popup_import_settings(); - } break; case SETTINGS_OPTIMIZED_PRESETS: { //optimized_presets->popup_centered_ratio(); @@ -3133,6 +3153,11 @@ void EditorNode::_remove_edited_scene() { new_index=1; } + + + if (editor_data.get_scene_path(old_index)!=String()) { + ScriptEditor::get_singleton()->close_builtin_scripts_from_scene(editor_data.get_scene_path(old_index)); + } _scene_tab_changed(new_index); editor_data.remove_scene(old_index); editor_data.get_undo_redo().clear_history(); @@ -3797,7 +3822,7 @@ void EditorNode::request_instance_scene(const String &p_path) { } -ScenesDock *EditorNode::get_scenes_dock() { +FileSystemDock *EditorNode::get_scenes_dock() { return scenes_dock; } @@ -5639,8 +5664,6 @@ EditorNode::EditorNode() { ED_SHORTCUT("editor/prev_tab", TTR("Previous tab"), KEY_MASK_CMD+KEY_MASK_SHIFT+KEY_TAB); - Separator *vs=NULL; - file_menu->set_tooltip(TTR("Operations with scene files.")); p=file_menu->get_popup(); p->add_shortcut(ED_SHORTCUT("editor/new_scene",TTR("New Scene")),FILE_NEW_SCENE); @@ -5649,6 +5672,7 @@ EditorNode::EditorNode() { p->add_separator(); p->add_shortcut(ED_SHORTCUT("editor/save_scene",TTR("Save Scene"),KEY_MASK_CMD+KEY_S),FILE_SAVE_SCENE); p->add_shortcut(ED_SHORTCUT("editor/save_scene_as",TTR("Save Scene As.."),KEY_MASK_SHIFT+KEY_MASK_CMD+KEY_S),FILE_SAVE_AS_SCENE); + p->add_shortcut(ED_SHORTCUT("editor/save_all_scenes",TTR("Save all Scenes"),KEY_MASK_ALT+KEY_MASK_SHIFT+KEY_MASK_CMD+KEY_S),FILE_SAVE_ALL_SCENES); p->add_separator(); p->add_shortcut(ED_SHORTCUT("editor/close_scene",TTR("Close Scene"),KEY_MASK_SHIFT+KEY_MASK_CTRL+KEY_W),FILE_CLOSE); p->add_separator(); @@ -5841,7 +5865,8 @@ EditorNode::EditorNode() { play_custom_scene_button->set_focus_mode(Control::FOCUS_NONE); play_custom_scene_button->set_icon(gui_base->get_icon("PlayCustom","EditorIcons")); play_custom_scene_button->connect("pressed", this,"_menu_option",make_binds(RUN_PLAY_CUSTOM_SCENE)); - play_custom_scene_button->set_tooltip(TTR("Play custom scene")+" ("+keycode_get_string(KEY_MASK_CMD|KEY_MASK_SHIFT|KEY_F5)+")."); + play_custom_scene_button->set_tooltip(TTR("Play custom scene")); + play_custom_scene_button->set_shortcut(ED_SHORTCUT("editor/play_custom_scene",TTR("Play Custom Scene"),KEY_MASK_CMD|KEY_MASK_SHIFT|KEY_F5)); debug_button = memnew( MenuButton ); debug_button->set_flat(true); @@ -6137,7 +6162,7 @@ EditorNode::EditorNode() { //node_dock->set_undoredo(&editor_data.get_undo_redo()); dock_slot[DOCK_SLOT_RIGHT_BL]->add_child(node_dock); - scenes_dock = memnew( ScenesDock(this) ); + scenes_dock = memnew( FileSystemDock(this) ); scenes_dock->set_name(TTR("FileSystem")); scenes_dock->set_use_thumbnails(int(EditorSettings::get_singleton()->get("file_dialog/display_mode"))==EditorFileDialog::DISPLAY_THUMBNAILS); dock_slot[DOCK_SLOT_LEFT_UR]->add_child(scenes_dock); @@ -6289,8 +6314,6 @@ EditorNode::EditorNode() { open_recent_confirmation->connect("confirmed",this,"_open_recent_scene_confirm"); - import_settings= memnew(ImportSettingsDialog(this)); - gui_base->add_child(import_settings); run_settings_dialog = memnew( RunSettingsDialog ); gui_base->add_child( run_settings_dialog ); diff --git a/tools/editor/editor_node.h b/tools/editor/editor_node.h index f694c65db8..9a227d3644 100644 --- a/tools/editor/editor_node.h +++ b/tools/editor/editor_node.h @@ -42,7 +42,7 @@ #include "scene/gui/split_container.h" #include "scene/gui/center_container.h" #include "scene/gui/texture_progress.h" -#include "tools/editor/scenes_dock.h" +#include "tools/editor/filesystem_dock.h" #include "tools/editor/scene_tree_editor.h" #include "tools/editor/property_editor.h" #include "tools/editor/create_dialog.h" @@ -74,7 +74,6 @@ #include "tools/editor/editor_sub_scene.h" #include "editor_import_export.h" #include "editor_reimport_dialog.h" -#include "import_settings.h" #include "tools/editor/editor_plugin.h" #include "tools/editor/editor_name_dialog.h" @@ -125,6 +124,7 @@ private: FILE_OPEN_SCENE, FILE_SAVE_SCENE, FILE_SAVE_AS_SCENE, + FILE_SAVE_ALL_SCENES, FILE_SAVE_BEFORE_RUN, FILE_SAVE_AND_RUN, FILE_IMPORT_SUBSCENE, @@ -177,7 +177,6 @@ private: RUN_RELOAD_SCRIPTS, SETTINGS_UPDATE_ALWAYS, SETTINGS_UPDATE_CHANGES, - SETTINGS_IMPORT, SETTINGS_EXPORT_PREFERENCES, SETTINGS_PREFERENCES, SETTINGS_OPTIMIZED_PRESETS, @@ -276,7 +275,7 @@ private: PropertyEditor *property_editor; NodeDock *node_dock; VBoxContainer *prop_editor_vb; - ScenesDock *scenes_dock; + FileSystemDock *scenes_dock; EditorRunNative *run_native; HBoxContainer *search_bar; @@ -338,7 +337,6 @@ private: Vector<EditorPlugin*> editor_table; EditorReImportDialog *reimport_dialog; - ImportSettingsDialog *import_settings; ProgressDialog *progress_dialog; BackgroundProgress *progress_hb; @@ -441,7 +439,7 @@ private: void _node_renamed(); void _editor_select(int p_which); - void _set_scene_metadata(const String &p_file); + void _set_scene_metadata(const String &p_file, int p_idx=-1); void _get_scene_metadata(const String& p_file); void _update_title(); void _update_scene_tabs(); @@ -451,7 +449,7 @@ private: void _rebuild_import_menu(); - void _save_scene(String p_file); + void _save_scene(String p_file, int idx = -1); void _instance_request(const String& p_path); @@ -668,7 +666,7 @@ public: static VSplitContainer *get_top_split() { return singleton->top_split; } void request_instance_scene(const String &p_path); - ScenesDock *get_scenes_dock(); + FileSystemDock *get_scenes_dock(); SceneTreeDock *get_scene_tree_dock(); static UndoRedo* get_undo_redo() { return &singleton->editor_data.get_undo_redo(); } diff --git a/tools/editor/editor_path.cpp b/tools/editor/editor_path.cpp index 4cf98e832c..6b804b6a24 100644 --- a/tools/editor/editor_path.cpp +++ b/tools/editor/editor_path.cpp @@ -38,7 +38,6 @@ void EditorPath::_notification(int p_what) { RID ci=get_canvas_item(); Ref<Font> label_font = get_font("font","Label"); - Color label_color = get_color("font_color","Label"); Size2i size = get_size(); Ref<Texture> sn = get_icon("SmallNext","EditorIcons"); diff --git a/tools/editor/editor_resource_preview.cpp b/tools/editor/editor_resource_preview.cpp index 1a0e996110..a02fe2a531 100644 --- a/tools/editor/editor_resource_preview.cpp +++ b/tools/editor/editor_resource_preview.cpp @@ -33,6 +33,7 @@ #include "io/resource_saver.h" #include "globals.h" #include "editor_scale.h" +#include "message_queue.h" Ref<Texture> EditorResourcePreviewGenerator::generate_from_path(const String& p_path) { @@ -83,12 +84,10 @@ void EditorResourcePreview::_preview_ready(const String& p_str,const Ref<Texture cache[path]=item; - Object *recv = ObjectDB::get_instance(id); - if (recv) { - recv->call_deferred(p_func,path,p_texture,p_ud); - } - preview_mutex->unlock(); + + MessageQueue::get_singleton()->push_call(id,p_func,path,p_texture,p_ud); + } Ref<Texture> EditorResourcePreview::_generate_preview(const QueueItem& p_item,const String& cache_base) { @@ -107,6 +106,7 @@ Ref<Texture> EditorResourcePreview::_generate_preview(const QueueItem& p_item,co Ref<Texture> generated; for(int i=0;i<preview_generators.size();i++) { + if (!preview_generators[i]->handles(type)) continue; if (p_item.resource.is_valid()) { @@ -157,99 +157,107 @@ void EditorResourcePreview::_thread() { QueueItem item = queue.front()->get(); queue.pop_front(); - preview_mutex->unlock(); - - Ref<Texture> texture; - - //print_line("pop from queue "+item.path); - - int thumbnail_size = EditorSettings::get_singleton()->get("file_dialog/thumbnail_size"); - thumbnail_size*=EDSCALE; if (cache.has(item.path)) { //already has it because someone loaded it, just let it know it's ready if (item.resource.is_valid()) { item.path+=":"+itos(cache[item.path].last_hash); //keep last hash (see description of what this is in condition below) } - call_deferred("_preview_ready",item.path,cache[item.path].preview,item.id,item.function,item.userdata); - - } else if (item.resource.is_valid()){ - texture=_generate_preview(item,String()); - //adding hash to the end of path (should be ID:<objid>:<hash>) because of 5 argument limit to call_deferred - call_deferred("_preview_ready",item.path+":"+itos(item.resource->hash_edited_version()),texture,item.id,item.function,item.userdata); + _preview_ready(item.path,cache[item.path].preview,item.id,item.function,item.userdata); + preview_mutex->unlock(); } else { + preview_mutex->unlock(); + + Ref<Texture> texture; - String temp_path=EditorSettings::get_singleton()->get_settings_path().plus_file("tmp"); - String cache_base = Globals::get_singleton()->globalize_path(item.path).md5_text(); - cache_base = temp_path.plus_file("resthumb-"+cache_base); + //print_line("pop from queue "+item.path); - //does not have it, try to load a cached thumbnail + int thumbnail_size = EditorSettings::get_singleton()->get("file_dialog/thumbnail_size"); + thumbnail_size*=EDSCALE; - String file = cache_base+".txt"; - //print_line("cachetxt at "+file); - FileAccess *f=FileAccess::open(file,FileAccess::READ); - if (!f) { - //print_line("generate because not cached"); + if (item.resource.is_valid()){ + + texture=_generate_preview(item,String()); + //adding hash to the end of path (should be ID:<objid>:<hash>) because of 5 argument limit to call_deferred + _preview_ready(item.path+":"+itos(item.resource->hash_edited_version()),texture,item.id,item.function,item.userdata); - //generate - texture=_generate_preview(item,cache_base); } else { - uint64_t modtime = FileAccess::get_modified_time(item.path); - int tsize = f->get_line().to_int64(); - uint64_t last_modtime = f->get_line().to_int64(); - bool cache_valid = true; + String temp_path=EditorSettings::get_singleton()->get_settings_path().plus_file("tmp"); + String cache_base = Globals::get_singleton()->globalize_path(item.path).md5_text(); + cache_base = temp_path.plus_file("resthumb-"+cache_base); + + //does not have it, try to load a cached thumbnail - if (tsize!=thumbnail_size) { - cache_valid=false; - memdelete(f); - } else if (last_modtime!=modtime) { + String file = cache_base+".txt"; + //print_line("cachetxt at "+file); + FileAccess *f=FileAccess::open(file,FileAccess::READ); + if (!f) { + + //print_line("generate because not cached"); + + //generate + texture=_generate_preview(item,cache_base); + } else { - String last_md5 = f->get_line(); - String md5 = FileAccess::get_md5(item.path); - memdelete(f); + uint64_t modtime = FileAccess::get_modified_time(item.path); + int tsize = f->get_line().to_int64(); + uint64_t last_modtime = f->get_line().to_int64(); - if (last_md5!=md5) { + bool cache_valid = true; + if (tsize!=thumbnail_size) { cache_valid=false; - } else { - //update modified time + memdelete(f); + } else if (last_modtime!=modtime) { + + String last_md5 = f->get_line(); + String md5 = FileAccess::get_md5(item.path); + memdelete(f); + + if (last_md5!=md5) { - f=FileAccess::open(file,FileAccess::WRITE); - f->store_line(itos(modtime)); - f->store_line(md5); + cache_valid=false; + } else { + //update modified time + + f=FileAccess::open(file,FileAccess::WRITE); + f->store_line(itos(modtime)); + f->store_line(md5); + memdelete(f); + } + } else { memdelete(f); } - } else { - memdelete(f); - } - if (cache_valid) { + if (cache_valid) { - texture = ResourceLoader::load(cache_base+".png","ImageTexture",true); - if (!texture.is_valid()) { - //well fuck - cache_valid=false; + texture = ResourceLoader::load(cache_base+".png","ImageTexture",true); + if (!texture.is_valid()) { + //well fuck + cache_valid=false; + } } - } - if (!cache_valid) { + if (!cache_valid) { - texture=_generate_preview(item,cache_base); - } + texture=_generate_preview(item,cache_base); + } - } + } - //print_line("notify of preview ready"); - call_deferred("_preview_ready",item.path,texture,item.id,item.function,item.userdata); + //print_line("notify of preview ready"); + _preview_ready(item.path,texture,item.id,item.function,item.userdata); + } } + } else { preview_mutex->unlock(); } @@ -336,7 +344,7 @@ void EditorResourcePreview::_bind_methods() { ADD_SIGNAL(MethodInfo("preview_invalidated",PropertyInfo(Variant::STRING,"path"))); } -bool EditorResourcePreview::check_for_invalidation(const String& p_path) { +void EditorResourcePreview::check_for_invalidation(const String& p_path) { preview_mutex->lock(); @@ -356,7 +364,7 @@ bool EditorResourcePreview::check_for_invalidation(const String& p_path) { call_deferred("emit_signal","preview_invalidated",p_path); } - return call_invalidated; + } diff --git a/tools/editor/editor_resource_preview.h b/tools/editor/editor_resource_preview.h index fed8f129ed..51a00965eb 100644 --- a/tools/editor/editor_resource_preview.h +++ b/tools/editor/editor_resource_preview.h @@ -121,7 +121,7 @@ public: void queue_edited_resource_preview(const Ref<Resource>& p_path, Object* p_receiver, const StringName& p_receiver_func, const Variant& p_userdata); void add_preview_generator(const Ref<EditorResourcePreviewGenerator>& p_generator); - bool check_for_invalidation(const String& p_path); + void check_for_invalidation(const String& p_path); EditorResourcePreview(); ~EditorResourcePreview(); diff --git a/tools/editor/editor_run_native.cpp b/tools/editor/editor_run_native.cpp index 234dd03087..edbcc71284 100644 --- a/tools/editor/editor_run_native.cpp +++ b/tools/editor/editor_run_native.cpp @@ -101,10 +101,8 @@ void EditorRunNative::_run_native(int p_idx,const String& p_platform) { Ref<EditorExportPlatform> eep = EditorImportExport::get_singleton()->get_export_platform(p_platform); ERR_FAIL_COND(eep.is_null()); - if (deploy_debug_remote) { - emit_signal("native_run"); + emit_signal("native_run"); - } int flags=0; if (deploy_debug_remote) flags|=EditorExportPlatform::EXPORT_REMOTE_DEBUG; diff --git a/tools/editor/editor_settings.cpp b/tools/editor/editor_settings.cpp index 2ce9502293..c150e62754 100644 --- a/tools/editor/editor_settings.cpp +++ b/tools/editor/editor_settings.cpp @@ -115,7 +115,6 @@ bool EditorSettings::_get(const StringName& p_name,Variant &r_ret) const { continue; //not changed from default, don't save } - print_line("SAVING: "+E->key()); arr.push_back(E->key()); arr.push_back(sc->get_shortcut()); } @@ -555,6 +554,7 @@ void EditorSettings::_load_defaults(Ref<ConfigFile> p_extra_config) { set("text_editor/create_signal_callbacks",true); set("text_editor/autosave_interval_secs",0); + set("text_editor/block_caret", false); set("text_editor/caret_blink", false); set("text_editor/caret_blink_speed", 0.65); hints["text_editor/caret_blink_speed"]=PropertyInfo(Variant::REAL,"text_editor/caret_blink_speed",PROPERTY_HINT_RANGE,"0.1, 10, 0.1"); @@ -683,7 +683,10 @@ void EditorSettings::_load_default_text_editor_theme() { set("text_editor/completion_background_color", Color::html("2C2A32")); set("text_editor/completion_selected_color", Color::html("434244")); set("text_editor/completion_existing_color", Color::html("21dfdfdf")); + set("text_editor/completion_scroll_color", Color::html("ffffff")); + set("text_editor/completion_font_color", Color::html("aaaaaa")); set("text_editor/caret_color",Color::html("aaaaaa")); + set("text_editor/caret_background_color", Color::html("000000")); set("text_editor/line_number_color",Color::html("66aaaaaa")); set("text_editor/text_color",Color::html("aaaaaa")); set("text_editor/text_selected_color",Color::html("000000")); @@ -918,7 +921,10 @@ bool EditorSettings::_save_text_editor_theme(String p_file) { cf->set_value(theme_section, "completion_background_color", ((Color)get("text_editor/completion_background_color")).to_html()); cf->set_value(theme_section, "completion_selected_color", ((Color)get("text_editor/completion_selected_color")).to_html()); cf->set_value(theme_section, "completion_existing_color", ((Color)get("text_editor/completion_existing_color")).to_html()); + cf->set_value(theme_section, "completion_scroll_color", ((Color)get("text_editor/completion_scroll_color")).to_html()); + cf->set_value(theme_section, "completion_font_color", ((Color)get("text_editor/completion_font_color")).to_html()); cf->set_value(theme_section, "caret_color", ((Color)get("text_editor/caret_color")).to_html()); + cf->set_value(theme_section, "caret_background_color", ((Color)get("text_editor/caret_background_color")).to_html()); cf->set_value(theme_section, "line_number_color", ((Color)get("text_editor/line_number_color")).to_html()); cf->set_value(theme_section, "text_color", ((Color)get("text_editor/text_color")).to_html()); cf->set_value(theme_section, "text_selected_color", ((Color)get("text_editor/text_selected_color")).to_html()); diff --git a/tools/editor/scenes_dock.cpp b/tools/editor/filesystem_dock.cpp index fa7c898f91..3be122cc7d 100644 --- a/tools/editor/scenes_dock.cpp +++ b/tools/editor/filesystem_dock.cpp @@ -26,7 +26,7 @@ /* TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE */ /* SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */ /*************************************************************************/ -#include "scenes_dock.h" +#include "filesystem_dock.h" #include "os/dir_access.h" #include "os/file_access.h" #include "globals.h" @@ -37,7 +37,9 @@ #include "editor_settings.h" #include "scene/main/viewport.h" -bool ScenesDock::_create_tree(TreeItem *p_parent,EditorFileSystemDirectory *p_dir) { + + +bool FileSystemDock::_create_tree(TreeItem *p_parent,EditorFileSystemDirectory *p_dir) { TreeItem *item = tree->create_item(p_parent); @@ -57,66 +59,14 @@ bool ScenesDock::_create_tree(TreeItem *p_parent,EditorFileSystemDirectory *p_di item->select(0); } - - //item->set_custom_bg_color(0,get_color("prop_subsection","Editor")); - - bool has_items=false; - - for(int i=0;i<p_dir->get_subdir_count();i++) { - - if (_create_tree(item,p_dir->get_subdir(i))) - has_items=true; - } -#if 0 - for (int i=0;i<p_dir->get_file_count();i++) { - - String file_name = p_dir->get_file(i); - String file_path = p_dir->get_file_path(i); - - // ScenesDockFilter::FILTER_PATH - String search_from = file_path.right(6); // trim "res://" - if (file_filter == ScenesDockFilter::FILTER_NAME) - search_from = file_name; - else if (file_filter == ScenesDockFilter::FILTER_FOLDER) - search_from = file_path.right(6).get_base_dir(); - - if (search_term!="" && search_from.findn(search_term)==-1) - continue; - - bool isfave = favorites.has(file_path); - if (button_favorite->is_pressed() && !isfave) - continue; - - TreeItem *fitem = tree->create_item(item); - fitem->set_cell_mode(0,TreeItem::CELL_MODE_CHECK); - fitem->set_editable(0,true); - fitem->set_checked(0,isfave); - fitem->set_text(0,file_name); - - Ref<Texture> icon = get_icon( (has_icon(p_dir->get_file_type(i),"EditorIcons")?p_dir->get_file_type(i):String("Object")),"EditorIcons"); - fitem->set_icon(0, icon ); - - - fitem->set_metadata(0,file_path); - //if (p_dir->files[i]->icon.is_valid()) { -// fitem->set_icon(0,p_dir->files[i]->icon); -// } - has_items=true; - - } -#endif - /*if (!has_items) { - - memdelete(item); - return false; - - }*/ + for(int i=0;i<p_dir->get_subdir_count();i++) + _create_tree(item,p_dir->get_subdir(i)); return true; } -void ScenesDock::_update_tree() { +void FileSystemDock::_update_tree() { tree->clear(); updating_tree=true; @@ -147,7 +97,7 @@ void ScenesDock::_update_tree() { } -void ScenesDock::_notification(int p_what) { +void FileSystemDock::_notification(int p_what) { switch(p_what) { @@ -258,7 +208,7 @@ void ScenesDock::_notification(int p_what) { -void ScenesDock::_dir_selected() { +void FileSystemDock::_dir_selected() { TreeItem *ti = tree->get_selected(); if (!ti) @@ -291,7 +241,7 @@ void ScenesDock::_dir_selected() { } -void ScenesDock::_favorites_pressed() { +void FileSystemDock::_favorites_pressed() { TreeItem *sel = tree->get_selected(); if (!sel) @@ -320,7 +270,7 @@ void ScenesDock::_favorites_pressed() { } -String ScenesDock::get_selected_path() const { +String FileSystemDock::get_selected_path() const { TreeItem *sel = tree->get_selected(); if (!sel) @@ -329,12 +279,12 @@ String ScenesDock::get_selected_path() const { return "res://"+path; } -String ScenesDock::get_current_path() const { +String FileSystemDock::get_current_path() const { return path; } -void ScenesDock::_thumbnail_done(const String& p_path,const Ref<Texture>& p_preview, const Variant& p_udata) { +void FileSystemDock::_thumbnail_done(const String& p_path,const Ref<Texture>& p_preview, const Variant& p_udata) { bool valid=false; @@ -362,7 +312,7 @@ void ScenesDock::_thumbnail_done(const String& p_path,const Ref<Texture>& p_prev } -void ScenesDock::_change_file_display() { +void FileSystemDock::_change_file_display() { if (display_mode->is_pressed()) { display_mode->set_icon( get_icon("FileThumbnail","EditorIcons")); @@ -374,7 +324,7 @@ void ScenesDock::_change_file_display() { _update_files(true); } -void ScenesDock::_search(EditorFileSystemDirectory *p_path,List<FileInfo>* matches,int p_max_items) { +void FileSystemDock::_search(EditorFileSystemDirectory *p_path,List<FileInfo>* matches,int p_max_items) { if (matches->size()>p_max_items) return; @@ -421,7 +371,7 @@ void ScenesDock::_search(EditorFileSystemDirectory *p_path,List<FileInfo>* match } } -void ScenesDock::_update_files(bool p_keep_selection) { +void FileSystemDock::_update_files(bool p_keep_selection) { Set<String> cselection; @@ -634,13 +584,13 @@ void ScenesDock::_update_files(bool p_keep_selection) { } -void ScenesDock::_select_file(int p_idx) { +void FileSystemDock::_select_file(int p_idx) { files->select(p_idx,true); _file_option(FILE_OPEN); } -void ScenesDock::_go_to_tree() { +void FileSystemDock::_go_to_tree() { tree->show(); file_list_vb->hide(); @@ -652,7 +602,7 @@ void ScenesDock::_go_to_tree() { //file_options->hide(); } -void ScenesDock::_go_to_dir(const String& p_dir){ +void FileSystemDock::_go_to_dir(const String& p_dir){ DirAccess *da = DirAccess::create(DirAccess::ACCESS_RESOURCES); if (da->change_dir(p_dir)==OK) { @@ -665,7 +615,7 @@ void ScenesDock::_go_to_dir(const String& p_dir){ } -void ScenesDock::_preview_invalidated(const String& p_path) { +void FileSystemDock::_preview_invalidated(const String& p_path) { if (p_path.get_base_dir()==path && search_box->get_text()==String() && file_list_vb->is_visible()) { @@ -685,7 +635,7 @@ void ScenesDock::_preview_invalidated(const String& p_path) { } } -void ScenesDock::_fs_changed() { +void FileSystemDock::_fs_changed() { button_hist_prev->set_disabled(history_pos==0); button_hist_next->set_disabled(history_pos+1==history.size()); @@ -706,7 +656,7 @@ void ScenesDock::_fs_changed() { set_process(false); } -void ScenesDock::_set_scannig_mode() { +void FileSystemDock::_set_scannig_mode() { split_box->hide(); button_hist_prev->set_disabled(true); @@ -721,7 +671,7 @@ void ScenesDock::_set_scannig_mode() { } -void ScenesDock::_fw_history() { +void FileSystemDock::_fw_history() { if (history_pos<history.size()-1) history_pos++; @@ -745,7 +695,7 @@ void ScenesDock::_fw_history() { } -void ScenesDock::_bw_history() { +void FileSystemDock::_bw_history() { if (history_pos>0) history_pos--; @@ -769,7 +719,7 @@ void ScenesDock::_bw_history() { } -void ScenesDock::_push_to_history() { +void FileSystemDock::_push_to_history() { history.resize(history_pos+1); if (history[history_pos]!=path) { @@ -783,7 +733,7 @@ void ScenesDock::_push_to_history() { } -void ScenesDock::_find_inside_move_files(EditorFileSystemDirectory *efsd,Vector<String>& files) { +void FileSystemDock::_find_inside_move_files(EditorFileSystemDirectory *efsd,Vector<String>& files) { for(int i=0;i<efsd->get_subdir_count();i++) { _find_inside_move_files(efsd->get_subdir(i),files); @@ -794,7 +744,7 @@ void ScenesDock::_find_inside_move_files(EditorFileSystemDirectory *efsd,Vector< } -void ScenesDock::_find_remaps(EditorFileSystemDirectory *efsd,Map<String,String> &renames,List<String>& to_remaps) { +void FileSystemDock::_find_remaps(EditorFileSystemDirectory *efsd,Map<String,String> &renames,List<String>& to_remaps) { for(int i=0;i<efsd->get_subdir_count();i++) { _find_remaps(efsd->get_subdir(i),renames,to_remaps); @@ -811,7 +761,7 @@ void ScenesDock::_find_remaps(EditorFileSystemDirectory *efsd,Map<String,String> } -void ScenesDock::_rename_operation(const String& p_to_path) { +void FileSystemDock::_rename_operation(const String& p_to_path) { if (move_files[0]==p_to_path) { EditorNode::get_singleton()->show_warning(TTR("Same source and destination files, doing nothing.")); @@ -858,7 +808,7 @@ void ScenesDock::_rename_operation(const String& p_to_path) { } -void ScenesDock::_move_operation(const String& p_to_path) { +void FileSystemDock::_move_operation(const String& p_to_path) { if (p_to_path==path) { EditorNode::get_singleton()->show_warning(TTR("Same source and destination paths, doing nothing.")); @@ -951,7 +901,7 @@ void ScenesDock::_move_operation(const String& p_to_path) { } -void ScenesDock::_file_option(int p_option) { +void FileSystemDock::_file_option(int p_option) { switch(p_option) { @@ -1001,7 +951,8 @@ void ScenesDock::_file_option(int p_option) { case FILE_INSTANCE: { for (int i = 0; i<files->get_item_count(); i++) { - + if (!files->is_selected(i)) + continue; String path =files->get_item_metadata(i); if (EditorFileSystem::get_singleton()->get_file_type(path)=="PackedScene") { emit_signal("instance",path); @@ -1135,7 +1086,7 @@ void ScenesDock::_file_option(int p_option) { } } -void ScenesDock::_open_pressed(){ +void FileSystemDock::_open_pressed(){ TreeItem *sel = tree->get_selected(); @@ -1166,7 +1117,7 @@ void ScenesDock::_open_pressed(){ } -void ScenesDock::_search_changed(const String& p_text) { +void FileSystemDock::_search_changed(const String& p_text) { if (!search_box->is_visible()) return; //wtf @@ -1174,29 +1125,29 @@ void ScenesDock::_search_changed(const String& p_text) { _update_files(false); } -void ScenesDock::_rescan() { +void FileSystemDock::_rescan() { _set_scannig_mode(); EditorFileSystem::get_singleton()->scan(); } -void ScenesDock::fix_dependencies(const String& p_for_file) { +void FileSystemDock::fix_dependencies(const String& p_for_file) { deps_editor->edit(p_for_file); } -void ScenesDock::focus_on_filter() { +void FileSystemDock::focus_on_filter() { } -void ScenesDock::set_use_thumbnails(bool p_use) { +void FileSystemDock::set_use_thumbnails(bool p_use) { display_mode->set_pressed(!p_use); } -Variant ScenesDock::get_drag_data_fw(const Point2& p_point,Control* p_from) { +Variant FileSystemDock::get_drag_data_fw(const Point2& p_point,Control* p_from) { if (p_from==tree) { @@ -1273,7 +1224,7 @@ Variant ScenesDock::get_drag_data_fw(const Point2& p_point,Control* p_from) { return Variant(); } -bool ScenesDock::can_drop_data_fw(const Point2& p_point,const Variant& p_data,Control* p_from) const{ +bool FileSystemDock::can_drop_data_fw(const Point2& p_point,const Variant& p_data,Control* p_from) const{ Dictionary drag_data = p_data; @@ -1339,7 +1290,7 @@ bool ScenesDock::can_drop_data_fw(const Point2& p_point,const Variant& p_data,Co return false; } -void ScenesDock::drop_data_fw(const Point2& p_point,const Variant& p_data,Control* p_from){ +void FileSystemDock::drop_data_fw(const Point2& p_point,const Variant& p_data,Control* p_from){ if (!can_drop_data_fw(p_point,p_data,p_from)) return; @@ -1491,7 +1442,7 @@ void ScenesDock::drop_data_fw(const Point2& p_point,const Variant& p_data,Contro } -void ScenesDock::_files_list_rmb_select(int p_item,const Vector2& p_pos) { +void FileSystemDock::_files_list_rmb_select(int p_item,const Vector2& p_pos) { Vector<String> filenames; @@ -1614,35 +1565,35 @@ void ScenesDock::_files_list_rmb_select(int p_item,const Vector2& p_pos) { } -void ScenesDock::_bind_methods() { +void FileSystemDock::_bind_methods() { - ObjectTypeDB::bind_method(_MD("_update_tree"),&ScenesDock::_update_tree); - ObjectTypeDB::bind_method(_MD("_rescan"),&ScenesDock::_rescan); - ObjectTypeDB::bind_method(_MD("_favorites_pressed"),&ScenesDock::_favorites_pressed); + ObjectTypeDB::bind_method(_MD("_update_tree"),&FileSystemDock::_update_tree); + ObjectTypeDB::bind_method(_MD("_rescan"),&FileSystemDock::_rescan); + ObjectTypeDB::bind_method(_MD("_favorites_pressed"),&FileSystemDock::_favorites_pressed); // ObjectTypeDB::bind_method(_MD("_instance_pressed"),&ScenesDock::_instance_pressed); - ObjectTypeDB::bind_method(_MD("_open_pressed"),&ScenesDock::_open_pressed); + ObjectTypeDB::bind_method(_MD("_open_pressed"),&FileSystemDock::_open_pressed); - ObjectTypeDB::bind_method(_MD("_thumbnail_done"),&ScenesDock::_thumbnail_done); - ObjectTypeDB::bind_method(_MD("_select_file"), &ScenesDock::_select_file); - ObjectTypeDB::bind_method(_MD("_go_to_tree"), &ScenesDock::_go_to_tree); - ObjectTypeDB::bind_method(_MD("_go_to_dir"), &ScenesDock::_go_to_dir); - ObjectTypeDB::bind_method(_MD("_change_file_display"), &ScenesDock::_change_file_display); - ObjectTypeDB::bind_method(_MD("_fw_history"), &ScenesDock::_fw_history); - ObjectTypeDB::bind_method(_MD("_bw_history"), &ScenesDock::_bw_history); - ObjectTypeDB::bind_method(_MD("_fs_changed"), &ScenesDock::_fs_changed); - ObjectTypeDB::bind_method(_MD("_dir_selected"), &ScenesDock::_dir_selected); - ObjectTypeDB::bind_method(_MD("_file_option"), &ScenesDock::_file_option); - ObjectTypeDB::bind_method(_MD("_move_operation"), &ScenesDock::_move_operation); - ObjectTypeDB::bind_method(_MD("_rename_operation"), &ScenesDock::_rename_operation); + ObjectTypeDB::bind_method(_MD("_thumbnail_done"),&FileSystemDock::_thumbnail_done); + ObjectTypeDB::bind_method(_MD("_select_file"), &FileSystemDock::_select_file); + ObjectTypeDB::bind_method(_MD("_go_to_tree"), &FileSystemDock::_go_to_tree); + ObjectTypeDB::bind_method(_MD("_go_to_dir"), &FileSystemDock::_go_to_dir); + ObjectTypeDB::bind_method(_MD("_change_file_display"), &FileSystemDock::_change_file_display); + ObjectTypeDB::bind_method(_MD("_fw_history"), &FileSystemDock::_fw_history); + ObjectTypeDB::bind_method(_MD("_bw_history"), &FileSystemDock::_bw_history); + ObjectTypeDB::bind_method(_MD("_fs_changed"), &FileSystemDock::_fs_changed); + ObjectTypeDB::bind_method(_MD("_dir_selected"), &FileSystemDock::_dir_selected); + ObjectTypeDB::bind_method(_MD("_file_option"), &FileSystemDock::_file_option); + ObjectTypeDB::bind_method(_MD("_move_operation"), &FileSystemDock::_move_operation); + ObjectTypeDB::bind_method(_MD("_rename_operation"), &FileSystemDock::_rename_operation); - ObjectTypeDB::bind_method(_MD("_search_changed"), &ScenesDock::_search_changed); + ObjectTypeDB::bind_method(_MD("_search_changed"), &FileSystemDock::_search_changed); - ObjectTypeDB::bind_method(_MD("get_drag_data_fw"), &ScenesDock::get_drag_data_fw); - ObjectTypeDB::bind_method(_MD("can_drop_data_fw"), &ScenesDock::can_drop_data_fw); - ObjectTypeDB::bind_method(_MD("drop_data_fw"), &ScenesDock::drop_data_fw); - ObjectTypeDB::bind_method(_MD("_files_list_rmb_select"),&ScenesDock::_files_list_rmb_select); + ObjectTypeDB::bind_method(_MD("get_drag_data_fw"), &FileSystemDock::get_drag_data_fw); + ObjectTypeDB::bind_method(_MD("can_drop_data_fw"), &FileSystemDock::can_drop_data_fw); + ObjectTypeDB::bind_method(_MD("drop_data_fw"), &FileSystemDock::drop_data_fw); + ObjectTypeDB::bind_method(_MD("_files_list_rmb_select"),&FileSystemDock::_files_list_rmb_select); - ObjectTypeDB::bind_method(_MD("_preview_invalidated"),&ScenesDock::_preview_invalidated); + ObjectTypeDB::bind_method(_MD("_preview_invalidated"),&FileSystemDock::_preview_invalidated); ADD_SIGNAL(MethodInfo("instance")); @@ -1650,7 +1601,7 @@ void ScenesDock::_bind_methods() { } -ScenesDock::ScenesDock(EditorNode *p_editor) { +FileSystemDock::FileSystemDock(EditorNode *p_editor) { editor=p_editor; @@ -1816,6 +1767,6 @@ ScenesDock::ScenesDock(EditorNode *p_editor) { add_constant_override("separation",3); } -ScenesDock::~ScenesDock() { +FileSystemDock::~FileSystemDock() { } diff --git a/tools/editor/scenes_dock.h b/tools/editor/filesystem_dock.h index 0973fce250..171dbd16e9 100644 --- a/tools/editor/scenes_dock.h +++ b/tools/editor/filesystem_dock.h @@ -26,8 +26,8 @@ /* TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE */ /* SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */ /*************************************************************************/ -#ifndef SCENES_DOCK_H -#define SCENES_DOCK_H +#ifndef FILESYSTEM_DOCK_H +#define FILESYSTEM_DOCK_H #include "scene/main/timer.h" #include "scene/gui/control.h" @@ -51,8 +51,8 @@ class EditorNode; -class ScenesDock : public VBoxContainer { - OBJ_TYPE( ScenesDock, VBoxContainer ); +class FileSystemDock : public VBoxContainer { + OBJ_TYPE( FileSystemDock, VBoxContainer ); enum FileMenu { FILE_OPEN, @@ -184,8 +184,8 @@ public: void set_use_thumbnails(bool p_use); - ScenesDock(EditorNode *p_editor); - ~ScenesDock(); + FileSystemDock(EditorNode *p_editor); + ~FileSystemDock(); }; diff --git a/tools/editor/groups_editor.cpp b/tools/editor/groups_editor.cpp index 898e1e115e..5b7bc1da78 100644 --- a/tools/editor/groups_editor.cpp +++ b/tools/editor/groups_editor.cpp @@ -31,7 +31,7 @@ #include "scene/gui/box_container.h" #include "scene/gui/label.h" #include "editor_node.h" - +#include "scene/resources/packed_scene.h" void GroupsEditor::_add_group(const String& p_group) { if (!node) @@ -107,9 +107,35 @@ void GroupsEditor::update_tree() { if (!gi.persistent) continue; + Node *n = node; + bool can_be_deleted=true; + + while(n) { + + Ref<SceneState> ss = (n==EditorNode::get_singleton()->get_edited_scene()) ? n->get_scene_inherited_state() : n->get_scene_instance_state(); + + if (ss.is_valid()) { + + int path = ss->find_node_by_path(n->get_path_to(node)); + if (path!=-1) { + if (ss->is_node_in_group(path,gi.name)) { + can_be_deleted=false; + } + } + } + + n=n->get_owner(); + } + + TreeItem *item=tree->create_item(root); item->set_text(0, gi.name); - item->add_button(0, get_icon("Remove", "EditorIcons"), 0); + if (can_be_deleted) { + item->add_button(0, get_icon("Remove", "EditorIcons"), 0); + } else { + item->set_selectable(0,false); + } + } } diff --git a/tools/editor/icons/SCsub b/tools/editor/icons/SCsub index 7132968c88..f2f5dcca48 100644 --- a/tools/editor/icons/SCsub +++ b/tools/editor/icons/SCsub @@ -65,7 +65,7 @@ def make_editor_icons_action(target, source, env): s.write("static Ref<ImageTexture> make_icon(const uint8_t* p_png,const uint8_t* p_hidpi_png) {\n") s.write("\tRef<ImageTexture> texture( memnew( ImageTexture ) );\n") s.write("\tImage img((editor_is_hidpi()&&p_hidpi_png)?p_hidpi_png:p_png);\n") - s.write("\tif (editor_is_hidpi() && !p_hidpi_png) img.expand_x2_hq2x();\n") + s.write("\tif (editor_is_hidpi() && !p_hidpi_png) { img.convert(Image::FORMAT_RGBA); img.expand_x2_hq2x(); }\n") s.write("\ttexture->create_from_image( img,ImageTexture::FLAG_FILTER );\n") s.write("\treturn texture;\n") s.write("}\n\n") diff --git a/tools/editor/import_settings.cpp b/tools/editor/import_settings.cpp deleted file mode 100644 index dfaeca03db..0000000000 --- a/tools/editor/import_settings.cpp +++ /dev/null @@ -1,301 +0,0 @@ -/*************************************************************************/ -/* import_settings.cpp */ -/*************************************************************************/ -/* This file is part of: */ -/* GODOT ENGINE */ -/* http://www.godotengine.org */ -/*************************************************************************/ -/* Copyright (c) 2007-2016 Juan Linietsky, Ariel Manzur. */ -/* */ -/* Permission is hereby granted, free of charge, to any person obtaining */ -/* a copy of this software and associated documentation files (the */ -/* "Software"), to deal in the Software without restriction, including */ -/* without limitation the rights to use, copy, modify, merge, publish, */ -/* distribute, sublicense, and/or sell copies of the Software, and to */ -/* permit persons to whom the Software is furnished to do so, subject to */ -/* the following conditions: */ -/* */ -/* The above copyright notice and this permission notice shall be */ -/* included in all copies or substantial portions of the Software. */ -/* */ -/* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, */ -/* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF */ -/* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.*/ -/* IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY */ -/* CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, */ -/* TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE */ -/* SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */ -/*************************************************************************/ -#include "import_settings.h" -#include "os/os.h" -#include "editor_node.h" - -void ImportSettingsDialog::_item_pressed(int p_idx) { - - if (!edited) - return; - - String p=edited->get_metadata(0); -#if 0 - if (EditorImportDB::get_singleton()->is_image(p)) { - - uint32_t flags = EditorImportDB::get_singleton()->get_image_flags(p); - bool pressed = !popup->is_item_checked(p_idx); - if (pressed) - flags|=(1<<p_idx); - else - flags&=~(1<<p_idx); - - - EditorImportDB::get_singleton()->set_image_flags(p,flags); - edited->set_text(2,_str_from_flags(flags)); - } -#endif -} - -void ImportSettingsDialog::_item_edited() { - - if (updating) - return; - TreeItem *it=tree->get_selected(); - int ec=tree->get_edited_column(); - - String p=it->get_metadata(0); -#if 0 - if (EditorImportDB::get_singleton()->is_image(p)) { - - if (ec==1) { - - - EditorImportDB::get_singleton()->set_image_format(p,EditorImport::ImageFormat(int(it->get_range(1)))); - - } else if (ec==2) { - - - int flags = EditorImportDB::get_singleton()->get_image_flags(p); - for(int i=0;i<popup->get_item_count();i++) { - - popup->set_item_checked(i,flags&(1<<i)); - } - - Rect2 r = tree->get_custom_popup_rect(); - popup->set_size(Size2(r.size.width,1)); - popup->set_pos(/*tree->get_global_pos()+*/r.pos+Point2(0,r.size.height)); - popup->popup(); - } - - edited=it; - - } -#endif - - -} - - -void ImportSettingsDialog::_button_pressed(Object *p_button, int p_col, int p_id) { - - TreeItem *ti=p_button->cast_to<TreeItem>(); - if (!ti) - return; - String path = ti->get_metadata(0); - print_line("PATH: "+path); - Ref<ResourceImportMetadata> rimd = ResourceLoader::load_import_metadata(path); - ERR_FAIL_COND(rimd.is_null()); - Ref<EditorImportPlugin> rimp = EditorImportExport::get_singleton()->get_import_plugin_by_name(rimd->get_editor()); - ERR_FAIL_COND(!rimp.is_valid()); - rimp->import_dialog(path); - hide(); -} - -bool ImportSettingsDialog::_generate_fs(TreeItem *p_parent,EditorFileSystemDirectory *p_dir) { - - bool valid=false; - - - for(int i=0;i<p_dir->get_subdir_count();i++) { - - EditorFileSystemDirectory *sd=p_dir->get_subdir(i); - TreeItem *ti = tree->create_item(p_parent); - ti->set_text(0,sd->get_name()+"/"); - ti->set_icon(0,get_icon("Folder","EditorIcons")); - - if (!_generate_fs(ti,sd)) { - memdelete(ti); - } else { - valid=true; - } - } - - - for(int i=0;i<p_dir->get_file_count();i++) { - - String path=p_dir->get_file_path(i); - if (!p_dir->get_file_meta(i)) - continue; - - valid=true; - - String f = p_dir->get_file(i); - TreeItem *ti = tree->create_item(p_parent); - String type = p_dir->get_file_type(i); - Ref<Texture> t; - if (has_icon(type,"EditorIcons")) - t = get_icon(type,"EditorIcons"); - else - t = get_icon("Object","EditorIcons"); - - - ti->set_icon(0,t); - ti->set_text(0,f); -// ti->add_button(0,get_icon("Reload","EditorIcons")); - ti->set_metadata(0,p_dir->get_file_path(i)); - String tt = p_dir->get_file_path(i); - - if (p_dir->is_missing_sources(i)) { - ti->set_icon(1,get_icon("ImportFail","EditorIcons")); - Vector<String> missing = p_dir->get_missing_sources(i); - for(int j=0;j<missing.size();j++) { - tt+="\nmissing: "+missing[j]; - } - - } else - ti->set_icon(1,get_icon("ImportCheck","EditorIcons")); - - ti->set_tooltip(0,tt); - ti->set_tooltip(1,tt); - - } - -#if 0 - if (!EditorImportDB::get_singleton()->is_image(path) && !EditorImportDB::get_singleton()->is_scene(path)) - continue; - - String f = p_dir->get_file(i); - TreeItem *ti = tree->create_item(p_parent); - ti->set_text(0,f); - String type = p_dir->get_file_type(i); - Ref<Texture> icon = get_icon( (has_icon(type,"EditorIcons")?type:String("Object")),"EditorIcons"); - - - if (EditorImportDB::get_singleton()->is_image(path)) { - - - ti->set_tooltip(0,"Type: Image\nSource: "+EditorImportDB::get_singleton()->get_file_source(path)+"\nSource MD5: "+EditorImportDB::get_singleton()->get_file_md5(path)); - ti->set_cell_mode(1,TreeItem::CELL_MODE_RANGE); - ti->set_editable(1,true); - ti->set_range_config(1,0,3,1); - ti->set_range(1,EditorImportDB::get_singleton()->get_image_format(path)); - ti->set_text(1,texformat); - ti->set_cell_mode(2,TreeItem::CELL_MODE_CUSTOM); - ti->set_editable(2,true); - ti->set_metadata(0,path); - - String txt; - uint32_t flags=EditorImportDB::get_singleton()->get_image_flags(path); - txt=_str_from_flags(flags); - - ti->set_text(2,txt); - } - - ti->set_icon(0, icon); - valid=true; -#endif - - - return valid; -} - -void ImportSettingsDialog::update_tree() { - - updating=true; - tree->clear(); - edited=NULL; - - - TreeItem *root = tree->create_item(); - EditorFileSystemDirectory *fs = EditorFileSystem::get_singleton()->get_filesystem(); - - _generate_fs(root,fs); - updating=false; - - -} - -void ImportSettingsDialog::_notification(int p_what) { - - if (p_what==NOTIFICATION_ENTER_TREE) { - - EditorFileSystem::get_singleton()->connect("filesystem_changed",this,"update_tree"); - } -} - - -void ImportSettingsDialog::_bind_methods() { - - ObjectTypeDB::bind_method("update_tree",&ImportSettingsDialog::update_tree); - ObjectTypeDB::bind_method("_item_edited",&ImportSettingsDialog::_item_edited); - ObjectTypeDB::bind_method("_item_pressed",&ImportSettingsDialog::_item_pressed); - ObjectTypeDB::bind_method("_button_pressed",&ImportSettingsDialog::_button_pressed); - - -} - - -void ImportSettingsDialog::popup_import_settings() { - - update_tree(); - popup_centered_ratio(); -} - -void ImportSettingsDialog::ok_pressed() { - - - TreeItem *ti = tree->get_selected(); - if (!ti) - return; - - String path = ti->get_metadata(0); - print_line("PATH: "+path); - Ref<ResourceImportMetadata> rimd = ResourceLoader::load_import_metadata(path); - ERR_FAIL_COND(rimd.is_null()); - Ref<EditorImportPlugin> rimp = EditorImportExport::get_singleton()->get_import_plugin_by_name(rimd->get_editor()); - ERR_FAIL_COND(!rimp.is_valid()); - rimp->import_dialog(path); - hide(); - - -} - -ImportSettingsDialog::ImportSettingsDialog(EditorNode *p_editor) { - - editor=p_editor; - - get_ok()->set_text(TTR("Close")); - - tree = memnew( Tree ); - add_child(tree); - set_child_rect(tree); - set_title(TTR("Imported Resources")); - -// texformat="Keep,None,Disk,VRAM"; - - tree->set_hide_root(true); - tree->set_columns(2); - tree->set_column_expand(1,false); - tree->set_column_min_width(1,20); - - tree->connect("item_edited",this,"_item_edited"); - tree->connect("button_pressed",this,"_button_pressed"); - -// add_button("Re-Import","reimport"); - get_ok()->set_text(TTR("Re-Import")); - get_cancel()->set_text(TTR("Close")); - - updating=false; - edited=NULL; - set_hide_on_ok(false); - - -} - diff --git a/tools/editor/io_plugins/editor_atlas.cpp b/tools/editor/io_plugins/editor_atlas.cpp index f894e7e8b2..f69e383fb0 100644 --- a/tools/editor/io_plugins/editor_atlas.cpp +++ b/tools/editor/io_plugins/editor_atlas.cpp @@ -82,7 +82,6 @@ void EditorAtlas::fit(const Vector<Size2i>& p_rects,Vector<Point2i>& r_result, S //place them int ofs=0; - int limit_h=0; for(int j=0;j<wrects.size();j++) { @@ -106,8 +105,6 @@ void EditorAtlas::fit(const Vector<Size2i>& p_rects,Vector<Point2i>& r_result, S int end_h = from_y+wrects[j].s.height; int end_w = ofs+wrects[j].s.width; - if (ofs==0) - limit_h=end_h; for(int k=0;k<wrects[j].s.width;k++) { @@ -120,8 +117,7 @@ void EditorAtlas::fit(const Vector<Size2i>& p_rects,Vector<Point2i>& r_result, S if (end_w > max_w) max_w=end_w; - //if (ofs==0 || end_h>limit_h ) //while h limit not reched, keep stacking - ofs+=wrects[j].s.width; + ofs+=wrects[j].s.width; } diff --git a/tools/editor/io_plugins/editor_import_collada.cpp b/tools/editor/io_plugins/editor_import_collada.cpp index 363cba3678..1130e2be30 100644 --- a/tools/editor/io_plugins/editor_import_collada.cpp +++ b/tools/editor/io_plugins/editor_import_collada.cpp @@ -2278,12 +2278,6 @@ void ColladaImport::create_animation(int p_clip, bool p_make_tracks_in_all_bones NodeMap &nm = node_map[at.target]; String path = scene->get_path_to(nm.node); - Collada::Node *cn = collada.state.scene_map[at.target]; - //if (cn->ignore_anim) { - // print_line("warning, ignoring property animation on node: "+nm.path); - //continue; - //} - animation->add_track(Animation::TYPE_VALUE); int track = animation->get_track_count() -1; @@ -2381,7 +2375,6 @@ Node* EditorSceneImporterCollada::import_scene(const String& p_path, uint32_t p_ state.create_animations(p_flags&IMPORT_ANIMATION_FORCE_ALL_TRACKS_IN_ALL_CLIPS); AnimationPlayer *ap = memnew( AnimationPlayer ); - ap->set_name("animations"); for(int i=0;i<state.animations.size();i++) { String name; if (state.animations[i]->get_name()=="") diff --git a/tools/editor/io_plugins/editor_mesh_import_plugin.cpp b/tools/editor/io_plugins/editor_mesh_import_plugin.cpp index 095c56a373..2c3ed2afd6 100644 --- a/tools/editor/io_plugins/editor_mesh_import_plugin.cpp +++ b/tools/editor/io_plugins/editor_mesh_import_plugin.cpp @@ -520,7 +520,7 @@ Error EditorMeshImportPlugin::import(const String& p_path, const Ref<ResourceImp //new object/surface if (generate_normals || force_smooth) surf_tool->generate_normals(); - if (uvs.size() && (normals.size() || generate_normals)) + if (uvs.size() && (normals.size() || generate_normals) && generate_tangents) surf_tool->generate_tangents(); surf_tool->index(); diff --git a/tools/editor/io_plugins/editor_scene_import_plugin.cpp b/tools/editor/io_plugins/editor_scene_import_plugin.cpp index 8899d65aea..fa62283e37 100644 --- a/tools/editor/io_plugins/editor_scene_import_plugin.cpp +++ b/tools/editor/io_plugins/editor_scene_import_plugin.cpp @@ -756,6 +756,8 @@ void EditorSceneImportDialog::_import(bool p_and_open) { } + // Scenes should always be imported as binary format since vertex data is large and would take + // up a lot of space and time to load if imported as text format (GH-5778) String save_file = save_path->get_text().plus_file(import_path->get_text().get_file().basename()+".scn"); print_line("Saving to: "+save_file); @@ -2680,12 +2682,6 @@ Error EditorSceneImportPlugin::import2(Node *scene, const String& p_dest_path, c progress.step(TTR("Importing Scene.."),2); - bool reimport = bool(from->get_option("reimport")); - int this_time_action = from->get_option("import_this_time"); - int next_time_action = from->get_option("import_next_time"); - - int import_action = reimport?this_time_action:next_time_action; - from->set_source_md5(0,FileAccess::get_md5(src_path)); from->set_editor(get_name()); @@ -2694,8 +2690,6 @@ Error EditorSceneImportPlugin::import2(Node *scene, const String& p_dest_path, c Map<Ref<Mesh>,Ref<Shape> > collision_map; - Ref<ResourceImportMetadata> imd = memnew(ResourceImportMetadata); - Map< Ref<ImageTexture>,TextureRole > imagemap; scene=_fix_node(scene,scene,collision_map,scene_flags,imagemap); @@ -2811,7 +2805,7 @@ Error EditorSceneImportPlugin::import2(Node *scene, const String& p_dest_path, c target_path=target_path.basename()+".tex"; Ref<ResourceImportMetadata> imd = memnew( ResourceImportMetadata ); - print_line("flags: "+itos(image_flags)); + uint32_t flags = image_flags; if (E->get()==TEXTURE_ROLE_DIFFUSE && scene_flags&SCENE_FLAG_LINEARIZE_DIFFUSE_TEXTURES) flags|=EditorTextureImportPlugin::IMAGE_FLAG_CONVERT_TO_LINEAR; diff --git a/tools/editor/io_plugins/editor_texture_import_plugin.cpp b/tools/editor/io_plugins/editor_texture_import_plugin.cpp index 16ea803da4..60642999f2 100644 --- a/tools/editor/io_plugins/editor_texture_import_plugin.cpp +++ b/tools/editor/io_plugins/editor_texture_import_plugin.cpp @@ -147,8 +147,6 @@ void EditorImportTextureOptions::_changed() { void EditorImportTextureOptions::_bind_methods() { - print_line("bind toptions"); - ObjectTypeDB::bind_method("_changed",&EditorImportTextureOptions::_changed); ObjectTypeDB::bind_method("_changedp",&EditorImportTextureOptions::_changedp); @@ -1192,8 +1190,6 @@ Error EditorTextureImportPlugin::import2(const String& p_path, const Ref<Resourc } ep.step(TTR("Converting Images"),sources.size()); - int base_index=0; - Map<uint64_t,int> source_md5; Map<int,List<int> > source_map; @@ -1760,7 +1756,6 @@ void EditorTextureImportPlugin::reimport_multiple_files(const Vector<String>& p_ Vector<String> valid; - bool warning=false; for(int i=0;i<p_list.size();i++) { Ref<ResourceImportMetadata> rimd = ResourceLoader::load_import_metadata(p_list[i]); @@ -1768,7 +1763,6 @@ void EditorTextureImportPlugin::reimport_multiple_files(const Vector<String>& p_ if (type=="texture" || type.begins_with("texture_")) { if ((rimd->has_option("atlas") && rimd->get_option("atlas")) || (rimd->has_option("large") && rimd->get_option("large"))) { - warning=true; continue; } diff --git a/tools/editor/io_plugins/editor_translation_import_plugin.cpp b/tools/editor/io_plugins/editor_translation_import_plugin.cpp index aa36fefdb7..9ee3e98486 100644 --- a/tools/editor/io_plugins/editor_translation_import_plugin.cpp +++ b/tools/editor/io_plugins/editor_translation_import_plugin.cpp @@ -425,7 +425,6 @@ Error EditorTranslationImportPlugin::import(const String& p_path, const Ref<Reso ERR_FAIL_COND_V( !f, ERR_INVALID_PARAMETER ); - bool first=false; bool skip_first = from->get_option("skip_first"); int index = from->get_option("index"); index+=1; @@ -439,7 +438,6 @@ Error EditorTranslationImportPlugin::import(const String& p_path, const Ref<Reso while(line.size()>1) { - if (!skip_first) { ERR_FAIL_INDEX_V(index,line.size(),ERR_INVALID_DATA ); translation->add_message(line[0].strip_edges(),line[index]); diff --git a/tools/editor/output_strings.cpp b/tools/editor/output_strings.cpp index f1b49d2326..a6126466c4 100644 --- a/tools/editor/output_strings.cpp +++ b/tools/editor/output_strings.cpp @@ -32,7 +32,6 @@ void OutputStrings::update_scrollbars() { - Size2 size = get_size(); Size2 hmin = h_scroll->get_combined_minimum_size(); Size2 vmin = v_scroll->get_combined_minimum_size(); diff --git a/tools/editor/plugins/animation_player_editor_plugin.cpp b/tools/editor/plugins/animation_player_editor_plugin.cpp index 203564e612..98ba25b482 100644 --- a/tools/editor/plugins/animation_player_editor_plugin.cpp +++ b/tools/editor/plugins/animation_player_editor_plugin.cpp @@ -407,7 +407,6 @@ void AnimationPlayerEditor::_animation_save(const Ref<Resource>& p_resource) { void AnimationPlayerEditor::_animation_save_as(const Ref<Resource>& p_resource) { file->set_mode(EditorFileDialog::MODE_SAVE_FILE); - bool relpaths = (p_resource->has_meta("__editor_relpaths__") && p_resource->get_meta("__editor_relpaths__").operator bool()); List<String> extensions; ResourceSaver::get_recognized_extensions(p_resource, &extensions); diff --git a/tools/editor/plugins/animation_tree_editor_plugin.cpp b/tools/editor/plugins/animation_tree_editor_plugin.cpp index a381ec4678..24914e4bc5 100644 --- a/tools/editor/plugins/animation_tree_editor_plugin.cpp +++ b/tools/editor/plugins/animation_tree_editor_plugin.cpp @@ -90,7 +90,6 @@ Size2 AnimationTreeEditor::get_node_size(const StringName& p_node) const { Ref<StyleBox> style = get_stylebox("panel","PopupMenu"); Ref<Font> font = get_font("font","PopupMenu"); - Color font_color = get_color("font_color","PopupMenu"); Size2 size = style->get_minimum_size(); @@ -633,7 +632,6 @@ AnimationTreeEditor::ClickType AnimationTreeEditor::_locate_click(const Point2& Ref<StyleBox> style = get_stylebox("panel","PopupMenu"); Ref<Font> font = get_font("font","PopupMenu"); - Color font_color = get_color("font_color","PopupMenu"); float h = (font->get_height()+get_constant("vseparation","PopupMenu")); diff --git a/tools/editor/plugins/baked_light_baker.cpp b/tools/editor/plugins/baked_light_baker.cpp index 1962f81e87..6a88ba4cbe 100644 --- a/tools/editor/plugins/baked_light_baker.cpp +++ b/tools/editor/plugins/baked_light_baker.cpp @@ -645,7 +645,6 @@ void BakedLightBaker::_octree_insert(int p_octant,Triangle* p_triangle, int p_de leaf_list=child_idx; cell_count++; - int lz = lights.size(); for(int ci=0;ci<8;ci++) { child->light_accum[ci][0]=0; child->light_accum[ci][1]=0; @@ -1016,8 +1015,6 @@ float BakedLightBaker::_throw_ray(ThreadStack& thread_stack,bool p_bake_direct,c //ray_aabb.expand_to(p_end); - const BVH *bvhptr = bvh; - bstack[0]=bvh; stack[0]=TEST_AABB_BIT; @@ -1693,7 +1690,7 @@ void BakedLightBaker::throw_rays(ThreadStack& thread_stack,int p_amount) { Vector3 from = dl.pos; double r1 = double(rand())/RAND_MAX; - double r2 = double(rand())/RAND_MAX; + //double r2 = double(rand())/RAND_MAX; double r3 = double(rand())/RAND_MAX; float d=Math::tan(Math::deg2rad(dl.spot_angle)); @@ -1994,7 +1991,6 @@ void BakedLightBaker::update_octree_images(DVector<uint8_t> &p_octree,DVector<ui const double *normptr=norm_arr.ptr(); */ double norm = 1.0/double(total_rays); - int lz=lights.size(); mult/=multiplier; double saturation = baked_light->get_saturation(); @@ -2261,8 +2257,6 @@ void BakedLightBaker::_plot_pixel_to_lightmap(int x, int y, int width, int heigh continue; n/=len; - const BVH *bvhptr = bvh; - bstack[0]=bvh; stack[0]=TEST_RAY_BIT; @@ -2404,8 +2398,6 @@ Error BakedLightBaker::transfer_to_lightmaps() { float gamma = baked_light->get_gamma_adjust(); float mult = baked_light->get_energy_multiplier(); - - const double *normptr=norm_arr.ptr(); for(int i=0;i<triangles.size();i++) { if (i%200==0) { @@ -2538,7 +2530,6 @@ Error BakedLightBaker::transfer_to_lightmaps() { Vector<uint8_t> copy_data=bt.data; uint8_t *data=bt.data.ptr(); - uint8_t *src_data=copy_data.ptr(); const int max_radius=8; const int shadow_radius=2; const int max_dist=0x7FFFFFFF; diff --git a/tools/editor/plugins/canvas_item_editor_plugin.cpp b/tools/editor/plugins/canvas_item_editor_plugin.cpp index caa09fba35..02a24f8ddb 100644 --- a/tools/editor/plugins/canvas_item_editor_plugin.cpp +++ b/tools/editor/plugins/canvas_item_editor_plugin.cpp @@ -41,6 +41,11 @@ #include "tools/editor/plugins/animation_player_editor_plugin.h" #include "scene/resources/packed_scene.h" + +#define MIN_ZOOM 0.01 +#define MAX_ZOOM 100 + + class SnapDialog : public ConfirmationDialog { OBJ_TYPE(SnapDialog,ConfirmationDialog); @@ -199,16 +204,12 @@ void CanvasItemEditor::_unhandled_key_input(const InputEvent& p_ev) { if (!is_visible() || get_viewport()->gui_has_modal_stack()) return; + if (p_ev.key.mod.control) - // prevent to change tool mode when control key is pressed return; - if (p_ev.key.pressed && !p_ev.key.echo && p_ev.key.scancode==KEY_Q) - _tool_select(TOOL_SELECT); - if (p_ev.key.pressed && !p_ev.key.echo && p_ev.key.scancode==KEY_W) - _tool_select(TOOL_MOVE); - if (p_ev.key.pressed && !p_ev.key.echo && p_ev.key.scancode==KEY_E) - _tool_select(TOOL_ROTATE); + if (p_ev.key.pressed && !p_ev.key.echo && p_ev.key.scancode==KEY_V && drag==DRAG_NONE && can_move_pivot) { + if (p_ev.key.mod.shift) { //move drag pivot drag=DRAG_PIVOT; @@ -1066,6 +1067,9 @@ void CanvasItemEditor::_viewport_input_event(const InputEvent& p_event) { if (b.button_index==BUTTON_WHEEL_DOWN) { + if (zoom<MIN_ZOOM) + return; + float prev_zoom=zoom; zoom=zoom*0.95; { @@ -1081,6 +1085,9 @@ void CanvasItemEditor::_viewport_input_event(const InputEvent& p_event) { if (b.button_index==BUTTON_WHEEL_UP) { + if (zoom>MAX_ZOOM) + return; + float prev_zoom=zoom; zoom=zoom*(1.0/0.95); { @@ -1940,8 +1947,6 @@ void CanvasItemEditor::_viewport_draw() { Map<Node*,Object*> &selection = editor_selection->get_selection(); - CanvasItem *single_item=NULL; - bool pivot_found=false; for(Map<Node*,Object*>::Element *E=selection.front();E;E=E->next()) { @@ -1961,15 +1966,6 @@ void CanvasItemEditor::_viewport_draw() { Matrix32 xform=transform * canvas_item->get_global_transform_with_canvas(); VisualServer::get_singleton()->canvas_item_add_set_transform(ci,xform); - Point2 ofs=Point2();//get_global_pos(); - Rect2 draw_rect=rect; - Color light_edit_color=Color(1.0,0.8,0.8); - Color dark_edit_color=Color(0.4,0.1,0.1); - Size2 handle_size=Size2(handle_len,handle_len); - - //select_sb->draw(ci,draw_rect.grow(2)); - //DRAW_EMPTY_RECT( draw_rect.grow(2), light_edit_color ); - //DRAW_EMPTY_RECT( draw_rect.grow(1), dark_edit_color ); Vector2 endpoints[4]={ @@ -2541,12 +2537,17 @@ void CanvasItemEditor::_popup_callback(int p_op) { snap_dialog->popup_centered(Size2(220,160)); } break; case ZOOM_IN: { + if (zoom>MAX_ZOOM) + return; zoom=zoom*(1.0/0.5); _update_scroll(0); viewport->update(); return; } break; case ZOOM_OUT: { + if (zoom<MIN_ZOOM) + return; + zoom=zoom*0.5; _update_scroll(0); viewport->update(); @@ -3307,20 +3308,23 @@ CanvasItemEditor::CanvasItemEditor(EditorNode *p_editor) { hb->add_child(select_button); select_button->connect("pressed",this,"_tool_select",make_binds(TOOL_SELECT)); select_button->set_pressed(true); - select_button->set_tooltip(TTR("Select Mode (Q)")+"\n"+keycode_get_string(KEY_MASK_CMD)+TTR("Drag: Rotate")+"\n"+TTR("Alt+Drag: Move")+"\n"+TTR("Press 'v' to Change Pivot, 'Shift+v' to Drag Pivot (while moving).")+"\n"+TTR("Alt+RMB: Depth list selection")); + select_button->set_shortcut(ED_SHORTCUT("canvas_item_editor/select_mode",TTR("Select Mode"),KEY_Q)); + select_button->set_tooltip(TTR("Select Mode")+" $sc\n"+keycode_get_string(KEY_MASK_CMD)+TTR("Drag: Rotate")+"\n"+TTR("Alt+Drag: Move")+"\n"+TTR("Press 'v' to Change Pivot, 'Shift+v' to Drag Pivot (while moving).")+"\n"+TTR("Alt+RMB: Depth list selection")); move_button = memnew( ToolButton ); move_button->set_toggle_mode(true); hb->add_child(move_button); move_button->connect("pressed",this,"_tool_select",make_binds(TOOL_MOVE)); - move_button->set_tooltip(TTR("Move Mode (W)")); + move_button->set_shortcut(ED_SHORTCUT("canvas_item_editor/move_mode",TTR("Move Mode"),KEY_W)); + move_button->set_tooltip(TTR("Move Mode")); rotate_button = memnew( ToolButton ); rotate_button->set_toggle_mode(true); hb->add_child(rotate_button); rotate_button->connect("pressed",this,"_tool_select",make_binds(TOOL_ROTATE)); - rotate_button->set_tooltip(TTR("Rotate Mode (E)")); + rotate_button->set_shortcut(ED_SHORTCUT("canvas_item_editor/rotate_mode",TTR("Rotate Mode"),KEY_E)); + rotate_button->set_tooltip(TTR("Rotate Mode")); hb->add_child(memnew(VSeparator)); @@ -3415,7 +3419,7 @@ CanvasItemEditor::CanvasItemEditor(EditorNode *p_editor) { p->add_shortcut(ED_SHORTCUT("canvas_item_editor/zoom_set", TTR("Zoom Set..")), ZOOM_SET); p->add_separator(); p->add_shortcut(ED_SHORTCUT("canvas_item_editor/center_selection", TTR("Center Selection"), KEY_F), VIEW_CENTER_TO_SELECTION); - p->add_shortcut(ED_SHORTCUT("canvas_item_editor/frame_selection", TTR("Frame Selection"), KEY_MASK_CMD | KEY_F), VIEW_FRAME_TO_SELECTION); + p->add_shortcut(ED_SHORTCUT("canvas_item_editor/frame_selection", TTR("Frame Selection"), KEY_MASK_SHIFT | KEY_F), VIEW_FRAME_TO_SELECTION); anchor_menu = memnew( MenuButton ); anchor_menu->set_text(TTR("Anchor")); diff --git a/tools/editor/plugins/collision_polygon_2d_editor_plugin.cpp b/tools/editor/plugins/collision_polygon_2d_editor_plugin.cpp index 5ed9f8ab5f..95364e8921 100644 --- a/tools/editor/plugins/collision_polygon_2d_editor_plugin.cpp +++ b/tools/editor/plugins/collision_polygon_2d_editor_plugin.cpp @@ -349,8 +349,6 @@ void CollisionPolygon2DEditor::_canvas_draw() { Matrix32 xform = canvas_item_editor->get_canvas_transform() * node->get_global_transform(); Ref<Texture> handle= get_icon("EditorHandle","EditorIcons"); - int len = poly.size(); - for(int i=0;i<poly.size();i++) { diff --git a/tools/editor/plugins/collision_polygon_editor_plugin.cpp b/tools/editor/plugins/collision_polygon_editor_plugin.cpp index b18afe7838..0b06b3ba21 100644 --- a/tools/editor/plugins/collision_polygon_editor_plugin.cpp +++ b/tools/editor/plugins/collision_polygon_editor_plugin.cpp @@ -381,8 +381,6 @@ void CollisionPolygonEditor::_polygon_draw() { poly=node->get_polygon(); - - int len = poly.size(); float depth = node->get_depth()*0.5; imgeom->clear(); @@ -586,7 +584,7 @@ CollisionPolygonEditor::CollisionPolygonEditor(EditorNode *p_editor) { handle_material->set_parameter(FixedMaterial::PARAM_DIFFUSE,Color(1,1,1)); handle_material->set_fixed_flag(FixedMaterial::FLAG_USE_ALPHA, true); handle_material->set_fixed_flag(FixedMaterial::FLAG_USE_COLOR_ARRAY, false); - Ref<Texture> handle= SpatialEditor::get_singleton()->get_icon("Editor3DHandle","EditorIcons"); + Ref<Texture> handle=editor->get_gui_base()->get_icon("Editor3DHandle","EditorIcons"); handle_material->set_point_size(handle->get_width()); handle_material->set_texture(FixedMaterial::PARAM_DIFFUSE,handle); diff --git a/tools/editor/plugins/editor_preview_plugins.cpp b/tools/editor/plugins/editor_preview_plugins.cpp index a057e6c2a1..b1bce60484 100644 --- a/tools/editor/plugins/editor_preview_plugins.cpp +++ b/tools/editor/plugins/editor_preview_plugins.cpp @@ -36,6 +36,7 @@ #include "scene/resources/mesh.h" #include "scene/resources/bit_mask.h" #include "tools/editor/editor_scale.h" + bool EditorTexturePreviewPlugin::handles(const String& p_type) const { return (ObjectTypeDB::is_type(p_type,"ImageTexture") || ObjectTypeDB::is_type(p_type, "AtlasTexture")); @@ -442,7 +443,6 @@ Ref<Texture> EditorScriptPreviewPlugin::generate(const RES& p_from) { Color keyword_color = EditorSettings::get_singleton()->get("text_editor/keyword_color"); Color text_color = EditorSettings::get_singleton()->get("text_editor/text_color"); Color symbol_color = EditorSettings::get_singleton()->get("text_editor/symbol_color"); - Color comment_color = EditorSettings::get_singleton()->get("text_editor/comment_color"); for(int i=0;i<thumbnail_size;i++) { @@ -607,7 +607,7 @@ Ref<Texture> EditorSamplePreviewPlugin::generate(const RES& p_from) { -1, -1, -1, -1, 2, 4, 6, 8 }; - int16_t nibble,signed_nibble,diff,step; + int16_t nibble,diff,step; ima_adpcm.last_nibble++; const uint8_t *src_ptr=sdata; @@ -628,10 +628,6 @@ Ref<Texture> EditorSamplePreviewPlugin::generate(const RES& p_from) { if (ima_adpcm.step_index>88) ima_adpcm.step_index=88; - /* - signed_nibble = (nibble&7) * ((nibble&8)?-1:1); - diff = (2 * signed_nibble + 1) * step / 4; */ - diff = step >> 3 ; if (nibble & 1) diff += step >> 2 ; @@ -748,15 +744,13 @@ Ref<Texture> EditorSamplePreviewPlugin::generate(const RES& p_from) { for(int j=0;j<h;j++) { - int half,ofs; + int half; float v; if (j<(h/2)) { half=0; - ofs=0; v = (j/(float)(h/2)) * 2.0 - 1.0; } else { half=1; - ofs=h/2; if( (float)(h/2) != 0 ) { v = ((j-(h/2))/(float)(h/2)) * 2.0 - 1.0; } else { diff --git a/tools/editor/plugins/light_occluder_2d_editor_plugin.cpp b/tools/editor/plugins/light_occluder_2d_editor_plugin.cpp index 14e7b14fc3..56e58bc983 100644 --- a/tools/editor/plugins/light_occluder_2d_editor_plugin.cpp +++ b/tools/editor/plugins/light_occluder_2d_editor_plugin.cpp @@ -364,8 +364,6 @@ void LightOccluder2DEditor::_canvas_draw() { Matrix32 xform = canvas_item_editor->get_canvas_transform() * node->get_global_transform(); Ref<Texture> handle= get_icon("EditorHandle","EditorIcons"); - int len = poly.size(); - for(int i=0;i<poly.size();i++) { diff --git a/tools/editor/plugins/navigation_polygon_editor_plugin.cpp b/tools/editor/plugins/navigation_polygon_editor_plugin.cpp index 5a8cd8791e..22546c72f3 100644 --- a/tools/editor/plugins/navigation_polygon_editor_plugin.cpp +++ b/tools/editor/plugins/navigation_polygon_editor_plugin.cpp @@ -427,8 +427,6 @@ void NavigationPolygonEditor::_canvas_draw() { poly = Variant(node->get_navigation_polygon()->get_outline(j)); } - int len = poly.size(); - for(int i=0;i<poly.size();i++) { diff --git a/tools/editor/plugins/particles_editor_plugin.cpp b/tools/editor/plugins/particles_editor_plugin.cpp index 93e2fb2f38..7e20cc3f54 100644 --- a/tools/editor/plugins/particles_editor_plugin.cpp +++ b/tools/editor/plugins/particles_editor_plugin.cpp @@ -283,7 +283,6 @@ void ParticlesEditor::_generate_emission_points() { ofs=(Vector3(1,1,1)-dir)*Vector3(Math::randf(),Math::randf(),Math::randf())*aabb.size; ofs+=aabb.pos; - Vector3 dirv = -dir; Vector3 ofsv = ofs + aabb.size * dir; //space it a little diff --git a/tools/editor/plugins/polygon_2d_editor_plugin.cpp b/tools/editor/plugins/polygon_2d_editor_plugin.cpp index d78508c429..19d1ccc06f 100644 --- a/tools/editor/plugins/polygon_2d_editor_plugin.cpp +++ b/tools/editor/plugins/polygon_2d_editor_plugin.cpp @@ -466,8 +466,6 @@ void Polygon2DEditor::_canvas_draw() { Matrix32 xform = canvas_item_editor->get_canvas_transform() * node->get_global_transform(); Ref<Texture> handle= get_icon("EditorHandle","EditorIcons"); - int len = poly.size(); - for(int i=0;i<poly.size();i++) { diff --git a/tools/editor/plugins/sample_editor_plugin.cpp b/tools/editor/plugins/sample_editor_plugin.cpp index 69602ac995..7965fa54ae 100644 --- a/tools/editor/plugins/sample_editor_plugin.cpp +++ b/tools/editor/plugins/sample_editor_plugin.cpp @@ -151,7 +151,7 @@ void SampleEditor::generate_preview_texture(const Ref<Sample>& p_sample,Ref<Imag -1, -1, -1, -1, 2, 4, 6, 8 }; - int16_t nibble,signed_nibble,diff,step; + int16_t nibble,diff,step; ima_adpcm.last_nibble++; const uint8_t *src_ptr=sdata; @@ -172,10 +172,6 @@ void SampleEditor::generate_preview_texture(const Ref<Sample>& p_sample,Ref<Imag if (ima_adpcm.step_index>88) ima_adpcm.step_index=88; - /* - signed_nibble = (nibble&7) * ((nibble&8)?-1:1); - diff = (2 * signed_nibble + 1) * step / 4; */ - diff = step >> 3 ; if (nibble & 1) diff += step >> 2 ; @@ -285,15 +281,13 @@ void SampleEditor::generate_preview_texture(const Ref<Sample>& p_sample,Ref<Imag for(int j=0;j<h;j++) { - int half,ofs; + int half; float v; if (j<(h/2)) { half=0; - ofs=0; v = (j/(float)(h/2)) * 2.0 - 1.0; } else { half=1; - ofs=h/2; v = ((j-(h/2))/(float)(h/2)) * 2.0 - 1.0; } diff --git a/tools/editor/plugins/script_editor_plugin.cpp b/tools/editor/plugins/script_editor_plugin.cpp index ee83b6b032..4032a790d8 100644 --- a/tools/editor/plugins/script_editor_plugin.cpp +++ b/tools/editor/plugins/script_editor_plugin.cpp @@ -43,6 +43,28 @@ /*** SCRIPT EDITOR ****/ +static bool _can_open_in_editor(Script* p_script) { + + String path = p_script->get_path(); + + if (path.find("::")!=-1) { + //refuse handling this if it can't be edited + + bool valid=false; + for(int i=0;i<EditorNode::get_singleton()->get_editor_data().get_edited_scene_count();i++) { + if (path.begins_with(EditorNode::get_singleton()->get_editor_data().get_scene_path(i))) { + valid=true; + break; + } + } + + return valid; + } + + return true; +} + + class EditorScriptCodeCompletionCache : public ScriptCodeCompletionCache { @@ -290,9 +312,12 @@ void ScriptTextEditor::_load_theme_settings() { get_text_edit()->add_color_override("completion_background_color", EDITOR_DEF("text_editor/completion_background_color", Color(0,0,0,0))); get_text_edit()->add_color_override("completion_selected_color", EDITOR_DEF("text_editor/completion_selected_color", Color::html("434244"))); get_text_edit()->add_color_override("completion_existing_color", EDITOR_DEF("text_editor/completion_existing_color", Color::html("21dfdfdf"))); + get_text_edit()->add_color_override("completion_scroll_color", EDITOR_DEF("text_editor/completion_scroll_color", Color::html("ffffff"))); + get_text_edit()->add_color_override("completion_font_color", EDITOR_DEF("text_editor/completion_font_color", Color::html("aaaaaa"))); get_text_edit()->add_color_override("font_color",EDITOR_DEF("text_editor/text_color",Color(0,0,0))); get_text_edit()->add_color_override("line_number_color",EDITOR_DEF("text_editor/line_number_color",Color(0,0,0))); get_text_edit()->add_color_override("caret_color",EDITOR_DEF("text_editor/caret_color",Color(0,0,0))); + get_text_edit()->add_color_override("caret_background_color",EDITOR_DEF("text_editor/caret_background_color",Color(0,0,0))); get_text_edit()->add_color_override("font_selected_color",EDITOR_DEF("text_editor/text_selected_color",Color(1,1,1))); get_text_edit()->add_color_override("selection_color",EDITOR_DEF("text_editor/selection_color",Color(0.2,0.2,1))); get_text_edit()->add_color_override("brace_mismatch_color",EDITOR_DEF("text_editor/brace_mismatch_color",Color(1,0.2,0.2))); @@ -747,9 +772,9 @@ void ScriptEditor::_go_to_tab(int p_idx) { _update_script_colors(); } -void ScriptEditor::_close_current_tab() { +void ScriptEditor::_close_tab(int p_idx) { - int selected = tab_container->get_current_tab(); + int selected = p_idx; if (selected<0 || selected>=tab_container->get_child_count()) return; @@ -794,11 +819,32 @@ void ScriptEditor::_close_current_tab() { _update_script_names(); - EditorNode::get_singleton()->save_layout(); + _save_layout(); +} + +void ScriptEditor::_close_current_tab() { + + _close_tab(tab_container->get_current_tab()); + +} + +void ScriptEditor::_close_docs_tab() { + + int child_count = tab_container->get_child_count(); + for (int i = child_count-1; i>=0; i--) { + + EditorHelp *ste = tab_container->get_child(i)->cast_to<EditorHelp>(); + + if (ste) { + _close_tab(i); + } + + } } + void ScriptEditor::_resave_scripts(const String& p_str) { apply_scripts(); @@ -847,6 +893,15 @@ void ScriptEditor::_reload_scripts(){ } + uint64_t last_date = script->get_last_modified_time(); + uint64_t date = FileAccess::get_modified_time(script->get_path()); + + //printf("last date: %lli vs date: %lli\n",last_date,date); + if (last_date==date) { + continue; + } + + Ref<Script> rel_script = ResourceLoader::load(script->get_path(),script->get_type(),true); ERR_CONTINUE(!rel_script.is_valid()); script->set_source_code( rel_script->get_source_code() ); @@ -974,6 +1029,18 @@ void ScriptEditor::swap_lines(TextEdit *tx, int line1, int line2) tx->cursor_set_line(line2); } +void ScriptEditor::_breakpoint_toggled(const int p_row) { + int selected = tab_container->get_current_tab(); + if (selected<0 || selected>=tab_container->get_child_count()) { + return; + } + + ScriptTextEditor *current = tab_container->get_child(selected)->cast_to<ScriptTextEditor>(); + if (current) { + get_debugger()->set_breakpoint(current->get_edited_script()->get_path(),p_row+1,current->get_text_edit()->is_line_set_as_breakpoint(p_row)); + } +} + void ScriptEditor::_file_dialog_action(String p_file) { switch (file_dialog_option) { @@ -1430,7 +1497,9 @@ void ScriptEditor::_menu_option(int p_option) { if (scr.is_null()) return; scr->set_source_code(te->get_text()); - scr->get_language()->reload_tool_script(scr,p_option==FILE_TOOL_RELOAD_SOFT); + bool soft = p_option==FILE_TOOL_RELOAD_SOFT || scr->get_instance_base_type()=="EditorPlugin"; //always soft-reload editor plugins + + scr->get_language()->reload_tool_script(scr,soft); } break; case EDIT_TRIM_TRAILING_WHITESAPCE: { _trim_trailing_whitespace(current->get_text_edit()); @@ -1560,6 +1629,9 @@ void ScriptEditor::_menu_option(int p_option) { _close_current_tab(); } } break; + case CLOSE_DOCS: { + _close_docs_tab(); + } break; case WINDOW_MOVE_LEFT: { if (tab_container->get_current_tab()>0) { @@ -1607,6 +1679,9 @@ void ScriptEditor::_menu_option(int p_option) { case FILE_CLOSE: { _close_current_tab(); } break; + case CLOSE_DOCS: { + _close_docs_tab(); + } break; } @@ -1681,6 +1756,33 @@ void ScriptEditor::_notification(int p_what) { } + +void ScriptEditor::close_builtin_scripts_from_scene(const String& p_scene) { + + + + for(int i=0;i<tab_container->get_child_count();i++) { + + ScriptTextEditor *ste = tab_container->get_child(i)->cast_to<ScriptTextEditor>(); + + if (ste) { + + Ref<Script> script = ste->get_edited_script(); + if (!script.is_valid()) + continue; + + if (script->get_path().find("::")!=-1 && script->get_path().begins_with(p_scene)) { //is an internal script and belongs to scene being closed + _close_tab(i); + i--; + + } + } + + } + + +} + void ScriptEditor::edited_scene_changed() { _update_modified_scripts_for_external_editor(); @@ -1979,6 +2081,9 @@ void ScriptEditor::_update_script_colors() { void ScriptEditor::_update_script_names() { + if (restoring_layout) + return; + waiting_update_names=false; Set<Ref<Script> > used; Node* edited = EditorNode::get_singleton()->get_edited_scene(); @@ -2059,11 +2164,18 @@ void ScriptEditor::_update_script_names() { } + + void ScriptEditor::edit(const Ref<Script>& p_script) { if (p_script.is_null()) return; + // refuse to open built-in if scene is not loaded + + + + // see if already has it bool open_dominant = EditorSettings::get_singleton()->get("text_editor/open_dominant_script_on_scene_change"); @@ -2123,9 +2235,11 @@ void ScriptEditor::edit(const Ref<Script>& p_script) { ste->get_text_edit()->cursor_set_blink_enabled(EditorSettings::get_singleton()->get("text_editor/caret_blink")); ste->get_text_edit()->cursor_set_blink_speed(EditorSettings::get_singleton()->get("text_editor/caret_blink_speed")); ste->get_text_edit()->set_draw_breakpoint_gutter(EditorSettings::get_singleton()->get("text_editor/show_breakpoint_gutter")); + ste->get_text_edit()->cursor_set_block_mode(EditorSettings::get_singleton()->get("text_editor/block_caret")); ste->get_text_edit()->set_callhint_settings( EditorSettings::get_singleton()->get("text_editor/put_callhint_tooltip_below_current_line"), EditorSettings::get_singleton()->get("text_editor/callhint_tooltip_offset")); + ste->get_text_edit()->connect("breakpoint_toggled", this, "_breakpoint_toggled"); tab_container->add_child(ste); _go_to_tab(tab_container->get_tab_count()-1); @@ -2133,10 +2247,8 @@ void ScriptEditor::edit(const Ref<Script>& p_script) { _update_script_names(); + _save_layout(); ste->connect("name_changed",this,"_update_script_names"); - if (!restoring_layout) { - EditorNode::get_singleton()->save_layout(); - } //test for modification, maybe the script was not edited but was loaded @@ -2256,6 +2368,15 @@ void ScriptEditor::_add_callback(Object *p_obj, const String& p_function, const } +void ScriptEditor::_save_layout() { + + if (restoring_layout) { + return; + } + + editor->save_layout(); +} + void ScriptEditor::_editor_settings_changed() { trim_trailing_whitespace_on_save = EditorSettings::get_singleton()->get("text_editor/trim_trailing_whitespace_on_save"); @@ -2290,6 +2411,7 @@ void ScriptEditor::_editor_settings_changed() { ste->get_text_edit()->cursor_set_blink_enabled(EditorSettings::get_singleton()->get("text_editor/caret_blink")); ste->get_text_edit()->cursor_set_blink_speed(EditorSettings::get_singleton()->get("text_editor/caret_blink_speed")); ste->get_text_edit()->set_draw_breakpoint_gutter(EditorSettings::get_singleton()->get("text_editor/show_breakpoint_gutter")); + ste->get_text_edit()->cursor_set_block_mode(EditorSettings::get_singleton()->get("text_editor/block_caret")); } ScriptServer::set_reload_scripts_on_save(EDITOR_DEF("text_editor/auto_reload_and_parse_scripts_on_save",true)); @@ -2312,7 +2434,7 @@ void ScriptEditor::_tree_changed() { void ScriptEditor::_script_split_dragged(float) { - EditorNode::get_singleton()->save_layout(); + _save_layout(); } void ScriptEditor::_unhandled_input(const InputEvent& p_event) { @@ -2350,13 +2472,14 @@ void ScriptEditor::set_window_layout(Ref<ConfigFile> p_layout) { for(int i=0;i<scripts.size();i++) { String path = scripts[i]; + if (!FileAccess::exists(path)) + continue; Ref<Script> scr = ResourceLoader::load(path); if (scr.is_valid()) { edit(scr); } } - for(int i=0;i<helps.size();i++) { String path = helps[i]; @@ -2372,9 +2495,9 @@ void ScriptEditor::set_window_layout(Ref<ConfigFile> p_layout) { script_split->set_split_offset(p_layout->get_value("ScriptEditor","split_offset")); } - restoring_layout=false; + _update_script_names(); } void ScriptEditor::get_window_layout(Ref<ConfigFile> p_layout) { @@ -2434,7 +2557,7 @@ void ScriptEditor::_help_class_open(const String& p_class) { eh->go_to_class(p_class,0); eh->connect("go_to_help",this,"_help_class_goto"); _update_script_names(); - + _save_layout(); } void ScriptEditor::_help_class_goto(const String& p_desc) { @@ -2463,7 +2586,7 @@ void ScriptEditor::_help_class_goto(const String& p_desc) { eh->go_to_help(p_desc); eh->connect("go_to_help",this,"_help_class_goto"); _update_script_names(); - + _save_layout(); } void ScriptEditor::_update_history_pos(int p_new_pos) { @@ -2527,7 +2650,7 @@ void ScriptEditor::set_scene_root_script( Ref<Script> p_script ) { if (bool(EditorSettings::get_singleton()->get("external_editor/use_external_editor"))) return; - if (open_dominant && p_script.is_valid()) { + if (open_dominant && p_script.is_valid() && _can_open_in_editor(p_script.ptr())) { edit(p_script); } } @@ -2588,6 +2711,7 @@ void ScriptEditor::_bind_methods() { ObjectTypeDB::bind_method("_tab_changed",&ScriptEditor::_tab_changed); ObjectTypeDB::bind_method("_menu_option",&ScriptEditor::_menu_option); ObjectTypeDB::bind_method("_close_current_tab",&ScriptEditor::_close_current_tab); + ObjectTypeDB::bind_method("_close_docs_tab", &ScriptEditor::_close_docs_tab); ObjectTypeDB::bind_method("_editor_play",&ScriptEditor::_editor_play); ObjectTypeDB::bind_method("_editor_pause",&ScriptEditor::_editor_pause); ObjectTypeDB::bind_method("_editor_stop",&ScriptEditor::_editor_stop); @@ -2597,6 +2721,7 @@ void ScriptEditor::_bind_methods() { ObjectTypeDB::bind_method("_res_saved_callback",&ScriptEditor::_res_saved_callback); ObjectTypeDB::bind_method("_goto_script_line",&ScriptEditor::_goto_script_line); ObjectTypeDB::bind_method("_goto_script_line2",&ScriptEditor::_goto_script_line2); + ObjectTypeDB::bind_method("_breakpoint_toggled", &ScriptEditor::_breakpoint_toggled); ObjectTypeDB::bind_method("_breaked",&ScriptEditor::_breaked); ObjectTypeDB::bind_method("_show_debugger",&ScriptEditor::_show_debugger); ObjectTypeDB::bind_method("_get_debug_tooltip",&ScriptEditor::_get_debug_tooltip); @@ -2669,7 +2794,8 @@ ScriptEditor::ScriptEditor(EditorNode *p_editor) { file_menu->get_popup()->add_shortcut(ED_SHORTCUT("script_editor/save_theme", TTR("Save Theme")), FILE_SAVE_THEME); file_menu->get_popup()->add_shortcut(ED_SHORTCUT("script_editor/save_theme_as", TTR("Save Theme As")), FILE_SAVE_THEME_AS); file_menu->get_popup()->add_separator(); - file_menu->get_popup()->add_shortcut(ED_SHORTCUT("script_editor/close_file", TTR("Close"), KEY_MASK_CMD|KEY_W), FILE_CLOSE); + file_menu->get_popup()->add_shortcut(ED_SHORTCUT("script_editor/close_docs", TTR("Close Docs")), CLOSE_DOCS); + file_menu->get_popup()->add_shortcut(ED_SHORTCUT("script_editor/close_file", TTR("Close"), KEY_MASK_CMD | KEY_W), FILE_CLOSE); file_menu->get_popup()->connect("item_pressed", this,"_menu_option"); edit_menu = memnew( MenuButton ); @@ -2915,6 +3041,16 @@ void ScriptEditorPlugin::edit(Object *p_object) { bool ScriptEditorPlugin::handles(Object *p_object) const { + if (p_object->cast_to<Script>()) { + + bool valid = _can_open_in_editor(p_object->cast_to<Script>()); + + if (!valid) { //user tried to open it by clicking + EditorNode::get_singleton()->show_warning(TTR("Built-in scripts can only be edited when the scene they belong to is loaded")); + } + return valid; + } + return p_object->is_type("Script"); } diff --git a/tools/editor/plugins/script_editor_plugin.h b/tools/editor/plugins/script_editor_plugin.h index 85412087b4..2f079b9fc7 100644 --- a/tools/editor/plugins/script_editor_plugin.h +++ b/tools/editor/plugins/script_editor_plugin.h @@ -127,6 +127,7 @@ class ScriptEditor : public VBoxContainer { FILE_SAVE_THEME, FILE_SAVE_THEME_AS, FILE_CLOSE, + CLOSE_DOCS, EDIT_UNDO, EDIT_REDO, EDIT_CUT, @@ -234,7 +235,10 @@ class ScriptEditor : public VBoxContainer { bool _test_script_times_on_disk(Ref<Script> p_for_script=Ref<Script>()); + void _close_tab(int p_idx); + void _close_current_tab(); + void _close_docs_tab(); bool grab_focus_block; @@ -266,6 +270,7 @@ class ScriptEditor : public VBoxContainer { void _update_window_menu(); void _script_created(Ref<Script> p_script); + void _save_layout(); void _editor_settings_changed(); void _autosave_scripts(); @@ -319,6 +324,7 @@ public: void get_breakpoints(List<String> *p_breakpoints); void swap_lines(TextEdit *tx, int line1, int line2); + void _breakpoint_toggled(const int p_row); void save_all_scripts(); @@ -331,6 +337,8 @@ public: virtual void edited_scene_changed(); + void close_builtin_scripts_from_scene(const String& p_scene); + ScriptEditorDebugger *get_debugger() { return debugger; } void set_live_auto_reload_running_scripts(bool p_enabled); diff --git a/tools/editor/plugins/shader_editor_plugin.cpp b/tools/editor/plugins/shader_editor_plugin.cpp index 0086f76b9c..b3317e8313 100644 --- a/tools/editor/plugins/shader_editor_plugin.cpp +++ b/tools/editor/plugins/shader_editor_plugin.cpp @@ -81,9 +81,12 @@ void ShaderTextEditor::_load_theme_settings() { get_text_edit()->add_color_override("completion_background_color", EDITOR_DEF("text_editor/completion_background_color", Color(0,0,0,0))); get_text_edit()->add_color_override("completion_selected_color", EDITOR_DEF("text_editor/completion_selected_color", Color::html("434244"))); get_text_edit()->add_color_override("completion_existing_color", EDITOR_DEF("text_editor/completion_existing_color", Color::html("21dfdfdf"))); + get_text_edit()->add_color_override("completion_scroll_color", EDITOR_DEF("text_editor/completion_scroll_color", Color::html("ffffff"))); + get_text_edit()->add_color_override("completion_font_color", EDITOR_DEF("text_editor/completion_font_color", Color::html("aaaaaa"))); get_text_edit()->add_color_override("font_color",EDITOR_DEF("text_editor/text_color",Color(0,0,0))); get_text_edit()->add_color_override("line_number_color",EDITOR_DEF("text_editor/line_number_color",Color(0,0,0))); get_text_edit()->add_color_override("caret_color",EDITOR_DEF("text_editor/caret_color",Color(0,0,0))); + get_text_edit()->add_color_override("caret_background_color",EDITOR_DEF("text_editor/caret_background_color",Color(0,0,0))); get_text_edit()->add_color_override("font_selected_color",EDITOR_DEF("text_editor/text_selected_color",Color(1,1,1))); get_text_edit()->add_color_override("selection_color",EDITOR_DEF("text_editor/selection_color",Color(0.2,0.2,1))); get_text_edit()->add_color_override("brace_mismatch_color",EDITOR_DEF("text_editor/brace_mismatch_color",Color(1,0.2,0.2))); @@ -118,9 +121,10 @@ void ShaderTextEditor::_load_theme_settings() { get_text_edit()->add_color_region("/*","*/",comment_color,false); get_text_edit()->add_color_region("//","",comment_color,false); - //colorize strings + + /*//colorize strings Color string_color = EDITOR_DEF("text_editor/string_color",Color::hex(0x6b6f00ff)); - /* + List<String> strings; shader->get_shader_mode()->get_string_delimiters(&strings); @@ -378,6 +382,7 @@ void ShaderEditor::_editor_settings_changed() { vertex_editor->get_text_edit()->cursor_set_blink_enabled(EditorSettings::get_singleton()->get("text_editor/caret_blink")); vertex_editor->get_text_edit()->cursor_set_blink_speed(EditorSettings::get_singleton()->get("text_editor/caret_blink_speed")); vertex_editor->get_text_edit()->add_constant_override("line_spacing", EditorSettings::get_singleton()->get("text_editor/line_spacing")); + vertex_editor->get_text_edit()->cursor_set_block_mode(EditorSettings::get_singleton()->get("text_editor/block_caret")); fragment_editor->get_text_edit()->set_auto_brace_completion(EditorSettings::get_singleton()->get("text_editor/auto_brace_complete")); fragment_editor->get_text_edit()->set_scroll_pass_end_of_file(EditorSettings::get_singleton()->get("text_editor/scroll_past_end_of_file")); @@ -389,6 +394,7 @@ void ShaderEditor::_editor_settings_changed() { fragment_editor->get_text_edit()->cursor_set_blink_enabled(EditorSettings::get_singleton()->get("text_editor/caret_blink")); fragment_editor->get_text_edit()->cursor_set_blink_speed(EditorSettings::get_singleton()->get("text_editor/caret_blink_speed")); fragment_editor->get_text_edit()->add_constant_override("line_spacing", EditorSettings::get_singleton()->get("text_editor/line_spacing")); + fragment_editor->get_text_edit()->cursor_set_block_mode(EditorSettings::get_singleton()->get("text_editor/block_caret")); light_editor->get_text_edit()->set_auto_brace_completion(EditorSettings::get_singleton()->get("text_editor/auto_brace_complete")); light_editor->get_text_edit()->set_scroll_pass_end_of_file(EditorSettings::get_singleton()->get("text_editor/scroll_past_end_of_file")); @@ -400,6 +406,7 @@ void ShaderEditor::_editor_settings_changed() { light_editor->get_text_edit()->cursor_set_blink_enabled(EditorSettings::get_singleton()->get("text_editor/caret_blink")); light_editor->get_text_edit()->cursor_set_blink_speed(EditorSettings::get_singleton()->get("text_editor/caret_blink_speed")); light_editor->get_text_edit()->add_constant_override("line_spacing", EditorSettings::get_singleton()->get("text_editor/line_spacing")); + light_editor->get_text_edit()->cursor_set_block_mode(EditorSettings::get_singleton()->get("text_editor/block_caret")); } void ShaderEditor::_bind_methods() { diff --git a/tools/editor/plugins/shader_graph_editor_plugin.cpp b/tools/editor/plugins/shader_graph_editor_plugin.cpp index dea2fe4833..375220051c 100644 --- a/tools/editor/plugins/shader_graph_editor_plugin.cpp +++ b/tools/editor/plugins/shader_graph_editor_plugin.cpp @@ -186,9 +186,8 @@ void GraphColorRampEdit::_notification(int p_what){ Point prev; prev.offset=0; prev.color=Color(0,0,0); - int w = get_size().x; - int h = get_size().y; + int h = get_size().y; int total_w = get_size().width-get_size().height-3; for(int i=-1;i<points.size();i++) { diff --git a/tools/editor/plugins/spatial_editor_plugin.cpp b/tools/editor/plugins/spatial_editor_plugin.cpp index 201ff30f40..a70df78697 100644 --- a/tools/editor/plugins/spatial_editor_plugin.cpp +++ b/tools/editor/plugins/spatial_editor_plugin.cpp @@ -53,8 +53,6 @@ void SpatialEditorViewport::_update_camera() { if (orthogonal) { - Size2 size = get_size(); - Size2 vpsize = Point2(cursor.distance*size.get_aspect(), cursor.distance / size.get_aspect()); //camera->set_orthogonal(size.width*cursor.distance,get_znear(),get_zfar()); camera->set_orthogonal(2 * cursor.distance, 0.1, 8192); } @@ -79,21 +77,30 @@ void SpatialEditorViewport::_update_camera() { String SpatialEditorGizmo::get_handle_name(int p_idx) const { + if (get_script_instance() && get_script_instance()->has_method("get_handle_name")) + return get_script_instance()->call("get_handle_name", p_idx); + return ""; } Variant SpatialEditorGizmo::get_handle_value(int p_idx) const{ + if (get_script_instance() && get_script_instance()->has_method("get_handle_value")) + return get_script_instance()->call("get_handle_value", p_idx); + return Variant(); } void SpatialEditorGizmo::set_handle(int p_idx,Camera *p_camera, const Point2& p_point) { + if (get_script_instance() && get_script_instance()->has_method("set_handle")) + get_script_instance()->call("set_handle", p_idx, p_camera, p_point); } void SpatialEditorGizmo::commit_handle(int p_idx,const Variant& p_restore,bool p_cancel){ - + if (get_script_instance() && get_script_instance()->has_method("commit_handle")) + get_script_instance()->call("commit_handle", p_idx, p_restore, p_cancel); } bool SpatialEditorGizmo::intersect_frustum(const Camera *p_camera,const Vector<Plane> &p_frustum) { @@ -276,10 +283,6 @@ ObjectID SpatialEditorViewport::_select_ray(const Point2& p_pos, bool p_append,b r_includes_current=false; List<_RayResult> results; - Vector3 cn=_get_camera_normal(); - Plane cplane(pos,cn.normalized()); - - float min_d=1e20; for (int i=0;i<instances.size();i++) { @@ -649,21 +652,8 @@ bool SpatialEditorViewport::_gizmo_select(const Vector2& p_screenpos,bool p_hili Vector3 ray_pos=_get_ray_pos( Vector2( p_screenpos.x, p_screenpos.y ) ); Vector3 ray=_get_ray( Vector2( p_screenpos.x, p_screenpos.y ) ); - Vector3 cn=_get_camera_normal(); - Plane cplane(ray_pos,cn.normalized()); - Transform gt = spatial_editor->get_gizmo_transform(); float gs=gizmo_scale; - /* - if (orthogonal) { - gs= cursor.distance/surface->get_size().get_aspect(); - - } else { - gs = cplane.distance_to(gt.origin); - } - - gs*=GIZMO_SCALE_DEFAULT; -*/ if (spatial_editor->get_tool_mode()==SpatialEditor::TOOL_MODE_SELECT || spatial_editor->get_tool_mode()==SpatialEditor::TOOL_MODE_MOVE) { @@ -1268,16 +1258,6 @@ void SpatialEditorViewport::_sinput(const InputEvent &p_event) { if (_edit.gizmo.is_valid()) { - Plane plane=Plane(_edit.gizmo_initial_pos,_get_camera_normal()); - - - Vector3 ray_pos=_get_ray_pos( Vector2( m.x, m.y ) ); - Vector3 ray=_get_ray( Vector2( m.x, m.y ) ); - - //Vector3 intersection; - //if (!plane.intersects_ray(ray_pos,ray,&intersection)) - // break; - _edit.gizmo->set_handle(_edit.gizmo_handle,camera,Vector2(m.x,m.y)); Variant v = _edit.gizmo->get_handle_value(_edit.gizmo_handle); String n = _edit.gizmo->get_handle_name(_edit.gizmo_handle); @@ -1808,16 +1788,6 @@ void SpatialEditorViewport::_notification(int p_what) { continue; - /* - ?? - if (!se->poly_instance.is_valid()) - continue; - if (!ObjectDB::get_instance( E->key() )) { - VisualServer::get_singleton()->free( se->poly_instance ); - se->poly_instance=RID(); - continue; - } - */ VisualInstance *vi=sp->cast_to<VisualInstance>(); @@ -1855,35 +1825,6 @@ void SpatialEditorViewport::_notification(int p_what) { surface->update(); } - //grid - Vector3 grid_cam_axis=_get_camera_normal(); - /* - for(int i=0;i<3;i++) { - - - Vector3 axis; - axis[i]=1; - - bool should_be_visible= grid_enabled && (grid_enable[i] || (Math::abs(grid_cam_axis.dot(axis))>0.99 && orthogonal)); - - if (should_be_visible!=grid_visible[i]) { - - VisualServer::get_singleton()->instance_geometry_set_flag(grid_instance[i],VS::INSTANCE_FLAG_VISIBLE,should_be_visible); - grid_visible[i]=should_be_visible; - } - } - - if (last_grid_snap!=spatial_editor->get_translate_snap()) { - - - last_grid_snap=spatial_editor->get_translate_snap() - Transform gridt; - gridt.basis.scale(Vector3(last_grid_snap,last_grid_snap,last_grid_snap)); - for(int i=0;i<3;i++) - VisualServer::get_singleton()->instance_set_transform(grid_instance[i],gridt); - - }*/ - } if (p_what==NOTIFICATION_ENTER_TREE) { @@ -2565,16 +2506,9 @@ Object *SpatialEditor::_get_editor_data(Object *p_what) { si->sbox_instance=VisualServer::get_singleton()->instance_create2(selection_box->get_rid(),sp->get_world()->get_scenario()); VS::get_singleton()->instance_geometry_set_cast_shadows_setting(si->sbox_instance, VS::SHADOW_CASTING_SETTING_OFF); - RID inst = sp->call("_get_visual_instance_rid"); - -// if (inst.is_valid()) -// si->aabb = VisualServer::get_singleton()->instance_get_base_aabb(inst); - - if (get_tree()->is_editor_hint()) editor->call("edit_node",sp); - return si; } diff --git a/tools/editor/plugins/tile_map_editor_plugin.cpp b/tools/editor/plugins/tile_map_editor_plugin.cpp index 9d27ac8aa3..d686c37d1a 100644 --- a/tools/editor/plugins/tile_map_editor_plugin.cpp +++ b/tools/editor/plugins/tile_map_editor_plugin.cpp @@ -412,6 +412,24 @@ void TileMapEditor::_draw_cell(int p_cell, const Point2i& p_point, bool p_flip_h if (node->get_tile_origin()==TileMap::TILE_ORIGIN_TOP_LEFT) { rect.pos+=tile_ofs; + } else if (node->get_tile_origin()==TileMap::TILE_ORIGIN_BOTTOM_LEFT) { + Size2 cell_size = node->get_cell_size(); + + rect.pos+=tile_ofs; + + if(p_transpose) + { + if(p_flip_h) + rect.pos.x-=cell_size.x; + else + rect.pos.x+=cell_size.x; + } else { + if(p_flip_v) + rect.pos.y-=cell_size.y; + else + rect.pos.y+=cell_size.y; + } + } else if (node->get_tile_origin()==TileMap::TILE_ORIGIN_CENTER) { rect.pos+=node->get_cell_size()/2; Vector2 s = r.size; diff --git a/tools/editor/plugins/tile_set_editor_plugin.cpp b/tools/editor/plugins/tile_set_editor_plugin.cpp index a2c7147bf3..39a15189e7 100644 --- a/tools/editor/plugins/tile_set_editor_plugin.cpp +++ b/tools/editor/plugins/tile_set_editor_plugin.cpp @@ -73,24 +73,24 @@ void TileSetEditor::_import_scene(Node *scene, Ref<TileSet> p_library, bool p_me p_library->tile_set_name(id,mi->get_name()); } - - p_library->tile_set_texture(id,texture); p_library->tile_set_material(id,material); Vector2 phys_offset; + Size2 s; - if (mi->is_centered()) { - Size2 s; - if (mi->is_region()) { - s=mi->get_region_rect().size; - } else { - s=texture->get_size(); - } - phys_offset+=-s/2; - } if (mi->is_region()) { + s=mi->get_region_rect().size; p_library->tile_set_region(id,mi->get_region_rect()); + } else { + const int frame = mi->get_frame(); + const int hframes = mi->get_hframes(); + s=texture->get_size()/Size2(hframes,mi->get_vframes()); + p_library->tile_set_region(id,Rect2(Vector2(frame%hframes,frame/hframes)*s,s)); + } + + if (mi->is_centered()) { + phys_offset+=-s/2; } Vector<Ref<Shape2D> >collisions; diff --git a/tools/editor/project_export.cpp b/tools/editor/project_export.cpp index 3f82199fc3..103962716b 100644 --- a/tools/editor/project_export.cpp +++ b/tools/editor/project_export.cpp @@ -431,7 +431,6 @@ void ProjectExportDialog::_validate_platform() { void ProjectExportDialog::_export_mode_changed(int p_idx) { - bool do_all = p_idx==0; if (EditorImportExport::get_singleton()->get_export_filter()==p_idx) return; EditorImportExport::get_singleton()->set_export_filter(EditorImportExport::ExportFilter(p_idx)); diff --git a/tools/editor/project_manager.cpp b/tools/editor/project_manager.cpp index 860af4888b..b7d3abfd5b 100644 --- a/tools/editor/project_manager.cpp +++ b/tools/editor/project_manager.cpp @@ -46,20 +46,33 @@ #include "io/resource_saver.h" #include "editor_themes.h" - +#include "editor_initialize_ssl.h" #include "editor_scale.h" +#include "io/zip_io.h" + class NewProjectDialog : public ConfirmationDialog { OBJ_TYPE(NewProjectDialog,ConfirmationDialog); +public: - bool import_mode; + enum Mode { + MODE_NEW, + MODE_IMPORT, + MODE_INSTALL + }; +private: + + Mode mode; Label *pp,*pn; Label *error; LineEdit *project_path; LineEdit *project_name; FileDialog *fdialog; + String zip_path; + String zip_title; + AcceptDialog *dialog_error; bool _test_path() { @@ -72,7 +85,7 @@ class NewProjectDialog : public ConfirmationDialog { return false; } - if (!import_mode) { + if (mode!=MODE_IMPORT) { if (d->file_exists("engine.cfg")) { @@ -109,7 +122,7 @@ class NewProjectDialog : public ConfirmationDialog { if (lidx!=-1) { sp=sp.substr(lidx+1,sp.length()); } - if (sp=="" && import_mode ) + if (sp=="" && mode==MODE_IMPORT ) sp=TTR("Imported Project"); project_name->set_text(sp); @@ -119,7 +132,7 @@ class NewProjectDialog : public ConfirmationDialog { void _file_selected(const String& p_path) { String p = p_path; - if (import_mode) { + if (mode==MODE_IMPORT) { if (p.ends_with("engine.cfg")) { p=p.get_base_dir(); @@ -141,7 +154,7 @@ class NewProjectDialog : public ConfirmationDialog { void _browse_path() { - if (import_mode) { + if (mode==MODE_IMPORT) { fdialog->set_mode(FileDialog::MODE_OPEN_FILE); fdialog->clear_filters(); @@ -163,7 +176,7 @@ class NewProjectDialog : public ConfirmationDialog { String dir; - if (import_mode) { + if (mode==MODE_IMPORT) { dir=project_path->get_text(); @@ -179,26 +192,131 @@ class NewProjectDialog : public ConfirmationDialog { dir=d->get_current_dir(); memdelete(d); - FileAccess *f = FileAccess::open(dir.plus_file("/engine.cfg"),FileAccess::WRITE); - if (!f) { - error->set_text(TTR("Couldn't create engine.cfg in project path.")); - } else { + if (mode==MODE_NEW) { + + + + + FileAccess *f = FileAccess::open(dir.plus_file("/engine.cfg"),FileAccess::WRITE); + if (!f) { + error->set_text(TTR("Couldn't create engine.cfg in project path.")); + } else { + + f->store_line("; Engine configuration file."); + f->store_line("; It's best edited using the editor UI and not directly,"); + f->store_line("; since the parameters that go here are not all obvious."); + f->store_line("; "); + f->store_line("; Format: "); + f->store_line("; [section] ; section goes between []"); + f->store_line("; param=value ; assign values to parameters"); + f->store_line("\n"); + f->store_line("[application]"); + f->store_line("\n"); + f->store_line("name=\""+project_name->get_text()+"\""); + f->store_line("icon=\"res://icon.png\""); + + memdelete(f); + + ResourceSaver::save(dir.plus_file("/icon.png"),get_icon("DefaultProjectIcon","EditorIcons")); + } + + } else if (mode==MODE_INSTALL) { + + + FileAccess *src_f=NULL; + zlib_filefunc_def io = zipio_create_io_from_file(&src_f); + + unzFile pkg = unzOpen2(zip_path.utf8().get_data(), &io); + if (!pkg) { + + dialog_error->set_text("Error opening package file, not in zip format."); + return; + } + + int ret = unzGoToFirstFile(pkg); + + Vector<String> failed_files; + + int idx=0; + while(ret==UNZ_OK) { + + //get filename + unz_file_info info; + char fname[16384]; + ret = unzGetCurrentFileInfo(pkg,&info,fname,16384,NULL,0,NULL,0); + + String path=fname; + + int depth=1; //stuff from github comes with tag + bool skip=false; + while(depth>0) { + int pp = path.find("/"); + if (pp==-1) { + skip=true; + break; + } + path=path.substr(pp+1,path.length()); + depth--; + } + + + if (skip || path==String()) { + // + } else if (path.ends_with("/")) { // a dir + + path=path.substr(0,path.length()-1); + + DirAccess *da = DirAccess::create(DirAccess::ACCESS_FILESYSTEM); + da->make_dir(dir.plus_file(path)); + memdelete(da); + + } else { + + Vector<uint8_t> data; + data.resize(info.uncompressed_size); + + //read + unzOpenCurrentFile(pkg); + unzReadCurrentFile(pkg,data.ptr(),data.size()); + unzCloseCurrentFile(pkg); + + FileAccess *f=FileAccess::open(dir.plus_file(path),FileAccess::WRITE); + + if (f) { + f->store_buffer(data.ptr(),data.size()); + memdelete(f); + } else { + failed_files.push_back(path); + } + + + } + + idx++; + ret = unzGoToNextFile(pkg); + } + + unzClose(pkg); + + if (failed_files.size()) { + String msg=TTR("The following files failed extraction from package:")+"\n\n"; + for(int i=0;i<failed_files.size();i++) { + + if (i>15) { + msg+="\nAnd "+itos(failed_files.size()-i)+" more files."; + break; + } + msg+=failed_files[i]+"\n"; + } + + dialog_error->set_text(msg); + dialog_error->popup_centered_minsize(); + + } else { + dialog_error->set_text(TTR("Package Installed Successfully!")); + dialog_error->popup_centered_minsize(); + } - f->store_line("; Engine configuration file."); - f->store_line("; It's best to edit using the editor UI, not directly,"); - f->store_line("; becausethe parameters that go here are not obvious."); - f->store_line("; "); - f->store_line("; Format: "); - f->store_line("; [section] ; section goes between []"); - f->store_line("; param=value ; assign values to parameters"); - f->store_line("\n"); - f->store_line("[application]"); - f->store_line("name=\""+project_name->get_text()+"\""); - f->store_line("icon=\"res://icon.png\""); - - memdelete(f); - - ResourceSaver::save(dir.plus_file("/icon.png"),get_icon("DefaultProjectIcon","EditorIcons")); } @@ -233,10 +351,16 @@ protected: public: + void set_zip_path(const String& p_path) { + zip_path=p_path; + } + void set_zip_title(const String& p_title) { + zip_title=p_title; + } - void set_import_mode(bool p_import ) { + void set_mode(Mode p_mode) { - import_mode=p_import; + mode=p_mode; } void show_dialog() { @@ -245,7 +369,7 @@ public: project_path->clear(); project_name->clear(); - if (import_mode) { + if (mode==MODE_IMPORT) { set_title(TTR("Import Existing Project")); get_ok()->set_text(TTR("Import")); pp->set_text(TTR("Project Path (Must Exist):")); @@ -253,9 +377,10 @@ public: pn->hide(); project_name->hide(); - popup_centered(Size2(500,125)); + popup_centered(Size2(500,125)*EDSCALE); + + } else if (mode==MODE_NEW){ - } else { set_title(TTR("Create New Project")); get_ok()->set_text(TTR("Create")); pp->set_text(TTR("Project Path:")); @@ -263,7 +388,16 @@ public: pn->show(); project_name->show(); - popup_centered(Size2(500,145)); + popup_centered(Size2(500,145)*EDSCALE); + } else if (mode==MODE_INSTALL){ + + set_title(TTR("Install Project:")+" "+zip_title); + get_ok()->set_text(TTR("Install")); + pp->set_text(TTR("Project Path:")); + pn->hide(); + project_name->hide(); + + popup_centered(Size2(500,125)*EDSCALE); } @@ -329,7 +463,10 @@ public: fdialog->connect("dir_selected", this,"_path_selected"); fdialog->connect("file_selected", this,"_file_selected"); set_hide_on_ok(false); - import_mode=false; + mode=MODE_NEW; + + dialog_error = memnew( AcceptDialog ); + add_child(dialog_error); } @@ -616,6 +753,8 @@ void ProjectManager::_load_recent_projects() { run_btn->set_disabled(selected_list.size()<1 || (selected_list.size()==1 && single_selected_main=="")); EditorSettings::get_singleton()->save(); + + tabs->set_current_tab(0); } void ProjectManager::_open_project_confirm() { @@ -755,14 +894,14 @@ void ProjectManager::_scan_projects() { void ProjectManager::_new_project() { - npdialog->set_import_mode(false); + npdialog->set_mode(NewProjectDialog::MODE_NEW); npdialog->show_dialog(); } void ProjectManager::_import_project() { - npdialog->set_import_mode(true); + npdialog->set_mode(NewProjectDialog::MODE_IMPORT); npdialog->show_dialog(); } @@ -800,6 +939,15 @@ void ProjectManager::_exit_dialog() { get_tree()->quit(); } + +void ProjectManager::_install_project(const String& p_zip_path,const String& p_title) { + + npdialog->set_mode(NewProjectDialog::MODE_INSTALL); + npdialog->set_zip_path(p_zip_path); + npdialog->set_zip_title(p_title); + npdialog->show_dialog(); +} + void ProjectManager::_bind_methods() { ObjectTypeDB::bind_method("_open_project",&ProjectManager::_open_project); @@ -817,15 +965,13 @@ void ProjectManager::_bind_methods() { ObjectTypeDB::bind_method("_panel_draw",&ProjectManager::_panel_draw); ObjectTypeDB::bind_method("_panel_input",&ProjectManager::_panel_input); ObjectTypeDB::bind_method("_favorite_pressed",&ProjectManager::_favorite_pressed); + ObjectTypeDB::bind_method("_install_project",&ProjectManager::_install_project); } ProjectManager::ProjectManager() { - int margin = get_constant("margin","Dialogs"); - int button_margin = get_constant("button_margin","Dialogs"); - // load settings if (!EditorSettings::get_singleton()) EditorSettings::create(); @@ -981,10 +1127,10 @@ ProjectManager::ProjectManager() { if (StreamPeerSSL::is_available()) { - asset_library = memnew( EditorAssetLibrary(true) ); asset_library->set_name("Templates"); tabs->add_child(asset_library); + asset_library->connect("install_asset",this,"_install_project"); } else { WARN_PRINT("Asset Library not available, as it requires SSL to work."); } @@ -1018,8 +1164,6 @@ ProjectManager::ProjectManager() { gui_base->add_child(multi_run_ask); - - OS::get_singleton()->set_low_processor_usage_mode(true); npdialog = memnew( NewProjectDialog ); @@ -1103,6 +1247,8 @@ void ProjectListFilter::_bind_methods() { ProjectListFilter::ProjectListFilter() { + editor_initialize_certificates(); //for asset sharing + _current_filter = FILTER_NAME; filter_option = memnew(OptionButton); diff --git a/tools/editor/project_manager.h b/tools/editor/project_manager.h index 2db1bb839e..69467f50e7 100644 --- a/tools/editor/project_manager.h +++ b/tools/editor/project_manager.h @@ -88,6 +88,8 @@ class ProjectManager : public Control { void _load_recent_projects(); void _scan_dir(DirAccess *da,float pos, float total,List<String> *r_projects); + void _install_project(const String& p_zip_path,const String& p_title); + void _panel_draw(Node *p_hb); void _panel_input(const InputEvent& p_ev,Node *p_hb); void _favorite_pressed(Node *p_hb); diff --git a/tools/editor/project_settings.cpp b/tools/editor/project_settings.cpp index 6822e50b73..6be1abf52f 100644 --- a/tools/editor/project_settings.cpp +++ b/tools/editor/project_settings.cpp @@ -100,16 +100,6 @@ void ProjectSettings::_notification(int p_what) { translation_res_file_open->add_filter("*."+E->get()); translation_res_option_file_open->add_filter("*."+E->get()); } - - List<String> afn; - ResourceLoader::get_recognized_extensions_for_type("Script",&afn); - ResourceLoader::get_recognized_extensions_for_type("PackedScene",&afn); - - for (List<String>::Element *E=afn.front();E;E=E->next()) { - - autoload_file_open->add_filter("*."+E->get()); - } - } } @@ -564,7 +554,7 @@ void ProjectSettings::popup_project_settings() { popup_centered_ratio(); globals_editor->update_category_list(); _update_translations(); - _update_autoload(); + autoload_settings->update_autoload(); plugin_settings->update_plugins(); } @@ -616,10 +606,26 @@ void ProjectSettings::_item_add() { String name = catname!="" ? catname+"/"+propname : propname; - Globals::get_singleton()->set(name,value); + undo_redo->create_action("Add Global Property"); + + undo_redo->add_do_property(Globals::get_singleton(), name, value); + undo_redo->add_do_method(Globals::get_singleton(), "set_persisting", name, true); + + if (Globals::get_singleton()->has(name)) { + undo_redo->add_undo_property(Globals::get_singleton(), name, Globals::get_singleton()->get(name)); + } else { + undo_redo->add_undo_property(Globals::get_singleton(), name, Variant()); + } + + undo_redo->add_do_method(globals_editor, "update_category_list"); + undo_redo->add_undo_method(globals_editor, "update_category_list"); + + undo_redo->add_do_method(this, "_settings_changed"); + undo_redo->add_undo_method(this, "_settings_changed"); + + undo_redo->commit_action(); globals_editor->set_current_section(catname); - globals_editor->update_category_list(); _settings_changed(); } @@ -633,10 +639,20 @@ void ProjectSettings::_item_del() { String name = catname!="" ? catname+"/"+propname : propname; - Globals::get_singleton()->set(name,Variant()); + undo_redo->create_action("Delete Global Property"); - globals_editor->set_current_section(catname); - globals_editor->update_category_list(); + undo_redo->add_do_property(Globals::get_singleton(), name, Variant()); + + undo_redo->add_undo_property(Globals::get_singleton(), name, Globals::get_singleton()->get(name)); + undo_redo->add_undo_method(Globals::get_singleton(), "set_persisting", name, Globals::get_singleton()->is_persisting(name)); + + undo_redo->add_do_method(globals_editor, "update_category_list"); + undo_redo->add_undo_method(globals_editor, "update_category_list"); + + undo_redo->add_do_method(this, "_settings_changed"); + undo_redo->add_undo_method(this, "_settings_changed"); + + undo_redo->commit_action(); _settings_changed(); } @@ -811,263 +827,6 @@ void ProjectSettings::_translation_file_open() { translation_file_open->popup_centered_ratio(); } - -void ProjectSettings::_autoload_file_callback(const String& p_path) { - - autoload_add_path->set_text(p_path); - //if (autoload_add_name->get_text().strip_edges()==String()) { - - autoload_add_name->set_text( p_path.get_file().basename() ); - //} - - //_translation_add(p_translation); -} - -void ProjectSettings::_autoload_file_open() { - - autoload_file_open->popup_centered_ratio(); -} - -void ProjectSettings::_autoload_edited() { - - if (updating_autoload) - return; - - TreeItem *ti = autoload_list->get_edited(); - int column = autoload_list->get_edited_column(); - - if (!ti || (column != 0 && column != 2)) - return; - - if (column == 0) { - String name = ti->get_text(0); - String old_name = selected_autoload.substr(selected_autoload.find("/")+1,selected_autoload.length()); - - if (!name.is_valid_identifier()) { - ti->set_text(0,old_name); - message->set_text(TTR("Invalid name.")+"\n"+TTR("Valid characters:")+" a-z, A-Z, 0-9 or _"); - message->popup_centered(Size2(300,100)); - return; - } - - if (ObjectTypeDB::type_exists(name)) { - ti->set_text(0,old_name); - message->set_text(TTR("Invalid name. Must not collide with an existing engine class name.")); - message->popup_centered(Size2(400,100)); - return; - } - - for(int i=0;i<Variant::VARIANT_MAX;i++) { - if (Variant::get_type_name(Variant::Type(i))==name) { - ti->set_text(0,old_name); - message->set_text(TTR("Invalid name. Must not collide with an existing buit-in type name.")); - message->popup_centered(Size2(400,100)); - return; - } - } - - for(int i=0;i<GlobalConstants::get_global_constant_count();i++) { - if (GlobalConstants::get_global_constant_name(i)==name) { - ti->set_text(0,old_name); - message->set_text(TTR("Invalid name. Must not collide with an existing global constant name.")); - message->popup_centered(Size2(400,100)); - return; - } - } - - if (Globals::get_singleton()->has("autoload/"+name)) { - ti->set_text(0,old_name); - message->set_text(vformat(TTR("Autoload '%s' already exists!"),name)); - message->popup_centered(Size2(300,100)); - return; - } - - updating_autoload = true; - - name = "autoload/"+name; - String path = Globals::get_singleton()->get(selected_autoload); - bool is_persisting = Globals::get_singleton()->is_persisting(selected_autoload); - int order = Globals::get_singleton()->get_order(selected_autoload); - - undo_redo->create_action(TTR("Rename Autoload")); - undo_redo->add_do_property(Globals::get_singleton(),name,path); - undo_redo->add_do_method(Globals::get_singleton(),"set_persisting",name,is_persisting); - undo_redo->add_do_method(Globals::get_singleton(),"set_order",name,order); - undo_redo->add_do_method(Globals::get_singleton(),"clear",selected_autoload); - undo_redo->add_undo_property(Globals::get_singleton(),selected_autoload,path); - undo_redo->add_undo_method(Globals::get_singleton(),"set_persisting",selected_autoload,is_persisting); - undo_redo->add_undo_method(Globals::get_singleton(),"set_order",selected_autoload,order); - undo_redo->add_undo_method(Globals::get_singleton(),"clear",name); - undo_redo->add_do_method(this,"_update_autoload"); - undo_redo->add_undo_method(this,"_update_autoload"); - undo_redo->add_do_method(this,"_settings_changed"); - undo_redo->add_undo_method(this,"_settings_changed"); - undo_redo->commit_action(); - - selected_autoload = name; - } else if (column == 2) { - updating_autoload = true; - - bool checked = ti->is_checked(2); - String base = "autoload/"+ti->get_text(0); - String path = Globals::get_singleton()->get(base); - int order = Globals::get_singleton()->get_order(base); - - if (path.begins_with("*")) - path = path.substr(1,path.length()); - - if (checked) - path = "*" + path; - - undo_redo->create_action(TTR("Toggle AutoLoad Globals")); - undo_redo->add_do_property(Globals::get_singleton(),base,path); - undo_redo->add_undo_property(Globals::get_singleton(),base,Globals::get_singleton()->get(base)); - undo_redo->add_do_method(Globals::get_singleton(),"set_order",base,order); // keep order, as config order matters for these - undo_redo->add_undo_method(Globals::get_singleton(),"set_order",base,order); - undo_redo->add_do_method(this,"_update_autoload"); - undo_redo->add_undo_method(this,"_update_autoload"); - undo_redo->add_do_method(this,"_settings_changed"); - undo_redo->add_undo_method(this,"_settings_changed"); - undo_redo->commit_action(); - } - - updating_autoload = false; -} - -void ProjectSettings::_autoload_add() { - - String name = autoload_add_name->get_text(); - if (!name.is_valid_identifier()) { - message->set_text(TTR("Invalid name.")+"\n"+TTR("Valid characters:")+" a-z, A-Z, 0-9 or _"); - message->popup_centered(Size2(300,100)); - return; - - } - - if (ObjectTypeDB::type_exists(name)) { - - message->set_text(TTR("Invalid name. Must not collide with an existing engine class name.")); - message->popup_centered(Size2(300,100)); - return; - - } - - for(int i=0;i<Variant::VARIANT_MAX;i++) { - if (Variant::get_type_name(Variant::Type(i))==name) { - - message->set_text(TTR("Invalid name. Must not collide with an existing buit-in type name.")); - message->popup_centered(Size2(300,100)); - return; - - } - } - - for(int i=0;i<GlobalConstants::get_global_constant_count();i++) { - - if (GlobalConstants::get_global_constant_name(i)==name) { - - message->set_text(TTR("Invalid name. Must not collide with an existing global constant name.")); - message->popup_centered(Size2(300,100)); - return; - } - - } - - String path = autoload_add_path->get_text(); - if (!FileAccess::exists(path)) { - message->set_text("Invalid Path.\nFile does not exist."); - message->popup_centered(Size2(300,100)); - return; - - } - if (!path.begins_with("res://")) { - message->set_text("Invalid Path.\nNot in resource path."); - message->popup_centered(Size2(300,100)); - return; - - } - - undo_redo->create_action(TTR("Add Autoload")); - name = "autoload/"+name; - undo_redo->add_do_property(Globals::get_singleton(),name,"*"+path); - if (Globals::get_singleton()->has(name)) - undo_redo->add_undo_property(Globals::get_singleton(),name,Globals::get_singleton()->get(name)); - else - undo_redo->add_undo_property(Globals::get_singleton(),name,Variant()); - - undo_redo->add_do_method(Globals::get_singleton(),"set_persisting",name,true); - undo_redo->add_do_method(this,"_update_autoload"); - undo_redo->add_undo_method(this,"_update_autoload"); - undo_redo->add_do_method(this,"_settings_changed"); - undo_redo->add_undo_method(this,"_settings_changed"); - undo_redo->commit_action(); - - autoload_add_path->set_text(""); - autoload_add_name->set_text(""); - - //autoload_file_open->popup_centered_ratio(); -} - -void ProjectSettings::_autoload_delete(Object *p_item,int p_column, int p_button) { - - - TreeItem *ti=p_item->cast_to<TreeItem>(); - String name = "autoload/"+ti->get_text(0); - - if (p_button==0) { - //delete - int order = Globals::get_singleton()->get_order(name); - undo_redo->create_action(TTR("Remove Autoload")); - undo_redo->add_do_property(Globals::get_singleton(),name,Variant()); - undo_redo->add_undo_property(Globals::get_singleton(),name,Globals::get_singleton()->get(name)); - undo_redo->add_undo_method(Globals::get_singleton(),"set_persisting",name,true); - undo_redo->add_undo_method(Globals::get_singleton(),"set_order",name,order); - undo_redo->add_do_method(this,"_update_autoload"); - undo_redo->add_undo_method(this,"_update_autoload"); - undo_redo->add_do_method(this,"_settings_changed"); - undo_redo->add_undo_method(this,"_settings_changed"); - undo_redo->commit_action(); - } else { - - TreeItem *swap = NULL; - - if (p_button==1) { - swap=ti->get_prev(); - } else if (p_button==2) { - swap=ti->get_next(); - } - if (!swap) - return; - - String swap_name= "autoload/"+swap->get_text(0); - - int order = Globals::get_singleton()->get_order(name); - int swap_order = Globals::get_singleton()->get_order(swap_name); - - undo_redo->create_action(TTR("Move Autoload")); - undo_redo->add_do_method(Globals::get_singleton(),"set_order",swap_name,order); - undo_redo->add_do_method(Globals::get_singleton(),"set_order",name,swap_order); - undo_redo->add_undo_method(Globals::get_singleton(),"set_order",swap_name,swap_order); - undo_redo->add_undo_method(Globals::get_singleton(),"set_order",name,order); - undo_redo->add_do_method(this,"_update_autoload"); - undo_redo->add_undo_method(this,"_update_autoload"); - undo_redo->add_do_method(this,"_settings_changed"); - undo_redo->add_undo_method(this,"_settings_changed"); - undo_redo->commit_action(); - - } - -} - -void ProjectSettings::_autoload_selected() { - TreeItem *ti = autoload_list->get_selected(); - - if (!ti) - return; - - selected_autoload = "autoload/"+ti->get_text(0); -} - void ProjectSettings::_translation_delete(Object *p_item,int p_column, int p_button) { TreeItem *ti = p_item->cast_to<TreeItem>(); @@ -1393,55 +1152,6 @@ void ProjectSettings::_update_translations() { } -void ProjectSettings::_update_autoload() { - - if (updating_autoload) - return; - - updating_autoload=true; - - autoload_list->clear(); - TreeItem *root = autoload_list->create_item(); - autoload_list->set_hide_root(true); - - List<PropertyInfo> props; - Globals::get_singleton()->get_property_list(&props); - - for(List<PropertyInfo>::Element *E=props.front();E;E=E->next()) { - - const PropertyInfo &pi=E->get(); - if (!pi.name.begins_with("autoload/")) - continue; - - String name = pi.name.get_slice("/",1); - String path = Globals::get_singleton()->get(pi.name); - - if (name=="") - continue; - bool global=false; - if (path.begins_with("*")) { - path=path.substr(1,path.length()); - global=true; - } - TreeItem *t = autoload_list->create_item(root); - t->set_text(0,name); - t->set_editable(0,true); - t->set_text(1,path); - t->set_cell_mode(2,TreeItem::CELL_MODE_CHECK); - t->set_editable(2,true); - t->set_text(2,TTR("Enable")); - t->set_checked(2,global); - t->add_button(3,get_icon("MoveUp","EditorIcons"),1); - t->add_button(3,get_icon("MoveDown","EditorIcons"),2); - t->add_button(3,get_icon("Del","EditorIcons"),0); - - - } - - updating_autoload=false; - -} - void ProjectSettings::_toggle_search_bar(bool p_pressed) { globals_editor->get_property_editor()->set_use_filter(p_pressed); @@ -1508,14 +1218,6 @@ void ProjectSettings::_bind_methods() { ObjectTypeDB::bind_method(_MD("_translation_res_delete"),&ProjectSettings::_translation_res_delete); ObjectTypeDB::bind_method(_MD("_translation_res_option_delete"),&ProjectSettings::_translation_res_option_delete); - ObjectTypeDB::bind_method(_MD("_autoload_add"),&ProjectSettings::_autoload_add); - ObjectTypeDB::bind_method(_MD("_autoload_file_open"),&ProjectSettings::_autoload_file_open); - ObjectTypeDB::bind_method(_MD("_autoload_file_callback"),&ProjectSettings::_autoload_file_callback); - ObjectTypeDB::bind_method(_MD("_update_autoload"),&ProjectSettings::_update_autoload); - ObjectTypeDB::bind_method(_MD("_autoload_delete"),&ProjectSettings::_autoload_delete); - ObjectTypeDB::bind_method(_MD("_autoload_edited"),&ProjectSettings::_autoload_edited); - ObjectTypeDB::bind_method(_MD("_autoload_selected"),&ProjectSettings::_autoload_selected); - ObjectTypeDB::bind_method(_MD("_clear_search_box"),&ProjectSettings::_clear_search_box); ObjectTypeDB::bind_method(_MD("_toggle_search_bar"),&ProjectSettings::_toggle_search_bar); @@ -1858,69 +1560,10 @@ ProjectSettings::ProjectSettings(EditorData *p_data) { { - VBoxContainer *avb = memnew( VBoxContainer ); - tab_container->add_child(avb); - avb->set_name(TTR("AutoLoad")); - HBoxContainer *ahb = memnew( HBoxContainer); - avb->add_child(ahb); - - - VBoxContainer *avb_path = memnew( VBoxContainer ); - avb_path->set_h_size_flags(SIZE_EXPAND_FILL); - HBoxContainer *ahb_path = memnew( HBoxContainer ); - autoload_add_path = memnew(LineEdit); - autoload_add_path->set_h_size_flags(SIZE_EXPAND_FILL); - ahb_path->add_child(autoload_add_path); - Button *browseaa = memnew( Button("..") ); - ahb_path->add_child(browseaa); - browseaa->connect("pressed",this,"_autoload_file_open"); - - avb_path->add_margin_child(TTR("Path:"),ahb_path); - ahb->add_child(avb_path); - - VBoxContainer *avb_name = memnew( VBoxContainer ); - avb_name->set_h_size_flags(SIZE_EXPAND_FILL); - - HBoxContainer *ahb_name = memnew( HBoxContainer ); - autoload_add_name = memnew(LineEdit); - autoload_add_name->set_h_size_flags(SIZE_EXPAND_FILL); - ahb_name->add_child(autoload_add_name); - avb_name->add_margin_child(TTR("Node Name:"),ahb_name); - Button *addaa = memnew( Button(TTR("Add")) ); - ahb_name->add_child(addaa); - addaa->connect("pressed",this,"_autoload_add"); - - ahb->add_child(avb_name); - - autoload_list = memnew( Tree ); - autoload_list->set_v_size_flags(SIZE_EXPAND_FILL); - avb->add_margin_child(TTR("List:"),autoload_list,true); - - autoload_file_open=memnew( EditorFileDialog ); - add_child(autoload_file_open); - autoload_file_open->set_mode(EditorFileDialog::MODE_OPEN_FILE); - autoload_file_open->connect("file_selected",this,"_autoload_file_callback"); - - autoload_list->set_columns(4); - autoload_list->set_column_titles_visible(true); - autoload_list->set_column_title(0,TTR("Name")); - autoload_list->set_column_expand(0,true); - autoload_list->set_column_min_width(0,100); - autoload_list->set_column_title(1,TTR("Path")); - autoload_list->set_column_expand(1,true); - autoload_list->set_column_min_width(1,100); - autoload_list->set_column_title(2,TTR("Singleton")); - autoload_list->set_column_expand(2,false); - autoload_list->set_column_min_width(2,80); - autoload_list->set_column_expand(3,false); - autoload_list->set_column_min_width(3,80); - - autoload_list->connect("button_pressed",this,"_autoload_delete"); - autoload_list->connect("item_edited",this,"_autoload_edited"); - autoload_list->connect("cell_selected", this, "_autoload_selected"); - - updating_autoload=false; - + autoload_settings = memnew( EditorAutoloadSettings ); + autoload_settings->set_name(TTR("AutoLoad")); + tab_container->add_child(autoload_settings); + autoload_settings->connect("autoload_changed", this, "_settings_changed"); } { diff --git a/tools/editor/project_settings.h b/tools/editor/project_settings.h index 79e1acf75e..46e98f69ad 100644 --- a/tools/editor/project_settings.h +++ b/tools/editor/project_settings.h @@ -34,6 +34,7 @@ #include "undo_redo.h" #include "editor_data.h" #include "scene/gui/tab_container.h" +#include "editor_autoload_settings.h" #include "editor_plugin_settings.h" //#include "project_export_settings.h" @@ -88,26 +89,10 @@ class ProjectSettings : public AcceptDialog { Tree *translation_remap; Tree *translation_remap_options; - - Tree *autoload_list; - String selected_autoload; - EditorFileDialog *autoload_file_open; - LineEdit *autoload_add_name; - LineEdit *autoload_add_path; - + EditorAutoloadSettings *autoload_settings; EditorPluginSettings *plugin_settings; - void _update_autoload(); - void _autoload_file_callback(const String& p_path); - void _autoload_add(); - void _autoload_edited(); - void _autoload_file_open(); - void _autoload_delete(Object *p_item,int p_column, int p_button); - void _autoload_selected(); - bool updating_autoload; - - void _item_selected(); void _item_adds(String); void _item_add(); diff --git a/tools/editor/property_editor.cpp b/tools/editor/property_editor.cpp index e0dc76e733..54d197f10d 100644 --- a/tools/editor/property_editor.cpp +++ b/tools/editor/property_editor.cpp @@ -389,7 +389,6 @@ bool CustomPropertyEditor::edit(Object* p_owner,const String& p_name,Variant::Ty List<String> names; names.push_back("value:"); config_value_editors(1,1,50,names); - Vector3 vec=v; value_editor[0]->set_text( String::num(v) ); } @@ -436,7 +435,6 @@ bool CustomPropertyEditor::edit(Object* p_owner,const String& p_name,Variant::Ty List<String> names; names.push_back("string:"); config_value_editors(1,1,50,names); - Vector3 vec=v; value_editor[0]->set_text( v ); } @@ -2981,10 +2979,8 @@ void PropertyEditor::update_tree() { else item->set_cell_mode( 1, TreeItem::CELL_MODE_RANGE_EXPRESSION ); - if (p.hint==PROPERTY_HINT_SPRITE_FRAME) { - item->set_range_config(1,0,99999,1); - } else if (p.hint==PROPERTY_HINT_RANGE || p.hint==PROPERTY_HINT_EXP_RANGE) { + if (p.hint==PROPERTY_HINT_SPRITE_FRAME || p.hint==PROPERTY_HINT_RANGE || p.hint==PROPERTY_HINT_EXP_RANGE) { int c = p.hint_string.get_slice_count(","); float min=0,max=100,step=1; @@ -3347,7 +3343,6 @@ void PropertyEditor::update_tree() { String type; if (p.hint==PROPERTY_HINT_RESOURCE_TYPE) type=p.hint_string; - bool notnil=false; if (obj->get( p.name ).get_type() == Variant::NIL || obj->get( p.name ).operator RefPtr().is_null()) { item->set_text(1,"<null>"); @@ -3370,8 +3365,7 @@ void PropertyEditor::update_tree() { } else { item->set_text(1,"<"+res->get_type()+">"); - }; - notnil=true; + } if (has_icon(res->get_type(),"EditorIcons")) { type=res->get_type(); @@ -4193,6 +4187,8 @@ public: void SectionedPropertyEditor::_bind_methods() { ObjectTypeDB::bind_method("_section_selected",&SectionedPropertyEditor::_section_selected); + + ObjectTypeDB::bind_method("update_category_list", &SectionedPropertyEditor::update_category_list); } void SectionedPropertyEditor::_section_selected(int p_which) { @@ -4236,19 +4232,32 @@ String SectionedPropertyEditor::get_full_item_path(const String& p_item) { void SectionedPropertyEditor::edit(Object* p_object) { - if (p_object) { - obj=p_object->get_instance_ID(); - update_category_list(); - } else { + if (!p_object) { + obj = -1; sections->clear(); + + filter->set_edited(NULL); + editor->edit(NULL); + + return; } - filter->set_edited(p_object); - editor->edit(filter); + ObjectID id = p_object->get_instance_ID(); - sections->select(0); - _section_selected(0); + if (obj != id) { + + obj = id; + update_category_list(); + filter->set_edited(p_object); + editor->edit(filter); + + sections->select(0); + _section_selected(0); + } else { + + update_category_list(); + } } void SectionedPropertyEditor::update_category_list() { @@ -4304,6 +4313,8 @@ PropertyEditor *SectionedPropertyEditor::get_property_editor() { SectionedPropertyEditor::SectionedPropertyEditor() { + obj = -1; + VBoxContainer *left_vb = memnew( VBoxContainer); left_vb->set_custom_minimum_size(Size2(160,0)*EDSCALE); add_child(left_vb); diff --git a/tools/editor/quick_open.cpp b/tools/editor/quick_open.cpp index adb08b65d6..e18dc584d5 100644 --- a/tools/editor/quick_open.cpp +++ b/tools/editor/quick_open.cpp @@ -109,6 +109,17 @@ void EditorQuickOpen::_sbox_input(const InputEvent& p_ie) { } +float EditorQuickOpen::_path_cmp(String search, String path) const { + + if (search == path) { + return 1.2f; + } + if (path.findn(search) != -1) { + return 1.1f; + } + return path.to_lower().similarity(search.to_lower()); +} + void EditorQuickOpen::_parse_fs(EditorFileSystemDirectory *efsd, Vector< Pair< String, Ref<Texture> > > &list) { if (!add_directories) { @@ -130,17 +141,18 @@ void EditorQuickOpen::_parse_fs(EditorFileSystemDirectory *efsd, Vector< Pair< S Pair< String, Ref<Texture> > pair; pair.first = path; pair.second = get_icon("folder", "FileDialog"); - if (list.size() > 0) { - float this_sim = search_text.to_lower().similarity(path.to_lower()); - float other_sim = search_text.to_lower().similarity(list[0].first.to_lower()); + if (search_text != String() && list.size() > 0) { + + float this_sim = _path_cmp(search_text, path); + float other_sim = _path_cmp(list[0].first, path); int pos = 1; - while (pos < list.size() && this_sim < other_sim) { - other_sim = search_text.to_lower().similarity(list[pos++].first.to_lower()); + while (pos < list.size() && this_sim <= other_sim) { + other_sim = _path_cmp(list[pos++].first, path); } - pos = this_sim > other_sim ? pos - 1 : pos; + pos = this_sim >= other_sim ? pos - 1 : pos; list.insert(pos, pair); } else { @@ -159,17 +171,17 @@ void EditorQuickOpen::_parse_fs(EditorFileSystemDirectory *efsd, Vector< Pair< S pair.first = file; pair.second = get_icon((has_icon(efsd->get_file_type(i), ei) ? efsd->get_file_type(i) : ot), ei); - if (list.size() > 0) { + if (search_text != String() && list.size() > 0) { - float this_sim = search_text.to_lower().similarity(file.to_lower()); - float other_sim = search_text.to_lower().similarity(list[0].first.to_lower()); + float this_sim = _path_cmp(search_text, file); + float other_sim = _path_cmp(list[0].first, file); int pos = 1; - while (pos < list.size() && this_sim < other_sim) { - other_sim = search_text.to_lower().similarity(list[pos++].first.to_lower()); + while (pos < list.size() && this_sim <= other_sim) { + other_sim = _path_cmp(list[pos++].first, file); } - pos = this_sim > other_sim ? pos - 1 : pos; + pos = this_sim >= other_sim ? pos - 1 : pos; list.insert(pos, pair); } else { @@ -198,8 +210,6 @@ void EditorQuickOpen::_update_search() { _parse_fs(efsd, list); - //String best_match = list[0]; - for (int i = 0; i < list.size(); i++) { TreeItem *ti = search_options->create_item(root); ti->set_text(0, list[i].first); diff --git a/tools/editor/quick_open.h b/tools/editor/quick_open.h index 45527090b7..c253f7606e 100644 --- a/tools/editor/quick_open.h +++ b/tools/editor/quick_open.h @@ -49,6 +49,7 @@ class EditorQuickOpen : public ConfirmationDialog { void _sbox_input(const InputEvent& p_ie); void _parse_fs(EditorFileSystemDirectory *efsd, Vector< Pair< String,Ref <Texture> > > &list); + float _path_cmp(String search, String path) const; void _confirmed(); diff --git a/tools/editor/scene_tree_dock.cpp b/tools/editor/scene_tree_dock.cpp index d2bc0e112e..e4dfcc0f62 100644 --- a/tools/editor/scene_tree_dock.cpp +++ b/tools/editor/scene_tree_dock.cpp @@ -243,7 +243,7 @@ void SceneTreeDock::_tool_selected(int p_tool, bool p_confirm_override) { //if (!_validate_no_foreign()) // break; - create_dialog->popup_centered_ratio(); + create_dialog->popup(true); } break; case TOOL_INSTANCE: { @@ -281,7 +281,7 @@ void SceneTreeDock::_tool_selected(int p_tool, bool p_confirm_override) { } break; case TOOL_REPLACE: { - create_dialog->popup_centered_ratio(); + create_dialog->popup(false); } break; case TOOL_CONNECT: { @@ -382,11 +382,8 @@ void SceneTreeDock::_tool_selected(int p_tool, bool p_confirm_override) { ERR_FAIL_COND(!top_node->get_parent()); ERR_FAIL_COND(!bottom_node->get_parent()); - int top_node_pos = top_node->get_index(); int bottom_node_pos = bottom_node->get_index(); - - int top_node_pos_next = top_node_pos + (MOVING_DOWN ? 1 : -1); - int bottom_node_pos_next = bottom_node_pos + (MOVING_DOWN ? 1 : -1); + int top_node_pos_next = top_node->get_index() + (MOVING_DOWN ? 1 : -1); editor_data->get_undo_redo().add_do_method(top_node->get_parent(), "move_child", top_node, top_node_pos_next); editor_data->get_undo_redo().add_undo_method(bottom_node->get_parent(), "move_child", bottom_node, bottom_node_pos); @@ -1108,17 +1105,8 @@ void SceneTreeDock::_do_reparent(Node* p_new_parent,int p_position_in_parent,Vec editor_data->get_undo_redo().add_do_method(node,"set_global_transform",node->cast_to<Node2D>()->get_global_transform()); if (node->cast_to<Spatial>()) editor_data->get_undo_redo().add_do_method(node,"set_global_transform",node->cast_to<Spatial>()->get_global_transform()); - if (node->cast_to<Control>()) { - bool can_do_it=false; - Control *c=node->cast_to<Control>(); - if (c->get_parent()->cast_to<Container>()) - can_do_it=false; - for(int i=0;i<4;i++) { - if (c->get_anchor(Margin(i))!=ANCHOR_BEGIN) - can_do_it=false; - } + if (node->cast_to<Control>()) editor_data->get_undo_redo().add_do_method(node,"set_global_pos",node->cast_to<Control>()->get_global_pos()); - } } editor_data->get_undo_redo().add_do_method(this,"_set_owners",edited_scene,owners); @@ -1161,17 +1149,8 @@ void SceneTreeDock::_do_reparent(Node* p_new_parent,int p_position_in_parent,Vec editor_data->get_undo_redo().add_undo_method(node,"set_transform",node->cast_to<Node2D>()->get_transform()); if (node->cast_to<Spatial>()) editor_data->get_undo_redo().add_undo_method(node,"set_transform",node->cast_to<Spatial>()->get_transform()); - if (node->cast_to<Control>()) { - bool can_do_it=false; - Control *c=node->cast_to<Control>(); - if (c->get_parent()->cast_to<Container>()) - can_do_it=false; - for(int i=0;i<4;i++) { - if (c->get_anchor(Margin(i))!=ANCHOR_BEGIN) - can_do_it=false; - } + if (node->cast_to<Control>()) editor_data->get_undo_redo().add_undo_method(node,"set_pos",node->cast_to<Control>()->get_pos()); - } } @@ -1551,7 +1530,7 @@ static bool _has_visible_children(Node* p_node) { for(int i=0;i<p_node->get_child_count();i++) { Node* child = p_node->get_child(i); - if (!_is_node_visible(p_node)) + if (!_is_node_visible(child)) continue; return true; @@ -1563,9 +1542,9 @@ static bool _has_visible_children(Node* p_node) { -static Node* _find_last_visible(Node*p_node) { +static Node* _find_last_visible(Node* p_node) { - Node*last=NULL; + Node* last=NULL; bool collapsed = p_node->has_meta("_editor_collapsed") ? (bool)p_node->get_meta("_editor_collapsed") : false; @@ -1595,14 +1574,12 @@ void SceneTreeDock::_normalize_drop(Node*& to_node, int &to_pos, int p_type) { to_pos=-1; - if (p_type==1 && to_node==EditorNode::get_singleton()->get_edited_scene()) { - //if at lower sibling of root node - to_pos=0; //just insert at begining of root node - } else if (p_type==-1) { + if (p_type==-1) { //drop at above selected node if (to_node==EditorNode::get_singleton()->get_edited_scene()) { to_node=NULL; - ERR_FAIL_COND(to_node==EditorNode::get_singleton()->get_edited_scene()); + ERR_EXPLAIN("Cannot perform drop above the root node!"); + ERR_FAIL(); } Node* upper_sibling=NULL; @@ -1638,8 +1615,9 @@ void SceneTreeDock::_normalize_drop(Node*& to_node, int &to_pos, int p_type) { } else if (p_type==1) { //drop at below selected node if (to_node==EditorNode::get_singleton()->get_edited_scene()) { - to_node=NULL; - ERR_FAIL_COND(to_node==EditorNode::get_singleton()->get_edited_scene()); + //if at lower sibling of root node + to_pos=0; //just insert at begining of root node + return; } diff --git a/tools/editor/scene_tree_editor.cpp b/tools/editor/scene_tree_editor.cpp index f174bc2f1b..73358e805d 100644 --- a/tools/editor/scene_tree_editor.cpp +++ b/tools/editor/scene_tree_editor.cpp @@ -260,13 +260,21 @@ void SceneTreeEditor::_cell_button_pressed(Object *p_item,int p_column,int p_id) } else if (p_id==BUTTON_SIGNALS) { - item->select(0); + editor_selection->clear(); + editor_selection->add_node(n); + + set_selected(n); + NodeDock::singleton->get_parent()->call("set_current_tab",NodeDock::singleton->get_index()); NodeDock::singleton->show_connections(); } else if (p_id==BUTTON_GROUPS) { - item->select(0); + editor_selection->clear(); + editor_selection->add_node(n); + + set_selected(n); + NodeDock::singleton->get_parent()->call("set_current_tab",NodeDock::singleton->get_index()); NodeDock::singleton->show_groups(); } @@ -975,6 +983,14 @@ bool SceneTreeEditor::can_drop_data_fw(const Point2& p_point,const Variant& p_da if (!d.has("type")) return false; + TreeItem *item = tree->get_item_at_pos(p_point); + if (!item) + return false; + + int section = tree->get_drop_section_at_pos(p_point); + if (section<-1 || (section==-1 && !item->get_parent())) + return false; + if (String(d["type"])=="files") { Vector<String> files = d["files"]; @@ -997,15 +1013,7 @@ bool SceneTreeEditor::can_drop_data_fw(const Point2& p_point,const Variant& p_da if (String(d["type"])=="nodes") { - TreeItem *item = tree->get_item_at_pos(p_point); - if (!item) - return false; - int section = tree->get_drop_section_at_pos(p_point); - if (section<-1 || (section==-1 && !item->get_parent())) - return false; - return true; - } return false; diff --git a/tools/editor/script_editor_debugger.cpp b/tools/editor/script_editor_debugger.cpp index 6d8f54d88f..b6390e5aae 100644 --- a/tools/editor/script_editor_debugger.cpp +++ b/tools/editor/script_editor_debugger.cpp @@ -338,8 +338,9 @@ void ScriptEditorDebugger::_parse_message(const String& p_msg,const Array& p_dat docontinue->set_disabled(false); emit_signal("breaked",true,can_continue); OS::get_singleton()->move_window_to_foreground(); - if (!profiler->is_seeking()) + if (error!="") { tabs->set_current_tab(0); + } profiler->set_enabled(false); @@ -819,7 +820,6 @@ void ScriptEditorDebugger::_performance_draw() { if(which.empty()) return; - Color graph_color=get_color("font_color","TextEdit"); Ref<StyleBox> graph_sb = get_stylebox("normal","TextEdit"); Ref<Font> graph_font = get_font("font","TextEdit"); diff --git a/tools/editor/settings_config_dialog.cpp b/tools/editor/settings_config_dialog.cpp index f436e369af..50989ea5cb 100644 --- a/tools/editor/settings_config_dialog.cpp +++ b/tools/editor/settings_config_dialog.cpp @@ -46,9 +46,18 @@ void EditorSettingsDialog::ok_pressed() { void EditorSettingsDialog::_settings_changed() { - timer->start(); - property_editor->get_property_editor()->update_tree(); // else color's won't update when theme is selected. +} + +void EditorSettingsDialog::_settings_property_edited(const String& p_name) { + + String full_name = property_editor->get_full_item_path(p_name); + + // Small usability workaround to update the text color settings when the + // color theme is changed + if (full_name == "text_editor/color_theme") { + property_editor->get_property_editor()->update_tree(); + } } void EditorSettingsDialog::_settings_save() { @@ -281,6 +290,7 @@ void EditorSettingsDialog::_bind_methods() { ObjectTypeDB::bind_method(_MD("_settings_save"),&EditorSettingsDialog::_settings_save); ObjectTypeDB::bind_method(_MD("_settings_changed"),&EditorSettingsDialog::_settings_changed); + ObjectTypeDB::bind_method(_MD("_settings_property_edited"),&EditorSettingsDialog::_settings_property_edited); ObjectTypeDB::bind_method(_MD("_clear_search_box"),&EditorSettingsDialog::_clear_search_box); ObjectTypeDB::bind_method(_MD("_clear_shortcut_search_box"),&EditorSettingsDialog::_clear_shortcut_search_box); ObjectTypeDB::bind_method(_MD("_shortcut_button_pressed"),&EditorSettingsDialog::_shortcut_button_pressed); @@ -325,6 +335,7 @@ EditorSettingsDialog::EditorSettingsDialog() { property_editor->get_property_editor()->register_text_enter(search_box); property_editor->set_v_size_flags(Control::SIZE_EXPAND_FILL); vbc->add_child(property_editor); + property_editor->get_property_editor()->connect("property_edited", this, "_settings_property_edited"); vbc = memnew( VBoxContainer ); tabs->add_child(vbc); diff --git a/tools/editor/settings_config_dialog.h b/tools/editor/settings_config_dialog.h index 68a2b008f0..3b91c7f019 100644 --- a/tools/editor/settings_config_dialog.h +++ b/tools/editor/settings_config_dialog.h @@ -64,6 +64,7 @@ class EditorSettingsDialog : public AcceptDialog { virtual void ok_pressed(); void _settings_changed(); + void _settings_property_edited(const String& p_name); void _settings_save(); void _notification(int p_what); diff --git a/tools/editor/spatial_editor_gizmos.cpp b/tools/editor/spatial_editor_gizmos.cpp index 1ca62d3a63..480d33fd0a 100644 --- a/tools/editor/spatial_editor_gizmos.cpp +++ b/tools/editor/spatial_editor_gizmos.cpp @@ -424,16 +424,11 @@ bool EditorSpatialGizmo::intersect_ray(const Camera *p_camera,const Point2& p_po } Transform ti=t.affine_inverse(); - Vector3 ray_from=ti.xform(p_camera->project_ray_origin(p_point)); - Vector3 ray_dir=t.basis.xform_inv(p_camera->project_ray_normal(p_point)).normalized(); - Vector3 ray_to = ray_from+ray_dir*4096; float min_d=1e20; int idx=-1; for(int i=0;i<secondary_handles.size();i++) { -#if 1 - Vector3 hpos = t.xform(secondary_handles[i]); Vector2 p = p_camera->unproject_position(hpos); @@ -449,31 +444,7 @@ bool EditorSpatialGizmo::intersect_ray(const Camera *p_camera,const Point2& p_po idx=i+handles.size(); } - } - -#else - AABB aabb; - aabb.pos=Vector3(-1,-1,-1)*HANDLE_HALF_SIZE; - aabb.size=aabb.pos*-2; - aabb.pos+=secondary_handles[i]; - - - Vector3 rpos,rnorm; - - if (aabb.intersects_segment(ray_from,ray_to,&rpos,&rnorm)) { - - real_t dp = ray_dir.dot(rpos); - if (dp<min_d) { - - r_pos=t.xform(rpos); - r_normal=ti.basis.xform_inv(rnorm).normalized(); - min_d=dp; - idx=i+handles.size(); - - } - } -#endif } if (p_sec_first && idx!=-1) { @@ -486,9 +457,6 @@ bool EditorSpatialGizmo::intersect_ray(const Camera *p_camera,const Point2& p_po for(int i=0;i<handles.size();i++) { -#if 1 - - Vector3 hpos = t.xform(handles[i]); Vector2 p = p_camera->unproject_position(hpos); if (p.distance_to(p_point)<SpatialEditorGizmos::singleton->handle_t->get_width()*0.6) { @@ -503,32 +471,7 @@ bool EditorSpatialGizmo::intersect_ray(const Camera *p_camera,const Point2& p_po idx=i; } - - } - -#else - - AABB aabb; - aabb.pos=Vector3(-1,-1,-1)*HANDLE_HALF_SIZE; - aabb.size=aabb.pos*-2; - aabb.pos+=handles[i]; - - - Vector3 rpos,rnorm; - - if (aabb.intersects_segment(ray_from,ray_to,&rpos,&rnorm)) { - - real_t dp = ray_dir.dot(rpos); - if (dp<min_d) { - - r_pos=t.xform(rpos); - r_normal=ti.basis.xform_inv(rnorm).normalized(); - min_d=dp; - idx=i; - - } } -#endif } if (idx>=0) { @@ -612,9 +555,6 @@ bool EditorSpatialGizmo::intersect_ray(const Camera *p_camera,const Point2& p_po Vector3 ray_dir=ai.basis.xform(p_camera->project_ray_normal(p_point)).normalized(); Vector3 rpos,rnorm; -#if 1 - - if (collision_mesh->intersect_ray(ray_from,ray_dir,rpos,rnorm)) { @@ -622,16 +562,6 @@ bool EditorSpatialGizmo::intersect_ray(const Camera *p_camera,const Point2& p_po r_normal=gt.basis.xform(rnorm).normalized(); return true; } -#else - - if (collision_mesh->intersect_segment(ray_from,ray_from+ray_dir*4906.0,rpos,rnorm)) { - - r_pos=gt.xform(rpos); - r_normal=gt.basis.xform(rnorm).normalized(); - return true; - } - -#endif } return false; @@ -693,12 +623,11 @@ void EditorSpatialGizmo::_bind_methods() { ObjectTypeDB::bind_method(_MD("add_unscaled_billboard","material:Material","default_scale"),&EditorSpatialGizmo::add_unscaled_billboard,DEFVAL(1)); ObjectTypeDB::bind_method(_MD("add_handles","handles","billboard","secondary"),&EditorSpatialGizmo::add_handles,DEFVAL(false),DEFVAL(false)); ObjectTypeDB::bind_method(_MD("set_spatial_node","node:Spatial"),&EditorSpatialGizmo::_set_spatial_node); + ObjectTypeDB::bind_method(_MD("clear"),&EditorSpatialGizmo::clear); BIND_VMETHOD( MethodInfo("redraw")); BIND_VMETHOD( MethodInfo(Variant::STRING,"get_handle_name",PropertyInfo(Variant::INT,"index"))); - { - BIND_VMETHOD( MethodInfo("get_handle_value:Variant",PropertyInfo(Variant::INT,"index"))); - } + BIND_VMETHOD( MethodInfo("get_handle_value:Variant",PropertyInfo(Variant::INT,"index"))); BIND_VMETHOD( MethodInfo("set_handle",PropertyInfo(Variant::INT,"index"),PropertyInfo(Variant::OBJECT,"camera:Camera"),PropertyInfo(Variant::VECTOR2,"point"))); MethodInfo cm = MethodInfo("commit_handle",PropertyInfo(Variant::INT,"index"),PropertyInfo(Variant::NIL,"restore:Variant"),PropertyInfo(Variant::BOOL,"cancel")); cm.default_arguments.push_back(false); @@ -2250,7 +2179,6 @@ void VisibilityNotifierGizmo::set_handle(int p_idx,Camera *p_camera, const Point if (d<0.001) d=0.001; - Vector3 he = aabb.size; aabb.pos[p_idx]=(aabb.pos[p_idx]+aabb.size[p_idx]*0.5)-d; aabb.size[p_idx]=d*2; notifier->set_aabb(aabb); @@ -2456,8 +2384,6 @@ void HingeJointSpatialGizmo::redraw() { if (p3d->get_flag(HingeJoint::FLAG_USE_LIMIT) && ll<ul) { const int points = 32; - float step = (ul-ll)/points; - for(int i=0;i<points;i++) { @@ -2573,8 +2499,6 @@ void SliderJointSpatialGizmo::redraw() { if (ll<ul) { const int points = 32; - float step = (ul-ll)/points; - for(int i=0;i<points;i++) { @@ -2641,7 +2565,6 @@ SliderJointSpatialGizmo::SliderJointSpatialGizmo(SliderJoint* p_p3d) { void ConeTwistJointSpatialGizmo::redraw() { clear(); - float cs = 0.25; Vector<Vector3> points; float r = 1.0; @@ -2837,8 +2760,6 @@ void Generic6DOFJointSpatialGizmo::redraw() { if (enable_ang && ll<=ul) { const int points = 32; - float step = (ul-ll)/points; - for(int i=0;i<points;i++) { diff --git a/tools/editor_fonts/LICENSE.DroidSans.txt b/tools/editor_fonts/LICENSE.DroidSans.txt new file mode 100644 index 0000000000..636f1e2975 --- /dev/null +++ b/tools/editor_fonts/LICENSE.DroidSans.txt @@ -0,0 +1,13 @@ +Copyright (C) 2008 The Android Open Source Project + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. diff --git a/tools/editor_fonts/LICENSE.SourceCodePro.txt b/tools/editor_fonts/LICENSE.SourceCodePro.txt new file mode 100644 index 0000000000..f430ee5dbe --- /dev/null +++ b/tools/editor_fonts/LICENSE.SourceCodePro.txt @@ -0,0 +1,94 @@ +Copyright 2010, 2012 Adobe Systems Incorporated (http://www.adobe.com/), with Reserved Font Name 'Source'. All Rights Reserved. Source is a trademark of Adobe Systems Incorporated in the United States and/or other countries. + +This Font Software is licensed under the SIL Open Font License, Version 1.1. + +This license is copied below, and is also available with a FAQ at: http://scripts.sil.org/OFL + + +----------------------------------------------------------- +SIL OPEN FONT LICENSE Version 1.1 - 26 February 2007 +----------------------------------------------------------- + +PREAMBLE +The goals of the Open Font License (OFL) are to stimulate worldwide +development of collaborative font projects, to support the font creation +efforts of academic and linguistic communities, and to provide a free and +open framework in which fonts may be shared and improved in partnership +with others. + +The OFL allows the licensed fonts to be used, studied, modified and +redistributed freely as long as they are not sold by themselves. The +fonts, including any derivative works, can be bundled, embedded, +redistributed and/or sold with any software provided that any reserved +names are not used by derivative works. The fonts and derivatives, +however, cannot be released under any other type of license. The +requirement for fonts to remain under this license does not apply +to any document created using the fonts or their derivatives. + +DEFINITIONS +"Font Software" refers to the set of files released by the Copyright +Holder(s) under this license and clearly marked as such. This may +include source files, build scripts and documentation. + +"Reserved Font Name" refers to any names specified as such after the +copyright statement(s). + +"Original Version" refers to the collection of Font Software components as +distributed by the Copyright Holder(s). + +"Modified Version" refers to any derivative made by adding to, deleting, +or substituting -- in part or in whole -- any of the components of the +Original Version, by changing formats or by porting the Font Software to a +new environment. + +"Author" refers to any designer, engineer, programmer, technical +writer or other person who contributed to the Font Software. + +PERMISSION & CONDITIONS +Permission is hereby granted, free of charge, to any person obtaining +a copy of the Font Software, to use, study, copy, merge, embed, modify, +redistribute, and sell modified and unmodified copies of the Font +Software, subject to the following conditions: + +1) Neither the Font Software nor any of its individual components, +in Original or Modified Versions, may be sold by itself. + +2) Original or Modified Versions of the Font Software may be bundled, +redistributed and/or sold with any software, provided that each copy +contains the above copyright notice and this license. These can be +included either as stand-alone text files, human-readable headers or +in the appropriate machine-readable metadata fields within text or +binary files as long as those fields can be easily viewed by the user. + +3) No Modified Version of the Font Software may use the Reserved Font +Name(s) unless explicit written permission is granted by the corresponding +Copyright Holder. This restriction only applies to the primary font name as +presented to the users. + +4) The name(s) of the Copyright Holder(s) or the Author(s) of the Font +Software shall not be used to promote, endorse or advertise any +Modified Version, except to acknowledge the contribution(s) of the +Copyright Holder(s) and the Author(s) or with their explicit written +permission. + +5) The Font Software, modified or unmodified, in part or in whole, +must be distributed entirely under this license, and must not be +distributed under any other license. The requirement for fonts to +remain under this license does not apply to any document created +using the Font Software. + +TERMINATION +This license becomes null and void if any of the above conditions are +not met. + +DISCLAIMER +THE FONT SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT +OF COPYRIGHT, PATENT, TRADEMARK, OR OTHER RIGHT. IN NO EVENT SHALL THE +COPYRIGHT HOLDER BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, +INCLUDING ANY GENERAL, SPECIAL, INDIRECT, INCIDENTAL, OR CONSEQUENTIAL +DAMAGES, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING +FROM, OUT OF THE USE OR INABILITY TO USE THE FONT SOFTWARE OR FROM +OTHER DEALINGS IN THE FONT SOFTWARE. + diff --git a/tools/export/blender25/godot_export_manager.py b/tools/export/blender25/godot_export_manager.py deleted file mode 100644 index a249611c71..0000000000 --- a/tools/export/blender25/godot_export_manager.py +++ /dev/null @@ -1,472 +0,0 @@ -# ##### BEGIN GPL LICENSE BLOCK ##### -# -# This program is free software; you can redistribute it and/or -# modify it under the terms of the GNU General Public License -# as published by the Free Software Foundation; either version 2 -# of the License, or (at your option) any later version. -# -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with this program; if not, write to the Free Software Foundation, -# Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. -# -# ##### END GPL LICENSE BLOCK ##### - -# Script copyright (c) Andreas Esau - -bl_info = { - "name": "Godot Export Manager", - "author": "Andreas Esau", - "version": (1, 0), - "blender": (2, 7, 0), - "location": "Scene Properties > Godot Export Manager", - "description": "Godot Export Manager uses the Better Collada Exporter to manage Export Groups and automatically export the objects groups to Collada Files.", - "warning": "", - "wiki_url": ("http://www.godotengine.org"), - "tracker_url": "", - "category": "Import-Export"} - -import bpy -from bpy.props import StringProperty, BoolProperty, EnumProperty, FloatProperty, FloatVectorProperty, IntProperty, CollectionProperty, PointerProperty -import os -from bpy.app.handlers import persistent -from mathutils import Vector, Matrix - -class godot_export_manager(bpy.types.Panel): - bl_label = "Godot Export Manager" - bl_space_type = 'PROPERTIES' - bl_region_type = 'WINDOW' - bl_context = "scene" - - bpy.types.Scene.godot_export_on_save = BoolProperty(default=False) - - ### draw function for all ui elements - def draw(self, context): - layout = self.layout - split = self.layout.split() - scene = bpy.data.scenes[0] - ob = context.object - scene = context.scene - - row = layout.row() - col = row.column() - col.prop(scene,"godot_export_on_save",text="Export Groups on save") - - row = layout.row() - col = row.column(align=True) - op = col.operator("scene.godot_add_objects_to_group",text="Add selected objects to Group",icon="COPYDOWN") - - op = col.operator("scene.godot_delete_objects_from_group",text="Delete selected objects from Group",icon="PASTEDOWN") - - - - row = layout.row() - col = row.column() - col.label(text="Export Groups:") - - - row = layout.row() - col = row.column() - - col.template_list("UI_List_Godot","dummy",scene, "godot_export_groups", scene, "godot_export_groups_index",rows=1,maxrows=10,type='DEFAULT') - - col = row.column(align=True) - col.operator("scene.godot_add_export_group",text="",icon="ZOOMIN") - col.operator("scene.godot_delete_export_group",text="",icon="ZOOMOUT") - col.operator("scene.godot_export_all_groups",text="",icon="EXPORT") - - if len(scene.godot_export_groups) > 0: - row = layout.row() - col = row.column() - group = scene.godot_export_groups[scene.godot_export_groups_index] - col.prop(group,"name",text="Group Name") - col.prop(group,"export_name",text="Export Name") - col.prop(group,"export_path",text="Export Filepath") - - row = layout.row() - col = row.column() - row = layout.row() - col = row.column() - col.label(text="Export Settings:") - - col = col.row(align=True) - col.prop(group,"apply_loc",toggle=True,icon="MAN_TRANS") - col.prop(group,"apply_rot",toggle=True,icon="MAN_ROT") - col.prop(group,"apply_scale",toggle=True,icon="MAN_SCALE") - - row = layout.row() - col = row.column() - - col.prop(group,"use_include_particle_duplicates") - col.prop(group,"use_mesh_modifiers") - col.prop(group,"use_tangent_arrays") - col.prop(group,"use_triangles") - col.prop(group,"use_copy_images") - col.prop(group,"use_active_layers") - col.prop(group,"use_anim") - col.prop(group,"use_anim_action_all") - col.prop(group,"use_anim_skip_noexp") - col.prop(group,"use_anim_optimize") - col.prop(group,"anim_optimize_precision") - col.prop(group,"use_metadata") - -### Custom template_list look -class UI_List_Godot(bpy.types.UIList): - def draw_item(self, context, layout, data, item, icon, active_data, active_propname, index): - ob = data - slot = item - col = layout.row(align=True) - - col.label(text=item.name,icon="GROUP") - col.prop(item,"active",text="") - - op = col.operator("scene.godot_select_group_objects",text="",emboss=False,icon="RESTRICT_SELECT_OFF") - op.idx = index - op = col.operator("scene.godot_export_group",text="",emboss=False,icon="EXPORT") - op.idx = index - -class add_objects_to_group(bpy.types.Operator): - bl_idname = "scene.godot_add_objects_to_group" - bl_label = "Add Objects to Group" - bl_description = "Adds the selected Objects to the active group below." - - undo = BoolProperty(default=True) - - def execute(self,context): - scene = context.scene - - objects_str = "" - if len(scene.godot_export_groups) > 0: - for i,object in enumerate(context.selected_objects): - if object.name not in scene.godot_export_groups[scene.godot_export_groups_index].nodes: - node = scene.godot_export_groups[scene.godot_export_groups_index].nodes.add() - node.name = object.name - if i == 0: - objects_str += object.name - else: - objects_str += ", "+object.name - - - self.report({'INFO'}, objects_str + " added to group." ) - if self.undo: - bpy.ops.ed.undo_push(message="Objects added to group") - else: - self.report({'WARNING'}, "Create a group first." ) - return{'FINISHED'} - -class del_objects_from_group(bpy.types.Operator): - bl_idname = "scene.godot_delete_objects_from_group" - bl_label = "Delete Objects from Group" - bl_description = "Delets the selected Objects from the active group below." - - def execute(self,context): - scene = context.scene - - if len(scene.godot_export_groups) > 0: - - selected_objects = [] - for object in context.selected_objects: - selected_objects.append(object.name) - - objects_str = "" - j = 0 - for i,node in enumerate(scene.godot_export_groups[scene.godot_export_groups_index].nodes): - if node.name in selected_objects: - scene.godot_export_groups[scene.godot_export_groups_index].nodes.remove(i) - - - if j == 0: - objects_str += object.name - else: - objects_str += ", "+object.name - j+=1 - - - self.report({'INFO'}, objects_str + " deleted from group." ) - bpy.ops.ed.undo_push(message="Objects deleted from group") - else: - self.report({'WARNING'}, "There is no group to delete from." ) - return{'FINISHED'} - -class select_group_objects(bpy.types.Operator): - bl_idname = "scene.godot_select_group_objects" - bl_label = "Select Group Objects" - bl_description = "Will select all group Objects in the scene." - - idx = IntProperty() - - def execute(self,context): - scene = context.scene - for object in context.scene.objects: - object.select = False - for node in scene.godot_export_groups[self.idx].nodes: - if node.name in bpy.data.objects: - bpy.data.objects[node.name].select = True - context.scene.objects.active = bpy.data.objects[node.name] - return{'FINISHED'} - -class export_groups_autosave(bpy.types.Operator): - bl_idname = "scene.godot_export_groups_autosave" - bl_label = "Export All Groups" - bl_description = "Exports all groups to Collada." - - def execute(self,context): - scene = context.scene - if scene.godot_export_on_save: - for i in range(len(scene.godot_export_groups)): - if scene.godot_export_groups[i].active: - bpy.ops.scene.godot_export_group(idx=i) - self.report({'INFO'}, "All Groups exported." ) - bpy.ops.ed.undo_push(message="Export all Groups") - return{'FINISHED'} - -class export_all_groups(bpy.types.Operator): - bl_idname = "scene.godot_export_all_groups" - bl_label = "Export All Groups" - bl_description = "Exports all groups to Collada." - - def execute(self,context): - scene = context.scene - - for i in range(0,len(scene.godot_export_groups)): - bpy.ops.scene.godot_export_group(idx=i,export_all=True) - - self.report({'INFO'}, "All Groups exported." ) - return{'FINISHED'} - - -class export_group(bpy.types.Operator): - bl_idname = "scene.godot_export_group" - bl_label = "Export Group" - bl_description = "Exports the active group to destination folder as Collada file." - - idx = IntProperty(default=0) - export_all = BoolProperty(default=False) - - - def copy_object_recursive(self,ob,parent,single_user = True): - new_ob = bpy.data.objects[ob.name].copy() - if single_user or ob.type=="ARMATURE": - new_mesh_data = new_ob.data.copy() - new_ob.data = new_mesh_data - bpy.context.scene.objects.link(new_ob) - - if ob != parent: - new_ob.parent = parent - else: - new_ob.parent = None - - for child in ob.children: - self.copy_object_recursive(child,new_ob,single_user) - new_ob.select = True - return new_ob - - def delete_object(self,ob): - if ob != None: - for child in ob.children: - self.delete_object(child) - bpy.context.scene.objects.unlink(ob) - bpy.data.objects.remove(ob) - - def convert_group_to_node(self,group): - if group.dupli_group != None: - for object in group.dupli_group.objects: - if object.parent == None: - object = self.copy_object_recursive(object,object,True) - matrix = Matrix(object.matrix_local) - object.matrix_local = Matrix() - object.matrix_local *= group.matrix_local - object.matrix_local *= matrix - - self.delete_object(group) - - def execute(self,context): - - scene = context.scene - group = context.scene.godot_export_groups - - if not group[self.idx].active and self.export_all: - return{'FINISHED'} - - for i,object in enumerate(group[self.idx].nodes): - if object.name in bpy.data.objects: - pass - else: - group[self.idx].nodes.remove(i) - bpy.ops.ed.undo_push(message="Clear not existent Group Nodes.") - - path = group[self.idx].export_path - if (path.find("//")==0 or path.find("\\\\")==0): - #if relative, convert to absolute - path = bpy.path.abspath(path) - path = path.replace("\\","/") - - ### if path exists and group export name is set the group will be exported - if os.path.exists(path) and group[self.idx].export_name != "": - - context.scene.layers = [True,True,True,True,True,True,True,True,True,True,True,True,True,True,True,True,True,True,True,True] - - - if group[self.idx].export_name.endswith(".dae"): - path = os.path.join(path,group[self.idx].export_name) - else: - path = os.path.join(path,group[self.idx].export_name+".dae") - - hide_select = [] - for object in context.scene.objects: - hide_select.append(object.hide_select) - object.hide_select = False - object.select = False - context.scene.objects.active = None - - ### make particle duplicates, parent and select them - nodes_to_be_added = [] - if group[self.idx].use_include_particle_duplicates: - for i,object in enumerate(group[self.idx].nodes): - if bpy.data.objects[object.name].type != "EMPTY": - context.scene.objects.active = bpy.data.objects[object.name] - bpy.data.objects[object.name].select = True - bpy.ops.object.duplicates_make_real() - for object in context.selected_objects: - nodes_to_be_added.append(object) - bpy.ops.object.parent_set(type="OBJECT", keep_transform=False) - - for object in context.selected_objects: - object.select = False - bpy.data.objects[object.name].select = False - context.scene.objects.active = None - for object in nodes_to_be_added: - object.select = True - - ### select all other nodes from the group - for i,object in enumerate(group[self.idx].nodes): - if bpy.data.objects[object.name].type == "EMPTY": - self.convert_group_to_node(bpy.data.objects[object.name]) - else: - bpy.data.objects[object.name].select = True - - bpy.ops.object.transform_apply(location=group[self.idx].apply_loc, rotation=group[self.idx].apply_rot, scale=group[self.idx].apply_scale) - bpy.ops.export_scene.dae(check_existing=True, filepath=path, filter_glob="*.dae", object_types=group[self.idx].object_types, use_export_selected=group[self.idx].use_export_selected, use_mesh_modifiers=group[self.idx].use_mesh_modifiers, use_tangent_arrays=group[self.idx].use_tangent_arrays, use_triangles=group[self.idx].use_triangles, use_copy_images=group[self.idx].use_copy_images, use_active_layers=group[self.idx].use_active_layers, use_anim=group[self.idx].use_anim, use_anim_action_all=group[self.idx].use_anim_action_all, use_anim_skip_noexp=group[self.idx].use_anim_skip_noexp, use_anim_optimize=group[self.idx].use_anim_optimize, anim_optimize_precision=group[self.idx].anim_optimize_precision, use_metadata=group[self.idx].use_metadata) - - self.report({'INFO'}, '"'+group[self.idx].name+'"' + " Group exported." ) - msg = "Export Group "+group[self.idx].name - - bpy.ops.ed.undo_push(message="") - bpy.ops.ed.undo() - bpy.ops.ed.undo_push(message=msg) - - else: - self.report({'INFO'}, "Define Export Name and Export Path." ) - return{'FINISHED'} - -class add_export_group(bpy.types.Operator): - bl_idname = "scene.godot_add_export_group" - bl_label = "Adds a new export Group" - bl_description = "Creates a new Export Group with the selected Objects assigned to it." - - def execute(self,context): - scene = context.scene - - item = scene.godot_export_groups.add() - item.name = "New Group" - for object in context.selected_objects: - node = item.nodes.add() - node.name = object.name - scene.godot_export_groups_index = len(scene.godot_export_groups)-1 - bpy.ops.ed.undo_push(message="Create New Export Group") - return{'FINISHED'} - -class del_export_group(bpy.types.Operator): - bl_idname = "scene.godot_delete_export_group" - bl_label = "Delets the selected export Group" - bl_description = "Delets the active Export Group." - - def invoke(self, context, event): - wm = context.window_manager - return wm.invoke_confirm(self,event) - - def execute(self,context): - scene = context.scene - - scene.godot_export_groups.remove(scene.godot_export_groups_index) - if scene.godot_export_groups_index > 0: - scene.godot_export_groups_index -= 1 - bpy.ops.ed.undo_push(message="Delete Export Group") - return{'FINISHED'} - -class godot_node_list(bpy.types.PropertyGroup): - name = StringProperty() - -class godot_export_groups(bpy.types.PropertyGroup): - name = StringProperty(name="Group Name") - export_name = StringProperty(name="scene_name") - nodes = CollectionProperty(type=godot_node_list) - export_path = StringProperty(subtype="DIR_PATH") - active = BoolProperty(default=True,description="Export Group") - - object_types = EnumProperty(name="Object Types",options={'ENUM_FLAG'},items=(('EMPTY', "Empty", ""),('CAMERA', "Camera", ""),('LAMP', "Lamp", ""),('ARMATURE', "Armature", ""),('MESH', "Mesh", ""),('CURVE', "Curve", ""),),default={'EMPTY', 'CAMERA', 'LAMP', 'ARMATURE', 'MESH','CURVE'}) - - apply_scale = BoolProperty(name="Apply Scale",description="Apply Scale before export.",default=False) - apply_rot = BoolProperty(name="Apply Rotation",description="Apply Rotation before export.",default=False) - apply_loc = BoolProperty(name="Apply Location",description="Apply Location before export.",default=False) - - use_export_selected = BoolProperty(name="Selected Objects",description="Export only selected objects (and visible in active layers if that applies).",default=True) - use_mesh_modifiers = BoolProperty(name="Apply Modifiers",description="Apply modifiers to mesh objects (on a copy!).",default=True) - use_tangent_arrays = BoolProperty(name="Tangent Arrays",description="Export Tangent and Binormal arrays (for normalmapping).",default=False) - use_triangles = BoolProperty(name="Triangulate",description="Export Triangles instead of Polygons.",default=False) - - use_copy_images = BoolProperty(name="Copy Images",description="Copy Images (create images/ subfolder)",default=False) - use_active_layers = BoolProperty(name="Active Layers",description="Export only objects on the active layers.",default=True) - use_anim = BoolProperty(name="Export Animation",description="Export keyframe animation",default=False) - use_anim_action_all = BoolProperty(name="All Actions",description=("Export all actions for the first armature found in separate DAE files"),default=False) - use_anim_skip_noexp = BoolProperty(name="Skip (-noexp) Actions",description="Skip exporting of actions whose name end in (-noexp). Useful to skip control animations.",default=True) - use_anim_optimize = BoolProperty(name="Optimize Keyframes",description="Remove double keyframes",default=True) - - anim_optimize_precision = FloatProperty(name="Precision",description=("Tolerence for comparing double keyframes (higher for greater accuracy)"),min=1, max=16,soft_min=1, soft_max=16,default=6.0) - - use_metadata = BoolProperty(name="Use Metadata",default=True,options={'HIDDEN'}) - use_include_particle_duplicates = BoolProperty(name="Include Particle Duplicates",default=True) - -def register(): - bpy.utils.register_class(godot_export_manager) - bpy.utils.register_class(godot_node_list) - bpy.utils.register_class(godot_export_groups) - bpy.utils.register_class(add_export_group) - bpy.utils.register_class(del_export_group) - bpy.utils.register_class(export_all_groups) - bpy.utils.register_class(export_groups_autosave) - bpy.utils.register_class(export_group) - bpy.utils.register_class(add_objects_to_group) - bpy.utils.register_class(del_objects_from_group) - bpy.utils.register_class(select_group_objects) - bpy.utils.register_class(UI_List_Godot) - - bpy.types.Scene.godot_export_groups = CollectionProperty(type=godot_export_groups) - bpy.types.Scene.godot_export_groups_index = IntProperty(default=0,min=0) - -def unregister(): - bpy.utils.unregister_class(godot_export_manager) - bpy.utils.unregister_class(godot_node_list) - bpy.utils.unregister_class(godot_export_groups) - bpy.utils.unregister_class(export_groups_autosave) - bpy.utils.unregister_class(add_export_group) - bpy.utils.unregister_class(del_export_group) - bpy.utils.unregister_class(export_all_groups) - bpy.utils.unregister_class(export_group) - bpy.utils.unregister_class(add_objects_to_group) - bpy.utils.unregister_class(del_objects_from_group) - bpy.utils.unregister_class(select_group_objects) - bpy.utils.unregister_class(UI_List_Godot) - -@persistent -def auto_export(dummy): - bpy.ops.scene.godot_export_groups_autosave() - -bpy.app.handlers.save_post.append(auto_export) - -if __name__ == "__main__": - register() diff --git a/tools/export/blender25/install.txt b/tools/export/blender25/install.txt deleted file mode 100644 index 049af8848e..0000000000 --- a/tools/export/blender25/install.txt +++ /dev/null @@ -1,11 +0,0 @@ -Godot Author's Own Collada Exporter ------------------------------------ - -1) Copy the "io_scene_dae" directory to wherever blender stores the - scripts/addons folder (You will see many other io_scene_blahblah like - folders). Copy the entire dir, not just the contents, make it just like - the others. -2) Go to Blender settings and enable the "Better Collada" plugin -3) Enjoy proper Collada export. -4) If it's broken, contact us. -
\ No newline at end of file diff --git a/tools/export/blender25/io_scene_dae/__init__.py b/tools/export/blender25/io_scene_dae/__init__.py deleted file mode 100644 index a1a0eabbbe..0000000000 --- a/tools/export/blender25/io_scene_dae/__init__.py +++ /dev/null @@ -1,193 +0,0 @@ -# ##### BEGIN GPL LICENSE BLOCK ##### -# -# This program is free software; you can redistribute it and/or -# modify it under the terms of the GNU General Public License -# as published by the Free Software Foundation; either version 2 -# of the License, or (at your option) any later version. -# -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with this program; if not, write to the Free Software Foundation, -# Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. -# -# ##### END GPL LICENSE BLOCK ##### - -# <pep8-80 compliant> - -bl_info = { - "name": "Better Collada Exporter", - "author": "Juan Linietsky", - "blender": (2, 5, 8), - "api": 38691, - "location": "File > Import-Export", - "description": ("Export DAE Scenes, This plugin actually works better! otherwise contact me."), - "warning": "", - "wiki_url": ("http://www.godotengine.org"), - "tracker_url": "", - "support": 'OFFICIAL', - "category": "Import-Export"} - - -if "bpy" in locals(): - import imp - if "export_dae" in locals(): - imp.reload(export_dae) - - -import bpy -from bpy.props import StringProperty, BoolProperty, FloatProperty, EnumProperty - -from bpy_extras.io_utils import (ExportHelper, - path_reference_mode, - axis_conversion, - ) - - -class ExportDAE(bpy.types.Operator, ExportHelper): - '''Selection to DAE''' - bl_idname = "export_scene.dae" - bl_label = "Export DAE" - bl_options = {'PRESET'} - - filename_ext = ".dae" - filter_glob = StringProperty(default="*.dae", options={'HIDDEN'}) - - # List of operator properties, the attributes will be assigned - # to the class instance from the operator settings before calling. - - - object_types = EnumProperty( - name="Object Types", - options={'ENUM_FLAG'}, - items=(('EMPTY', "Empty", ""), - ('CAMERA', "Camera", ""), - ('LAMP', "Lamp", ""), - ('ARMATURE', "Armature", ""), - ('MESH', "Mesh", ""), - ('CURVE', "Curve", ""), - ), - default={'EMPTY', 'CAMERA', 'LAMP', 'ARMATURE', 'MESH','CURVE'}, - ) - - use_export_selected = BoolProperty( - name="Selected Objects", - description="Export only selected objects (and visible in active layers if that applies).", - default=False, - ) - use_mesh_modifiers = BoolProperty( - name="Apply Modifiers", - description="Apply modifiers to mesh objects (on a copy!).", - default=False, - ) - use_tangent_arrays = BoolProperty( - name="Tangent Arrays", - description="Export Tangent and Binormal arrays (for normalmapping).", - default=False, - ) - use_triangles = BoolProperty( - name="Triangulate", - description="Export Triangles instead of Polygons.", - default=False, - ) - - use_copy_images = BoolProperty( - name="Copy Images", - description="Copy Images (create images/ subfolder)", - default=False, - ) - use_active_layers = BoolProperty( - name="Active Layers", - description="Export only objects on the active layers.", - default=True, - ) - use_anim = BoolProperty( - name="Export Animation", - description="Export keyframe animation", - default=False, - ) - use_anim_action_all = BoolProperty( - name="All Actions", - description=("Export all actions for the first armature found in separate DAE files"), - default=False, - ) - use_anim_skip_noexp = BoolProperty( - name="Skip (-noexp) Actions", - description="Skip exporting of actions whose name end in (-noexp). Useful to skip control animations.", - default=True, - ) - use_anim_optimize = BoolProperty( - name="Optimize Keyframes", - description="Remove double keyframes", - default=True, - ) - - anim_optimize_precision = FloatProperty( - name="Precision", - description=("Tolerence for comparing double keyframes " - "(higher for greater accuracy)"), - min=1, max=16, - soft_min=1, soft_max=16, - default=6.0, - ) - - use_metadata = BoolProperty( - name="Use Metadata", - default=True, - options={'HIDDEN'}, - ) - - @property - def check_extension(self): - return True#return self.batch_mode == 'OFF' - - def check(self, context): - return True - """ - isretur_def_change = super().check(context) - return (is_xna_change or is_def_change) - """ - - def execute(self, context): - if not self.filepath: - raise Exception("filepath not set") - - """ global_matrix = Matrix() - - global_matrix[0][0] = \ - global_matrix[1][1] = \ - global_matrix[2][2] = self.global_scale - """ - - keywords = self.as_keywords(ignore=("axis_forward", - "axis_up", - "global_scale", - "check_existing", - "filter_glob", - "xna_validate", - )) - - from . import export_dae - return export_dae.save(self, context, **keywords) - - -def menu_func(self, context): - self.layout.operator(ExportDAE.bl_idname, text="Better Collada (.dae)") - - -def register(): - bpy.utils.register_module(__name__) - - bpy.types.INFO_MT_file_export.append(menu_func) - - -def unregister(): - bpy.utils.unregister_module(__name__) - - bpy.types.INFO_MT_file_export.remove(menu_func) - -if __name__ == "__main__": - register() diff --git a/tools/export/blender25/io_scene_dae/export_dae.py b/tools/export/blender25/io_scene_dae/export_dae.py deleted file mode 100644 index 2f7d1ddd86..0000000000 --- a/tools/export/blender25/io_scene_dae/export_dae.py +++ /dev/null @@ -1,1724 +0,0 @@ -# ##### BEGIN GPL LICENSE BLOCK ##### -# -# This program is free software; you can redistribute it and/or -# modify it under the terms of the GNU General Public License -# as published by the Free Software Foundation; either version 2 -# of the License, or (at your option) any later version. -# -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with this program; if not, write to the Free Software Foundation, -# Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. -# -# ##### END GPL LICENSE BLOCK ##### - -# <pep8 compliant> - -# Script copyright (C) Juan Linietsky -# Contact Info: juan@codenix.com - -""" -This script is an exporter to the Khronos Collada file format. - -http://www.khronos.org/collada/ -""" - -# TODO: -# Materials & Textures -# Optionally export Vertex Colors -# Morph Targets -# Control bone removal -# Copy textures -# Export Keyframe Optimization -# -- -# Morph Targets -# Blender native material? (?) - -import os -import time -import math # math.pi -import shutil -import bpy -import bmesh -from mathutils import Vector, Matrix - -#according to collada spec, order matters -S_ASSET=0 -S_IMGS=1 -S_FX=2 -S_MATS=3 -S_GEOM=4 -S_MORPH=5 -S_SKIN=6 -S_CONT=7 -S_CAMS=8 -S_LAMPS=9 -S_ANIM_CLIPS=10 -S_NODES=11 -S_ANIM=12 - -CMP_EPSILON=0.0001 - -def snap_tup(tup): - ret=() - for x in tup: - ret+=( x-math.fmod(x,0.0001), ) - - return tup - - -def strmtx(mtx): - s=" " - for x in range(4): - for y in range(4): - s+=str(mtx[x][y]) - s+=" " - s+=" " - return s - -def numarr(a,mult=1.0): - s=" " - for x in a: - s+=" "+str(x*mult) - s+=" " - return s - -def numarr_alpha(a,mult=1.0): - s=" " - for x in a: - s+=" "+str(x*mult) - if len(a) == 3: - s+=" 1.0" - s+=" " - return s - -def strarr(arr): - s=" " - for x in arr: - s+=" "+str(x) - s+=" " - return s - -class DaeExporter: - - def validate_id(self,d): - if (d.find("id-")==0): - return "z"+d - return d - - - def new_id(self,t): - self.last_id+=1 - return "id-"+t+"-"+str(self.last_id) - - class Vertex: - - def close_to(v): - if ( (self.vertex-v.vertex).length() > CMP_EPSILON ): - return False - if ( (self.normal-v.normal).length() > CMP_EPSILON ): - return False - if ( (self.uv-v.uv).length() > CMP_EPSILON ): - return False - if ( (self.uv2-v.uv2).length() > CMP_EPSILON ): - return False - - return True - - def get_tup(self): - tup = (self.vertex.x,self.vertex.y,self.vertex.z,self.normal.x,self.normal.y,self.normal.z) - for t in self.uv: - tup = tup + (t.x,t.y) - if (self.color!=None): - tup = tup + (self.color.x,self.color.y,self.color.z) - if (self.tangent!=None): - tup = tup + (self.tangent.x,self.tangent.y,self.tangent.z) - if (self.bitangent!=None): - tup = tup + (self.bitangent.x,self.bitangent.y,self.bitangent.z) - for t in self.bones: - tup = tup + (float(t),) - for t in self.weights: - tup = tup + (float(t),) - - return tup - - def __init__(self): - self.vertex = Vector( (0.0,0.0,0.0) ) - self.normal = Vector( (0.0,0.0,0.0) ) - self.tangent = None - self.bitangent = None - self.color = None - self.uv = [] - self.uv2 = Vector( (0.0,0.0) ) - self.bones=[] - self.weights=[] - - - def writel(self,section,indent,text): - if (not (section in self.sections)): - self.sections[section]=[] - line="" - for x in range(indent): - line+="\t" - line+=text - self.sections[section].append(line) - - - def export_image(self,image): - if (image in self.image_cache): - return self.image_cache[image] - - imgpath = image.filepath - if (imgpath.find("//")==0 or imgpath.find("\\\\")==0): - #if relative, convert to absolute - imgpath = bpy.path.abspath(imgpath) - - #path is absolute, now do something! - - if (self.config["use_copy_images"]): - #copy image - basedir = os.path.dirname(self.path)+"/images" - if (not os.path.isdir(basedir)): - os.makedirs(basedir) - - if os.path.isfile(imgpath): - dstfile=basedir+"/"+os.path.basename(imgpath) - - if (not os.path.isfile(dstfile)): - shutil.copy(imgpath,dstfile) - imgpath="images/"+os.path.basename(imgpath) - else: - ### if file is not found save it as png file in the destination folder - img_tmp_path = image.filepath - if img_tmp_path.endswith((".bmp",".rgb",".png",".jpeg",".jpg",".jp2",".tga",".cin",".dpx",".exr",".hdr",".tif")): - image.filepath = basedir+"/"+os.path.basename(img_tmp_path) - else: - image.filepath = basedir+"/"+image.name+".png" - - dstfile=basedir+"/"+os.path.basename(image.filepath) - - if (not os.path.isfile(dstfile)): - - image.save() - imgpath="images/"+os.path.basename(image.filepath) - image.filepath = img_tmp_path - - else: - #export relative, always, no one wants absolute paths. - try: - imgpath = os.path.relpath(imgpath,os.path.dirname(self.path)).replace("\\","/") # export unix compatible always - - except: - pass #fails sometimes, not sure why - - - imgid = self.new_id("image") - - print("FOR: "+imgpath) - -# if (not os.path.isfile(imgpath)): -# print("NOT FILE?") -# if imgpath.endswith((".bmp",".rgb",".png",".jpeg",".jpg",".jp2",".tga",".cin",".dpx",".exr",".hdr",".tif")): -# imgpath="images/"+os.path.basename(imgpath) -# else: -# imgpath="images/"+image.name+".png" - - self.writel(S_IMGS,1,'<image id="'+imgid+'" name="'+image.name+'">') - self.writel(S_IMGS,2,'<init_from>'+imgpath+'</init_from>') - self.writel(S_IMGS,1,'</image>') - self.image_cache[image]=imgid - return imgid - - def export_material(self,material,double_sided_hint=True): - - if (material in self.material_cache): - return self.material_cache[material] - - fxid = self.new_id("fx") - self.writel(S_FX,1,'<effect id="'+fxid+'" name="'+material.name+'-fx">') - self.writel(S_FX,2,'<profile_COMMON>') - - #Find and fetch the textures and create sources - sampler_table={} - diffuse_tex=None - specular_tex=None - emission_tex=None - normal_tex=None - for i in range(len(material.texture_slots)): - ts=material.texture_slots[i] - if (not ts): - continue - if (not ts.use): - continue - if (not ts.texture): - continue - if (ts.texture.type!="IMAGE"): - continue - - if (ts.texture.image==None): - continue - - #image - imgid = self.export_image(ts.texture.image) - - #surface - surface_sid = self.new_id("fx_surf") - self.writel(S_FX,3,'<newparam sid="'+surface_sid+'">') - self.writel(S_FX,4,'<surface type="2D">') - self.writel(S_FX,5,'<init_from>'+imgid+'</init_from>') #this is sooo weird - self.writel(S_FX,5,'<format>A8R8G8B8</format>') - self.writel(S_FX,4,'</surface>') - self.writel(S_FX,3,'</newparam>') - #sampler, collada sure likes it difficult - sampler_sid = self.new_id("fx_sampler") - self.writel(S_FX,3,'<newparam sid="'+sampler_sid+'">') - self.writel(S_FX,4,'<sampler2D>') - self.writel(S_FX,5,'<source>'+surface_sid+'</source>') - self.writel(S_FX,4,'</sampler2D>') - self.writel(S_FX,3,'</newparam>') - sampler_table[i]=sampler_sid - - if (ts.use_map_color_diffuse and diffuse_tex==None): - diffuse_tex=sampler_sid - if (ts.use_map_color_spec and specular_tex==None): - specular_tex=sampler_sid - if (ts.use_map_emit and emission_tex==None): - emission_tex=sampler_sid - if (ts.use_map_normal and normal_tex==None): - normal_tex=sampler_sid - - self.writel(S_FX,3,'<technique sid="common">') - shtype="blinn" - self.writel(S_FX,4,'<'+shtype+'>') - #ambient? from where? - - self.writel(S_FX,5,'<emission>') - if (emission_tex!=None): - self.writel(S_FX,6,'<texture texture="'+emission_tex+'" texcoord="CHANNEL1"/>') - else: - self.writel(S_FX,6,'<color>'+numarr_alpha(material.diffuse_color,material.emit)+' </color>') # not totally right but good enough - self.writel(S_FX,5,'</emission>') - - self.writel(S_FX,5,'<ambient>') - self.writel(S_FX,6,'<color>'+numarr_alpha(self.scene.world.ambient_color,material.ambient)+' </color>') - self.writel(S_FX,5,'</ambient>') - - self.writel(S_FX,5,'<diffuse>') - if (diffuse_tex!=None): - self.writel(S_FX,6,'<texture texture="'+diffuse_tex+'" texcoord="CHANNEL1"/>') - else: - self.writel(S_FX,6,'<color>'+numarr_alpha(material.diffuse_color,material.diffuse_intensity)+'</color>') - self.writel(S_FX,5,'</diffuse>') - - self.writel(S_FX,5,'<specular>') - if (specular_tex!=None): - self.writel(S_FX,6,'<texture texture="'+specular_tex+'" texcoord="CHANNEL1"/>') - else: - self.writel(S_FX,6,'<color>'+numarr_alpha(material.specular_color,material.specular_intensity)+'</color>') - self.writel(S_FX,5,'</specular>') - - self.writel(S_FX,5,'<shininess>') - self.writel(S_FX,6,'<float>'+str(material.specular_hardness)+'</float>') - self.writel(S_FX,5,'</shininess>') - - self.writel(S_FX,5,'<reflective>') - self.writel(S_FX,6,'<color>'+numarr_alpha(material.mirror_color)+'</color>') - self.writel(S_FX,5,'</reflective>') - - if (material.use_transparency): - self.writel(S_FX,5,'<transparency>') - self.writel(S_FX,6,'<float>'+str(material.alpha)+'</float>') - self.writel(S_FX,5,'</transparency>') - - self.writel(S_FX,5,'<index_of_refraction>') - self.writel(S_FX,6,'<float>'+str(material.specular_ior)+'</float>') - self.writel(S_FX,5,'</index_of_refraction>') - - self.writel(S_FX,4,'</'+shtype+'>') - - self.writel(S_FX,4,'<extra>') - self.writel(S_FX,5,'<technique profile="FCOLLADA">') - if (normal_tex): - self.writel(S_FX,6,'<bump bumptype="NORMALMAP">') - self.writel(S_FX,7,'<texture texture="'+normal_tex+'" texcoord="CHANNEL1"/>') - self.writel(S_FX,6,'</bump>') - - self.writel(S_FX,5,'</technique>') - self.writel(S_FX,5,'<technique profile="GOOGLEEARTH">') - self.writel(S_FX,6,'<double_sided>'+["0","1"][double_sided_hint]+"</double_sided>") - self.writel(S_FX,5,'</technique>') - - if (material.use_shadeless): - self.writel(S_FX,5,'<technique profile="GODOT">') - self.writel(S_FX,6,'<unshaded>1</unshaded>') - self.writel(S_FX,5,'</technique>') - - self.writel(S_FX,4,'</extra>') - - self.writel(S_FX,3,'</technique>') - self.writel(S_FX,2,'</profile_COMMON>') - self.writel(S_FX,1,'</effect>') - - # Also export blender material in all it's glory (if set as active) - - - #Material - matid = self.new_id("material") - self.writel(S_MATS,1,'<material id="'+matid+'" name="'+material.name+'">') - self.writel(S_MATS,2,'<instance_effect url="#'+fxid+'"/>') - self.writel(S_MATS,1,'</material>') - - self.material_cache[material]=matid - return matid - - - def export_mesh(self,node,armature=None,skeyindex=-1,skel_source=None,custom_name=None): - - mesh = node.data - - - if (node.data in self.mesh_cache): - return self.mesh_cache[mesh] - - if (skeyindex==-1 and mesh.shape_keys!=None and len(mesh.shape_keys.key_blocks)): - values=[] - morph_targets=[] - md=None - for k in range(0,len(mesh.shape_keys.key_blocks)): - shape = node.data.shape_keys.key_blocks[k] - values+=[shape.value] #save value - shape.value=0 - - mid = self.new_id("morph") - - for k in range(0,len(mesh.shape_keys.key_blocks)): - - shape = node.data.shape_keys.key_blocks[k] - node.show_only_shape_key=True - node.active_shape_key_index = k - shape.value = 1.0 - mesh.update() - """ - oldval = shape.value - shape.value = 1.0 - - """ - p = node.data - v = node.to_mesh(bpy.context.scene, True, "RENDER") - node.data = v -# self.export_node(node,il,shape.name) - node.data.update() - if (armature and k==0): - md=self.export_mesh(node,armature,k,mid,shape.name) - else: - md=self.export_mesh(node,None,k,None,shape.name) - - node.data = p - node.data.update() - shape.value = 0.0 - morph_targets.append(md) - - """ - shape.value = oldval - """ - node.show_only_shape_key=False - node.active_shape_key_index = 0 - - - self.writel(S_MORPH,1,'<controller id="'+mid+'" name="">') - #if ("skin_id" in morph_targets[0]): - # self.writel(S_MORPH,2,'<morph source="#'+morph_targets[0]["skin_id"]+'" method="NORMALIZED">') - #else: - self.writel(S_MORPH,2,'<morph source="#'+morph_targets[0]["id"]+'" method="NORMALIZED">') - - self.writel(S_MORPH,3,'<source id="'+mid+'-morph-targets">') - self.writel(S_MORPH,4,'<IDREF_array id="'+mid+'-morph-targets-array" count="'+str(len(morph_targets)-1)+'">') - marr="" - warr="" - for i in range(len(morph_targets)): - if (i==0): - continue - elif (i>1): - marr+=" " - - if ("skin_id" in morph_targets[i]): - marr+=morph_targets[i]["skin_id"] - else: - marr+=morph_targets[i]["id"] - - warr+=" 0" - - self.writel(S_MORPH,5,marr) - self.writel(S_MORPH,4,'</IDREF_array>') - self.writel(S_MORPH,4,'<technique_common>') - self.writel(S_MORPH,5,'<accessor source="#'+mid+'-morph-targets-array" count="'+str(len(morph_targets)-1)+'" stride="1">') - self.writel(S_MORPH,6,'<param name="MORPH_TARGET" type="IDREF"/>') - self.writel(S_MORPH,5,'</accessor>') - self.writel(S_MORPH,4,'</technique_common>') - self.writel(S_MORPH,3,'</source>') - - self.writel(S_MORPH,3,'<source id="'+mid+'-morph-weights">') - self.writel(S_MORPH,4,'<float_array id="'+mid+'-morph-weights-array" count="'+str(len(morph_targets)-1)+'" >') - self.writel(S_MORPH,5,warr) - self.writel(S_MORPH,4,'</float_array>') - self.writel(S_MORPH,4,'<technique_common>') - self.writel(S_MORPH,5,'<accessor source="#'+mid+'-morph-weights-array" count="'+str(len(morph_targets)-1)+'" stride="1">') - self.writel(S_MORPH,6,'<param name="MORPH_WEIGHT" type="float"/>') - self.writel(S_MORPH,5,'</accessor>') - self.writel(S_MORPH,4,'</technique_common>') - self.writel(S_MORPH,3,'</source>') - - self.writel(S_MORPH,3,'<targets>') - self.writel(S_MORPH,4,'<input semantic="MORPH_TARGET" source="#'+mid+'-morph-targets"/>') - self.writel(S_MORPH,4,'<input semantic="MORPH_WEIGHT" source="#'+mid+'-morph-weights"/>') - self.writel(S_MORPH,3,'</targets>') - self.writel(S_MORPH,2,'</morph>') - self.writel(S_MORPH,1,'</controller>') - if (armature!=None): - - self.armature_for_morph[node]=armature - - meshdata={} - if (armature): - meshdata = morph_targets[0] - meshdata["morph_id"]=mid - else: - meshdata["id"]=morph_targets[0]["id"] - meshdata["morph_id"]=mid - meshdata["material_assign"]=morph_targets[0]["material_assign"] - - - - self.mesh_cache[node.data]=meshdata - return meshdata - - apply_modifiers = len(node.modifiers) and self.config["use_mesh_modifiers"] - - name_to_use = mesh.name - #print("name to use: "+mesh.name) - if (custom_name!=None and custom_name!=""): - name_to_use=custom_name - - mesh=node.to_mesh(self.scene,apply_modifiers,"RENDER") #is this allright? - - triangulate=self.config["use_triangles"] - if (triangulate): - bm = bmesh.new() - bm.from_mesh(mesh) - bmesh.ops.triangulate(bm, faces=bm.faces) - bm.to_mesh(mesh) - bm.free() - - - mesh.update(calc_tessface=True) - vertices=[] - vertex_map={} - surface_indices={} - materials={} - - materials={} - - si=None - if (armature!=None): - si=self.skeleton_info[armature] - - has_uv=False - has_uv2=False - has_weights=armature!=None - has_tangents=self.config["use_tangent_arrays"] # could detect.. - has_colors=len(mesh.vertex_colors) - mat_assign=[] - - uv_layer_count=len(mesh.uv_textures) - if (has_tangents and len(mesh.uv_textures)): - try: - mesh.calc_tangents() - except: - self.operator.report({'WARNING'},'CalcTangets failed for mesh "'+mesh.name+'", no tangets will be exported.') - #uv_layer_count=0 - mesh.calc_normals_split() - has_tangents=False - - else: - mesh.calc_normals_split() - has_tangents=False - - - for fi in range(len(mesh.polygons)): - f=mesh.polygons[fi] - - if (not (f.material_index in surface_indices)): - surface_indices[f.material_index]=[] - #print("Type: "+str(type(f.material_index))) - #print("IDX: "+str(f.material_index)+"/"+str(len(mesh.materials))) - - try: - #Bizarre blender behavior i don't understand, so catching exception - mat = mesh.materials[f.material_index] - except: - mat= None - - if (mat!=None): - materials[f.material_index]=self.export_material( mat,mesh.show_double_sided ) - else: - materials[f.material_index]=None #weird, has no material? - - indices = surface_indices[f.material_index] - vi=[] - #vertices always 3 - """ - if (len(f.vertices)==3): - vi.append(0) - vi.append(1) - vi.append(2) - elif (len(f.vertices)==4): - #todo, should use shortest path - vi.append(0) - vi.append(1) - vi.append(2) - vi.append(0) - vi.append(2) - vi.append(3) - """ - - for lt in range(f.loop_total): - loop_index = f.loop_start + lt - ml = mesh.loops[loop_index] - mv = mesh.vertices[ml.vertex_index] - - v = self.Vertex() - v.vertex = Vector( mv.co ) - - for xt in mesh.uv_layers: - v.uv.append( Vector( xt.data[loop_index].uv ) ) - - if (has_colors): - v.color = Vector( mesh.vertex_colors[0].data[loop_index].color ) - - v.normal = Vector( ml.normal ) - - if (has_tangents): - v.tangent = Vector( ml.tangent ) - v.bitangent = Vector( ml.bitangent ) - - - # if (armature): - # v.vertex = node.matrix_world * v.vertex - - #v.color=Vertex(mv. ??? - - if (armature!=None): - wsum=0.0 - zero_bones=[] - - for vg in mv.groups: - if vg.group >= len(node.vertex_groups): - continue; - name = node.vertex_groups[vg.group].name - - if (name in si["bone_index"]): - #could still put the weight as 0.0001 maybe - if (vg.weight>0.001): #blender has a lot of zero weight stuff - v.bones.append(si["bone_index"][name]) - v.weights.append(vg.weight) - wsum+=vg.weight - if (wsum==0.0): - if not self.wrongvtx_report: - self.operator.report({'WARNING'},'Mesh for object "'+node.name+'" has unassigned weights. This may look wrong in exported model.') - self.wrongvtx_report=True - - #blender can have bones assigned that weight zero so they remain local - #this is the best it can be done? - v.bones.append(0) - v.weights.append(1) - - - - - tup = v.get_tup() - idx = 0 - if (skeyindex==-1 and tup in vertex_map): #do not optmize if using shapekeys - idx = vertex_map[tup] - else: - idx = len(vertices) - vertices.append(v) - vertex_map[tup]=idx - - vi.append(idx) - - if (len(vi)>2): - #only triangles and above - indices.append(vi) - - - meshid = self.new_id("mesh") - self.writel(S_GEOM,1,'<geometry id="'+meshid+'" name="'+name_to_use+'">') - - self.writel(S_GEOM,2,'<mesh>') - - - # Vertex Array - self.writel(S_GEOM,3,'<source id="'+meshid+'-positions">') - float_values="" - for v in vertices: - float_values+=" "+str(v.vertex.x)+" "+str(v.vertex.y)+" "+str(v.vertex.z) - self.writel(S_GEOM,4,'<float_array id="'+meshid+'-positions-array" count="'+str(len(vertices)*3)+'">'+float_values+'</float_array>') - self.writel(S_GEOM,4,'<technique_common>') - self.writel(S_GEOM,4,'<accessor source="#'+meshid+'-positions-array" count="'+str(len(vertices))+'" stride="3">') - self.writel(S_GEOM,5,'<param name="X" type="float"/>') - self.writel(S_GEOM,5,'<param name="Y" type="float"/>') - self.writel(S_GEOM,5,'<param name="Z" type="float"/>') - self.writel(S_GEOM,4,'</accessor>') - self.writel(S_GEOM,4,'</technique_common>') - self.writel(S_GEOM,3,'</source>') - - # Normal Array - - self.writel(S_GEOM,3,'<source id="'+meshid+'-normals">') - float_values="" - for v in vertices: - float_values+=" "+str(v.normal.x)+" "+str(v.normal.y)+" "+str(v.normal.z) - self.writel(S_GEOM,4,'<float_array id="'+meshid+'-normals-array" count="'+str(len(vertices)*3)+'">'+float_values+'</float_array>') - self.writel(S_GEOM,4,'<technique_common>') - self.writel(S_GEOM,4,'<accessor source="#'+meshid+'-normals-array" count="'+str(len(vertices))+'" stride="3">') - self.writel(S_GEOM,5,'<param name="X" type="float"/>') - self.writel(S_GEOM,5,'<param name="Y" type="float"/>') - self.writel(S_GEOM,5,'<param name="Z" type="float"/>') - self.writel(S_GEOM,4,'</accessor>') - self.writel(S_GEOM,4,'</technique_common>') - self.writel(S_GEOM,3,'</source>') - - if (has_tangents): - self.writel(S_GEOM,3,'<source id="'+meshid+'-tangents">') - float_values="" - for v in vertices: - float_values+=" "+str(v.tangent.x)+" "+str(v.tangent.y)+" "+str(v.tangent.z) - self.writel(S_GEOM,4,'<float_array id="'+meshid+'-tangents-array" count="'+str(len(vertices)*3)+'">'+float_values+'</float_array>') - self.writel(S_GEOM,4,'<technique_common>') - self.writel(S_GEOM,4,'<accessor source="#'+meshid+'-tangents-array" count="'+str(len(vertices))+'" stride="3">') - self.writel(S_GEOM,5,'<param name="X" type="float"/>') - self.writel(S_GEOM,5,'<param name="Y" type="float"/>') - self.writel(S_GEOM,5,'<param name="Z" type="float"/>') - self.writel(S_GEOM,4,'</accessor>') - self.writel(S_GEOM,4,'</technique_common>') - self.writel(S_GEOM,3,'</source>') - - self.writel(S_GEOM,3,'<source id="'+meshid+'-bitangents">') - float_values="" - for v in vertices: - float_values+=" "+str(v.bitangent.x)+" "+str(v.bitangent.y)+" "+str(v.bitangent.z) - self.writel(S_GEOM,4,'<float_array id="'+meshid+'-bitangents-array" count="'+str(len(vertices)*3)+'">'+float_values+'</float_array>') - self.writel(S_GEOM,4,'<technique_common>') - self.writel(S_GEOM,4,'<accessor source="#'+meshid+'-bitangents-array" count="'+str(len(vertices))+'" stride="3">') - self.writel(S_GEOM,5,'<param name="X" type="float"/>') - self.writel(S_GEOM,5,'<param name="Y" type="float"/>') - self.writel(S_GEOM,5,'<param name="Z" type="float"/>') - self.writel(S_GEOM,4,'</accessor>') - self.writel(S_GEOM,4,'</technique_common>') - self.writel(S_GEOM,3,'</source>') - - - - # UV Arrays - - for uvi in range(uv_layer_count): - - self.writel(S_GEOM,3,'<source id="'+meshid+'-texcoord-'+str(uvi)+'">') - float_values="" - for v in vertices: - try: - float_values+=" "+str(v.uv[uvi].x)+" "+str(v.uv[uvi].y) - except: - # I don't understand this weird multi-uv-layer API, but with this it seems to works - float_values+=" 0 0 " - - self.writel(S_GEOM,4,'<float_array id="'+meshid+'-texcoord-'+str(uvi)+'-array" count="'+str(len(vertices)*2)+'">'+float_values+'</float_array>') - self.writel(S_GEOM,4,'<technique_common>') - self.writel(S_GEOM,4,'<accessor source="#'+meshid+'-texcoord-'+str(uvi)+'-array" count="'+str(len(vertices))+'" stride="2">') - self.writel(S_GEOM,5,'<param name="S" type="float"/>') - self.writel(S_GEOM,5,'<param name="T" type="float"/>') - self.writel(S_GEOM,4,'</accessor>') - self.writel(S_GEOM,4,'</technique_common>') - self.writel(S_GEOM,3,'</source>') - - # Color Arrays - - if (has_colors): - self.writel(S_GEOM,3,'<source id="'+meshid+'-colors">') - float_values="" - for v in vertices: - float_values+=" "+str(v.color.x)+" "+str(v.color.y)+" "+str(v.color.z) - self.writel(S_GEOM,4,'<float_array id="'+meshid+'-colors-array" count="'+str(len(vertices)*3)+'">'+float_values+'</float_array>') - self.writel(S_GEOM,4,'<technique_common>') - self.writel(S_GEOM,4,'<accessor source="#'+meshid+'-colors-array" count="'+str(len(vertices))+'" stride="3">') - self.writel(S_GEOM,5,'<param name="X" type="float"/>') - self.writel(S_GEOM,5,'<param name="Y" type="float"/>') - self.writel(S_GEOM,5,'<param name="Z" type="float"/>') - self.writel(S_GEOM,4,'</accessor>') - self.writel(S_GEOM,4,'</technique_common>') - self.writel(S_GEOM,3,'</source>') - - # Triangle Lists - self.writel(S_GEOM,3,'<vertices id="'+meshid+'-vertices">') - self.writel(S_GEOM,4,'<input semantic="POSITION" source="#'+meshid+'-positions"/>') - self.writel(S_GEOM,3,'</vertices>') - - prim_type="" - if (triangulate): - prim_type="triangles" - else: - prim_type="polygons" - - - for m in surface_indices: - indices = surface_indices[m] - mat = materials[m] - - if (mat!=None): - matref = self.new_id("trimat") - self.writel(S_GEOM,3,'<'+prim_type+' count="'+str(int(len(indices)))+'" material="'+matref+'">') # todo material - mat_assign.append( (mat,matref) ) - else: - self.writel(S_GEOM,3,'<'+prim_type+' count="'+str(int(len(indices)))+'">') # todo material - - - self.writel(S_GEOM,4,'<input semantic="VERTEX" source="#'+meshid+'-vertices" offset="0"/>') - self.writel(S_GEOM,4,'<input semantic="NORMAL" source="#'+meshid+'-normals" offset="0"/>') - - for uvi in range(uv_layer_count): - self.writel(S_GEOM,4,'<input semantic="TEXCOORD" source="#'+meshid+'-texcoord-'+str(uvi)+'" offset="0" set="'+str(uvi)+'"/>') - - if (has_colors): - self.writel(S_GEOM,4,'<input semantic="COLOR" source="#'+meshid+'-colors" offset="0"/>') - if (has_tangents): - self.writel(S_GEOM,4,'<input semantic="TEXTANGENT" source="#'+meshid+'-tangents" offset="0"/>') - self.writel(S_GEOM,4,'<input semantic="TEXBINORMAL" source="#'+meshid+'-bitangents" offset="0"/>') - - if (triangulate): - int_values="<p>" - for p in indices: - for i in p: - int_values+=" "+str(i) - int_values+=" </p>" - self.writel(S_GEOM,4,int_values) - else: - for p in indices: - int_values="<p>" - for i in p: - int_values+=" "+str(i) - int_values+=" </p>" - self.writel(S_GEOM,4,int_values) - - self.writel(S_GEOM,3,'</'+prim_type+'>') - - - self.writel(S_GEOM,2,'</mesh>') - self.writel(S_GEOM,1,'</geometry>') - - - meshdata={} - meshdata["id"]=meshid - meshdata["material_assign"]=mat_assign - if (skeyindex==-1): - self.mesh_cache[node.data]=meshdata - - - # Export armature data (if armature exists) - - if (armature!=None and (skel_source!=None or skeyindex==-1)): - - contid = self.new_id("controller") - - self.writel(S_SKIN,1,'<controller id="'+contid+'">') - if (skel_source!=None): - self.writel(S_SKIN,2,'<skin source="#'+skel_source+'">') - else: - self.writel(S_SKIN,2,'<skin source="#'+meshid+'">') - - self.writel(S_SKIN,3,'<bind_shape_matrix>'+strmtx(node.matrix_world)+'</bind_shape_matrix>') - #Joint Names - self.writel(S_SKIN,3,'<source id="'+contid+'-joints">') - name_values="" - for v in si["bone_names"]: - name_values+=" "+v - - self.writel(S_SKIN,4,'<Name_array id="'+contid+'-joints-array" count="'+str(len(si["bone_names"]))+'">'+name_values+'</Name_array>') - self.writel(S_SKIN,4,'<technique_common>') - self.writel(S_SKIN,4,'<accessor source="#'+contid+'-joints-array" count="'+str(len(si["bone_names"]))+'" stride="1">') - self.writel(S_SKIN,5,'<param name="JOINT" type="Name"/>') - self.writel(S_SKIN,4,'</accessor>') - self.writel(S_SKIN,4,'</technique_common>') - self.writel(S_SKIN,3,'</source>') - #Pose Matrices! - self.writel(S_SKIN,3,'<source id="'+contid+'-bind_poses">') - pose_values="" - for v in si["bone_bind_poses"]: - pose_values+=" "+strmtx(v) - - self.writel(S_SKIN,4,'<float_array id="'+contid+'-bind_poses-array" count="'+str(len(si["bone_bind_poses"])*16)+'">'+pose_values+'</float_array>') - self.writel(S_SKIN,4,'<technique_common>') - self.writel(S_SKIN,4,'<accessor source="#'+contid+'-bind_poses-array" count="'+str(len(si["bone_bind_poses"]))+'" stride="16">') - self.writel(S_SKIN,5,'<param name="TRANSFORM" type="float4x4"/>') - self.writel(S_SKIN,4,'</accessor>') - self.writel(S_SKIN,4,'</technique_common>') - self.writel(S_SKIN,3,'</source>') - #Skin Weights! - self.writel(S_SKIN,3,'<source id="'+contid+'-skin_weights">') - skin_weights="" - skin_weights_total=0 - for v in vertices: - skin_weights_total+=len(v.weights) - for w in v.weights: - skin_weights+=" "+str(w) - - self.writel(S_SKIN,4,'<float_array id="'+contid+'-skin_weights-array" count="'+str(skin_weights_total)+'">'+skin_weights+'</float_array>') - self.writel(S_SKIN,4,'<technique_common>') - self.writel(S_SKIN,4,'<accessor source="#'+contid+'-skin_weights-array" count="'+str(skin_weights_total)+'" stride="1">') - self.writel(S_SKIN,5,'<param name="WEIGHT" type="float"/>') - self.writel(S_SKIN,4,'</accessor>') - self.writel(S_SKIN,4,'</technique_common>') - self.writel(S_SKIN,3,'</source>') - - - self.writel(S_SKIN,3,'<joints>') - self.writel(S_SKIN,4,'<input semantic="JOINT" source="#'+contid+'-joints"/>') - self.writel(S_SKIN,4,'<input semantic="INV_BIND_MATRIX" source="#'+contid+'-bind_poses"/>') - self.writel(S_SKIN,3,'</joints>') - self.writel(S_SKIN,3,'<vertex_weights count="'+str(len(vertices))+'">') - self.writel(S_SKIN,4,'<input semantic="JOINT" source="#'+contid+'-joints" offset="0"/>') - self.writel(S_SKIN,4,'<input semantic="WEIGHT" source="#'+contid+'-skin_weights" offset="1"/>') - vcounts="" - vs="" - vcount=0 - for v in vertices: - vcounts+=" "+str(len(v.weights)) - for b in v.bones: - vs+=" "+str(b) - vs+=" "+str(vcount) - vcount+=1 - self.writel(S_SKIN,4,'<vcount>'+vcounts+'</vcount>') - self.writel(S_SKIN,4,'<v>'+vs+'</v>') - self.writel(S_SKIN,3,'</vertex_weights>') - - - self.writel(S_SKIN,2,'</skin>') - self.writel(S_SKIN,1,'</controller>') - meshdata["skin_id"]=contid - - - return meshdata - - - def export_mesh_node(self,node,il): - - if (node.data==None): - return - armature=None - armcount=0 - for n in node.modifiers: - if (n.type=="ARMATURE"): - armcount+=1 - - if (node.parent!=None): - if (node.parent.type=="ARMATURE"): - armature=node.parent - if (armcount>1): - self.operator.report({'WARNING'},'Object "'+node.name+'" refers to more than one armature! This is unsupported.') - if (armcount==0): - self.operator.report({'WARNING'},'Object "'+node.name+'" is child of an armature, but has no armature modifier.') - - - if (armcount>0 and not armature): - self.operator.report({'WARNING'},'Object "'+node.name+'" has armature modifier, but is not a child of an armature. This is unsupported.') - - - if (node.data.shape_keys!=None): - sk = node.data.shape_keys - if (sk.animation_data): - #print("HAS ANIM") - #print("DRIVERS: "+str(len(sk.animation_data.drivers))) - for d in sk.animation_data.drivers: - if (d.driver): - for v in d.driver.variables: - for t in v.targets: - if (t.id!=None and t.id.name in self.scene.objects): - #print("LINKING "+str(node)+" WITH "+str(t.id.name)) - self.armature_for_morph[node]=self.scene.objects[t.id.name] - - - meshdata = self.export_mesh(node,armature) - close_controller=False - - if ("skin_id" in meshdata): - close_controller=True - self.writel(S_NODES,il,'<instance_controller url="#'+meshdata["skin_id"]+'">') - for sn in self.skeleton_info[armature]["skeleton_nodes"]: - self.writel(S_NODES,il+1,'<skeleton>#'+sn+'</skeleton>') - elif ("morph_id" in meshdata): - self.writel(S_NODES,il,'<instance_controller url="#'+meshdata["morph_id"]+'">') - close_controller=True - elif (armature==None): - self.writel(S_NODES,il,'<instance_geometry url="#'+meshdata["id"]+'">') - - - if (len(meshdata["material_assign"])>0): - - self.writel(S_NODES,il+1,'<bind_material>') - self.writel(S_NODES,il+2,'<technique_common>') - for m in meshdata["material_assign"]: - self.writel(S_NODES,il+3,'<instance_material symbol="'+m[1]+'" target="#'+m[0]+'"/>') - - self.writel(S_NODES,il+2,'</technique_common>') - self.writel(S_NODES,il+1,'</bind_material>') - - if (close_controller): - self.writel(S_NODES,il,'</instance_controller>') - else: - self.writel(S_NODES,il,'</instance_geometry>') - - - def export_armature_bone(self,bone,il,si): - boneid = self.new_id("bone") - boneidx = si["bone_count"] - si["bone_count"]+=1 - bonesid = si["id"]+"-"+str(boneidx) - if (bone.name in self.used_bones): - if (self.config["use_anim_action_all"]): - self.operator.report({'WARNING'},'Bone name "'+bone.name+'" used in more than one skeleton. Actions might export wrong.') - else: - self.used_bones.append(bone.name) - - si["bone_index"][bone.name]=boneidx - si["bone_ids"][bone]=boneid - si["bone_names"].append(bonesid) - self.writel(S_NODES,il,'<node id="'+boneid+'" sid="'+bonesid+'" name="'+bone.name+'" type="JOINT">') - il+=1 - xform = bone.matrix_local - si["bone_bind_poses"].append((si["armature_xform"] * xform).inverted()) - - if (bone.parent!=None): - xform = bone.parent.matrix_local.inverted() * xform - else: - si["skeleton_nodes"].append(boneid) - - self.writel(S_NODES,il,'<matrix sid="transform">'+strmtx(xform)+'</matrix>') - for c in bone.children: - self.export_armature_bone(c,il,si) - il-=1 - self.writel(S_NODES,il,'</node>') - - - def export_armature_node(self,node,il): - - if (node.data==None): - return - - self.skeletons.append(node) - - armature = node.data - self.skeleton_info[node]={ "bone_count":0, "id":self.new_id("skelbones"),"name":node.name, "bone_index":{},"bone_ids":{},"bone_names":[],"bone_bind_poses":[],"skeleton_nodes":[],"armature_xform":node.matrix_world } - - - - for b in armature.bones: - if (b.parent!=None): - continue - self.export_armature_bone(b,il,self.skeleton_info[node]) - - if (node.pose): - for b in node.pose.bones: - for x in b.constraints: - if (x.type=='ACTION'): - self.action_constraints.append(x.action) - - - def export_camera_node(self,node,il): - - if (node.data==None): - return - - camera=node.data - camid=self.new_id("camera") - self.writel(S_CAMS,1,'<camera id="'+camid+'" name="'+camera.name+'">') - self.writel(S_CAMS,2,'<optics>') - self.writel(S_CAMS,3,'<technique_common>') - if (camera.type=="PERSP"): - self.writel(S_CAMS,4,'<perspective>') - self.writel(S_CAMS,5,'<yfov> '+str(math.degrees(camera.angle))+' </yfov>') # I think? - self.writel(S_CAMS,5,'<aspect_ratio> '+str(self.scene.render.resolution_x / self.scene.render.resolution_y)+' </aspect_ratio>') - self.writel(S_CAMS,5,'<znear> '+str(camera.clip_start)+' </znear>') - self.writel(S_CAMS,5,'<zfar> '+str(camera.clip_end)+' </zfar>') - self.writel(S_CAMS,4,'</perspective>') - else: - self.writel(S_CAMS,4,'<orthographic>') - self.writel(S_CAMS,5,'<xmag> '+str(camera.ortho_scale*0.5)+' </xmag>') # I think? - self.writel(S_CAMS,5,'<aspect_ratio> '+str(self.scene.render.resolution_x / self.scene.render.resolution_y)+' </aspect_ratio>') - self.writel(S_CAMS,5,'<znear> '+str(camera.clip_start)+' </znear>') - self.writel(S_CAMS,5,'<zfar> '+str(camera.clip_end)+' </zfar>') - self.writel(S_CAMS,4,'</orthographic>') - - self.writel(S_CAMS,3,'</technique_common>') - self.writel(S_CAMS,2,'</optics>') - self.writel(S_CAMS,1,'</camera>') - - - self.writel(S_NODES,il,'<instance_camera url="#'+camid+'"/>') - - def export_lamp_node(self,node,il): - - if (node.data==None): - return - - light=node.data - lightid=self.new_id("light") - self.writel(S_LAMPS,1,'<light id="'+lightid+'" name="'+light.name+'">') - #self.writel(S_LAMPS,2,'<optics>') - self.writel(S_LAMPS,3,'<technique_common>') - - if (light.type=="POINT"): - self.writel(S_LAMPS,4,'<point>') - self.writel(S_LAMPS,5,'<color>'+strarr(light.color)+'</color>') - att_by_distance = 2.0 / light.distance # convert to linear attenuation - self.writel(S_LAMPS,5,'<linear_attenuation>'+str(att_by_distance)+'</linear_attenuation>') - if (light.use_sphere): - self.writel(S_LAMPS,5,'<zfar>'+str(light.distance)+'</zfar>') - - self.writel(S_LAMPS,4,'</point>') - elif (light.type=="SPOT"): - self.writel(S_LAMPS,4,'<spot>') - self.writel(S_LAMPS,5,'<color>'+strarr(light.color)+'</color>') - att_by_distance = 2.0 / light.distance # convert to linear attenuation - self.writel(S_LAMPS,5,'<linear_attenuation>'+str(att_by_distance)+'</linear_attenuation>') - self.writel(S_LAMPS,5,'<falloff_angle>'+str(math.degrees(light.spot_size/2))+'</falloff_angle>') - self.writel(S_LAMPS,4,'</spot>') - - - else: #write a sun lamp for everything else (not supported) - self.writel(S_LAMPS,4,'<directional>') - self.writel(S_LAMPS,5,'<color>'+strarr(light.color)+'</color>') - self.writel(S_LAMPS,4,'</directional>') - - - self.writel(S_LAMPS,3,'</technique_common>') - #self.writel(S_LAMPS,2,'</optics>') - self.writel(S_LAMPS,1,'</light>') - - - self.writel(S_NODES,il,'<instance_light url="#'+lightid+'"/>') - - def export_empty_node(self,node,il): - - self.writel(S_NODES,4,'<extra>') - self.writel(S_NODES,5,'<technique profile="GODOT">') - self.writel(S_NODES,6,'<empty_draw_type>'+node.empty_draw_type+'</empty_draw_type>') - self.writel(S_NODES,5,'</technique>') - self.writel(S_NODES,4,'</extra>') - - - def export_curve(self,curve): - - splineid = self.new_id("spline") - - self.writel(S_GEOM,1,'<geometry id="'+splineid+'" name="'+curve.name+'">') - self.writel(S_GEOM,2,'<spline closed="0">') - - points=[] - interps=[] - handles_in=[] - handles_out=[] - tilts=[] - - for cs in curve.splines: - - if (cs.type=="BEZIER"): - for s in cs.bezier_points: - points.append(s.co[0]) - points.append(s.co[1]) - points.append(s.co[2]) - - - handles_in.append(s.handle_left[0]) - handles_in.append(s.handle_left[1]) - handles_in.append(s.handle_left[2]) - - handles_out.append(s.handle_right[0]) - handles_out.append(s.handle_right[1]) - handles_out.append(s.handle_right[2]) - - - tilts.append(s.tilt) - interps.append("BEZIER") - else: - - for s in cs.points: - points.append(s.co[0]) - points.append(s.co[1]) - points.append(s.co[2]) - handles_in.append(s.co[0]) - handles_in.append(s.co[1]) - handles_in.append(s.co[2]) - handles_out.append(s.co[0]) - handles_out.append(s.co[1]) - handles_out.append(s.co[2]) - tilts.append(s.tilt) - interps.append("LINEAR") - - - - - self.writel(S_GEOM,3,'<source id="'+splineid+'-positions">') - position_values="" - for x in points: - position_values+=" "+str(x) - self.writel(S_GEOM,4,'<float_array id="'+splineid+'-positions-array" count="'+str(len(points))+'">'+position_values+'</float_array>') - self.writel(S_GEOM,4,'<technique_common>') - self.writel(S_GEOM,4,'<accessor source="#'+splineid+'-positions-array" count="'+str(len(points)/3)+'" stride="3">') - self.writel(S_GEOM,5,'<param name="X" type="float"/>') - self.writel(S_GEOM,5,'<param name="Y" type="float"/>') - self.writel(S_GEOM,5,'<param name="Z" type="float"/>') - self.writel(S_GEOM,4,'</accessor>') - self.writel(S_GEOM,3,'</source>') - - self.writel(S_GEOM,3,'<source id="'+splineid+'-intangents">') - intangent_values="" - for x in handles_in: - intangent_values+=" "+str(x) - self.writel(S_GEOM,4,'<float_array id="'+splineid+'-intangents-array" count="'+str(len(points))+'">'+intangent_values+'</float_array>') - self.writel(S_GEOM,4,'<technique_common>') - self.writel(S_GEOM,4,'<accessor source="#'+splineid+'-intangents-array" count="'+str(len(points)/3)+'" stride="3">') - self.writel(S_GEOM,5,'<param name="X" type="float"/>') - self.writel(S_GEOM,5,'<param name="Y" type="float"/>') - self.writel(S_GEOM,5,'<param name="Z" type="float"/>') - self.writel(S_GEOM,4,'</accessor>') - self.writel(S_GEOM,3,'</source>') - - self.writel(S_GEOM,3,'<source id="'+splineid+'-outtangents">') - outtangent_values="" - for x in handles_out: - outtangent_values+=" "+str(x) - self.writel(S_GEOM,4,'<float_array id="'+splineid+'-outtangents-array" count="'+str(len(points))+'">'+outtangent_values+'</float_array>') - self.writel(S_GEOM,4,'<technique_common>') - self.writel(S_GEOM,4,'<accessor source="#'+splineid+'-outtangents-array" count="'+str(len(points)/3)+'" stride="3">') - self.writel(S_GEOM,5,'<param name="X" type="float"/>') - self.writel(S_GEOM,5,'<param name="Y" type="float"/>') - self.writel(S_GEOM,5,'<param name="Z" type="float"/>') - self.writel(S_GEOM,4,'</accessor>') - self.writel(S_GEOM,3,'</source>') - - self.writel(S_GEOM,3,'<source id="'+splineid+'-interpolations">') - interpolation_values="" - for x in interps: - interpolation_values+=" "+x - self.writel(S_GEOM,4,'<Name_array id="'+splineid+'-interpolations-array" count="'+str(len(interps))+'">'+interpolation_values+'</Name_array>') - self.writel(S_GEOM,4,'<technique_common>') - self.writel(S_GEOM,4,'<accessor source="#'+splineid+'-interpolations-array" count="'+str(len(interps))+'" stride="1">') - self.writel(S_GEOM,5,'<param name="INTERPOLATION" type="name"/>') - self.writel(S_GEOM,4,'</accessor>') - self.writel(S_GEOM,3,'</source>') - - - self.writel(S_GEOM,3,'<source id="'+splineid+'-tilts">') - tilt_values="" - for x in tilts: - tilt_values+=" "+str(x) - self.writel(S_GEOM,4,'<float_array id="'+splineid+'-tilts-array" count="'+str(len(tilts))+'">'+tilt_values+'</float_array>') - self.writel(S_GEOM,4,'<technique_common>') - self.writel(S_GEOM,4,'<accessor source="#'+splineid+'-tilts-array" count="'+str(len(tilts))+'" stride="1">') - self.writel(S_GEOM,5,'<param name="TILT" type="float"/>') - self.writel(S_GEOM,4,'</accessor>') - self.writel(S_GEOM,3,'</source>') - - self.writel(S_GEOM,3,'<control_vertices>') - self.writel(S_GEOM,4,'<input semantic="POSITION" source="#'+splineid+'-positions"/>') - self.writel(S_GEOM,4,'<input semantic="IN_TANGENT" source="#'+splineid+'-intangents"/>') - self.writel(S_GEOM,4,'<input semantic="OUT_TANGENT" source="#'+splineid+'-outtangents"/>') - self.writel(S_GEOM,4,'<input semantic="INTERPOLATION" source="#'+splineid+'-interpolations"/>') - self.writel(S_GEOM,4,'<input semantic="TILT" source="#'+splineid+'-tilts"/>') - self.writel(S_GEOM,3,'</control_vertices>') - - - self.writel(S_GEOM,2,'</spline>') - self.writel(S_GEOM,1,'</geometry>') - - return splineid - - def export_curve_node(self,node,il): - - if (node.data==None): - return - curveid = self.export_curve(node.data) - - self.writel(S_NODES,il,'<instance_geometry url="#'+curveid+'">') - self.writel(S_NODES,il,'</instance_geometry>') - - - - def export_node(self,node,il): - if (not node in self.valid_nodes): - return - prev_node = bpy.context.scene.objects.active - bpy.context.scene.objects.active = node - - self.writel(S_NODES,il,'<node id="'+self.validate_id(node.name)+'" name="'+node.name+'" type="NODE">') - il+=1 - - self.writel(S_NODES,il,'<matrix sid="transform">'+strmtx(node.matrix_local)+'</matrix>') - #print("NODE TYPE: "+node.type+" NAME: "+node.name) - if (node.type=="MESH"): - self.export_mesh_node(node,il) - elif (node.type=="CURVE"): - self.export_curve_node(node,il) - elif (node.type=="ARMATURE"): - self.export_armature_node(node,il) - elif (node.type=="CAMERA"): - self.export_camera_node(node,il) - elif (node.type=="LAMP"): - self.export_lamp_node(node,il) - elif (node.type=="EMPTY"): - self.export_empty_node(node,il) - - for x in node.children: - self.export_node(x,il) - - il-=1 - self.writel(S_NODES,il,'</node>') - bpy.context.scene.objects.active = prev_node #make previous node active again - - def is_node_valid(self,node): - if (not node.type in self.config["object_types"]): - return False - if (self.config["use_active_layers"]): - valid=False - #print("NAME: "+node.name) - for i in range(20): - if (node.layers[i] and self.scene.layers[i]): - valid=True - break - if (not valid): - return False - - if (self.config["use_export_selected"] and not node.select): - return False - - return True - - - def export_scene(self): - - - self.writel(S_NODES,0,'<library_visual_scenes>') - self.writel(S_NODES,1,'<visual_scene id="'+self.scene_name+'" name="scene">') - - #validate nodes - for obj in self.scene.objects: - if (obj in self.valid_nodes): - continue - if (self.is_node_valid(obj)): - n = obj - while (n!=None): - if (not n in self.valid_nodes): - self.valid_nodes.append(n) - n=n.parent - - - - for obj in self.scene.objects: - if (obj in self.valid_nodes and obj.parent==None): - self.export_node(obj,2) - - self.writel(S_NODES,1,'</visual_scene>') - self.writel(S_NODES,0,'</library_visual_scenes>') - - def export_asset(self): - - - self.writel(S_ASSET,0,'<asset>') - # Why is this time stuff mandatory?, no one could care less... - self.writel(S_ASSET,1,'<contributor>') - self.writel(S_ASSET,2,'<author> Anonymous </author>') #Who made Collada, the FBI ? - self.writel(S_ASSET,2,'<authoring_tool> Collada Exporter for Blender 2.6+, by Juan Linietsky (juan@codenix.com) </authoring_tool>') #Who made Collada, the FBI ? - self.writel(S_ASSET,1,'</contributor>') - self.writel(S_ASSET,1,'<created>'+time.strftime("%Y-%m-%dT%H:%M:%SZ ")+'</created>') - self.writel(S_ASSET,1,'<modified>'+time.strftime("%Y-%m-%dT%H:%M:%SZ")+'</modified>') - self.writel(S_ASSET,1,'<unit meter="1.0" name="meter"/>') - self.writel(S_ASSET,1,'<up_axis>Z_UP</up_axis>') - self.writel(S_ASSET,0,'</asset>') - - - def export_animation_transform_channel(self,target,keys,matrices=True): - - frame_total=len(keys) - anim_id=self.new_id("anim") - self.writel(S_ANIM,1,'<animation id="'+anim_id+'">') - source_frames = "" - source_transforms = "" - source_interps = "" - - for k in keys: - source_frames += " "+str(k[0]) - if (matrices): - source_transforms += " "+strmtx(k[1]) - else: - source_transforms += " "+str(k[1]) - - source_interps +=" LINEAR" - - - # Time Source - self.writel(S_ANIM,2,'<source id="'+anim_id+'-input">') - self.writel(S_ANIM,3,'<float_array id="'+anim_id+'-input-array" count="'+str(frame_total)+'">'+source_frames+'</float_array>') - self.writel(S_ANIM,3,'<technique_common>') - self.writel(S_ANIM,4,'<accessor source="#'+anim_id+'-input-array" count="'+str(frame_total)+'" stride="1">') - self.writel(S_ANIM,5,'<param name="TIME" type="float"/>') - self.writel(S_ANIM,4,'</accessor>') - self.writel(S_ANIM,3,'</technique_common>') - self.writel(S_ANIM,2,'</source>') - - if (matrices): - # Transform Source - self.writel(S_ANIM,2,'<source id="'+anim_id+'-transform-output">') - self.writel(S_ANIM,3,'<float_array id="'+anim_id+'-transform-output-array" count="'+str(frame_total*16)+'">'+source_transforms+'</float_array>') - self.writel(S_ANIM,3,'<technique_common>') - self.writel(S_ANIM,4,'<accessor source="#'+anim_id+'-transform-output-array" count="'+str(frame_total)+'" stride="16">') - self.writel(S_ANIM,5,'<param name="TRANSFORM" type="float4x4"/>') - self.writel(S_ANIM,4,'</accessor>') - self.writel(S_ANIM,3,'</technique_common>') - self.writel(S_ANIM,2,'</source>') - else: - # Value Source - self.writel(S_ANIM,2,'<source id="'+anim_id+'-transform-output">') - self.writel(S_ANIM,3,'<float_array id="'+anim_id+'-transform-output-array" count="'+str(frame_total)+'">'+source_transforms+'</float_array>') - self.writel(S_ANIM,3,'<technique_common>') - self.writel(S_ANIM,4,'<accessor source="#'+anim_id+'-transform-output-array" count="'+str(frame_total)+'" stride="1">') - self.writel(S_ANIM,5,'<param name="X" type="float"/>') - self.writel(S_ANIM,4,'</accessor>') - self.writel(S_ANIM,3,'</technique_common>') - self.writel(S_ANIM,2,'</source>') - - # Interpolation Source - self.writel(S_ANIM,2,'<source id="'+anim_id+'-interpolation-output">') - self.writel(S_ANIM,3,'<Name_array id="'+anim_id+'-interpolation-output-array" count="'+str(frame_total)+'">'+source_interps+'</Name_array>') - self.writel(S_ANIM,3,'<technique_common>') - self.writel(S_ANIM,4,'<accessor source="#'+anim_id+'-interpolation-output-array" count="'+str(frame_total)+'" stride="1">') - self.writel(S_ANIM,5,'<param name="INTERPOLATION" type="Name"/>') - self.writel(S_ANIM,4,'</accessor>') - self.writel(S_ANIM,3,'</technique_common>') - self.writel(S_ANIM,2,'</source>') - - self.writel(S_ANIM,2,'<sampler id="'+anim_id+'-sampler">') - self.writel(S_ANIM,3,'<input semantic="INPUT" source="#'+anim_id+'-input"/>') - self.writel(S_ANIM,3,'<input semantic="OUTPUT" source="#'+anim_id+'-transform-output"/>') - self.writel(S_ANIM,3,'<input semantic="INTERPOLATION" source="#'+anim_id+'-interpolation-output"/>') - self.writel(S_ANIM,2,'</sampler>') - if (matrices): - self.writel(S_ANIM,2,'<channel source="#'+anim_id+'-sampler" target="'+target+'/transform"/>') - else: - self.writel(S_ANIM,2,'<channel source="#'+anim_id+'-sampler" target="'+target+'"/>') - self.writel(S_ANIM,1,'</animation>') - - return [anim_id] - - - def export_animation(self,start,end,allowed=None): - - #Blender -> Collada frames needs a little work - #Collada starts from 0, blender usually from 1 - #The last frame must be included also - - frame_orig = self.scene.frame_current - - frame_len = 1.0 / self.scene.render.fps - frame_total = end - start + 1 - frame_sub = 0 - if (start>0): - frame_sub=start*frame_len - - tcn = [] - xform_cache={} - blend_cache={} - # Change frames first, export objects last - # This improves performance enormously - - #print("anim from: "+str(start)+" to "+str(end)+" allowed: "+str(allowed)) - for t in range(start,end+1): - self.scene.frame_set(t) - key = t * frame_len - frame_sub -# print("Export Anim Frame "+str(t)+"/"+str(self.scene.frame_end+1)) - - for node in self.scene.objects: - - if (not node in self.valid_nodes): - continue - if (allowed!=None and not (node in allowed)): - if (node.type=="MESH" and node.data!=None and (node in self.armature_for_morph) and (self.armature_for_morph[node] in allowed)): - pass #all good you pass with flying colors for morphs inside of action - else: - #print("fail "+str((node in self.armature_for_morph))) - continue - if (node.type=="MESH" and node.data!=None and node.data.shape_keys!=None and (node.data in self.mesh_cache) and len(node.data.shape_keys.key_blocks)): - target = self.mesh_cache[node.data]["morph_id"] - for i in range(len(node.data.shape_keys.key_blocks)): - - if (i==0): - continue - - name=target+"-morph-weights("+str(i-1)+")" - if (not (name in blend_cache)): - blend_cache[name]=[] - - blend_cache[name].append( (key,node.data.shape_keys.key_blocks[i].value) ) - - - if (node.type=="MESH" and node.parent and node.parent.type=="ARMATURE"): - - continue #In Collada, nodes that have skin modifier must not export animation, animate the skin instead. - - if (len(node.constraints)>0 or node.animation_data!=None): - #If the node has constraints, or animation data, then export a sampled animation track - name=self.validate_id(node.name) - if (not (name in xform_cache)): - xform_cache[name]=[] - - mtx = node.matrix_world.copy() - if (node.parent): - mtx = node.parent.matrix_world.inverted() * mtx - - xform_cache[name].append( (key,mtx) ) - - if (node.type=="ARMATURE"): - #All bones exported for now - - for bone in node.data.bones: - - bone_name=self.skeleton_info[node]["bone_ids"][bone] - - if (not (bone_name in xform_cache)): - #print("has bone: "+bone_name) - xform_cache[bone_name]=[] - - posebone = node.pose.bones[bone.name] - parent_posebone=None - - mtx = posebone.matrix.copy() - if (bone.parent): - parent_posebone=node.pose.bones[bone.parent.name] - parent_invisible=False - - for i in range(3): - if (parent_posebone.scale[i]==0.0): - parent_invisible=True - - if (not parent_invisible): - mtx = parent_posebone.matrix.inverted() * mtx - - - xform_cache[bone_name].append( (key,mtx) ) - - self.scene.frame_set(frame_orig) - - #export animation xml - for nid in xform_cache: - tcn+=self.export_animation_transform_channel(nid,xform_cache[nid],True) - for nid in blend_cache: - tcn+=self.export_animation_transform_channel(nid,blend_cache[nid],False) - - return tcn - - def export_animations(self): - tmp_mat = [] - for s in self.skeletons: - tmp_bone_mat = [] - for bone in s.pose.bones: - tmp_bone_mat.append(Matrix(bone.matrix_basis)) - bone.matrix_basis = Matrix() - tmp_mat.append([Matrix(s.matrix_local),tmp_bone_mat]) - - self.writel(S_ANIM,0,'<library_animations>') - - - if (self.config["use_anim_action_all"] and len(self.skeletons)): - - cached_actions = {} - - for s in self.skeletons: - if s.animation_data and s.animation_data.action: - cached_actions[s] = s.animation_data.action.name - - - self.writel(S_ANIM_CLIPS,0,'<library_animation_clips>') - - for x in bpy.data.actions[:]: - if x.users==0 or x in self.action_constraints: - continue - if (self.config["use_anim_skip_noexp"] and x.name.endswith("-noexp")): - continue - - bones=[] - #find bones used - for p in x.fcurves: - dp = str(p.data_path) - base = "pose.bones[\"" - if (dp.find(base)==0): - dp=dp[len(base):] - if (dp.find('"')!=-1): - dp=dp[:dp.find('"')] - if (not dp in bones): - bones.append(dp) - - allowed_skeletons=[] - for i,y in enumerate(self.skeletons): - if (y.animation_data): - for z in y.pose.bones: - if (z.bone.name in bones): - if (not y in allowed_skeletons): - allowed_skeletons.append(y) - y.animation_data.action=x; - - y.matrix_local = tmp_mat[i][0] - for j,bone in enumerate(s.pose.bones): - bone.matrix_basis = Matrix() - - - #print("allowed skeletons "+str(allowed_skeletons)) - - #print(str(x)) - - tcn = self.export_animation(int(x.frame_range[0]),int(x.frame_range[1]+0.5),allowed_skeletons) - framelen=(1.0/self.scene.render.fps) - start = x.frame_range[0]*framelen - end = x.frame_range[1]*framelen - #print("Export anim: "+x.name) - self.writel(S_ANIM_CLIPS,1,'<animation_clip name="'+x.name+'" start="'+str(start)+'" end="'+str(end)+'">') - for z in tcn: - self.writel(S_ANIM_CLIPS,2,'<instance_animation url="#'+z+'"/>') - self.writel(S_ANIM_CLIPS,1,'</animation_clip>') - if (len(tcn)==0): - self.operator.report({'WARNING'},'Animation clip "'+x.name+'" contains no tracks.') - - - - self.writel(S_ANIM_CLIPS,0,'</library_animation_clips>') - - - for i,s in enumerate(self.skeletons): - if (s.animation_data==None): - continue - if s in cached_actions: - s.animation_data.action = bpy.data.actions[cached_actions[s]] - else: - s.animation_data.action = None - for j,bone in enumerate(s.pose.bones): - bone.matrix_basis = tmp_mat[i][1][j] - - else: - self.export_animation(self.scene.frame_start,self.scene.frame_end) - - - - self.writel(S_ANIM,0,'</library_animations>') - - def export(self): - - self.writel(S_GEOM,0,'<library_geometries>') - self.writel(S_CONT,0,'<library_controllers>') - self.writel(S_CAMS,0,'<library_cameras>') - self.writel(S_LAMPS,0,'<library_lights>') - self.writel(S_IMGS,0,'<library_images>') - self.writel(S_MATS,0,'<library_materials>') - self.writel(S_FX,0,'<library_effects>') - - - self.skeletons=[] - self.action_constraints=[] - self.export_asset() - self.export_scene() - - self.writel(S_GEOM,0,'</library_geometries>') - - #morphs always go before skin controllers - if S_MORPH in self.sections: - for l in self.sections[S_MORPH]: - self.writel(S_CONT,0,l) - del self.sections[S_MORPH] - - #morphs always go before skin controllers - if S_SKIN in self.sections: - for l in self.sections[S_SKIN]: - self.writel(S_CONT,0,l) - del self.sections[S_SKIN] - - self.writel(S_CONT,0,'</library_controllers>') - self.writel(S_CAMS,0,'</library_cameras>') - self.writel(S_LAMPS,0,'</library_lights>') - self.writel(S_IMGS,0,'</library_images>') - self.writel(S_MATS,0,'</library_materials>') - self.writel(S_FX,0,'</library_effects>') - - if (self.config["use_anim"]): - self.export_animations() - - try: - f = open(self.path,"wb") - except: - return False - - f.write(bytes('<?xml version="1.0" encoding="utf-8"?>\n',"UTF-8")) - f.write(bytes('<COLLADA xmlns="http://www.collada.org/2005/11/COLLADASchema" version="1.4.1">\n',"UTF-8")) - - - s=[] - for x in self.sections.keys(): - s.append(x) - s.sort() - for x in s: - for l in self.sections[x]: - f.write(bytes(l+"\n","UTF-8")) - - f.write(bytes('<scene>\n',"UTF-8")) - f.write(bytes('\t<instance_visual_scene url="#'+self.scene_name+'" />\n',"UTF-8")) - f.write(bytes('</scene>\n',"UTF-8")) - f.write(bytes('</COLLADA>\n',"UTF-8")) - return True - - def __init__(self,path,kwargs,operator): - self.operator=operator - self.scene=bpy.context.scene - self.last_id=0 - self.scene_name=self.new_id("scene") - self.sections={} - self.path=path - self.mesh_cache={} - self.curve_cache={} - self.material_cache={} - self.image_cache={} - self.skeleton_info={} - self.config=kwargs - self.valid_nodes=[] - self.armature_for_morph={} - self.used_bones=[] - self.wrongvtx_report=False - - - - - - - -def save(operator, context, - filepath="", - use_selection=False, - **kwargs - ): - - exp = DaeExporter(filepath,kwargs,operator) - exp.export() - - - - return {'FINISHED'} # so the script wont run after we have batch exported. - - diff --git a/tools/translations/ar.po b/tools/translations/ar.po index a6c34268b1..8a43e72eba 100644 --- a/tools/translations/ar.po +++ b/tools/translations/ar.po @@ -282,9 +282,10 @@ msgstr "" msgid "Create Folder" msgstr "" -#: scene/gui/file_dialog.cpp tools/editor/editor_file_dialog.cpp +#: scene/gui/file_dialog.cpp tools/editor/editor_autoload_settings.cpp +#: tools/editor/editor_file_dialog.cpp #: tools/editor/io_plugins/editor_font_import_plugin.cpp -#: tools/editor/project_settings.cpp tools/editor/script_create_dialog.cpp +#: tools/editor/script_create_dialog.cpp msgid "Path:" msgstr "" @@ -477,19 +478,19 @@ msgid "Anim Add Track" msgstr "" #: tools/editor/animation_editor.cpp -msgid "Move Anim Track Up" +msgid "Anim Duplicate Keys" msgstr "" #: tools/editor/animation_editor.cpp -msgid "Move Anim Track Down" +msgid "Move Anim Track Up" msgstr "" #: tools/editor/animation_editor.cpp -msgid "Remove Anim Track" +msgid "Move Anim Track Down" msgstr "" #: tools/editor/animation_editor.cpp -msgid "Anim Duplicate Keys" +msgid "Remove Anim Track" msgstr "" #: tools/editor/animation_editor.cpp @@ -521,6 +522,19 @@ msgid "Anim Delete Keys" msgstr "" #: tools/editor/animation_editor.cpp +#: tools/editor/plugins/tile_map_editor_plugin.cpp +msgid "Duplicate Selection" +msgstr "" + +#: tools/editor/animation_editor.cpp +msgid "Duplicate Transposed" +msgstr "" + +#: tools/editor/animation_editor.cpp +msgid "Remove Selection" +msgstr "" + +#: tools/editor/animation_editor.cpp msgid "Continuous" msgstr "" @@ -549,15 +563,6 @@ msgid "Scale From Cursor" msgstr "" #: tools/editor/animation_editor.cpp -#: tools/editor/plugins/tile_map_editor_plugin.cpp -msgid "Duplicate Selection" -msgstr "" - -#: tools/editor/animation_editor.cpp -msgid "Duplicate Transposed" -msgstr "" - -#: tools/editor/animation_editor.cpp msgid "Goto Next Step" msgstr "" @@ -828,7 +833,6 @@ msgid "Call" msgstr "" #: tools/editor/call_dialog.cpp tools/editor/connections_dialog.cpp -#: tools/editor/import_settings.cpp #: tools/editor/plugins/animation_player_editor_plugin.cpp #: tools/editor/plugins/canvas_item_editor_plugin.cpp #: tools/editor/plugins/resource_preloader_editor_plugin.cpp @@ -947,7 +951,8 @@ msgstr "" msgid "Connect To Node:" msgstr "" -#: tools/editor/connections_dialog.cpp tools/editor/groups_editor.cpp +#: tools/editor/connections_dialog.cpp +#: tools/editor/editor_autoload_settings.cpp tools/editor/groups_editor.cpp #: tools/editor/plugins/item_list_editor_plugin.cpp #: tools/editor/plugins/theme_editor_plugin.cpp #: tools/editor/project_settings.cpp @@ -1051,8 +1056,8 @@ msgstr "" msgid "Resource" msgstr "" -#: tools/editor/dependency_editor.cpp tools/editor/project_manager.cpp -#: tools/editor/project_settings.cpp +#: tools/editor/dependency_editor.cpp tools/editor/editor_autoload_settings.cpp +#: tools/editor/project_manager.cpp tools/editor/project_settings.cpp msgid "Path" msgstr "" @@ -1137,6 +1142,89 @@ msgstr "" msgid "Delete" msgstr "" +#: tools/editor/editor_autoload_settings.cpp +msgid "Invalid name." +msgstr "" + +#: tools/editor/editor_autoload_settings.cpp +msgid "Valid characters:" +msgstr "" + +#: tools/editor/editor_autoload_settings.cpp +msgid "Invalid name. Must not collide with an existing engine class name." +msgstr "" + +#: tools/editor/editor_autoload_settings.cpp +msgid "Invalid name. Must not collide with an existing buit-in type name." +msgstr "" + +#: tools/editor/editor_autoload_settings.cpp +msgid "Invalid name. Must not collide with an existing global constant name." +msgstr "" + +#: tools/editor/editor_autoload_settings.cpp +msgid "Invalid Path." +msgstr "" + +#: tools/editor/editor_autoload_settings.cpp +msgid "File does not exist." +msgstr "" + +#: tools/editor/editor_autoload_settings.cpp +msgid "Not in resource path." +msgstr "" + +#: tools/editor/editor_autoload_settings.cpp +msgid "Add AutoLoad" +msgstr "" + +#: tools/editor/editor_autoload_settings.cpp +msgid "Autoload '%s' already exists!" +msgstr "" + +#: tools/editor/editor_autoload_settings.cpp +msgid "Rename Autoload" +msgstr "" + +#: tools/editor/editor_autoload_settings.cpp +msgid "Toggle AutoLoad Globals" +msgstr "" + +#: tools/editor/editor_autoload_settings.cpp +msgid "Move Autoload" +msgstr "" + +#: tools/editor/editor_autoload_settings.cpp +msgid "Remove Autoload" +msgstr "" + +#: tools/editor/editor_autoload_settings.cpp +msgid "Enable" +msgstr "" + +#: tools/editor/editor_autoload_settings.cpp +msgid "Rearrange Autoloads" +msgstr "" + +#: tools/editor/editor_autoload_settings.cpp +msgid "Node Name:" +msgstr "" + +#: tools/editor/editor_autoload_settings.cpp +#: tools/editor/io_plugins/editor_scene_import_plugin.cpp +#: tools/editor/plugins/sample_library_editor_plugin.cpp +#: tools/editor/project_manager.cpp +msgid "Name" +msgstr "" + +#: tools/editor/editor_autoload_settings.cpp +msgid "Singleton" +msgstr "" + +#: tools/editor/editor_autoload_settings.cpp +msgid "List:" +msgstr "" + #: tools/editor/editor_data.cpp msgid "Updating Scene" msgstr "" @@ -1190,11 +1278,11 @@ msgid "Focus Path" msgstr "" #: tools/editor/editor_file_dialog.cpp -msgid "Mode Favorite Up" +msgid "Move Favorite Up" msgstr "" #: tools/editor/editor_file_dialog.cpp -msgid "Mode Favorite Down" +msgid "Move Favorite Down" msgstr "" #: tools/editor/editor_file_dialog.cpp tools/editor/scenes_dock.cpp @@ -1217,14 +1305,18 @@ msgstr "" msgid "ScanSources" msgstr "" -#: tools/editor/editor_help.cpp -msgid "Search Classes" +#: tools/editor/editor_help.cpp tools/editor/plugins/script_editor_plugin.cpp +msgid "Search Help" msgstr "" #: tools/editor/editor_help.cpp msgid "Class List:" msgstr "" +#: tools/editor/editor_help.cpp +msgid "Search Classes" +msgstr "" + #: tools/editor/editor_help.cpp tools/editor/property_editor.cpp msgid "Class:" msgstr "" @@ -1322,10 +1414,6 @@ msgstr "" msgid "Node From Scene" msgstr "" -#: tools/editor/editor_node.cpp tools/editor/scenes_dock.cpp -msgid "Re-Import.." -msgstr "" - #: tools/editor/editor_node.cpp #: tools/editor/plugins/animation_player_editor_plugin.cpp #: tools/editor/resources_dock.cpp @@ -1560,7 +1648,7 @@ msgid "" msgstr "" #: tools/editor/editor_node.cpp -msgid "Pick a Manu Scene" +msgid "Pick a Main Scene" msgstr "" #: tools/editor/editor_node.cpp tools/editor/scene_tree_dock.cpp @@ -1651,6 +1739,10 @@ msgid "Save Scene" msgstr "" #: tools/editor/editor_node.cpp +msgid "Save all Scenes" +msgstr "" + +#: tools/editor/editor_node.cpp msgid "Close Scene" msgstr "" @@ -1774,6 +1866,10 @@ msgid "Play custom scene" msgstr "" #: tools/editor/editor_node.cpp +msgid "Play Custom Scene" +msgstr "" + +#: tools/editor/editor_node.cpp msgid "Debug options" msgstr "" @@ -1926,7 +2022,6 @@ msgid "Output" msgstr "" #: tools/editor/editor_node.cpp tools/editor/editor_reimport_dialog.cpp -#: tools/editor/import_settings.cpp msgid "Re-Import" msgstr "" @@ -2098,10 +2193,6 @@ msgstr "" msgid "Remove from Group" msgstr "" -#: tools/editor/import_settings.cpp -msgid "Imported Resources" -msgstr "" - #: tools/editor/io_plugins/editor_bitmask_import_plugin.cpp msgid "No bit masks to import!" msgstr "" @@ -2310,12 +2401,6 @@ msgid "Clips" msgstr "" #: tools/editor/io_plugins/editor_scene_import_plugin.cpp -#: tools/editor/plugins/sample_library_editor_plugin.cpp -#: tools/editor/project_manager.cpp tools/editor/project_settings.cpp -msgid "Name" -msgstr "" - -#: tools/editor/io_plugins/editor_scene_import_plugin.cpp msgid "Start(s)" msgstr "" @@ -3275,7 +3360,7 @@ msgid "Anchor" msgstr "" #: tools/editor/plugins/canvas_item_editor_plugin.cpp -msgid "Insert Keys (Ins)" +msgid "Insert Keys" msgstr "" #: tools/editor/plugins/canvas_item_editor_plugin.cpp @@ -3814,6 +3899,7 @@ msgid "Clear UV" msgstr "" #: tools/editor/plugins/polygon_2d_editor_plugin.cpp +#: tools/editor/plugins/spatial_editor_plugin.cpp msgid "Snap" msgstr "" @@ -3929,6 +4015,14 @@ msgid "Save Theme As.." msgstr "" #: tools/editor/plugins/script_editor_plugin.cpp +msgid "Next script" +msgstr "" + +#: tools/editor/plugins/script_editor_plugin.cpp +msgid "Previous script" +msgstr "" + +#: tools/editor/plugins/script_editor_plugin.cpp #: tools/editor/project_export.cpp msgid "File" msgstr "" @@ -4114,10 +4208,6 @@ msgid "Search the class hierarchy." msgstr "" #: tools/editor/plugins/script_editor_plugin.cpp -msgid "Search Help" -msgstr "" - -#: tools/editor/plugins/script_editor_plugin.cpp msgid "Search the reference documentation." msgstr "" @@ -4152,6 +4242,11 @@ msgstr "" msgid "Debugger" msgstr "" +#: tools/editor/plugins/script_editor_plugin.cpp +msgid "" +"Built-in scripts can only be edited when the scene they belong to is loaded" +msgstr "" + #: tools/editor/plugins/shader_editor_plugin.cpp msgid "Vertex" msgstr "" @@ -4385,75 +4480,75 @@ msgid "Align with view" msgstr "" #: tools/editor/plugins/spatial_editor_plugin.cpp -msgid "Top (Num7)" +msgid "Environment" msgstr "" #: tools/editor/plugins/spatial_editor_plugin.cpp -msgid "Bottom (Shift+Num7)" +msgid "Audio Listener" msgstr "" #: tools/editor/plugins/spatial_editor_plugin.cpp -msgid "Left (Num3)" +msgid "Gizmos" msgstr "" #: tools/editor/plugins/spatial_editor_plugin.cpp -msgid "Right (Shift+Num3)" +msgid "XForm Dialog" msgstr "" #: tools/editor/plugins/spatial_editor_plugin.cpp -msgid "Front (Num1)" +msgid "No scene selected to instance!" msgstr "" #: tools/editor/plugins/spatial_editor_plugin.cpp -msgid "Rear (Shift+Num1)" +msgid "Instance at Cursor" msgstr "" #: tools/editor/plugins/spatial_editor_plugin.cpp -msgid "Perspective (Num5)" +msgid "Could not instance scene!" msgstr "" #: tools/editor/plugins/spatial_editor_plugin.cpp -msgid "Orthogonal (Num5)" +msgid "Scale Mode (R)" msgstr "" #: tools/editor/plugins/spatial_editor_plugin.cpp -msgid "Environment" +msgid "Bottom View" msgstr "" #: tools/editor/plugins/spatial_editor_plugin.cpp -msgid "Audio Listener" +msgid "Top View" msgstr "" #: tools/editor/plugins/spatial_editor_plugin.cpp -msgid "Gizmos" +msgid "Rear View" msgstr "" #: tools/editor/plugins/spatial_editor_plugin.cpp -msgid "Selection (F)" +msgid "Front View" msgstr "" #: tools/editor/plugins/spatial_editor_plugin.cpp -msgid "Align with view (Ctrl+Shift+F)" +msgid "Left View" msgstr "" #: tools/editor/plugins/spatial_editor_plugin.cpp -msgid "XForm Dialog" +msgid "Right View" msgstr "" #: tools/editor/plugins/spatial_editor_plugin.cpp -msgid "No scene selected to instance!" +msgid "Switch Perspective/Orthogonal view" msgstr "" #: tools/editor/plugins/spatial_editor_plugin.cpp -msgid "Instance at Cursor" +msgid "Insert Animation Key" msgstr "" #: tools/editor/plugins/spatial_editor_plugin.cpp -msgid "Could not instance scene!" +msgid "Focus Selection" msgstr "" #: tools/editor/plugins/spatial_editor_plugin.cpp -msgid "Scale Mode (R)" +msgid "Align Selection With View" msgstr "" #: tools/editor/plugins/spatial_editor_plugin.cpp @@ -5175,6 +5270,14 @@ msgid "Couldn't create engine.cfg in project path." msgstr "" #: tools/editor/project_manager.cpp +msgid "The following files failed extraction from package:" +msgstr "" + +#: tools/editor/project_manager.cpp +msgid "Package Installed Successfully!" +msgstr "" + +#: tools/editor/project_manager.cpp msgid "Import Existing Project" msgstr "" @@ -5195,6 +5298,14 @@ msgid "Project Path:" msgstr "" #: tools/editor/project_manager.cpp +msgid "Install Project:" +msgstr "" + +#: tools/editor/project_manager.cpp +msgid "Install" +msgstr "" + +#: tools/editor/project_manager.cpp msgid "Browse" msgstr "" @@ -5359,50 +5470,6 @@ msgid "Add Translation" msgstr "" #: tools/editor/project_settings.cpp -msgid "Invalid name." -msgstr "" - -#: tools/editor/project_settings.cpp -msgid "Valid characters:" -msgstr "" - -#: tools/editor/project_settings.cpp -msgid "Invalid name. Must not collide with an existing engine class name." -msgstr "" - -#: tools/editor/project_settings.cpp -msgid "Invalid name. Must not collide with an existing buit-in type name." -msgstr "" - -#: tools/editor/project_settings.cpp -msgid "Invalid name. Must not collide with an existing global constant name." -msgstr "" - -#: tools/editor/project_settings.cpp -msgid "Autoload '%s' already exists!" -msgstr "" - -#: tools/editor/project_settings.cpp -msgid "Rename Autoload" -msgstr "" - -#: tools/editor/project_settings.cpp -msgid "Toggle AutoLoad Globals" -msgstr "" - -#: tools/editor/project_settings.cpp -msgid "Add Autoload" -msgstr "" - -#: tools/editor/project_settings.cpp -msgid "Remove Autoload" -msgstr "" - -#: tools/editor/project_settings.cpp -msgid "Move Autoload" -msgstr "" - -#: tools/editor/project_settings.cpp msgid "Remove Translation" msgstr "" @@ -5427,10 +5494,6 @@ msgid "Remove Resource Remap Option" msgstr "" #: tools/editor/project_settings.cpp -msgid "Enable" -msgstr "" - -#: tools/editor/project_settings.cpp msgid "Project Settings (engine.cfg)" msgstr "" @@ -5503,18 +5566,6 @@ msgid "AutoLoad" msgstr "" #: tools/editor/project_settings.cpp -msgid "Node Name:" -msgstr "" - -#: tools/editor/project_settings.cpp -msgid "List:" -msgstr "" - -#: tools/editor/project_settings.cpp -msgid "Singleton" -msgstr "" - -#: tools/editor/project_settings.cpp msgid "Plugins" msgstr "" @@ -5919,6 +5970,10 @@ msgid "Show In File Manager" msgstr "" #: tools/editor/scenes_dock.cpp +msgid "Re-Import.." +msgstr "" + +#: tools/editor/scenes_dock.cpp msgid "Previous Directory" msgstr "" diff --git a/tools/translations/bg.po b/tools/translations/bg.po index 247585d5a3..5b3c4db057 100644 --- a/tools/translations/bg.po +++ b/tools/translations/bg.po @@ -316,9 +316,10 @@ msgstr "" msgid "Create Folder" msgstr "" -#: scene/gui/file_dialog.cpp tools/editor/editor_file_dialog.cpp +#: scene/gui/file_dialog.cpp tools/editor/editor_autoload_settings.cpp +#: tools/editor/editor_file_dialog.cpp #: tools/editor/io_plugins/editor_font_import_plugin.cpp -#: tools/editor/project_settings.cpp tools/editor/script_create_dialog.cpp +#: tools/editor/script_create_dialog.cpp msgid "Path:" msgstr "" @@ -511,19 +512,19 @@ msgid "Anim Add Track" msgstr "" #: tools/editor/animation_editor.cpp -msgid "Move Anim Track Up" +msgid "Anim Duplicate Keys" msgstr "" #: tools/editor/animation_editor.cpp -msgid "Move Anim Track Down" +msgid "Move Anim Track Up" msgstr "" #: tools/editor/animation_editor.cpp -msgid "Remove Anim Track" +msgid "Move Anim Track Down" msgstr "" #: tools/editor/animation_editor.cpp -msgid "Anim Duplicate Keys" +msgid "Remove Anim Track" msgstr "" #: tools/editor/animation_editor.cpp @@ -555,6 +556,19 @@ msgid "Anim Delete Keys" msgstr "" #: tools/editor/animation_editor.cpp +#: tools/editor/plugins/tile_map_editor_plugin.cpp +msgid "Duplicate Selection" +msgstr "" + +#: tools/editor/animation_editor.cpp +msgid "Duplicate Transposed" +msgstr "" + +#: tools/editor/animation_editor.cpp +msgid "Remove Selection" +msgstr "" + +#: tools/editor/animation_editor.cpp msgid "Continuous" msgstr "" @@ -583,15 +597,6 @@ msgid "Scale From Cursor" msgstr "" #: tools/editor/animation_editor.cpp -#: tools/editor/plugins/tile_map_editor_plugin.cpp -msgid "Duplicate Selection" -msgstr "" - -#: tools/editor/animation_editor.cpp -msgid "Duplicate Transposed" -msgstr "" - -#: tools/editor/animation_editor.cpp msgid "Goto Next Step" msgstr "" @@ -862,7 +867,6 @@ msgid "Call" msgstr "" #: tools/editor/call_dialog.cpp tools/editor/connections_dialog.cpp -#: tools/editor/import_settings.cpp #: tools/editor/plugins/animation_player_editor_plugin.cpp #: tools/editor/plugins/canvas_item_editor_plugin.cpp #: tools/editor/plugins/resource_preloader_editor_plugin.cpp @@ -981,7 +985,8 @@ msgstr "" msgid "Connect To Node:" msgstr "" -#: tools/editor/connections_dialog.cpp tools/editor/groups_editor.cpp +#: tools/editor/connections_dialog.cpp +#: tools/editor/editor_autoload_settings.cpp tools/editor/groups_editor.cpp #: tools/editor/plugins/item_list_editor_plugin.cpp #: tools/editor/plugins/theme_editor_plugin.cpp #: tools/editor/project_settings.cpp @@ -1085,8 +1090,8 @@ msgstr "" msgid "Resource" msgstr "" -#: tools/editor/dependency_editor.cpp tools/editor/project_manager.cpp -#: tools/editor/project_settings.cpp +#: tools/editor/dependency_editor.cpp tools/editor/editor_autoload_settings.cpp +#: tools/editor/project_manager.cpp tools/editor/project_settings.cpp msgid "Path" msgstr "" @@ -1171,6 +1176,90 @@ msgstr "" msgid "Delete" msgstr "" +#: tools/editor/editor_autoload_settings.cpp +msgid "Invalid name." +msgstr "" + +#: tools/editor/editor_autoload_settings.cpp +msgid "Valid characters:" +msgstr "" + +#: tools/editor/editor_autoload_settings.cpp +msgid "Invalid name. Must not collide with an existing engine class name." +msgstr "" + +#: tools/editor/editor_autoload_settings.cpp +msgid "Invalid name. Must not collide with an existing buit-in type name." +msgstr "" + +#: tools/editor/editor_autoload_settings.cpp +msgid "Invalid name. Must not collide with an existing global constant name." +msgstr "" + +#: tools/editor/editor_autoload_settings.cpp +msgid "Invalid Path." +msgstr "" + +#: tools/editor/editor_autoload_settings.cpp +msgid "File does not exist." +msgstr "" + +#: tools/editor/editor_autoload_settings.cpp +#, fuzzy +msgid "Not in resource path." +msgstr "Обектът не е базиран на ресурсен файл" + +#: tools/editor/editor_autoload_settings.cpp +msgid "Add AutoLoad" +msgstr "" + +#: tools/editor/editor_autoload_settings.cpp +msgid "Autoload '%s' already exists!" +msgstr "" + +#: tools/editor/editor_autoload_settings.cpp +msgid "Rename Autoload" +msgstr "" + +#: tools/editor/editor_autoload_settings.cpp +msgid "Toggle AutoLoad Globals" +msgstr "" + +#: tools/editor/editor_autoload_settings.cpp +msgid "Move Autoload" +msgstr "" + +#: tools/editor/editor_autoload_settings.cpp +msgid "Remove Autoload" +msgstr "" + +#: tools/editor/editor_autoload_settings.cpp +msgid "Enable" +msgstr "" + +#: tools/editor/editor_autoload_settings.cpp +msgid "Rearrange Autoloads" +msgstr "" + +#: tools/editor/editor_autoload_settings.cpp +msgid "Node Name:" +msgstr "" + +#: tools/editor/editor_autoload_settings.cpp +#: tools/editor/io_plugins/editor_scene_import_plugin.cpp +#: tools/editor/plugins/sample_library_editor_plugin.cpp +#: tools/editor/project_manager.cpp +msgid "Name" +msgstr "" + +#: tools/editor/editor_autoload_settings.cpp +msgid "Singleton" +msgstr "" + +#: tools/editor/editor_autoload_settings.cpp +msgid "List:" +msgstr "" + #: tools/editor/editor_data.cpp msgid "Updating Scene" msgstr "" @@ -1224,11 +1313,11 @@ msgid "Focus Path" msgstr "" #: tools/editor/editor_file_dialog.cpp -msgid "Mode Favorite Up" +msgid "Move Favorite Up" msgstr "" #: tools/editor/editor_file_dialog.cpp -msgid "Mode Favorite Down" +msgid "Move Favorite Down" msgstr "" #: tools/editor/editor_file_dialog.cpp tools/editor/scenes_dock.cpp @@ -1251,14 +1340,18 @@ msgstr "" msgid "ScanSources" msgstr "" -#: tools/editor/editor_help.cpp -msgid "Search Classes" +#: tools/editor/editor_help.cpp tools/editor/plugins/script_editor_plugin.cpp +msgid "Search Help" msgstr "" #: tools/editor/editor_help.cpp msgid "Class List:" msgstr "" +#: tools/editor/editor_help.cpp +msgid "Search Classes" +msgstr "" + #: tools/editor/editor_help.cpp tools/editor/property_editor.cpp msgid "Class:" msgstr "" @@ -1356,10 +1449,6 @@ msgstr "" msgid "Node From Scene" msgstr "" -#: tools/editor/editor_node.cpp tools/editor/scenes_dock.cpp -msgid "Re-Import.." -msgstr "" - #: tools/editor/editor_node.cpp #: tools/editor/plugins/animation_player_editor_plugin.cpp #: tools/editor/resources_dock.cpp @@ -1594,7 +1683,7 @@ msgid "" msgstr "" #: tools/editor/editor_node.cpp -msgid "Pick a Manu Scene" +msgid "Pick a Main Scene" msgstr "" #: tools/editor/editor_node.cpp tools/editor/scene_tree_dock.cpp @@ -1685,6 +1774,10 @@ msgid "Save Scene" msgstr "" #: tools/editor/editor_node.cpp +msgid "Save all Scenes" +msgstr "" + +#: tools/editor/editor_node.cpp msgid "Close Scene" msgstr "" @@ -1808,6 +1901,10 @@ msgid "Play custom scene" msgstr "" #: tools/editor/editor_node.cpp +msgid "Play Custom Scene" +msgstr "" + +#: tools/editor/editor_node.cpp msgid "Debug options" msgstr "" @@ -1960,7 +2057,6 @@ msgid "Output" msgstr "" #: tools/editor/editor_node.cpp tools/editor/editor_reimport_dialog.cpp -#: tools/editor/import_settings.cpp msgid "Re-Import" msgstr "" @@ -2132,10 +2228,6 @@ msgstr "" msgid "Remove from Group" msgstr "" -#: tools/editor/import_settings.cpp -msgid "Imported Resources" -msgstr "" - #: tools/editor/io_plugins/editor_bitmask_import_plugin.cpp msgid "No bit masks to import!" msgstr "" @@ -2344,12 +2436,6 @@ msgid "Clips" msgstr "" #: tools/editor/io_plugins/editor_scene_import_plugin.cpp -#: tools/editor/plugins/sample_library_editor_plugin.cpp -#: tools/editor/project_manager.cpp tools/editor/project_settings.cpp -msgid "Name" -msgstr "" - -#: tools/editor/io_plugins/editor_scene_import_plugin.cpp msgid "Start(s)" msgstr "" @@ -3309,7 +3395,7 @@ msgid "Anchor" msgstr "" #: tools/editor/plugins/canvas_item_editor_plugin.cpp -msgid "Insert Keys (Ins)" +msgid "Insert Keys" msgstr "" #: tools/editor/plugins/canvas_item_editor_plugin.cpp @@ -3848,6 +3934,7 @@ msgid "Clear UV" msgstr "" #: tools/editor/plugins/polygon_2d_editor_plugin.cpp +#: tools/editor/plugins/spatial_editor_plugin.cpp msgid "Snap" msgstr "" @@ -3963,6 +4050,14 @@ msgid "Save Theme As.." msgstr "" #: tools/editor/plugins/script_editor_plugin.cpp +msgid "Next script" +msgstr "" + +#: tools/editor/plugins/script_editor_plugin.cpp +msgid "Previous script" +msgstr "" + +#: tools/editor/plugins/script_editor_plugin.cpp #: tools/editor/project_export.cpp msgid "File" msgstr "" @@ -4148,10 +4243,6 @@ msgid "Search the class hierarchy." msgstr "" #: tools/editor/plugins/script_editor_plugin.cpp -msgid "Search Help" -msgstr "" - -#: tools/editor/plugins/script_editor_plugin.cpp msgid "Search the reference documentation." msgstr "" @@ -4186,6 +4277,11 @@ msgstr "" msgid "Debugger" msgstr "" +#: tools/editor/plugins/script_editor_plugin.cpp +msgid "" +"Built-in scripts can only be edited when the scene they belong to is loaded" +msgstr "" + #: tools/editor/plugins/shader_editor_plugin.cpp msgid "Vertex" msgstr "" @@ -4419,75 +4515,75 @@ msgid "Align with view" msgstr "" #: tools/editor/plugins/spatial_editor_plugin.cpp -msgid "Top (Num7)" +msgid "Environment" msgstr "" #: tools/editor/plugins/spatial_editor_plugin.cpp -msgid "Bottom (Shift+Num7)" +msgid "Audio Listener" msgstr "" #: tools/editor/plugins/spatial_editor_plugin.cpp -msgid "Left (Num3)" +msgid "Gizmos" msgstr "" #: tools/editor/plugins/spatial_editor_plugin.cpp -msgid "Right (Shift+Num3)" +msgid "XForm Dialog" msgstr "" #: tools/editor/plugins/spatial_editor_plugin.cpp -msgid "Front (Num1)" +msgid "No scene selected to instance!" msgstr "" #: tools/editor/plugins/spatial_editor_plugin.cpp -msgid "Rear (Shift+Num1)" +msgid "Instance at Cursor" msgstr "" #: tools/editor/plugins/spatial_editor_plugin.cpp -msgid "Perspective (Num5)" +msgid "Could not instance scene!" msgstr "" #: tools/editor/plugins/spatial_editor_plugin.cpp -msgid "Orthogonal (Num5)" +msgid "Scale Mode (R)" msgstr "" #: tools/editor/plugins/spatial_editor_plugin.cpp -msgid "Environment" +msgid "Bottom View" msgstr "" #: tools/editor/plugins/spatial_editor_plugin.cpp -msgid "Audio Listener" +msgid "Top View" msgstr "" #: tools/editor/plugins/spatial_editor_plugin.cpp -msgid "Gizmos" +msgid "Rear View" msgstr "" #: tools/editor/plugins/spatial_editor_plugin.cpp -msgid "Selection (F)" +msgid "Front View" msgstr "" #: tools/editor/plugins/spatial_editor_plugin.cpp -msgid "Align with view (Ctrl+Shift+F)" +msgid "Left View" msgstr "" #: tools/editor/plugins/spatial_editor_plugin.cpp -msgid "XForm Dialog" +msgid "Right View" msgstr "" #: tools/editor/plugins/spatial_editor_plugin.cpp -msgid "No scene selected to instance!" +msgid "Switch Perspective/Orthogonal view" msgstr "" #: tools/editor/plugins/spatial_editor_plugin.cpp -msgid "Instance at Cursor" +msgid "Insert Animation Key" msgstr "" #: tools/editor/plugins/spatial_editor_plugin.cpp -msgid "Could not instance scene!" +msgid "Focus Selection" msgstr "" #: tools/editor/plugins/spatial_editor_plugin.cpp -msgid "Scale Mode (R)" +msgid "Align Selection With View" msgstr "" #: tools/editor/plugins/spatial_editor_plugin.cpp @@ -5209,6 +5305,14 @@ msgid "Couldn't create engine.cfg in project path." msgstr "" #: tools/editor/project_manager.cpp +msgid "The following files failed extraction from package:" +msgstr "" + +#: tools/editor/project_manager.cpp +msgid "Package Installed Successfully!" +msgstr "" + +#: tools/editor/project_manager.cpp msgid "Import Existing Project" msgstr "" @@ -5229,6 +5333,14 @@ msgid "Project Path:" msgstr "" #: tools/editor/project_manager.cpp +msgid "Install Project:" +msgstr "" + +#: tools/editor/project_manager.cpp +msgid "Install" +msgstr "" + +#: tools/editor/project_manager.cpp msgid "Browse" msgstr "" @@ -5393,50 +5505,6 @@ msgid "Add Translation" msgstr "" #: tools/editor/project_settings.cpp -msgid "Invalid name." -msgstr "" - -#: tools/editor/project_settings.cpp -msgid "Valid characters:" -msgstr "" - -#: tools/editor/project_settings.cpp -msgid "Invalid name. Must not collide with an existing engine class name." -msgstr "" - -#: tools/editor/project_settings.cpp -msgid "Invalid name. Must not collide with an existing buit-in type name." -msgstr "" - -#: tools/editor/project_settings.cpp -msgid "Invalid name. Must not collide with an existing global constant name." -msgstr "" - -#: tools/editor/project_settings.cpp -msgid "Autoload '%s' already exists!" -msgstr "" - -#: tools/editor/project_settings.cpp -msgid "Rename Autoload" -msgstr "" - -#: tools/editor/project_settings.cpp -msgid "Toggle AutoLoad Globals" -msgstr "" - -#: tools/editor/project_settings.cpp -msgid "Add Autoload" -msgstr "" - -#: tools/editor/project_settings.cpp -msgid "Remove Autoload" -msgstr "" - -#: tools/editor/project_settings.cpp -msgid "Move Autoload" -msgstr "" - -#: tools/editor/project_settings.cpp msgid "Remove Translation" msgstr "" @@ -5461,10 +5529,6 @@ msgid "Remove Resource Remap Option" msgstr "" #: tools/editor/project_settings.cpp -msgid "Enable" -msgstr "" - -#: tools/editor/project_settings.cpp msgid "Project Settings (engine.cfg)" msgstr "" @@ -5537,18 +5601,6 @@ msgid "AutoLoad" msgstr "" #: tools/editor/project_settings.cpp -msgid "Node Name:" -msgstr "" - -#: tools/editor/project_settings.cpp -msgid "List:" -msgstr "" - -#: tools/editor/project_settings.cpp -msgid "Singleton" -msgstr "" - -#: tools/editor/project_settings.cpp msgid "Plugins" msgstr "" @@ -5953,6 +6005,10 @@ msgid "Show In File Manager" msgstr "" #: tools/editor/scenes_dock.cpp +msgid "Re-Import.." +msgstr "" + +#: tools/editor/scenes_dock.cpp msgid "Previous Directory" msgstr "" diff --git a/tools/translations/bn.po b/tools/translations/bn.po new file mode 100644 index 0000000000..5ebe5c1c9e --- /dev/null +++ b/tools/translations/bn.po @@ -0,0 +1,6231 @@ +# Bengali translation of the Godot Engine editor +# Copyright (C) 2016 Juan Linietsky, Ariel Manzur and the Godot community +# This file is distributed under the same license as the Godot source code. +# +# Abu Md. Maruf Sarker <maruf.webdev@gmail.com>, 2016. +# +msgid "" +msgstr "" +"Project-Id-Version: Godot Engine editor\n" +"PO-Revision-Date: 2016-07-10 16:42+0000\n" +"Last-Translator: Abu Md. Maruf Sarker <maruf.webdev@gmail.com>\n" +"Language-Team: Bengali <https://hosted.weblate.org/projects/godot-engine/" +"godot/bn/>\n" +"Language: bn\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8-bit\n" +"Plural-Forms: nplurals=2; plural=n != 1;\n" +"X-Generator: Weblate 2.8-dev\n" + +#: modules/gdscript/gd_functions.cpp +msgid "Invalid type argument to convert(), use TYPE_* constants." +msgstr "" + +#: modules/gdscript/gd_functions.cpp +msgid "Not enough bytes for decoding bytes, or invalid format." +msgstr "" + +#: modules/gdscript/gd_functions.cpp +msgid "step argument is zero!" +msgstr "" + +#: modules/gdscript/gd_functions.cpp +msgid "Not a script with an instance" +msgstr "" + +#: modules/gdscript/gd_functions.cpp +msgid "Not based on a script" +msgstr "" + +#: modules/gdscript/gd_functions.cpp +msgid "Not based on a resource file" +msgstr "" + +#: modules/gdscript/gd_functions.cpp +msgid "Invalid instance dictionary format (missing @path)" +msgstr "" + +#: modules/gdscript/gd_functions.cpp +msgid "Invalid instance dictionary format (can't load script at @path)" +msgstr "" + +#: modules/gdscript/gd_functions.cpp +msgid "Invalid instance dictionary format (invalid script at @path)" +msgstr "" + +#: modules/gdscript/gd_functions.cpp +msgid "Invalid instance dictionary (invalid subclasses)" +msgstr "" + +#: scene/2d/animated_sprite.cpp +msgid "" +"A SpriteFrames resource must be created or set in the 'Frames' property in " +"order for AnimatedSprite to display frames." +msgstr "" + +#: scene/2d/canvas_modulate.cpp +msgid "" +"Only one visible CanvasModulate is allowed per scene (or set of instanced " +"scenes). The first created one will work, while the rest will be ignored." +msgstr "" + +#: scene/2d/collision_polygon_2d.cpp +msgid "" +"CollisionPolygon2D only serves to provide a collision shape to a " +"CollisionObject2D derived node. Please only use it as a child of Area2D, " +"StaticBody2D, RigidBody2D, KinematicBody2D, etc. to give them a shape." +msgstr "" + +#: scene/2d/collision_polygon_2d.cpp +msgid "An empty CollisionPolygon2D has no effect on collision." +msgstr "" + +#: scene/2d/collision_shape_2d.cpp +msgid "" +"CollisionShape2D only serves to provide a collision shape to a " +"CollisionObject2D derived node. Please only use it as a child of Area2D, " +"StaticBody2D, RigidBody2D, KinematicBody2D, etc. to give them a shape." +msgstr "" + +#: scene/2d/collision_shape_2d.cpp +msgid "" +"A shape must be provided for CollisionShape2D to function. Please create a " +"shape resource for it!" +msgstr "" + +#: scene/2d/light_2d.cpp +msgid "" +"A texture with the shape of the light must be supplied to the 'texture' " +"property." +msgstr "" + +#: scene/2d/light_occluder_2d.cpp +msgid "" +"An occluder polygon must be set (or drawn) for this occluder to take effect." +msgstr "" + +#: scene/2d/light_occluder_2d.cpp +msgid "The occluder polygon for this occluder is empty. Please draw a polygon!" +msgstr "" + +#: scene/2d/navigation_polygon.cpp +msgid "" +"A NavigationPolygon resource must be set or created for this node to work. " +"Please set a property or draw a polygon." +msgstr "" + +#: scene/2d/navigation_polygon.cpp +msgid "" +"NavigationPolygonInstance must be a child or grandchild to a Navigation2D " +"node. It only provides navigation data." +msgstr "" + +#: scene/2d/parallax_layer.cpp +msgid "" +"ParallaxLayer node only works when set as child of a ParallaxBackground node." +msgstr "" + +#: scene/2d/particles_2d.cpp +msgid "Path property must point to a valid Particles2D node to work." +msgstr "" + +#: scene/2d/path_2d.cpp +msgid "PathFollow2D only works when set as a child of a Path2D node." +msgstr "" + +#: scene/2d/remote_transform_2d.cpp +msgid "Path property must point to a valid Node2D node to work." +msgstr "" + +#: scene/2d/sample_player_2d.cpp scene/audio/sample_player.cpp +msgid "" +"A SampleLibrary resource must be created or set in the 'samples' property in " +"order for SamplePlayer to play sound." +msgstr "" + +#: scene/2d/sprite.cpp +msgid "" +"Path property must point to a valid Viewport node to work. Such Viewport " +"must be set to 'render target' mode." +msgstr "" + +#: scene/2d/sprite.cpp +msgid "" +"The Viewport set in the path property must be set as 'render target' in " +"order for this sprite to work." +msgstr "" + +#: scene/2d/visibility_notifier_2d.cpp +msgid "" +"VisibilityEnable2D works best when used with the edited scene root directly " +"as parent." +msgstr "" + +#: scene/3d/body_shape.cpp +msgid "" +"CollisionShape only serves to provide a collision shape to a CollisionObject " +"derived node. Please only use it as a child of Area, StaticBody, RigidBody, " +"KinematicBody, etc. to give them a shape." +msgstr "" + +#: scene/3d/body_shape.cpp +msgid "" +"A shape must be provided for CollisionShape to function. Please create a " +"shape resource for it!" +msgstr "" + +#: scene/3d/collision_polygon.cpp +msgid "" +"CollisionPolygon only serves to provide a collision shape to a " +"CollisionObject derived node. Please only use it as a child of Area, " +"StaticBody, RigidBody, KinematicBody, etc. to give them a shape." +msgstr "" + +#: scene/3d/collision_polygon.cpp +msgid "An empty CollisionPolygon has no effect on collision." +msgstr "" + +#: scene/3d/navigation_mesh.cpp +msgid "A NavigationMesh resource must be set or created for this node to work." +msgstr "" + +#: scene/3d/navigation_mesh.cpp +msgid "" +"NavigationMeshInstance must be a child or grandchild to a Navigation node. " +"It only provides navigation data." +msgstr "" + +#: scene/3d/scenario_fx.cpp +msgid "" +"Only one WorldEnvironment is allowed per scene (or set of instanced scenes)." +msgstr "" + +#: scene/3d/spatial_sample_player.cpp +msgid "" +"A SampleLibrary resource must be created or set in the 'samples' property in " +"order for SpatialSamplePlayer to play sound." +msgstr "" + +#: scene/3d/sprite_3d.cpp +msgid "" +"A SpriteFrames resource must be created or set in the 'Frames' property in " +"order for AnimatedSprite3D to display frames." +msgstr "" + +#: scene/gui/dialogs.cpp tools/editor/io_plugins/editor_scene_import_plugin.cpp +msgid "Cancel" +msgstr "" + +#: scene/gui/dialogs.cpp +msgid "OK" +msgstr "" + +#: scene/gui/dialogs.cpp +msgid "Alert!" +msgstr "" + +#: scene/gui/dialogs.cpp +msgid "Please Confirm..." +msgstr "" + +#: scene/gui/file_dialog.cpp tools/editor/editor_file_dialog.cpp +msgid "File Exists, Overwrite?" +msgstr "" + +#: scene/gui/file_dialog.cpp tools/editor/editor_file_dialog.cpp +msgid "All Recognized" +msgstr "" + +#: scene/gui/file_dialog.cpp tools/editor/editor_file_dialog.cpp +msgid "All Files (*)" +msgstr "" + +#: scene/gui/file_dialog.cpp tools/editor/editor_file_dialog.cpp +#: tools/editor/editor_help.cpp tools/editor/editor_node.cpp +#: tools/editor/plugins/script_editor_plugin.cpp tools/editor/quick_open.cpp +#: tools/editor/scenes_dock.cpp +msgid "Open" +msgstr "" + +#: scene/gui/file_dialog.cpp +msgid "Open a File" +msgstr "" + +#: scene/gui/file_dialog.cpp +msgid "Open File(s)" +msgstr "" + +#: scene/gui/file_dialog.cpp +msgid "Open a Directory" +msgstr "" + +#: scene/gui/file_dialog.cpp +msgid "Open a File or Directory" +msgstr "" + +#: scene/gui/file_dialog.cpp tools/editor/editor_file_dialog.cpp +#: tools/editor/editor_node.cpp +#: tools/editor/plugins/animation_player_editor_plugin.cpp +#: tools/editor/plugins/script_editor_plugin.cpp +msgid "Save" +msgstr "" + +#: scene/gui/file_dialog.cpp tools/editor/editor_file_dialog.cpp +msgid "Save a File" +msgstr "" + +#: scene/gui/file_dialog.cpp tools/editor/editor_dir_dialog.cpp +#: tools/editor/editor_file_dialog.cpp +msgid "Create Folder" +msgstr "" + +#: scene/gui/file_dialog.cpp tools/editor/editor_autoload_settings.cpp +#: tools/editor/editor_file_dialog.cpp +#: tools/editor/io_plugins/editor_font_import_plugin.cpp +#: tools/editor/script_create_dialog.cpp +msgid "Path:" +msgstr "" + +#: scene/gui/file_dialog.cpp tools/editor/editor_file_dialog.cpp +msgid "Directories & Files:" +msgstr "" + +#: scene/gui/file_dialog.cpp tools/editor/editor_file_dialog.cpp +#: tools/editor/script_editor_debugger.cpp +msgid "File:" +msgstr "" + +#: scene/gui/file_dialog.cpp tools/editor/editor_file_dialog.cpp +msgid "Filter:" +msgstr "" + +#: scene/gui/file_dialog.cpp tools/editor/editor_dir_dialog.cpp +#: tools/editor/editor_file_dialog.cpp tools/editor/editor_plugin_settings.cpp +#: tools/editor/plugins/theme_editor_plugin.cpp +msgid "Name:" +msgstr "" + +#: scene/gui/file_dialog.cpp tools/editor/editor_dir_dialog.cpp +#: tools/editor/editor_file_dialog.cpp +msgid "Could not create folder." +msgstr "" + +#: scene/gui/file_dialog.cpp tools/editor/editor_file_dialog.cpp +msgid "Must use a valid extension." +msgstr "" + +#: scene/gui/input_action.cpp tools/editor/project_settings.cpp +#: tools/editor/settings_config_dialog.cpp +msgid "Shift+" +msgstr "" + +#: scene/gui/input_action.cpp tools/editor/project_settings.cpp +#: tools/editor/settings_config_dialog.cpp +msgid "Alt+" +msgstr "" + +#: scene/gui/input_action.cpp +msgid "Ctrl+" +msgstr "" + +#: scene/gui/input_action.cpp tools/editor/project_settings.cpp +#: tools/editor/settings_config_dialog.cpp +msgid "Meta+" +msgstr "" + +#: scene/gui/input_action.cpp tools/editor/project_settings.cpp +msgid "Device" +msgstr "" + +#: scene/gui/input_action.cpp tools/editor/project_settings.cpp +msgid "Button" +msgstr "" + +#: scene/gui/input_action.cpp tools/editor/project_settings.cpp +msgid "Left Button." +msgstr "" + +#: scene/gui/input_action.cpp tools/editor/project_settings.cpp +msgid "Right Button." +msgstr "" + +#: scene/gui/input_action.cpp tools/editor/project_settings.cpp +msgid "Middle Button." +msgstr "" + +#: scene/gui/input_action.cpp tools/editor/project_settings.cpp +msgid "Wheel Up." +msgstr "" + +#: scene/gui/input_action.cpp tools/editor/project_settings.cpp +msgid "Wheel Down." +msgstr "" + +#: scene/gui/input_action.cpp tools/editor/project_settings.cpp +msgid "Axis" +msgstr "" + +#: scene/gui/line_edit.cpp scene/gui/text_edit.cpp +#: tools/editor/plugins/script_editor_plugin.cpp +#: tools/editor/plugins/shader_editor_plugin.cpp +msgid "Cut" +msgstr "" + +#: scene/gui/line_edit.cpp scene/gui/text_edit.cpp +#: tools/editor/plugins/script_editor_plugin.cpp +#: tools/editor/plugins/shader_editor_plugin.cpp +#: tools/editor/property_editor.cpp tools/editor/resources_dock.cpp +msgid "Copy" +msgstr "" + +#: scene/gui/line_edit.cpp scene/gui/text_edit.cpp +#: tools/editor/plugins/resource_preloader_editor_plugin.cpp +#: tools/editor/plugins/script_editor_plugin.cpp +#: tools/editor/plugins/shader_editor_plugin.cpp +#: tools/editor/plugins/sprite_frames_editor_plugin.cpp +#: tools/editor/property_editor.cpp tools/editor/resources_dock.cpp +msgid "Paste" +msgstr "" + +#: scene/gui/line_edit.cpp scene/gui/text_edit.cpp +#: tools/editor/plugins/script_editor_plugin.cpp +#: tools/editor/plugins/shader_editor_plugin.cpp +#: tools/editor/project_export.cpp +msgid "Select All" +msgstr "" + +#: scene/gui/line_edit.cpp scene/gui/text_edit.cpp tools/editor/editor_log.cpp +#: tools/editor/plugins/animation_tree_editor_plugin.cpp +#: tools/editor/plugins/rich_text_editor_plugin.cpp +#: tools/editor/property_editor.cpp tools/editor/script_editor_debugger.cpp +msgid "Clear" +msgstr "" + +#: scene/gui/line_edit.cpp scene/gui/text_edit.cpp tools/editor/editor_node.cpp +#: tools/editor/plugins/script_editor_plugin.cpp +#: tools/editor/plugins/shader_editor_plugin.cpp +msgid "Undo" +msgstr "" + +#: scene/gui/popup.cpp +msgid "" +"Popups will hide by default unless you call popup() or any of the popup*() " +"functions. Making them visible for editing is fine though, but they will " +"hide upon running." +msgstr "" + +#: scene/main/viewport.cpp +msgid "" +"This viewport is not set as render target. If you intend for it to display " +"its contents directly to the screen, make it a child of a Control so it can " +"obtain a size. Otherwise, make it a RenderTarget and assign its internal " +"texture to some node for display." +msgstr "" + +#: scene/resources/dynamic_font.cpp +#: tools/editor/io_plugins/editor_font_import_plugin.cpp +msgid "Error initializing FreeType." +msgstr "" + +#: scene/resources/dynamic_font.cpp +#: tools/editor/io_plugins/editor_font_import_plugin.cpp +msgid "Unknown font format." +msgstr "" + +#: scene/resources/dynamic_font.cpp +#: tools/editor/io_plugins/editor_font_import_plugin.cpp +msgid "Error loading font." +msgstr "" + +#: scene/resources/dynamic_font.cpp +#: tools/editor/io_plugins/editor_font_import_plugin.cpp +msgid "Invalid font size." +msgstr "" + +#: tools/editor/animation_editor.cpp +msgid "Disabled" +msgstr "" + +#: tools/editor/animation_editor.cpp +msgid "All Selection" +msgstr "" + +#: tools/editor/animation_editor.cpp +msgid "Move Add Key" +msgstr "" + +#: tools/editor/animation_editor.cpp +msgid "Anim Change Transition" +msgstr "" + +#: tools/editor/animation_editor.cpp +msgid "Anim Change Transform" +msgstr "" + +#: tools/editor/animation_editor.cpp +msgid "Anim Change Value" +msgstr "" + +#: tools/editor/animation_editor.cpp +msgid "Anim Change Call" +msgstr "" + +#: tools/editor/animation_editor.cpp +msgid "Anim Add Track" +msgstr "" + +#: tools/editor/animation_editor.cpp +msgid "Anim Duplicate Keys" +msgstr "" + +#: tools/editor/animation_editor.cpp +msgid "Move Anim Track Up" +msgstr "" + +#: tools/editor/animation_editor.cpp +msgid "Move Anim Track Down" +msgstr "" + +#: tools/editor/animation_editor.cpp +msgid "Remove Anim Track" +msgstr "" + +#: tools/editor/animation_editor.cpp +msgid "Set Transitions to:" +msgstr "" + +#: tools/editor/animation_editor.cpp +msgid "Anim Track Rename" +msgstr "" + +#: tools/editor/animation_editor.cpp +msgid "Anim Track Change Interpolation" +msgstr "" + +#: tools/editor/animation_editor.cpp +msgid "Anim Track Change Value Mode" +msgstr "" + +#: tools/editor/animation_editor.cpp +msgid "Edit Node Curve" +msgstr "" + +#: tools/editor/animation_editor.cpp +msgid "Edit Selection Curve" +msgstr "" + +#: tools/editor/animation_editor.cpp +msgid "Anim Delete Keys" +msgstr "" + +#: tools/editor/animation_editor.cpp +#: tools/editor/plugins/tile_map_editor_plugin.cpp +msgid "Duplicate Selection" +msgstr "" + +#: tools/editor/animation_editor.cpp +msgid "Duplicate Transposed" +msgstr "" + +#: tools/editor/animation_editor.cpp +msgid "Remove Selection" +msgstr "" + +#: tools/editor/animation_editor.cpp +msgid "Continuous" +msgstr "" + +#: tools/editor/animation_editor.cpp +msgid "Discrete" +msgstr "" + +#: tools/editor/animation_editor.cpp +msgid "Trigger" +msgstr "" + +#: tools/editor/animation_editor.cpp +msgid "Anim Add Key" +msgstr "" + +#: tools/editor/animation_editor.cpp +msgid "Anim Move Keys" +msgstr "" + +#: tools/editor/animation_editor.cpp +msgid "Scale Selection" +msgstr "" + +#: tools/editor/animation_editor.cpp +msgid "Scale From Cursor" +msgstr "" + +#: tools/editor/animation_editor.cpp +msgid "Goto Next Step" +msgstr "" + +#: tools/editor/animation_editor.cpp +msgid "Goto Prev Step" +msgstr "" + +#: tools/editor/animation_editor.cpp tools/editor/property_editor.cpp +msgid "Linear" +msgstr "" + +#: tools/editor/animation_editor.cpp +#: tools/editor/plugins/theme_editor_plugin.cpp +msgid "Constant" +msgstr "" + +#: tools/editor/animation_editor.cpp +msgid "In" +msgstr "" + +#: tools/editor/animation_editor.cpp +msgid "Out" +msgstr "" + +#: tools/editor/animation_editor.cpp +msgid "In-Out" +msgstr "" + +#: tools/editor/animation_editor.cpp +msgid "Out-In" +msgstr "" + +#: tools/editor/animation_editor.cpp +msgid "Transitions" +msgstr "" + +#: tools/editor/animation_editor.cpp +msgid "Optimize Animation" +msgstr "" + +#: tools/editor/animation_editor.cpp +msgid "Clean-Up Animation" +msgstr "" + +#: tools/editor/animation_editor.cpp +msgid "Create NEW track for %s and insert key?" +msgstr "" + +#: tools/editor/animation_editor.cpp +msgid "Create %d NEW tracks and insert keys?" +msgstr "" + +#: tools/editor/animation_editor.cpp tools/editor/create_dialog.cpp +#: tools/editor/plugins/light_occluder_2d_editor_plugin.cpp +#: tools/editor/plugins/mesh_instance_editor_plugin.cpp +#: tools/editor/plugins/navigation_polygon_editor_plugin.cpp +#: tools/editor/plugins/particles_editor_plugin.cpp +#: tools/editor/project_manager.cpp tools/editor/script_create_dialog.cpp +msgid "Create" +msgstr "" + +#: tools/editor/animation_editor.cpp +msgid "Anim Create & Insert" +msgstr "" + +#: tools/editor/animation_editor.cpp +msgid "Anim Insert Track & Key" +msgstr "" + +#: tools/editor/animation_editor.cpp +msgid "Anim Insert Key" +msgstr "" + +#: tools/editor/animation_editor.cpp +msgid "Change Anim Len" +msgstr "" + +#: tools/editor/animation_editor.cpp +msgid "Change Anim Loop" +msgstr "" + +#: tools/editor/animation_editor.cpp +msgid "Anim Create Typed Value Key" +msgstr "" + +#: tools/editor/animation_editor.cpp +msgid "Anim Insert" +msgstr "" + +#: tools/editor/animation_editor.cpp +msgid "Anim Scale Keys" +msgstr "" + +#: tools/editor/animation_editor.cpp +msgid "Anim Add Call Track" +msgstr "" + +#: tools/editor/animation_editor.cpp +msgid "Animation zoom." +msgstr "" + +#: tools/editor/animation_editor.cpp +msgid "Length (s):" +msgstr "" + +#: tools/editor/animation_editor.cpp +msgid "Animation length (in seconds)." +msgstr "" + +#: tools/editor/animation_editor.cpp +msgid "Step (s):" +msgstr "" + +#: tools/editor/animation_editor.cpp +msgid "Cursor step snap (in seconds)." +msgstr "" + +#: tools/editor/animation_editor.cpp +msgid "Enable/Disable looping in animation." +msgstr "" + +#: tools/editor/animation_editor.cpp +msgid "Add new tracks." +msgstr "" + +#: tools/editor/animation_editor.cpp +msgid "Move current track up." +msgstr "" + +#: tools/editor/animation_editor.cpp +msgid "Move current track down." +msgstr "" + +#: tools/editor/animation_editor.cpp +msgid "Remove selected track." +msgstr "" + +#: tools/editor/animation_editor.cpp +msgid "Track tools" +msgstr "" + +#: tools/editor/animation_editor.cpp +msgid "Enable editing of individual keys by clicking them." +msgstr "" + +#: tools/editor/animation_editor.cpp +msgid "Anim. Optimizer" +msgstr "" + +#: tools/editor/animation_editor.cpp +msgid "Max. Linear Error:" +msgstr "" + +#: tools/editor/animation_editor.cpp +msgid "Max. Angular Error:" +msgstr "" + +#: tools/editor/animation_editor.cpp +msgid "Max Optimizable Angle:" +msgstr "" + +#: tools/editor/animation_editor.cpp +msgid "Optimize" +msgstr "" + +#: tools/editor/animation_editor.cpp +msgid "Key" +msgstr "" + +#: tools/editor/animation_editor.cpp +msgid "Transition" +msgstr "" + +#: tools/editor/animation_editor.cpp +msgid "Scale Ratio:" +msgstr "" + +#: tools/editor/animation_editor.cpp +msgid "Call Functions in Which Node?" +msgstr "" + +#: tools/editor/animation_editor.cpp +msgid "Remove invalid keys" +msgstr "" + +#: tools/editor/animation_editor.cpp +msgid "Remove unresolved and empty tracks" +msgstr "" + +#: tools/editor/animation_editor.cpp +msgid "Clean-up all animations" +msgstr "" + +#: tools/editor/animation_editor.cpp +msgid "Clean-Up Animation(s) (NO UNDO!)" +msgstr "" + +#: tools/editor/animation_editor.cpp +msgid "Clean-Up" +msgstr "" + +#: tools/editor/array_property_edit.cpp +msgid "Resize Array" +msgstr "" + +#: tools/editor/array_property_edit.cpp +msgid "Change Array Value Type" +msgstr "" + +#: tools/editor/array_property_edit.cpp +msgid "Change Array Value" +msgstr "" + +#: tools/editor/asset_library_editor_plugin.cpp tools/editor/create_dialog.cpp +#: tools/editor/editor_help.cpp tools/editor/editor_node.cpp +#: tools/editor/plugins/script_editor_plugin.cpp tools/editor/quick_open.cpp +#: tools/editor/settings_config_dialog.cpp +msgid "Search:" +msgstr "" + +#: tools/editor/asset_library_editor_plugin.cpp +msgid "Sort:" +msgstr "" + +#: tools/editor/asset_library_editor_plugin.cpp +msgid "Reverse" +msgstr "" + +#: tools/editor/asset_library_editor_plugin.cpp +#: tools/editor/project_settings.cpp +msgid "Category:" +msgstr "" + +#: tools/editor/asset_library_editor_plugin.cpp +msgid "All" +msgstr "" + +#: tools/editor/asset_library_editor_plugin.cpp +msgid "Site:" +msgstr "" + +#: tools/editor/asset_library_editor_plugin.cpp +msgid "Support.." +msgstr "" + +#: tools/editor/asset_library_editor_plugin.cpp +msgid "Official" +msgstr "" + +#: tools/editor/asset_library_editor_plugin.cpp +msgid "Community" +msgstr "" + +#: tools/editor/asset_library_editor_plugin.cpp +msgid "Testing" +msgstr "" + +#: tools/editor/asset_library_editor_plugin.cpp +msgid "Assets ZIP File" +msgstr "" + +#: tools/editor/call_dialog.cpp +msgid "Method List For '%s':" +msgstr "" + +#: tools/editor/call_dialog.cpp +msgid "Call" +msgstr "" + +#: tools/editor/call_dialog.cpp tools/editor/connections_dialog.cpp +#: tools/editor/plugins/animation_player_editor_plugin.cpp +#: tools/editor/plugins/canvas_item_editor_plugin.cpp +#: tools/editor/plugins/resource_preloader_editor_plugin.cpp +#: tools/editor/plugins/sample_library_editor_plugin.cpp +#: tools/editor/plugins/script_editor_plugin.cpp +#: tools/editor/plugins/sprite_frames_editor_plugin.cpp +#: tools/editor/project_settings.cpp tools/editor/property_editor.cpp +#: tools/editor/run_settings_dialog.cpp tools/editor/settings_config_dialog.cpp +msgid "Close" +msgstr "" + +#: tools/editor/call_dialog.cpp +msgid "Method List:" +msgstr "" + +#: tools/editor/call_dialog.cpp +msgid "Arguments:" +msgstr "" + +#: tools/editor/call_dialog.cpp +msgid "Return:" +msgstr "" + +#: tools/editor/code_editor.cpp +msgid "Go to Line" +msgstr "" + +#: tools/editor/code_editor.cpp +msgid "Line Number:" +msgstr "" + +#: tools/editor/code_editor.cpp +msgid "No Matches" +msgstr "" + +#: tools/editor/code_editor.cpp +msgid "Replaced %d Ocurrence(s)." +msgstr "" + +#: tools/editor/code_editor.cpp +msgid "Replace" +msgstr "" + +#: tools/editor/code_editor.cpp +msgid "Replace All" +msgstr "" + +#: tools/editor/code_editor.cpp +msgid "Match Case" +msgstr "" + +#: tools/editor/code_editor.cpp +msgid "Whole Words" +msgstr "" + +#: tools/editor/code_editor.cpp +msgid "Selection Only" +msgstr "" + +#: tools/editor/code_editor.cpp tools/editor/editor_help.cpp +#: tools/editor/plugins/script_editor_plugin.cpp +#: tools/editor/plugins/shader_editor_plugin.cpp +#: tools/editor/project_settings.cpp +msgid "Search" +msgstr "" + +#: tools/editor/code_editor.cpp tools/editor/editor_help.cpp +msgid "Find" +msgstr "" + +#: tools/editor/code_editor.cpp +msgid "Next" +msgstr "" + +#: tools/editor/code_editor.cpp +msgid "Replaced %d ocurrence(s)." +msgstr "" + +#: tools/editor/code_editor.cpp +msgid "Not found!" +msgstr "" + +#: tools/editor/code_editor.cpp +msgid "Replace By" +msgstr "" + +#: tools/editor/code_editor.cpp +msgid "Case Sensitive" +msgstr "" + +#: tools/editor/code_editor.cpp +msgid "Backwards" +msgstr "" + +#: tools/editor/code_editor.cpp +msgid "Prompt On Replace" +msgstr "" + +#: tools/editor/code_editor.cpp +msgid "Skip" +msgstr "" + +#: tools/editor/code_editor.cpp tools/editor/script_editor_debugger.cpp +msgid "Line:" +msgstr "" + +#: tools/editor/code_editor.cpp +msgid "Col:" +msgstr "" + +#: tools/editor/connections_dialog.cpp +msgid "Method in target Node must be specified!" +msgstr "" + +#: tools/editor/connections_dialog.cpp +msgid "Connect To Node:" +msgstr "" + +#: tools/editor/connections_dialog.cpp +#: tools/editor/editor_autoload_settings.cpp tools/editor/groups_editor.cpp +#: tools/editor/plugins/item_list_editor_plugin.cpp +#: tools/editor/plugins/theme_editor_plugin.cpp +#: tools/editor/project_settings.cpp +msgid "Add" +msgstr "" + +#: tools/editor/connections_dialog.cpp tools/editor/dependency_editor.cpp +#: tools/editor/plugins/animation_tree_editor_plugin.cpp +#: tools/editor/plugins/theme_editor_plugin.cpp +#: tools/editor/project_manager.cpp +msgid "Remove" +msgstr "" + +#: tools/editor/connections_dialog.cpp +msgid "Add Extra Call Argument:" +msgstr "" + +#: tools/editor/connections_dialog.cpp +msgid "Extra Call Arguments:" +msgstr "" + +#: tools/editor/connections_dialog.cpp +msgid "Path to Node:" +msgstr "" + +#: tools/editor/connections_dialog.cpp +msgid "Make Function" +msgstr "" + +#: tools/editor/connections_dialog.cpp +msgid "Deferred" +msgstr "" + +#: tools/editor/connections_dialog.cpp +msgid "Oneshot" +msgstr "" + +#: tools/editor/connections_dialog.cpp +msgid "Connect" +msgstr "" + +#: tools/editor/connections_dialog.cpp +msgid "Connect '%s' to '%s'" +msgstr "" + +#: tools/editor/connections_dialog.cpp +msgid "Connecting Signal:" +msgstr "" + +#: tools/editor/connections_dialog.cpp +msgid "Create Subscription" +msgstr "" + +#: tools/editor/connections_dialog.cpp +msgid "Connect.." +msgstr "" + +#: tools/editor/connections_dialog.cpp +#: tools/editor/plugins/animation_tree_editor_plugin.cpp +msgid "Disconnect" +msgstr "" + +#: tools/editor/connections_dialog.cpp tools/editor/node_dock.cpp +msgid "Signals" +msgstr "" + +#: tools/editor/create_dialog.cpp +msgid "Create New" +msgstr "" + +#: tools/editor/create_dialog.cpp tools/editor/editor_help.cpp +#: tools/editor/plugins/script_editor_plugin.cpp tools/editor/quick_open.cpp +msgid "Matches:" +msgstr "" + +#: tools/editor/dependency_editor.cpp +msgid "Search Replacement For:" +msgstr "" + +#: tools/editor/dependency_editor.cpp +msgid "Dependencies For:" +msgstr "" + +#: tools/editor/dependency_editor.cpp +msgid "" +"Scene '%s' is currently being edited.\n" +"Changes will not take effect unless reloaded." +msgstr "" + +#: tools/editor/dependency_editor.cpp +msgid "" +"Resource '%s' is in use.\n" +"Changes will take effect when reloaded." +msgstr "" + +#: tools/editor/dependency_editor.cpp +msgid "Dependencies" +msgstr "" + +#: tools/editor/dependency_editor.cpp +msgid "Resource" +msgstr "" + +#: tools/editor/dependency_editor.cpp tools/editor/editor_autoload_settings.cpp +#: tools/editor/project_manager.cpp tools/editor/project_settings.cpp +msgid "Path" +msgstr "" + +#: tools/editor/dependency_editor.cpp +msgid "Dependencies:" +msgstr "" + +#: tools/editor/dependency_editor.cpp +msgid "Fix Broken" +msgstr "" + +#: tools/editor/dependency_editor.cpp +msgid "Dependency Editor" +msgstr "" + +#: tools/editor/dependency_editor.cpp +msgid "Search Replacement Resource:" +msgstr "" + +#: tools/editor/dependency_editor.cpp +msgid "Owners Of:" +msgstr "" + +#: tools/editor/dependency_editor.cpp +msgid "" +"The files being removed are required by other resources in order for them to " +"work.\n" +"Remove them anyway? (no undo)" +msgstr "" + +#: tools/editor/dependency_editor.cpp +msgid "Remove selected files from the project? (no undo)" +msgstr "" + +#: tools/editor/dependency_editor.cpp +msgid "Error loading:" +msgstr "" + +#: tools/editor/dependency_editor.cpp +msgid "Scene failed to load due to missing dependencies:" +msgstr "" + +#: tools/editor/dependency_editor.cpp +msgid "Open Anyway" +msgstr "" + +#: tools/editor/dependency_editor.cpp +msgid "Which action should be taken?" +msgstr "" + +#: tools/editor/dependency_editor.cpp +msgid "Fix Dependencies" +msgstr "" + +#: tools/editor/dependency_editor.cpp +msgid "Errors loading!" +msgstr "" + +#: tools/editor/dependency_editor.cpp +msgid "Permanently delete %d item(s)? (No undo!)" +msgstr "" + +#: tools/editor/dependency_editor.cpp +msgid "Owns" +msgstr "" + +#: tools/editor/dependency_editor.cpp +msgid "Resources Without Explicit Ownership:" +msgstr "" + +#: tools/editor/dependency_editor.cpp tools/editor/editor_node.cpp +msgid "Orphan Resource Explorer" +msgstr "" + +#: tools/editor/dependency_editor.cpp +msgid "Delete selected files?" +msgstr "" + +#: tools/editor/dependency_editor.cpp tools/editor/editor_node.cpp +#: tools/editor/plugins/item_list_editor_plugin.cpp +#: tools/editor/scenes_dock.cpp +msgid "Delete" +msgstr "" + +#: tools/editor/editor_autoload_settings.cpp +msgid "Invalid name." +msgstr "" + +#: tools/editor/editor_autoload_settings.cpp +msgid "Valid characters:" +msgstr "" + +#: tools/editor/editor_autoload_settings.cpp +msgid "Invalid name. Must not collide with an existing engine class name." +msgstr "" + +#: tools/editor/editor_autoload_settings.cpp +msgid "Invalid name. Must not collide with an existing buit-in type name." +msgstr "" + +#: tools/editor/editor_autoload_settings.cpp +msgid "Invalid name. Must not collide with an existing global constant name." +msgstr "" + +#: tools/editor/editor_autoload_settings.cpp +msgid "Invalid Path." +msgstr "" + +#: tools/editor/editor_autoload_settings.cpp +msgid "File does not exist." +msgstr "" + +#: tools/editor/editor_autoload_settings.cpp +msgid "Not in resource path." +msgstr "" + +#: tools/editor/editor_autoload_settings.cpp +msgid "Add AutoLoad" +msgstr "" + +#: tools/editor/editor_autoload_settings.cpp +msgid "Autoload '%s' already exists!" +msgstr "" + +#: tools/editor/editor_autoload_settings.cpp +msgid "Rename Autoload" +msgstr "" + +#: tools/editor/editor_autoload_settings.cpp +msgid "Toggle AutoLoad Globals" +msgstr "" + +#: tools/editor/editor_autoload_settings.cpp +msgid "Move Autoload" +msgstr "" + +#: tools/editor/editor_autoload_settings.cpp +msgid "Remove Autoload" +msgstr "" + +#: tools/editor/editor_autoload_settings.cpp +msgid "Enable" +msgstr "" + +#: tools/editor/editor_autoload_settings.cpp +msgid "Rearrange Autoloads" +msgstr "" + +#: tools/editor/editor_autoload_settings.cpp +msgid "Node Name:" +msgstr "" + +#: tools/editor/editor_autoload_settings.cpp +#: tools/editor/io_plugins/editor_scene_import_plugin.cpp +#: tools/editor/plugins/sample_library_editor_plugin.cpp +#: tools/editor/project_manager.cpp +msgid "Name" +msgstr "" + +#: tools/editor/editor_autoload_settings.cpp +msgid "Singleton" +msgstr "" + +#: tools/editor/editor_autoload_settings.cpp +msgid "List:" +msgstr "" + +#: tools/editor/editor_data.cpp +msgid "Updating Scene" +msgstr "" + +#: tools/editor/editor_data.cpp +msgid "Storing local changes.." +msgstr "" + +#: tools/editor/editor_data.cpp +msgid "Updating scene.." +msgstr "" + +#: tools/editor/editor_dir_dialog.cpp +msgid "Choose a Directory" +msgstr "" + +#: tools/editor/editor_dir_dialog.cpp +msgid "Choose" +msgstr "" + +#: tools/editor/editor_file_dialog.cpp +msgid "Go Back" +msgstr "" + +#: tools/editor/editor_file_dialog.cpp +msgid "Go Forward" +msgstr "" + +#: tools/editor/editor_file_dialog.cpp +msgid "Go Up" +msgstr "" + +#: tools/editor/editor_file_dialog.cpp +msgid "Refresh" +msgstr "" + +#: tools/editor/editor_file_dialog.cpp +msgid "Toggle Hidden Files" +msgstr "" + +#: tools/editor/editor_file_dialog.cpp +msgid "Toggle Favorite" +msgstr "" + +#: tools/editor/editor_file_dialog.cpp +msgid "Toggle Mode" +msgstr "" + +#: tools/editor/editor_file_dialog.cpp +msgid "Focus Path" +msgstr "" + +#: tools/editor/editor_file_dialog.cpp +msgid "Move Favorite Up" +msgstr "" + +#: tools/editor/editor_file_dialog.cpp +msgid "Move Favorite Down" +msgstr "" + +#: tools/editor/editor_file_dialog.cpp tools/editor/scenes_dock.cpp +msgid "Favorites:" +msgstr "" + +#: tools/editor/editor_file_dialog.cpp +msgid "Recent:" +msgstr "" + +#: tools/editor/editor_file_dialog.cpp +msgid "Preview:" +msgstr "" + +#: tools/editor/editor_file_system.cpp +msgid "Cannot go into subdir:" +msgstr "" + +#: tools/editor/editor_file_system.cpp +msgid "ScanSources" +msgstr "" + +#: tools/editor/editor_help.cpp tools/editor/plugins/script_editor_plugin.cpp +msgid "Search Help" +msgstr "" + +#: tools/editor/editor_help.cpp +msgid "Class List:" +msgstr "" + +#: tools/editor/editor_help.cpp +msgid "Search Classes" +msgstr "" + +#: tools/editor/editor_help.cpp tools/editor/property_editor.cpp +msgid "Class:" +msgstr "" + +#: tools/editor/editor_help.cpp tools/editor/scene_tree_editor.cpp +#: tools/editor/script_create_dialog.cpp +msgid "Inherits:" +msgstr "" + +#: tools/editor/editor_help.cpp +msgid "Inherited by:" +msgstr "" + +#: tools/editor/editor_help.cpp +msgid "Brief Description:" +msgstr "" + +#: tools/editor/editor_help.cpp +msgid "Public Methods:" +msgstr "" + +#: tools/editor/editor_help.cpp +msgid "Members:" +msgstr "" + +#: tools/editor/editor_help.cpp +msgid "GUI Theme Items:" +msgstr "" + +#: tools/editor/editor_help.cpp +msgid "Signals:" +msgstr "" + +#: tools/editor/editor_help.cpp +msgid "Constants:" +msgstr "" + +#: tools/editor/editor_help.cpp tools/editor/script_editor_debugger.cpp +msgid "Description:" +msgstr "" + +#: tools/editor/editor_help.cpp +msgid "Method Description:" +msgstr "" + +#: tools/editor/editor_help.cpp +msgid "Search Text" +msgstr "" + +#: tools/editor/editor_import_export.cpp +msgid "Added:" +msgstr "" + +#: tools/editor/editor_import_export.cpp +msgid "Removed:" +msgstr "" + +#: tools/editor/editor_import_export.cpp tools/editor/project_export.cpp +msgid "Error saving atlas:" +msgstr "" + +#: tools/editor/editor_import_export.cpp +msgid "Could not save atlas subtexture:" +msgstr "" + +#: tools/editor/editor_import_export.cpp +msgid "Storing File:" +msgstr "" + +#: tools/editor/editor_import_export.cpp +msgid "Packing" +msgstr "" + +#: tools/editor/editor_import_export.cpp +msgid "Exporting for %s" +msgstr "" + +#: tools/editor/editor_import_export.cpp +msgid "Setting Up.." +msgstr "" + +#: tools/editor/editor_log.cpp +msgid " Output:" +msgstr "" + +#: tools/editor/editor_node.cpp tools/editor/editor_reimport_dialog.cpp +msgid "Re-Importing" +msgstr "" + +#: tools/editor/editor_node.cpp +msgid "Importing:" +msgstr "" + +#: tools/editor/editor_node.cpp +msgid "Node From Scene" +msgstr "" + +#: tools/editor/editor_node.cpp +#: tools/editor/plugins/animation_player_editor_plugin.cpp +#: tools/editor/resources_dock.cpp +msgid "Error saving resource!" +msgstr "" + +#: tools/editor/editor_node.cpp +#: tools/editor/plugins/animation_player_editor_plugin.cpp +#: tools/editor/resources_dock.cpp +msgid "Save Resource As.." +msgstr "" + +#: tools/editor/editor_node.cpp tools/editor/scene_tree_dock.cpp +msgid "I see.." +msgstr "" + +#: tools/editor/editor_node.cpp +msgid "Can't open file for writing:" +msgstr "" + +#: tools/editor/editor_node.cpp +msgid "Requested file format unknown:" +msgstr "" + +#: tools/editor/editor_node.cpp +msgid "Error while saving." +msgstr "" + +#: tools/editor/editor_node.cpp +msgid "Saving Scene" +msgstr "" + +#: tools/editor/editor_node.cpp +msgid "Analyzing" +msgstr "" + +#: tools/editor/editor_node.cpp +msgid "Creating Thumbnail" +msgstr "" + +#: tools/editor/editor_node.cpp +msgid "" +"Couldn't save scene. Likely dependencies (instances) couldn't be satisfied." +msgstr "" + +#: tools/editor/editor_node.cpp +msgid "Failed to load resource." +msgstr "" + +#: tools/editor/editor_node.cpp +msgid "Can't load MeshLibrary for merging!" +msgstr "" + +#: tools/editor/editor_node.cpp +msgid "Error saving MeshLibrary!" +msgstr "" + +#: tools/editor/editor_node.cpp +msgid "Can't load TileSet for merging!" +msgstr "" + +#: tools/editor/editor_node.cpp +msgid "Error saving TileSet!" +msgstr "" + +#: tools/editor/editor_node.cpp +msgid "Can't open export templates zip." +msgstr "" + +#: tools/editor/editor_node.cpp +msgid "Loading Export Templates" +msgstr "" + +#: tools/editor/editor_node.cpp +msgid "Error trying to save layout!" +msgstr "" + +#: tools/editor/editor_node.cpp +msgid "Default editor layout overridden." +msgstr "" + +#: tools/editor/editor_node.cpp +msgid "Layout name not found!" +msgstr "" + +#: tools/editor/editor_node.cpp +msgid "Restored default layout to base settings." +msgstr "" + +#: tools/editor/editor_node.cpp +msgid "Copy Params" +msgstr "" + +#: tools/editor/editor_node.cpp +msgid "Paste Params" +msgstr "" + +#: tools/editor/editor_node.cpp +#: tools/editor/plugins/resource_preloader_editor_plugin.cpp +msgid "Paste Resource" +msgstr "" + +#: tools/editor/editor_node.cpp +msgid "Copy Resource" +msgstr "" + +#: tools/editor/editor_node.cpp +msgid "Make Built-In" +msgstr "" + +#: tools/editor/editor_node.cpp +msgid "Make Sub-Resources Unique" +msgstr "" + +#: tools/editor/editor_node.cpp +msgid "Open in Help" +msgstr "" + +#: tools/editor/editor_node.cpp +msgid "There is no defined scene to run." +msgstr "" + +#: tools/editor/editor_node.cpp +msgid "" +"No main scene has ever been defined, select one?\n" +"You can change it later in later in \"Project Settings\" under the " +"'application' category." +msgstr "" + +#: tools/editor/editor_node.cpp +msgid "" +"Selected scene '%s' does not exist, select a valid one?\n" +"You can change it later in \"Project Settings\" under the 'application' " +"category." +msgstr "" + +#: tools/editor/editor_node.cpp +msgid "" +"Selected scene '%s' is not a scene file, select a valid one?\n" +"You can change it later in \"Project Settings\" under the 'application' " +"category." +msgstr "" + +#: tools/editor/editor_node.cpp +msgid "Current scene was never saved, please save it prior to running." +msgstr "" + +#: tools/editor/editor_node.cpp +msgid "Could not start subprocess!" +msgstr "" + +#: tools/editor/editor_node.cpp +msgid "Open Scene" +msgstr "" + +#: tools/editor/editor_node.cpp +msgid "Open Base Scene" +msgstr "" + +#: tools/editor/editor_node.cpp +msgid "Quick Open Scene.." +msgstr "" + +#: tools/editor/editor_node.cpp +msgid "Quick Open Script.." +msgstr "" + +#: tools/editor/editor_node.cpp +msgid "Yes" +msgstr "" + +#: tools/editor/editor_node.cpp +msgid "Close scene? (Unsaved changes will be lost)" +msgstr "" + +#: tools/editor/editor_node.cpp +msgid "Save Scene As.." +msgstr "" + +#: tools/editor/editor_node.cpp +msgid "This scene has never been saved. Save before running?" +msgstr "" + +#: tools/editor/editor_node.cpp +msgid "Please save the scene first." +msgstr "" + +#: tools/editor/editor_node.cpp +msgid "Save Translatable Strings" +msgstr "" + +#: tools/editor/editor_node.cpp +msgid "Export Mesh Library" +msgstr "" + +#: tools/editor/editor_node.cpp +msgid "Export Tile Set" +msgstr "" + +#: tools/editor/editor_node.cpp +msgid "Quit" +msgstr "" + +#: tools/editor/editor_node.cpp +msgid "Exit the editor?" +msgstr "" + +#: tools/editor/editor_node.cpp +msgid "Current scene not saved. Open anyway?" +msgstr "" + +#: tools/editor/editor_node.cpp +msgid "Can't reload a scene that was never saved." +msgstr "" + +#: tools/editor/editor_node.cpp +msgid "Revert" +msgstr "" + +#: tools/editor/editor_node.cpp +msgid "This action cannot be undone. Revert anyway?" +msgstr "" + +#: tools/editor/editor_node.cpp +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 +msgid "Pick a Main Scene" +msgstr "" + +#: tools/editor/editor_node.cpp tools/editor/scene_tree_dock.cpp +msgid "Ugh" +msgstr "" + +#: tools/editor/editor_node.cpp +msgid "" +"Error loading scene, it must be inside the project path. Use 'Import' to " +"open the scene, then save it inside the project path." +msgstr "" + +#: tools/editor/editor_node.cpp +msgid "Error loading scene." +msgstr "" + +#: tools/editor/editor_node.cpp +msgid "Scene '%s' has broken dependencies:" +msgstr "" + +#: tools/editor/editor_node.cpp +msgid "Save Layout" +msgstr "" + +#: tools/editor/editor_node.cpp +msgid "Delete Layout" +msgstr "" + +#: tools/editor/editor_node.cpp tools/editor/project_export.cpp +msgid "Default" +msgstr "" + +#: tools/editor/editor_node.cpp +msgid "Switch Scene Tab" +msgstr "" + +#: tools/editor/editor_node.cpp +msgid "%d more file(s)" +msgstr "" + +#: tools/editor/editor_node.cpp +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 "" + +#: tools/editor/editor_node.cpp +msgid "Go to previously opened scene." +msgstr "" + +#: tools/editor/editor_node.cpp +msgid "Fullscreen Mode" +msgstr "" + +#: tools/editor/editor_node.cpp +msgid "Distraction Free Mode" +msgstr "" + +#: tools/editor/editor_node.cpp +msgid "Next tab" +msgstr "" + +#: tools/editor/editor_node.cpp +msgid "Previous tab" +msgstr "" + +#: tools/editor/editor_node.cpp +msgid "Operations with scene files." +msgstr "" + +#: tools/editor/editor_node.cpp +msgid "New Scene" +msgstr "" + +#: tools/editor/editor_node.cpp +msgid "New Inherited Scene.." +msgstr "" + +#: tools/editor/editor_node.cpp +msgid "Open Scene.." +msgstr "" + +#: tools/editor/editor_node.cpp +msgid "Save Scene" +msgstr "" + +#: tools/editor/editor_node.cpp +msgid "Save all Scenes" +msgstr "" + +#: tools/editor/editor_node.cpp +msgid "Close Scene" +msgstr "" + +#: tools/editor/editor_node.cpp +msgid "Close Goto Prev. Scene" +msgstr "" + +#: tools/editor/editor_node.cpp +msgid "Open Recent" +msgstr "" + +#: tools/editor/editor_node.cpp +msgid "Quick Filter Files.." +msgstr "" + +#: tools/editor/editor_node.cpp +msgid "Convert To.." +msgstr "" + +#: tools/editor/editor_node.cpp +msgid "Translatable Strings.." +msgstr "" + +#: tools/editor/editor_node.cpp +msgid "MeshLibrary.." +msgstr "" + +#: tools/editor/editor_node.cpp +msgid "TileSet.." +msgstr "" + +#: tools/editor/editor_node.cpp tools/editor/plugins/script_editor_plugin.cpp +#: tools/editor/plugins/shader_editor_plugin.cpp +msgid "Redo" +msgstr "" + +#: tools/editor/editor_node.cpp +msgid "Run Script" +msgstr "" + +#: tools/editor/editor_node.cpp +msgid "Project Settings" +msgstr "" + +#: tools/editor/editor_node.cpp +msgid "Revert Scene" +msgstr "" + +#: tools/editor/editor_node.cpp +msgid "Quit to Project List" +msgstr "" + +#: tools/editor/editor_node.cpp +msgid "Import assets to the project." +msgstr "" + +#: tools/editor/editor_node.cpp +#: tools/editor/io_plugins/editor_bitmask_import_plugin.cpp +#: tools/editor/io_plugins/editor_font_import_plugin.cpp +#: tools/editor/io_plugins/editor_mesh_import_plugin.cpp +#: tools/editor/io_plugins/editor_sample_import_plugin.cpp +#: tools/editor/io_plugins/editor_scene_import_plugin.cpp +#: tools/editor/io_plugins/editor_texture_import_plugin.cpp +#: tools/editor/io_plugins/editor_translation_import_plugin.cpp +#: tools/editor/project_manager.cpp +msgid "Import" +msgstr "" + +#: tools/editor/editor_node.cpp +msgid "Miscellaneous project or scene-wide tools." +msgstr "" + +#: tools/editor/editor_node.cpp +msgid "Tools" +msgstr "" + +#: tools/editor/editor_node.cpp +msgid "Export the project to many platforms." +msgstr "" + +#: tools/editor/editor_node.cpp tools/editor/project_export.cpp +msgid "Export" +msgstr "" + +#: tools/editor/editor_node.cpp +msgid "Play the project." +msgstr "" + +#: tools/editor/editor_node.cpp +#: tools/editor/plugins/sample_library_editor_plugin.cpp +msgid "Play" +msgstr "" + +#: tools/editor/editor_node.cpp +msgid "Pause the scene" +msgstr "" + +#: tools/editor/editor_node.cpp +msgid "Pause Scene" +msgstr "" + +#: tools/editor/editor_node.cpp +msgid "Stop the scene." +msgstr "" + +#: tools/editor/editor_node.cpp +#: tools/editor/plugins/sample_library_editor_plugin.cpp +msgid "Stop" +msgstr "" + +#: tools/editor/editor_node.cpp +msgid "Play the edited scene." +msgstr "" + +#: tools/editor/editor_node.cpp +msgid "Play Scene" +msgstr "" + +#: tools/editor/editor_node.cpp +msgid "Play custom scene" +msgstr "" + +#: tools/editor/editor_node.cpp +msgid "Play Custom Scene" +msgstr "" + +#: tools/editor/editor_node.cpp +msgid "Debug options" +msgstr "" + +#: tools/editor/editor_node.cpp +msgid "Deploy with Remote Debug" +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 "" + +#: tools/editor/editor_node.cpp +msgid "Small Deploy with Network FS" +msgstr "" + +#: tools/editor/editor_node.cpp +msgid "" +"When this option is enabled, export or deploy will produce a minimal " +"executable.\n" +"The filesystem will be provided from the project by the editor over the " +"network.\n" +"On Android, deploy will use the USB cable for faster performance. This " +"option speeds up testing for games with a large footprint." +msgstr "" + +#: tools/editor/editor_node.cpp +msgid "Visible Collision Shapes" +msgstr "" + +#: tools/editor/editor_node.cpp +msgid "" +"Collision shapes and raycast nodes (for 2D and 3D) will be visible on the " +"running game if this option is turned on." +msgstr "" + +#: tools/editor/editor_node.cpp +msgid "Visible Navigation" +msgstr "" + +#: tools/editor/editor_node.cpp +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 "" + +#: tools/editor/editor_node.cpp +msgid "" +"When this option is turned on, any changes made to the scene in the editor " +"will be replicated in the running game.\n" +"When used remotely on a device, this is more efficient with network " +"filesystem." +msgstr "" + +#: tools/editor/editor_node.cpp +msgid "Sync Script Changes" +msgstr "" + +#: tools/editor/editor_node.cpp +msgid "" +"When this option is turned on, any script that is saved will be reloaded on " +"the running game.\n" +"When used remotely on a device, this is more efficient with network " +"filesystem." +msgstr "" + +#: tools/editor/editor_node.cpp tools/editor/plugins/spatial_editor_plugin.cpp +msgid "Settings" +msgstr "" + +#: tools/editor/editor_node.cpp tools/editor/settings_config_dialog.cpp +msgid "Editor Settings" +msgstr "" + +#: tools/editor/editor_node.cpp +msgid "Editor Layout" +msgstr "" + +#: tools/editor/editor_node.cpp +msgid "Install Export Templates" +msgstr "" + +#: tools/editor/editor_node.cpp +msgid "About" +msgstr "" + +#: tools/editor/editor_node.cpp +msgid "Alerts when an external resource has changed." +msgstr "" + +#: tools/editor/editor_node.cpp +msgid "Spins when the editor window repaints!" +msgstr "" + +#: tools/editor/editor_node.cpp +msgid "Update Always" +msgstr "" + +#: tools/editor/editor_node.cpp +msgid "Update Changes" +msgstr "" + +#: tools/editor/editor_node.cpp +msgid "Inspector" +msgstr "" + +#: tools/editor/editor_node.cpp +msgid "Create a new resource in memory and edit it." +msgstr "" + +#: tools/editor/editor_node.cpp +msgid "Load an existing resource from disk and edit it." +msgstr "" + +#: tools/editor/editor_node.cpp +msgid "Save the currently edited resource." +msgstr "" + +#: tools/editor/editor_node.cpp tools/editor/plugins/script_editor_plugin.cpp +msgid "Save As.." +msgstr "" + +#: tools/editor/editor_node.cpp +msgid "Go to the previous edited object in history." +msgstr "" + +#: tools/editor/editor_node.cpp +msgid "Go to the next edited object in history." +msgstr "" + +#: tools/editor/editor_node.cpp +msgid "History of recently edited objects." +msgstr "" + +#: tools/editor/editor_node.cpp +msgid "Object properties." +msgstr "" + +#: tools/editor/editor_node.cpp +msgid "FileSystem" +msgstr "" + +#: tools/editor/editor_node.cpp +msgid "Output" +msgstr "" + +#: tools/editor/editor_node.cpp tools/editor/editor_reimport_dialog.cpp +msgid "Re-Import" +msgstr "" + +#: tools/editor/editor_node.cpp tools/editor/editor_plugin_settings.cpp +msgid "Update" +msgstr "" + +#: tools/editor/editor_node.cpp +msgid "Thanks from the Godot community!" +msgstr "" + +#: tools/editor/editor_node.cpp +msgid "Thanks!" +msgstr "" + +#: tools/editor/editor_node.cpp +msgid "Import Templates From ZIP File" +msgstr "" + +#: tools/editor/editor_node.cpp tools/editor/project_export.cpp +msgid "Export Project" +msgstr "" + +#: tools/editor/editor_node.cpp +msgid "Export Library" +msgstr "" + +#: tools/editor/editor_node.cpp +msgid "Merge With Existing" +msgstr "" + +#: tools/editor/editor_node.cpp tools/editor/project_export.cpp +msgid "Password:" +msgstr "" + +#: tools/editor/editor_node.cpp +msgid "Open & Run a Script" +msgstr "" + +#: tools/editor/editor_node.cpp +msgid "Load Errors" +msgstr "" + +#: tools/editor/editor_plugin_settings.cpp +msgid "Installed Plugins:" +msgstr "" + +#: tools/editor/editor_plugin_settings.cpp +msgid "Version:" +msgstr "" + +#: tools/editor/editor_plugin_settings.cpp +msgid "Author:" +msgstr "" + +#: tools/editor/editor_plugin_settings.cpp +msgid "Status:" +msgstr "" + +#: tools/editor/editor_profiler.cpp +msgid "Stop Profiling" +msgstr "" + +#: tools/editor/editor_profiler.cpp +msgid "Start Profiling" +msgstr "" + +#: tools/editor/editor_profiler.cpp +msgid "Measure:" +msgstr "" + +#: tools/editor/editor_profiler.cpp +msgid "Frame Time (sec)" +msgstr "" + +#: tools/editor/editor_profiler.cpp +msgid "Average Time (sec)" +msgstr "" + +#: tools/editor/editor_profiler.cpp +msgid "Frame %" +msgstr "" + +#: tools/editor/editor_profiler.cpp +msgid "Fixed Frame %" +msgstr "" + +#: tools/editor/editor_profiler.cpp tools/editor/script_editor_debugger.cpp +msgid "Time:" +msgstr "" + +#: tools/editor/editor_profiler.cpp +msgid "Inclusive" +msgstr "" + +#: tools/editor/editor_profiler.cpp +msgid "Self" +msgstr "" + +#: tools/editor/editor_profiler.cpp +msgid "Frame #:" +msgstr "" + +#: tools/editor/editor_reimport_dialog.cpp +msgid "Please wait for scan to complete." +msgstr "" + +#: tools/editor/editor_reimport_dialog.cpp +msgid "Current scene must be saved to re-import." +msgstr "" + +#: tools/editor/editor_reimport_dialog.cpp +msgid "Save & Re-Import" +msgstr "" + +#: tools/editor/editor_reimport_dialog.cpp +msgid "Re-Import Changed Resources" +msgstr "" + +#: tools/editor/editor_run_script.cpp +msgid "Write your logic in the _run() method." +msgstr "" + +#: tools/editor/editor_run_script.cpp +msgid "There is an edited scene already." +msgstr "" + +#: tools/editor/editor_run_script.cpp +msgid "Couldn't instance script:" +msgstr "" + +#: tools/editor/editor_run_script.cpp +msgid "Did you forget the 'tool' keyword?" +msgstr "" + +#: tools/editor/editor_run_script.cpp +msgid "Couldn't run script:" +msgstr "" + +#: tools/editor/editor_run_script.cpp +msgid "Did you forget the '_run' method?" +msgstr "" + +#: tools/editor/editor_settings.cpp +msgid "Default (Same as Editor)" +msgstr "" + +#: tools/editor/editor_sub_scene.cpp +msgid "Select Node(s) to Import" +msgstr "" + +#: tools/editor/editor_sub_scene.cpp +msgid "Scene Path:" +msgstr "" + +#: tools/editor/editor_sub_scene.cpp +msgid "Import From Node:" +msgstr "" + +#: tools/editor/file_type_cache.cpp +msgid "Can't open file_type_cache.cch for writing, not saving file type cache!" +msgstr "" + +#: tools/editor/groups_editor.cpp +msgid "Add to Group" +msgstr "" + +#: tools/editor/groups_editor.cpp +msgid "Remove from Group" +msgstr "" + +#: tools/editor/io_plugins/editor_bitmask_import_plugin.cpp +msgid "No bit masks to import!" +msgstr "" + +#: tools/editor/io_plugins/editor_bitmask_import_plugin.cpp +#: tools/editor/io_plugins/editor_sample_import_plugin.cpp +#: tools/editor/io_plugins/editor_scene_import_plugin.cpp +#: tools/editor/io_plugins/editor_texture_import_plugin.cpp +msgid "Target path is empty." +msgstr "" + +#: tools/editor/io_plugins/editor_bitmask_import_plugin.cpp +#: tools/editor/io_plugins/editor_sample_import_plugin.cpp +#: tools/editor/io_plugins/editor_scene_import_plugin.cpp +#: tools/editor/io_plugins/editor_texture_import_plugin.cpp +msgid "Target path must be a complete resource path." +msgstr "" + +#: tools/editor/io_plugins/editor_bitmask_import_plugin.cpp +#: tools/editor/io_plugins/editor_sample_import_plugin.cpp +#: tools/editor/io_plugins/editor_scene_import_plugin.cpp +#: tools/editor/io_plugins/editor_texture_import_plugin.cpp +msgid "Target path must exist." +msgstr "" + +#: tools/editor/io_plugins/editor_bitmask_import_plugin.cpp +#: tools/editor/io_plugins/editor_mesh_import_plugin.cpp +#: tools/editor/io_plugins/editor_sample_import_plugin.cpp +msgid "Save path is empty!" +msgstr "" + +#: tools/editor/io_plugins/editor_bitmask_import_plugin.cpp +msgid "Import BitMasks" +msgstr "" + +#: tools/editor/io_plugins/editor_bitmask_import_plugin.cpp +#: tools/editor/io_plugins/editor_texture_import_plugin.cpp +msgid "Source Texture(s):" +msgstr "" + +#: tools/editor/io_plugins/editor_bitmask_import_plugin.cpp +#: tools/editor/io_plugins/editor_mesh_import_plugin.cpp +#: tools/editor/io_plugins/editor_sample_import_plugin.cpp +#: tools/editor/io_plugins/editor_scene_import_plugin.cpp +#: tools/editor/io_plugins/editor_texture_import_plugin.cpp +#: tools/editor/io_plugins/editor_translation_import_plugin.cpp +msgid "Target Path:" +msgstr "" + +#: tools/editor/io_plugins/editor_bitmask_import_plugin.cpp +#: tools/editor/io_plugins/editor_font_import_plugin.cpp +#: tools/editor/io_plugins/editor_sample_import_plugin.cpp +#: tools/editor/io_plugins/editor_scene_import_plugin.cpp +#: tools/editor/io_plugins/editor_texture_import_plugin.cpp +#: tools/editor/io_plugins/editor_translation_import_plugin.cpp +msgid "Accept" +msgstr "" + +#: tools/editor/io_plugins/editor_bitmask_import_plugin.cpp +msgid "Bit Mask" +msgstr "" + +#: tools/editor/io_plugins/editor_font_import_plugin.cpp +msgid "No source font file!" +msgstr "" + +#: tools/editor/io_plugins/editor_font_import_plugin.cpp +msgid "No target font resource!" +msgstr "" + +#: tools/editor/io_plugins/editor_font_import_plugin.cpp +msgid "" +"Invalid file extension.\n" +"Please use .fnt." +msgstr "" + +#: tools/editor/io_plugins/editor_font_import_plugin.cpp +msgid "Can't load/process source font." +msgstr "" + +#: tools/editor/io_plugins/editor_font_import_plugin.cpp +msgid "Couldn't save font." +msgstr "" + +#: tools/editor/io_plugins/editor_font_import_plugin.cpp +msgid "Source Font:" +msgstr "" + +#: tools/editor/io_plugins/editor_font_import_plugin.cpp +msgid "Source Font Size:" +msgstr "" + +#: tools/editor/io_plugins/editor_font_import_plugin.cpp +msgid "Dest Resource:" +msgstr "" + +#: tools/editor/io_plugins/editor_font_import_plugin.cpp +msgid "The quick brown fox jumps over the lazy dog." +msgstr "" + +#: tools/editor/io_plugins/editor_font_import_plugin.cpp +msgid "Test:" +msgstr "" + +#: tools/editor/io_plugins/editor_font_import_plugin.cpp +#: tools/editor/io_plugins/editor_mesh_import_plugin.cpp +#: tools/editor/io_plugins/editor_sample_import_plugin.cpp +#: tools/editor/io_plugins/editor_scene_import_plugin.cpp +msgid "Options:" +msgstr "" + +#: tools/editor/io_plugins/editor_font_import_plugin.cpp +msgid "Font Import" +msgstr "" + +#: tools/editor/io_plugins/editor_font_import_plugin.cpp +msgid "" +"This file is already a Godot font file, please supply a BMFont type file " +"instead." +msgstr "" + +#: tools/editor/io_plugins/editor_font_import_plugin.cpp +msgid "Failed opening as BMFont file." +msgstr "" + +#: tools/editor/io_plugins/editor_font_import_plugin.cpp +msgid "Invalid font custom source." +msgstr "" + +#: tools/editor/io_plugins/editor_font_import_plugin.cpp +#: tools/editor/plugins/theme_editor_plugin.cpp +msgid "Font" +msgstr "" + +#: tools/editor/io_plugins/editor_mesh_import_plugin.cpp +msgid "No meshes to import!" +msgstr "" + +#: tools/editor/io_plugins/editor_mesh_import_plugin.cpp +msgid "Single Mesh Import" +msgstr "" + +#: tools/editor/io_plugins/editor_mesh_import_plugin.cpp +msgid "Source Mesh(es):" +msgstr "" + +#: tools/editor/io_plugins/editor_mesh_import_plugin.cpp +#: tools/editor/plugins/mesh_instance_editor_plugin.cpp +msgid "Mesh" +msgstr "" + +#: tools/editor/io_plugins/editor_mesh_import_plugin.cpp +msgid "Surface %d" +msgstr "" + +#: tools/editor/io_plugins/editor_sample_import_plugin.cpp +msgid "No samples to import!" +msgstr "" + +#: tools/editor/io_plugins/editor_sample_import_plugin.cpp +msgid "Import Audio Samples" +msgstr "" + +#: tools/editor/io_plugins/editor_sample_import_plugin.cpp +msgid "Source Sample(s):" +msgstr "" + +#: tools/editor/io_plugins/editor_sample_import_plugin.cpp +msgid "Audio Sample" +msgstr "" + +#: tools/editor/io_plugins/editor_scene_import_plugin.cpp +msgid "New Clip" +msgstr "" + +#: tools/editor/io_plugins/editor_scene_import_plugin.cpp +msgid "Animation Options" +msgstr "" + +#: tools/editor/io_plugins/editor_scene_import_plugin.cpp +msgid "Flags" +msgstr "" + +#: tools/editor/io_plugins/editor_scene_import_plugin.cpp +msgid "Bake FPS:" +msgstr "" + +#: tools/editor/io_plugins/editor_scene_import_plugin.cpp +msgid "Optimizer" +msgstr "" + +#: tools/editor/io_plugins/editor_scene_import_plugin.cpp +msgid "Max Linear Error" +msgstr "" + +#: tools/editor/io_plugins/editor_scene_import_plugin.cpp +msgid "Max Angular Error" +msgstr "" + +#: tools/editor/io_plugins/editor_scene_import_plugin.cpp +msgid "Max Angle" +msgstr "" + +#: tools/editor/io_plugins/editor_scene_import_plugin.cpp +msgid "Clips" +msgstr "" + +#: tools/editor/io_plugins/editor_scene_import_plugin.cpp +msgid "Start(s)" +msgstr "" + +#: tools/editor/io_plugins/editor_scene_import_plugin.cpp +msgid "End(s)" +msgstr "" + +#: tools/editor/io_plugins/editor_scene_import_plugin.cpp +#: tools/editor/plugins/sprite_frames_editor_plugin.cpp +msgid "Loop" +msgstr "" + +#: tools/editor/io_plugins/editor_scene_import_plugin.cpp +msgid "Filters" +msgstr "" + +#: tools/editor/io_plugins/editor_scene_import_plugin.cpp +msgid "Source path is empty." +msgstr "" + +#: tools/editor/io_plugins/editor_scene_import_plugin.cpp +msgid "Couldn't load post-import script." +msgstr "" + +#: tools/editor/io_plugins/editor_scene_import_plugin.cpp +msgid "Invalid/broken script for post-import." +msgstr "" + +#: tools/editor/io_plugins/editor_scene_import_plugin.cpp +msgid "Error importing scene." +msgstr "" + +#: tools/editor/io_plugins/editor_scene_import_plugin.cpp +msgid "Import 3D Scene" +msgstr "" + +#: tools/editor/io_plugins/editor_scene_import_plugin.cpp +msgid "Source Scene:" +msgstr "" + +#: tools/editor/io_plugins/editor_scene_import_plugin.cpp +msgid "Same as Target Scene" +msgstr "" + +#: tools/editor/io_plugins/editor_scene_import_plugin.cpp +msgid "Shared" +msgstr "" + +#: tools/editor/io_plugins/editor_scene_import_plugin.cpp +msgid "Target Texture Folder:" +msgstr "" + +#: tools/editor/io_plugins/editor_scene_import_plugin.cpp +msgid "Post-Process Script:" +msgstr "" + +#: tools/editor/io_plugins/editor_scene_import_plugin.cpp +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 "" + +#: tools/editor/io_plugins/editor_scene_import_plugin.cpp +msgid "Import Anyway" +msgstr "" + +#: tools/editor/io_plugins/editor_scene_import_plugin.cpp +msgid "Import & Open" +msgstr "" + +#: tools/editor/io_plugins/editor_scene_import_plugin.cpp +msgid "Edited scene has not been saved, open imported scene anyway?" +msgstr "" + +#: tools/editor/io_plugins/editor_scene_import_plugin.cpp +#: tools/editor/plugins/cube_grid_theme_editor_plugin.cpp +msgid "Import Scene" +msgstr "" + +#: tools/editor/io_plugins/editor_scene_import_plugin.cpp +msgid "Importing Scene.." +msgstr "" + +#: tools/editor/io_plugins/editor_scene_import_plugin.cpp +msgid "Running Custom Script.." +msgstr "" + +#: tools/editor/io_plugins/editor_scene_import_plugin.cpp +msgid "Couldn't load post-import script:" +msgstr "" + +#: tools/editor/io_plugins/editor_scene_import_plugin.cpp +msgid "Invalid/broken script for post-import (check console):" +msgstr "" + +#: tools/editor/io_plugins/editor_scene_import_plugin.cpp +msgid "Error running post-import script:" +msgstr "" + +#: tools/editor/io_plugins/editor_scene_import_plugin.cpp +msgid "Import Image:" +msgstr "" + +#: tools/editor/io_plugins/editor_scene_import_plugin.cpp +msgid "Can't import a file over itself:" +msgstr "" + +#: tools/editor/io_plugins/editor_scene_import_plugin.cpp +msgid "Couldn't localize path: %s (already local)" +msgstr "" + +#: tools/editor/io_plugins/editor_scene_import_plugin.cpp +msgid "Saving.." +msgstr "" + +#: tools/editor/io_plugins/editor_scene_import_plugin.cpp +msgid "3D Scene Animation" +msgstr "" + +#: tools/editor/io_plugins/editor_texture_import_plugin.cpp +msgid "Uncompressed" +msgstr "" + +#: tools/editor/io_plugins/editor_texture_import_plugin.cpp +msgid "Compress Lossless (PNG)" +msgstr "" + +#: tools/editor/io_plugins/editor_texture_import_plugin.cpp +msgid "Compress Lossy (WebP)" +msgstr "" + +#: tools/editor/io_plugins/editor_texture_import_plugin.cpp +msgid "Compress (VRAM)" +msgstr "" + +#: tools/editor/io_plugins/editor_texture_import_plugin.cpp +msgid "Texture Format" +msgstr "" + +#: tools/editor/io_plugins/editor_texture_import_plugin.cpp +msgid "Texture Compression Quality (WebP):" +msgstr "" + +#: tools/editor/io_plugins/editor_texture_import_plugin.cpp +msgid "Texture Options" +msgstr "" + +#: tools/editor/io_plugins/editor_texture_import_plugin.cpp +msgid "Please specify some files!" +msgstr "" + +#: tools/editor/io_plugins/editor_texture_import_plugin.cpp +msgid "At least one file needed for Atlas." +msgstr "" + +#: tools/editor/io_plugins/editor_texture_import_plugin.cpp +msgid "Error importing:" +msgstr "" + +#: tools/editor/io_plugins/editor_texture_import_plugin.cpp +msgid "Only one file is required for large texture." +msgstr "" + +#: tools/editor/io_plugins/editor_texture_import_plugin.cpp +msgid "Max Texture Size:" +msgstr "" + +#: tools/editor/io_plugins/editor_texture_import_plugin.cpp +msgid "Import Textures for Atlas (2D)" +msgstr "" + +#: tools/editor/io_plugins/editor_texture_import_plugin.cpp +msgid "Cell Size:" +msgstr "" + +#: tools/editor/io_plugins/editor_texture_import_plugin.cpp +msgid "Large Texture" +msgstr "" + +#: tools/editor/io_plugins/editor_texture_import_plugin.cpp +msgid "Import Large Textures (2D)" +msgstr "" + +#: tools/editor/io_plugins/editor_texture_import_plugin.cpp +msgid "Source Texture" +msgstr "" + +#: tools/editor/io_plugins/editor_texture_import_plugin.cpp +msgid "Base Atlas Texture" +msgstr "" + +#: tools/editor/io_plugins/editor_texture_import_plugin.cpp +msgid "Source Texture(s)" +msgstr "" + +#: tools/editor/io_plugins/editor_texture_import_plugin.cpp +msgid "Import Textures for 2D" +msgstr "" + +#: tools/editor/io_plugins/editor_texture_import_plugin.cpp +msgid "Import Textures for 3D" +msgstr "" + +#: tools/editor/io_plugins/editor_texture_import_plugin.cpp +msgid "Import Textures" +msgstr "" + +#: tools/editor/io_plugins/editor_texture_import_plugin.cpp +msgid "2D Texture" +msgstr "" + +#: tools/editor/io_plugins/editor_texture_import_plugin.cpp +msgid "3D Texture" +msgstr "" + +#: tools/editor/io_plugins/editor_texture_import_plugin.cpp +msgid "Atlas Texture" +msgstr "" + +#: tools/editor/io_plugins/editor_texture_import_plugin.cpp +msgid "" +"NOTICE: Importing 2D textures is not mandatory. Just copy png/jpg files to " +"the project." +msgstr "" + +#: tools/editor/io_plugins/editor_texture_import_plugin.cpp +msgid "Crop empty space." +msgstr "" + +#: tools/editor/io_plugins/editor_texture_import_plugin.cpp +msgid "Texture" +msgstr "" + +#: tools/editor/io_plugins/editor_texture_import_plugin.cpp +msgid "Import Large Texture" +msgstr "" + +#: tools/editor/io_plugins/editor_texture_import_plugin.cpp +msgid "Load Source Image" +msgstr "" + +#: tools/editor/io_plugins/editor_texture_import_plugin.cpp +msgid "Slicing" +msgstr "" + +#: tools/editor/io_plugins/editor_texture_import_plugin.cpp +msgid "Inserting" +msgstr "" + +#: tools/editor/io_plugins/editor_texture_import_plugin.cpp +msgid "Saving" +msgstr "" + +#: tools/editor/io_plugins/editor_texture_import_plugin.cpp +msgid "Couldn't save large texture:" +msgstr "" + +#: tools/editor/io_plugins/editor_texture_import_plugin.cpp +msgid "Build Atlas For:" +msgstr "" + +#: tools/editor/io_plugins/editor_texture_import_plugin.cpp +msgid "Loading Image:" +msgstr "" + +#: tools/editor/io_plugins/editor_texture_import_plugin.cpp +msgid "Couldn't load image:" +msgstr "" + +#: tools/editor/io_plugins/editor_texture_import_plugin.cpp +msgid "Converting Images" +msgstr "" + +#: tools/editor/io_plugins/editor_texture_import_plugin.cpp +msgid "Cropping Images" +msgstr "" + +#: tools/editor/io_plugins/editor_texture_import_plugin.cpp +msgid "Blitting Images" +msgstr "" + +#: tools/editor/io_plugins/editor_texture_import_plugin.cpp +msgid "Couldn't save atlas image:" +msgstr "" + +#: tools/editor/io_plugins/editor_texture_import_plugin.cpp +msgid "Couldn't save converted texture:" +msgstr "" + +#: tools/editor/io_plugins/editor_translation_import_plugin.cpp +msgid "Invalid source!" +msgstr "" + +#: tools/editor/io_plugins/editor_translation_import_plugin.cpp +msgid "Invalid translation source!" +msgstr "" + +#: tools/editor/io_plugins/editor_translation_import_plugin.cpp +msgid "Column" +msgstr "" + +#: tools/editor/io_plugins/editor_translation_import_plugin.cpp +#: tools/editor/script_create_dialog.cpp +msgid "Language" +msgstr "" + +#: tools/editor/io_plugins/editor_translation_import_plugin.cpp +msgid "No items to import!" +msgstr "" + +#: tools/editor/io_plugins/editor_translation_import_plugin.cpp +msgid "No target path!" +msgstr "" + +#: tools/editor/io_plugins/editor_translation_import_plugin.cpp +msgid "Import Translations" +msgstr "" + +#: tools/editor/io_plugins/editor_translation_import_plugin.cpp +msgid "Couldn't import!" +msgstr "" + +#: tools/editor/io_plugins/editor_translation_import_plugin.cpp +msgid "Import Translation" +msgstr "" + +#: tools/editor/io_plugins/editor_translation_import_plugin.cpp +msgid "Source CSV:" +msgstr "" + +#: tools/editor/io_plugins/editor_translation_import_plugin.cpp +msgid "Ignore First Row" +msgstr "" + +#: tools/editor/io_plugins/editor_translation_import_plugin.cpp +msgid "Compress" +msgstr "" + +#: tools/editor/io_plugins/editor_translation_import_plugin.cpp +msgid "Add to Project (engine.cfg)" +msgstr "" + +#: tools/editor/io_plugins/editor_translation_import_plugin.cpp +msgid "Import Languages:" +msgstr "" + +#: tools/editor/io_plugins/editor_translation_import_plugin.cpp +msgid "Translation" +msgstr "" + +#: tools/editor/multi_node_edit.cpp +msgid "MultiNode Set" +msgstr "" + +#: tools/editor/node_dock.cpp +msgid "Node" +msgstr "" + +#: tools/editor/node_dock.cpp +msgid "Groups" +msgstr "" + +#: tools/editor/node_dock.cpp +msgid "Select a Node to edit Signals and Groups." +msgstr "" + +#: tools/editor/plugins/animation_player_editor_plugin.cpp +msgid "Toggle Autoplay" +msgstr "" + +#: tools/editor/plugins/animation_player_editor_plugin.cpp +msgid "New Animation Name:" +msgstr "" + +#: tools/editor/plugins/animation_player_editor_plugin.cpp +msgid "New Anim" +msgstr "" + +#: tools/editor/plugins/animation_player_editor_plugin.cpp +msgid "Change Animation Name:" +msgstr "" + +#: tools/editor/plugins/animation_player_editor_plugin.cpp +#: tools/editor/plugins/sprite_frames_editor_plugin.cpp +msgid "Remove Animation" +msgstr "" + +#: tools/editor/plugins/animation_player_editor_plugin.cpp +msgid "ERROR: Invalid animation name!" +msgstr "" + +#: tools/editor/plugins/animation_player_editor_plugin.cpp +msgid "ERROR: Animation name already exists!" +msgstr "" + +#: tools/editor/plugins/animation_player_editor_plugin.cpp +#: tools/editor/plugins/sprite_frames_editor_plugin.cpp +msgid "Rename Animation" +msgstr "" + +#: tools/editor/plugins/animation_player_editor_plugin.cpp +#: tools/editor/plugins/sprite_frames_editor_plugin.cpp +msgid "Add Animation" +msgstr "" + +#: tools/editor/plugins/animation_player_editor_plugin.cpp +msgid "Blend Next Changed" +msgstr "" + +#: tools/editor/plugins/animation_player_editor_plugin.cpp +msgid "Change Blend Time" +msgstr "" + +#: tools/editor/plugins/animation_player_editor_plugin.cpp +msgid "Load Animation" +msgstr "" + +#: tools/editor/plugins/animation_player_editor_plugin.cpp +msgid "Duplicate Animation" +msgstr "" + +#: tools/editor/plugins/animation_player_editor_plugin.cpp +msgid "ERROR: No animation to copy!" +msgstr "" + +#: tools/editor/plugins/animation_player_editor_plugin.cpp +msgid "ERROR: No animation resource on clipboard!" +msgstr "" + +#: tools/editor/plugins/animation_player_editor_plugin.cpp +msgid "Pasted Animation" +msgstr "" + +#: tools/editor/plugins/animation_player_editor_plugin.cpp +msgid "Paste Animation" +msgstr "" + +#: tools/editor/plugins/animation_player_editor_plugin.cpp +msgid "ERROR: No animation to edit!" +msgstr "" + +#: tools/editor/plugins/animation_player_editor_plugin.cpp +msgid "Play selected animation backwards from current pos. (A)" +msgstr "" + +#: tools/editor/plugins/animation_player_editor_plugin.cpp +msgid "Play selected animation backwards from end. (Shift+A)" +msgstr "" + +#: tools/editor/plugins/animation_player_editor_plugin.cpp +msgid "Stop animation playback. (S)" +msgstr "" + +#: tools/editor/plugins/animation_player_editor_plugin.cpp +msgid "Play selected animation from start. (Shift+D)" +msgstr "" + +#: tools/editor/plugins/animation_player_editor_plugin.cpp +msgid "Play selected animation from current pos. (D)" +msgstr "" + +#: tools/editor/plugins/animation_player_editor_plugin.cpp +msgid "Animation position (in seconds)." +msgstr "" + +#: tools/editor/plugins/animation_player_editor_plugin.cpp +msgid "Scale animation playback globally for the node." +msgstr "" + +#: tools/editor/plugins/animation_player_editor_plugin.cpp +msgid "Create new animation in player." +msgstr "" + +#: tools/editor/plugins/animation_player_editor_plugin.cpp +msgid "Load animation from disk." +msgstr "" + +#: tools/editor/plugins/animation_player_editor_plugin.cpp +msgid "Load an animation from disk." +msgstr "" + +#: tools/editor/plugins/animation_player_editor_plugin.cpp +msgid "Save the current animation" +msgstr "" + +#: tools/editor/plugins/animation_player_editor_plugin.cpp +msgid "Save As" +msgstr "" + +#: tools/editor/plugins/animation_player_editor_plugin.cpp +msgid "Display list of animations in player." +msgstr "" + +#: tools/editor/plugins/animation_player_editor_plugin.cpp +msgid "Autoplay on Load" +msgstr "" + +#: tools/editor/plugins/animation_player_editor_plugin.cpp +msgid "Edit Target Blend Times" +msgstr "" + +#: tools/editor/plugins/animation_player_editor_plugin.cpp +msgid "Animation Tools" +msgstr "" + +#: tools/editor/plugins/animation_player_editor_plugin.cpp +msgid "Copy Animation" +msgstr "" + +#: tools/editor/plugins/animation_player_editor_plugin.cpp +msgid "Create New Animation" +msgstr "" + +#: tools/editor/plugins/animation_player_editor_plugin.cpp +msgid "Animation Name:" +msgstr "" + +#: tools/editor/plugins/animation_player_editor_plugin.cpp +#: tools/editor/plugins/resource_preloader_editor_plugin.cpp +#: tools/editor/plugins/sample_library_editor_plugin.cpp +#: tools/editor/plugins/sprite_frames_editor_plugin.cpp +#: tools/editor/property_editor.cpp tools/editor/script_create_dialog.cpp +msgid "Error!" +msgstr "" + +#: tools/editor/plugins/animation_player_editor_plugin.cpp +msgid "Blend Times:" +msgstr "" + +#: tools/editor/plugins/animation_player_editor_plugin.cpp +msgid "Next (Auto Queue):" +msgstr "" + +#: tools/editor/plugins/animation_player_editor_plugin.cpp +msgid "Cross-Animation Blend Times" +msgstr "" + +#: tools/editor/plugins/animation_player_editor_plugin.cpp +#: tools/editor/plugins/canvas_item_editor_plugin.cpp +msgid "Animation" +msgstr "" + +#: tools/editor/plugins/animation_tree_editor_plugin.cpp +msgid "New name:" +msgstr "" + +#: tools/editor/plugins/animation_tree_editor_plugin.cpp +#: tools/editor/plugins/multimesh_editor_plugin.cpp +msgid "Scale:" +msgstr "" + +#: tools/editor/plugins/animation_tree_editor_plugin.cpp +msgid "Fade In (s):" +msgstr "" + +#: tools/editor/plugins/animation_tree_editor_plugin.cpp +msgid "Fade Out (s):" +msgstr "" + +#: tools/editor/plugins/animation_tree_editor_plugin.cpp +msgid "Blend" +msgstr "" + +#: tools/editor/plugins/animation_tree_editor_plugin.cpp +msgid "Mix" +msgstr "" + +#: tools/editor/plugins/animation_tree_editor_plugin.cpp +msgid "Auto Restart:" +msgstr "" + +#: tools/editor/plugins/animation_tree_editor_plugin.cpp +msgid "Restart (s):" +msgstr "" + +#: tools/editor/plugins/animation_tree_editor_plugin.cpp +msgid "Random Restart (s):" +msgstr "" + +#: tools/editor/plugins/animation_tree_editor_plugin.cpp +msgid "Start!" +msgstr "" + +#: tools/editor/plugins/animation_tree_editor_plugin.cpp +#: tools/editor/plugins/multimesh_editor_plugin.cpp +msgid "Amount:" +msgstr "" + +#: tools/editor/plugins/animation_tree_editor_plugin.cpp +msgid "Blend:" +msgstr "" + +#: tools/editor/plugins/animation_tree_editor_plugin.cpp +msgid "Blend 0:" +msgstr "" + +#: tools/editor/plugins/animation_tree_editor_plugin.cpp +msgid "Blend 1:" +msgstr "" + +#: tools/editor/plugins/animation_tree_editor_plugin.cpp +msgid "X-Fade Time (s):" +msgstr "" + +#: tools/editor/plugins/animation_tree_editor_plugin.cpp +msgid "Current:" +msgstr "" + +#: tools/editor/plugins/animation_tree_editor_plugin.cpp +msgid "Add Input" +msgstr "" + +#: tools/editor/plugins/animation_tree_editor_plugin.cpp +msgid "Clear Auto-Advance" +msgstr "" + +#: tools/editor/plugins/animation_tree_editor_plugin.cpp +msgid "Set Auto-Advance" +msgstr "" + +#: tools/editor/plugins/animation_tree_editor_plugin.cpp +msgid "Delete Input" +msgstr "" + +#: tools/editor/plugins/animation_tree_editor_plugin.cpp +msgid "Rename" +msgstr "" + +#: tools/editor/plugins/animation_tree_editor_plugin.cpp +msgid "Animation tree is valid." +msgstr "" + +#: tools/editor/plugins/animation_tree_editor_plugin.cpp +msgid "Animation tree is invalid." +msgstr "" + +#: tools/editor/plugins/animation_tree_editor_plugin.cpp +msgid "Animation Node" +msgstr "" + +#: tools/editor/plugins/animation_tree_editor_plugin.cpp +msgid "OneShot Node" +msgstr "" + +#: tools/editor/plugins/animation_tree_editor_plugin.cpp +msgid "Mix Node" +msgstr "" + +#: tools/editor/plugins/animation_tree_editor_plugin.cpp +msgid "Blend2 Node" +msgstr "" + +#: tools/editor/plugins/animation_tree_editor_plugin.cpp +msgid "Blend3 Node" +msgstr "" + +#: tools/editor/plugins/animation_tree_editor_plugin.cpp +msgid "Blend4 Node" +msgstr "" + +#: tools/editor/plugins/animation_tree_editor_plugin.cpp +msgid "TimeScale Node" +msgstr "" + +#: tools/editor/plugins/animation_tree_editor_plugin.cpp +msgid "TimeSeek Node" +msgstr "" + +#: tools/editor/plugins/animation_tree_editor_plugin.cpp +msgid "Transition Node" +msgstr "" + +#: tools/editor/plugins/animation_tree_editor_plugin.cpp +msgid "Import Animations.." +msgstr "" + +#: tools/editor/plugins/animation_tree_editor_plugin.cpp +msgid "Edit Node Filters" +msgstr "" + +#: tools/editor/plugins/animation_tree_editor_plugin.cpp +msgid "Filters.." +msgstr "" + +#: tools/editor/plugins/baked_light_baker.cpp +msgid "Parsing %d Triangles:" +msgstr "" + +#: tools/editor/plugins/baked_light_baker.cpp +msgid "Triangle #" +msgstr "" + +#: tools/editor/plugins/baked_light_baker.cpp +msgid "Light Baker Setup:" +msgstr "" + +#: tools/editor/plugins/baked_light_baker.cpp +msgid "Parsing Geometry" +msgstr "" + +#: tools/editor/plugins/baked_light_baker.cpp +msgid "Fixing Lights" +msgstr "" + +#: tools/editor/plugins/baked_light_baker.cpp +msgid "Making BVH" +msgstr "" + +#: tools/editor/plugins/baked_light_baker.cpp +msgid "Creating Light Octree" +msgstr "" + +#: tools/editor/plugins/baked_light_baker.cpp +msgid "Creating Octree Texture" +msgstr "" + +#: tools/editor/plugins/baked_light_baker.cpp +msgid "Transfer to Lightmaps:" +msgstr "" + +#: tools/editor/plugins/baked_light_baker.cpp +msgid "Allocating Texture #" +msgstr "" + +#: tools/editor/plugins/baked_light_baker.cpp +msgid "Baking Triangle #" +msgstr "" + +#: tools/editor/plugins/baked_light_baker.cpp +msgid "Post-Processing Texture #" +msgstr "" + +#: tools/editor/plugins/baked_light_editor_plugin.cpp +msgid "BakedLightInstance does not contain a BakedLight resource." +msgstr "" + +#: tools/editor/plugins/baked_light_editor_plugin.cpp +msgid "Bake!" +msgstr "" + +#: tools/editor/plugins/baked_light_editor_plugin.cpp +msgid "Reset the lightmap octree baking process (start over)." +msgstr "" + +#: tools/editor/plugins/camera_editor_plugin.cpp +#: tools/editor/plugins/sample_library_editor_plugin.cpp +msgid "Preview" +msgstr "" + +#: tools/editor/plugins/canvas_item_editor_plugin.cpp +msgid "Configure Snap" +msgstr "" + +#: tools/editor/plugins/canvas_item_editor_plugin.cpp +#: tools/editor/plugins/polygon_2d_editor_plugin.cpp +msgid "Grid Offset:" +msgstr "" + +#: tools/editor/plugins/canvas_item_editor_plugin.cpp +#: tools/editor/plugins/polygon_2d_editor_plugin.cpp +msgid "Grid Step:" +msgstr "" + +#: tools/editor/plugins/canvas_item_editor_plugin.cpp +msgid "Rotation Offset:" +msgstr "" + +#: tools/editor/plugins/canvas_item_editor_plugin.cpp +msgid "Rotation Step:" +msgstr "" + +#: tools/editor/plugins/canvas_item_editor_plugin.cpp +msgid "Move Pivot" +msgstr "" + +#: tools/editor/plugins/canvas_item_editor_plugin.cpp +msgid "Move Action" +msgstr "" + +#: tools/editor/plugins/canvas_item_editor_plugin.cpp +msgid "Edit IK Chain" +msgstr "" + +#: tools/editor/plugins/canvas_item_editor_plugin.cpp +msgid "Edit CanvasItem" +msgstr "" + +#: tools/editor/plugins/canvas_item_editor_plugin.cpp +msgid "Change Anchors" +msgstr "" + +#: tools/editor/plugins/canvas_item_editor_plugin.cpp +msgid "Zoom (%):" +msgstr "" + +#: tools/editor/plugins/canvas_item_editor_plugin.cpp +msgid "Paste Pose" +msgstr "" + +#: tools/editor/plugins/canvas_item_editor_plugin.cpp +msgid "Select Mode (Q)" +msgstr "" + +#: tools/editor/plugins/canvas_item_editor_plugin.cpp +msgid "Drag: Rotate" +msgstr "" + +#: tools/editor/plugins/canvas_item_editor_plugin.cpp +msgid "Alt+Drag: Move" +msgstr "" + +#: tools/editor/plugins/canvas_item_editor_plugin.cpp +msgid "Press 'v' to Change Pivot, 'Shift+v' to Drag Pivot (while moving)." +msgstr "" + +#: tools/editor/plugins/canvas_item_editor_plugin.cpp +msgid "Alt+RMB: Depth list selection" +msgstr "" + +#: tools/editor/plugins/canvas_item_editor_plugin.cpp +#: tools/editor/plugins/spatial_editor_plugin.cpp +msgid "Move Mode (W)" +msgstr "" + +#: tools/editor/plugins/canvas_item_editor_plugin.cpp +#: tools/editor/plugins/spatial_editor_plugin.cpp +msgid "Rotate Mode (E)" +msgstr "" + +#: tools/editor/plugins/canvas_item_editor_plugin.cpp +#: tools/editor/plugins/spatial_editor_plugin.cpp +msgid "" +"Show a list of all objects at the position clicked\n" +"(same as Alt+RMB in select mode)." +msgstr "" + +#: tools/editor/plugins/canvas_item_editor_plugin.cpp +msgid "Click to change object's rotation pivot." +msgstr "" + +#: tools/editor/plugins/canvas_item_editor_plugin.cpp +msgid "Pan Mode" +msgstr "" + +#: tools/editor/plugins/canvas_item_editor_plugin.cpp +msgid "Lock the selected object in place (can't be moved)." +msgstr "" + +#: tools/editor/plugins/canvas_item_editor_plugin.cpp +msgid "Unlock the selected object (can be moved)." +msgstr "" + +#: tools/editor/plugins/canvas_item_editor_plugin.cpp +msgid "Makes sure the object's children are not selectable." +msgstr "" + +#: tools/editor/plugins/canvas_item_editor_plugin.cpp +msgid "Restores the object's children's ability to be selected." +msgstr "" + +#: tools/editor/plugins/canvas_item_editor_plugin.cpp +#: tools/editor/plugins/polygon_2d_editor_plugin.cpp +#: tools/editor/plugins/script_editor_plugin.cpp +#: tools/editor/plugins/shader_editor_plugin.cpp +#: tools/editor/project_manager.cpp +msgid "Edit" +msgstr "" + +#: tools/editor/plugins/canvas_item_editor_plugin.cpp +#: tools/editor/plugins/spatial_editor_plugin.cpp +msgid "Use Snap" +msgstr "" + +#: tools/editor/plugins/canvas_item_editor_plugin.cpp +#: tools/editor/plugins/polygon_2d_editor_plugin.cpp +msgid "Show Grid" +msgstr "" + +#: tools/editor/plugins/canvas_item_editor_plugin.cpp +msgid "Use Rotation Snap" +msgstr "" + +#: tools/editor/plugins/canvas_item_editor_plugin.cpp +msgid "Snap Relative" +msgstr "" + +#: tools/editor/plugins/canvas_item_editor_plugin.cpp +#: tools/editor/plugins/spatial_editor_plugin.cpp +msgid "Configure Snap.." +msgstr "" + +#: tools/editor/plugins/canvas_item_editor_plugin.cpp +msgid "Use Pixel Snap" +msgstr "" + +#: tools/editor/plugins/canvas_item_editor_plugin.cpp +msgid "Expand to Parent" +msgstr "" + +#: tools/editor/plugins/canvas_item_editor_plugin.cpp +msgid "Skeleton.." +msgstr "" + +#: tools/editor/plugins/canvas_item_editor_plugin.cpp +msgid "Make Bones" +msgstr "" + +#: tools/editor/plugins/canvas_item_editor_plugin.cpp +msgid "Clear Bones" +msgstr "" + +#: tools/editor/plugins/canvas_item_editor_plugin.cpp +msgid "Make IK Chain" +msgstr "" + +#: tools/editor/plugins/canvas_item_editor_plugin.cpp +msgid "Clear IK Chain" +msgstr "" + +#: tools/editor/plugins/canvas_item_editor_plugin.cpp +#: tools/editor/plugins/spatial_editor_plugin.cpp +msgid "View" +msgstr "" + +#: tools/editor/plugins/canvas_item_editor_plugin.cpp +msgid "Zoom In" +msgstr "" + +#: tools/editor/plugins/canvas_item_editor_plugin.cpp +msgid "Zoom Out" +msgstr "" + +#: tools/editor/plugins/canvas_item_editor_plugin.cpp +msgid "Zoom Reset" +msgstr "" + +#: tools/editor/plugins/canvas_item_editor_plugin.cpp +msgid "Zoom Set.." +msgstr "" + +#: tools/editor/plugins/canvas_item_editor_plugin.cpp +msgid "Center Selection" +msgstr "" + +#: tools/editor/plugins/canvas_item_editor_plugin.cpp +msgid "Frame Selection" +msgstr "" + +#: tools/editor/plugins/canvas_item_editor_plugin.cpp +msgid "Anchor" +msgstr "" + +#: tools/editor/plugins/canvas_item_editor_plugin.cpp +msgid "Insert Keys" +msgstr "" + +#: tools/editor/plugins/canvas_item_editor_plugin.cpp +msgid "Insert Key" +msgstr "" + +#: tools/editor/plugins/canvas_item_editor_plugin.cpp +msgid "Insert Key (Existing Tracks)" +msgstr "" + +#: tools/editor/plugins/canvas_item_editor_plugin.cpp +msgid "Copy Pose" +msgstr "" + +#: tools/editor/plugins/canvas_item_editor_plugin.cpp +msgid "Clear Pose" +msgstr "" + +#: tools/editor/plugins/canvas_item_editor_plugin.cpp +msgid "Set a Value" +msgstr "" + +#: tools/editor/plugins/canvas_item_editor_plugin.cpp +msgid "Snap (Pixels):" +msgstr "" + +#: tools/editor/plugins/collision_polygon_2d_editor_plugin.cpp +#: tools/editor/plugins/light_occluder_2d_editor_plugin.cpp +#: tools/editor/plugins/navigation_polygon_editor_plugin.cpp +#: tools/editor/plugins/polygon_2d_editor_plugin.cpp +msgid "Create Poly" +msgstr "" + +#: tools/editor/plugins/collision_polygon_2d_editor_plugin.cpp +#: tools/editor/plugins/collision_polygon_editor_plugin.cpp +#: tools/editor/plugins/light_occluder_2d_editor_plugin.cpp +#: tools/editor/plugins/navigation_polygon_editor_plugin.cpp +#: tools/editor/plugins/path_2d_editor_plugin.cpp +#: tools/editor/plugins/polygon_2d_editor_plugin.cpp +msgid "Edit Poly" +msgstr "" + +#: tools/editor/plugins/collision_polygon_2d_editor_plugin.cpp +#: tools/editor/plugins/collision_polygon_editor_plugin.cpp +#: tools/editor/plugins/light_occluder_2d_editor_plugin.cpp +#: tools/editor/plugins/navigation_polygon_editor_plugin.cpp +#: tools/editor/plugins/path_2d_editor_plugin.cpp +#: tools/editor/plugins/polygon_2d_editor_plugin.cpp +msgid "Edit Poly (Remove Point)" +msgstr "" + +#: tools/editor/plugins/collision_polygon_2d_editor_plugin.cpp +#: tools/editor/plugins/light_occluder_2d_editor_plugin.cpp +#: tools/editor/plugins/navigation_polygon_editor_plugin.cpp +msgid "Create a new polygon from scratch." +msgstr "" + +#: tools/editor/plugins/collision_polygon_editor_plugin.cpp +msgid "Create Poly3D" +msgstr "" + +#: tools/editor/plugins/collision_shape_2d_editor_plugin.cpp +msgid "Set Handle" +msgstr "" + +#: tools/editor/plugins/color_ramp_editor_plugin.cpp +msgid "Add/Remove Color Ramp Point" +msgstr "" + +#: tools/editor/plugins/color_ramp_editor_plugin.cpp +#: tools/editor/plugins/shader_graph_editor_plugin.cpp +msgid "Modify Color Ramp" +msgstr "" + +#: tools/editor/plugins/cube_grid_theme_editor_plugin.cpp +msgid "Creating Mesh Library" +msgstr "" + +#: tools/editor/plugins/cube_grid_theme_editor_plugin.cpp +msgid "Thumbnail.." +msgstr "" + +#: tools/editor/plugins/cube_grid_theme_editor_plugin.cpp +msgid "Remove item %d?" +msgstr "" + +#: tools/editor/plugins/cube_grid_theme_editor_plugin.cpp +#: tools/editor/plugins/theme_editor_plugin.cpp +#: tools/editor/plugins/tile_set_editor_plugin.cpp +msgid "Add Item" +msgstr "" + +#: tools/editor/plugins/cube_grid_theme_editor_plugin.cpp +msgid "Remove Selected Item" +msgstr "" + +#: tools/editor/plugins/cube_grid_theme_editor_plugin.cpp +msgid "Import from Scene" +msgstr "" + +#: tools/editor/plugins/cube_grid_theme_editor_plugin.cpp +msgid "Update from Scene" +msgstr "" + +#: tools/editor/plugins/item_list_editor_plugin.cpp +msgid "Item %d" +msgstr "" + +#: tools/editor/plugins/item_list_editor_plugin.cpp +msgid "Items" +msgstr "" + +#: tools/editor/plugins/item_list_editor_plugin.cpp +msgid "Item List Editor" +msgstr "" + +#: tools/editor/plugins/light_occluder_2d_editor_plugin.cpp +msgid "Create Occluder Polygon" +msgstr "" + +#: tools/editor/plugins/light_occluder_2d_editor_plugin.cpp +#: tools/editor/plugins/navigation_polygon_editor_plugin.cpp +msgid "Edit existing polygon:" +msgstr "" + +#: tools/editor/plugins/light_occluder_2d_editor_plugin.cpp +#: tools/editor/plugins/navigation_polygon_editor_plugin.cpp +msgid "LMB: Move Point." +msgstr "" + +#: tools/editor/plugins/light_occluder_2d_editor_plugin.cpp +#: tools/editor/plugins/navigation_polygon_editor_plugin.cpp +msgid "Ctrl+LMB: Split Segment." +msgstr "" + +#: tools/editor/plugins/light_occluder_2d_editor_plugin.cpp +#: tools/editor/plugins/navigation_polygon_editor_plugin.cpp +msgid "RMB: Erase Point." +msgstr "" + +#: tools/editor/plugins/mesh_instance_editor_plugin.cpp +msgid "Mesh is empty!" +msgstr "" + +#: tools/editor/plugins/mesh_instance_editor_plugin.cpp +msgid "Create Static Trimesh Body" +msgstr "" + +#: tools/editor/plugins/mesh_instance_editor_plugin.cpp +msgid "Create Static Convex Body" +msgstr "" + +#: tools/editor/plugins/mesh_instance_editor_plugin.cpp +msgid "This doesn't work on scene root!" +msgstr "" + +#: tools/editor/plugins/mesh_instance_editor_plugin.cpp +msgid "Create Trimesh Shape" +msgstr "" + +#: tools/editor/plugins/mesh_instance_editor_plugin.cpp +msgid "Create Convex Shape" +msgstr "" + +#: tools/editor/plugins/mesh_instance_editor_plugin.cpp +msgid "Create Navigation Mesh" +msgstr "" + +#: tools/editor/plugins/mesh_instance_editor_plugin.cpp +msgid "MeshInstance lacks a Mesh!" +msgstr "" + +#: tools/editor/plugins/mesh_instance_editor_plugin.cpp +msgid "Mesh has not surface to create outlines from!" +msgstr "" + +#: tools/editor/plugins/mesh_instance_editor_plugin.cpp +msgid "Could not create outline!" +msgstr "" + +#: tools/editor/plugins/mesh_instance_editor_plugin.cpp +msgid "Create Outline" +msgstr "" + +#: tools/editor/plugins/mesh_instance_editor_plugin.cpp +msgid "Create Trimesh Static Body" +msgstr "" + +#: tools/editor/plugins/mesh_instance_editor_plugin.cpp +msgid "Create Convex Static Body" +msgstr "" + +#: tools/editor/plugins/mesh_instance_editor_plugin.cpp +msgid "Create Trimesh Collision Sibling" +msgstr "" + +#: tools/editor/plugins/mesh_instance_editor_plugin.cpp +msgid "Create Convex Collision Sibling" +msgstr "" + +#: tools/editor/plugins/mesh_instance_editor_plugin.cpp +msgid "Create Outline Mesh.." +msgstr "" + +#: tools/editor/plugins/mesh_instance_editor_plugin.cpp +msgid "Create Outline Mesh" +msgstr "" + +#: tools/editor/plugins/mesh_instance_editor_plugin.cpp +msgid "Outline Size:" +msgstr "" + +#: tools/editor/plugins/multimesh_editor_plugin.cpp +msgid "No mesh source specified (and no MultiMesh set in node)." +msgstr "" + +#: tools/editor/plugins/multimesh_editor_plugin.cpp +msgid "No mesh source specified (and MultiMesh contains no Mesh)." +msgstr "" + +#: tools/editor/plugins/multimesh_editor_plugin.cpp +msgid "Mesh source is invalid (invalid path)." +msgstr "" + +#: tools/editor/plugins/multimesh_editor_plugin.cpp +msgid "Mesh source is invalid (not a MeshInstance)." +msgstr "" + +#: tools/editor/plugins/multimesh_editor_plugin.cpp +msgid "Mesh source is invalid (contains no Mesh resource)." +msgstr "" + +#: tools/editor/plugins/multimesh_editor_plugin.cpp +msgid "No surface source specified." +msgstr "" + +#: tools/editor/plugins/multimesh_editor_plugin.cpp +msgid "Surface source is invalid (invalid path)." +msgstr "" + +#: tools/editor/plugins/multimesh_editor_plugin.cpp +msgid "Surface source is invalid (no geometry)." +msgstr "" + +#: tools/editor/plugins/multimesh_editor_plugin.cpp +msgid "Surface source is invalid (no faces)." +msgstr "" + +#: tools/editor/plugins/multimesh_editor_plugin.cpp +msgid "Parent has no solid faces to populate." +msgstr "" + +#: tools/editor/plugins/multimesh_editor_plugin.cpp +msgid "Couldn't map area." +msgstr "" + +#: tools/editor/plugins/multimesh_editor_plugin.cpp +msgid "Select a Source Mesh:" +msgstr "" + +#: tools/editor/plugins/multimesh_editor_plugin.cpp +msgid "Select a Target Surface:" +msgstr "" + +#: tools/editor/plugins/multimesh_editor_plugin.cpp +msgid "Populate Surface" +msgstr "" + +#: tools/editor/plugins/multimesh_editor_plugin.cpp +msgid "Populate MultiMesh" +msgstr "" + +#: tools/editor/plugins/multimesh_editor_plugin.cpp +msgid "Target Surface:" +msgstr "" + +#: tools/editor/plugins/multimesh_editor_plugin.cpp +msgid "Source Mesh:" +msgstr "" + +#: tools/editor/plugins/multimesh_editor_plugin.cpp +msgid "X-Axis" +msgstr "" + +#: tools/editor/plugins/multimesh_editor_plugin.cpp +msgid "Y-Axis" +msgstr "" + +#: tools/editor/plugins/multimesh_editor_plugin.cpp +msgid "Z-Axis" +msgstr "" + +#: tools/editor/plugins/multimesh_editor_plugin.cpp +msgid "Mesh Up Axis:" +msgstr "" + +#: tools/editor/plugins/multimesh_editor_plugin.cpp +msgid "Random Rotation:" +msgstr "" + +#: tools/editor/plugins/multimesh_editor_plugin.cpp +msgid "Random Tilt:" +msgstr "" + +#: tools/editor/plugins/multimesh_editor_plugin.cpp +msgid "Random Scale:" +msgstr "" + +#: tools/editor/plugins/multimesh_editor_plugin.cpp +msgid "Populate" +msgstr "" + +#: tools/editor/plugins/navigation_polygon_editor_plugin.cpp +msgid "Create Navigation Polygon" +msgstr "" + +#: tools/editor/plugins/navigation_polygon_editor_plugin.cpp +msgid "Remove Poly And Point" +msgstr "" + +#: tools/editor/plugins/particles_2d_editor_plugin.cpp +msgid "Error loading image:" +msgstr "" + +#: tools/editor/plugins/particles_2d_editor_plugin.cpp +msgid "No pixels with transparency > 128 in image.." +msgstr "" + +#: tools/editor/plugins/particles_2d_editor_plugin.cpp +msgid "Set Emission Mask" +msgstr "" + +#: tools/editor/plugins/particles_2d_editor_plugin.cpp +msgid "Clear Emission Mask" +msgstr "" + +#: tools/editor/plugins/particles_2d_editor_plugin.cpp +msgid "Load Emission Mask" +msgstr "" + +#: tools/editor/plugins/particles_2d_editor_plugin.cpp +msgid "Generated Point Count:" +msgstr "" + +#: tools/editor/plugins/particles_editor_plugin.cpp +msgid "Node does not contain geometry." +msgstr "" + +#: tools/editor/plugins/particles_editor_plugin.cpp +msgid "Node does not contain geometry (faces)." +msgstr "" + +#: tools/editor/plugins/particles_editor_plugin.cpp +msgid "Faces contain no area!" +msgstr "" + +#: tools/editor/plugins/particles_editor_plugin.cpp +msgid "No faces!" +msgstr "" + +#: tools/editor/plugins/particles_editor_plugin.cpp +msgid "Generate AABB" +msgstr "" + +#: tools/editor/plugins/particles_editor_plugin.cpp +msgid "Create Emitter From Mesh" +msgstr "" + +#: tools/editor/plugins/particles_editor_plugin.cpp +msgid "Create Emitter From Node" +msgstr "" + +#: tools/editor/plugins/particles_editor_plugin.cpp +msgid "Clear Emitter" +msgstr "" + +#: tools/editor/plugins/particles_editor_plugin.cpp +msgid "Create Emitter" +msgstr "" + +#: tools/editor/plugins/particles_editor_plugin.cpp +msgid "Emission Positions:" +msgstr "" + +#: tools/editor/plugins/particles_editor_plugin.cpp +msgid "Emission Fill:" +msgstr "" + +#: tools/editor/plugins/particles_editor_plugin.cpp +msgid "Surface" +msgstr "" + +#: tools/editor/plugins/particles_editor_plugin.cpp +msgid "Volume" +msgstr "" + +#: tools/editor/plugins/path_2d_editor_plugin.cpp +msgid "Remove Point from Curve" +msgstr "" + +#: tools/editor/plugins/path_2d_editor_plugin.cpp +#: tools/editor/plugins/path_editor_plugin.cpp +msgid "Add Point to Curve" +msgstr "" + +#: tools/editor/plugins/path_2d_editor_plugin.cpp +msgid "Move Point in Curve" +msgstr "" + +#: tools/editor/plugins/path_2d_editor_plugin.cpp +msgid "Move In-Control in Curve" +msgstr "" + +#: tools/editor/plugins/path_2d_editor_plugin.cpp +msgid "Move Out-Control in Curve" +msgstr "" + +#: tools/editor/plugins/path_2d_editor_plugin.cpp +#: tools/editor/plugins/path_editor_plugin.cpp +msgid "Select Points" +msgstr "" + +#: tools/editor/plugins/path_2d_editor_plugin.cpp +#: tools/editor/plugins/path_editor_plugin.cpp +msgid "Shift+Drag: Select Control Points" +msgstr "" + +#: tools/editor/plugins/path_2d_editor_plugin.cpp +#: tools/editor/plugins/path_editor_plugin.cpp +msgid "Click: Add Point" +msgstr "" + +#: tools/editor/plugins/path_2d_editor_plugin.cpp +#: tools/editor/plugins/path_editor_plugin.cpp +msgid "Right Click: Delete Point" +msgstr "" + +#: tools/editor/plugins/path_2d_editor_plugin.cpp +msgid "Select Control Points (Shift+Drag)" +msgstr "" + +#: tools/editor/plugins/path_2d_editor_plugin.cpp +#: tools/editor/plugins/path_editor_plugin.cpp +msgid "Add Point (in empty space)" +msgstr "" + +#: tools/editor/plugins/path_2d_editor_plugin.cpp +#: tools/editor/plugins/path_editor_plugin.cpp +msgid "Split Segment (in curve)" +msgstr "" + +#: tools/editor/plugins/path_2d_editor_plugin.cpp +#: tools/editor/plugins/path_editor_plugin.cpp +msgid "Delete Point" +msgstr "" + +#: tools/editor/plugins/path_2d_editor_plugin.cpp +#: tools/editor/plugins/path_editor_plugin.cpp +msgid "Close Curve" +msgstr "" + +#: tools/editor/plugins/path_editor_plugin.cpp +msgid "Curve Point #" +msgstr "" + +#: tools/editor/plugins/path_editor_plugin.cpp +msgid "Set Curve Point Pos" +msgstr "" + +#: tools/editor/plugins/path_editor_plugin.cpp +msgid "Set Curve In Pos" +msgstr "" + +#: tools/editor/plugins/path_editor_plugin.cpp +msgid "Set Curve Out Pos" +msgstr "" + +#: tools/editor/plugins/path_editor_plugin.cpp +msgid "Split Path" +msgstr "" + +#: tools/editor/plugins/path_editor_plugin.cpp +msgid "Remove Path Point" +msgstr "" + +#: tools/editor/plugins/polygon_2d_editor_plugin.cpp +msgid "Create UV Map" +msgstr "" + +#: tools/editor/plugins/polygon_2d_editor_plugin.cpp +msgid "Transform UV Map" +msgstr "" + +#: tools/editor/plugins/polygon_2d_editor_plugin.cpp +msgid "Polygon 2D UV Editor" +msgstr "" + +#: tools/editor/plugins/polygon_2d_editor_plugin.cpp +msgid "Move Point" +msgstr "" + +#: tools/editor/plugins/polygon_2d_editor_plugin.cpp +msgid "Ctrl: Rotate" +msgstr "" + +#: tools/editor/plugins/polygon_2d_editor_plugin.cpp +msgid "Shift: Move All" +msgstr "" + +#: tools/editor/plugins/polygon_2d_editor_plugin.cpp +msgid "Shift+Ctrl: Scale" +msgstr "" + +#: tools/editor/plugins/polygon_2d_editor_plugin.cpp +msgid "Move Polygon" +msgstr "" + +#: tools/editor/plugins/polygon_2d_editor_plugin.cpp +msgid "Rotate Polygon" +msgstr "" + +#: tools/editor/plugins/polygon_2d_editor_plugin.cpp +msgid "Scale Polygon" +msgstr "" + +#: tools/editor/plugins/polygon_2d_editor_plugin.cpp +msgid "Polygon->UV" +msgstr "" + +#: tools/editor/plugins/polygon_2d_editor_plugin.cpp +msgid "UV->Polygon" +msgstr "" + +#: tools/editor/plugins/polygon_2d_editor_plugin.cpp +msgid "Clear UV" +msgstr "" + +#: tools/editor/plugins/polygon_2d_editor_plugin.cpp +#: tools/editor/plugins/spatial_editor_plugin.cpp +msgid "Snap" +msgstr "" + +#: tools/editor/plugins/polygon_2d_editor_plugin.cpp +msgid "Enable Snap" +msgstr "" + +#: tools/editor/plugins/polygon_2d_editor_plugin.cpp +msgid "Grid" +msgstr "" + +#: tools/editor/plugins/resource_preloader_editor_plugin.cpp +msgid "ERROR: Couldn't load resource!" +msgstr "" + +#: tools/editor/plugins/resource_preloader_editor_plugin.cpp +msgid "Add Resource" +msgstr "" + +#: tools/editor/plugins/resource_preloader_editor_plugin.cpp +msgid "Rename Resource" +msgstr "" + +#: tools/editor/plugins/resource_preloader_editor_plugin.cpp +#: tools/editor/plugins/sprite_frames_editor_plugin.cpp +msgid "Delete Resource" +msgstr "" + +#: tools/editor/plugins/resource_preloader_editor_plugin.cpp +msgid "Resource clipboard is empty!" +msgstr "" + +#: tools/editor/plugins/resource_preloader_editor_plugin.cpp +#: tools/editor/plugins/sprite_frames_editor_plugin.cpp +msgid "Load Resource" +msgstr "" + +#: tools/editor/plugins/rich_text_editor_plugin.cpp +msgid "Parse BBCode" +msgstr "" + +#: tools/editor/plugins/sample_editor_plugin.cpp +msgid "Length:" +msgstr "" + +#: tools/editor/plugins/sample_library_editor_plugin.cpp +msgid "Open Sample File(s)" +msgstr "" + +#: tools/editor/plugins/sample_library_editor_plugin.cpp +msgid "ERROR: Couldn't load sample!" +msgstr "" + +#: tools/editor/plugins/sample_library_editor_plugin.cpp +msgid "Add Sample" +msgstr "" + +#: tools/editor/plugins/sample_library_editor_plugin.cpp +msgid "Rename Sample" +msgstr "" + +#: tools/editor/plugins/sample_library_editor_plugin.cpp +msgid "Delete Sample" +msgstr "" + +#: tools/editor/plugins/sample_library_editor_plugin.cpp +msgid "16 Bits" +msgstr "" + +#: tools/editor/plugins/sample_library_editor_plugin.cpp +msgid "8 Bits" +msgstr "" + +#: tools/editor/plugins/sample_library_editor_plugin.cpp +msgid "Stereo" +msgstr "" + +#: tools/editor/plugins/sample_library_editor_plugin.cpp +msgid "Mono" +msgstr "" + +#: tools/editor/plugins/sample_library_editor_plugin.cpp +#: tools/editor/script_editor_debugger.cpp +msgid "Format" +msgstr "" + +#: tools/editor/plugins/sample_library_editor_plugin.cpp +msgid "Pitch" +msgstr "" + +#: tools/editor/plugins/script_editor_plugin.cpp +msgid "Error while saving theme" +msgstr "" + +#: tools/editor/plugins/script_editor_plugin.cpp +msgid "Error saving" +msgstr "" + +#: tools/editor/plugins/script_editor_plugin.cpp +msgid "Error importing theme" +msgstr "" + +#: tools/editor/plugins/script_editor_plugin.cpp +msgid "Error importing" +msgstr "" + +#: tools/editor/plugins/script_editor_plugin.cpp +msgid "Import Theme" +msgstr "" + +#: tools/editor/plugins/script_editor_plugin.cpp +msgid "Save Theme As.." +msgstr "" + +#: tools/editor/plugins/script_editor_plugin.cpp +msgid "Next script" +msgstr "" + +#: tools/editor/plugins/script_editor_plugin.cpp +msgid "Previous script" +msgstr "" + +#: tools/editor/plugins/script_editor_plugin.cpp +#: tools/editor/project_export.cpp +msgid "File" +msgstr "" + +#: tools/editor/plugins/script_editor_plugin.cpp +#: tools/editor/property_editor.cpp +msgid "New" +msgstr "" + +#: tools/editor/plugins/script_editor_plugin.cpp +msgid "Save All" +msgstr "" + +#: tools/editor/plugins/script_editor_plugin.cpp +msgid "History Prev" +msgstr "" + +#: tools/editor/plugins/script_editor_plugin.cpp +msgid "History Next" +msgstr "" + +#: tools/editor/plugins/script_editor_plugin.cpp +msgid "Reload Theme" +msgstr "" + +#: tools/editor/plugins/script_editor_plugin.cpp +msgid "Save Theme" +msgstr "" + +#: tools/editor/plugins/script_editor_plugin.cpp +msgid "Save Theme As" +msgstr "" + +#: tools/editor/plugins/script_editor_plugin.cpp +#: tools/editor/scene_tree_dock.cpp +msgid "Move Up" +msgstr "" + +#: tools/editor/plugins/script_editor_plugin.cpp +#: tools/editor/scene_tree_dock.cpp +msgid "Move Down" +msgstr "" + +#: tools/editor/plugins/script_editor_plugin.cpp +msgid "Indent Left" +msgstr "" + +#: tools/editor/plugins/script_editor_plugin.cpp +msgid "Indent Right" +msgstr "" + +#: tools/editor/plugins/script_editor_plugin.cpp +msgid "Toggle Comment" +msgstr "" + +#: tools/editor/plugins/script_editor_plugin.cpp +msgid "Clone Down" +msgstr "" + +#: tools/editor/plugins/script_editor_plugin.cpp +msgid "Complete Symbol" +msgstr "" + +#: tools/editor/plugins/script_editor_plugin.cpp +msgid "Trim Trailing Whitespace" +msgstr "" + +#: tools/editor/plugins/script_editor_plugin.cpp +msgid "Auto Indent" +msgstr "" + +#: tools/editor/plugins/script_editor_plugin.cpp +msgid "Soft Reload Script" +msgstr "" + +#: tools/editor/plugins/script_editor_plugin.cpp +#: tools/editor/plugins/shader_editor_plugin.cpp +msgid "Find.." +msgstr "" + +#: tools/editor/plugins/script_editor_plugin.cpp +#: tools/editor/plugins/shader_editor_plugin.cpp +msgid "Find Next" +msgstr "" + +#: tools/editor/plugins/script_editor_plugin.cpp +#: tools/editor/plugins/shader_editor_plugin.cpp +msgid "Find Previous" +msgstr "" + +#: tools/editor/plugins/script_editor_plugin.cpp +#: tools/editor/plugins/shader_editor_plugin.cpp +msgid "Replace.." +msgstr "" + +#: tools/editor/plugins/script_editor_plugin.cpp +msgid "Goto Function.." +msgstr "" + +#: tools/editor/plugins/script_editor_plugin.cpp +#: tools/editor/plugins/shader_editor_plugin.cpp +msgid "Goto Line.." +msgstr "" + +#: tools/editor/plugins/script_editor_plugin.cpp +msgid "Debug" +msgstr "" + +#: tools/editor/plugins/script_editor_plugin.cpp +msgid "Toggle Breakpoint" +msgstr "" + +#: tools/editor/plugins/script_editor_plugin.cpp +msgid "Remove All Breakpoints" +msgstr "" + +#: tools/editor/plugins/script_editor_plugin.cpp +msgid "Goto Next Breakpoint" +msgstr "" + +#: tools/editor/plugins/script_editor_plugin.cpp +msgid "Goto Previous Breakpoint" +msgstr "" + +#: tools/editor/plugins/script_editor_plugin.cpp +#: tools/editor/script_editor_debugger.cpp +msgid "Step Over" +msgstr "" + +#: tools/editor/plugins/script_editor_plugin.cpp +#: tools/editor/script_editor_debugger.cpp +msgid "Step Into" +msgstr "" + +#: tools/editor/plugins/script_editor_plugin.cpp +#: tools/editor/script_editor_debugger.cpp +msgid "Break" +msgstr "" + +#: tools/editor/plugins/script_editor_plugin.cpp +#: tools/editor/script_editor_debugger.cpp +msgid "Continue" +msgstr "" + +#: tools/editor/plugins/script_editor_plugin.cpp +msgid "Keep Debugger Open" +msgstr "" + +#: tools/editor/plugins/script_editor_plugin.cpp +msgid "Window" +msgstr "" + +#: tools/editor/plugins/script_editor_plugin.cpp +msgid "Move Left" +msgstr "" + +#: tools/editor/plugins/script_editor_plugin.cpp +msgid "Move Right" +msgstr "" + +#: tools/editor/plugins/script_editor_plugin.cpp +msgid "Help" +msgstr "" + +#: tools/editor/plugins/script_editor_plugin.cpp +msgid "Contextual Help" +msgstr "" + +#: tools/editor/plugins/script_editor_plugin.cpp +msgid "Tutorials" +msgstr "" + +#: tools/editor/plugins/script_editor_plugin.cpp +msgid "Open https://godotengine.org at tutorials section." +msgstr "" + +#: tools/editor/plugins/script_editor_plugin.cpp +msgid "Classes" +msgstr "" + +#: tools/editor/plugins/script_editor_plugin.cpp +msgid "Search the class hierarchy." +msgstr "" + +#: tools/editor/plugins/script_editor_plugin.cpp +msgid "Search the reference documentation." +msgstr "" + +#: tools/editor/plugins/script_editor_plugin.cpp +msgid "Go to previous edited document." +msgstr "" + +#: tools/editor/plugins/script_editor_plugin.cpp +msgid "Go to next edited document." +msgstr "" + +#: tools/editor/plugins/script_editor_plugin.cpp +msgid "Create Script" +msgstr "" + +#: tools/editor/plugins/script_editor_plugin.cpp +msgid "" +"The following files are newer on disk.\n" +"What action should be taken?:" +msgstr "" + +#: tools/editor/plugins/script_editor_plugin.cpp +msgid "Reload" +msgstr "" + +#: tools/editor/plugins/script_editor_plugin.cpp +msgid "Resave" +msgstr "" + +#: tools/editor/plugins/script_editor_plugin.cpp +#: tools/editor/script_editor_debugger.cpp +msgid "Debugger" +msgstr "" + +#: tools/editor/plugins/script_editor_plugin.cpp +msgid "" +"Built-in scripts can only be edited when the scene they belong to is loaded" +msgstr "" + +#: tools/editor/plugins/shader_editor_plugin.cpp +msgid "Vertex" +msgstr "" + +#: tools/editor/plugins/shader_editor_plugin.cpp +msgid "Fragment" +msgstr "" + +#: tools/editor/plugins/shader_editor_plugin.cpp +msgid "Lighting" +msgstr "" + +#: tools/editor/plugins/shader_graph_editor_plugin.cpp +msgid "Change Scalar Constant" +msgstr "" + +#: tools/editor/plugins/shader_graph_editor_plugin.cpp +msgid "Change Vec Constant" +msgstr "" + +#: tools/editor/plugins/shader_graph_editor_plugin.cpp +msgid "Change RGB Constant" +msgstr "" + +#: tools/editor/plugins/shader_graph_editor_plugin.cpp +msgid "Change Scalar Operator" +msgstr "" + +#: tools/editor/plugins/shader_graph_editor_plugin.cpp +msgid "Change Vec Operator" +msgstr "" + +#: tools/editor/plugins/shader_graph_editor_plugin.cpp +msgid "Change Vec Scalar Operator" +msgstr "" + +#: tools/editor/plugins/shader_graph_editor_plugin.cpp +msgid "Change RGB Operator" +msgstr "" + +#: tools/editor/plugins/shader_graph_editor_plugin.cpp +msgid "Toggle Rot Only" +msgstr "" + +#: tools/editor/plugins/shader_graph_editor_plugin.cpp +msgid "Change Scalar Function" +msgstr "" + +#: tools/editor/plugins/shader_graph_editor_plugin.cpp +msgid "Change Vec Function" +msgstr "" + +#: tools/editor/plugins/shader_graph_editor_plugin.cpp +msgid "Change Scalar Uniform" +msgstr "" + +#: tools/editor/plugins/shader_graph_editor_plugin.cpp +msgid "Change Vec Uniform" +msgstr "" + +#: tools/editor/plugins/shader_graph_editor_plugin.cpp +msgid "Change RGB Uniform" +msgstr "" + +#: tools/editor/plugins/shader_graph_editor_plugin.cpp +msgid "Change Default Value" +msgstr "" + +#: tools/editor/plugins/shader_graph_editor_plugin.cpp +msgid "Change XForm Uniform" +msgstr "" + +#: tools/editor/plugins/shader_graph_editor_plugin.cpp +msgid "Change Texture Uniform" +msgstr "" + +#: tools/editor/plugins/shader_graph_editor_plugin.cpp +msgid "Change Cubemap Uniform" +msgstr "" + +#: tools/editor/plugins/shader_graph_editor_plugin.cpp +msgid "Change Comment" +msgstr "" + +#: tools/editor/plugins/shader_graph_editor_plugin.cpp +msgid "Add/Remove to Color Ramp" +msgstr "" + +#: tools/editor/plugins/shader_graph_editor_plugin.cpp +msgid "Add/Remove to Curve Map" +msgstr "" + +#: tools/editor/plugins/shader_graph_editor_plugin.cpp +msgid "Modify Curve Map" +msgstr "" + +#: tools/editor/plugins/shader_graph_editor_plugin.cpp +msgid "Change Input Name" +msgstr "" + +#: tools/editor/plugins/shader_graph_editor_plugin.cpp +msgid "Connect Graph Nodes" +msgstr "" + +#: tools/editor/plugins/shader_graph_editor_plugin.cpp +msgid "Disconnect Graph Nodes" +msgstr "" + +#: tools/editor/plugins/shader_graph_editor_plugin.cpp +msgid "Remove Shader Graph Node" +msgstr "" + +#: tools/editor/plugins/shader_graph_editor_plugin.cpp +msgid "Move Shader Graph Node" +msgstr "" + +#: tools/editor/plugins/shader_graph_editor_plugin.cpp +msgid "Duplicate Graph Node(s)" +msgstr "" + +#: tools/editor/plugins/shader_graph_editor_plugin.cpp +msgid "Delete Shader Graph Node(s)" +msgstr "" + +#: tools/editor/plugins/shader_graph_editor_plugin.cpp +msgid "Error: Cyclic Connection Link" +msgstr "" + +#: tools/editor/plugins/shader_graph_editor_plugin.cpp +msgid "Error: Missing Input Connections" +msgstr "" + +#: tools/editor/plugins/shader_graph_editor_plugin.cpp +msgid "Add Shader Graph Node" +msgstr "" + +#: tools/editor/plugins/spatial_editor_plugin.cpp +msgid "Orthogonal" +msgstr "" + +#: tools/editor/plugins/spatial_editor_plugin.cpp +msgid "Perspective" +msgstr "" + +#: tools/editor/plugins/spatial_editor_plugin.cpp +msgid "Transform Aborted." +msgstr "" + +#: tools/editor/plugins/spatial_editor_plugin.cpp +msgid "X-Axis Transform." +msgstr "" + +#: tools/editor/plugins/spatial_editor_plugin.cpp +msgid "Y-Axis Transform." +msgstr "" + +#: tools/editor/plugins/spatial_editor_plugin.cpp +msgid "Z-Axis Transform." +msgstr "" + +#: tools/editor/plugins/spatial_editor_plugin.cpp +msgid "View Plane Transform." +msgstr "" + +#: tools/editor/plugins/spatial_editor_plugin.cpp +msgid "Scaling to %s%%." +msgstr "" + +#: tools/editor/plugins/spatial_editor_plugin.cpp +msgid "Rotating %s degrees." +msgstr "" + +#: tools/editor/plugins/spatial_editor_plugin.cpp +msgid "Bottom View." +msgstr "" + +#: tools/editor/plugins/spatial_editor_plugin.cpp +msgid "Bottom" +msgstr "" + +#: tools/editor/plugins/spatial_editor_plugin.cpp +msgid "Top View." +msgstr "" + +#: tools/editor/plugins/spatial_editor_plugin.cpp +msgid "Top" +msgstr "" + +#: tools/editor/plugins/spatial_editor_plugin.cpp +msgid "Rear View." +msgstr "" + +#: tools/editor/plugins/spatial_editor_plugin.cpp +msgid "Rear" +msgstr "" + +#: tools/editor/plugins/spatial_editor_plugin.cpp +msgid "Front View." +msgstr "" + +#: tools/editor/plugins/spatial_editor_plugin.cpp +msgid "Front" +msgstr "" + +#: tools/editor/plugins/spatial_editor_plugin.cpp +msgid "Left View." +msgstr "" + +#: tools/editor/plugins/spatial_editor_plugin.cpp +msgid "Left" +msgstr "" + +#: tools/editor/plugins/spatial_editor_plugin.cpp +msgid "Right View." +msgstr "" + +#: tools/editor/plugins/spatial_editor_plugin.cpp +msgid "Right" +msgstr "" + +#: tools/editor/plugins/spatial_editor_plugin.cpp +msgid "Keying is disabled (no key inserted)." +msgstr "" + +#: tools/editor/plugins/spatial_editor_plugin.cpp +msgid "Animation Key Inserted." +msgstr "" + +#: tools/editor/plugins/spatial_editor_plugin.cpp +msgid "Align with view" +msgstr "" + +#: tools/editor/plugins/spatial_editor_plugin.cpp +msgid "Environment" +msgstr "" + +#: tools/editor/plugins/spatial_editor_plugin.cpp +msgid "Audio Listener" +msgstr "" + +#: tools/editor/plugins/spatial_editor_plugin.cpp +msgid "Gizmos" +msgstr "" + +#: tools/editor/plugins/spatial_editor_plugin.cpp +msgid "XForm Dialog" +msgstr "" + +#: tools/editor/plugins/spatial_editor_plugin.cpp +msgid "No scene selected to instance!" +msgstr "" + +#: tools/editor/plugins/spatial_editor_plugin.cpp +msgid "Instance at Cursor" +msgstr "" + +#: tools/editor/plugins/spatial_editor_plugin.cpp +msgid "Could not instance scene!" +msgstr "" + +#: tools/editor/plugins/spatial_editor_plugin.cpp +msgid "Scale Mode (R)" +msgstr "" + +#: tools/editor/plugins/spatial_editor_plugin.cpp +msgid "Bottom View" +msgstr "" + +#: tools/editor/plugins/spatial_editor_plugin.cpp +msgid "Top View" +msgstr "" + +#: tools/editor/plugins/spatial_editor_plugin.cpp +msgid "Rear View" +msgstr "" + +#: tools/editor/plugins/spatial_editor_plugin.cpp +msgid "Front View" +msgstr "" + +#: tools/editor/plugins/spatial_editor_plugin.cpp +msgid "Left View" +msgstr "" + +#: tools/editor/plugins/spatial_editor_plugin.cpp +msgid "Right View" +msgstr "" + +#: tools/editor/plugins/spatial_editor_plugin.cpp +msgid "Switch Perspective/Orthogonal view" +msgstr "" + +#: tools/editor/plugins/spatial_editor_plugin.cpp +msgid "Insert Animation Key" +msgstr "" + +#: tools/editor/plugins/spatial_editor_plugin.cpp +msgid "Focus Selection" +msgstr "" + +#: tools/editor/plugins/spatial_editor_plugin.cpp +msgid "Align Selection With View" +msgstr "" + +#: tools/editor/plugins/spatial_editor_plugin.cpp +msgid "Transform" +msgstr "" + +#: tools/editor/plugins/spatial_editor_plugin.cpp +msgid "Local Coords" +msgstr "" + +#: tools/editor/plugins/spatial_editor_plugin.cpp +msgid "Transform Dialog.." +msgstr "" + +#: tools/editor/plugins/spatial_editor_plugin.cpp +msgid "Use Default Light" +msgstr "" + +#: tools/editor/plugins/spatial_editor_plugin.cpp +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 "" + +#: tools/editor/plugins/spatial_editor_plugin.cpp +msgid "Display Wireframe" +msgstr "" + +#: tools/editor/plugins/spatial_editor_plugin.cpp +msgid "Display Overdraw" +msgstr "" + +#: tools/editor/plugins/spatial_editor_plugin.cpp +msgid "Display Shadeless" +msgstr "" + +#: tools/editor/plugins/spatial_editor_plugin.cpp +msgid "View Origin" +msgstr "" + +#: tools/editor/plugins/spatial_editor_plugin.cpp +msgid "View Grid" +msgstr "" + +#: tools/editor/plugins/spatial_editor_plugin.cpp +msgid "Snap Settings" +msgstr "" + +#: tools/editor/plugins/spatial_editor_plugin.cpp +msgid "Translate Snap:" +msgstr "" + +#: tools/editor/plugins/spatial_editor_plugin.cpp +msgid "Rotate Snap (deg.):" +msgstr "" + +#: tools/editor/plugins/spatial_editor_plugin.cpp +msgid "Scale Snap (%):" +msgstr "" + +#: tools/editor/plugins/spatial_editor_plugin.cpp +msgid "Viewport Settings" +msgstr "" + +#: tools/editor/plugins/spatial_editor_plugin.cpp +msgid "Default Light Normal:" +msgstr "" + +#: tools/editor/plugins/spatial_editor_plugin.cpp +msgid "Ambient Light Color:" +msgstr "" + +#: tools/editor/plugins/spatial_editor_plugin.cpp +msgid "Perspective FOV (deg.):" +msgstr "" + +#: tools/editor/plugins/spatial_editor_plugin.cpp +msgid "View Z-Near:" +msgstr "" + +#: tools/editor/plugins/spatial_editor_plugin.cpp +msgid "View Z-Far:" +msgstr "" + +#: tools/editor/plugins/spatial_editor_plugin.cpp +msgid "Transform Change" +msgstr "" + +#: tools/editor/plugins/spatial_editor_plugin.cpp +msgid "Translate:" +msgstr "" + +#: tools/editor/plugins/spatial_editor_plugin.cpp +msgid "Rotate (deg.):" +msgstr "" + +#: tools/editor/plugins/spatial_editor_plugin.cpp +msgid "Scale (ratio):" +msgstr "" + +#: tools/editor/plugins/spatial_editor_plugin.cpp +msgid "Transform Type" +msgstr "" + +#: tools/editor/plugins/spatial_editor_plugin.cpp +msgid "Pre" +msgstr "" + +#: tools/editor/plugins/spatial_editor_plugin.cpp +msgid "Post" +msgstr "" + +#: tools/editor/plugins/sprite_frames_editor_plugin.cpp +msgid "ERROR: Couldn't load frame resource!" +msgstr "" + +#: tools/editor/plugins/sprite_frames_editor_plugin.cpp +msgid "Add Frame" +msgstr "" + +#: tools/editor/plugins/sprite_frames_editor_plugin.cpp +msgid "Resource clipboard is empty or not a texture!" +msgstr "" + +#: tools/editor/plugins/sprite_frames_editor_plugin.cpp +msgid "Paste Frame" +msgstr "" + +#: tools/editor/plugins/sprite_frames_editor_plugin.cpp +msgid "Add Empty" +msgstr "" + +#: tools/editor/plugins/sprite_frames_editor_plugin.cpp +msgid "Change Animation Loop" +msgstr "" + +#: tools/editor/plugins/sprite_frames_editor_plugin.cpp +msgid "Change Animation FPS" +msgstr "" + +#: tools/editor/plugins/sprite_frames_editor_plugin.cpp +msgid "(empty)" +msgstr "" + +#: tools/editor/plugins/sprite_frames_editor_plugin.cpp +msgid "Animations" +msgstr "" + +#: tools/editor/plugins/sprite_frames_editor_plugin.cpp +msgid "Speed (FPS):" +msgstr "" + +#: tools/editor/plugins/sprite_frames_editor_plugin.cpp +msgid "Animation Frames" +msgstr "" + +#: tools/editor/plugins/sprite_frames_editor_plugin.cpp +msgid "Insert Empty (Before)" +msgstr "" + +#: tools/editor/plugins/sprite_frames_editor_plugin.cpp +msgid "Insert Empty (After)" +msgstr "" + +#: tools/editor/plugins/sprite_frames_editor_plugin.cpp +msgid "Up" +msgstr "" + +#: tools/editor/plugins/sprite_frames_editor_plugin.cpp +msgid "Down" +msgstr "" + +#: tools/editor/plugins/style_box_editor_plugin.cpp +msgid "StyleBox Preview:" +msgstr "" + +#: tools/editor/plugins/texture_region_editor_plugin.cpp +msgid "Snap Mode:" +msgstr "" + +#: tools/editor/plugins/texture_region_editor_plugin.cpp +msgid "<None>" +msgstr "" + +#: tools/editor/plugins/texture_region_editor_plugin.cpp +msgid "Pixel Snap" +msgstr "" + +#: tools/editor/plugins/texture_region_editor_plugin.cpp +msgid "Grid Snap" +msgstr "" + +#: tools/editor/plugins/texture_region_editor_plugin.cpp +msgid "Auto Slice" +msgstr "" + +#: tools/editor/plugins/texture_region_editor_plugin.cpp +msgid "Offset:" +msgstr "" + +#: tools/editor/plugins/texture_region_editor_plugin.cpp +msgid "Step:" +msgstr "" + +#: tools/editor/plugins/texture_region_editor_plugin.cpp +msgid "Separation:" +msgstr "" + +#: tools/editor/plugins/texture_region_editor_plugin.cpp +msgid "Texture Region" +msgstr "" + +#: tools/editor/plugins/texture_region_editor_plugin.cpp +msgid "Texture Region Editor" +msgstr "" + +#: tools/editor/plugins/theme_editor_plugin.cpp +msgid "Can't save theme to file:" +msgstr "" + +#: tools/editor/plugins/theme_editor_plugin.cpp +msgid "Add All Items" +msgstr "" + +#: tools/editor/plugins/theme_editor_plugin.cpp +msgid "Add All" +msgstr "" + +#: tools/editor/plugins/theme_editor_plugin.cpp +#: tools/editor/plugins/tile_set_editor_plugin.cpp +msgid "Remove Item" +msgstr "" + +#: tools/editor/plugins/theme_editor_plugin.cpp +msgid "Add Class Items" +msgstr "" + +#: tools/editor/plugins/theme_editor_plugin.cpp +msgid "Remove Class Items" +msgstr "" + +#: tools/editor/plugins/theme_editor_plugin.cpp +msgid "Create Empty Template" +msgstr "" + +#: tools/editor/plugins/theme_editor_plugin.cpp +msgid "Create Empty Editor Template" +msgstr "" + +#: tools/editor/plugins/theme_editor_plugin.cpp +msgid "CheckBox Radio1" +msgstr "" + +#: tools/editor/plugins/theme_editor_plugin.cpp +msgid "CheckBox Radio2" +msgstr "" + +#: tools/editor/plugins/theme_editor_plugin.cpp +msgid "Item" +msgstr "" + +#: tools/editor/plugins/theme_editor_plugin.cpp +msgid "Check Item" +msgstr "" + +#: tools/editor/plugins/theme_editor_plugin.cpp +msgid "Checked Item" +msgstr "" + +#: tools/editor/plugins/theme_editor_plugin.cpp +msgid "Has" +msgstr "" + +#: tools/editor/plugins/theme_editor_plugin.cpp +msgid "Many" +msgstr "" + +#: tools/editor/plugins/theme_editor_plugin.cpp tools/editor/project_export.cpp +msgid "Options" +msgstr "" + +#: tools/editor/plugins/theme_editor_plugin.cpp +msgid "Have,Many,Several,Options!" +msgstr "" + +#: tools/editor/plugins/theme_editor_plugin.cpp +msgid "Tab 1" +msgstr "" + +#: tools/editor/plugins/theme_editor_plugin.cpp +msgid "Tab 2" +msgstr "" + +#: tools/editor/plugins/theme_editor_plugin.cpp +msgid "Tab 3" +msgstr "" + +#: tools/editor/plugins/theme_editor_plugin.cpp +#: tools/editor/project_settings.cpp tools/editor/scene_tree_editor.cpp +#: tools/editor/script_editor_debugger.cpp +msgid "Type:" +msgstr "" + +#: tools/editor/plugins/theme_editor_plugin.cpp +msgid "Data Type:" +msgstr "" + +#: tools/editor/plugins/theme_editor_plugin.cpp +msgid "Icon" +msgstr "" + +#: tools/editor/plugins/theme_editor_plugin.cpp +msgid "Style" +msgstr "" + +#: tools/editor/plugins/theme_editor_plugin.cpp +msgid "Color" +msgstr "" + +#: tools/editor/plugins/tile_map_editor_plugin.cpp +msgid "Paint TileMap" +msgstr "" + +#: tools/editor/plugins/tile_map_editor_plugin.cpp +#: tools/editor/scene_tree_dock.cpp +msgid "Duplicate" +msgstr "" + +#: tools/editor/plugins/tile_map_editor_plugin.cpp +msgid "Erase TileMap" +msgstr "" + +#: tools/editor/plugins/tile_map_editor_plugin.cpp +msgid "Erase selection" +msgstr "" + +#: tools/editor/plugins/tile_map_editor_plugin.cpp +msgid "Find tile" +msgstr "" + +#: tools/editor/plugins/tile_map_editor_plugin.cpp +msgid "Transpose" +msgstr "" + +#: tools/editor/plugins/tile_map_editor_plugin.cpp +msgid "Mirror X" +msgstr "" + +#: tools/editor/plugins/tile_map_editor_plugin.cpp +msgid "Mirror Y" +msgstr "" + +#: tools/editor/plugins/tile_map_editor_plugin.cpp +msgid "Bucket" +msgstr "" + +#: tools/editor/plugins/tile_map_editor_plugin.cpp +msgid "Pick Tile" +msgstr "" + +#: tools/editor/plugins/tile_map_editor_plugin.cpp +msgid "Select" +msgstr "" + +#: tools/editor/plugins/tile_map_editor_plugin.cpp +msgid "Rotate 0 degrees" +msgstr "" + +#: tools/editor/plugins/tile_map_editor_plugin.cpp +msgid "Rotate 90 degrees" +msgstr "" + +#: tools/editor/plugins/tile_map_editor_plugin.cpp +msgid "Rotate 180 degrees" +msgstr "" + +#: tools/editor/plugins/tile_map_editor_plugin.cpp +msgid "Rotate 270 degrees" +msgstr "" + +#: tools/editor/plugins/tile_set_editor_plugin.cpp +msgid "Could not find tile:" +msgstr "" + +#: tools/editor/plugins/tile_set_editor_plugin.cpp +msgid "Item name or ID:" +msgstr "" + +#: tools/editor/plugins/tile_set_editor_plugin.cpp +msgid "Create from scene?" +msgstr "" + +#: tools/editor/plugins/tile_set_editor_plugin.cpp +msgid "Merge from scene?" +msgstr "" + +#: tools/editor/plugins/tile_set_editor_plugin.cpp +msgid "Create from Scene" +msgstr "" + +#: tools/editor/plugins/tile_set_editor_plugin.cpp +msgid "Merge from Scene" +msgstr "" + +#: tools/editor/plugins/tile_set_editor_plugin.cpp +#: tools/editor/script_editor_debugger.cpp +msgid "Error" +msgstr "" + +#: tools/editor/project_export.cpp +msgid "Edit Script Options" +msgstr "" + +#: tools/editor/project_export.cpp +msgid "Please export outside the project folder!" +msgstr "" + +#: tools/editor/project_export.cpp +msgid "Error exporting project!" +msgstr "" + +#: tools/editor/project_export.cpp +msgid "Error writing the project PCK!" +msgstr "" + +#: tools/editor/project_export.cpp +msgid "No exporter for platform '%s' yet." +msgstr "" + +#: tools/editor/project_export.cpp +msgid "Include" +msgstr "" + +#: tools/editor/project_export.cpp +msgid "Change Image Group" +msgstr "" + +#: tools/editor/project_export.cpp +msgid "Group name can't be empty!" +msgstr "" + +#: tools/editor/project_export.cpp +msgid "Invalid character in group name!" +msgstr "" + +#: tools/editor/project_export.cpp +msgid "Group name already exists!" +msgstr "" + +#: tools/editor/project_export.cpp +msgid "Add Image Group" +msgstr "" + +#: tools/editor/project_export.cpp +msgid "Delete Image Group" +msgstr "" + +#: tools/editor/project_export.cpp +msgid "Atlas Preview" +msgstr "" + +#: tools/editor/project_export.cpp +msgid "Project Export Settings" +msgstr "" + +#: tools/editor/project_export.cpp +msgid "Target" +msgstr "" + +#: tools/editor/project_export.cpp +msgid "Export to Platform" +msgstr "" + +#: tools/editor/project_export.cpp +msgid "Resources" +msgstr "" + +#: tools/editor/project_export.cpp +msgid "Export selected resources (including dependencies)." +msgstr "" + +#: tools/editor/project_export.cpp +msgid "Export all resources in the project." +msgstr "" + +#: tools/editor/project_export.cpp +msgid "Export all files in the project directory." +msgstr "" + +#: tools/editor/project_export.cpp +msgid "Export Mode:" +msgstr "" + +#: tools/editor/project_export.cpp +msgid "Resources to Export:" +msgstr "" + +#: tools/editor/project_export.cpp +msgid "Action" +msgstr "" + +#: tools/editor/project_export.cpp +msgid "" +"Filters to export non-resource files (comma-separated, e.g.: *.json, *.txt):" +msgstr "" + +#: tools/editor/project_export.cpp +msgid "Filters to exclude from export (comma-separated, e.g.: *.json, *.txt):" +msgstr "" + +#: tools/editor/project_export.cpp +msgid "Convert text scenes to binary on export." +msgstr "" + +#: tools/editor/project_export.cpp +msgid "Images" +msgstr "" + +#: tools/editor/project_export.cpp +msgid "Keep Original" +msgstr "" + +#: tools/editor/project_export.cpp +msgid "Compress for Disk (Lossy, WebP)" +msgstr "" + +#: tools/editor/project_export.cpp +msgid "Compress for RAM (BC/PVRTC/ETC)" +msgstr "" + +#: tools/editor/project_export.cpp +msgid "Convert Images (*.png):" +msgstr "" + +#: tools/editor/project_export.cpp +msgid "Compress for Disk (Lossy) Quality:" +msgstr "" + +#: tools/editor/project_export.cpp +msgid "Shrink All Images:" +msgstr "" + +#: tools/editor/project_export.cpp +msgid "Compress Formats:" +msgstr "" + +#: tools/editor/project_export.cpp +msgid "Image Groups" +msgstr "" + +#: tools/editor/project_export.cpp +msgid "Groups:" +msgstr "" + +#: tools/editor/project_export.cpp +msgid "Compress Disk" +msgstr "" + +#: tools/editor/project_export.cpp +msgid "Compress RAM" +msgstr "" + +#: tools/editor/project_export.cpp +msgid "Compress Mode:" +msgstr "" + +#: tools/editor/project_export.cpp +msgid "Lossy Quality:" +msgstr "" + +#: tools/editor/project_export.cpp +msgid "Atlas:" +msgstr "" + +#: tools/editor/project_export.cpp +msgid "Shrink By:" +msgstr "" + +#: tools/editor/project_export.cpp +msgid "Preview Atlas" +msgstr "" + +#: tools/editor/project_export.cpp +msgid "Image Filter:" +msgstr "" + +#: tools/editor/project_export.cpp +msgid "Images:" +msgstr "" + +#: tools/editor/project_export.cpp +msgid "Select None" +msgstr "" + +#: tools/editor/project_export.cpp +msgid "Group" +msgstr "" + +#: tools/editor/project_export.cpp +msgid "Samples" +msgstr "" + +#: tools/editor/project_export.cpp +msgid "Sample Conversion Mode: (.wav files):" +msgstr "" + +#: tools/editor/project_export.cpp +msgid "Keep" +msgstr "" + +#: tools/editor/project_export.cpp +msgid "Compress (RAM - IMA-ADPCM)" +msgstr "" + +#: tools/editor/project_export.cpp +msgid "Sampling Rate Limit (Hz):" +msgstr "" + +#: tools/editor/project_export.cpp +msgid "Trim" +msgstr "" + +#: tools/editor/project_export.cpp +msgid "Trailing Silence:" +msgstr "" + +#: tools/editor/project_export.cpp +msgid "Script" +msgstr "" + +#: tools/editor/project_export.cpp +msgid "Script Export Mode:" +msgstr "" + +#: tools/editor/project_export.cpp +msgid "Text" +msgstr "" + +#: tools/editor/project_export.cpp +msgid "Compiled" +msgstr "" + +#: tools/editor/project_export.cpp +msgid "Encrypted (Provide Key Below)" +msgstr "" + +#: tools/editor/project_export.cpp +msgid "Script Encryption Key (256-bits as hex):" +msgstr "" + +#: tools/editor/project_export.cpp +msgid "Export PCK/Zip" +msgstr "" + +#: tools/editor/project_export.cpp +msgid "Export Project PCK" +msgstr "" + +#: tools/editor/project_export.cpp +msgid "Export.." +msgstr "" + +#: tools/editor/project_export.cpp +msgid "Project Export" +msgstr "" + +#: tools/editor/project_export.cpp +msgid "Export Preset:" +msgstr "" + +#: tools/editor/project_manager.cpp +msgid "Invalid project path, the path must exist!" +msgstr "" + +#: tools/editor/project_manager.cpp +msgid "Invalid project path, engine.cfg must not exist." +msgstr "" + +#: tools/editor/project_manager.cpp +msgid "Invalid project path, engine.cfg must exist." +msgstr "" + +#: tools/editor/project_manager.cpp +msgid "Imported Project" +msgstr "" + +#: tools/editor/project_manager.cpp +msgid "Invalid project path (changed anything?)." +msgstr "" + +#: tools/editor/project_manager.cpp +msgid "Couldn't create engine.cfg in project path." +msgstr "" + +#: tools/editor/project_manager.cpp +msgid "The following files failed extraction from package:" +msgstr "" + +#: tools/editor/project_manager.cpp +msgid "Package Installed Successfully!" +msgstr "" + +#: tools/editor/project_manager.cpp +msgid "Import Existing Project" +msgstr "" + +#: tools/editor/project_manager.cpp +msgid "Project Path (Must Exist):" +msgstr "" + +#: tools/editor/project_manager.cpp +msgid "Project Name:" +msgstr "" + +#: tools/editor/project_manager.cpp +msgid "Create New Project" +msgstr "" + +#: tools/editor/project_manager.cpp +msgid "Project Path:" +msgstr "" + +#: tools/editor/project_manager.cpp +msgid "Install Project:" +msgstr "" + +#: tools/editor/project_manager.cpp +msgid "Install" +msgstr "" + +#: tools/editor/project_manager.cpp +msgid "Browse" +msgstr "" + +#: tools/editor/project_manager.cpp +msgid "New Game Project" +msgstr "" + +#: tools/editor/project_manager.cpp +msgid "That's a BINGO!" +msgstr "" + +#: tools/editor/project_manager.cpp +msgid "Unnamed Project" +msgstr "" + +#: tools/editor/project_manager.cpp +msgid "Are you sure to open more than one projects?" +msgstr "" + +#: tools/editor/project_manager.cpp +msgid "Are you sure to run more than one projects?" +msgstr "" + +#: tools/editor/project_manager.cpp +msgid "Remove project from the list? (Folder contents will not be modified)" +msgstr "" + +#: tools/editor/project_manager.cpp +msgid "Project Manager" +msgstr "" + +#: tools/editor/project_manager.cpp +msgid "Project List" +msgstr "" + +#: tools/editor/project_manager.cpp +msgid "Run" +msgstr "" + +#: tools/editor/project_manager.cpp +msgid "Scan" +msgstr "" + +#: tools/editor/project_manager.cpp +msgid "New Project" +msgstr "" + +#: tools/editor/project_manager.cpp +msgid "Exit" +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 "" + +#: tools/editor/project_settings.cpp +msgid "Action '%s' already exists!" +msgstr "" + +#: tools/editor/project_settings.cpp +msgid "Rename Input Action Event" +msgstr "" + +#: tools/editor/project_settings.cpp +msgid "Add Input Action Event" +msgstr "" + +#: tools/editor/project_settings.cpp tools/editor/settings_config_dialog.cpp +msgid "Control+" +msgstr "" + +#: tools/editor/project_settings.cpp tools/editor/settings_config_dialog.cpp +msgid "Press a Key.." +msgstr "" + +#: tools/editor/project_settings.cpp +msgid "Mouse Button Index:" +msgstr "" + +#: tools/editor/project_settings.cpp +msgid "Left Button" +msgstr "" + +#: tools/editor/project_settings.cpp +msgid "Right Button" +msgstr "" + +#: tools/editor/project_settings.cpp +msgid "Middle Button" +msgstr "" + +#: tools/editor/project_settings.cpp +msgid "Wheel Up Button" +msgstr "" + +#: tools/editor/project_settings.cpp +msgid "Wheel Down Button" +msgstr "" + +#: tools/editor/project_settings.cpp +msgid "Button 6" +msgstr "" + +#: tools/editor/project_settings.cpp +msgid "Button 7" +msgstr "" + +#: tools/editor/project_settings.cpp +msgid "Button 8" +msgstr "" + +#: tools/editor/project_settings.cpp +msgid "Button 9" +msgstr "" + +#: tools/editor/project_settings.cpp +msgid "Joystick Axis Index:" +msgstr "" + +#: tools/editor/project_settings.cpp +msgid "Joystick Button Index:" +msgstr "" + +#: tools/editor/project_settings.cpp +msgid "Add Input Action" +msgstr "" + +#: tools/editor/project_settings.cpp +msgid "Erase Input Action Event" +msgstr "" + +#: tools/editor/project_settings.cpp +msgid "Toggle Persisting" +msgstr "" + +#: tools/editor/project_settings.cpp +msgid "Error saving settings." +msgstr "" + +#: tools/editor/project_settings.cpp +msgid "Settings saved OK." +msgstr "" + +#: tools/editor/project_settings.cpp +msgid "Add Translation" +msgstr "" + +#: tools/editor/project_settings.cpp +msgid "Remove Translation" +msgstr "" + +#: tools/editor/project_settings.cpp +msgid "Add Remapped Path" +msgstr "" + +#: tools/editor/project_settings.cpp +msgid "Resource Remap Add Remap" +msgstr "" + +#: tools/editor/project_settings.cpp +msgid "Change Resource Remap Language" +msgstr "" + +#: tools/editor/project_settings.cpp +msgid "Remove Resource Remap" +msgstr "" + +#: tools/editor/project_settings.cpp +msgid "Remove Resource Remap Option" +msgstr "" + +#: tools/editor/project_settings.cpp +msgid "Project Settings (engine.cfg)" +msgstr "" + +#: tools/editor/project_settings.cpp tools/editor/settings_config_dialog.cpp +msgid "General" +msgstr "" + +#: tools/editor/project_settings.cpp tools/editor/property_editor.cpp +msgid "Property:" +msgstr "" + +#: tools/editor/project_settings.cpp +msgid "Del" +msgstr "" + +#: tools/editor/project_settings.cpp +msgid "Copy To Platform.." +msgstr "" + +#: tools/editor/project_settings.cpp +msgid "Input Map" +msgstr "" + +#: tools/editor/project_settings.cpp +msgid "Action:" +msgstr "" + +#: tools/editor/project_settings.cpp +msgid "Device:" +msgstr "" + +#: tools/editor/project_settings.cpp +msgid "Index:" +msgstr "" + +#: tools/editor/project_settings.cpp +msgid "Localization" +msgstr "" + +#: tools/editor/project_settings.cpp +msgid "Translations" +msgstr "" + +#: tools/editor/project_settings.cpp +msgid "Translations:" +msgstr "" + +#: tools/editor/project_settings.cpp +msgid "Add.." +msgstr "" + +#: tools/editor/project_settings.cpp +msgid "Remaps" +msgstr "" + +#: tools/editor/project_settings.cpp +msgid "Resources:" +msgstr "" + +#: tools/editor/project_settings.cpp +msgid "Remaps by Locale:" +msgstr "" + +#: tools/editor/project_settings.cpp +msgid "Locale" +msgstr "" + +#: tools/editor/project_settings.cpp +msgid "AutoLoad" +msgstr "" + +#: tools/editor/project_settings.cpp +msgid "Plugins" +msgstr "" + +#: tools/editor/property_editor.cpp +msgid "Preset.." +msgstr "" + +#: tools/editor/property_editor.cpp +msgid "Ease In" +msgstr "" + +#: tools/editor/property_editor.cpp +msgid "Ease Out" +msgstr "" + +#: tools/editor/property_editor.cpp +msgid "Zero" +msgstr "" + +#: tools/editor/property_editor.cpp +msgid "Easing In-Out" +msgstr "" + +#: tools/editor/property_editor.cpp +msgid "Easing Out-In" +msgstr "" + +#: tools/editor/property_editor.cpp +msgid "File.." +msgstr "" + +#: tools/editor/property_editor.cpp +msgid "Dir.." +msgstr "" + +#: tools/editor/property_editor.cpp +msgid "Load" +msgstr "" + +#: tools/editor/property_editor.cpp +msgid "Assign" +msgstr "" + +#: tools/editor/property_editor.cpp +msgid "Error loading file: Not a resource!" +msgstr "" + +#: tools/editor/property_editor.cpp +msgid "Couldn't load image" +msgstr "" + +#: tools/editor/property_editor.cpp +msgid "Bit %d, val %d." +msgstr "" + +#: tools/editor/property_editor.cpp +msgid "On" +msgstr "" + +#: tools/editor/property_editor.cpp +msgid "Set" +msgstr "" + +#: tools/editor/property_editor.cpp +msgid "Properties:" +msgstr "" + +#: tools/editor/property_editor.cpp +msgid "Global" +msgstr "" + +#: tools/editor/property_editor.cpp +msgid "Sections:" +msgstr "" + +#: tools/editor/pvrtc_compress.cpp +msgid "Could not execute PVRTC tool:" +msgstr "" + +#: tools/editor/pvrtc_compress.cpp +msgid "Can't load back converted image using PVRTC tool:" +msgstr "" + +#: tools/editor/reparent_dialog.cpp tools/editor/scene_tree_dock.cpp +msgid "Reparent Node" +msgstr "" + +#: tools/editor/reparent_dialog.cpp +msgid "Reparent Location (Select new Parent):" +msgstr "" + +#: tools/editor/reparent_dialog.cpp +msgid "Keep Global Transform" +msgstr "" + +#: tools/editor/reparent_dialog.cpp tools/editor/scene_tree_dock.cpp +msgid "Reparent" +msgstr "" + +#: tools/editor/resources_dock.cpp +msgid "Create New Resource" +msgstr "" + +#: tools/editor/resources_dock.cpp +msgid "Open Resource" +msgstr "" + +#: tools/editor/resources_dock.cpp +msgid "Save Resource" +msgstr "" + +#: tools/editor/resources_dock.cpp +msgid "Resource Tools" +msgstr "" + +#: tools/editor/resources_dock.cpp +msgid "Make Local" +msgstr "" + +#: tools/editor/run_settings_dialog.cpp +msgid "Run Mode:" +msgstr "" + +#: tools/editor/run_settings_dialog.cpp +msgid "Current Scene" +msgstr "" + +#: tools/editor/run_settings_dialog.cpp +msgid "Main Scene" +msgstr "" + +#: tools/editor/run_settings_dialog.cpp +msgid "Main Scene Arguments:" +msgstr "" + +#: tools/editor/run_settings_dialog.cpp +msgid "Scene Run Settings" +msgstr "" + +#: tools/editor/scene_tree_dock.cpp +msgid "OK :(" +msgstr "" + +#: tools/editor/scene_tree_dock.cpp +msgid "No parent to instance a child at." +msgstr "" + +#: tools/editor/scene_tree_dock.cpp +msgid "Error loading scene from %s" +msgstr "" + +#: tools/editor/scene_tree_dock.cpp +msgid "Error instancing scene from %s" +msgstr "" + +#: tools/editor/scene_tree_dock.cpp +msgid "Ok" +msgstr "" + +#: tools/editor/scene_tree_dock.cpp +msgid "" +"Cannot instance the scene '%s' because the current scene exists within one " +"of its nodes." +msgstr "" + +#: tools/editor/scene_tree_dock.cpp +msgid "Instance Scene(s)" +msgstr "" + +#: tools/editor/scene_tree_dock.cpp +msgid "This operation can't be done on the tree root." +msgstr "" + +#: tools/editor/scene_tree_dock.cpp +msgid "Move Node In Parent" +msgstr "" + +#: tools/editor/scene_tree_dock.cpp +msgid "Move Nodes In Parent" +msgstr "" + +#: tools/editor/scene_tree_dock.cpp +msgid "Duplicate Node(s)" +msgstr "" + +#: tools/editor/scene_tree_dock.cpp +msgid "Delete Node(s)?" +msgstr "" + +#: tools/editor/scene_tree_dock.cpp +msgid "This operation can't be done without a scene." +msgstr "" + +#: tools/editor/scene_tree_dock.cpp +msgid "This operation requires a single selected node." +msgstr "" + +#: tools/editor/scene_tree_dock.cpp +msgid "This operation can't be done on instanced scenes." +msgstr "" + +#: tools/editor/scene_tree_dock.cpp +msgid "Save New Scene As.." +msgstr "" + +#: tools/editor/scene_tree_dock.cpp +msgid "Makes Sense!" +msgstr "" + +#: tools/editor/scene_tree_dock.cpp +msgid "Can't operate on nodes from a foreign scene!" +msgstr "" + +#: tools/editor/scene_tree_dock.cpp +msgid "Can't operate on nodes the current scene inherits from!" +msgstr "" + +#: tools/editor/scene_tree_dock.cpp +msgid "Remove Node(s)" +msgstr "" + +#: tools/editor/scene_tree_dock.cpp +msgid "Create Node" +msgstr "" + +#: tools/editor/scene_tree_dock.cpp +msgid "" +"Couldn't save new scene. Likely dependencies (instances) couldn't be " +"satisfied." +msgstr "" + +#: tools/editor/scene_tree_dock.cpp +msgid "Error saving scene." +msgstr "" + +#: tools/editor/scene_tree_dock.cpp +msgid "Error duplicating scene to save it." +msgstr "" + +#: tools/editor/scene_tree_dock.cpp +msgid "Edit Groups" +msgstr "" + +#: tools/editor/scene_tree_dock.cpp +msgid "Edit Connections" +msgstr "" + +#: tools/editor/scene_tree_dock.cpp +msgid "Delete Node(s)" +msgstr "" + +#: tools/editor/scene_tree_dock.cpp +msgid "Add Child Node" +msgstr "" + +#: tools/editor/scene_tree_dock.cpp +msgid "Instance Child Scene" +msgstr "" + +#: tools/editor/scene_tree_dock.cpp +msgid "Change Type" +msgstr "" + +#: tools/editor/scene_tree_dock.cpp +msgid "Add Script" +msgstr "" + +#: tools/editor/scene_tree_dock.cpp +msgid "Merge From Scene" +msgstr "" + +#: tools/editor/scene_tree_dock.cpp +msgid "Save Branch as Scene" +msgstr "" + +#: tools/editor/scene_tree_dock.cpp +msgid "Add/Create a New Node" +msgstr "" + +#: tools/editor/scene_tree_dock.cpp +msgid "" +"Instance a scene file as a Node. Creates an inherited scene if no root node " +"exists." +msgstr "" + +#: tools/editor/scene_tree_editor.cpp +msgid "" +"This item cannot be made visible because the parent is hidden. Unhide the " +"parent first." +msgstr "" + +#: tools/editor/scene_tree_editor.cpp +msgid "Toggle Spatial Visible" +msgstr "" + +#: tools/editor/scene_tree_editor.cpp +msgid "Toggle CanvasItem Visible" +msgstr "" + +#: tools/editor/scene_tree_editor.cpp +msgid "Instance:" +msgstr "" + +#: tools/editor/scene_tree_editor.cpp +msgid "Invalid node name, the following characters are not allowed:" +msgstr "" + +#: tools/editor/scene_tree_editor.cpp +msgid "Rename Node" +msgstr "" + +#: tools/editor/scene_tree_editor.cpp +msgid "Scene Tree (Nodes):" +msgstr "" + +#: tools/editor/scene_tree_editor.cpp +msgid "Editable Children" +msgstr "" + +#: tools/editor/scene_tree_editor.cpp +msgid "Load As Placeholder" +msgstr "" + +#: tools/editor/scene_tree_editor.cpp +msgid "Discard Instancing" +msgstr "" + +#: tools/editor/scene_tree_editor.cpp +msgid "Open in Editor" +msgstr "" + +#: tools/editor/scene_tree_editor.cpp +msgid "Clear Inheritance" +msgstr "" + +#: tools/editor/scene_tree_editor.cpp +msgid "Clear Inheritance? (No Undo!)" +msgstr "" + +#: tools/editor/scene_tree_editor.cpp +msgid "Clear!" +msgstr "" + +#: tools/editor/scene_tree_editor.cpp +msgid "Select a Node" +msgstr "" + +#: tools/editor/scenes_dock.cpp +msgid "Same source and destination files, doing nothing." +msgstr "" + +#: tools/editor/scenes_dock.cpp +msgid "Same source and destination paths, doing nothing." +msgstr "" + +#: tools/editor/scenes_dock.cpp +msgid "Can't move directories to within themselves." +msgstr "" + +#: tools/editor/scenes_dock.cpp +msgid "Can't operate on '..'" +msgstr "" + +#: tools/editor/scenes_dock.cpp +msgid "Pick New Name and Location For:" +msgstr "" + +#: tools/editor/scenes_dock.cpp +msgid "No files selected!" +msgstr "" + +#: tools/editor/scenes_dock.cpp +msgid "Instance" +msgstr "" + +#: tools/editor/scenes_dock.cpp +msgid "Edit Dependencies.." +msgstr "" + +#: tools/editor/scenes_dock.cpp +msgid "View Owners.." +msgstr "" + +#: tools/editor/scenes_dock.cpp +msgid "Copy Path" +msgstr "" + +#: tools/editor/scenes_dock.cpp +msgid "Rename or Move.." +msgstr "" + +#: tools/editor/scenes_dock.cpp +msgid "Move To.." +msgstr "" + +#: tools/editor/scenes_dock.cpp +msgid "Info" +msgstr "" + +#: tools/editor/scenes_dock.cpp +msgid "Show In File Manager" +msgstr "" + +#: tools/editor/scenes_dock.cpp +msgid "Re-Import.." +msgstr "" + +#: tools/editor/scenes_dock.cpp +msgid "Previous Directory" +msgstr "" + +#: tools/editor/scenes_dock.cpp +msgid "Next Directory" +msgstr "" + +#: tools/editor/scenes_dock.cpp +msgid "Re-Scan Filesystem" +msgstr "" + +#: tools/editor/scenes_dock.cpp +msgid "Toggle folder status as Favorite" +msgstr "" + +#: tools/editor/scenes_dock.cpp +msgid "Instance the selected scene(s) as child of the selected node." +msgstr "" + +#: tools/editor/scenes_dock.cpp +msgid "Move" +msgstr "" + +#: tools/editor/script_create_dialog.cpp +msgid "Invalid parent class name" +msgstr "" + +#: tools/editor/script_create_dialog.cpp +msgid "Valid chars:" +msgstr "" + +#: tools/editor/script_create_dialog.cpp +msgid "Invalid class name" +msgstr "" + +#: tools/editor/script_create_dialog.cpp +msgid "Valid name" +msgstr "" + +#: tools/editor/script_create_dialog.cpp +msgid "N/A" +msgstr "" + +#: tools/editor/script_create_dialog.cpp +msgid "Class name is invalid!" +msgstr "" + +#: tools/editor/script_create_dialog.cpp +msgid "Parent class name is invalid!" +msgstr "" + +#: tools/editor/script_create_dialog.cpp +msgid "Invalid path!" +msgstr "" + +#: tools/editor/script_create_dialog.cpp +msgid "Could not create script in filesystem." +msgstr "" + +#: tools/editor/script_create_dialog.cpp +msgid "Path is empty" +msgstr "" + +#: tools/editor/script_create_dialog.cpp +msgid "Path is not local" +msgstr "" + +#: tools/editor/script_create_dialog.cpp +msgid "Invalid base path" +msgstr "" + +#: tools/editor/script_create_dialog.cpp +msgid "File exists" +msgstr "" + +#: tools/editor/script_create_dialog.cpp +msgid "Invalid extension" +msgstr "" + +#: tools/editor/script_create_dialog.cpp +msgid "Valid path" +msgstr "" + +#: tools/editor/script_create_dialog.cpp +msgid "Class Name:" +msgstr "" + +#: tools/editor/script_create_dialog.cpp +msgid "Built-In Script" +msgstr "" + +#: tools/editor/script_create_dialog.cpp +msgid "Create Node Script" +msgstr "" + +#: tools/editor/script_editor_debugger.cpp +msgid "Bytes:" +msgstr "" + +#: tools/editor/script_editor_debugger.cpp +msgid "Warning" +msgstr "" + +#: tools/editor/script_editor_debugger.cpp +msgid "Error:" +msgstr "" + +#: tools/editor/script_editor_debugger.cpp +msgid "Source:" +msgstr "" + +#: tools/editor/script_editor_debugger.cpp +msgid "Function:" +msgstr "" + +#: tools/editor/script_editor_debugger.cpp +msgid "Errors" +msgstr "" + +#: tools/editor/script_editor_debugger.cpp +msgid "Child Process Connected" +msgstr "" + +#: tools/editor/script_editor_debugger.cpp +msgid "Inspect Previous Instance" +msgstr "" + +#: tools/editor/script_editor_debugger.cpp +msgid "Inspect Next Instance" +msgstr "" + +#: tools/editor/script_editor_debugger.cpp +msgid "Stack Frames" +msgstr "" + +#: tools/editor/script_editor_debugger.cpp +msgid "Variable" +msgstr "" + +#: tools/editor/script_editor_debugger.cpp +msgid "Errors:" +msgstr "" + +#: tools/editor/script_editor_debugger.cpp +msgid "Stack Trace (if applicable):" +msgstr "" + +#: tools/editor/script_editor_debugger.cpp +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 "" + +#: tools/editor/script_editor_debugger.cpp +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 "" + +#: tools/editor/script_editor_debugger.cpp +msgid "Total:" +msgstr "" + +#: tools/editor/script_editor_debugger.cpp +msgid "Video Mem" +msgstr "" + +#: tools/editor/script_editor_debugger.cpp +msgid "Resource Path" +msgstr "" + +#: tools/editor/script_editor_debugger.cpp +msgid "Type" +msgstr "" + +#: tools/editor/script_editor_debugger.cpp +msgid "Usage" +msgstr "" + +#: tools/editor/script_editor_debugger.cpp +msgid "Misc" +msgstr "" + +#: tools/editor/script_editor_debugger.cpp +msgid "Clicked Control:" +msgstr "" + +#: tools/editor/script_editor_debugger.cpp +msgid "Clicked Control Type:" +msgstr "" + +#: tools/editor/script_editor_debugger.cpp +msgid "Live Edit Root:" +msgstr "" + +#: tools/editor/script_editor_debugger.cpp +msgid "Set From Tree" +msgstr "" + +#: tools/editor/settings_config_dialog.cpp +msgid "Shortcuts" +msgstr "" + +#: tools/editor/spatial_editor_gizmos.cpp +msgid "Change Light Radius" +msgstr "Light এর ব্যাসার্ধ পরিবর্তন করুন" + +#: tools/editor/spatial_editor_gizmos.cpp +msgid "Change Camera FOV" +msgstr "Camera এর ভিউ (FOV) পরিবর্তন করুন" + +#: tools/editor/spatial_editor_gizmos.cpp +msgid "Change Camera Size" +msgstr "Camera এর আকার পরিবর্তন করুন" + +#: tools/editor/spatial_editor_gizmos.cpp +msgid "Change Sphere Shape Radius" +msgstr "Sphere Shape এর ব্যাসার্ধ পরিবর্তন করুন" + +#: tools/editor/spatial_editor_gizmos.cpp +msgid "Change Box Shape Extents" +msgstr "Box Shape এর সীমা পরিবর্তন করুন" + +#: tools/editor/spatial_editor_gizmos.cpp +msgid "Change Capsule Shape Radius" +msgstr "Capsule Shape এর ব্যাসার্ধ পরিবর্তন করুন" + +#: tools/editor/spatial_editor_gizmos.cpp +msgid "Change Capsule Shape Height" +msgstr "Capsule Shape এর উচ্চতা পরিবর্তন করুন" + +#: tools/editor/spatial_editor_gizmos.cpp +msgid "Change Ray Shape Length" +msgstr "Ray Shape এর দৈর্ঘ্য পরিবর্তন করুন" + +#: tools/editor/spatial_editor_gizmos.cpp +msgid "Change Notifier Extents" +msgstr "Notifier এর সীমা পরিবর্তন করুন" diff --git a/tools/translations/cs.po b/tools/translations/cs.po index 9a482216ec..c3b0532000 100644 --- a/tools/translations/cs.po +++ b/tools/translations/cs.po @@ -273,9 +273,10 @@ msgstr "" msgid "Create Folder" msgstr "" -#: scene/gui/file_dialog.cpp tools/editor/editor_file_dialog.cpp +#: scene/gui/file_dialog.cpp tools/editor/editor_autoload_settings.cpp +#: tools/editor/editor_file_dialog.cpp #: tools/editor/io_plugins/editor_font_import_plugin.cpp -#: tools/editor/project_settings.cpp tools/editor/script_create_dialog.cpp +#: tools/editor/script_create_dialog.cpp msgid "Path:" msgstr "" @@ -468,19 +469,19 @@ msgid "Anim Add Track" msgstr "" #: tools/editor/animation_editor.cpp -msgid "Move Anim Track Up" +msgid "Anim Duplicate Keys" msgstr "" #: tools/editor/animation_editor.cpp -msgid "Move Anim Track Down" +msgid "Move Anim Track Up" msgstr "" #: tools/editor/animation_editor.cpp -msgid "Remove Anim Track" +msgid "Move Anim Track Down" msgstr "" #: tools/editor/animation_editor.cpp -msgid "Anim Duplicate Keys" +msgid "Remove Anim Track" msgstr "" #: tools/editor/animation_editor.cpp @@ -512,6 +513,19 @@ msgid "Anim Delete Keys" msgstr "" #: tools/editor/animation_editor.cpp +#: tools/editor/plugins/tile_map_editor_plugin.cpp +msgid "Duplicate Selection" +msgstr "" + +#: tools/editor/animation_editor.cpp +msgid "Duplicate Transposed" +msgstr "" + +#: tools/editor/animation_editor.cpp +msgid "Remove Selection" +msgstr "" + +#: tools/editor/animation_editor.cpp msgid "Continuous" msgstr "" @@ -540,15 +554,6 @@ msgid "Scale From Cursor" msgstr "" #: tools/editor/animation_editor.cpp -#: tools/editor/plugins/tile_map_editor_plugin.cpp -msgid "Duplicate Selection" -msgstr "" - -#: tools/editor/animation_editor.cpp -msgid "Duplicate Transposed" -msgstr "" - -#: tools/editor/animation_editor.cpp msgid "Goto Next Step" msgstr "" @@ -819,7 +824,6 @@ msgid "Call" msgstr "" #: tools/editor/call_dialog.cpp tools/editor/connections_dialog.cpp -#: tools/editor/import_settings.cpp #: tools/editor/plugins/animation_player_editor_plugin.cpp #: tools/editor/plugins/canvas_item_editor_plugin.cpp #: tools/editor/plugins/resource_preloader_editor_plugin.cpp @@ -938,7 +942,8 @@ msgstr "" msgid "Connect To Node:" msgstr "" -#: tools/editor/connections_dialog.cpp tools/editor/groups_editor.cpp +#: tools/editor/connections_dialog.cpp +#: tools/editor/editor_autoload_settings.cpp tools/editor/groups_editor.cpp #: tools/editor/plugins/item_list_editor_plugin.cpp #: tools/editor/plugins/theme_editor_plugin.cpp #: tools/editor/project_settings.cpp @@ -1042,8 +1047,8 @@ msgstr "" msgid "Resource" msgstr "" -#: tools/editor/dependency_editor.cpp tools/editor/project_manager.cpp -#: tools/editor/project_settings.cpp +#: tools/editor/dependency_editor.cpp tools/editor/editor_autoload_settings.cpp +#: tools/editor/project_manager.cpp tools/editor/project_settings.cpp msgid "Path" msgstr "" @@ -1128,6 +1133,89 @@ msgstr "" msgid "Delete" msgstr "" +#: tools/editor/editor_autoload_settings.cpp +msgid "Invalid name." +msgstr "" + +#: tools/editor/editor_autoload_settings.cpp +msgid "Valid characters:" +msgstr "" + +#: tools/editor/editor_autoload_settings.cpp +msgid "Invalid name. Must not collide with an existing engine class name." +msgstr "" + +#: tools/editor/editor_autoload_settings.cpp +msgid "Invalid name. Must not collide with an existing buit-in type name." +msgstr "" + +#: tools/editor/editor_autoload_settings.cpp +msgid "Invalid name. Must not collide with an existing global constant name." +msgstr "" + +#: tools/editor/editor_autoload_settings.cpp +msgid "Invalid Path." +msgstr "" + +#: tools/editor/editor_autoload_settings.cpp +msgid "File does not exist." +msgstr "" + +#: tools/editor/editor_autoload_settings.cpp +msgid "Not in resource path." +msgstr "" + +#: tools/editor/editor_autoload_settings.cpp +msgid "Add AutoLoad" +msgstr "" + +#: tools/editor/editor_autoload_settings.cpp +msgid "Autoload '%s' already exists!" +msgstr "" + +#: tools/editor/editor_autoload_settings.cpp +msgid "Rename Autoload" +msgstr "" + +#: tools/editor/editor_autoload_settings.cpp +msgid "Toggle AutoLoad Globals" +msgstr "" + +#: tools/editor/editor_autoload_settings.cpp +msgid "Move Autoload" +msgstr "" + +#: tools/editor/editor_autoload_settings.cpp +msgid "Remove Autoload" +msgstr "" + +#: tools/editor/editor_autoload_settings.cpp +msgid "Enable" +msgstr "" + +#: tools/editor/editor_autoload_settings.cpp +msgid "Rearrange Autoloads" +msgstr "" + +#: tools/editor/editor_autoload_settings.cpp +msgid "Node Name:" +msgstr "" + +#: tools/editor/editor_autoload_settings.cpp +#: tools/editor/io_plugins/editor_scene_import_plugin.cpp +#: tools/editor/plugins/sample_library_editor_plugin.cpp +#: tools/editor/project_manager.cpp +msgid "Name" +msgstr "" + +#: tools/editor/editor_autoload_settings.cpp +msgid "Singleton" +msgstr "" + +#: tools/editor/editor_autoload_settings.cpp +msgid "List:" +msgstr "" + #: tools/editor/editor_data.cpp msgid "Updating Scene" msgstr "" @@ -1181,11 +1269,11 @@ msgid "Focus Path" msgstr "" #: tools/editor/editor_file_dialog.cpp -msgid "Mode Favorite Up" +msgid "Move Favorite Up" msgstr "" #: tools/editor/editor_file_dialog.cpp -msgid "Mode Favorite Down" +msgid "Move Favorite Down" msgstr "" #: tools/editor/editor_file_dialog.cpp tools/editor/scenes_dock.cpp @@ -1208,14 +1296,18 @@ msgstr "" msgid "ScanSources" msgstr "" -#: tools/editor/editor_help.cpp -msgid "Search Classes" +#: tools/editor/editor_help.cpp tools/editor/plugins/script_editor_plugin.cpp +msgid "Search Help" msgstr "" #: tools/editor/editor_help.cpp msgid "Class List:" msgstr "" +#: tools/editor/editor_help.cpp +msgid "Search Classes" +msgstr "" + #: tools/editor/editor_help.cpp tools/editor/property_editor.cpp msgid "Class:" msgstr "" @@ -1313,10 +1405,6 @@ msgstr "" msgid "Node From Scene" msgstr "" -#: tools/editor/editor_node.cpp tools/editor/scenes_dock.cpp -msgid "Re-Import.." -msgstr "" - #: tools/editor/editor_node.cpp #: tools/editor/plugins/animation_player_editor_plugin.cpp #: tools/editor/resources_dock.cpp @@ -1551,7 +1639,7 @@ msgid "" msgstr "" #: tools/editor/editor_node.cpp -msgid "Pick a Manu Scene" +msgid "Pick a Main Scene" msgstr "" #: tools/editor/editor_node.cpp tools/editor/scene_tree_dock.cpp @@ -1642,6 +1730,10 @@ msgid "Save Scene" msgstr "" #: tools/editor/editor_node.cpp +msgid "Save all Scenes" +msgstr "" + +#: tools/editor/editor_node.cpp msgid "Close Scene" msgstr "" @@ -1765,6 +1857,10 @@ msgid "Play custom scene" msgstr "" #: tools/editor/editor_node.cpp +msgid "Play Custom Scene" +msgstr "" + +#: tools/editor/editor_node.cpp msgid "Debug options" msgstr "" @@ -1917,7 +2013,6 @@ msgid "Output" msgstr "" #: tools/editor/editor_node.cpp tools/editor/editor_reimport_dialog.cpp -#: tools/editor/import_settings.cpp msgid "Re-Import" msgstr "" @@ -2089,10 +2184,6 @@ msgstr "" msgid "Remove from Group" msgstr "" -#: tools/editor/import_settings.cpp -msgid "Imported Resources" -msgstr "" - #: tools/editor/io_plugins/editor_bitmask_import_plugin.cpp msgid "No bit masks to import!" msgstr "" @@ -2301,12 +2392,6 @@ msgid "Clips" msgstr "" #: tools/editor/io_plugins/editor_scene_import_plugin.cpp -#: tools/editor/plugins/sample_library_editor_plugin.cpp -#: tools/editor/project_manager.cpp tools/editor/project_settings.cpp -msgid "Name" -msgstr "" - -#: tools/editor/io_plugins/editor_scene_import_plugin.cpp msgid "Start(s)" msgstr "" @@ -3266,7 +3351,7 @@ msgid "Anchor" msgstr "" #: tools/editor/plugins/canvas_item_editor_plugin.cpp -msgid "Insert Keys (Ins)" +msgid "Insert Keys" msgstr "" #: tools/editor/plugins/canvas_item_editor_plugin.cpp @@ -3805,6 +3890,7 @@ msgid "Clear UV" msgstr "" #: tools/editor/plugins/polygon_2d_editor_plugin.cpp +#: tools/editor/plugins/spatial_editor_plugin.cpp msgid "Snap" msgstr "" @@ -3920,6 +4006,14 @@ msgid "Save Theme As.." msgstr "" #: tools/editor/plugins/script_editor_plugin.cpp +msgid "Next script" +msgstr "" + +#: tools/editor/plugins/script_editor_plugin.cpp +msgid "Previous script" +msgstr "" + +#: tools/editor/plugins/script_editor_plugin.cpp #: tools/editor/project_export.cpp msgid "File" msgstr "" @@ -4105,10 +4199,6 @@ msgid "Search the class hierarchy." msgstr "" #: tools/editor/plugins/script_editor_plugin.cpp -msgid "Search Help" -msgstr "" - -#: tools/editor/plugins/script_editor_plugin.cpp msgid "Search the reference documentation." msgstr "" @@ -4143,6 +4233,11 @@ msgstr "" msgid "Debugger" msgstr "" +#: tools/editor/plugins/script_editor_plugin.cpp +msgid "" +"Built-in scripts can only be edited when the scene they belong to is loaded" +msgstr "" + #: tools/editor/plugins/shader_editor_plugin.cpp msgid "Vertex" msgstr "" @@ -4376,75 +4471,75 @@ msgid "Align with view" msgstr "" #: tools/editor/plugins/spatial_editor_plugin.cpp -msgid "Top (Num7)" +msgid "Environment" msgstr "" #: tools/editor/plugins/spatial_editor_plugin.cpp -msgid "Bottom (Shift+Num7)" +msgid "Audio Listener" msgstr "" #: tools/editor/plugins/spatial_editor_plugin.cpp -msgid "Left (Num3)" +msgid "Gizmos" msgstr "" #: tools/editor/plugins/spatial_editor_plugin.cpp -msgid "Right (Shift+Num3)" +msgid "XForm Dialog" msgstr "" #: tools/editor/plugins/spatial_editor_plugin.cpp -msgid "Front (Num1)" +msgid "No scene selected to instance!" msgstr "" #: tools/editor/plugins/spatial_editor_plugin.cpp -msgid "Rear (Shift+Num1)" +msgid "Instance at Cursor" msgstr "" #: tools/editor/plugins/spatial_editor_plugin.cpp -msgid "Perspective (Num5)" +msgid "Could not instance scene!" msgstr "" #: tools/editor/plugins/spatial_editor_plugin.cpp -msgid "Orthogonal (Num5)" +msgid "Scale Mode (R)" msgstr "" #: tools/editor/plugins/spatial_editor_plugin.cpp -msgid "Environment" +msgid "Bottom View" msgstr "" #: tools/editor/plugins/spatial_editor_plugin.cpp -msgid "Audio Listener" +msgid "Top View" msgstr "" #: tools/editor/plugins/spatial_editor_plugin.cpp -msgid "Gizmos" +msgid "Rear View" msgstr "" #: tools/editor/plugins/spatial_editor_plugin.cpp -msgid "Selection (F)" +msgid "Front View" msgstr "" #: tools/editor/plugins/spatial_editor_plugin.cpp -msgid "Align with view (Ctrl+Shift+F)" +msgid "Left View" msgstr "" #: tools/editor/plugins/spatial_editor_plugin.cpp -msgid "XForm Dialog" +msgid "Right View" msgstr "" #: tools/editor/plugins/spatial_editor_plugin.cpp -msgid "No scene selected to instance!" +msgid "Switch Perspective/Orthogonal view" msgstr "" #: tools/editor/plugins/spatial_editor_plugin.cpp -msgid "Instance at Cursor" +msgid "Insert Animation Key" msgstr "" #: tools/editor/plugins/spatial_editor_plugin.cpp -msgid "Could not instance scene!" +msgid "Focus Selection" msgstr "" #: tools/editor/plugins/spatial_editor_plugin.cpp -msgid "Scale Mode (R)" +msgid "Align Selection With View" msgstr "" #: tools/editor/plugins/spatial_editor_plugin.cpp @@ -5166,6 +5261,14 @@ msgid "Couldn't create engine.cfg in project path." msgstr "" #: tools/editor/project_manager.cpp +msgid "The following files failed extraction from package:" +msgstr "" + +#: tools/editor/project_manager.cpp +msgid "Package Installed Successfully!" +msgstr "" + +#: tools/editor/project_manager.cpp msgid "Import Existing Project" msgstr "" @@ -5186,6 +5289,14 @@ msgid "Project Path:" msgstr "" #: tools/editor/project_manager.cpp +msgid "Install Project:" +msgstr "" + +#: tools/editor/project_manager.cpp +msgid "Install" +msgstr "" + +#: tools/editor/project_manager.cpp msgid "Browse" msgstr "" @@ -5350,50 +5461,6 @@ msgid "Add Translation" msgstr "" #: tools/editor/project_settings.cpp -msgid "Invalid name." -msgstr "" - -#: tools/editor/project_settings.cpp -msgid "Valid characters:" -msgstr "" - -#: tools/editor/project_settings.cpp -msgid "Invalid name. Must not collide with an existing engine class name." -msgstr "" - -#: tools/editor/project_settings.cpp -msgid "Invalid name. Must not collide with an existing buit-in type name." -msgstr "" - -#: tools/editor/project_settings.cpp -msgid "Invalid name. Must not collide with an existing global constant name." -msgstr "" - -#: tools/editor/project_settings.cpp -msgid "Autoload '%s' already exists!" -msgstr "" - -#: tools/editor/project_settings.cpp -msgid "Rename Autoload" -msgstr "" - -#: tools/editor/project_settings.cpp -msgid "Toggle AutoLoad Globals" -msgstr "" - -#: tools/editor/project_settings.cpp -msgid "Add Autoload" -msgstr "" - -#: tools/editor/project_settings.cpp -msgid "Remove Autoload" -msgstr "" - -#: tools/editor/project_settings.cpp -msgid "Move Autoload" -msgstr "" - -#: tools/editor/project_settings.cpp msgid "Remove Translation" msgstr "" @@ -5418,10 +5485,6 @@ msgid "Remove Resource Remap Option" msgstr "" #: tools/editor/project_settings.cpp -msgid "Enable" -msgstr "" - -#: tools/editor/project_settings.cpp msgid "Project Settings (engine.cfg)" msgstr "" @@ -5494,18 +5557,6 @@ msgid "AutoLoad" msgstr "" #: tools/editor/project_settings.cpp -msgid "Node Name:" -msgstr "" - -#: tools/editor/project_settings.cpp -msgid "List:" -msgstr "" - -#: tools/editor/project_settings.cpp -msgid "Singleton" -msgstr "" - -#: tools/editor/project_settings.cpp msgid "Plugins" msgstr "" @@ -5910,6 +5961,10 @@ msgid "Show In File Manager" msgstr "" #: tools/editor/scenes_dock.cpp +msgid "Re-Import.." +msgstr "" + +#: tools/editor/scenes_dock.cpp msgid "Previous Directory" msgstr "" diff --git a/tools/translations/de.po b/tools/translations/de.po index 208b4d1bc5..60c3919a97 100644 --- a/tools/translations/de.po +++ b/tools/translations/de.po @@ -18,8 +18,8 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine editor\n" "POT-Creation-Date: \n" -"PO-Revision-Date: 2016-06-27 09:01+0000\n" -"Last-Translator: danjo <atze@libra.uberspace.de>\n" +"PO-Revision-Date: 2016-07-01 21:03+0000\n" +"Last-Translator: Christian Fisch <christian.fiesel@gmail.com>\n" "Language-Team: German <https://hosted.weblate.org/projects/godot-engine/" "godot/de/>\n" "Language: de\n" @@ -187,7 +187,7 @@ msgid "" "order for SamplePlayer to play sound." msgstr "" "Eine SampleLibrary Ressource muss in der 'samples' Variable erzeugt oder " -"definiert werden, damit SpatialSamplePlayer einen Sound abspielen kann." +"definiert werden, damit SamplePlayer einen Sound abspielen kann." #: scene/2d/sprite.cpp msgid "" @@ -350,9 +350,10 @@ msgstr "Datei speichern" msgid "Create Folder" msgstr "Ordner erstellen" -#: scene/gui/file_dialog.cpp tools/editor/editor_file_dialog.cpp +#: scene/gui/file_dialog.cpp tools/editor/editor_autoload_settings.cpp +#: tools/editor/editor_file_dialog.cpp #: tools/editor/io_plugins/editor_font_import_plugin.cpp -#: tools/editor/project_settings.cpp tools/editor/script_create_dialog.cpp +#: tools/editor/script_create_dialog.cpp msgid "Path:" msgstr "Pfad:" @@ -554,6 +555,10 @@ msgid "Anim Add Track" msgstr "Anim Spur hinzufügen" #: tools/editor/animation_editor.cpp +msgid "Anim Duplicate Keys" +msgstr "Anim doppelte Schlüsselbilder" + +#: tools/editor/animation_editor.cpp msgid "Move Anim Track Up" msgstr "Anim Spur nach oben verschieben" @@ -566,10 +571,6 @@ msgid "Remove Anim Track" msgstr "Anim Spur entfernen" #: tools/editor/animation_editor.cpp -msgid "Anim Duplicate Keys" -msgstr "Anim doppelte Schlüsselbilder" - -#: tools/editor/animation_editor.cpp msgid "Set Transitions to:" msgstr "Setze Übergänge auf:" @@ -598,6 +599,20 @@ msgid "Anim Delete Keys" msgstr "Anim Schlüsselbilder löschen" #: tools/editor/animation_editor.cpp +#: tools/editor/plugins/tile_map_editor_plugin.cpp +msgid "Duplicate Selection" +msgstr "Auswahl duplizieren" + +#: tools/editor/animation_editor.cpp +msgid "Duplicate Transposed" +msgstr "" + +#: tools/editor/animation_editor.cpp +#, fuzzy +msgid "Remove Selection" +msgstr "Auswahl einrahmen" + +#: tools/editor/animation_editor.cpp msgid "Continuous" msgstr "Fortlaufend" @@ -626,15 +641,6 @@ msgid "Scale From Cursor" msgstr "Skalierung vom Cursor" #: tools/editor/animation_editor.cpp -#: tools/editor/plugins/tile_map_editor_plugin.cpp -msgid "Duplicate Selection" -msgstr "Auswahl duplizieren" - -#: tools/editor/animation_editor.cpp -msgid "Duplicate Transposed" -msgstr "" - -#: tools/editor/animation_editor.cpp msgid "Goto Next Step" msgstr "Gehe zum nächsten Schritt" @@ -906,7 +912,6 @@ msgid "Call" msgstr "Aufruf" #: tools/editor/call_dialog.cpp tools/editor/connections_dialog.cpp -#: tools/editor/import_settings.cpp #: tools/editor/plugins/animation_player_editor_plugin.cpp #: tools/editor/plugins/canvas_item_editor_plugin.cpp #: tools/editor/plugins/resource_preloader_editor_plugin.cpp @@ -1026,7 +1031,8 @@ msgstr "Methode in Ziel-Node muss angegeben werden!" msgid "Connect To Node:" msgstr "Verbinde Zu Node:" -#: tools/editor/connections_dialog.cpp tools/editor/groups_editor.cpp +#: tools/editor/connections_dialog.cpp +#: tools/editor/editor_autoload_settings.cpp tools/editor/groups_editor.cpp #: tools/editor/plugins/item_list_editor_plugin.cpp #: tools/editor/plugins/theme_editor_plugin.cpp #: tools/editor/project_settings.cpp @@ -1137,8 +1143,8 @@ msgstr "Abhängigkeiten" msgid "Resource" msgstr "Ressource" -#: tools/editor/dependency_editor.cpp tools/editor/project_manager.cpp -#: tools/editor/project_settings.cpp +#: tools/editor/dependency_editor.cpp tools/editor/editor_autoload_settings.cpp +#: tools/editor/project_manager.cpp tools/editor/project_settings.cpp msgid "Path" msgstr "Pfad" @@ -1226,6 +1232,92 @@ msgstr "Ausgewählten Dateien löschen?" msgid "Delete" msgstr "Löschen" +#: tools/editor/editor_autoload_settings.cpp +msgid "Invalid name." +msgstr "Ungültiger Name." + +#: tools/editor/editor_autoload_settings.cpp +msgid "Valid characters:" +msgstr "" + +#: tools/editor/editor_autoload_settings.cpp +msgid "Invalid name. Must not collide with an existing engine class name." +msgstr "" + +#: tools/editor/editor_autoload_settings.cpp +msgid "Invalid name. Must not collide with an existing buit-in type name." +msgstr "" + +#: tools/editor/editor_autoload_settings.cpp +msgid "Invalid name. Must not collide with an existing global constant name." +msgstr "" + +#: tools/editor/editor_autoload_settings.cpp +#, fuzzy +msgid "Invalid Path." +msgstr "Ungültiger Pfad!" + +#: tools/editor/editor_autoload_settings.cpp +#, fuzzy +msgid "File does not exist." +msgstr "Datei existiert" + +#: tools/editor/editor_autoload_settings.cpp +#, fuzzy +msgid "Not in resource path." +msgstr "Keine Ziel Font Ressource!" + +#: tools/editor/editor_autoload_settings.cpp +msgid "Add AutoLoad" +msgstr "" + +#: tools/editor/editor_autoload_settings.cpp +msgid "Autoload '%s' already exists!" +msgstr "Autoload '%s' existiert bereits!" + +#: tools/editor/editor_autoload_settings.cpp +msgid "Rename Autoload" +msgstr "" + +#: tools/editor/editor_autoload_settings.cpp +msgid "Toggle AutoLoad Globals" +msgstr "" + +#: tools/editor/editor_autoload_settings.cpp +msgid "Move Autoload" +msgstr "" + +#: tools/editor/editor_autoload_settings.cpp +msgid "Remove Autoload" +msgstr "" + +#: tools/editor/editor_autoload_settings.cpp +msgid "Enable" +msgstr "Aktivieren" + +#: tools/editor/editor_autoload_settings.cpp +msgid "Rearrange Autoloads" +msgstr "" + +#: tools/editor/editor_autoload_settings.cpp +msgid "Node Name:" +msgstr "" + +#: tools/editor/editor_autoload_settings.cpp +#: tools/editor/io_plugins/editor_scene_import_plugin.cpp +#: tools/editor/plugins/sample_library_editor_plugin.cpp +#: tools/editor/project_manager.cpp +msgid "Name" +msgstr "Name" + +#: tools/editor/editor_autoload_settings.cpp +msgid "Singleton" +msgstr "" + +#: tools/editor/editor_autoload_settings.cpp +msgid "List:" +msgstr "" + #: tools/editor/editor_data.cpp msgid "Updating Scene" msgstr "Aktualisiere Szene" @@ -1283,12 +1375,13 @@ msgstr "Pfad kopieren" #: tools/editor/editor_file_dialog.cpp #, fuzzy -msgid "Mode Favorite Up" +msgid "Move Favorite Up" msgstr "Favoriten:" #: tools/editor/editor_file_dialog.cpp -msgid "Mode Favorite Down" -msgstr "" +#, fuzzy +msgid "Move Favorite Down" +msgstr "Favoriten:" #: tools/editor/editor_file_dialog.cpp tools/editor/scenes_dock.cpp msgid "Favorites:" @@ -1310,14 +1403,18 @@ msgstr "Unterordner kann nicht geöffnet werden:" msgid "ScanSources" msgstr "Scanne Quellen" -#: tools/editor/editor_help.cpp -msgid "Search Classes" -msgstr "Klassen suchen" +#: tools/editor/editor_help.cpp tools/editor/plugins/script_editor_plugin.cpp +msgid "Search Help" +msgstr "" #: tools/editor/editor_help.cpp msgid "Class List:" msgstr "Klassenliste:" +#: tools/editor/editor_help.cpp +msgid "Search Classes" +msgstr "Klassen suchen" + #: tools/editor/editor_help.cpp tools/editor/property_editor.cpp msgid "Class:" msgstr "Klasse:" @@ -1415,10 +1512,6 @@ msgstr "Importiere:" msgid "Node From Scene" msgstr "Node aus Szene" -#: tools/editor/editor_node.cpp tools/editor/scenes_dock.cpp -msgid "Re-Import.." -msgstr "Re-Import.." - #: tools/editor/editor_node.cpp #: tools/editor/plugins/animation_player_editor_plugin.cpp #: tools/editor/resources_dock.cpp @@ -1671,7 +1764,7 @@ msgstr "" #: tools/editor/editor_node.cpp #, fuzzy -msgid "Pick a Manu Scene" +msgid "Pick a Main Scene" msgstr "Hauptszene" #: tools/editor/editor_node.cpp tools/editor/scene_tree_dock.cpp @@ -1766,6 +1859,11 @@ msgid "Save Scene" msgstr "Szene Speichern" #: tools/editor/editor_node.cpp +#, fuzzy +msgid "Save all Scenes" +msgstr "Szene Speichern" + +#: tools/editor/editor_node.cpp msgid "Close Scene" msgstr "Szene Schliessen" @@ -1889,6 +1987,11 @@ msgid "Play custom scene" msgstr "Spiele angepasste Szene" #: tools/editor/editor_node.cpp +#, fuzzy +msgid "Play Custom Scene" +msgstr "Spiele angepasste Szene" + +#: tools/editor/editor_node.cpp msgid "Debug options" msgstr "Debug Optionen" @@ -2061,7 +2164,6 @@ msgid "Output" msgstr "Ausgabe" #: tools/editor/editor_node.cpp tools/editor/editor_reimport_dialog.cpp -#: tools/editor/import_settings.cpp msgid "Re-Import" msgstr "Re-Import" @@ -2235,10 +2337,6 @@ msgstr "Füge Gruppe hinzu" msgid "Remove from Group" msgstr "Entferne aus Gruppe" -#: tools/editor/import_settings.cpp -msgid "Imported Resources" -msgstr "Importierte Ressourcen" - #: tools/editor/io_plugins/editor_bitmask_import_plugin.cpp msgid "No bit masks to import!" msgstr "Keine Bit Masken zu importieren!" @@ -2450,12 +2548,6 @@ msgid "Clips" msgstr "Begrenzungen" #: tools/editor/io_plugins/editor_scene_import_plugin.cpp -#: tools/editor/plugins/sample_library_editor_plugin.cpp -#: tools/editor/project_manager.cpp tools/editor/project_settings.cpp -msgid "Name" -msgstr "Name" - -#: tools/editor/io_plugins/editor_scene_import_plugin.cpp msgid "Start(s)" msgstr "Start" @@ -3430,8 +3522,9 @@ msgid "Anchor" msgstr "Anker" #: tools/editor/plugins/canvas_item_editor_plugin.cpp -msgid "Insert Keys (Ins)" -msgstr "Schlüsselbilder einfügen (Einfg)" +#, fuzzy +msgid "Insert Keys" +msgstr "Schlüsselbild einfügen" #: tools/editor/plugins/canvas_item_editor_plugin.cpp msgid "Insert Key" @@ -3969,6 +4062,7 @@ msgid "Clear UV" msgstr "" #: tools/editor/plugins/polygon_2d_editor_plugin.cpp +#: tools/editor/plugins/spatial_editor_plugin.cpp msgid "Snap" msgstr "Einrasten" @@ -4084,6 +4178,15 @@ msgid "Save Theme As.." msgstr "" #: tools/editor/plugins/script_editor_plugin.cpp +#, fuzzy +msgid "Next script" +msgstr "Nächste" + +#: tools/editor/plugins/script_editor_plugin.cpp +msgid "Previous script" +msgstr "" + +#: tools/editor/plugins/script_editor_plugin.cpp #: tools/editor/project_export.cpp msgid "File" msgstr "Datei" @@ -4269,10 +4372,6 @@ msgid "Search the class hierarchy." msgstr "" #: tools/editor/plugins/script_editor_plugin.cpp -msgid "Search Help" -msgstr "" - -#: tools/editor/plugins/script_editor_plugin.cpp msgid "Search the reference documentation." msgstr "" @@ -4307,6 +4406,11 @@ msgstr "" msgid "Debugger" msgstr "Debugger" +#: tools/editor/plugins/script_editor_plugin.cpp +msgid "" +"Built-in scripts can only be edited when the scene they belong to is loaded" +msgstr "" + #: tools/editor/plugins/shader_editor_plugin.cpp msgid "Vertex" msgstr "" @@ -4540,76 +4644,82 @@ msgid "Align with view" msgstr "" #: tools/editor/plugins/spatial_editor_plugin.cpp -msgid "Top (Num7)" +msgid "Environment" msgstr "" #: tools/editor/plugins/spatial_editor_plugin.cpp -msgid "Bottom (Shift+Num7)" +msgid "Audio Listener" msgstr "" #: tools/editor/plugins/spatial_editor_plugin.cpp -msgid "Left (Num3)" +msgid "Gizmos" msgstr "" #: tools/editor/plugins/spatial_editor_plugin.cpp -msgid "Right (Shift+Num3)" +msgid "XForm Dialog" msgstr "" #: tools/editor/plugins/spatial_editor_plugin.cpp -msgid "Front (Num1)" +msgid "No scene selected to instance!" msgstr "" #: tools/editor/plugins/spatial_editor_plugin.cpp -msgid "Rear (Shift+Num1)" +msgid "Instance at Cursor" msgstr "" #: tools/editor/plugins/spatial_editor_plugin.cpp -msgid "Perspective (Num5)" +msgid "Could not instance scene!" msgstr "" #: tools/editor/plugins/spatial_editor_plugin.cpp -msgid "Orthogonal (Num5)" +msgid "Scale Mode (R)" msgstr "" #: tools/editor/plugins/spatial_editor_plugin.cpp -msgid "Environment" +msgid "Bottom View" msgstr "" #: tools/editor/plugins/spatial_editor_plugin.cpp -msgid "Audio Listener" -msgstr "" +#, fuzzy +msgid "Top View" +msgstr "Ansicht" #: tools/editor/plugins/spatial_editor_plugin.cpp -msgid "Gizmos" -msgstr "" +#, fuzzy +msgid "Rear View" +msgstr "Ansicht" #: tools/editor/plugins/spatial_editor_plugin.cpp -msgid "Selection (F)" +msgid "Front View" msgstr "" #: tools/editor/plugins/spatial_editor_plugin.cpp -msgid "Align with view (Ctrl+Shift+F)" -msgstr "" +#, fuzzy +msgid "Left View" +msgstr "Ansicht" #: tools/editor/plugins/spatial_editor_plugin.cpp -msgid "XForm Dialog" +msgid "Right View" msgstr "" #: tools/editor/plugins/spatial_editor_plugin.cpp -msgid "No scene selected to instance!" +msgid "Switch Perspective/Orthogonal view" msgstr "" #: tools/editor/plugins/spatial_editor_plugin.cpp -msgid "Instance at Cursor" -msgstr "" +#, fuzzy +msgid "Insert Animation Key" +msgstr "Animation Einfügen" #: tools/editor/plugins/spatial_editor_plugin.cpp -msgid "Could not instance scene!" -msgstr "" +#, fuzzy +msgid "Focus Selection" +msgstr "Skalierung Auswahl" #: tools/editor/plugins/spatial_editor_plugin.cpp -msgid "Scale Mode (R)" -msgstr "" +#, fuzzy +msgid "Align Selection With View" +msgstr "Alle auswählen" #: tools/editor/plugins/spatial_editor_plugin.cpp msgid "Transform" @@ -5343,6 +5453,15 @@ msgid "Couldn't create engine.cfg in project path." msgstr "" #: tools/editor/project_manager.cpp +#, fuzzy +msgid "The following files failed extraction from package:" +msgstr "Die folgenden Dateien fehlen:" + +#: tools/editor/project_manager.cpp +msgid "Package Installed Successfully!" +msgstr "" + +#: tools/editor/project_manager.cpp msgid "Import Existing Project" msgstr "" @@ -5363,6 +5482,16 @@ msgid "Project Path:" msgstr "" #: tools/editor/project_manager.cpp +#, fuzzy +msgid "Install Project:" +msgstr "Unbenanntes Projekt" + +#: tools/editor/project_manager.cpp +#, fuzzy +msgid "Install" +msgstr "Instanz:" + +#: tools/editor/project_manager.cpp msgid "Browse" msgstr "" @@ -5529,50 +5658,6 @@ msgid "Add Translation" msgstr "Übersetzung hinzufügen" #: tools/editor/project_settings.cpp -msgid "Invalid name." -msgstr "Ungültiger Name." - -#: tools/editor/project_settings.cpp -msgid "Valid characters:" -msgstr "" - -#: tools/editor/project_settings.cpp -msgid "Invalid name. Must not collide with an existing engine class name." -msgstr "" - -#: tools/editor/project_settings.cpp -msgid "Invalid name. Must not collide with an existing buit-in type name." -msgstr "" - -#: tools/editor/project_settings.cpp -msgid "Invalid name. Must not collide with an existing global constant name." -msgstr "" - -#: tools/editor/project_settings.cpp -msgid "Autoload '%s' already exists!" -msgstr "Autoload '%s' existiert bereits!" - -#: tools/editor/project_settings.cpp -msgid "Rename Autoload" -msgstr "" - -#: tools/editor/project_settings.cpp -msgid "Toggle AutoLoad Globals" -msgstr "" - -#: tools/editor/project_settings.cpp -msgid "Add Autoload" -msgstr "" - -#: tools/editor/project_settings.cpp -msgid "Remove Autoload" -msgstr "" - -#: tools/editor/project_settings.cpp -msgid "Move Autoload" -msgstr "" - -#: tools/editor/project_settings.cpp msgid "Remove Translation" msgstr "" @@ -5597,10 +5682,6 @@ msgid "Remove Resource Remap Option" msgstr "" #: tools/editor/project_settings.cpp -msgid "Enable" -msgstr "Aktivieren" - -#: tools/editor/project_settings.cpp msgid "Project Settings (engine.cfg)" msgstr "Projekteinstellungen (engine.cfg)" @@ -5673,18 +5754,6 @@ msgid "AutoLoad" msgstr "" #: tools/editor/project_settings.cpp -msgid "Node Name:" -msgstr "" - -#: tools/editor/project_settings.cpp -msgid "List:" -msgstr "" - -#: tools/editor/project_settings.cpp -msgid "Singleton" -msgstr "" - -#: tools/editor/project_settings.cpp msgid "Plugins" msgstr "Erweiterungen" @@ -6089,6 +6158,10 @@ msgid "Show In File Manager" msgstr "Zeige im Dateimanager" #: tools/editor/scenes_dock.cpp +msgid "Re-Import.." +msgstr "Re-Import.." + +#: tools/editor/scenes_dock.cpp msgid "Previous Directory" msgstr "" @@ -6348,6 +6421,12 @@ msgstr "" msgid "Change Notifier Extents" msgstr "" +#~ msgid "Imported Resources" +#~ msgstr "Importierte Ressourcen" + +#~ msgid "Insert Keys (Ins)" +#~ msgstr "Schlüsselbilder einfügen (Einfg)" + #, fuzzy #~ msgid "Change Anim Loop Interpolation" #~ msgstr "Ändere Animationswiederholung" diff --git a/tools/translations/de_CH.po b/tools/translations/de_CH.po index 4404ca02df..5524736388 100644 --- a/tools/translations/de_CH.po +++ b/tools/translations/de_CH.po @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine editor\n" -"PO-Revision-Date: 2016-06-22 14:54+0000\n" +"PO-Revision-Date: 2016-06-30 13:47+0000\n" "Last-Translator: Christian Fisch <christian.fiesel@gmail.com>\n" "Language-Team: Swiss High German <https://hosted.weblate.org/projects/godot-" "engine/godot/de_CH/>\n" @@ -62,8 +62,8 @@ msgid "" "A SpriteFrames resource must be created or set in the 'Frames' property in " "order for AnimatedSprite to display frames." msgstr "" -"Damit das AnimatedSprite node Frames anzeigen kann, muss eine SpriteFrame " -"Resource unter Frames gesetzt sein." +"Damit AnimatedSprite Frames anzeigen kann, muss eine SpriteFrame Resource " +"unter der 'Frames' Property erstellt oder gesetzt sein." #: scene/2d/canvas_modulate.cpp msgid "" @@ -108,16 +108,23 @@ msgstr "" msgid "" "An occluder polygon must be set (or drawn) for this occluder to take effect." msgstr "" +"Ein Okkluder Polygon muss gesetzt oder gezeichnet werden, damit dieser " +"Okkluder funktioniert." #: scene/2d/light_occluder_2d.cpp msgid "The occluder polygon for this occluder is empty. Please draw a polygon!" msgstr "" +"Das Okkluder Polygon für diesen Okkluder ist leer. Bitte zeichne ein Polygon!" #: scene/2d/navigation_polygon.cpp +#, fuzzy msgid "" "A NavigationPolygon resource must be set or created for this node to work. " "Please set a property or draw a polygon." msgstr "" +"Eine NavigationPolygon Ressource muss für diesen Node gesetzt oder erstellt " +"werden, damit er funktioniert. Bitte setze eine Variable oder zeichne ein " +"Polygon." #: scene/2d/navigation_polygon.cpp msgid "" @@ -134,21 +141,27 @@ msgstr "" #: scene/2d/particles_2d.cpp msgid "Path property must point to a valid Particles2D node to work." -msgstr "" +msgstr "Die Pfad-Variable muss auf einen gültigen Particles2D Node verweisen." #: scene/2d/path_2d.cpp msgid "PathFollow2D only works when set as a child of a Path2D node." msgstr "" +"PathFollow2D funktioniert nur, wenn sie als Unterobjekt eines Path2D Nodes " +"gesetzt wird." #: scene/2d/remote_transform_2d.cpp msgid "Path property must point to a valid Node2D node to work." msgstr "" +"Die Pfad-Variable muss auf einen gültigen Node2D Node zeigen um zu " +"funktionieren." #: scene/2d/sample_player_2d.cpp scene/audio/sample_player.cpp msgid "" "A SampleLibrary resource must be created or set in the 'samples' property in " "order for SamplePlayer to play sound." msgstr "" +"Damit SamplePlayer einen Sound abspielen kann, muss eine SampleLibrary " +"Ressource in der 'samples' Property erzeugt oder definiert werden." #: scene/2d/sprite.cpp msgid "" @@ -163,10 +176,13 @@ msgid "" msgstr "" #: scene/2d/visibility_notifier_2d.cpp +#, fuzzy msgid "" "VisibilityEnable2D works best when used with the edited scene root directly " "as parent." msgstr "" +"VisibilityEnable2D funktioniert am besten, wenn es ein Unterobjekt erster " +"Ordnung der bearbeiteten Hauptszene ist." #: scene/3d/body_shape.cpp msgid "" @@ -212,6 +228,9 @@ msgid "" "A SampleLibrary resource must be created or set in the 'samples' property in " "order for SpatialSamplePlayer to play sound." msgstr "" +"Damit SpatialSamplePlayer einen Sound abspielen kann, muss eine " +"SampleLibrary Ressource in der 'samples' Eigenschaft erzeugt oder definiert " +"werden." #: scene/3d/sprite_3d.cpp msgid "" @@ -286,9 +305,10 @@ msgstr "Datei speichern" msgid "Create Folder" msgstr "" -#: scene/gui/file_dialog.cpp tools/editor/editor_file_dialog.cpp +#: scene/gui/file_dialog.cpp tools/editor/editor_autoload_settings.cpp +#: tools/editor/editor_file_dialog.cpp #: tools/editor/io_plugins/editor_font_import_plugin.cpp -#: tools/editor/project_settings.cpp tools/editor/script_create_dialog.cpp +#: tools/editor/script_create_dialog.cpp msgid "Path:" msgstr "" @@ -482,6 +502,10 @@ msgid "Anim Add Track" msgstr "" #: tools/editor/animation_editor.cpp +msgid "Anim Duplicate Keys" +msgstr "Anim Bilder duplizieren" + +#: tools/editor/animation_editor.cpp msgid "Move Anim Track Up" msgstr "" @@ -494,10 +518,6 @@ msgid "Remove Anim Track" msgstr "" #: tools/editor/animation_editor.cpp -msgid "Anim Duplicate Keys" -msgstr "Anim Bilder duplizieren" - -#: tools/editor/animation_editor.cpp msgid "Set Transitions to:" msgstr "" @@ -526,6 +546,19 @@ msgid "Anim Delete Keys" msgstr "Anim Bilder löschen" #: tools/editor/animation_editor.cpp +#: tools/editor/plugins/tile_map_editor_plugin.cpp +msgid "Duplicate Selection" +msgstr "" + +#: tools/editor/animation_editor.cpp +msgid "Duplicate Transposed" +msgstr "" + +#: tools/editor/animation_editor.cpp +msgid "Remove Selection" +msgstr "" + +#: tools/editor/animation_editor.cpp msgid "Continuous" msgstr "" @@ -554,15 +587,6 @@ msgid "Scale From Cursor" msgstr "" #: tools/editor/animation_editor.cpp -#: tools/editor/plugins/tile_map_editor_plugin.cpp -msgid "Duplicate Selection" -msgstr "" - -#: tools/editor/animation_editor.cpp -msgid "Duplicate Transposed" -msgstr "" - -#: tools/editor/animation_editor.cpp msgid "Goto Next Step" msgstr "" @@ -833,7 +857,6 @@ msgid "Call" msgstr "" #: tools/editor/call_dialog.cpp tools/editor/connections_dialog.cpp -#: tools/editor/import_settings.cpp #: tools/editor/plugins/animation_player_editor_plugin.cpp #: tools/editor/plugins/canvas_item_editor_plugin.cpp #: tools/editor/plugins/resource_preloader_editor_plugin.cpp @@ -953,7 +976,8 @@ msgstr "Die Methode muss im Ziel Node definiert werden!" msgid "Connect To Node:" msgstr "Verbindung zu Node:" -#: tools/editor/connections_dialog.cpp tools/editor/groups_editor.cpp +#: tools/editor/connections_dialog.cpp +#: tools/editor/editor_autoload_settings.cpp tools/editor/groups_editor.cpp #: tools/editor/plugins/item_list_editor_plugin.cpp #: tools/editor/plugins/theme_editor_plugin.cpp #: tools/editor/project_settings.cpp @@ -1057,8 +1081,8 @@ msgstr "" msgid "Resource" msgstr "" -#: tools/editor/dependency_editor.cpp tools/editor/project_manager.cpp -#: tools/editor/project_settings.cpp +#: tools/editor/dependency_editor.cpp tools/editor/editor_autoload_settings.cpp +#: tools/editor/project_manager.cpp tools/editor/project_settings.cpp msgid "Path" msgstr "" @@ -1143,6 +1167,89 @@ msgstr "" msgid "Delete" msgstr "" +#: tools/editor/editor_autoload_settings.cpp +msgid "Invalid name." +msgstr "" + +#: tools/editor/editor_autoload_settings.cpp +msgid "Valid characters:" +msgstr "" + +#: tools/editor/editor_autoload_settings.cpp +msgid "Invalid name. Must not collide with an existing engine class name." +msgstr "" + +#: tools/editor/editor_autoload_settings.cpp +msgid "Invalid name. Must not collide with an existing buit-in type name." +msgstr "" + +#: tools/editor/editor_autoload_settings.cpp +msgid "Invalid name. Must not collide with an existing global constant name." +msgstr "" + +#: tools/editor/editor_autoload_settings.cpp +msgid "Invalid Path." +msgstr "" + +#: tools/editor/editor_autoload_settings.cpp +msgid "File does not exist." +msgstr "" + +#: tools/editor/editor_autoload_settings.cpp +msgid "Not in resource path." +msgstr "" + +#: tools/editor/editor_autoload_settings.cpp +msgid "Add AutoLoad" +msgstr "" + +#: tools/editor/editor_autoload_settings.cpp +msgid "Autoload '%s' already exists!" +msgstr "" + +#: tools/editor/editor_autoload_settings.cpp +msgid "Rename Autoload" +msgstr "" + +#: tools/editor/editor_autoload_settings.cpp +msgid "Toggle AutoLoad Globals" +msgstr "" + +#: tools/editor/editor_autoload_settings.cpp +msgid "Move Autoload" +msgstr "" + +#: tools/editor/editor_autoload_settings.cpp +msgid "Remove Autoload" +msgstr "" + +#: tools/editor/editor_autoload_settings.cpp +msgid "Enable" +msgstr "" + +#: tools/editor/editor_autoload_settings.cpp +msgid "Rearrange Autoloads" +msgstr "" + +#: tools/editor/editor_autoload_settings.cpp +msgid "Node Name:" +msgstr "" + +#: tools/editor/editor_autoload_settings.cpp +#: tools/editor/io_plugins/editor_scene_import_plugin.cpp +#: tools/editor/plugins/sample_library_editor_plugin.cpp +#: tools/editor/project_manager.cpp +msgid "Name" +msgstr "" + +#: tools/editor/editor_autoload_settings.cpp +msgid "Singleton" +msgstr "" + +#: tools/editor/editor_autoload_settings.cpp +msgid "List:" +msgstr "" + #: tools/editor/editor_data.cpp msgid "Updating Scene" msgstr "" @@ -1196,11 +1303,11 @@ msgid "Focus Path" msgstr "" #: tools/editor/editor_file_dialog.cpp -msgid "Mode Favorite Up" +msgid "Move Favorite Up" msgstr "" #: tools/editor/editor_file_dialog.cpp -msgid "Mode Favorite Down" +msgid "Move Favorite Down" msgstr "" #: tools/editor/editor_file_dialog.cpp tools/editor/scenes_dock.cpp @@ -1223,14 +1330,18 @@ msgstr "" msgid "ScanSources" msgstr "" -#: tools/editor/editor_help.cpp -msgid "Search Classes" +#: tools/editor/editor_help.cpp tools/editor/plugins/script_editor_plugin.cpp +msgid "Search Help" msgstr "" #: tools/editor/editor_help.cpp msgid "Class List:" msgstr "" +#: tools/editor/editor_help.cpp +msgid "Search Classes" +msgstr "" + #: tools/editor/editor_help.cpp tools/editor/property_editor.cpp msgid "Class:" msgstr "" @@ -1328,10 +1439,6 @@ msgstr "" msgid "Node From Scene" msgstr "Node von Szene" -#: tools/editor/editor_node.cpp tools/editor/scenes_dock.cpp -msgid "Re-Import.." -msgstr "" - #: tools/editor/editor_node.cpp #: tools/editor/plugins/animation_player_editor_plugin.cpp #: tools/editor/resources_dock.cpp @@ -1566,7 +1673,7 @@ msgid "" msgstr "" #: tools/editor/editor_node.cpp -msgid "Pick a Manu Scene" +msgid "Pick a Main Scene" msgstr "" #: tools/editor/editor_node.cpp tools/editor/scene_tree_dock.cpp @@ -1657,6 +1764,11 @@ msgid "Save Scene" msgstr "" #: tools/editor/editor_node.cpp +#, fuzzy +msgid "Save all Scenes" +msgstr "Neue Szene speichern als..." + +#: tools/editor/editor_node.cpp msgid "Close Scene" msgstr "" @@ -1743,12 +1855,12 @@ msgstr "" #: tools/editor/editor_node.cpp msgid "Play the project." -msgstr "" +msgstr "Projekt starten." #: tools/editor/editor_node.cpp #: tools/editor/plugins/sample_library_editor_plugin.cpp msgid "Play" -msgstr "" +msgstr "Abspielen" #: tools/editor/editor_node.cpp msgid "Pause the scene" @@ -1769,15 +1881,20 @@ msgstr "" #: tools/editor/editor_node.cpp msgid "Play the edited scene." -msgstr "" +msgstr "Spiele die editierte Szene." #: tools/editor/editor_node.cpp msgid "Play Scene" -msgstr "" +msgstr "Szene starten" #: tools/editor/editor_node.cpp msgid "Play custom scene" -msgstr "" +msgstr "Spiele angepasste Szene" + +#: tools/editor/editor_node.cpp +#, fuzzy +msgid "Play Custom Scene" +msgstr "Spiele angepasste Szene" #: tools/editor/editor_node.cpp msgid "Debug options" @@ -1812,10 +1929,13 @@ msgid "Visible Collision Shapes" msgstr "" #: tools/editor/editor_node.cpp +#, fuzzy msgid "" "Collision shapes and raycast nodes (for 2D and 3D) will be visible on the " "running game if this option is turned on." msgstr "" +"Collision-Formen und Raycast Nodes (für 2D und 3D) werden im laufenden Spiel " +"angezeigt, falls diese Option aktiviert ist." #: tools/editor/editor_node.cpp msgid "Visible Navigation" @@ -1932,7 +2052,6 @@ msgid "Output" msgstr "" #: tools/editor/editor_node.cpp tools/editor/editor_reimport_dialog.cpp -#: tools/editor/import_settings.cpp msgid "Re-Import" msgstr "" @@ -2104,10 +2223,6 @@ msgstr "" msgid "Remove from Group" msgstr "" -#: tools/editor/import_settings.cpp -msgid "Imported Resources" -msgstr "" - #: tools/editor/io_plugins/editor_bitmask_import_plugin.cpp msgid "No bit masks to import!" msgstr "" @@ -2316,12 +2431,6 @@ msgid "Clips" msgstr "" #: tools/editor/io_plugins/editor_scene_import_plugin.cpp -#: tools/editor/plugins/sample_library_editor_plugin.cpp -#: tools/editor/project_manager.cpp tools/editor/project_settings.cpp -msgid "Name" -msgstr "" - -#: tools/editor/io_plugins/editor_scene_import_plugin.cpp msgid "Start(s)" msgstr "" @@ -2497,7 +2606,7 @@ msgstr "" #: tools/editor/io_plugins/editor_texture_import_plugin.cpp msgid "Import Textures for Atlas (2D)" -msgstr "" +msgstr "Importiere Texturen für Atlas (2D)" #: tools/editor/io_plugins/editor_texture_import_plugin.cpp msgid "Cell Size:" @@ -2509,7 +2618,7 @@ msgstr "" #: tools/editor/io_plugins/editor_texture_import_plugin.cpp msgid "Import Large Textures (2D)" -msgstr "" +msgstr "Importiere Große Texturen (2D)" #: tools/editor/io_plugins/editor_texture_import_plugin.cpp msgid "Source Texture" @@ -2525,7 +2634,7 @@ msgstr "" #: tools/editor/io_plugins/editor_texture_import_plugin.cpp msgid "Import Textures for 2D" -msgstr "" +msgstr "Importiere Texturen für 2D" #: tools/editor/io_plugins/editor_texture_import_plugin.cpp msgid "Import Textures for 3D" @@ -2537,7 +2646,7 @@ msgstr "" #: tools/editor/io_plugins/editor_texture_import_plugin.cpp msgid "2D Texture" -msgstr "" +msgstr "2D-Textur" #: tools/editor/io_plugins/editor_texture_import_plugin.cpp msgid "3D Texture" @@ -2548,10 +2657,13 @@ msgid "Atlas Texture" msgstr "" #: tools/editor/io_plugins/editor_texture_import_plugin.cpp +#, fuzzy msgid "" "NOTICE: Importing 2D textures is not mandatory. Just copy png/jpg files to " "the project." msgstr "" +"MERKE: Das importieren von 2D Texturen ist nicht zwingend notwendig. Kopiere " +"einfach png/jpg Dateien in das Projekt." #: tools/editor/io_plugins/editor_texture_import_plugin.cpp msgid "Crop empty space." @@ -2698,7 +2810,7 @@ msgstr "Selektiere ein Node um deren Signale und Gruppen zu ändern." #: tools/editor/plugins/animation_player_editor_plugin.cpp msgid "Toggle Autoplay" -msgstr "" +msgstr "Autoplay Umschalten" #: tools/editor/plugins/animation_player_editor_plugin.cpp msgid "New Animation Name:" @@ -2772,24 +2884,28 @@ msgid "ERROR: No animation to edit!" msgstr "" #: tools/editor/plugins/animation_player_editor_plugin.cpp +#, fuzzy msgid "Play selected animation backwards from current pos. (A)" -msgstr "" +msgstr "Spiele ausgewählte Animation rückwärts von aktueller Position. (A)" #: tools/editor/plugins/animation_player_editor_plugin.cpp +#, fuzzy msgid "Play selected animation backwards from end. (Shift+A)" -msgstr "" +msgstr "Spiele ausgewählte Animation rückwärts vom Ende. (Shift+A)" #: tools/editor/plugins/animation_player_editor_plugin.cpp msgid "Stop animation playback. (S)" -msgstr "" +msgstr "Stoppe Animations-Wiedergabe. (S)" #: tools/editor/plugins/animation_player_editor_plugin.cpp +#, fuzzy msgid "Play selected animation from start. (Shift+D)" -msgstr "" +msgstr "Spiele ausgewählte Animation vom Start. (Shift+D)" #: tools/editor/plugins/animation_player_editor_plugin.cpp +#, fuzzy msgid "Play selected animation from current pos. (D)" -msgstr "" +msgstr "Ausgewählte Animation von der aktueller Position aus abspielen. (D)" #: tools/editor/plugins/animation_player_editor_plugin.cpp msgid "Animation position (in seconds)." @@ -2801,7 +2917,7 @@ msgstr "" #: tools/editor/plugins/animation_player_editor_plugin.cpp msgid "Create new animation in player." -msgstr "" +msgstr "Neue Animation erstellen." #: tools/editor/plugins/animation_player_editor_plugin.cpp msgid "Load animation from disk." @@ -2821,11 +2937,11 @@ msgstr "" #: tools/editor/plugins/animation_player_editor_plugin.cpp msgid "Display list of animations in player." -msgstr "" +msgstr "Liste der Animationen anzeigen." #: tools/editor/plugins/animation_player_editor_plugin.cpp msgid "Autoplay on Load" -msgstr "" +msgstr "Beim Laden automatisch abpielen" #: tools/editor/plugins/animation_player_editor_plugin.cpp msgid "Edit Target Blend Times" @@ -3283,8 +3399,9 @@ msgid "Anchor" msgstr "" #: tools/editor/plugins/canvas_item_editor_plugin.cpp -msgid "Insert Keys (Ins)" -msgstr "Bilder (innerhalb) einfügen" +#, fuzzy +msgid "Insert Keys" +msgstr "Bild einfügen" #: tools/editor/plugins/canvas_item_editor_plugin.cpp msgid "Insert Key" @@ -3781,7 +3898,7 @@ msgstr "" #: tools/editor/plugins/polygon_2d_editor_plugin.cpp msgid "Polygon 2D UV Editor" -msgstr "" +msgstr "Polygon 2D UV Editor" #: tools/editor/plugins/polygon_2d_editor_plugin.cpp msgid "Move Point" @@ -3824,6 +3941,7 @@ msgid "Clear UV" msgstr "" #: tools/editor/plugins/polygon_2d_editor_plugin.cpp +#: tools/editor/plugins/spatial_editor_plugin.cpp msgid "Snap" msgstr "" @@ -3939,6 +4057,14 @@ msgid "Save Theme As.." msgstr "" #: tools/editor/plugins/script_editor_plugin.cpp +msgid "Next script" +msgstr "" + +#: tools/editor/plugins/script_editor_plugin.cpp +msgid "Previous script" +msgstr "" + +#: tools/editor/plugins/script_editor_plugin.cpp #: tools/editor/project_export.cpp msgid "File" msgstr "" @@ -4124,10 +4250,6 @@ msgid "Search the class hierarchy." msgstr "" #: tools/editor/plugins/script_editor_plugin.cpp -msgid "Search Help" -msgstr "" - -#: tools/editor/plugins/script_editor_plugin.cpp msgid "Search the reference documentation." msgstr "" @@ -4162,6 +4284,11 @@ msgstr "" msgid "Debugger" msgstr "" +#: tools/editor/plugins/script_editor_plugin.cpp +msgid "" +"Built-in scripts can only be edited when the scene they belong to is loaded" +msgstr "" + #: tools/editor/plugins/shader_editor_plugin.cpp msgid "Vertex" msgstr "" @@ -4395,75 +4522,76 @@ msgid "Align with view" msgstr "" #: tools/editor/plugins/spatial_editor_plugin.cpp -msgid "Top (Num7)" +msgid "Environment" msgstr "" #: tools/editor/plugins/spatial_editor_plugin.cpp -msgid "Bottom (Shift+Num7)" +msgid "Audio Listener" msgstr "" #: tools/editor/plugins/spatial_editor_plugin.cpp -msgid "Left (Num3)" +msgid "Gizmos" msgstr "" #: tools/editor/plugins/spatial_editor_plugin.cpp -msgid "Right (Shift+Num3)" +msgid "XForm Dialog" msgstr "" #: tools/editor/plugins/spatial_editor_plugin.cpp -msgid "Front (Num1)" +msgid "No scene selected to instance!" msgstr "" #: tools/editor/plugins/spatial_editor_plugin.cpp -msgid "Rear (Shift+Num1)" +msgid "Instance at Cursor" msgstr "" #: tools/editor/plugins/spatial_editor_plugin.cpp -msgid "Perspective (Num5)" +msgid "Could not instance scene!" msgstr "" #: tools/editor/plugins/spatial_editor_plugin.cpp -msgid "Orthogonal (Num5)" +msgid "Scale Mode (R)" msgstr "" #: tools/editor/plugins/spatial_editor_plugin.cpp -msgid "Environment" +msgid "Bottom View" msgstr "" #: tools/editor/plugins/spatial_editor_plugin.cpp -msgid "Audio Listener" +msgid "Top View" msgstr "" #: tools/editor/plugins/spatial_editor_plugin.cpp -msgid "Gizmos" +msgid "Rear View" msgstr "" #: tools/editor/plugins/spatial_editor_plugin.cpp -msgid "Selection (F)" +msgid "Front View" msgstr "" #: tools/editor/plugins/spatial_editor_plugin.cpp -msgid "Align with view (Ctrl+Shift+F)" +msgid "Left View" msgstr "" #: tools/editor/plugins/spatial_editor_plugin.cpp -msgid "XForm Dialog" +msgid "Right View" msgstr "" #: tools/editor/plugins/spatial_editor_plugin.cpp -msgid "No scene selected to instance!" +msgid "Switch Perspective/Orthogonal view" msgstr "" #: tools/editor/plugins/spatial_editor_plugin.cpp -msgid "Instance at Cursor" -msgstr "" +#, fuzzy +msgid "Insert Animation Key" +msgstr "Bild einfügen" #: tools/editor/plugins/spatial_editor_plugin.cpp -msgid "Could not instance scene!" +msgid "Focus Selection" msgstr "" #: tools/editor/plugins/spatial_editor_plugin.cpp -msgid "Scale Mode (R)" +msgid "Align Selection With View" msgstr "" #: tools/editor/plugins/spatial_editor_plugin.cpp @@ -5185,6 +5313,14 @@ msgid "Couldn't create engine.cfg in project path." msgstr "" #: tools/editor/project_manager.cpp +msgid "The following files failed extraction from package:" +msgstr "" + +#: tools/editor/project_manager.cpp +msgid "Package Installed Successfully!" +msgstr "" + +#: tools/editor/project_manager.cpp msgid "Import Existing Project" msgstr "" @@ -5205,6 +5341,14 @@ msgid "Project Path:" msgstr "" #: tools/editor/project_manager.cpp +msgid "Install Project:" +msgstr "" + +#: tools/editor/project_manager.cpp +msgid "Install" +msgstr "" + +#: tools/editor/project_manager.cpp msgid "Browse" msgstr "" @@ -5369,50 +5513,6 @@ msgid "Add Translation" msgstr "" #: tools/editor/project_settings.cpp -msgid "Invalid name." -msgstr "" - -#: tools/editor/project_settings.cpp -msgid "Valid characters:" -msgstr "" - -#: tools/editor/project_settings.cpp -msgid "Invalid name. Must not collide with an existing engine class name." -msgstr "" - -#: tools/editor/project_settings.cpp -msgid "Invalid name. Must not collide with an existing buit-in type name." -msgstr "" - -#: tools/editor/project_settings.cpp -msgid "Invalid name. Must not collide with an existing global constant name." -msgstr "" - -#: tools/editor/project_settings.cpp -msgid "Autoload '%s' already exists!" -msgstr "" - -#: tools/editor/project_settings.cpp -msgid "Rename Autoload" -msgstr "" - -#: tools/editor/project_settings.cpp -msgid "Toggle AutoLoad Globals" -msgstr "" - -#: tools/editor/project_settings.cpp -msgid "Add Autoload" -msgstr "" - -#: tools/editor/project_settings.cpp -msgid "Remove Autoload" -msgstr "" - -#: tools/editor/project_settings.cpp -msgid "Move Autoload" -msgstr "" - -#: tools/editor/project_settings.cpp msgid "Remove Translation" msgstr "" @@ -5437,10 +5537,6 @@ msgid "Remove Resource Remap Option" msgstr "" #: tools/editor/project_settings.cpp -msgid "Enable" -msgstr "" - -#: tools/editor/project_settings.cpp msgid "Project Settings (engine.cfg)" msgstr "" @@ -5513,18 +5609,6 @@ msgid "AutoLoad" msgstr "" #: tools/editor/project_settings.cpp -msgid "Node Name:" -msgstr "" - -#: tools/editor/project_settings.cpp -msgid "List:" -msgstr "" - -#: tools/editor/project_settings.cpp -msgid "Singleton" -msgstr "" - -#: tools/editor/project_settings.cpp msgid "Plugins" msgstr "" @@ -5930,6 +6014,10 @@ msgid "Show In File Manager" msgstr "" #: tools/editor/scenes_dock.cpp +msgid "Re-Import.." +msgstr "" + +#: tools/editor/scenes_dock.cpp msgid "Previous Directory" msgstr "" @@ -6188,3 +6276,6 @@ msgstr "" #: tools/editor/spatial_editor_gizmos.cpp msgid "Change Notifier Extents" msgstr "" + +#~ msgid "Insert Keys (Ins)" +#~ msgstr "Bilder (innerhalb) einfügen" diff --git a/tools/translations/es.po b/tools/translations/es.po index d43e181f46..ce2f8c1673 100644 --- a/tools/translations/es.po +++ b/tools/translations/es.po @@ -3,25 +3,25 @@ # This file is distributed under the same license as the Godot source code. # # Lisandro Lorea <lisandrolorea@gmail.com>, 2016. +# Sebastian Silva <sebastian@fuentelibre.org>, 2016. # msgid "" msgstr "" "Project-Id-Version: Godot Engine editor\n" "POT-Creation-Date: \n" -"PO-Revision-Date: 2016-06-14 14:10+0000\n" -"Last-Translator: Lisandro Lorea <lisandrolorea@gmail.com>\n" -"Language-Team: Spanish <https://hosted.weblate.org/projects/godot-engine/" -"godot/es/>\n" +"PO-Revision-Date: 2016-07-14 01:33-0500\n" +"Last-Translator: Sebastian Silva <sebastian@fuentelibre.org>\n" +"Language-Team: SomosAzucar.Org\n" "Language: es\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=n != 1;\n" -"X-Generator: Weblate 2.7-dev\n" +"X-Generator: Virtaal 0.7.1\n" #: modules/gdscript/gd_functions.cpp msgid "Invalid type argument to convert(), use TYPE_* constants." -msgstr "Argumento de tipo inválido para convert(), usá constantes TYPE_*." +msgstr "Argumento de tipo inválido para convert(), use constantes TYPE_*." #: modules/gdscript/gd_functions.cpp msgid "Not enough bytes for decoding bytes, or invalid format." @@ -68,7 +68,7 @@ msgid "" "A SpriteFrames resource must be created or set in the 'Frames' property in " "order for AnimatedSprite to display frames." msgstr "" -"Un recurso SpriteFrames debe ser creado o seteado en la propiedad 'Frames' " +"Un recurso SpriteFrames debe ser creado o definido en la propiedad 'Frames' " "para que AnimatedSprite pueda mostrar frames." #: scene/2d/canvas_modulate.cpp @@ -123,7 +123,7 @@ msgstr "" msgid "" "An occluder polygon must be set (or drawn) for this occluder to take effect." msgstr "" -"Se debe setear(o dibujar) un polígono oclusor para que este oclusor tenga " +"Se debe definir(o dibujar) un polígono oclusor para que este oclusor tenga " "efecto." #: scene/2d/light_occluder_2d.cpp @@ -135,7 +135,7 @@ msgid "" "A NavigationPolygon resource must be set or created for this node to work. " "Please set a property or draw a polygon." msgstr "" -"Se debe crear o setear un recurso NavigationPolygon para que este nodo " +"Se debe crear o definir un recurso NavigationPolygon para que este nodo " "funcione. Por favor creá una propiedad o dibujá un polígono." #: scene/2d/navigation_polygon.cpp @@ -150,7 +150,7 @@ msgstr "" msgid "" "ParallaxLayer node only works when set as child of a ParallaxBackground node." msgstr "" -"ParallaxLayer node solo funciona cuando esta seteado como hijo de un nodo " +"ParallaxLayer node solo funciona cuando esta definido como hijo de un nodo " "ParallaxBackground." #: scene/2d/particles_2d.cpp @@ -161,7 +161,7 @@ msgstr "" #: scene/2d/path_2d.cpp msgid "PathFollow2D only works when set as a child of a Path2D node." msgstr "" -"PathFollow2D solo funciona cuando está seteado como hijo de un nodo Path2D." +"PathFollow2D solo funciona cuando está definido como hijo de un nodo Path2D." #: scene/2d/remote_transform_2d.cpp msgid "Path property must point to a valid Node2D node to work." @@ -172,8 +172,8 @@ msgid "" "A SampleLibrary resource must be created or set in the 'samples' property in " "order for SamplePlayer to play sound." msgstr "" -"Un recurso SampleLibrary debe ser creado o seteado en la propiedad 'samples' " -"de modo que SamplePlayer pueda reproducir sonido." +"Un recurso SampleLibrary debe ser creado o definido en la propiedad " +"'samples' de modo que SamplePlayer pueda reproducir sonido." #: scene/2d/sprite.cpp msgid "" @@ -181,15 +181,15 @@ msgid "" "must be set to 'render target' mode." msgstr "" "La propiedad Path debe apuntar a un nodo Viewport válido para funcionar. " -"Dicho Viewport debe ser seteado a modo 'render target'." +"Dicho Viewport debe estar configurado a modo 'render target'." #: scene/2d/sprite.cpp msgid "" "The Viewport set in the path property must be set as 'render target' in " "order for this sprite to work." msgstr "" -"El Viewport seteado en la propiedad path debe ser seteado como 'render " -"target' para que este sprite funcione." +"El Viewport definido en la propiedad path debe estar configurado como " +"'render target' para que este sprite funcione." #: scene/2d/visibility_notifier_2d.cpp msgid "" @@ -234,7 +234,8 @@ msgstr "Un CollisionPolygon vacio no tiene ningún efecto en la colisión." #: scene/3d/navigation_mesh.cpp msgid "A NavigationMesh resource must be set or created for this node to work." msgstr "" -"Se debe crear o setear un recurso NavigationMesh para que este nodo funcione." +"Se debe crear o definir un recurso NavigationMesh para que este nodo " +"funcione." #: scene/3d/navigation_mesh.cpp msgid "" @@ -256,8 +257,8 @@ msgid "" "A SampleLibrary resource must be created or set in the 'samples' property in " "order for SpatialSamplePlayer to play sound." msgstr "" -"Un recurso SampleLibrary debe ser creado o seteado en la propiedad 'samples' " -"de modo que SpatialSamplePlayer puede reproducir sonido." +"Un recurso SampleLibrary debe ser creado o definido en la propiedad " +"'samples' de modo que SpatialSamplePlayer puede reproducir sonido." #: scene/3d/sprite_3d.cpp msgid "" @@ -281,7 +282,7 @@ msgstr "Alerta!" #: scene/gui/dialogs.cpp msgid "Please Confirm..." -msgstr "Confirmá, por favor..." +msgstr "Confirma, por favor..." #: scene/gui/file_dialog.cpp tools/editor/editor_file_dialog.cpp msgid "File Exists, Overwrite?" @@ -334,9 +335,10 @@ msgstr "Guardar un Archivo" msgid "Create Folder" msgstr "Crear Carpeta" -#: scene/gui/file_dialog.cpp tools/editor/editor_file_dialog.cpp +#: scene/gui/file_dialog.cpp tools/editor/editor_autoload_settings.cpp +#: tools/editor/editor_file_dialog.cpp #: tools/editor/io_plugins/editor_font_import_plugin.cpp -#: tools/editor/project_settings.cpp tools/editor/script_create_dialog.cpp +#: tools/editor/script_create_dialog.cpp msgid "Path:" msgstr "Ruta:" @@ -478,9 +480,9 @@ msgid "" "obtain a size. Otherwise, make it a RenderTarget and assign its internal " "texture to some node for display." msgstr "" -"Este viewport no está seteado como render target. Si tenés intención de que " -"muestre contenidos directo a la pantalla, hacelo un hijo de un Control para " -"que pueda obtener un tamaño. Alternativamente, hacelo un RenderTarget y " +"Este viewport no está configurado como render target. Si tenés intención de " +"que muestre contenidos directo a la pantalla, hacelo un hijo de un Control " +"para que pueda obtener un tamaño. Alternativamente, hacelo un RenderTarget y " "asigná su textura interna a algún otro nodo para mostrar." #: scene/resources/dynamic_font.cpp @@ -536,6 +538,10 @@ msgid "Anim Add Track" msgstr "Agregar Track de Anim" #: tools/editor/animation_editor.cpp +msgid "Anim Duplicate Keys" +msgstr "Duplicar Claves de Anim" + +#: tools/editor/animation_editor.cpp msgid "Move Anim Track Up" msgstr "Subir Track de Anim" @@ -548,12 +554,8 @@ msgid "Remove Anim Track" msgstr "Quitar Track de Anim" #: tools/editor/animation_editor.cpp -msgid "Anim Duplicate Keys" -msgstr "Duplicar Claves de Anim" - -#: tools/editor/animation_editor.cpp msgid "Set Transitions to:" -msgstr "Setear Transiciones a:" +msgstr "Definir Transiciones a:" #: tools/editor/animation_editor.cpp msgid "Anim Track Rename" @@ -580,6 +582,20 @@ msgid "Anim Delete Keys" msgstr "Borrar Claves de Anim" #: tools/editor/animation_editor.cpp +#: tools/editor/plugins/tile_map_editor_plugin.cpp +msgid "Duplicate Selection" +msgstr "Duplicar Selección" + +#: tools/editor/animation_editor.cpp +msgid "Duplicate Transposed" +msgstr "Duplicar Transpuesto" + +#: tools/editor/animation_editor.cpp +#, fuzzy +msgid "Remove Selection" +msgstr "Encuadrar Selección" + +#: tools/editor/animation_editor.cpp msgid "Continuous" msgstr "Contínuo" @@ -608,15 +624,6 @@ msgid "Scale From Cursor" msgstr "Escalar Desde Cursor" #: tools/editor/animation_editor.cpp -#: tools/editor/plugins/tile_map_editor_plugin.cpp -msgid "Duplicate Selection" -msgstr "Duplicar Selección" - -#: tools/editor/animation_editor.cpp -msgid "Duplicate Transposed" -msgstr "Duplicar Transpuesto" - -#: tools/editor/animation_editor.cpp msgid "Goto Next Step" msgstr "Ir a Paso Próximo" @@ -887,7 +894,6 @@ msgid "Call" msgstr "Llamar" #: tools/editor/call_dialog.cpp tools/editor/connections_dialog.cpp -#: tools/editor/import_settings.cpp #: tools/editor/plugins/animation_player_editor_plugin.cpp #: tools/editor/plugins/canvas_item_editor_plugin.cpp #: tools/editor/plugins/resource_preloader_editor_plugin.cpp @@ -1003,11 +1009,11 @@ msgid "Method in target Node must be specified!" msgstr "El método en el Nodo objetivo debe ser especificado!" #: tools/editor/connections_dialog.cpp -#, fuzzy msgid "Connect To Node:" msgstr "Conectar a Nodo:" -#: tools/editor/connections_dialog.cpp tools/editor/groups_editor.cpp +#: tools/editor/connections_dialog.cpp +#: tools/editor/editor_autoload_settings.cpp tools/editor/groups_editor.cpp #: tools/editor/plugins/item_list_editor_plugin.cpp #: tools/editor/plugins/theme_editor_plugin.cpp #: tools/editor/project_settings.cpp @@ -1113,8 +1119,8 @@ msgstr "Dependencias" msgid "Resource" msgstr "Recursos" -#: tools/editor/dependency_editor.cpp tools/editor/project_manager.cpp -#: tools/editor/project_settings.cpp +#: tools/editor/dependency_editor.cpp tools/editor/editor_autoload_settings.cpp +#: tools/editor/project_manager.cpp tools/editor/project_settings.cpp msgid "Path" msgstr "Ruta" @@ -1203,6 +1209,100 @@ msgstr "Eliminar archivos seleccionados?" msgid "Delete" msgstr "Eliminar" +#: tools/editor/editor_autoload_settings.cpp +msgid "Invalid name." +msgstr "Nombre inválido." + +#: tools/editor/editor_autoload_settings.cpp +msgid "Valid characters:" +msgstr "Caracteres válidos:" + +#: tools/editor/editor_autoload_settings.cpp +msgid "Invalid name. Must not collide with an existing engine class name." +msgstr "" +"Nombre inválido. No debe colisionar con un nombre existente de clases del " +"engine." + +#: tools/editor/editor_autoload_settings.cpp +msgid "Invalid name. Must not collide with an existing buit-in type name." +msgstr "" +"Nombre inválido. No debe colisionar con un nombre existente de un tipo built-" +"in." + +#: tools/editor/editor_autoload_settings.cpp +msgid "Invalid name. Must not collide with an existing global constant name." +msgstr "" +"Nombre inválido. No debe colisionar con un nombre de constante global " +"existente." + +#: tools/editor/editor_autoload_settings.cpp +#, fuzzy +msgid "Invalid Path." +msgstr "Ruta inválida!" + +#: tools/editor/editor_autoload_settings.cpp +#, fuzzy +msgid "File does not exist." +msgstr "El archivo existe" + +#: tools/editor/editor_autoload_settings.cpp +#, fuzzy +msgid "Not in resource path." +msgstr "Ruta de Recursos" + +#: tools/editor/editor_autoload_settings.cpp +#, fuzzy +msgid "Add AutoLoad" +msgstr "Agregar Autoload" + +#: tools/editor/editor_autoload_settings.cpp +msgid "Autoload '%s' already exists!" +msgstr "Autocargar '%s' ya existe!" + +#: tools/editor/editor_autoload_settings.cpp +msgid "Rename Autoload" +msgstr "Renombrar Autoload" + +#: tools/editor/editor_autoload_settings.cpp +msgid "Toggle AutoLoad Globals" +msgstr "Act/Desact. AutoLoad Globals" + +#: tools/editor/editor_autoload_settings.cpp +msgid "Move Autoload" +msgstr "Mover Autoload" + +#: tools/editor/editor_autoload_settings.cpp +msgid "Remove Autoload" +msgstr "Quitar Autoload" + +#: tools/editor/editor_autoload_settings.cpp +msgid "Enable" +msgstr "Activar" + +#: tools/editor/editor_autoload_settings.cpp +#, fuzzy +msgid "Rearrange Autoloads" +msgstr "Renombrar Autoload" + +#: tools/editor/editor_autoload_settings.cpp +msgid "Node Name:" +msgstr "Nombre de Nodo:" + +#: tools/editor/editor_autoload_settings.cpp +#: tools/editor/io_plugins/editor_scene_import_plugin.cpp +#: tools/editor/plugins/sample_library_editor_plugin.cpp +#: tools/editor/project_manager.cpp +msgid "Name" +msgstr "Nombre" + +#: tools/editor/editor_autoload_settings.cpp +msgid "Singleton" +msgstr "Singleton" + +#: tools/editor/editor_autoload_settings.cpp +msgid "List:" +msgstr "Lista:" + #: tools/editor/editor_data.cpp msgid "Updating Scene" msgstr "Actualizando Escena" @@ -1217,7 +1317,7 @@ msgstr "Actualizando escena.." #: tools/editor/editor_dir_dialog.cpp msgid "Choose a Directory" -msgstr "Elegí un Directorio" +msgstr "Elige un Directorio" #: tools/editor/editor_dir_dialog.cpp msgid "Choose" @@ -1225,48 +1325,45 @@ msgstr "Elegir" #: tools/editor/editor_file_dialog.cpp msgid "Go Back" -msgstr "" +msgstr "Retroceder" #: tools/editor/editor_file_dialog.cpp msgid "Go Forward" -msgstr "" +msgstr "Avanzar" #: tools/editor/editor_file_dialog.cpp msgid "Go Up" -msgstr "" +msgstr "Subir" #: tools/editor/editor_file_dialog.cpp msgid "Refresh" -msgstr "" +msgstr "Refrescar" #: tools/editor/editor_file_dialog.cpp msgid "Toggle Hidden Files" -msgstr "" +msgstr "Act/Desact. Archivos Ocultos" #: tools/editor/editor_file_dialog.cpp -#, fuzzy msgid "Toggle Favorite" -msgstr "Act/Desact. Breakpoint" +msgstr "Act/Desact. Favorito" #: tools/editor/editor_file_dialog.cpp -#, fuzzy msgid "Toggle Mode" -msgstr "Act/Desact. Comentario" +msgstr "Act/Desact. Modo" #: tools/editor/editor_file_dialog.cpp -#, fuzzy msgid "Focus Path" -msgstr "Copiar Ruta" +msgstr "Foco en Ruta" #: tools/editor/editor_file_dialog.cpp #, fuzzy -msgid "Mode Favorite Up" -msgstr "Favoritos:" +msgid "Move Favorite Up" +msgstr "Mover Favorito Hacia Arriba" #: tools/editor/editor_file_dialog.cpp #, fuzzy -msgid "Mode Favorite Down" -msgstr "Bajar" +msgid "Move Favorite Down" +msgstr "Mover Favorito Hacia Abajo" #: tools/editor/editor_file_dialog.cpp tools/editor/scenes_dock.cpp msgid "Favorites:" @@ -1288,14 +1385,18 @@ msgstr "No se puede acceder al subdir:" msgid "ScanSources" msgstr "EscanearFuentes" -#: tools/editor/editor_help.cpp -msgid "Search Classes" -msgstr "Buscar Clases" +#: tools/editor/editor_help.cpp tools/editor/plugins/script_editor_plugin.cpp +msgid "Search Help" +msgstr "Ayuda de Búsqueda" #: tools/editor/editor_help.cpp msgid "Class List:" msgstr "Lista de Clases:" +#: tools/editor/editor_help.cpp +msgid "Search Classes" +msgstr "Buscar Clases" + #: tools/editor/editor_help.cpp tools/editor/property_editor.cpp msgid "Class:" msgstr "Clase:" @@ -1393,10 +1494,6 @@ msgstr "Importando:" msgid "Node From Scene" msgstr "Nodo desde Escena" -#: tools/editor/editor_node.cpp tools/editor/scenes_dock.cpp -msgid "Re-Import.." -msgstr "Reimportando.." - #: tools/editor/editor_node.cpp #: tools/editor/plugins/animation_player_editor_plugin.cpp #: tools/editor/resources_dock.cpp @@ -1450,7 +1547,7 @@ msgstr "Fallo al cargar recurso." #: tools/editor/editor_node.cpp msgid "Can't load MeshLibrary for merging!" -msgstr "No se puede cargar MeshLibrary para hacer merge!" +msgstr "No se puede cargar MeshLibrary para fusionar!" #: tools/editor/editor_node.cpp msgid "Error saving MeshLibrary!" @@ -1458,7 +1555,7 @@ msgstr "Error guardando MeshLibrary!" #: tools/editor/editor_node.cpp msgid "Can't load TileSet for merging!" -msgstr "No se puede cargar TileSet para hacer merge!" +msgstr "No se puede cargar TileSet para fusio!" #: tools/editor/editor_node.cpp msgid "Error saving TileSet!" @@ -1522,34 +1619,35 @@ msgid "There is no defined scene to run." msgstr "No hay escena definida para ejecutar." #: tools/editor/editor_node.cpp -#, fuzzy msgid "" "No main scene has ever been defined, select one?\n" "You can change it later in later in \"Project Settings\" under the " "'application' category." msgstr "" -"No se ha definido ninguna escena principal.\n" -"Seleccioná una de \"Ajustes del Proyecto\" bajo la categoria 'aplicacion'." +"No se ha definido ninguna escena principal, ¿elegir una?\n" +"Es posible cambiarla más tarde en \"Ajustes del Proyecto\" bajo la categoria " +"'aplicacion'." #: tools/editor/editor_node.cpp -#, fuzzy msgid "" "Selected scene '%s' does not exist, select a valid one?\n" "You can change it later in \"Project Settings\" under the 'application' " "category." msgstr "" -"No se ha definido ninguna escena principal.\n" -"Seleccioná una de \"Ajustes del Proyecto\" bajo la categoria 'aplicacion'." +"La escena '%s' seleccionada no existe, ¿seleccionar una válida?\n" +"Es posible cambiarla más tarde en \"Ajustes del Proyecto\" bajo la categoria " +"'aplicacion'." #: tools/editor/editor_node.cpp -#, fuzzy msgid "" "Selected scene '%s' is not a scene file, select a valid one?\n" "You can change it later in \"Project Settings\" under the 'application' " "category." msgstr "" -"No se ha definido ninguna escena principal.\n" -"Seleccioná una de \"Ajustes del Proyecto\" bajo la categoria 'aplicacion'." +"La escena '%s' seleccionada no es un archivo de escena, ¿seleccionar uno " +"válido?\n" +"Es posible cambiarla más tarde en \"Ajustes del Proyecto\" bajo la categoria " +"'aplicacion'." #: tools/editor/editor_node.cpp msgid "Current scene was never saved, please save it prior to running." @@ -1644,8 +1742,8 @@ msgstr "Abrir el Gestor de Proyectos? (Los cambios sin guardar se perderán)" #: tools/editor/editor_node.cpp #, fuzzy -msgid "Pick a Manu Scene" -msgstr "Escena Principal" +msgid "Pick a Main Scene" +msgstr "Elegí una Escena Principal" #: tools/editor/editor_node.cpp tools/editor/scene_tree_dock.cpp msgid "Ugh" @@ -1710,14 +1808,12 @@ msgid "Distraction Free Mode" msgstr "Modo Sin Distracciones" #: tools/editor/editor_node.cpp -#, fuzzy msgid "Next tab" -msgstr "Siguiente" +msgstr "Pestaña siguiente" #: tools/editor/editor_node.cpp -#, fuzzy msgid "Previous tab" -msgstr "Directorio Previo" +msgstr "Pestaña anterior" #: tools/editor/editor_node.cpp msgid "Operations with scene files." @@ -1740,6 +1836,11 @@ msgid "Save Scene" msgstr "Guardar Escena" #: tools/editor/editor_node.cpp +#, fuzzy +msgid "Save all Scenes" +msgstr "Guardar Escena" + +#: tools/editor/editor_node.cpp msgid "Close Scene" msgstr "Cerrar Escena" @@ -1863,12 +1964,17 @@ msgid "Play custom scene" msgstr "Reproducir escena personalizada" #: tools/editor/editor_node.cpp +#, fuzzy +msgid "Play Custom Scene" +msgstr "Reproducir escena personalizada" + +#: tools/editor/editor_node.cpp msgid "Debug options" -msgstr "Opciones de debugueo" +msgstr "Opciones de depuración" #: tools/editor/editor_node.cpp msgid "Deploy with Remote Debug" -msgstr "Hacer Deploy con Debug Remoto" +msgstr "Transferir con Depuración Remota" #: tools/editor/editor_node.cpp msgid "" @@ -1876,7 +1982,7 @@ msgid "" "connect to the IP of this computer in order to be debugged." msgstr "" "Al exportar o hacer deploy, el ejecutable resultante tratara de contectarse " -"a la IP de esta computadora de manera de ser debugueado." +"a la IP de esta computadora de manera de ser depurado." #: tools/editor/editor_node.cpp msgid "Small Deploy with Network FS" @@ -2035,7 +2141,6 @@ msgid "Output" msgstr "Salida" #: tools/editor/editor_node.cpp tools/editor/editor_reimport_dialog.cpp -#: tools/editor/import_settings.cpp msgid "Re-Import" msgstr "Reimportar" @@ -2065,7 +2170,7 @@ msgstr "Exportar Libreria" #: tools/editor/editor_node.cpp msgid "Merge With Existing" -msgstr "Mergear Con Existentes" +msgstr "Fusionar Con Existentes" #: tools/editor/editor_node.cpp tools/editor/project_export.cpp msgid "Password:" @@ -2209,10 +2314,6 @@ msgstr "Agregar al Grupo" msgid "Remove from Group" msgstr "Quitar del Grupo" -#: tools/editor/import_settings.cpp -msgid "Imported Resources" -msgstr "Importar Recursos" - #: tools/editor/io_plugins/editor_bitmask_import_plugin.cpp msgid "No bit masks to import!" msgstr "Sin máscaras de bits para importar!" @@ -2288,6 +2389,8 @@ msgid "" "Invalid file extension.\n" "Please use .fnt." msgstr "" +"Extension de archivo inválida.\n" +"Usá .fnt, por favor." #: tools/editor/io_plugins/editor_font_import_plugin.cpp msgid "Can't load/process source font." @@ -2423,12 +2526,6 @@ msgid "Clips" msgstr "Clips" #: tools/editor/io_plugins/editor_scene_import_plugin.cpp -#: tools/editor/plugins/sample_library_editor_plugin.cpp -#: tools/editor/project_manager.cpp tools/editor/project_settings.cpp -msgid "Name" -msgstr "Nombre" - -#: tools/editor/io_plugins/editor_scene_import_plugin.cpp msgid "Start(s)" msgstr "Comienzo(s)" @@ -2529,9 +2626,8 @@ msgid "Couldn't load post-import script:" msgstr "No se pudo cargar el script post importación:" #: tools/editor/io_plugins/editor_scene_import_plugin.cpp -#, fuzzy msgid "Invalid/broken script for post-import (check console):" -msgstr "Script para post importación inválido/roto:" +msgstr "Script para post importación inválido/roto (revisá la consola):" #: tools/editor/io_plugins/editor_scene_import_plugin.cpp msgid "Error running post-import script:" @@ -2792,7 +2888,7 @@ msgstr "Traducción" #: tools/editor/multi_node_edit.cpp msgid "MultiNode Set" -msgstr "Setear MultiNodo" +msgstr "Definir MultiNodo" #: tools/editor/node_dock.cpp msgid "Node" @@ -3060,7 +3156,7 @@ msgstr "Limpiar Auto Avanzar" #: tools/editor/plugins/animation_tree_editor_plugin.cpp msgid "Set Auto-Advance" -msgstr "Setear Auto Avanzar" +msgstr "Activa Auto-Avanzar" #: tools/editor/plugins/animation_tree_editor_plugin.cpp msgid "Delete Input" @@ -3185,7 +3281,8 @@ msgstr "Hacer Bake!" #: tools/editor/plugins/baked_light_editor_plugin.cpp msgid "Reset the lightmap octree baking process (start over)." msgstr "" -"Resetear el proceso de bake del octree de mapa de luces (empezar de nuevo)." +"Reestablecer el proceso de bake del octree de mapa de luces (empezar de " +"nuevo)." #: tools/editor/plugins/camera_editor_plugin.cpp #: tools/editor/plugins/sample_library_editor_plugin.cpp @@ -3385,7 +3482,7 @@ msgstr "Resetear Zoom" #: tools/editor/plugins/canvas_item_editor_plugin.cpp msgid "Zoom Set.." -msgstr "Setear Zoom.." +msgstr "Establecer Zoom.." #: tools/editor/plugins/canvas_item_editor_plugin.cpp msgid "Center Selection" @@ -3400,8 +3497,9 @@ msgid "Anchor" msgstr "Anchor" #: tools/editor/plugins/canvas_item_editor_plugin.cpp -msgid "Insert Keys (Ins)" -msgstr "Insertar Claves (Ins)" +#, fuzzy +msgid "Insert Keys" +msgstr "Insertar Clave" #: tools/editor/plugins/canvas_item_editor_plugin.cpp msgid "Insert Key" @@ -3421,7 +3519,7 @@ msgstr "Reestablecer Pose" #: tools/editor/plugins/canvas_item_editor_plugin.cpp msgid "Set a Value" -msgstr "Setear un Valor" +msgstr "Definir un Valor" #: tools/editor/plugins/canvas_item_editor_plugin.cpp msgid "Snap (Pixels):" @@ -3464,7 +3562,7 @@ msgstr "Crear Poly3D" #: tools/editor/plugins/collision_shape_2d_editor_plugin.cpp msgid "Set Handle" -msgstr "Setear Handle" +msgstr "Definir Handle" #: tools/editor/plugins/color_ramp_editor_plugin.cpp msgid "Add/Remove Color Ramp Point" @@ -3503,7 +3601,7 @@ msgstr "Importar desde Escena" #: tools/editor/plugins/cube_grid_theme_editor_plugin.cpp msgid "Update from Scene" -msgstr "Acutalizar desde Escena" +msgstr "Actualizar desde Escena" #: tools/editor/plugins/item_list_editor_plugin.cpp msgid "Item %d" @@ -3575,7 +3673,7 @@ msgstr "A MeshInstance le falta un Mesh!" #: tools/editor/plugins/mesh_instance_editor_plugin.cpp msgid "Mesh has not surface to create outlines from!" -msgstr "" +msgstr "El mesh no tiene una superficie de donde crear contornos(outlines)!" #: tools/editor/plugins/mesh_instance_editor_plugin.cpp msgid "Could not create outline!" @@ -3616,7 +3714,7 @@ msgstr "Tamaño de Outline:" #: tools/editor/plugins/multimesh_editor_plugin.cpp msgid "No mesh source specified (and no MultiMesh set in node)." msgstr "" -"No se especificó mesh de origen (y no hay MultiMesh seteado en el nodo)." +"No se especificó mesh de origen (y no hay MultiMesh definido en el nodo)." #: tools/editor/plugins/multimesh_editor_plugin.cpp msgid "No mesh source specified (and MultiMesh contains no Mesh)." @@ -3732,7 +3830,7 @@ msgstr "Sin pixeles con transparencia > 128 en imagen.." #: tools/editor/plugins/particles_2d_editor_plugin.cpp msgid "Set Emission Mask" -msgstr "Setear Máscara de Emisión" +msgstr "Definir Máscara de Emisión" #: tools/editor/plugins/particles_2d_editor_plugin.cpp msgid "Clear Emission Mask" @@ -3869,15 +3967,15 @@ msgstr "Punto # de Curva" #: tools/editor/plugins/path_editor_plugin.cpp msgid "Set Curve Point Pos" -msgstr "Setear Pos. de Punto de Curva" +msgstr "Definir Pos. de Punto de Curva" #: tools/editor/plugins/path_editor_plugin.cpp msgid "Set Curve In Pos" -msgstr "Setear Pos. In de Curva" +msgstr "Definir Pos. In de Curva" #: tools/editor/plugins/path_editor_plugin.cpp msgid "Set Curve Out Pos" -msgstr "Setear Pos. Out de Curva" +msgstr "Definir Pos. Out de Curva" #: tools/editor/plugins/path_editor_plugin.cpp msgid "Split Path" @@ -3940,6 +4038,7 @@ msgid "Clear UV" msgstr "Limpiar UV" #: tools/editor/plugins/polygon_2d_editor_plugin.cpp +#: tools/editor/plugins/spatial_editor_plugin.cpp msgid "Snap" msgstr "Esnapear" @@ -4055,6 +4154,16 @@ msgid "Save Theme As.." msgstr "Guardar Tema Como.." #: tools/editor/plugins/script_editor_plugin.cpp +#, fuzzy +msgid "Next script" +msgstr "Crear Script" + +#: tools/editor/plugins/script_editor_plugin.cpp +#, fuzzy +msgid "Previous script" +msgstr "Pestaña anterior" + +#: tools/editor/plugins/script_editor_plugin.cpp #: tools/editor/project_export.cpp msgid "File" msgstr "Archivo" @@ -4161,7 +4270,7 @@ msgstr "Ir a Línea.." #: tools/editor/plugins/script_editor_plugin.cpp msgid "Debug" -msgstr "Debuguear" +msgstr "Depurar" #: tools/editor/plugins/script_editor_plugin.cpp msgid "Toggle Breakpoint" @@ -4201,7 +4310,7 @@ msgstr "Continuar" #: tools/editor/plugins/script_editor_plugin.cpp msgid "Keep Debugger Open" -msgstr "Mantener el Debugger Abierto" +msgstr "Mantener el Depurador Abierto" #: tools/editor/plugins/script_editor_plugin.cpp msgid "Window" @@ -4240,10 +4349,6 @@ msgid "Search the class hierarchy." msgstr "Buscar en la jerarquía de clases." #: tools/editor/plugins/script_editor_plugin.cpp -msgid "Search Help" -msgstr "Ayuda de Búsqueda" - -#: tools/editor/plugins/script_editor_plugin.cpp msgid "Search the reference documentation." msgstr "Buscar en la documentación de referencia." @@ -4278,7 +4383,12 @@ msgstr "Volver a Guardar" #: tools/editor/plugins/script_editor_plugin.cpp #: tools/editor/script_editor_debugger.cpp msgid "Debugger" -msgstr "Debugger" +msgstr "Depurador" + +#: tools/editor/plugins/script_editor_plugin.cpp +msgid "" +"Built-in scripts can only be edited when the scene they belong to is loaded" +msgstr "" #: tools/editor/plugins/shader_editor_plugin.cpp msgid "Vertex" @@ -4450,7 +4560,7 @@ msgstr "Escalando a %s%%." #: tools/editor/plugins/spatial_editor_plugin.cpp msgid "Rotating %s degrees." -msgstr "Torando %s grados." +msgstr "Rotando %s grados." #: tools/editor/plugins/spatial_editor_plugin.cpp msgid "Bottom View." @@ -4513,76 +4623,85 @@ msgid "Align with view" msgstr "Alinear con vista" #: tools/editor/plugins/spatial_editor_plugin.cpp -msgid "Top (Num7)" -msgstr "Cima (Num7)" +msgid "Environment" +msgstr "Entorno" #: tools/editor/plugins/spatial_editor_plugin.cpp -msgid "Bottom (Shift+Num7)" -msgstr "Fondo (Shift+Num7)" +msgid "Audio Listener" +msgstr "Oyente de Audio" #: tools/editor/plugins/spatial_editor_plugin.cpp -msgid "Left (Num3)" -msgstr "Izquierda (Num3)" +msgid "Gizmos" +msgstr "Gizmos" #: tools/editor/plugins/spatial_editor_plugin.cpp -msgid "Right (Shift+Num3)" -msgstr "Derecha (Shift+Num3)" +msgid "XForm Dialog" +msgstr "Dialogo XForm" #: tools/editor/plugins/spatial_editor_plugin.cpp -msgid "Front (Num1)" -msgstr "Frente (Num1)" +msgid "No scene selected to instance!" +msgstr "Ninguna escena seleccionada a la instancia!" #: tools/editor/plugins/spatial_editor_plugin.cpp -msgid "Rear (Shift+Num1)" -msgstr "Detrás (Shift+Num1)" +msgid "Instance at Cursor" +msgstr "Instancia en Cursor" #: tools/editor/plugins/spatial_editor_plugin.cpp -msgid "Perspective (Num5)" -msgstr "Perspectiva (Num5)" +msgid "Could not instance scene!" +msgstr "No se pudo instanciar la escena!" #: tools/editor/plugins/spatial_editor_plugin.cpp -msgid "Orthogonal (Num5)" -msgstr "Ortogonal (Num5)" +msgid "Scale Mode (R)" +msgstr "Modo de Escalado (R)" #: tools/editor/plugins/spatial_editor_plugin.cpp -msgid "Environment" -msgstr "Entorno" +#, fuzzy +msgid "Bottom View" +msgstr "Vista Inferior." #: tools/editor/plugins/spatial_editor_plugin.cpp -msgid "Audio Listener" -msgstr "Oyente de Audio" +#, fuzzy +msgid "Top View" +msgstr "Vista Superior." #: tools/editor/plugins/spatial_editor_plugin.cpp -msgid "Gizmos" -msgstr "Gizmos" +#, fuzzy +msgid "Rear View" +msgstr "Vista Anterior." #: tools/editor/plugins/spatial_editor_plugin.cpp -msgid "Selection (F)" -msgstr "Slección (F)" +#, fuzzy +msgid "Front View" +msgstr "Vista Frontal." #: tools/editor/plugins/spatial_editor_plugin.cpp -msgid "Align with view (Ctrl+Shift+F)" -msgstr "Alinear con vista (Ctrl+Shift+F)" +#, fuzzy +msgid "Left View" +msgstr "Vista Izquierda." #: tools/editor/plugins/spatial_editor_plugin.cpp -msgid "XForm Dialog" -msgstr "Dialogo XForm" +#, fuzzy +msgid "Right View" +msgstr "Vista Derecha." #: tools/editor/plugins/spatial_editor_plugin.cpp -msgid "No scene selected to instance!" -msgstr "Ninguna escena seleccionada a la instancia!" +msgid "Switch Perspective/Orthogonal view" +msgstr "" #: tools/editor/plugins/spatial_editor_plugin.cpp -msgid "Instance at Cursor" -msgstr "Instancia en Cursor" +#, fuzzy +msgid "Insert Animation Key" +msgstr "Pegar Animación" #: tools/editor/plugins/spatial_editor_plugin.cpp -msgid "Could not instance scene!" -msgstr "No se pudo instanciar la escena!" +#, fuzzy +msgid "Focus Selection" +msgstr "Escalar Selección" #: tools/editor/plugins/spatial_editor_plugin.cpp -msgid "Scale Mode (R)" -msgstr "Modo de Escalado (R)" +#, fuzzy +msgid "Align Selection With View" +msgstr "Alinear con vista" #: tools/editor/plugins/spatial_editor_plugin.cpp msgid "Transform" @@ -4785,47 +4904,40 @@ msgid "StyleBox Preview:" msgstr "Vista Previa de StyleBox:" #: tools/editor/plugins/texture_region_editor_plugin.cpp -#, fuzzy msgid "Snap Mode:" -msgstr "Modo de Ejecución:" +msgstr "Modo Snap:" #: tools/editor/plugins/texture_region_editor_plugin.cpp msgid "<None>" -msgstr "" +msgstr "<Ninguno>" #: tools/editor/plugins/texture_region_editor_plugin.cpp -#, fuzzy msgid "Pixel Snap" -msgstr "Usar Pixel Snap" +msgstr "Pixel Snap" #: tools/editor/plugins/texture_region_editor_plugin.cpp -#, fuzzy msgid "Grid Snap" -msgstr "Setp de Grilla:" +msgstr "Snap de Grilla" #: tools/editor/plugins/texture_region_editor_plugin.cpp msgid "Auto Slice" -msgstr "" +msgstr "Auto Rebanar" #: tools/editor/plugins/texture_region_editor_plugin.cpp -#, fuzzy msgid "Offset:" -msgstr "Offset de Grilla:" +msgstr "Offset:" #: tools/editor/plugins/texture_region_editor_plugin.cpp -#, fuzzy msgid "Step:" -msgstr "Paso (s):" +msgstr "Paso:" #: tools/editor/plugins/texture_region_editor_plugin.cpp -#, fuzzy msgid "Separation:" -msgstr "Selecciones:" +msgstr "Separación:" #: tools/editor/plugins/texture_region_editor_plugin.cpp -#, fuzzy msgid "Texture Region" -msgstr "Editor de Regiones de Texturas" +msgstr "Región de Textura" #: tools/editor/plugins/texture_region_editor_plugin.cpp msgid "Texture Region Editor" @@ -5009,7 +5121,7 @@ msgstr "¿Crear desde escena?" #: tools/editor/plugins/tile_set_editor_plugin.cpp msgid "Merge from scene?" -msgstr "¿Mergear desde escena?" +msgstr "¿Fusionar desde escena?" #: tools/editor/plugins/tile_set_editor_plugin.cpp msgid "Create from Scene" @@ -5017,7 +5129,7 @@ msgstr "Crear desde Escena" #: tools/editor/plugins/tile_set_editor_plugin.cpp msgid "Merge from Scene" -msgstr "Mergear desde Escena" +msgstr "Fusionar desde Escena" #: tools/editor/plugins/tile_set_editor_plugin.cpp #: tools/editor/script_editor_debugger.cpp @@ -5030,15 +5142,15 @@ msgstr "Editar Opciones de Script" #: tools/editor/project_export.cpp msgid "Please export outside the project folder!" -msgstr "Por favor exportá afuera de la carpeta de proyecto!" +msgstr "Por favor exporte afuera de la carpeta de proyecto!" #: tools/editor/project_export.cpp msgid "Error exporting project!" -msgstr "Error al exportar el proyecto!" +msgstr "¡Error al exportar el proyecto!" #: tools/editor/project_export.cpp msgid "Error writing the project PCK!" -msgstr "Error al escribir el PCK de proyecto!" +msgstr "¡Error al escribir el PCK de proyecto!" #: tools/editor/project_export.cpp msgid "No exporter for platform '%s' yet." @@ -5314,6 +5426,17 @@ msgid "Couldn't create engine.cfg in project path." msgstr "No se pudo crear engine.cfg en la ruta de proyecto." #: tools/editor/project_manager.cpp +#, fuzzy +msgid "The following files failed extraction from package:" +msgstr "" +"Los siguientes archivos son nuevos en disco.\n" +"¿Qué acción se debería tomar?:" + +#: tools/editor/project_manager.cpp +msgid "Package Installed Successfully!" +msgstr "" + +#: tools/editor/project_manager.cpp msgid "Import Existing Project" msgstr "Importar Proyecto Existente" @@ -5334,6 +5457,16 @@ msgid "Project Path:" msgstr "Ruta del Proyecto:" #: tools/editor/project_manager.cpp +#, fuzzy +msgid "Install Project:" +msgstr "Proyectos Recientes:" + +#: tools/editor/project_manager.cpp +#, fuzzy +msgid "Install" +msgstr "Instancia" + +#: tools/editor/project_manager.cpp msgid "Browse" msgstr "Examinar" @@ -5393,7 +5526,7 @@ msgstr "Tecla " #: tools/editor/project_settings.cpp msgid "Joy Button" -msgstr "Bottón de Joystick" +msgstr "Botón de Joystick" #: tools/editor/project_settings.cpp msgid "Joy Axis" @@ -5500,56 +5633,6 @@ msgid "Add Translation" msgstr "Agregar Traducción" #: tools/editor/project_settings.cpp -msgid "Invalid name." -msgstr "Nombre inválido." - -#: tools/editor/project_settings.cpp -msgid "Valid characters:" -msgstr "Caracteres válidos:" - -#: tools/editor/project_settings.cpp -msgid "Invalid name. Must not collide with an existing engine class name." -msgstr "" -"Nombre inválido. No debe colisionar con un nombre existente de clases del " -"engine." - -#: tools/editor/project_settings.cpp -msgid "Invalid name. Must not collide with an existing buit-in type name." -msgstr "" -"Nombre inválido. No debe colisionar con un nombre existente de un tipo built-" -"in." - -#: tools/editor/project_settings.cpp -msgid "Invalid name. Must not collide with an existing global constant name." -msgstr "" -"Nombre inválido. No debe colisionar con un nombre de constante global " -"existente." - -#: tools/editor/project_settings.cpp -msgid "Autoload '%s' already exists!" -msgstr "Autocargar '%s' ya existe!" - -#: tools/editor/project_settings.cpp -msgid "Rename Autoload" -msgstr "Renombrar Autoload" - -#: tools/editor/project_settings.cpp -msgid "Toggle AutoLoad Globals" -msgstr "Act/Desact. AutoLoad Globals" - -#: tools/editor/project_settings.cpp -msgid "Add Autoload" -msgstr "Agregar Autoload" - -#: tools/editor/project_settings.cpp -msgid "Remove Autoload" -msgstr "Quitar Autoload" - -#: tools/editor/project_settings.cpp -msgid "Move Autoload" -msgstr "Mover Autoload" - -#: tools/editor/project_settings.cpp msgid "Remove Translation" msgstr "Quitar Traducción" @@ -5574,10 +5657,6 @@ msgid "Remove Resource Remap Option" msgstr "Remover Opción de Remapeo de Recursos" #: tools/editor/project_settings.cpp -msgid "Enable" -msgstr "Activar" - -#: tools/editor/project_settings.cpp msgid "Project Settings (engine.cfg)" msgstr "Ajustes de Proyecto (engine.cfg)" @@ -5650,18 +5729,6 @@ msgid "AutoLoad" msgstr "AutoLoad" #: tools/editor/project_settings.cpp -msgid "Node Name:" -msgstr "Nombre de Nodo:" - -#: tools/editor/project_settings.cpp -msgid "List:" -msgstr "Lista:" - -#: tools/editor/project_settings.cpp -msgid "Singleton" -msgstr "Singleton" - -#: tools/editor/project_settings.cpp msgid "Plugins" msgstr "Plugins" @@ -5723,7 +5790,7 @@ msgstr "On" #: tools/editor/property_editor.cpp msgid "Set" -msgstr "Setear" +msgstr "Definir" #: tools/editor/property_editor.cpp msgid "Properties:" @@ -5937,7 +6004,7 @@ msgstr "Agregar Script" #: tools/editor/scene_tree_dock.cpp msgid "Merge From Scene" -msgstr "Mergear Desde Escena" +msgstr "Fusionar Desde Escena" #: tools/editor/scene_tree_dock.cpp msgid "Save Branch as Scene" @@ -6076,6 +6143,10 @@ msgid "Show In File Manager" msgstr "Mostrar en Gestor de Archivos" #: tools/editor/scenes_dock.cpp +msgid "Re-Import.." +msgstr "Reimportando.." + +#: tools/editor/scenes_dock.cpp msgid "Previous Directory" msgstr "Directorio Previo" @@ -6294,7 +6365,7 @@ msgstr "Raíz de Edición en Vivo:" #: tools/editor/script_editor_debugger.cpp msgid "Set From Tree" -msgstr "Setear Desde Arbol" +msgstr "Definir Desde Arbol" #: tools/editor/settings_config_dialog.cpp msgid "Shortcuts" @@ -6336,6 +6407,42 @@ msgstr "Cambiar Largo de Shape Rayo" msgid "Change Notifier Extents" msgstr "Cambiar Alcances de Notificadores" +#~ msgid "Imported Resources" +#~ msgstr "Importar Recursos" + +#~ msgid "Insert Keys (Ins)" +#~ msgstr "Insertar Claves (Ins)" + +#~ msgid "Top (Num7)" +#~ msgstr "Cima (Num7)" + +#~ msgid "Bottom (Shift+Num7)" +#~ msgstr "Fondo (Shift+Num7)" + +#~ msgid "Left (Num3)" +#~ msgstr "Izquierda (Num3)" + +#~ msgid "Right (Shift+Num3)" +#~ msgstr "Derecha (Shift+Num3)" + +#~ msgid "Front (Num1)" +#~ msgstr "Frente (Num1)" + +#~ msgid "Rear (Shift+Num1)" +#~ msgstr "Detrás (Shift+Num1)" + +#~ msgid "Perspective (Num5)" +#~ msgstr "Perspectiva (Num5)" + +#~ msgid "Orthogonal (Num5)" +#~ msgstr "Ortogonal (Num5)" + +#~ msgid "Selection (F)" +#~ msgstr "Slección (F)" + +#~ msgid "Align with view (Ctrl+Shift+F)" +#~ msgstr "Alinear con vista (Ctrl+Shift+F)" + #~ msgid "Change Anim Loop Interpolation" #~ msgstr "Cambiar Interpolación de Loop de Anim" @@ -6394,8 +6501,5 @@ msgstr "Cambiar Alcances de Notificadores" #~ msgid "Set region_rect" #~ msgstr "Setear region_rect" -#~ msgid "Recent Projects:" -#~ msgstr "Proyectos Recientes:" - #~ msgid "Plugin List:" #~ msgstr "Lista de Plugins:" diff --git a/tools/translations/es_AR.po b/tools/translations/es_AR.po index cca5745688..1c2b697101 100644 --- a/tools/translations/es_AR.po +++ b/tools/translations/es_AR.po @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine editor\n" "POT-Creation-Date: \n" -"PO-Revision-Date: 2016-06-19 12:39+0000\n" +"PO-Revision-Date: 2016-06-30 13:09+0000\n" "Last-Translator: Lisandro Lorea <lisandrolorea@gmail.com>\n" "Language-Team: Spanish (Argentina) <https://hosted.weblate.org/projects/" "godot-engine/godot/es_AR/>\n" @@ -334,9 +334,10 @@ msgstr "Guardar un Archivo" msgid "Create Folder" msgstr "Crear Carpeta" -#: scene/gui/file_dialog.cpp tools/editor/editor_file_dialog.cpp +#: scene/gui/file_dialog.cpp tools/editor/editor_autoload_settings.cpp +#: tools/editor/editor_file_dialog.cpp #: tools/editor/io_plugins/editor_font_import_plugin.cpp -#: tools/editor/project_settings.cpp tools/editor/script_create_dialog.cpp +#: tools/editor/script_create_dialog.cpp msgid "Path:" msgstr "Ruta:" @@ -536,6 +537,10 @@ msgid "Anim Add Track" msgstr "Agregar Track de Anim" #: tools/editor/animation_editor.cpp +msgid "Anim Duplicate Keys" +msgstr "Duplicar Claves de Anim" + +#: tools/editor/animation_editor.cpp msgid "Move Anim Track Up" msgstr "Subir Track de Anim" @@ -548,10 +553,6 @@ msgid "Remove Anim Track" msgstr "Quitar Track de Anim" #: tools/editor/animation_editor.cpp -msgid "Anim Duplicate Keys" -msgstr "Duplicar Claves de Anim" - -#: tools/editor/animation_editor.cpp msgid "Set Transitions to:" msgstr "Setear Transiciones a:" @@ -580,6 +581,20 @@ msgid "Anim Delete Keys" msgstr "Borrar Claves de Anim" #: tools/editor/animation_editor.cpp +#: tools/editor/plugins/tile_map_editor_plugin.cpp +msgid "Duplicate Selection" +msgstr "Duplicar Selección" + +#: tools/editor/animation_editor.cpp +msgid "Duplicate Transposed" +msgstr "Duplicar Transpuesto" + +#: tools/editor/animation_editor.cpp +#, fuzzy +msgid "Remove Selection" +msgstr "Encuadrar Selección" + +#: tools/editor/animation_editor.cpp msgid "Continuous" msgstr "Contínuo" @@ -608,15 +623,6 @@ msgid "Scale From Cursor" msgstr "Escalar Desde Cursor" #: tools/editor/animation_editor.cpp -#: tools/editor/plugins/tile_map_editor_plugin.cpp -msgid "Duplicate Selection" -msgstr "Duplicar Selección" - -#: tools/editor/animation_editor.cpp -msgid "Duplicate Transposed" -msgstr "Duplicar Transpuesto" - -#: tools/editor/animation_editor.cpp msgid "Goto Next Step" msgstr "Ir a Paso Próximo" @@ -887,7 +893,6 @@ msgid "Call" msgstr "Llamar" #: tools/editor/call_dialog.cpp tools/editor/connections_dialog.cpp -#: tools/editor/import_settings.cpp #: tools/editor/plugins/animation_player_editor_plugin.cpp #: tools/editor/plugins/canvas_item_editor_plugin.cpp #: tools/editor/plugins/resource_preloader_editor_plugin.cpp @@ -1003,11 +1008,11 @@ msgid "Method in target Node must be specified!" msgstr "El método en el Nodo objetivo debe ser especificado!" #: tools/editor/connections_dialog.cpp -#, fuzzy msgid "Connect To Node:" msgstr "Conectar a Nodo:" -#: tools/editor/connections_dialog.cpp tools/editor/groups_editor.cpp +#: tools/editor/connections_dialog.cpp +#: tools/editor/editor_autoload_settings.cpp tools/editor/groups_editor.cpp #: tools/editor/plugins/item_list_editor_plugin.cpp #: tools/editor/plugins/theme_editor_plugin.cpp #: tools/editor/project_settings.cpp @@ -1113,8 +1118,8 @@ msgstr "Dependencias" msgid "Resource" msgstr "Recursos" -#: tools/editor/dependency_editor.cpp tools/editor/project_manager.cpp -#: tools/editor/project_settings.cpp +#: tools/editor/dependency_editor.cpp tools/editor/editor_autoload_settings.cpp +#: tools/editor/project_manager.cpp tools/editor/project_settings.cpp msgid "Path" msgstr "Ruta" @@ -1203,6 +1208,100 @@ msgstr "Eliminar archivos seleccionados?" msgid "Delete" msgstr "Eliminar" +#: tools/editor/editor_autoload_settings.cpp +msgid "Invalid name." +msgstr "Nombre inválido." + +#: tools/editor/editor_autoload_settings.cpp +msgid "Valid characters:" +msgstr "Caracteres válidos:" + +#: tools/editor/editor_autoload_settings.cpp +msgid "Invalid name. Must not collide with an existing engine class name." +msgstr "" +"Nombre inválido. No debe colisionar con un nombre existente de clases del " +"engine." + +#: tools/editor/editor_autoload_settings.cpp +msgid "Invalid name. Must not collide with an existing buit-in type name." +msgstr "" +"Nombre inválido. No debe colisionar con un nombre existente de un tipo built-" +"in." + +#: tools/editor/editor_autoload_settings.cpp +msgid "Invalid name. Must not collide with an existing global constant name." +msgstr "" +"Nombre inválido. No debe colisionar con un nombre de constante global " +"existente." + +#: tools/editor/editor_autoload_settings.cpp +#, fuzzy +msgid "Invalid Path." +msgstr "Ruta inválida!" + +#: tools/editor/editor_autoload_settings.cpp +#, fuzzy +msgid "File does not exist." +msgstr "El archivo existe" + +#: tools/editor/editor_autoload_settings.cpp +#, fuzzy +msgid "Not in resource path." +msgstr "Ruta de Recursos" + +#: tools/editor/editor_autoload_settings.cpp +#, fuzzy +msgid "Add AutoLoad" +msgstr "Agregar Autoload" + +#: tools/editor/editor_autoload_settings.cpp +msgid "Autoload '%s' already exists!" +msgstr "Autocargar '%s' ya existe!" + +#: tools/editor/editor_autoload_settings.cpp +msgid "Rename Autoload" +msgstr "Renombrar Autoload" + +#: tools/editor/editor_autoload_settings.cpp +msgid "Toggle AutoLoad Globals" +msgstr "Act/Desact. AutoLoad Globals" + +#: tools/editor/editor_autoload_settings.cpp +msgid "Move Autoload" +msgstr "Mover Autoload" + +#: tools/editor/editor_autoload_settings.cpp +msgid "Remove Autoload" +msgstr "Quitar Autoload" + +#: tools/editor/editor_autoload_settings.cpp +msgid "Enable" +msgstr "Activar" + +#: tools/editor/editor_autoload_settings.cpp +#, fuzzy +msgid "Rearrange Autoloads" +msgstr "Renombrar Autoload" + +#: tools/editor/editor_autoload_settings.cpp +msgid "Node Name:" +msgstr "Nombre de Nodo:" + +#: tools/editor/editor_autoload_settings.cpp +#: tools/editor/io_plugins/editor_scene_import_plugin.cpp +#: tools/editor/plugins/sample_library_editor_plugin.cpp +#: tools/editor/project_manager.cpp +msgid "Name" +msgstr "Nombre" + +#: tools/editor/editor_autoload_settings.cpp +msgid "Singleton" +msgstr "Singleton" + +#: tools/editor/editor_autoload_settings.cpp +msgid "List:" +msgstr "Lista:" + #: tools/editor/editor_data.cpp msgid "Updating Scene" msgstr "Actualizando Escena" @@ -1225,48 +1324,45 @@ msgstr "Elegir" #: tools/editor/editor_file_dialog.cpp msgid "Go Back" -msgstr "" +msgstr "Retroceder" #: tools/editor/editor_file_dialog.cpp msgid "Go Forward" -msgstr "" +msgstr "Avanzar" #: tools/editor/editor_file_dialog.cpp msgid "Go Up" -msgstr "" +msgstr "Subir" #: tools/editor/editor_file_dialog.cpp msgid "Refresh" -msgstr "" +msgstr "Refrescar" #: tools/editor/editor_file_dialog.cpp msgid "Toggle Hidden Files" -msgstr "" +msgstr "Act/Desact. Archivos Ocultos" #: tools/editor/editor_file_dialog.cpp -#, fuzzy msgid "Toggle Favorite" -msgstr "Act/Desact. Breakpoint" +msgstr "Act/Desact. Favorito" #: tools/editor/editor_file_dialog.cpp -#, fuzzy msgid "Toggle Mode" -msgstr "Act/Desact. Comentario" +msgstr "Act/Desact. Modo" #: tools/editor/editor_file_dialog.cpp -#, fuzzy msgid "Focus Path" -msgstr "Copiar Ruta" +msgstr "Foco en Ruta" #: tools/editor/editor_file_dialog.cpp #, fuzzy -msgid "Mode Favorite Up" -msgstr "Favoritos:" +msgid "Move Favorite Up" +msgstr "Mover Favorito Hacia Arriba" #: tools/editor/editor_file_dialog.cpp #, fuzzy -msgid "Mode Favorite Down" -msgstr "Bajar" +msgid "Move Favorite Down" +msgstr "Mover Favorito Hacia Abajo" #: tools/editor/editor_file_dialog.cpp tools/editor/scenes_dock.cpp msgid "Favorites:" @@ -1288,14 +1384,18 @@ msgstr "No se puede acceder al subdir:" msgid "ScanSources" msgstr "EscanearFuentes" -#: tools/editor/editor_help.cpp -msgid "Search Classes" -msgstr "Buscar Clases" +#: tools/editor/editor_help.cpp tools/editor/plugins/script_editor_plugin.cpp +msgid "Search Help" +msgstr "Ayuda de Búsqueda" #: tools/editor/editor_help.cpp msgid "Class List:" msgstr "Lista de Clases:" +#: tools/editor/editor_help.cpp +msgid "Search Classes" +msgstr "Buscar Clases" + #: tools/editor/editor_help.cpp tools/editor/property_editor.cpp msgid "Class:" msgstr "Clase:" @@ -1393,10 +1493,6 @@ msgstr "Importando:" msgid "Node From Scene" msgstr "Nodo desde Escena" -#: tools/editor/editor_node.cpp tools/editor/scenes_dock.cpp -msgid "Re-Import.." -msgstr "Reimportando.." - #: tools/editor/editor_node.cpp #: tools/editor/plugins/animation_player_editor_plugin.cpp #: tools/editor/resources_dock.cpp @@ -1522,34 +1618,35 @@ msgid "There is no defined scene to run." msgstr "No hay escena definida para ejecutar." #: tools/editor/editor_node.cpp -#, fuzzy msgid "" "No main scene has ever been defined, select one?\n" "You can change it later in later in \"Project Settings\" under the " "'application' category." msgstr "" -"No se ha definido ninguna escena principal.\n" -"Seleccioná una de \"Ajustes del Proyecto\" bajo la categoria 'aplicacion'." +"No se ha definido ninguna escena principal, ¿elegir una?\n" +"Es posible cambiarla más tarde en \"Ajustes del Proyecto\" bajo la categoria " +"'aplicacion'." #: tools/editor/editor_node.cpp -#, fuzzy msgid "" "Selected scene '%s' does not exist, select a valid one?\n" "You can change it later in \"Project Settings\" under the 'application' " "category." msgstr "" -"No se ha definido ninguna escena principal.\n" -"Seleccioná una de \"Ajustes del Proyecto\" bajo la categoria 'aplicacion'." +"La escena '%s' seleccionada no existe, ¿seleccionar una válida?\n" +"Es posible cambiarla más tarde en \"Ajustes del Proyecto\" bajo la categoria " +"'aplicacion'." #: tools/editor/editor_node.cpp -#, fuzzy msgid "" "Selected scene '%s' is not a scene file, select a valid one?\n" "You can change it later in \"Project Settings\" under the 'application' " "category." msgstr "" -"No se ha definido ninguna escena principal.\n" -"Seleccioná una de \"Ajustes del Proyecto\" bajo la categoria 'aplicacion'." +"La escena '%s' seleccionada no es un archivo de escena, ¿seleccionar uno " +"válido?\n" +"Es posible cambiarla más tarde en \"Ajustes del Proyecto\" bajo la categoria " +"'aplicacion'." #: tools/editor/editor_node.cpp msgid "Current scene was never saved, please save it prior to running." @@ -1644,8 +1741,8 @@ msgstr "Abrir el Gestor de Proyectos? (Los cambios sin guardar se perderán)" #: tools/editor/editor_node.cpp #, fuzzy -msgid "Pick a Manu Scene" -msgstr "Escena Principal" +msgid "Pick a Main Scene" +msgstr "Elegí una Escena Principal" #: tools/editor/editor_node.cpp tools/editor/scene_tree_dock.cpp msgid "Ugh" @@ -1710,14 +1807,12 @@ msgid "Distraction Free Mode" msgstr "Modo Sin Distracciones" #: tools/editor/editor_node.cpp -#, fuzzy msgid "Next tab" -msgstr "Siguiente" +msgstr "Pestaña siguiente" #: tools/editor/editor_node.cpp -#, fuzzy msgid "Previous tab" -msgstr "Directorio Previo" +msgstr "Pestaña anterior" #: tools/editor/editor_node.cpp msgid "Operations with scene files." @@ -1740,6 +1835,11 @@ msgid "Save Scene" msgstr "Guardar Escena" #: tools/editor/editor_node.cpp +#, fuzzy +msgid "Save all Scenes" +msgstr "Guardar Escena" + +#: tools/editor/editor_node.cpp msgid "Close Scene" msgstr "Cerrar Escena" @@ -1863,6 +1963,11 @@ msgid "Play custom scene" msgstr "Reproducir escena personalizada" #: tools/editor/editor_node.cpp +#, fuzzy +msgid "Play Custom Scene" +msgstr "Reproducir escena personalizada" + +#: tools/editor/editor_node.cpp msgid "Debug options" msgstr "Opciones de debugueo" @@ -2035,7 +2140,6 @@ msgid "Output" msgstr "Salida" #: tools/editor/editor_node.cpp tools/editor/editor_reimport_dialog.cpp -#: tools/editor/import_settings.cpp msgid "Re-Import" msgstr "Reimportar" @@ -2209,10 +2313,6 @@ msgstr "Agregar al Grupo" msgid "Remove from Group" msgstr "Quitar del Grupo" -#: tools/editor/import_settings.cpp -msgid "Imported Resources" -msgstr "Importar Recursos" - #: tools/editor/io_plugins/editor_bitmask_import_plugin.cpp msgid "No bit masks to import!" msgstr "Sin máscaras de bits para importar!" @@ -2288,6 +2388,8 @@ msgid "" "Invalid file extension.\n" "Please use .fnt." msgstr "" +"Extension de archivo inválida.\n" +"Usá .fnt, por favor." #: tools/editor/io_plugins/editor_font_import_plugin.cpp msgid "Can't load/process source font." @@ -2423,12 +2525,6 @@ msgid "Clips" msgstr "Clips" #: tools/editor/io_plugins/editor_scene_import_plugin.cpp -#: tools/editor/plugins/sample_library_editor_plugin.cpp -#: tools/editor/project_manager.cpp tools/editor/project_settings.cpp -msgid "Name" -msgstr "Nombre" - -#: tools/editor/io_plugins/editor_scene_import_plugin.cpp msgid "Start(s)" msgstr "Comienzo(s)" @@ -2529,9 +2625,8 @@ msgid "Couldn't load post-import script:" msgstr "No se pudo cargar el script post importación:" #: tools/editor/io_plugins/editor_scene_import_plugin.cpp -#, fuzzy msgid "Invalid/broken script for post-import (check console):" -msgstr "Script para post importación inválido/roto:" +msgstr "Script para post importación inválido/roto (revisá la consola):" #: tools/editor/io_plugins/editor_scene_import_plugin.cpp msgid "Error running post-import script:" @@ -3204,7 +3299,7 @@ msgstr "Offset de Grilla:" #: tools/editor/plugins/canvas_item_editor_plugin.cpp #: tools/editor/plugins/polygon_2d_editor_plugin.cpp msgid "Grid Step:" -msgstr "Setp de Grilla:" +msgstr "Step de Grilla:" #: tools/editor/plugins/canvas_item_editor_plugin.cpp msgid "Rotation Offset:" @@ -3400,8 +3495,9 @@ msgid "Anchor" msgstr "Anchor" #: tools/editor/plugins/canvas_item_editor_plugin.cpp -msgid "Insert Keys (Ins)" -msgstr "Insertar Claves (Ins)" +#, fuzzy +msgid "Insert Keys" +msgstr "Insertar Clave" #: tools/editor/plugins/canvas_item_editor_plugin.cpp msgid "Insert Key" @@ -3575,7 +3671,7 @@ msgstr "A MeshInstance le falta un Mesh!" #: tools/editor/plugins/mesh_instance_editor_plugin.cpp msgid "Mesh has not surface to create outlines from!" -msgstr "" +msgstr "El mesh no tiene una superficie de donde crear contornos(outlines)!" #: tools/editor/plugins/mesh_instance_editor_plugin.cpp msgid "Could not create outline!" @@ -3940,6 +4036,7 @@ msgid "Clear UV" msgstr "Limpiar UV" #: tools/editor/plugins/polygon_2d_editor_plugin.cpp +#: tools/editor/plugins/spatial_editor_plugin.cpp msgid "Snap" msgstr "Esnapear" @@ -4055,6 +4152,16 @@ msgid "Save Theme As.." msgstr "Guardar Tema Como.." #: tools/editor/plugins/script_editor_plugin.cpp +#, fuzzy +msgid "Next script" +msgstr "Crear Script" + +#: tools/editor/plugins/script_editor_plugin.cpp +#, fuzzy +msgid "Previous script" +msgstr "Pestaña anterior" + +#: tools/editor/plugins/script_editor_plugin.cpp #: tools/editor/project_export.cpp msgid "File" msgstr "Archivo" @@ -4240,10 +4347,6 @@ msgid "Search the class hierarchy." msgstr "Buscar en la jerarquía de clases." #: tools/editor/plugins/script_editor_plugin.cpp -msgid "Search Help" -msgstr "Ayuda de Búsqueda" - -#: tools/editor/plugins/script_editor_plugin.cpp msgid "Search the reference documentation." msgstr "Buscar en la documentación de referencia." @@ -4280,6 +4383,11 @@ msgstr "Volver a Guardar" msgid "Debugger" msgstr "Debugger" +#: tools/editor/plugins/script_editor_plugin.cpp +msgid "" +"Built-in scripts can only be edited when the scene they belong to is loaded" +msgstr "" + #: tools/editor/plugins/shader_editor_plugin.cpp msgid "Vertex" msgstr "Vértice" @@ -4513,76 +4621,85 @@ msgid "Align with view" msgstr "Alinear con vista" #: tools/editor/plugins/spatial_editor_plugin.cpp -msgid "Top (Num7)" -msgstr "Cima (Num7)" +msgid "Environment" +msgstr "Entorno" #: tools/editor/plugins/spatial_editor_plugin.cpp -msgid "Bottom (Shift+Num7)" -msgstr "Fondo (Shift+Num7)" +msgid "Audio Listener" +msgstr "Oyente de Audio" #: tools/editor/plugins/spatial_editor_plugin.cpp -msgid "Left (Num3)" -msgstr "Izquierda (Num3)" +msgid "Gizmos" +msgstr "Gizmos" #: tools/editor/plugins/spatial_editor_plugin.cpp -msgid "Right (Shift+Num3)" -msgstr "Derecha (Shift+Num3)" +msgid "XForm Dialog" +msgstr "Dialogo XForm" #: tools/editor/plugins/spatial_editor_plugin.cpp -msgid "Front (Num1)" -msgstr "Frente (Num1)" +msgid "No scene selected to instance!" +msgstr "Ninguna escena seleccionada a la instancia!" #: tools/editor/plugins/spatial_editor_plugin.cpp -msgid "Rear (Shift+Num1)" -msgstr "Detrás (Shift+Num1)" +msgid "Instance at Cursor" +msgstr "Instancia en Cursor" #: tools/editor/plugins/spatial_editor_plugin.cpp -msgid "Perspective (Num5)" -msgstr "Perspectiva (Num5)" +msgid "Could not instance scene!" +msgstr "No se pudo instanciar la escena!" #: tools/editor/plugins/spatial_editor_plugin.cpp -msgid "Orthogonal (Num5)" -msgstr "Ortogonal (Num5)" +msgid "Scale Mode (R)" +msgstr "Modo de Escalado (R)" #: tools/editor/plugins/spatial_editor_plugin.cpp -msgid "Environment" -msgstr "Entorno" +#, fuzzy +msgid "Bottom View" +msgstr "Vista Inferior." #: tools/editor/plugins/spatial_editor_plugin.cpp -msgid "Audio Listener" -msgstr "Oyente de Audio" +#, fuzzy +msgid "Top View" +msgstr "Vista Superior." #: tools/editor/plugins/spatial_editor_plugin.cpp -msgid "Gizmos" -msgstr "Gizmos" +#, fuzzy +msgid "Rear View" +msgstr "Vista Anterior." #: tools/editor/plugins/spatial_editor_plugin.cpp -msgid "Selection (F)" -msgstr "Slección (F)" +#, fuzzy +msgid "Front View" +msgstr "Vista Frontal." #: tools/editor/plugins/spatial_editor_plugin.cpp -msgid "Align with view (Ctrl+Shift+F)" -msgstr "Alinear con vista (Ctrl+Shift+F)" +#, fuzzy +msgid "Left View" +msgstr "Vista Izquierda." #: tools/editor/plugins/spatial_editor_plugin.cpp -msgid "XForm Dialog" -msgstr "Dialogo XForm" +#, fuzzy +msgid "Right View" +msgstr "Vista Derecha." #: tools/editor/plugins/spatial_editor_plugin.cpp -msgid "No scene selected to instance!" -msgstr "Ninguna escena seleccionada a la instancia!" +msgid "Switch Perspective/Orthogonal view" +msgstr "" #: tools/editor/plugins/spatial_editor_plugin.cpp -msgid "Instance at Cursor" -msgstr "Instancia en Cursor" +#, fuzzy +msgid "Insert Animation Key" +msgstr "Pegar Animación" #: tools/editor/plugins/spatial_editor_plugin.cpp -msgid "Could not instance scene!" -msgstr "No se pudo instanciar la escena!" +#, fuzzy +msgid "Focus Selection" +msgstr "Escalar Selección" #: tools/editor/plugins/spatial_editor_plugin.cpp -msgid "Scale Mode (R)" -msgstr "Modo de Escalado (R)" +#, fuzzy +msgid "Align Selection With View" +msgstr "Alinear con vista" #: tools/editor/plugins/spatial_editor_plugin.cpp msgid "Transform" @@ -4785,47 +4902,40 @@ msgid "StyleBox Preview:" msgstr "Vista Previa de StyleBox:" #: tools/editor/plugins/texture_region_editor_plugin.cpp -#, fuzzy msgid "Snap Mode:" -msgstr "Modo de Ejecución:" +msgstr "Modo Snap:" #: tools/editor/plugins/texture_region_editor_plugin.cpp msgid "<None>" -msgstr "" +msgstr "<Ninguno>" #: tools/editor/plugins/texture_region_editor_plugin.cpp -#, fuzzy msgid "Pixel Snap" -msgstr "Usar Pixel Snap" +msgstr "Pixel Snap" #: tools/editor/plugins/texture_region_editor_plugin.cpp -#, fuzzy msgid "Grid Snap" -msgstr "Setp de Grilla:" +msgstr "Snap de Grilla" #: tools/editor/plugins/texture_region_editor_plugin.cpp msgid "Auto Slice" -msgstr "" +msgstr "Auto Rebanar" #: tools/editor/plugins/texture_region_editor_plugin.cpp -#, fuzzy msgid "Offset:" -msgstr "Offset de Grilla:" +msgstr "Offset:" #: tools/editor/plugins/texture_region_editor_plugin.cpp -#, fuzzy msgid "Step:" -msgstr "Paso (s):" +msgstr "Paso:" #: tools/editor/plugins/texture_region_editor_plugin.cpp -#, fuzzy msgid "Separation:" -msgstr "Selecciones:" +msgstr "Separación:" #: tools/editor/plugins/texture_region_editor_plugin.cpp -#, fuzzy msgid "Texture Region" -msgstr "Editor de Regiones de Texturas" +msgstr "Región de Textura" #: tools/editor/plugins/texture_region_editor_plugin.cpp msgid "Texture Region Editor" @@ -5314,6 +5424,17 @@ msgid "Couldn't create engine.cfg in project path." msgstr "No se pudo crear engine.cfg en la ruta de proyecto." #: tools/editor/project_manager.cpp +#, fuzzy +msgid "The following files failed extraction from package:" +msgstr "" +"Los siguientes archivos son nuevos en disco.\n" +"¿Qué acción se debería tomar?:" + +#: tools/editor/project_manager.cpp +msgid "Package Installed Successfully!" +msgstr "" + +#: tools/editor/project_manager.cpp msgid "Import Existing Project" msgstr "Importar Proyecto Existente" @@ -5334,6 +5455,16 @@ msgid "Project Path:" msgstr "Ruta del Proyecto:" #: tools/editor/project_manager.cpp +#, fuzzy +msgid "Install Project:" +msgstr "Proyectos Recientes:" + +#: tools/editor/project_manager.cpp +#, fuzzy +msgid "Install" +msgstr "Instancia" + +#: tools/editor/project_manager.cpp msgid "Browse" msgstr "Examinar" @@ -5500,56 +5631,6 @@ msgid "Add Translation" msgstr "Agregar Traducción" #: tools/editor/project_settings.cpp -msgid "Invalid name." -msgstr "Nombre inválido." - -#: tools/editor/project_settings.cpp -msgid "Valid characters:" -msgstr "Caracteres válidos:" - -#: tools/editor/project_settings.cpp -msgid "Invalid name. Must not collide with an existing engine class name." -msgstr "" -"Nombre inválido. No debe colisionar con un nombre existente de clases del " -"engine." - -#: tools/editor/project_settings.cpp -msgid "Invalid name. Must not collide with an existing buit-in type name." -msgstr "" -"Nombre inválido. No debe colisionar con un nombre existente de un tipo built-" -"in." - -#: tools/editor/project_settings.cpp -msgid "Invalid name. Must not collide with an existing global constant name." -msgstr "" -"Nombre inválido. No debe colisionar con un nombre de constante global " -"existente." - -#: tools/editor/project_settings.cpp -msgid "Autoload '%s' already exists!" -msgstr "Autocargar '%s' ya existe!" - -#: tools/editor/project_settings.cpp -msgid "Rename Autoload" -msgstr "Renombrar Autoload" - -#: tools/editor/project_settings.cpp -msgid "Toggle AutoLoad Globals" -msgstr "Act/Desact. AutoLoad Globals" - -#: tools/editor/project_settings.cpp -msgid "Add Autoload" -msgstr "Agregar Autoload" - -#: tools/editor/project_settings.cpp -msgid "Remove Autoload" -msgstr "Quitar Autoload" - -#: tools/editor/project_settings.cpp -msgid "Move Autoload" -msgstr "Mover Autoload" - -#: tools/editor/project_settings.cpp msgid "Remove Translation" msgstr "Quitar Traducción" @@ -5574,10 +5655,6 @@ msgid "Remove Resource Remap Option" msgstr "Remover Opción de Remapeo de Recursos" #: tools/editor/project_settings.cpp -msgid "Enable" -msgstr "Activar" - -#: tools/editor/project_settings.cpp msgid "Project Settings (engine.cfg)" msgstr "Ajustes de Proyecto (engine.cfg)" @@ -5650,18 +5727,6 @@ msgid "AutoLoad" msgstr "AutoLoad" #: tools/editor/project_settings.cpp -msgid "Node Name:" -msgstr "Nombre de Nodo:" - -#: tools/editor/project_settings.cpp -msgid "List:" -msgstr "Lista:" - -#: tools/editor/project_settings.cpp -msgid "Singleton" -msgstr "Singleton" - -#: tools/editor/project_settings.cpp msgid "Plugins" msgstr "Plugins" @@ -6076,6 +6141,10 @@ msgid "Show In File Manager" msgstr "Mostrar en Gestor de Archivos" #: tools/editor/scenes_dock.cpp +msgid "Re-Import.." +msgstr "Reimportando.." + +#: tools/editor/scenes_dock.cpp msgid "Previous Directory" msgstr "Directorio Previo" @@ -6336,6 +6405,42 @@ msgstr "Cambiar Largo de Shape Rayo" msgid "Change Notifier Extents" msgstr "Cambiar Alcances de Notificadores" +#~ msgid "Imported Resources" +#~ msgstr "Importar Recursos" + +#~ msgid "Insert Keys (Ins)" +#~ msgstr "Insertar Claves (Ins)" + +#~ msgid "Top (Num7)" +#~ msgstr "Cima (Num7)" + +#~ msgid "Bottom (Shift+Num7)" +#~ msgstr "Fondo (Shift+Num7)" + +#~ msgid "Left (Num3)" +#~ msgstr "Izquierda (Num3)" + +#~ msgid "Right (Shift+Num3)" +#~ msgstr "Derecha (Shift+Num3)" + +#~ msgid "Front (Num1)" +#~ msgstr "Frente (Num1)" + +#~ msgid "Rear (Shift+Num1)" +#~ msgstr "Detrás (Shift+Num1)" + +#~ msgid "Perspective (Num5)" +#~ msgstr "Perspectiva (Num5)" + +#~ msgid "Orthogonal (Num5)" +#~ msgstr "Ortogonal (Num5)" + +#~ msgid "Selection (F)" +#~ msgstr "Slección (F)" + +#~ msgid "Align with view (Ctrl+Shift+F)" +#~ msgstr "Alinear con vista (Ctrl+Shift+F)" + #~ msgid "Change Anim Loop Interpolation" #~ msgstr "Cambiar Interpolación de Loop de Anim" @@ -6394,8 +6499,5 @@ msgstr "Cambiar Alcances de Notificadores" #~ msgid "Set region_rect" #~ msgstr "Setear region_rect" -#~ msgid "Recent Projects:" -#~ msgstr "Proyectos Recientes:" - #~ msgid "Plugin List:" #~ msgstr "Lista de Plugins:" diff --git a/tools/translations/fr.po b/tools/translations/fr.po index 24a8790ca0..7067ae472c 100644 --- a/tools/translations/fr.po +++ b/tools/translations/fr.po @@ -7,12 +7,13 @@ # finkiki <specialpopol@gmx.fr>, 2016. # Hugo Locurcio <hugo.l@openmailbox.org>, 2016. # Marc <marc.gilleron@gmail.com>, 2016. +# Onyx Steinheim <thevoxelmanonyx@gmail.com>, 2016. # msgid "" msgstr "" "Project-Id-Version: Godot Engine editor\n" "POT-Creation-Date: \n" -"PO-Revision-Date: 2016-06-25 18:35+0000\n" +"PO-Revision-Date: 2016-07-13 18:14+0000\n" "Last-Translator: Chenebel Dorian <LoubiTek54@gmail.com>\n" "Language-Team: French <https://hosted.weblate.org/projects/godot-engine/" "godot/fr/>\n" @@ -21,7 +22,7 @@ msgstr "" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=n > 1;\n" -"X-Generator: Weblate 2.7-dev\n" +"X-Generator: Weblate 2.8-dev\n" #: modules/gdscript/gd_functions.cpp msgid "Invalid type argument to convert(), use TYPE_* constants." @@ -344,9 +345,10 @@ msgstr "Enregistrer un fichier" msgid "Create Folder" msgstr "Créer un dossier" -#: scene/gui/file_dialog.cpp tools/editor/editor_file_dialog.cpp +#: scene/gui/file_dialog.cpp tools/editor/editor_autoload_settings.cpp +#: tools/editor/editor_file_dialog.cpp #: tools/editor/io_plugins/editor_font_import_plugin.cpp -#: tools/editor/project_settings.cpp tools/editor/script_create_dialog.cpp +#: tools/editor/script_create_dialog.cpp msgid "Path:" msgstr "Chemin :" @@ -547,6 +549,10 @@ msgid "Anim Add Track" msgstr "Animation Ajouter une piste" #: tools/editor/animation_editor.cpp +msgid "Anim Duplicate Keys" +msgstr "Animation Dupliquer les clés" + +#: tools/editor/animation_editor.cpp msgid "Move Anim Track Up" msgstr "Monter la piste d'animation" @@ -559,10 +565,6 @@ msgid "Remove Anim Track" msgstr "Supprimer la piste d'animation" #: tools/editor/animation_editor.cpp -msgid "Anim Duplicate Keys" -msgstr "Animation Dupliquer les clés" - -#: tools/editor/animation_editor.cpp msgid "Set Transitions to:" msgstr "Définir les transitions à :" @@ -591,6 +593,20 @@ msgid "Anim Delete Keys" msgstr "Animation Supprimer les clés" #: tools/editor/animation_editor.cpp +#: tools/editor/plugins/tile_map_editor_plugin.cpp +msgid "Duplicate Selection" +msgstr "Dupliquer la sélection" + +#: tools/editor/animation_editor.cpp +msgid "Duplicate Transposed" +msgstr "" + +#: tools/editor/animation_editor.cpp +#, fuzzy +msgid "Remove Selection" +msgstr "Mettre à l'échelle la sélection" + +#: tools/editor/animation_editor.cpp msgid "Continuous" msgstr "Continu" @@ -599,8 +615,9 @@ msgid "Discrete" msgstr "Discret" #: tools/editor/animation_editor.cpp +#, fuzzy msgid "Trigger" -msgstr "" +msgstr "Déclencheur" #: tools/editor/animation_editor.cpp msgid "Anim Add Key" @@ -616,24 +633,16 @@ msgstr "Mettre à l'échelle la sélection" #: tools/editor/animation_editor.cpp msgid "Scale From Cursor" -msgstr "" - -#: tools/editor/animation_editor.cpp -#: tools/editor/plugins/tile_map_editor_plugin.cpp -msgid "Duplicate Selection" -msgstr "Dupliquer la sélection" - -#: tools/editor/animation_editor.cpp -msgid "Duplicate Transposed" -msgstr "" +msgstr "Echelle Du Curseur" #: tools/editor/animation_editor.cpp msgid "Goto Next Step" -msgstr "" +msgstr "Aller à l'étape suivante" #: tools/editor/animation_editor.cpp +#, fuzzy msgid "Goto Prev Step" -msgstr "" +msgstr "Revenir à l'étape précédente" #: tools/editor/animation_editor.cpp tools/editor/property_editor.cpp msgid "Linear" @@ -702,8 +711,9 @@ msgid "Anim Insert Key" msgstr "Animation Inserer une clé" #: tools/editor/animation_editor.cpp +#, fuzzy msgid "Change Anim Len" -msgstr "" +msgstr "Change le format de l'animation" #: tools/editor/animation_editor.cpp msgid "Change Anim Loop" @@ -718,8 +728,9 @@ msgid "Anim Insert" msgstr "Insérer une animation" #: tools/editor/animation_editor.cpp +#, fuzzy msgid "Anim Scale Keys" -msgstr "" +msgstr "Touches de l'échelle de l'animation" #: tools/editor/animation_editor.cpp msgid "Anim Add Call Track" @@ -834,12 +845,14 @@ msgid "Resize Array" msgstr "Redimensionner le tableau" #: tools/editor/array_property_edit.cpp +#, fuzzy msgid "Change Array Value Type" -msgstr "" +msgstr "Changer les valeurs types d'un tableau" #: tools/editor/array_property_edit.cpp +#, fuzzy msgid "Change Array Value" -msgstr "" +msgstr "Changer la valeur d'un tableau" #: tools/editor/asset_library_editor_plugin.cpp tools/editor/create_dialog.cpp #: tools/editor/editor_help.cpp tools/editor/editor_node.cpp @@ -898,7 +911,6 @@ msgid "Call" msgstr "Appel" #: tools/editor/call_dialog.cpp tools/editor/connections_dialog.cpp -#: tools/editor/import_settings.cpp #: tools/editor/plugins/animation_player_editor_plugin.cpp #: tools/editor/plugins/canvas_item_editor_plugin.cpp #: tools/editor/plugins/resource_preloader_editor_plugin.cpp @@ -1018,7 +1030,8 @@ msgstr "La méthode du nœud cible doit être spécifiée !" msgid "Connect To Node:" msgstr "Connecter au nœud :" -#: tools/editor/connections_dialog.cpp tools/editor/groups_editor.cpp +#: tools/editor/connections_dialog.cpp +#: tools/editor/editor_autoload_settings.cpp tools/editor/groups_editor.cpp #: tools/editor/plugins/item_list_editor_plugin.cpp #: tools/editor/plugins/theme_editor_plugin.cpp #: tools/editor/project_settings.cpp @@ -1126,8 +1139,8 @@ msgstr "Dépendances" msgid "Resource" msgstr "Ressource" -#: tools/editor/dependency_editor.cpp tools/editor/project_manager.cpp -#: tools/editor/project_settings.cpp +#: tools/editor/dependency_editor.cpp tools/editor/editor_autoload_settings.cpp +#: tools/editor/project_manager.cpp tools/editor/project_settings.cpp msgid "Path" msgstr "Chemin" @@ -1145,26 +1158,34 @@ msgstr "Éditeur de dépendances" #: tools/editor/dependency_editor.cpp msgid "Search Replacement Resource:" -msgstr "" +msgstr "Recherche une ressource de remplacement:" #: tools/editor/dependency_editor.cpp msgid "Owners Of:" msgstr "Propriétaires de :" #: tools/editor/dependency_editor.cpp +#, fuzzy msgid "" "The files being removed are required by other resources in order for them to " "work.\n" "Remove them anyway? (no undo)" msgstr "" +"Les fichiers supprimés sont requis par d'autres ressources pour leur " +"fonctionnement.\n" +"Les supprimez-vous quand même ? (aucune annulation possible)" #: tools/editor/dependency_editor.cpp +#, fuzzy msgid "Remove selected files from the project? (no undo)" msgstr "" +"Supprimer les fichiers sélectionnés dans le projet ? (aucune annulation " +"possible)" #: tools/editor/dependency_editor.cpp +#, fuzzy msgid "Error loading:" -msgstr "" +msgstr "Erreur de chargement:" #: tools/editor/dependency_editor.cpp msgid "Scene failed to load due to missing dependencies:" @@ -1214,6 +1235,100 @@ msgstr "Supprimer les fichiers sélectionnés ?" msgid "Delete" msgstr "Supprimer" +#: tools/editor/editor_autoload_settings.cpp +msgid "Invalid name." +msgstr "Nom invalide." + +#: tools/editor/editor_autoload_settings.cpp +msgid "Valid characters:" +msgstr "Caractères valides :" + +#: tools/editor/editor_autoload_settings.cpp +msgid "Invalid name. Must not collide with an existing engine class name." +msgstr "" +"Nom invalide. Le nom ne doit pas rentrer en conflit avec le nom d'une classe " +"moteur existante." + +#: tools/editor/editor_autoload_settings.cpp +msgid "Invalid name. Must not collide with an existing buit-in type name." +msgstr "" +"Nom invalide. Le nom ne doit pas rentrer en conflit avec le nom d'un type " +"intégré au moteur." + +#: tools/editor/editor_autoload_settings.cpp +msgid "Invalid name. Must not collide with an existing global constant name." +msgstr "" +"Nom invalide. Le nom ne doit pas rentrer en conflit avec le nom d'une " +"constante globale." + +#: tools/editor/editor_autoload_settings.cpp +#, fuzzy +msgid "Invalid Path." +msgstr "Chemin invalide !" + +#: tools/editor/editor_autoload_settings.cpp +#, fuzzy +msgid "File does not exist." +msgstr "Le fichier existe" + +#: tools/editor/editor_autoload_settings.cpp +#, fuzzy +msgid "Not in resource path." +msgstr "Chemin de la ressource" + +#: tools/editor/editor_autoload_settings.cpp +#, fuzzy +msgid "Add AutoLoad" +msgstr "Ajouter un AutoLoad" + +#: tools/editor/editor_autoload_settings.cpp +msgid "Autoload '%s' already exists!" +msgstr "L'autoload « %s » existe déjà !" + +#: tools/editor/editor_autoload_settings.cpp +msgid "Rename Autoload" +msgstr "Renommer l'AutoLoad" + +#: tools/editor/editor_autoload_settings.cpp +msgid "Toggle AutoLoad Globals" +msgstr "Activer les variables globales AutoLoad" + +#: tools/editor/editor_autoload_settings.cpp +msgid "Move Autoload" +msgstr "Déplacer l'AutoLoad" + +#: tools/editor/editor_autoload_settings.cpp +msgid "Remove Autoload" +msgstr "Supprimer l'AutoLoad" + +#: tools/editor/editor_autoload_settings.cpp +msgid "Enable" +msgstr "Activer" + +#: tools/editor/editor_autoload_settings.cpp +#, fuzzy +msgid "Rearrange Autoloads" +msgstr "Renommer l'AutoLoad" + +#: tools/editor/editor_autoload_settings.cpp +msgid "Node Name:" +msgstr "Nom de nœud :" + +#: tools/editor/editor_autoload_settings.cpp +#: tools/editor/io_plugins/editor_scene_import_plugin.cpp +#: tools/editor/plugins/sample_library_editor_plugin.cpp +#: tools/editor/project_manager.cpp +msgid "Name" +msgstr "Nom" + +#: tools/editor/editor_autoload_settings.cpp +msgid "Singleton" +msgstr "Singleton" + +#: tools/editor/editor_autoload_settings.cpp +msgid "List:" +msgstr "Liste :" + #: tools/editor/editor_data.cpp msgid "Updating Scene" msgstr "Mise à jour de la scène" @@ -1236,23 +1351,23 @@ msgstr "Choisir" #: tools/editor/editor_file_dialog.cpp msgid "Go Back" -msgstr "" +msgstr "Revenir" #: tools/editor/editor_file_dialog.cpp msgid "Go Forward" -msgstr "" +msgstr "Avancer" #: tools/editor/editor_file_dialog.cpp msgid "Go Up" -msgstr "" +msgstr "Monter" #: tools/editor/editor_file_dialog.cpp msgid "Refresh" -msgstr "" +msgstr "Rafraîchir" #: tools/editor/editor_file_dialog.cpp msgid "Toggle Hidden Files" -msgstr "" +msgstr "Basculer les fichiers cachés" #: tools/editor/editor_file_dialog.cpp #, fuzzy @@ -1271,12 +1386,12 @@ msgstr "Copier le chemin" #: tools/editor/editor_file_dialog.cpp #, fuzzy -msgid "Mode Favorite Up" +msgid "Move Favorite Up" msgstr "Déplacer le favori vers le haut" #: tools/editor/editor_file_dialog.cpp #, fuzzy -msgid "Mode Favorite Down" +msgid "Move Favorite Down" msgstr "Déplacer le favori vers le bas" #: tools/editor/editor_file_dialog.cpp tools/editor/scenes_dock.cpp @@ -1299,14 +1414,18 @@ msgstr "Impossible d'aller dans le sous-répertoire :" msgid "ScanSources" msgstr "Scanner les sources" -#: tools/editor/editor_help.cpp -msgid "Search Classes" -msgstr "Chercher dans les classes" +#: tools/editor/editor_help.cpp tools/editor/plugins/script_editor_plugin.cpp +msgid "Search Help" +msgstr "Chercher dans l'aide" #: tools/editor/editor_help.cpp msgid "Class List:" msgstr "Liste des classes :" +#: tools/editor/editor_help.cpp +msgid "Search Classes" +msgstr "Chercher dans les classes" + #: tools/editor/editor_help.cpp tools/editor/property_editor.cpp msgid "Class:" msgstr "Classe :" @@ -1369,8 +1488,9 @@ msgid "Error saving atlas:" msgstr "Erreur de sauvegarde de l'atlas :" #: tools/editor/editor_import_export.cpp +#, fuzzy msgid "Could not save atlas subtexture:" -msgstr "" +msgstr "Impossible d'enregistrer la sous-texture atlas :" #: tools/editor/editor_import_export.cpp msgid "Storing File:" @@ -1404,10 +1524,6 @@ msgstr "Importation :" msgid "Node From Scene" msgstr "Nœud à partir d'une scène" -#: tools/editor/editor_node.cpp tools/editor/scenes_dock.cpp -msgid "Re-Import.." -msgstr "Ré-importer…" - #: tools/editor/editor_node.cpp #: tools/editor/plugins/animation_player_editor_plugin.cpp #: tools/editor/resources_dock.cpp @@ -1533,25 +1649,38 @@ msgid "There is no defined scene to run." msgstr "Il n'y a pas de scène définie pour être lancée." #: tools/editor/editor_node.cpp +#, fuzzy msgid "" "No main scene has ever been defined, select one?\n" "You can change it later in later in \"Project Settings\" under the " "'application' category." msgstr "" +"Aucune scène principale n'a jamais été définie, en sélectionner une?\n" +"Vous pouvez modifier ultérieurement dans 'Paramètres du projet' dans la " +"catégorie «application»." #: tools/editor/editor_node.cpp +#, fuzzy msgid "" "Selected scene '%s' does not exist, select a valid one?\n" "You can change it later in \"Project Settings\" under the 'application' " "category." msgstr "" +"La scène sélectionnée '%s' n'existe pas, en sélectionner une valide?\n" +"Vous pouvez modifier ultérieurement dans 'Paramètres du projet' dans la " +"catégorie «application»." #: tools/editor/editor_node.cpp +#, fuzzy msgid "" "Selected scene '%s' is not a scene file, select a valid one?\n" "You can change it later in \"Project Settings\" under the 'application' " "category." msgstr "" +"La scène sélectionnée '%s' n'est pas un fichier de scène, en sélectionner " +"une valide?\n" +"Vous pouvez modifier ultérieurement dans 'Paramètres du projet' dans la " +"catégorie «application»." #: tools/editor/editor_node.cpp msgid "Current scene was never saved, please save it prior to running." @@ -1650,7 +1779,7 @@ msgstr "" #: tools/editor/editor_node.cpp #, fuzzy -msgid "Pick a Manu Scene" +msgid "Pick a Main Scene" msgstr "Scène principale" #: tools/editor/editor_node.cpp tools/editor/scene_tree_dock.cpp @@ -1709,11 +1838,12 @@ msgstr "Aller à la scène ouverte précédemment." #: tools/editor/editor_node.cpp msgid "Fullscreen Mode" -msgstr "" +msgstr "Mode plein écran" #: tools/editor/editor_node.cpp +#, fuzzy msgid "Distraction Free Mode" -msgstr "" +msgstr "Mode distraction libre" #: tools/editor/editor_node.cpp #, fuzzy @@ -1746,6 +1876,11 @@ msgid "Save Scene" msgstr "Enregistrer la scène" #: tools/editor/editor_node.cpp +#, fuzzy +msgid "Save all Scenes" +msgstr "Enregistrer la scène" + +#: tools/editor/editor_node.cpp msgid "Close Scene" msgstr "Fermer la scène" @@ -1869,6 +2004,11 @@ msgid "Play custom scene" msgstr "Jouer une scène personnalisée" #: tools/editor/editor_node.cpp +#, fuzzy +msgid "Play Custom Scene" +msgstr "Jouer une scène personnalisée" + +#: tools/editor/editor_node.cpp msgid "Debug options" msgstr "Options de débogage" @@ -1877,16 +2017,21 @@ msgid "Deploy with Remote Debug" msgstr "Déployer avec le débogage distant" #: tools/editor/editor_node.cpp +#, fuzzy msgid "" "When exporting or deploying, the resulting executable will attempt to " "connect to the IP of this computer in order to be debugged." msgstr "" +"Lors de l'exportation ou du déploiement, l'exécutable tentera de se " +"connecter à l'adresse IP de cet ordinateur afin de procéder au débogage." #: tools/editor/editor_node.cpp +#, fuzzy msgid "Small Deploy with Network FS" -msgstr "" +msgstr "Petit déploiement avec le réseau FS" #: tools/editor/editor_node.cpp +#, fuzzy msgid "" "When this option is enabled, export or deploy will produce a minimal " "executable.\n" @@ -1895,50 +2040,74 @@ msgid "" "On Android, deploy will use the USB cable for faster performance. This " "option speeds up testing for games with a large footprint." msgstr "" +"Lorsque cette option est activée, l'exportation ou le déploiement produira " +"un exécutable minimal.\n" +"Le système de fichiers sera fourni à partir du projet par l'éditeur sur le " +"réseau.\n" +"Sur Androïd, le déploiement va utiliser le câble USB pour une meilleure " +"performance. Cette option accélère les tests pour les jeux avec une grande " +"empreinte." #: tools/editor/editor_node.cpp msgid "Visible Collision Shapes" msgstr "Formes de collision visibles" #: tools/editor/editor_node.cpp +#, fuzzy msgid "" "Collision shapes and raycast nodes (for 2D and 3D) will be visible on the " "running game if this option is turned on." msgstr "" +"Les formes de collision et les noeuds de raycast (pour 2D et 3D) seront " +"visibles en jeu si cette option est activée." #: tools/editor/editor_node.cpp msgid "Visible Navigation" msgstr "Navigation visible" #: tools/editor/editor_node.cpp +#, fuzzy msgid "" "Navigation meshes and polygons will be visible on the running game if this " "option is turned on." msgstr "" +"la navigation des maillages et des polygones sera visible en jeu si cette " +"option est activée." #: tools/editor/editor_node.cpp +#, fuzzy msgid "Sync Scene Changes" -msgstr "" +msgstr "Changement de synchronisation de scène" #: tools/editor/editor_node.cpp +#, fuzzy msgid "" "When this option is turned on, any changes made to the scene in the editor " "will be replicated in the running game.\n" "When used remotely on a device, this is more efficient with network " "filesystem." msgstr "" +"Lorsque cette option est activée, toutes les modifications apportées à la " +"scène dans l'éditeur seront reproduites en jeu.\n" +"Lorsque c'est utilisé à distance sur un périphérique, c'est plus efficace " +"avec le système de fichiers réseau." #: tools/editor/editor_node.cpp msgid "Sync Script Changes" msgstr "Synchroniser les modifications de script" #: tools/editor/editor_node.cpp +#, fuzzy msgid "" "When this option is turned on, any script that is saved will be reloaded on " "the running game.\n" "When used remotely on a device, this is more efficient with network " "filesystem." msgstr "" +"Lorsque cette option est activée, chaque script enregistré sera rechargé en " +"jeu.\n" +"Lorsque c'est utilisé à distance sur un périphérique, c'est plus efficace " +"avec le système de fichiers réseau." #: tools/editor/editor_node.cpp tools/editor/plugins/spatial_editor_plugin.cpp msgid "Settings" @@ -2021,7 +2190,6 @@ msgid "Output" msgstr "Sortie" #: tools/editor/editor_node.cpp tools/editor/editor_reimport_dialog.cpp -#: tools/editor/import_settings.cpp msgid "Re-Import" msgstr "Ré-importer" @@ -2082,32 +2250,39 @@ msgid "Status:" msgstr "État :" #: tools/editor/editor_profiler.cpp +#, fuzzy msgid "Stop Profiling" -msgstr "" +msgstr "Arrêt du profilage" #: tools/editor/editor_profiler.cpp +#, fuzzy msgid "Start Profiling" -msgstr "" +msgstr "Démarrage du profilage" #: tools/editor/editor_profiler.cpp +#, fuzzy msgid "Measure:" -msgstr "" +msgstr "Quantité:" #: tools/editor/editor_profiler.cpp +#, fuzzy msgid "Frame Time (sec)" -msgstr "" +msgstr "Image par seconde" #: tools/editor/editor_profiler.cpp +#, fuzzy msgid "Average Time (sec)" -msgstr "" +msgstr "Temps moyen (sec)" #: tools/editor/editor_profiler.cpp +#, fuzzy msgid "Frame %" -msgstr "" +msgstr "Image %" #: tools/editor/editor_profiler.cpp +#, fuzzy msgid "Fixed Frame %" -msgstr "" +msgstr "Cadre prédéfini %" #: tools/editor/editor_profiler.cpp tools/editor/script_editor_debugger.cpp msgid "Time:" @@ -2118,12 +2293,14 @@ msgid "Inclusive" msgstr "Inclusif" #: tools/editor/editor_profiler.cpp +#, fuzzy msgid "Self" -msgstr "" +msgstr "Soi-même" #: tools/editor/editor_profiler.cpp +#, fuzzy msgid "Frame #:" -msgstr "" +msgstr "Image #:" #: tools/editor/editor_reimport_dialog.cpp msgid "Please wait for scan to complete." @@ -2195,10 +2372,6 @@ msgstr "Ajouter au groupe" msgid "Remove from Group" msgstr "Supprimer du groupe" -#: tools/editor/import_settings.cpp -msgid "Imported Resources" -msgstr "Ressources importées" - #: tools/editor/io_plugins/editor_bitmask_import_plugin.cpp msgid "No bit masks to import!" msgstr "Pas de masques de bits à importer !" @@ -2259,8 +2432,9 @@ msgid "Accept" msgstr "Accepter" #: tools/editor/io_plugins/editor_bitmask_import_plugin.cpp +#, fuzzy msgid "Bit Mask" -msgstr "" +msgstr "Masque de bits" #: tools/editor/io_plugins/editor_font_import_plugin.cpp msgid "No source font file!" @@ -2275,6 +2449,8 @@ msgid "" "Invalid file extension.\n" "Please use .fnt." msgstr "" +"Extension de fichier non valide.\n" +"Veuillez utiliser .fnt." #: tools/editor/io_plugins/editor_font_import_plugin.cpp msgid "Can't load/process source font." @@ -2351,7 +2527,7 @@ msgstr "Maillage(s) source :" #: tools/editor/io_plugins/editor_mesh_import_plugin.cpp #: tools/editor/plugins/mesh_instance_editor_plugin.cpp msgid "Mesh" -msgstr "" +msgstr "Maillage" #: tools/editor/io_plugins/editor_mesh_import_plugin.cpp msgid "Surface %d" @@ -2410,12 +2586,6 @@ msgid "Clips" msgstr "Séquences" #: tools/editor/io_plugins/editor_scene_import_plugin.cpp -#: tools/editor/plugins/sample_library_editor_plugin.cpp -#: tools/editor/project_manager.cpp tools/editor/project_settings.cpp -msgid "Name" -msgstr "Nom" - -#: tools/editor/io_plugins/editor_scene_import_plugin.cpp msgid "Start(s)" msgstr "Départ(s)" @@ -2473,8 +2643,9 @@ msgid "Post-Process Script:" msgstr "Script de post-traitement :" #: tools/editor/io_plugins/editor_scene_import_plugin.cpp +#, fuzzy msgid "Custom Root Node Type:" -msgstr "" +msgstr "Type de racine de nœud personnalisé:" #: tools/editor/io_plugins/editor_scene_import_plugin.cpp msgid "Auto" @@ -2778,20 +2949,22 @@ msgid "Translation" msgstr "Traduction" #: tools/editor/multi_node_edit.cpp +#, fuzzy msgid "MultiNode Set" -msgstr "" +msgstr "Réglage multi-nœuds" #: tools/editor/node_dock.cpp msgid "Node" -msgstr "" +msgstr "Nœud" #: tools/editor/node_dock.cpp msgid "Groups" msgstr "Groupes" #: tools/editor/node_dock.cpp +#, fuzzy msgid "Select a Node to edit Signals and Groups." -msgstr "" +msgstr "Sélectionnez un nœud pour modifier des signaux et des groupes." #: tools/editor/plugins/animation_player_editor_plugin.cpp msgid "Toggle Autoplay" @@ -2833,12 +3006,14 @@ msgid "Add Animation" msgstr "Ajouter une animation" #: tools/editor/plugins/animation_player_editor_plugin.cpp +#, fuzzy msgid "Blend Next Changed" -msgstr "" +msgstr "Mélange Suivant Changé" #: tools/editor/plugins/animation_player_editor_plugin.cpp +#, fuzzy msgid "Change Blend Time" -msgstr "" +msgstr "Changer le temps de mélange" #: tools/editor/plugins/animation_player_editor_plugin.cpp msgid "Load Animation" @@ -2869,36 +3044,41 @@ msgid "ERROR: No animation to edit!" msgstr "ERREUR : Pas d'animation à modifier !" #: tools/editor/plugins/animation_player_editor_plugin.cpp +#, fuzzy msgid "Play selected animation backwards from current pos. (A)" -msgstr "" +msgstr "Lire l'animation sélectionnée à rebours de la position actuelle. (A)" #: tools/editor/plugins/animation_player_editor_plugin.cpp +#, fuzzy msgid "Play selected animation backwards from end. (Shift+A)" -msgstr "" +msgstr "Lire l'animation sélectionnée à rebours de la fin. (Maj + A)" #: tools/editor/plugins/animation_player_editor_plugin.cpp msgid "Stop animation playback. (S)" msgstr "Arrêter la lecture de l'animation. (S)" #: tools/editor/plugins/animation_player_editor_plugin.cpp +#, fuzzy msgid "Play selected animation from start. (Shift+D)" -msgstr "" +msgstr "Lire l'animation sélectionnée depuis le début. (Maj + D)" #: tools/editor/plugins/animation_player_editor_plugin.cpp +#, fuzzy msgid "Play selected animation from current pos. (D)" -msgstr "" +msgstr "Lire l'animation sélectionnée à sa position actuelle. (D)" #: tools/editor/plugins/animation_player_editor_plugin.cpp msgid "Animation position (in seconds)." msgstr "Position de l'animation (en secondes)." #: tools/editor/plugins/animation_player_editor_plugin.cpp +#, fuzzy msgid "Scale animation playback globally for the node." -msgstr "" +msgstr "Echelle de lecture de l'animation dans sa globalité pour le noeud." #: tools/editor/plugins/animation_player_editor_plugin.cpp msgid "Create new animation in player." -msgstr "" +msgstr "Créer une nouvelle animation dans le lecteur." #: tools/editor/plugins/animation_player_editor_plugin.cpp msgid "Load animation from disk." @@ -2925,8 +3105,9 @@ msgid "Autoplay on Load" msgstr "Lecture automatique au chargement" #: tools/editor/plugins/animation_player_editor_plugin.cpp +#, fuzzy msgid "Edit Target Blend Times" -msgstr "" +msgstr "Modifier les temps de mélange des cibles" #: tools/editor/plugins/animation_player_editor_plugin.cpp msgid "Animation Tools" @@ -2934,7 +3115,7 @@ msgstr "Outils d'animation" #: tools/editor/plugins/animation_player_editor_plugin.cpp msgid "Copy Animation" -msgstr "" +msgstr "Copier l'animation" #: tools/editor/plugins/animation_player_editor_plugin.cpp msgid "Create New Animation" @@ -2953,16 +3134,18 @@ msgid "Error!" msgstr "Erreur !" #: tools/editor/plugins/animation_player_editor_plugin.cpp +#, fuzzy msgid "Blend Times:" -msgstr "" +msgstr "Temps de mélange" #: tools/editor/plugins/animation_player_editor_plugin.cpp msgid "Next (Auto Queue):" -msgstr "" +msgstr "Suivant (file d'attente automatique):" #: tools/editor/plugins/animation_player_editor_plugin.cpp +#, fuzzy msgid "Cross-Animation Blend Times" -msgstr "" +msgstr "Temps de mélange des Cross-animation" #: tools/editor/plugins/animation_player_editor_plugin.cpp #: tools/editor/plugins/canvas_item_editor_plugin.cpp @@ -2996,15 +3179,15 @@ msgstr "Mixer" #: tools/editor/plugins/animation_tree_editor_plugin.cpp msgid "Auto Restart:" -msgstr "" +msgstr "Redémarrage automatique:" #: tools/editor/plugins/animation_tree_editor_plugin.cpp msgid "Restart (s):" -msgstr "" +msgstr "Redémarrer (s):" #: tools/editor/plugins/animation_tree_editor_plugin.cpp msgid "Random Restart (s):" -msgstr "" +msgstr "Redémarrage aléatoire (s):" #: tools/editor/plugins/animation_tree_editor_plugin.cpp msgid "Start!" @@ -3380,8 +3563,9 @@ msgid "Anchor" msgstr "Ancre" #: tools/editor/plugins/canvas_item_editor_plugin.cpp -msgid "Insert Keys (Ins)" -msgstr "" +#, fuzzy +msgid "Insert Keys" +msgstr "Animation Inserer une clé" #: tools/editor/plugins/canvas_item_editor_plugin.cpp msgid "Insert Key" @@ -3919,6 +4103,7 @@ msgid "Clear UV" msgstr "Effacer l'UV" #: tools/editor/plugins/polygon_2d_editor_plugin.cpp +#: tools/editor/plugins/spatial_editor_plugin.cpp msgid "Snap" msgstr "Aligner" @@ -4034,6 +4219,16 @@ msgid "Save Theme As.." msgstr "Enregistrer le thème sous…" #: tools/editor/plugins/script_editor_plugin.cpp +#, fuzzy +msgid "Next script" +msgstr "Créer un script" + +#: tools/editor/plugins/script_editor_plugin.cpp +#, fuzzy +msgid "Previous script" +msgstr "Répertoire précédent" + +#: tools/editor/plugins/script_editor_plugin.cpp #: tools/editor/project_export.cpp msgid "File" msgstr "Fichier" @@ -4220,10 +4415,6 @@ msgid "Search the class hierarchy." msgstr "Cherche dans la hiérarchie des classes." #: tools/editor/plugins/script_editor_plugin.cpp -msgid "Search Help" -msgstr "Chercher dans l'aide" - -#: tools/editor/plugins/script_editor_plugin.cpp msgid "Search the reference documentation." msgstr "Cherche dans la documentation de référence." @@ -4260,6 +4451,11 @@ msgstr "Ré-enregistrer" msgid "Debugger" msgstr "Débogueur" +#: tools/editor/plugins/script_editor_plugin.cpp +msgid "" +"Built-in scripts can only be edited when the scene they belong to is loaded" +msgstr "" + #: tools/editor/plugins/shader_editor_plugin.cpp msgid "Vertex" msgstr "Vertex" @@ -4493,76 +4689,85 @@ msgid "Align with view" msgstr "Aligner avec la vue" #: tools/editor/plugins/spatial_editor_plugin.cpp -msgid "Top (Num7)" -msgstr "Dessus (Pavé num. 7)" +msgid "Environment" +msgstr "Environnement" #: tools/editor/plugins/spatial_editor_plugin.cpp -msgid "Bottom (Shift+Num7)" -msgstr "Dessous (Maj+Pavé num. 7)" +msgid "Audio Listener" +msgstr "Écouteur audio" #: tools/editor/plugins/spatial_editor_plugin.cpp -msgid "Left (Num3)" -msgstr "Gauche (Pavé num. 3)" +msgid "Gizmos" +msgstr "Gizmos" #: tools/editor/plugins/spatial_editor_plugin.cpp -msgid "Right (Shift+Num3)" -msgstr "Droite (Maj+Pavé num. 3)" +msgid "XForm Dialog" +msgstr "Dialogue XForm" #: tools/editor/plugins/spatial_editor_plugin.cpp -msgid "Front (Num1)" -msgstr "Devant (Pavé num. 1)" +msgid "No scene selected to instance!" +msgstr "Pas de scène sélectionnée à instancier !" #: tools/editor/plugins/spatial_editor_plugin.cpp -msgid "Rear (Shift+Num1)" -msgstr "Arrière (Maj+Pavé num. 1)" +msgid "Instance at Cursor" +msgstr "Instancier sur le cursuer" #: tools/editor/plugins/spatial_editor_plugin.cpp -msgid "Perspective (Num5)" -msgstr "Perspective (Pavé num. 5)" +msgid "Could not instance scene!" +msgstr "Impossible d'instancier la scène !" #: tools/editor/plugins/spatial_editor_plugin.cpp -msgid "Orthogonal (Num5)" -msgstr "Orthogonale (Pavé num. 5)" +msgid "Scale Mode (R)" +msgstr "Mode de mise à l'échelle (R)" #: tools/editor/plugins/spatial_editor_plugin.cpp -msgid "Environment" -msgstr "Environnement" +#, fuzzy +msgid "Bottom View" +msgstr "Vue de dessous." #: tools/editor/plugins/spatial_editor_plugin.cpp -msgid "Audio Listener" -msgstr "Écouteur audio" +#, fuzzy +msgid "Top View" +msgstr "Vue de dessus." #: tools/editor/plugins/spatial_editor_plugin.cpp -msgid "Gizmos" -msgstr "Gizmos" +#, fuzzy +msgid "Rear View" +msgstr "Vue arrière." #: tools/editor/plugins/spatial_editor_plugin.cpp -msgid "Selection (F)" -msgstr "Sélection (F)" +#, fuzzy +msgid "Front View" +msgstr "Vue avant." #: tools/editor/plugins/spatial_editor_plugin.cpp -msgid "Align with view (Ctrl+Shift+F)" -msgstr "Aligner avec la vue (Ctrl+Maj+F)" +#, fuzzy +msgid "Left View" +msgstr "Vue de gauche." #: tools/editor/plugins/spatial_editor_plugin.cpp -msgid "XForm Dialog" -msgstr "Dialogue XForm" +#, fuzzy +msgid "Right View" +msgstr "Vue de droite." #: tools/editor/plugins/spatial_editor_plugin.cpp -msgid "No scene selected to instance!" -msgstr "Pas de scène sélectionnée à instancier !" +msgid "Switch Perspective/Orthogonal view" +msgstr "" #: tools/editor/plugins/spatial_editor_plugin.cpp -msgid "Instance at Cursor" -msgstr "Instancier sur le cursuer" +#, fuzzy +msgid "Insert Animation Key" +msgstr "Coller l'animation" #: tools/editor/plugins/spatial_editor_plugin.cpp -msgid "Could not instance scene!" -msgstr "Impossible d'instancier la scène !" +#, fuzzy +msgid "Focus Selection" +msgstr "Mettre à l'échelle la sélection" #: tools/editor/plugins/spatial_editor_plugin.cpp -msgid "Scale Mode (R)" -msgstr "Mode de mise à l'échelle (R)" +#, fuzzy +msgid "Align Selection With View" +msgstr "Aligner avec la vue" #: tools/editor/plugins/spatial_editor_plugin.cpp msgid "Transform" @@ -5296,6 +5501,17 @@ msgstr "" "Impossible de créer le fichier engine.cfg dans le répertoire du projet." #: tools/editor/project_manager.cpp +#, fuzzy +msgid "The following files failed extraction from package:" +msgstr "" +"Les fichiers suivants sont plus récents sur le disque.\n" +"Quelle action doit être prise ? :" + +#: tools/editor/project_manager.cpp +msgid "Package Installed Successfully!" +msgstr "" + +#: tools/editor/project_manager.cpp msgid "Import Existing Project" msgstr "Importer un projet existant" @@ -5316,6 +5532,16 @@ msgid "Project Path:" msgstr "Chemin du projet :" #: tools/editor/project_manager.cpp +#, fuzzy +msgid "Install Project:" +msgstr "Projets récents :" + +#: tools/editor/project_manager.cpp +#, fuzzy +msgid "Install" +msgstr "Instance" + +#: tools/editor/project_manager.cpp msgid "Browse" msgstr "Parcourir" @@ -5481,56 +5707,6 @@ msgid "Add Translation" msgstr "Ajouter une traduction" #: tools/editor/project_settings.cpp -msgid "Invalid name." -msgstr "Nom invalide." - -#: tools/editor/project_settings.cpp -msgid "Valid characters:" -msgstr "Caractères valides :" - -#: tools/editor/project_settings.cpp -msgid "Invalid name. Must not collide with an existing engine class name." -msgstr "" -"Nom invalide. Le nom ne doit pas rentrer en conflit avec le nom d'une classe " -"moteur existante." - -#: tools/editor/project_settings.cpp -msgid "Invalid name. Must not collide with an existing buit-in type name." -msgstr "" -"Nom invalide. Le nom ne doit pas rentrer en conflit avec le nom d'un type " -"intégré au moteur." - -#: tools/editor/project_settings.cpp -msgid "Invalid name. Must not collide with an existing global constant name." -msgstr "" -"Nom invalide. Le nom ne doit pas rentrer en conflit avec le nom d'une " -"constante globale." - -#: tools/editor/project_settings.cpp -msgid "Autoload '%s' already exists!" -msgstr "L'autoload « %s » existe déjà !" - -#: tools/editor/project_settings.cpp -msgid "Rename Autoload" -msgstr "Renommer l'AutoLoad" - -#: tools/editor/project_settings.cpp -msgid "Toggle AutoLoad Globals" -msgstr "Activer les variables globales AutoLoad" - -#: tools/editor/project_settings.cpp -msgid "Add Autoload" -msgstr "Ajouter un AutoLoad" - -#: tools/editor/project_settings.cpp -msgid "Remove Autoload" -msgstr "Supprimer l'AutoLoad" - -#: tools/editor/project_settings.cpp -msgid "Move Autoload" -msgstr "Déplacer l'AutoLoad" - -#: tools/editor/project_settings.cpp msgid "Remove Translation" msgstr "Supprimer la traduction" @@ -5555,10 +5731,6 @@ msgid "Remove Resource Remap Option" msgstr "" #: tools/editor/project_settings.cpp -msgid "Enable" -msgstr "Activer" - -#: tools/editor/project_settings.cpp msgid "Project Settings (engine.cfg)" msgstr "Paramètres du projet (engine.cfg)" @@ -5631,18 +5803,6 @@ msgid "AutoLoad" msgstr "AutoLoad" #: tools/editor/project_settings.cpp -msgid "Node Name:" -msgstr "Nom de nœud :" - -#: tools/editor/project_settings.cpp -msgid "List:" -msgstr "Liste :" - -#: tools/editor/project_settings.cpp -msgid "Singleton" -msgstr "Singleton" - -#: tools/editor/project_settings.cpp msgid "Plugins" msgstr "Extensions" @@ -6053,6 +6213,10 @@ msgid "Show In File Manager" msgstr "Montrer dans le gestionnaire de fichiers" #: tools/editor/scenes_dock.cpp +msgid "Re-Import.." +msgstr "Ré-importer…" + +#: tools/editor/scenes_dock.cpp msgid "Previous Directory" msgstr "Répertoire précédent" @@ -6312,6 +6476,39 @@ msgstr "Changer la longueur d'une forme en rayon" msgid "Change Notifier Extents" msgstr "Changer les extents d'un notificateur" +#~ msgid "Imported Resources" +#~ msgstr "Ressources importées" + +#~ msgid "Top (Num7)" +#~ msgstr "Dessus (Pavé num. 7)" + +#~ msgid "Bottom (Shift+Num7)" +#~ msgstr "Dessous (Maj+Pavé num. 7)" + +#~ msgid "Left (Num3)" +#~ msgstr "Gauche (Pavé num. 3)" + +#~ msgid "Right (Shift+Num3)" +#~ msgstr "Droite (Maj+Pavé num. 3)" + +#~ msgid "Front (Num1)" +#~ msgstr "Devant (Pavé num. 1)" + +#~ msgid "Rear (Shift+Num1)" +#~ msgstr "Arrière (Maj+Pavé num. 1)" + +#~ msgid "Perspective (Num5)" +#~ msgstr "Perspective (Pavé num. 5)" + +#~ msgid "Orthogonal (Num5)" +#~ msgstr "Orthogonale (Pavé num. 5)" + +#~ msgid "Selection (F)" +#~ msgstr "Sélection (F)" + +#~ msgid "Align with view (Ctrl+Shift+F)" +#~ msgstr "Aligner avec la vue (Ctrl+Maj+F)" + #~ msgid "Change Anim Loop Interpolation" #~ msgstr "Changer l'interpolation de la boucle d'animation" @@ -6351,9 +6548,6 @@ msgstr "Changer les extents d'un notificateur" #~ msgid "Node Group(s)" #~ msgstr "Groupes de nœuds" -#~ msgid "Recent Projects:" -#~ msgstr "Projets récents :" - #~ msgid "Plugin List:" #~ msgstr "Liste d'extensions :" diff --git a/tools/translations/it.po b/tools/translations/it.po index f41289656c..83c9d85807 100644 --- a/tools/translations/it.po +++ b/tools/translations/it.po @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine editor\n" "POT-Creation-Date: \n" -"PO-Revision-Date: 2016-06-22 15:28+0000\n" +"PO-Revision-Date: 2016-07-12 23:11+0000\n" "Last-Translator: Dario Bonfanti <bonfi.96@hotmail.it>\n" "Language-Team: Italian <https://hosted.weblate.org/projects/godot-engine/" "godot/it/>\n" @@ -17,7 +17,7 @@ msgstr "" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=n != 1;\n" -"X-Generator: Weblate 2.7-dev\n" +"X-Generator: Weblate 2.8-dev\n" #: modules/gdscript/gd_functions.cpp msgid "Invalid type argument to convert(), use TYPE_* constants." @@ -344,9 +344,10 @@ msgstr "Salva un File" msgid "Create Folder" msgstr "Crea Cartella" -#: scene/gui/file_dialog.cpp tools/editor/editor_file_dialog.cpp +#: scene/gui/file_dialog.cpp tools/editor/editor_autoload_settings.cpp +#: tools/editor/editor_file_dialog.cpp #: tools/editor/io_plugins/editor_font_import_plugin.cpp -#: tools/editor/project_settings.cpp tools/editor/script_create_dialog.cpp +#: tools/editor/script_create_dialog.cpp msgid "Path:" msgstr "Percorso:" @@ -546,6 +547,10 @@ msgid "Anim Add Track" msgstr "Anim Aggiungi Traccia" #: tools/editor/animation_editor.cpp +msgid "Anim Duplicate Keys" +msgstr "Duplica Key Animazione" + +#: tools/editor/animation_editor.cpp msgid "Move Anim Track Up" msgstr "Muovi Traccia Animazione Su" @@ -558,10 +563,6 @@ msgid "Remove Anim Track" msgstr "Rimuovi Traccia Animazione" #: tools/editor/animation_editor.cpp -msgid "Anim Duplicate Keys" -msgstr "Duplica Key Animazione" - -#: tools/editor/animation_editor.cpp msgid "Set Transitions to:" msgstr "Imposta Transizione a:" @@ -590,6 +591,20 @@ msgid "Anim Delete Keys" msgstr "Anim Elimina Key" #: tools/editor/animation_editor.cpp +#: tools/editor/plugins/tile_map_editor_plugin.cpp +msgid "Duplicate Selection" +msgstr "Duplica Selezione" + +#: tools/editor/animation_editor.cpp +msgid "Duplicate Transposed" +msgstr "Duplica Transposto" + +#: tools/editor/animation_editor.cpp +#, fuzzy +msgid "Remove Selection" +msgstr "Selezione Frame" + +#: tools/editor/animation_editor.cpp msgid "Continuous" msgstr "Continuo" @@ -618,15 +633,6 @@ msgid "Scale From Cursor" msgstr "Scala da Cursore" #: tools/editor/animation_editor.cpp -#: tools/editor/plugins/tile_map_editor_plugin.cpp -msgid "Duplicate Selection" -msgstr "Duplica Selezione" - -#: tools/editor/animation_editor.cpp -msgid "Duplicate Transposed" -msgstr "Duplica Transposto" - -#: tools/editor/animation_editor.cpp msgid "Goto Next Step" msgstr "Vai a Step Successivo" @@ -897,7 +903,6 @@ msgid "Call" msgstr "Chiama" #: tools/editor/call_dialog.cpp tools/editor/connections_dialog.cpp -#: tools/editor/import_settings.cpp #: tools/editor/plugins/animation_player_editor_plugin.cpp #: tools/editor/plugins/canvas_item_editor_plugin.cpp #: tools/editor/plugins/resource_preloader_editor_plugin.cpp @@ -1013,11 +1018,11 @@ msgid "Method in target Node must be specified!" msgstr "Il Metodo nel nodo di target deve essere specificato!" #: tools/editor/connections_dialog.cpp -#, fuzzy msgid "Connect To Node:" msgstr "Connetti A Nodo:" -#: tools/editor/connections_dialog.cpp tools/editor/groups_editor.cpp +#: tools/editor/connections_dialog.cpp +#: tools/editor/editor_autoload_settings.cpp tools/editor/groups_editor.cpp #: tools/editor/plugins/item_list_editor_plugin.cpp #: tools/editor/plugins/theme_editor_plugin.cpp #: tools/editor/project_settings.cpp @@ -1125,8 +1130,8 @@ msgstr "Dipendenze" msgid "Resource" msgstr "Risorsa" -#: tools/editor/dependency_editor.cpp tools/editor/project_manager.cpp -#: tools/editor/project_settings.cpp +#: tools/editor/dependency_editor.cpp tools/editor/editor_autoload_settings.cpp +#: tools/editor/project_manager.cpp tools/editor/project_settings.cpp msgid "Path" msgstr "Percorso" @@ -1202,7 +1207,7 @@ msgstr "Risorse Senza Proprietà Esplicita:" #: tools/editor/dependency_editor.cpp tools/editor/editor_node.cpp msgid "Orphan Resource Explorer" -msgstr "Explorer Risorse Orfano" +msgstr "Esplora Risorse Orfane" #: tools/editor/dependency_editor.cpp msgid "Delete selected files?" @@ -1214,6 +1219,100 @@ msgstr "Eliminare i file selezionati?" msgid "Delete" msgstr "Elimina" +#: tools/editor/editor_autoload_settings.cpp +msgid "Invalid name." +msgstr "Nome Invalido." + +#: tools/editor/editor_autoload_settings.cpp +msgid "Valid characters:" +msgstr "Caratteri validi:" + +#: tools/editor/editor_autoload_settings.cpp +msgid "Invalid name. Must not collide with an existing engine class name." +msgstr "" +"Nome invalido. Non deve essere in conflitto con un nome di classe di engine " +"esistente." + +#: tools/editor/editor_autoload_settings.cpp +msgid "Invalid name. Must not collide with an existing buit-in type name." +msgstr "" +"Nome invalido. Non deve essere in conflitto con un nome di tipo built-in " +"esistente." + +#: tools/editor/editor_autoload_settings.cpp +msgid "Invalid name. Must not collide with an existing global constant name." +msgstr "" +"Nome invalido. Non deve essere in conflitto con un nome di una costante " +"globale esistente." + +#: tools/editor/editor_autoload_settings.cpp +#, fuzzy +msgid "Invalid Path." +msgstr "Percorso Invalido!" + +#: tools/editor/editor_autoload_settings.cpp +#, fuzzy +msgid "File does not exist." +msgstr "File esistente" + +#: tools/editor/editor_autoload_settings.cpp +#, fuzzy +msgid "Not in resource path." +msgstr "Percorso Risosa" + +#: tools/editor/editor_autoload_settings.cpp +#, fuzzy +msgid "Add AutoLoad" +msgstr "Aggiungi Autoload" + +#: tools/editor/editor_autoload_settings.cpp +msgid "Autoload '%s' already exists!" +msgstr "Autoload '%s' esiste già!" + +#: tools/editor/editor_autoload_settings.cpp +msgid "Rename Autoload" +msgstr "Rinomina Autoload" + +#: tools/editor/editor_autoload_settings.cpp +msgid "Toggle AutoLoad Globals" +msgstr "Abilita AutoLoad Globals" + +#: tools/editor/editor_autoload_settings.cpp +msgid "Move Autoload" +msgstr "Sposta Autoload" + +#: tools/editor/editor_autoload_settings.cpp +msgid "Remove Autoload" +msgstr "Rimuovi Autoload" + +#: tools/editor/editor_autoload_settings.cpp +msgid "Enable" +msgstr "Abilita" + +#: tools/editor/editor_autoload_settings.cpp +#, fuzzy +msgid "Rearrange Autoloads" +msgstr "Rinomina Autoload" + +#: tools/editor/editor_autoload_settings.cpp +msgid "Node Name:" +msgstr "Nome Nodo:" + +#: tools/editor/editor_autoload_settings.cpp +#: tools/editor/io_plugins/editor_scene_import_plugin.cpp +#: tools/editor/plugins/sample_library_editor_plugin.cpp +#: tools/editor/project_manager.cpp +msgid "Name" +msgstr "Nome" + +#: tools/editor/editor_autoload_settings.cpp +msgid "Singleton" +msgstr "Singleton" + +#: tools/editor/editor_autoload_settings.cpp +msgid "List:" +msgstr "Lista:" + #: tools/editor/editor_data.cpp msgid "Updating Scene" msgstr "Aggiornamento Scena" @@ -1236,48 +1335,45 @@ msgstr "Scegli" #: tools/editor/editor_file_dialog.cpp msgid "Go Back" -msgstr "" +msgstr "Torna Indietro" #: tools/editor/editor_file_dialog.cpp msgid "Go Forward" -msgstr "" +msgstr "Vai Avanti" #: tools/editor/editor_file_dialog.cpp msgid "Go Up" -msgstr "" +msgstr "Vai Su" #: tools/editor/editor_file_dialog.cpp msgid "Refresh" -msgstr "" +msgstr "Aggiorna" #: tools/editor/editor_file_dialog.cpp msgid "Toggle Hidden Files" -msgstr "" +msgstr "Abilita File Nascosti" #: tools/editor/editor_file_dialog.cpp -#, fuzzy msgid "Toggle Favorite" -msgstr "Sposta Preferito Su" +msgstr "Attiva Preferito" #: tools/editor/editor_file_dialog.cpp -#, fuzzy msgid "Toggle Mode" -msgstr "Cambia a Commento" +msgstr "Modalità Attivazione" #: tools/editor/editor_file_dialog.cpp -#, fuzzy msgid "Focus Path" -msgstr "Copia Percorso" +msgstr "Percorso Di Fuoco" #: tools/editor/editor_file_dialog.cpp #, fuzzy -msgid "Mode Favorite Up" -msgstr "Sposta Preferito Su" +msgid "Move Favorite Up" +msgstr "Modalità Preferito Su" #: tools/editor/editor_file_dialog.cpp #, fuzzy -msgid "Mode Favorite Down" -msgstr "Sposta Preferito Giù" +msgid "Move Favorite Down" +msgstr "Modalità Preferito Giù" #: tools/editor/editor_file_dialog.cpp tools/editor/scenes_dock.cpp msgid "Favorites:" @@ -1299,14 +1395,18 @@ msgstr "Impossibile accedere alla subdirectory:" msgid "ScanSources" msgstr "ScansionaSorgenti" -#: tools/editor/editor_help.cpp -msgid "Search Classes" -msgstr "Cerca Classi" +#: tools/editor/editor_help.cpp tools/editor/plugins/script_editor_plugin.cpp +msgid "Search Help" +msgstr "Cerca Aiuto" #: tools/editor/editor_help.cpp msgid "Class List:" msgstr "Lista Classi:" +#: tools/editor/editor_help.cpp +msgid "Search Classes" +msgstr "Cerca Classi" + #: tools/editor/editor_help.cpp tools/editor/property_editor.cpp msgid "Class:" msgstr "Classe:" @@ -1404,10 +1504,6 @@ msgstr "Importo:" msgid "Node From Scene" msgstr "Nodo Da Scena" -#: tools/editor/editor_node.cpp tools/editor/scenes_dock.cpp -msgid "Re-Import.." -msgstr "Re-Importa.." - #: tools/editor/editor_node.cpp #: tools/editor/plugins/animation_player_editor_plugin.cpp #: tools/editor/resources_dock.cpp @@ -1533,37 +1629,34 @@ msgid "There is no defined scene to run." msgstr "Non c'è nessuna scena definita da eseguire." #: tools/editor/editor_node.cpp -#, fuzzy msgid "" "No main scene has ever been defined, select one?\n" "You can change it later in later in \"Project Settings\" under the " "'application' category." msgstr "" -"Nessuna scena principale è mai stata definita.\n" -"Selezionane una da \"Impostazioni Progetto\" sotto la categoria " -"'applicazioni'." +"Nessuna scena principale è mai stata definita, selezionarne una?\n" +"Puoi cambiarla successivamente da \"Impostazioni Progetto\" sotto la " +"categoria 'applicazioni'." #: tools/editor/editor_node.cpp -#, fuzzy msgid "" "Selected scene '%s' does not exist, select a valid one?\n" "You can change it later in \"Project Settings\" under the 'application' " "category." msgstr "" -"Nessuna scena principale è mai stata definita.\n" -"Selezionane una da \"Impostazioni Progetto\" sotto la categoria " -"'applicazioni'." +"La scena selezionata '%s' non esiste, sceglierne una valida?\n" +"Puoi cambiarla successivamente da \"Impostazioni Progetto\" sotto la " +"categoria 'applicazioni'." #: tools/editor/editor_node.cpp -#, fuzzy msgid "" "Selected scene '%s' is not a scene file, select a valid one?\n" "You can change it later in \"Project Settings\" under the 'application' " "category." msgstr "" -"Nessuna scena principale è mai stata definita.\n" -"Selezionane una da \"Impostazioni Progetto\" sotto la categoria " -"'applicazioni'." +"Las cena selezionata '%s non è un file scena, sceglierne una valida?\n" +"Puoi cambiarla successivamente da \"Impostazioni Progetto\" sotto la " +"categoria 'applicazioni'." #: tools/editor/editor_node.cpp msgid "Current scene was never saved, please save it prior to running." @@ -1661,8 +1754,8 @@ msgstr "" #: tools/editor/editor_node.cpp #, fuzzy -msgid "Pick a Manu Scene" -msgstr "Scena Principale" +msgid "Pick a Main Scene" +msgstr "Scegli una Scena Principale" #: tools/editor/editor_node.cpp tools/editor/scene_tree_dock.cpp msgid "Ugh" @@ -1727,14 +1820,12 @@ msgid "Distraction Free Mode" msgstr "Modalità Senza Distrazioni" #: tools/editor/editor_node.cpp -#, fuzzy msgid "Next tab" -msgstr "Successivo" +msgstr "Scheda successiva" #: tools/editor/editor_node.cpp -#, fuzzy msgid "Previous tab" -msgstr "Directory Precedente" +msgstr "Scheda precedente" #: tools/editor/editor_node.cpp msgid "Operations with scene files." @@ -1757,6 +1848,11 @@ msgid "Save Scene" msgstr "Salva Scena" #: tools/editor/editor_node.cpp +#, fuzzy +msgid "Save all Scenes" +msgstr "Salva Scena" + +#: tools/editor/editor_node.cpp msgid "Close Scene" msgstr "Chiudi Scena" @@ -1880,6 +1976,11 @@ msgid "Play custom scene" msgstr "Esegui scena personalizzata" #: tools/editor/editor_node.cpp +#, fuzzy +msgid "Play Custom Scene" +msgstr "Esegui scena personalizzata" + +#: tools/editor/editor_node.cpp msgid "Debug options" msgstr "Opzioni di Debug" @@ -2051,7 +2152,6 @@ msgid "Output" msgstr "Output" #: tools/editor/editor_node.cpp tools/editor/editor_reimport_dialog.cpp -#: tools/editor/import_settings.cpp msgid "Re-Import" msgstr "Re-Importa" @@ -2225,10 +2325,6 @@ msgstr "Aggiungi a Gruppo" msgid "Remove from Group" msgstr "Rimuovi da Gruppo" -#: tools/editor/import_settings.cpp -msgid "Imported Resources" -msgstr "Risorse Importate" - #: tools/editor/io_plugins/editor_bitmask_import_plugin.cpp msgid "No bit masks to import!" msgstr "Nessuna bit mask da importare!" @@ -2305,6 +2401,8 @@ msgid "" "Invalid file extension.\n" "Please use .fnt." msgstr "" +"Estensione file invalida.\n" +"Si prega di usare .fnt." #: tools/editor/io_plugins/editor_font_import_plugin.cpp msgid "Can't load/process source font." @@ -2440,12 +2538,6 @@ msgid "Clips" msgstr "Clips" #: tools/editor/io_plugins/editor_scene_import_plugin.cpp -#: tools/editor/plugins/sample_library_editor_plugin.cpp -#: tools/editor/project_manager.cpp tools/editor/project_settings.cpp -msgid "Name" -msgstr "Nome" - -#: tools/editor/io_plugins/editor_scene_import_plugin.cpp msgid "Start(s)" msgstr "Inizio(i)" @@ -2545,9 +2637,8 @@ msgid "Couldn't load post-import script:" msgstr "Impossibile caricare lo script di post-import:" #: tools/editor/io_plugins/editor_scene_import_plugin.cpp -#, fuzzy msgid "Invalid/broken script for post-import (check console):" -msgstr "Script di post-import invalido/non funzionante:" +msgstr "Script di post-import invalido/non funzionante (controllare console):" #: tools/editor/io_plugins/editor_scene_import_plugin.cpp msgid "Error running post-import script:" @@ -3414,8 +3505,9 @@ msgid "Anchor" msgstr "Ancora" #: tools/editor/plugins/canvas_item_editor_plugin.cpp -msgid "Insert Keys (Ins)" -msgstr "Inserisci Keys (Ins)" +#, fuzzy +msgid "Insert Keys" +msgstr "Inserisci Key" #: tools/editor/plugins/canvas_item_editor_plugin.cpp msgid "Insert Key" @@ -3589,7 +3681,7 @@ msgstr "MeshInstance manca di una Mesh!" #: tools/editor/plugins/mesh_instance_editor_plugin.cpp msgid "Mesh has not surface to create outlines from!" -msgstr "" +msgstr "La mesh non ha superficie dalla quale creare un'outline!" #: tools/editor/plugins/mesh_instance_editor_plugin.cpp msgid "Could not create outline!" @@ -3955,6 +4047,7 @@ msgid "Clear UV" msgstr "Cancella UV" #: tools/editor/plugins/polygon_2d_editor_plugin.cpp +#: tools/editor/plugins/spatial_editor_plugin.cpp msgid "Snap" msgstr "Snap" @@ -4070,6 +4163,16 @@ msgid "Save Theme As.." msgstr "Salva Tema Come.." #: tools/editor/plugins/script_editor_plugin.cpp +#, fuzzy +msgid "Next script" +msgstr "Crea Script" + +#: tools/editor/plugins/script_editor_plugin.cpp +#, fuzzy +msgid "Previous script" +msgstr "Scheda precedente" + +#: tools/editor/plugins/script_editor_plugin.cpp #: tools/editor/project_export.cpp msgid "File" msgstr "File" @@ -4255,10 +4358,6 @@ msgid "Search the class hierarchy." msgstr "Cerca nella gerarchia delle classi." #: tools/editor/plugins/script_editor_plugin.cpp -msgid "Search Help" -msgstr "Cerca Aiuto" - -#: tools/editor/plugins/script_editor_plugin.cpp msgid "Search the reference documentation." msgstr "Cerca Riferimenti nella documentazione." @@ -4295,6 +4394,11 @@ msgstr "Risalva" msgid "Debugger" msgstr "Debugger" +#: tools/editor/plugins/script_editor_plugin.cpp +msgid "" +"Built-in scripts can only be edited when the scene they belong to is loaded" +msgstr "" + #: tools/editor/plugins/shader_editor_plugin.cpp msgid "Vertex" msgstr "Vertice" @@ -4528,76 +4632,85 @@ msgid "Align with view" msgstr "Allinea a vista" #: tools/editor/plugins/spatial_editor_plugin.cpp -msgid "Top (Num7)" -msgstr "Alto (Num7)" +msgid "Environment" +msgstr "Ambientazione" #: tools/editor/plugins/spatial_editor_plugin.cpp -msgid "Bottom (Shift+Num7)" -msgstr "Basso (Shift+Num7)" +msgid "Audio Listener" +msgstr "Audio Listener" #: tools/editor/plugins/spatial_editor_plugin.cpp -msgid "Left (Num3)" -msgstr "Sinistra (Num3)" +msgid "Gizmos" +msgstr "Gizmos" #: tools/editor/plugins/spatial_editor_plugin.cpp -msgid "Right (Shift+Num3)" -msgstr "Destra (Shift+Num3)" +msgid "XForm Dialog" +msgstr "Finestra di XForm" #: tools/editor/plugins/spatial_editor_plugin.cpp -msgid "Front (Num1)" -msgstr "Fronte (Num1)" +msgid "No scene selected to instance!" +msgstr "Nessuna scena da istanziare selezionata!" #: tools/editor/plugins/spatial_editor_plugin.cpp -msgid "Rear (Shift+Num1)" -msgstr "Retro (Shift+Num1)" +msgid "Instance at Cursor" +msgstr "Istanzia a Cursore" #: tools/editor/plugins/spatial_editor_plugin.cpp -msgid "Perspective (Num5)" -msgstr "Prospettiva (Num5)" +msgid "Could not instance scene!" +msgstr "Impossibile istanziare la scena!" #: tools/editor/plugins/spatial_editor_plugin.cpp -msgid "Orthogonal (Num5)" -msgstr "Ortogonale (Num5)" +msgid "Scale Mode (R)" +msgstr "Modalità Scala (R)" #: tools/editor/plugins/spatial_editor_plugin.cpp -msgid "Environment" -msgstr "Ambientazione" +#, fuzzy +msgid "Bottom View" +msgstr "Vista dal Basso." #: tools/editor/plugins/spatial_editor_plugin.cpp -msgid "Audio Listener" -msgstr "Audio Listener" +#, fuzzy +msgid "Top View" +msgstr "Vista dall'Alto." #: tools/editor/plugins/spatial_editor_plugin.cpp -msgid "Gizmos" -msgstr "Gizmos" +#, fuzzy +msgid "Rear View" +msgstr "Vista dal Retro." #: tools/editor/plugins/spatial_editor_plugin.cpp -msgid "Selection (F)" -msgstr "Selezione (F)" +#, fuzzy +msgid "Front View" +msgstr "Vista Frontale." #: tools/editor/plugins/spatial_editor_plugin.cpp -msgid "Align with view (Ctrl+Shift+F)" -msgstr "Allinea con vista (Ctrl+Shift+F)" +#, fuzzy +msgid "Left View" +msgstr "Vista Sinistra." #: tools/editor/plugins/spatial_editor_plugin.cpp -msgid "XForm Dialog" -msgstr "Finestra di XForm" +#, fuzzy +msgid "Right View" +msgstr "Vista Destra." #: tools/editor/plugins/spatial_editor_plugin.cpp -msgid "No scene selected to instance!" -msgstr "Nessuna scena da istanziare selezionata!" +msgid "Switch Perspective/Orthogonal view" +msgstr "" #: tools/editor/plugins/spatial_editor_plugin.cpp -msgid "Instance at Cursor" -msgstr "Istanzia a Cursore" +#, fuzzy +msgid "Insert Animation Key" +msgstr "Incolla Animazione" #: tools/editor/plugins/spatial_editor_plugin.cpp -msgid "Could not instance scene!" -msgstr "Impossibile istanziare la scena!" +#, fuzzy +msgid "Focus Selection" +msgstr "Scala Selezione" #: tools/editor/plugins/spatial_editor_plugin.cpp -msgid "Scale Mode (R)" -msgstr "Modalità Scala (R)" +#, fuzzy +msgid "Align Selection With View" +msgstr "Allinea a vista" #: tools/editor/plugins/spatial_editor_plugin.cpp msgid "Transform" @@ -4800,47 +4913,40 @@ msgid "StyleBox Preview:" msgstr "Anteprima StyleBox:" #: tools/editor/plugins/texture_region_editor_plugin.cpp -#, fuzzy msgid "Snap Mode:" -msgstr "Modalità esecuzione:" +msgstr "Modalità Snap:" #: tools/editor/plugins/texture_region_editor_plugin.cpp msgid "<None>" -msgstr "" +msgstr "<Nessuno>" #: tools/editor/plugins/texture_region_editor_plugin.cpp -#, fuzzy msgid "Pixel Snap" -msgstr "Usa Snap a Pixel" +msgstr "Snap a Pixel" #: tools/editor/plugins/texture_region_editor_plugin.cpp -#, fuzzy msgid "Grid Snap" -msgstr "Step Griglia:" +msgstr "Snap Griglia" #: tools/editor/plugins/texture_region_editor_plugin.cpp msgid "Auto Slice" -msgstr "" +msgstr "Auto Divisione" #: tools/editor/plugins/texture_region_editor_plugin.cpp -#, fuzzy msgid "Offset:" -msgstr "Offset Griglia:" +msgstr "Offset:" #: tools/editor/plugins/texture_region_editor_plugin.cpp -#, fuzzy msgid "Step:" -msgstr "Step (s):" +msgstr "Step:" #: tools/editor/plugins/texture_region_editor_plugin.cpp -#, fuzzy msgid "Separation:" -msgstr "Sezioni:" +msgstr "Separazione:" #: tools/editor/plugins/texture_region_editor_plugin.cpp -#, fuzzy msgid "Texture Region" -msgstr "Editor Regioni Texture" +msgstr "Regione Texture" #: tools/editor/plugins/texture_region_editor_plugin.cpp msgid "Texture Region Editor" @@ -5329,6 +5435,17 @@ msgid "Couldn't create engine.cfg in project path." msgstr "Impossibile creare engine.cfg nel percorso di progetto." #: tools/editor/project_manager.cpp +#, fuzzy +msgid "The following files failed extraction from package:" +msgstr "" +"I file seguenti sono più recenti su disco.\n" +"Che azione deve essere intrapresa?:" + +#: tools/editor/project_manager.cpp +msgid "Package Installed Successfully!" +msgstr "" + +#: tools/editor/project_manager.cpp msgid "Import Existing Project" msgstr "Importa Progetto Esistente" @@ -5349,6 +5466,16 @@ msgid "Project Path:" msgstr "Percorso Progetto:" #: tools/editor/project_manager.cpp +#, fuzzy +msgid "Install Project:" +msgstr "Progetti Recenti:" + +#: tools/editor/project_manager.cpp +#, fuzzy +msgid "Install" +msgstr "Istanza" + +#: tools/editor/project_manager.cpp msgid "Browse" msgstr "Sfoglia" @@ -5515,56 +5642,6 @@ msgid "Add Translation" msgstr "Aggiungi Traduzione" #: tools/editor/project_settings.cpp -msgid "Invalid name." -msgstr "Nome Invalido." - -#: tools/editor/project_settings.cpp -msgid "Valid characters:" -msgstr "Caratteri validi:" - -#: tools/editor/project_settings.cpp -msgid "Invalid name. Must not collide with an existing engine class name." -msgstr "" -"Nome invalido. Non deve essere in conflitto con un nome di classe di engine " -"esistente." - -#: tools/editor/project_settings.cpp -msgid "Invalid name. Must not collide with an existing buit-in type name." -msgstr "" -"Nome invalido. Non deve essere in conflitto con un nome di tipo built-in " -"esistente." - -#: tools/editor/project_settings.cpp -msgid "Invalid name. Must not collide with an existing global constant name." -msgstr "" -"Nome invalido. Non deve essere in conflitto con un nome di una costante " -"globale esistente." - -#: tools/editor/project_settings.cpp -msgid "Autoload '%s' already exists!" -msgstr "Autoload '%s' esiste già!" - -#: tools/editor/project_settings.cpp -msgid "Rename Autoload" -msgstr "Rinomina Autoload" - -#: tools/editor/project_settings.cpp -msgid "Toggle AutoLoad Globals" -msgstr "Abilita AutoLoad Globals" - -#: tools/editor/project_settings.cpp -msgid "Add Autoload" -msgstr "Aggiungi Autoload" - -#: tools/editor/project_settings.cpp -msgid "Remove Autoload" -msgstr "Rimuovi Autoload" - -#: tools/editor/project_settings.cpp -msgid "Move Autoload" -msgstr "Sposta Autoload" - -#: tools/editor/project_settings.cpp msgid "Remove Translation" msgstr "Rimuovi Traduzione" @@ -5589,10 +5666,6 @@ msgid "Remove Resource Remap Option" msgstr "Rimuovi Opzione di Remap Rimorse" #: tools/editor/project_settings.cpp -msgid "Enable" -msgstr "Abilita" - -#: tools/editor/project_settings.cpp msgid "Project Settings (engine.cfg)" msgstr "Impostazioni Progetto (engine.cfg)" @@ -5665,18 +5738,6 @@ msgid "AutoLoad" msgstr "AutoLoad" #: tools/editor/project_settings.cpp -msgid "Node Name:" -msgstr "Nome Nodo:" - -#: tools/editor/project_settings.cpp -msgid "List:" -msgstr "Lista:" - -#: tools/editor/project_settings.cpp -msgid "Singleton" -msgstr "Singleton" - -#: tools/editor/project_settings.cpp msgid "Plugins" msgstr "Plugins" @@ -6091,6 +6152,10 @@ msgid "Show In File Manager" msgstr "Mostra nel File Manager" #: tools/editor/scenes_dock.cpp +msgid "Re-Import.." +msgstr "Re-Importa.." + +#: tools/editor/scenes_dock.cpp msgid "Previous Directory" msgstr "Directory Precedente" @@ -6350,6 +6415,42 @@ msgstr "Cambia lunghezza Ray Shape" msgid "Change Notifier Extents" msgstr "Cambia Estensione di Notifier" +#~ msgid "Imported Resources" +#~ msgstr "Risorse Importate" + +#~ msgid "Insert Keys (Ins)" +#~ msgstr "Inserisci Keys (Ins)" + +#~ msgid "Top (Num7)" +#~ msgstr "Alto (Num7)" + +#~ msgid "Bottom (Shift+Num7)" +#~ msgstr "Basso (Shift+Num7)" + +#~ msgid "Left (Num3)" +#~ msgstr "Sinistra (Num3)" + +#~ msgid "Right (Shift+Num3)" +#~ msgstr "Destra (Shift+Num3)" + +#~ msgid "Front (Num1)" +#~ msgstr "Fronte (Num1)" + +#~ msgid "Rear (Shift+Num1)" +#~ msgstr "Retro (Shift+Num1)" + +#~ msgid "Perspective (Num5)" +#~ msgstr "Prospettiva (Num5)" + +#~ msgid "Orthogonal (Num5)" +#~ msgstr "Ortogonale (Num5)" + +#~ msgid "Selection (F)" +#~ msgstr "Selezione (F)" + +#~ msgid "Align with view (Ctrl+Shift+F)" +#~ msgstr "Allinea con vista (Ctrl+Shift+F)" + #~ msgid "Change Anim Loop Interpolation" #~ msgstr "Cambia Interpolazione Loop Animazione" @@ -6408,9 +6509,6 @@ msgstr "Cambia Estensione di Notifier" #~ msgid "Set region_rect" #~ msgstr "Imposta region_rect" -#~ msgid "Recent Projects:" -#~ msgstr "Progetti Recenti:" - #~ msgid "Plugin List:" #~ msgstr "Lista Plugin:" diff --git a/tools/translations/ja.po b/tools/translations/ja.po index 4b6a1c8a28..244f0790e4 100644 --- a/tools/translations/ja.po +++ b/tools/translations/ja.po @@ -285,9 +285,10 @@ msgstr "ファイルを保存" msgid "Create Folder" msgstr "" -#: scene/gui/file_dialog.cpp tools/editor/editor_file_dialog.cpp +#: scene/gui/file_dialog.cpp tools/editor/editor_autoload_settings.cpp +#: tools/editor/editor_file_dialog.cpp #: tools/editor/io_plugins/editor_font_import_plugin.cpp -#: tools/editor/project_settings.cpp tools/editor/script_create_dialog.cpp +#: tools/editor/script_create_dialog.cpp msgid "Path:" msgstr "" @@ -480,19 +481,19 @@ msgid "Anim Add Track" msgstr "" #: tools/editor/animation_editor.cpp -msgid "Move Anim Track Up" +msgid "Anim Duplicate Keys" msgstr "" #: tools/editor/animation_editor.cpp -msgid "Move Anim Track Down" +msgid "Move Anim Track Up" msgstr "" #: tools/editor/animation_editor.cpp -msgid "Remove Anim Track" +msgid "Move Anim Track Down" msgstr "" #: tools/editor/animation_editor.cpp -msgid "Anim Duplicate Keys" +msgid "Remove Anim Track" msgstr "" #: tools/editor/animation_editor.cpp @@ -524,6 +525,19 @@ msgid "Anim Delete Keys" msgstr "" #: tools/editor/animation_editor.cpp +#: tools/editor/plugins/tile_map_editor_plugin.cpp +msgid "Duplicate Selection" +msgstr "" + +#: tools/editor/animation_editor.cpp +msgid "Duplicate Transposed" +msgstr "" + +#: tools/editor/animation_editor.cpp +msgid "Remove Selection" +msgstr "" + +#: tools/editor/animation_editor.cpp msgid "Continuous" msgstr "" @@ -552,15 +566,6 @@ msgid "Scale From Cursor" msgstr "" #: tools/editor/animation_editor.cpp -#: tools/editor/plugins/tile_map_editor_plugin.cpp -msgid "Duplicate Selection" -msgstr "" - -#: tools/editor/animation_editor.cpp -msgid "Duplicate Transposed" -msgstr "" - -#: tools/editor/animation_editor.cpp msgid "Goto Next Step" msgstr "" @@ -831,7 +836,6 @@ msgid "Call" msgstr "" #: tools/editor/call_dialog.cpp tools/editor/connections_dialog.cpp -#: tools/editor/import_settings.cpp #: tools/editor/plugins/animation_player_editor_plugin.cpp #: tools/editor/plugins/canvas_item_editor_plugin.cpp #: tools/editor/plugins/resource_preloader_editor_plugin.cpp @@ -950,7 +954,8 @@ msgstr "" msgid "Connect To Node:" msgstr "" -#: tools/editor/connections_dialog.cpp tools/editor/groups_editor.cpp +#: tools/editor/connections_dialog.cpp +#: tools/editor/editor_autoload_settings.cpp tools/editor/groups_editor.cpp #: tools/editor/plugins/item_list_editor_plugin.cpp #: tools/editor/plugins/theme_editor_plugin.cpp #: tools/editor/project_settings.cpp @@ -1054,8 +1059,8 @@ msgstr "" msgid "Resource" msgstr "" -#: tools/editor/dependency_editor.cpp tools/editor/project_manager.cpp -#: tools/editor/project_settings.cpp +#: tools/editor/dependency_editor.cpp tools/editor/editor_autoload_settings.cpp +#: tools/editor/project_manager.cpp tools/editor/project_settings.cpp msgid "Path" msgstr "" @@ -1140,6 +1145,89 @@ msgstr "" msgid "Delete" msgstr "" +#: tools/editor/editor_autoload_settings.cpp +msgid "Invalid name." +msgstr "" + +#: tools/editor/editor_autoload_settings.cpp +msgid "Valid characters:" +msgstr "" + +#: tools/editor/editor_autoload_settings.cpp +msgid "Invalid name. Must not collide with an existing engine class name." +msgstr "" + +#: tools/editor/editor_autoload_settings.cpp +msgid "Invalid name. Must not collide with an existing buit-in type name." +msgstr "" + +#: tools/editor/editor_autoload_settings.cpp +msgid "Invalid name. Must not collide with an existing global constant name." +msgstr "" + +#: tools/editor/editor_autoload_settings.cpp +msgid "Invalid Path." +msgstr "" + +#: tools/editor/editor_autoload_settings.cpp +msgid "File does not exist." +msgstr "" + +#: tools/editor/editor_autoload_settings.cpp +msgid "Not in resource path." +msgstr "" + +#: tools/editor/editor_autoload_settings.cpp +msgid "Add AutoLoad" +msgstr "" + +#: tools/editor/editor_autoload_settings.cpp +msgid "Autoload '%s' already exists!" +msgstr "" + +#: tools/editor/editor_autoload_settings.cpp +msgid "Rename Autoload" +msgstr "" + +#: tools/editor/editor_autoload_settings.cpp +msgid "Toggle AutoLoad Globals" +msgstr "" + +#: tools/editor/editor_autoload_settings.cpp +msgid "Move Autoload" +msgstr "" + +#: tools/editor/editor_autoload_settings.cpp +msgid "Remove Autoload" +msgstr "" + +#: tools/editor/editor_autoload_settings.cpp +msgid "Enable" +msgstr "" + +#: tools/editor/editor_autoload_settings.cpp +msgid "Rearrange Autoloads" +msgstr "" + +#: tools/editor/editor_autoload_settings.cpp +msgid "Node Name:" +msgstr "" + +#: tools/editor/editor_autoload_settings.cpp +#: tools/editor/io_plugins/editor_scene_import_plugin.cpp +#: tools/editor/plugins/sample_library_editor_plugin.cpp +#: tools/editor/project_manager.cpp +msgid "Name" +msgstr "" + +#: tools/editor/editor_autoload_settings.cpp +msgid "Singleton" +msgstr "" + +#: tools/editor/editor_autoload_settings.cpp +msgid "List:" +msgstr "" + #: tools/editor/editor_data.cpp msgid "Updating Scene" msgstr "" @@ -1193,11 +1281,11 @@ msgid "Focus Path" msgstr "" #: tools/editor/editor_file_dialog.cpp -msgid "Mode Favorite Up" +msgid "Move Favorite Up" msgstr "" #: tools/editor/editor_file_dialog.cpp -msgid "Mode Favorite Down" +msgid "Move Favorite Down" msgstr "" #: tools/editor/editor_file_dialog.cpp tools/editor/scenes_dock.cpp @@ -1220,14 +1308,18 @@ msgstr "" msgid "ScanSources" msgstr "" -#: tools/editor/editor_help.cpp -msgid "Search Classes" +#: tools/editor/editor_help.cpp tools/editor/plugins/script_editor_plugin.cpp +msgid "Search Help" msgstr "" #: tools/editor/editor_help.cpp msgid "Class List:" msgstr "" +#: tools/editor/editor_help.cpp +msgid "Search Classes" +msgstr "" + #: tools/editor/editor_help.cpp tools/editor/property_editor.cpp msgid "Class:" msgstr "" @@ -1325,10 +1417,6 @@ msgstr "" msgid "Node From Scene" msgstr "" -#: tools/editor/editor_node.cpp tools/editor/scenes_dock.cpp -msgid "Re-Import.." -msgstr "" - #: tools/editor/editor_node.cpp #: tools/editor/plugins/animation_player_editor_plugin.cpp #: tools/editor/resources_dock.cpp @@ -1563,7 +1651,7 @@ msgid "" msgstr "" #: tools/editor/editor_node.cpp -msgid "Pick a Manu Scene" +msgid "Pick a Main Scene" msgstr "" #: tools/editor/editor_node.cpp tools/editor/scene_tree_dock.cpp @@ -1654,6 +1742,11 @@ msgid "Save Scene" msgstr "" #: tools/editor/editor_node.cpp +#, fuzzy +msgid "Save all Scenes" +msgstr "ファイルを保存" + +#: tools/editor/editor_node.cpp msgid "Close Scene" msgstr "" @@ -1777,6 +1870,10 @@ msgid "Play custom scene" msgstr "" #: tools/editor/editor_node.cpp +msgid "Play Custom Scene" +msgstr "" + +#: tools/editor/editor_node.cpp msgid "Debug options" msgstr "" @@ -1929,7 +2026,6 @@ msgid "Output" msgstr "" #: tools/editor/editor_node.cpp tools/editor/editor_reimport_dialog.cpp -#: tools/editor/import_settings.cpp msgid "Re-Import" msgstr "" @@ -2101,10 +2197,6 @@ msgstr "" msgid "Remove from Group" msgstr "" -#: tools/editor/import_settings.cpp -msgid "Imported Resources" -msgstr "" - #: tools/editor/io_plugins/editor_bitmask_import_plugin.cpp msgid "No bit masks to import!" msgstr "" @@ -2313,12 +2405,6 @@ msgid "Clips" msgstr "" #: tools/editor/io_plugins/editor_scene_import_plugin.cpp -#: tools/editor/plugins/sample_library_editor_plugin.cpp -#: tools/editor/project_manager.cpp tools/editor/project_settings.cpp -msgid "Name" -msgstr "" - -#: tools/editor/io_plugins/editor_scene_import_plugin.cpp msgid "Start(s)" msgstr "" @@ -3278,7 +3364,7 @@ msgid "Anchor" msgstr "" #: tools/editor/plugins/canvas_item_editor_plugin.cpp -msgid "Insert Keys (Ins)" +msgid "Insert Keys" msgstr "" #: tools/editor/plugins/canvas_item_editor_plugin.cpp @@ -3817,6 +3903,7 @@ msgid "Clear UV" msgstr "" #: tools/editor/plugins/polygon_2d_editor_plugin.cpp +#: tools/editor/plugins/spatial_editor_plugin.cpp msgid "Snap" msgstr "" @@ -3932,6 +4019,14 @@ msgid "Save Theme As.." msgstr "" #: tools/editor/plugins/script_editor_plugin.cpp +msgid "Next script" +msgstr "" + +#: tools/editor/plugins/script_editor_plugin.cpp +msgid "Previous script" +msgstr "" + +#: tools/editor/plugins/script_editor_plugin.cpp #: tools/editor/project_export.cpp msgid "File" msgstr "" @@ -4117,10 +4212,6 @@ msgid "Search the class hierarchy." msgstr "" #: tools/editor/plugins/script_editor_plugin.cpp -msgid "Search Help" -msgstr "" - -#: tools/editor/plugins/script_editor_plugin.cpp msgid "Search the reference documentation." msgstr "" @@ -4155,6 +4246,11 @@ msgstr "" msgid "Debugger" msgstr "" +#: tools/editor/plugins/script_editor_plugin.cpp +msgid "" +"Built-in scripts can only be edited when the scene they belong to is loaded" +msgstr "" + #: tools/editor/plugins/shader_editor_plugin.cpp msgid "Vertex" msgstr "" @@ -4388,75 +4484,75 @@ msgid "Align with view" msgstr "" #: tools/editor/plugins/spatial_editor_plugin.cpp -msgid "Top (Num7)" +msgid "Environment" msgstr "" #: tools/editor/plugins/spatial_editor_plugin.cpp -msgid "Bottom (Shift+Num7)" +msgid "Audio Listener" msgstr "" #: tools/editor/plugins/spatial_editor_plugin.cpp -msgid "Left (Num3)" +msgid "Gizmos" msgstr "" #: tools/editor/plugins/spatial_editor_plugin.cpp -msgid "Right (Shift+Num3)" +msgid "XForm Dialog" msgstr "" #: tools/editor/plugins/spatial_editor_plugin.cpp -msgid "Front (Num1)" +msgid "No scene selected to instance!" msgstr "" #: tools/editor/plugins/spatial_editor_plugin.cpp -msgid "Rear (Shift+Num1)" +msgid "Instance at Cursor" msgstr "" #: tools/editor/plugins/spatial_editor_plugin.cpp -msgid "Perspective (Num5)" +msgid "Could not instance scene!" msgstr "" #: tools/editor/plugins/spatial_editor_plugin.cpp -msgid "Orthogonal (Num5)" +msgid "Scale Mode (R)" msgstr "" #: tools/editor/plugins/spatial_editor_plugin.cpp -msgid "Environment" +msgid "Bottom View" msgstr "" #: tools/editor/plugins/spatial_editor_plugin.cpp -msgid "Audio Listener" +msgid "Top View" msgstr "" #: tools/editor/plugins/spatial_editor_plugin.cpp -msgid "Gizmos" +msgid "Rear View" msgstr "" #: tools/editor/plugins/spatial_editor_plugin.cpp -msgid "Selection (F)" +msgid "Front View" msgstr "" #: tools/editor/plugins/spatial_editor_plugin.cpp -msgid "Align with view (Ctrl+Shift+F)" +msgid "Left View" msgstr "" #: tools/editor/plugins/spatial_editor_plugin.cpp -msgid "XForm Dialog" +msgid "Right View" msgstr "" #: tools/editor/plugins/spatial_editor_plugin.cpp -msgid "No scene selected to instance!" +msgid "Switch Perspective/Orthogonal view" msgstr "" #: tools/editor/plugins/spatial_editor_plugin.cpp -msgid "Instance at Cursor" +msgid "Insert Animation Key" msgstr "" #: tools/editor/plugins/spatial_editor_plugin.cpp -msgid "Could not instance scene!" +msgid "Focus Selection" msgstr "" #: tools/editor/plugins/spatial_editor_plugin.cpp -msgid "Scale Mode (R)" +msgid "Align Selection With View" msgstr "" #: tools/editor/plugins/spatial_editor_plugin.cpp @@ -5178,6 +5274,14 @@ msgid "Couldn't create engine.cfg in project path." msgstr "" #: tools/editor/project_manager.cpp +msgid "The following files failed extraction from package:" +msgstr "" + +#: tools/editor/project_manager.cpp +msgid "Package Installed Successfully!" +msgstr "" + +#: tools/editor/project_manager.cpp msgid "Import Existing Project" msgstr "" @@ -5198,6 +5302,14 @@ msgid "Project Path:" msgstr "" #: tools/editor/project_manager.cpp +msgid "Install Project:" +msgstr "" + +#: tools/editor/project_manager.cpp +msgid "Install" +msgstr "" + +#: tools/editor/project_manager.cpp msgid "Browse" msgstr "" @@ -5362,50 +5474,6 @@ msgid "Add Translation" msgstr "" #: tools/editor/project_settings.cpp -msgid "Invalid name." -msgstr "" - -#: tools/editor/project_settings.cpp -msgid "Valid characters:" -msgstr "" - -#: tools/editor/project_settings.cpp -msgid "Invalid name. Must not collide with an existing engine class name." -msgstr "" - -#: tools/editor/project_settings.cpp -msgid "Invalid name. Must not collide with an existing buit-in type name." -msgstr "" - -#: tools/editor/project_settings.cpp -msgid "Invalid name. Must not collide with an existing global constant name." -msgstr "" - -#: tools/editor/project_settings.cpp -msgid "Autoload '%s' already exists!" -msgstr "" - -#: tools/editor/project_settings.cpp -msgid "Rename Autoload" -msgstr "" - -#: tools/editor/project_settings.cpp -msgid "Toggle AutoLoad Globals" -msgstr "" - -#: tools/editor/project_settings.cpp -msgid "Add Autoload" -msgstr "" - -#: tools/editor/project_settings.cpp -msgid "Remove Autoload" -msgstr "" - -#: tools/editor/project_settings.cpp -msgid "Move Autoload" -msgstr "" - -#: tools/editor/project_settings.cpp msgid "Remove Translation" msgstr "" @@ -5430,10 +5498,6 @@ msgid "Remove Resource Remap Option" msgstr "" #: tools/editor/project_settings.cpp -msgid "Enable" -msgstr "" - -#: tools/editor/project_settings.cpp msgid "Project Settings (engine.cfg)" msgstr "" @@ -5506,18 +5570,6 @@ msgid "AutoLoad" msgstr "" #: tools/editor/project_settings.cpp -msgid "Node Name:" -msgstr "" - -#: tools/editor/project_settings.cpp -msgid "List:" -msgstr "" - -#: tools/editor/project_settings.cpp -msgid "Singleton" -msgstr "" - -#: tools/editor/project_settings.cpp msgid "Plugins" msgstr "" @@ -5922,6 +5974,10 @@ msgid "Show In File Manager" msgstr "" #: tools/editor/scenes_dock.cpp +msgid "Re-Import.." +msgstr "" + +#: tools/editor/scenes_dock.cpp msgid "Previous Directory" msgstr "" diff --git a/tools/translations/ko.po b/tools/translations/ko.po index 07c68ef992..0e174ea054 100644 --- a/tools/translations/ko.po +++ b/tools/translations/ko.po @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine editor\n" "POT-Creation-Date: \n" -"PO-Revision-Date: 2016-06-19 13:30+0000\n" +"PO-Revision-Date: 2016-06-28 11:49+0000\n" "Last-Translator: 박한얼 <volzhs@gmail.com>\n" "Language-Team: Korean <https://hosted.weblate.org/projects/godot-engine/" "godot/ko/>\n" @@ -326,9 +326,10 @@ msgstr "파일로 저장하기" msgid "Create Folder" msgstr "폴더 생성" -#: scene/gui/file_dialog.cpp tools/editor/editor_file_dialog.cpp +#: scene/gui/file_dialog.cpp tools/editor/editor_autoload_settings.cpp +#: tools/editor/editor_file_dialog.cpp #: tools/editor/io_plugins/editor_font_import_plugin.cpp -#: tools/editor/project_settings.cpp tools/editor/script_create_dialog.cpp +#: tools/editor/script_create_dialog.cpp msgid "Path:" msgstr "경로:" @@ -527,6 +528,10 @@ msgid "Anim Add Track" msgstr "트랙 추가" #: tools/editor/animation_editor.cpp +msgid "Anim Duplicate Keys" +msgstr "키 복제" + +#: tools/editor/animation_editor.cpp msgid "Move Anim Track Up" msgstr "트랙 위로 이동" @@ -539,10 +544,6 @@ msgid "Remove Anim Track" msgstr "트랙 삭제" #: tools/editor/animation_editor.cpp -msgid "Anim Duplicate Keys" -msgstr "키 복제" - -#: tools/editor/animation_editor.cpp msgid "Set Transitions to:" msgstr "전환 설정:" @@ -571,6 +572,20 @@ msgid "Anim Delete Keys" msgstr "키 삭제" #: tools/editor/animation_editor.cpp +#: tools/editor/plugins/tile_map_editor_plugin.cpp +msgid "Duplicate Selection" +msgstr "선택키 복제" + +#: tools/editor/animation_editor.cpp +msgid "Duplicate Transposed" +msgstr "선택된 트랙에 복제" + +#: tools/editor/animation_editor.cpp +#, fuzzy +msgid "Remove Selection" +msgstr "선택항목 화면 꽉차게 표시" + +#: tools/editor/animation_editor.cpp msgid "Continuous" msgstr "연속적인" @@ -599,15 +614,6 @@ msgid "Scale From Cursor" msgstr "커서 위치에서 스케일 조절" #: tools/editor/animation_editor.cpp -#: tools/editor/plugins/tile_map_editor_plugin.cpp -msgid "Duplicate Selection" -msgstr "선택키 복제" - -#: tools/editor/animation_editor.cpp -msgid "Duplicate Transposed" -msgstr "선택된 트랙에 복제" - -#: tools/editor/animation_editor.cpp msgid "Goto Next Step" msgstr "다음 스텝으로 이동" @@ -878,7 +884,6 @@ msgid "Call" msgstr "호출" #: tools/editor/call_dialog.cpp tools/editor/connections_dialog.cpp -#: tools/editor/import_settings.cpp #: tools/editor/plugins/animation_player_editor_plugin.cpp #: tools/editor/plugins/canvas_item_editor_plugin.cpp #: tools/editor/plugins/resource_preloader_editor_plugin.cpp @@ -994,11 +999,11 @@ msgid "Method in target Node must be specified!" msgstr "대상 노드의 함수를 명시해야합니다!" #: tools/editor/connections_dialog.cpp -#, fuzzy msgid "Connect To Node:" msgstr "연결할 노드:" -#: tools/editor/connections_dialog.cpp tools/editor/groups_editor.cpp +#: tools/editor/connections_dialog.cpp +#: tools/editor/editor_autoload_settings.cpp tools/editor/groups_editor.cpp #: tools/editor/plugins/item_list_editor_plugin.cpp #: tools/editor/plugins/theme_editor_plugin.cpp #: tools/editor/project_settings.cpp @@ -1106,8 +1111,8 @@ msgstr "종속 관계" msgid "Resource" msgstr "리소스" -#: tools/editor/dependency_editor.cpp tools/editor/project_manager.cpp -#: tools/editor/project_settings.cpp +#: tools/editor/dependency_editor.cpp tools/editor/editor_autoload_settings.cpp +#: tools/editor/project_manager.cpp tools/editor/project_settings.cpp msgid "Path" msgstr "경로" @@ -1194,6 +1199,96 @@ msgstr "선택된 파일들을 삭제하시겠습니까?" msgid "Delete" msgstr "삭제" +#: tools/editor/editor_autoload_settings.cpp +msgid "Invalid name." +msgstr "유효하지 않은 이름." + +#: tools/editor/editor_autoload_settings.cpp +msgid "Valid characters:" +msgstr "유효한 문자:" + +#: tools/editor/editor_autoload_settings.cpp +msgid "Invalid name. Must not collide with an existing engine class name." +msgstr "" +"유효하지 않은 이름입니다. 엔진에 존재하는 클래스 이름과 충돌하지 않아야 합니" +"다." + +#: tools/editor/editor_autoload_settings.cpp +msgid "Invalid name. Must not collide with an existing buit-in type name." +msgstr "유효하지 않은 이름입니다. 내장 타입 이름과 충돌하지 않아야 합니다." + +#: tools/editor/editor_autoload_settings.cpp +msgid "Invalid name. Must not collide with an existing global constant name." +msgstr "유효하지 않은 이름입니다. 전역 상수 이름과 충돌하지 않아야 합니다." + +#: tools/editor/editor_autoload_settings.cpp +#, fuzzy +msgid "Invalid Path." +msgstr "경로가 유효하지 않습니다!" + +#: tools/editor/editor_autoload_settings.cpp +#, fuzzy +msgid "File does not exist." +msgstr "파일이 존재함" + +#: tools/editor/editor_autoload_settings.cpp +#, fuzzy +msgid "Not in resource path." +msgstr "리소스 경로" + +#: tools/editor/editor_autoload_settings.cpp +#, fuzzy +msgid "Add AutoLoad" +msgstr "자동 로드 추가" + +#: tools/editor/editor_autoload_settings.cpp +msgid "Autoload '%s' already exists!" +msgstr "자동로드에 '%s'이(가) 이미 존재합니다!" + +#: tools/editor/editor_autoload_settings.cpp +msgid "Rename Autoload" +msgstr "자동 로드 이름 변경" + +#: tools/editor/editor_autoload_settings.cpp +msgid "Toggle AutoLoad Globals" +msgstr "자동로드 글로벌 토글" + +#: tools/editor/editor_autoload_settings.cpp +msgid "Move Autoload" +msgstr "자동 로드 이동" + +#: tools/editor/editor_autoload_settings.cpp +msgid "Remove Autoload" +msgstr "자동 로드 삭제" + +#: tools/editor/editor_autoload_settings.cpp +msgid "Enable" +msgstr "활성화" + +#: tools/editor/editor_autoload_settings.cpp +#, fuzzy +msgid "Rearrange Autoloads" +msgstr "자동 로드 이름 변경" + +#: tools/editor/editor_autoload_settings.cpp +msgid "Node Name:" +msgstr "노드 이름:" + +#: tools/editor/editor_autoload_settings.cpp +#: tools/editor/io_plugins/editor_scene_import_plugin.cpp +#: tools/editor/plugins/sample_library_editor_plugin.cpp +#: tools/editor/project_manager.cpp +msgid "Name" +msgstr "이름" + +#: tools/editor/editor_autoload_settings.cpp +msgid "Singleton" +msgstr "싱글톤" + +#: tools/editor/editor_autoload_settings.cpp +msgid "List:" +msgstr "목록:" + #: tools/editor/editor_data.cpp msgid "Updating Scene" msgstr "씬 업데이트 중" @@ -1216,48 +1311,45 @@ msgstr "선택" #: tools/editor/editor_file_dialog.cpp msgid "Go Back" -msgstr "" +msgstr "뒤로 가기" #: tools/editor/editor_file_dialog.cpp msgid "Go Forward" -msgstr "" +msgstr "앞으로 가기" #: tools/editor/editor_file_dialog.cpp msgid "Go Up" -msgstr "" +msgstr "위로 가기" #: tools/editor/editor_file_dialog.cpp msgid "Refresh" -msgstr "" +msgstr "새로고침" #: tools/editor/editor_file_dialog.cpp msgid "Toggle Hidden Files" -msgstr "" +msgstr "숨김 파일 토글" #: tools/editor/editor_file_dialog.cpp -#, fuzzy msgid "Toggle Favorite" -msgstr "중단점 토글" +msgstr "즐겨찾기 토글" #: tools/editor/editor_file_dialog.cpp -#, fuzzy msgid "Toggle Mode" -msgstr "주석 토글" +msgstr "모드 토글" #: tools/editor/editor_file_dialog.cpp -#, fuzzy msgid "Focus Path" -msgstr "경로 복사" +msgstr "경로 포커스" #: tools/editor/editor_file_dialog.cpp #, fuzzy -msgid "Mode Favorite Up" -msgstr "즐겨찾기:" +msgid "Move Favorite Up" +msgstr "즐겨찾기 위로" #: tools/editor/editor_file_dialog.cpp #, fuzzy -msgid "Mode Favorite Down" -msgstr "아래로 이동" +msgid "Move Favorite Down" +msgstr "즐겨찾기 아래로" #: tools/editor/editor_file_dialog.cpp tools/editor/scenes_dock.cpp msgid "Favorites:" @@ -1279,14 +1371,18 @@ msgstr "하위 디렉토리로 이동할 수 없습니다:" msgid "ScanSources" msgstr "소스 조사" -#: tools/editor/editor_help.cpp -msgid "Search Classes" -msgstr "클래스 검색" +#: tools/editor/editor_help.cpp tools/editor/plugins/script_editor_plugin.cpp +msgid "Search Help" +msgstr "도움말 검색" #: tools/editor/editor_help.cpp msgid "Class List:" msgstr "클래스 목록:" +#: tools/editor/editor_help.cpp +msgid "Search Classes" +msgstr "클래스 검색" + #: tools/editor/editor_help.cpp tools/editor/property_editor.cpp msgid "Class:" msgstr "클래스:" @@ -1384,10 +1480,6 @@ msgstr "가져오는 중:" msgid "Node From Scene" msgstr "씬으로부터 노드 가져오기" -#: tools/editor/editor_node.cpp tools/editor/scenes_dock.cpp -msgid "Re-Import.." -msgstr "다시 가져오기.." - #: tools/editor/editor_node.cpp #: tools/editor/plugins/animation_player_editor_plugin.cpp #: tools/editor/resources_dock.cpp @@ -1512,34 +1604,31 @@ msgid "There is no defined scene to run." msgstr "실행하기 위해 정의된 씬이 없습니다." #: tools/editor/editor_node.cpp -#, fuzzy msgid "" "No main scene has ever been defined, select one?\n" "You can change it later in later in \"Project Settings\" under the " "'application' category." msgstr "" -"메인 씬이 지정되지 않았습니다.\n" -"\"프로젝트 설정\"의 'Application' 항목에서 씬을 하나 선택해 주세요." +"메인 씬이 지정되지 않았습니다. 선택하시겠습니까?\n" +"나중에 \"프로젝트 설정\"의 'Application' 항목에서 변경할 수 있습니다." #: tools/editor/editor_node.cpp -#, fuzzy msgid "" "Selected scene '%s' does not exist, select a valid one?\n" "You can change it later in \"Project Settings\" under the 'application' " "category." msgstr "" -"메인 씬이 지정되지 않았습니다.\n" -"\"프로젝트 설정\"의 'Application' 항목에서 씬을 하나 선택해 주세요." +"선택한 '%s' 씬이 존재하지 않습니다. 다시 선택하시겠습니까?\n" +"나중에 \"프로젝트 설정\"의 'Application' 항목에서 변경할 수 있습니다." #: tools/editor/editor_node.cpp -#, fuzzy msgid "" "Selected scene '%s' is not a scene file, select a valid one?\n" "You can change it later in \"Project Settings\" under the 'application' " "category." msgstr "" -"메인 씬이 지정되지 않았습니다.\n" -"\"프로젝트 설정\"의 'Application' 항목에서 씬을 하나 선택해 주세요." +"선택한 '%s' 씬이 씬 파일이 아닙니다. 다시 선택하시겠습니까?\n" +"나중에 \"프로젝트 설정\"의 'Application' 항목에서 변경할 수 있습니다." #: tools/editor/editor_node.cpp msgid "Current scene was never saved, please save it prior to running." @@ -1635,8 +1724,8 @@ msgstr "" #: tools/editor/editor_node.cpp #, fuzzy -msgid "Pick a Manu Scene" -msgstr "메인 씬" +msgid "Pick a Main Scene" +msgstr "메인 씬 선택" #: tools/editor/editor_node.cpp tools/editor/scene_tree_dock.cpp msgid "Ugh" @@ -1700,14 +1789,12 @@ msgid "Distraction Free Mode" msgstr "초집중 모드" #: tools/editor/editor_node.cpp -#, fuzzy msgid "Next tab" -msgstr "다음" +msgstr "다음 탭" #: tools/editor/editor_node.cpp -#, fuzzy msgid "Previous tab" -msgstr "이전 디렉토리" +msgstr "이전 탭" #: tools/editor/editor_node.cpp msgid "Operations with scene files." @@ -1730,6 +1817,11 @@ msgid "Save Scene" msgstr "씬 저장" #: tools/editor/editor_node.cpp +#, fuzzy +msgid "Save all Scenes" +msgstr "씬 저장" + +#: tools/editor/editor_node.cpp msgid "Close Scene" msgstr "씬 닫기" @@ -1853,6 +1945,11 @@ msgid "Play custom scene" msgstr "다른 씬 실행" #: tools/editor/editor_node.cpp +#, fuzzy +msgid "Play Custom Scene" +msgstr "다른 씬 실행" + +#: tools/editor/editor_node.cpp msgid "Debug options" msgstr "디버그 옵션" @@ -2025,7 +2122,6 @@ msgid "Output" msgstr "출력" #: tools/editor/editor_node.cpp tools/editor/editor_reimport_dialog.cpp -#: tools/editor/import_settings.cpp msgid "Re-Import" msgstr "다시 가져오기" @@ -2197,10 +2293,6 @@ msgstr "그룹에 추가" msgid "Remove from Group" msgstr "그룹에서 제거" -#: tools/editor/import_settings.cpp -msgid "Imported Resources" -msgstr "가져온 리소스" - #: tools/editor/io_plugins/editor_bitmask_import_plugin.cpp msgid "No bit masks to import!" msgstr "가져올 비트 마스크가 없습니다!" @@ -2276,6 +2368,8 @@ msgid "" "Invalid file extension.\n" "Please use .fnt." msgstr "" +"유효하지 않은 파일 확장자.\n" +".fnt 를 사용하세요." #: tools/editor/io_plugins/editor_font_import_plugin.cpp msgid "Can't load/process source font." @@ -2409,12 +2503,6 @@ msgid "Clips" msgstr "클립" #: tools/editor/io_plugins/editor_scene_import_plugin.cpp -#: tools/editor/plugins/sample_library_editor_plugin.cpp -#: tools/editor/project_manager.cpp tools/editor/project_settings.cpp -msgid "Name" -msgstr "이름" - -#: tools/editor/io_plugins/editor_scene_import_plugin.cpp msgid "Start(s)" msgstr "시작(초)" @@ -2513,9 +2601,9 @@ msgid "Couldn't load post-import script:" msgstr "가져오기 후 실행할 스크립트를 로드할 수 없습니다:" #: tools/editor/io_plugins/editor_scene_import_plugin.cpp -#, fuzzy msgid "Invalid/broken script for post-import (check console):" -msgstr "가져오기 후 실행할 스크립트가 유효하지 않거나 깨져있습니다:" +msgstr "" +"가져오기 후 실행할 스크립트가 유효하지 않거나 깨져있습니다 (콘솔 확인):" #: tools/editor/io_plugins/editor_scene_import_plugin.cpp msgid "Error running post-import script:" @@ -3379,8 +3467,9 @@ msgid "Anchor" msgstr "앵커" #: tools/editor/plugins/canvas_item_editor_plugin.cpp -msgid "Insert Keys (Ins)" -msgstr "키 삽입 (Ins 키)" +#, fuzzy +msgid "Insert Keys" +msgstr "키 삽입" #: tools/editor/plugins/canvas_item_editor_plugin.cpp msgid "Insert Key" @@ -3554,7 +3643,7 @@ msgstr "MeshInstance에 메쉬가 없습니다!" #: tools/editor/plugins/mesh_instance_editor_plugin.cpp msgid "Mesh has not surface to create outlines from!" -msgstr "" +msgstr "메쉬에 아웃라인을 만들기 위한 서피스가 없습니다!" #: tools/editor/plugins/mesh_instance_editor_plugin.cpp msgid "Could not create outline!" @@ -3918,6 +4007,7 @@ msgid "Clear UV" msgstr "UV 정리" #: tools/editor/plugins/polygon_2d_editor_plugin.cpp +#: tools/editor/plugins/spatial_editor_plugin.cpp msgid "Snap" msgstr "스냅" @@ -4033,6 +4123,16 @@ msgid "Save Theme As.." msgstr "테마 다른 이름으로 저장.." #: tools/editor/plugins/script_editor_plugin.cpp +#, fuzzy +msgid "Next script" +msgstr "스크립트 만들기" + +#: tools/editor/plugins/script_editor_plugin.cpp +#, fuzzy +msgid "Previous script" +msgstr "이전 탭" + +#: tools/editor/plugins/script_editor_plugin.cpp #: tools/editor/project_export.cpp msgid "File" msgstr "파일" @@ -4105,9 +4205,8 @@ msgid "Auto Indent" msgstr "자동 들여쓰기" #: tools/editor/plugins/script_editor_plugin.cpp -#, fuzzy msgid "Soft Reload Script" -msgstr "툴 스크립트 다시 로드" +msgstr "스크립트 다시 로드" #: tools/editor/plugins/script_editor_plugin.cpp #: tools/editor/plugins/shader_editor_plugin.cpp @@ -4219,10 +4318,6 @@ msgid "Search the class hierarchy." msgstr "클래스 계층 검색." #: tools/editor/plugins/script_editor_plugin.cpp -msgid "Search Help" -msgstr "도움말 검색" - -#: tools/editor/plugins/script_editor_plugin.cpp msgid "Search the reference documentation." msgstr "레퍼런스 문서 검색." @@ -4259,6 +4354,11 @@ msgstr "다시 저장" msgid "Debugger" msgstr "디버거" +#: tools/editor/plugins/script_editor_plugin.cpp +msgid "" +"Built-in scripts can only be edited when the scene they belong to is loaded" +msgstr "" + #: tools/editor/plugins/shader_editor_plugin.cpp msgid "Vertex" msgstr "버텍스" @@ -4492,76 +4592,85 @@ msgid "Align with view" msgstr "뷰에 정렬" #: tools/editor/plugins/spatial_editor_plugin.cpp -msgid "Top (Num7)" -msgstr "윗면 (넘버패드7)" +msgid "Environment" +msgstr "환경" #: tools/editor/plugins/spatial_editor_plugin.cpp -msgid "Bottom (Shift+Num7)" -msgstr "아랫면 (쉬프트+넘버패드7)" +msgid "Audio Listener" +msgstr "오디오 리스너" #: tools/editor/plugins/spatial_editor_plugin.cpp -msgid "Left (Num3)" -msgstr "왼쪽면 (넘버패드3)" +msgid "Gizmos" +msgstr "기즈모" #: tools/editor/plugins/spatial_editor_plugin.cpp -msgid "Right (Shift+Num3)" -msgstr "오른쪽면 (쉬프트+넘버패드3)" +msgid "XForm Dialog" +msgstr "변환 다이얼로그" #: tools/editor/plugins/spatial_editor_plugin.cpp -msgid "Front (Num1)" -msgstr "정면 (넘버패드1)" +msgid "No scene selected to instance!" +msgstr "인스턴스할 씬이 선택되지 않았습니다!" #: tools/editor/plugins/spatial_editor_plugin.cpp -msgid "Rear (Shift+Num1)" -msgstr "뒷면 (쉬프트+넘버패드1)" +msgid "Instance at Cursor" +msgstr "커서에 인스턴스 만들기" #: tools/editor/plugins/spatial_editor_plugin.cpp -msgid "Perspective (Num5)" -msgstr "원근보기 (넘버패드5)" +msgid "Could not instance scene!" +msgstr "씬을 인스턴스 할 수 없습니다!" #: tools/editor/plugins/spatial_editor_plugin.cpp -msgid "Orthogonal (Num5)" -msgstr "직교보기 (넘버패드5)" +msgid "Scale Mode (R)" +msgstr "크기조절 모드 (R)" #: tools/editor/plugins/spatial_editor_plugin.cpp -msgid "Environment" -msgstr "환경" +#, fuzzy +msgid "Bottom View" +msgstr "아랫면 보기." #: tools/editor/plugins/spatial_editor_plugin.cpp -msgid "Audio Listener" -msgstr "오디오 리스너" +#, fuzzy +msgid "Top View" +msgstr "윗면 보기." #: tools/editor/plugins/spatial_editor_plugin.cpp -msgid "Gizmos" -msgstr "기즈모" +#, fuzzy +msgid "Rear View" +msgstr "뒷면 보기." #: tools/editor/plugins/spatial_editor_plugin.cpp -msgid "Selection (F)" -msgstr "선택 (F)" +#, fuzzy +msgid "Front View" +msgstr "정면 보기." #: tools/editor/plugins/spatial_editor_plugin.cpp -msgid "Align with view (Ctrl+Shift+F)" -msgstr "뷰에 정렬 (컨트롤+쉬프트+F)" +#, fuzzy +msgid "Left View" +msgstr "왼쪽면 보기." #: tools/editor/plugins/spatial_editor_plugin.cpp -msgid "XForm Dialog" -msgstr "변환 다이얼로그" +#, fuzzy +msgid "Right View" +msgstr "오른쪽면 보기." #: tools/editor/plugins/spatial_editor_plugin.cpp -msgid "No scene selected to instance!" -msgstr "인스턴스할 씬이 선택되지 않았습니다!" +msgid "Switch Perspective/Orthogonal view" +msgstr "" #: tools/editor/plugins/spatial_editor_plugin.cpp -msgid "Instance at Cursor" -msgstr "커서에 인스턴스 만들기" +#, fuzzy +msgid "Insert Animation Key" +msgstr "애니메이션 붙여넣기" #: tools/editor/plugins/spatial_editor_plugin.cpp -msgid "Could not instance scene!" -msgstr "씬을 인스턴스 할 수 없습니다!" +#, fuzzy +msgid "Focus Selection" +msgstr "선택키 스케일 조절" #: tools/editor/plugins/spatial_editor_plugin.cpp -msgid "Scale Mode (R)" -msgstr "크기조절 모드 (R)" +#, fuzzy +msgid "Align Selection With View" +msgstr "뷰에 정렬" #: tools/editor/plugins/spatial_editor_plugin.cpp msgid "Transform" @@ -4764,47 +4873,40 @@ msgid "StyleBox Preview:" msgstr "StyleBox 미리보기:" #: tools/editor/plugins/texture_region_editor_plugin.cpp -#, fuzzy msgid "Snap Mode:" -msgstr "실행 모드:" +msgstr "스냅 모드:" #: tools/editor/plugins/texture_region_editor_plugin.cpp msgid "<None>" -msgstr "" +msgstr "<없음>" #: tools/editor/plugins/texture_region_editor_plugin.cpp -#, fuzzy msgid "Pixel Snap" -msgstr "픽셀 스냅 사용" +msgstr "픽셀 스냅" #: tools/editor/plugins/texture_region_editor_plugin.cpp -#, fuzzy msgid "Grid Snap" -msgstr "그리드 스텝:" +msgstr "그리드 스냅" #: tools/editor/plugins/texture_region_editor_plugin.cpp msgid "Auto Slice" -msgstr "" +msgstr "자동 자르기" #: tools/editor/plugins/texture_region_editor_plugin.cpp -#, fuzzy msgid "Offset:" -msgstr "그리드 오프셋:" +msgstr "오프셋:" #: tools/editor/plugins/texture_region_editor_plugin.cpp -#, fuzzy msgid "Step:" -msgstr "단계 (초):" +msgstr "단계:" #: tools/editor/plugins/texture_region_editor_plugin.cpp -#, fuzzy msgid "Separation:" -msgstr "부문:" +msgstr "간격:" #: tools/editor/plugins/texture_region_editor_plugin.cpp -#, fuzzy msgid "Texture Region" -msgstr "텍스쳐 구역 편집기" +msgstr "텍스쳐 영역" #: tools/editor/plugins/texture_region_editor_plugin.cpp msgid "Texture Region Editor" @@ -5289,6 +5391,17 @@ msgid "Couldn't create engine.cfg in project path." msgstr "프로젝트 경로에 engine.cfg를 생성할 수 없습니다." #: tools/editor/project_manager.cpp +#, fuzzy +msgid "The following files failed extraction from package:" +msgstr "" +"다음의 파일들이 디스크상 더 최신입니다.\n" +"어떤 작업을 수행하시겠습니까?:" + +#: tools/editor/project_manager.cpp +msgid "Package Installed Successfully!" +msgstr "" + +#: tools/editor/project_manager.cpp msgid "Import Existing Project" msgstr "기존 프로젝트 가져오기" @@ -5309,6 +5422,16 @@ msgid "Project Path:" msgstr "프로젝트 경로:" #: tools/editor/project_manager.cpp +#, fuzzy +msgid "Install Project:" +msgstr "최근 프로젝트:" + +#: tools/editor/project_manager.cpp +#, fuzzy +msgid "Install" +msgstr "인스턴스" + +#: tools/editor/project_manager.cpp msgid "Browse" msgstr "찾아보기" @@ -5474,52 +5597,6 @@ msgid "Add Translation" msgstr "번역 추가" #: tools/editor/project_settings.cpp -msgid "Invalid name." -msgstr "유효하지 않은 이름." - -#: tools/editor/project_settings.cpp -msgid "Valid characters:" -msgstr "유효한 문자:" - -#: tools/editor/project_settings.cpp -msgid "Invalid name. Must not collide with an existing engine class name." -msgstr "" -"유효하지 않은 이름입니다. 엔진에 존재하는 클래스 이름과 충돌하지 않아야 합니" -"다." - -#: tools/editor/project_settings.cpp -msgid "Invalid name. Must not collide with an existing buit-in type name." -msgstr "유효하지 않은 이름입니다. 내장 타입 이름과 충돌하지 않아야 합니다." - -#: tools/editor/project_settings.cpp -msgid "Invalid name. Must not collide with an existing global constant name." -msgstr "유효하지 않은 이름입니다. 전역 상수 이름과 충돌하지 않아야 합니다." - -#: tools/editor/project_settings.cpp -msgid "Autoload '%s' already exists!" -msgstr "자동로드에 '%s'이(가) 이미 존재합니다!" - -#: tools/editor/project_settings.cpp -msgid "Rename Autoload" -msgstr "자동 로드 이름 변경" - -#: tools/editor/project_settings.cpp -msgid "Toggle AutoLoad Globals" -msgstr "자동로드 글로벌 토글" - -#: tools/editor/project_settings.cpp -msgid "Add Autoload" -msgstr "자동 로드 추가" - -#: tools/editor/project_settings.cpp -msgid "Remove Autoload" -msgstr "자동 로드 삭제" - -#: tools/editor/project_settings.cpp -msgid "Move Autoload" -msgstr "자동 로드 이동" - -#: tools/editor/project_settings.cpp msgid "Remove Translation" msgstr "번역 삭제" @@ -5544,10 +5621,6 @@ msgid "Remove Resource Remap Option" msgstr "리소스 리맵핑 옵션 제거" #: tools/editor/project_settings.cpp -msgid "Enable" -msgstr "활성화" - -#: tools/editor/project_settings.cpp msgid "Project Settings (engine.cfg)" msgstr "프로젝트 설정 (engine.cfg)" @@ -5620,18 +5693,6 @@ msgid "AutoLoad" msgstr "자동 로드" #: tools/editor/project_settings.cpp -msgid "Node Name:" -msgstr "노드 이름:" - -#: tools/editor/project_settings.cpp -msgid "List:" -msgstr "목록:" - -#: tools/editor/project_settings.cpp -msgid "Singleton" -msgstr "싱글톤" - -#: tools/editor/project_settings.cpp msgid "Plugins" msgstr "플러그인" @@ -6040,6 +6101,10 @@ msgid "Show In File Manager" msgstr "파일 매니저에서 보기" #: tools/editor/scenes_dock.cpp +msgid "Re-Import.." +msgstr "다시 가져오기.." + +#: tools/editor/scenes_dock.cpp msgid "Previous Directory" msgstr "이전 디렉토리" @@ -6299,6 +6364,42 @@ msgstr "Ray Shape 길이 변경" msgid "Change Notifier Extents" msgstr "Notifier 범위 변경" +#~ msgid "Imported Resources" +#~ msgstr "가져온 리소스" + +#~ msgid "Insert Keys (Ins)" +#~ msgstr "키 삽입 (Ins 키)" + +#~ msgid "Top (Num7)" +#~ msgstr "윗면 (넘버패드7)" + +#~ msgid "Bottom (Shift+Num7)" +#~ msgstr "아랫면 (쉬프트+넘버패드7)" + +#~ msgid "Left (Num3)" +#~ msgstr "왼쪽면 (넘버패드3)" + +#~ msgid "Right (Shift+Num3)" +#~ msgstr "오른쪽면 (쉬프트+넘버패드3)" + +#~ msgid "Front (Num1)" +#~ msgstr "정면 (넘버패드1)" + +#~ msgid "Rear (Shift+Num1)" +#~ msgstr "뒷면 (쉬프트+넘버패드1)" + +#~ msgid "Perspective (Num5)" +#~ msgstr "원근보기 (넘버패드5)" + +#~ msgid "Orthogonal (Num5)" +#~ msgstr "직교보기 (넘버패드5)" + +#~ msgid "Selection (F)" +#~ msgstr "선택 (F)" + +#~ msgid "Align with view (Ctrl+Shift+F)" +#~ msgstr "뷰에 정렬 (컨트롤+쉬프트+F)" + #~ msgid "Change Anim Loop Interpolation" #~ msgstr "애니메이션 루프 보간 변경" @@ -6357,8 +6458,5 @@ msgstr "Notifier 범위 변경" #~ msgid "Set region_rect" #~ msgstr "구역 설정" -#~ msgid "Recent Projects:" -#~ msgstr "최근 프로젝트:" - #~ msgid "Plugin List:" #~ msgstr "플러그인 목록:" diff --git a/tools/translations/pt_BR.po b/tools/translations/pt_BR.po index 24c42d350a..bca193bdf8 100644 --- a/tools/translations/pt_BR.po +++ b/tools/translations/pt_BR.po @@ -9,8 +9,8 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine editor\n" "POT-Creation-Date: 2016-05-30\n" -"PO-Revision-Date: 2016-06-20 01:48+0000\n" -"Last-Translator: George Marques <georgemjesus@gmail.com>\n" +"PO-Revision-Date: 2016-07-12 12:59+0000\n" +"Last-Translator: Danilo Castro <danilo.moreira94@gmail.com>\n" "Language-Team: Portuguese (Brazil) <https://hosted.weblate.org/projects/" "godot-engine/godot/pt_BR/>\n" "Language: pt_BR\n" @@ -18,7 +18,7 @@ msgstr "" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=n > 1;\n" -"X-Generator: Weblate 2.7-dev\n" +"X-Generator: Weblate 2.8-dev\n" #: modules/gdscript/gd_functions.cpp msgid "Invalid type argument to convert(), use TYPE_* constants." @@ -336,9 +336,10 @@ msgstr "Salvar um Arquivo" msgid "Create Folder" msgstr "Criar Pasta" -#: scene/gui/file_dialog.cpp tools/editor/editor_file_dialog.cpp +#: scene/gui/file_dialog.cpp tools/editor/editor_autoload_settings.cpp +#: tools/editor/editor_file_dialog.cpp #: tools/editor/io_plugins/editor_font_import_plugin.cpp -#: tools/editor/project_settings.cpp tools/editor/script_create_dialog.cpp +#: tools/editor/script_create_dialog.cpp msgid "Path:" msgstr "Caminho:" @@ -538,6 +539,10 @@ msgid "Anim Add Track" msgstr "Adicionar Trilha na Anim" #: tools/editor/animation_editor.cpp +msgid "Anim Duplicate Keys" +msgstr "Duplicar Chave na Anim" + +#: tools/editor/animation_editor.cpp msgid "Move Anim Track Up" msgstr "Mover Trilha para cima" @@ -550,10 +555,6 @@ msgid "Remove Anim Track" msgstr "Remover Trilha da Anim" #: tools/editor/animation_editor.cpp -msgid "Anim Duplicate Keys" -msgstr "Duplicar Chave na Anim" - -#: tools/editor/animation_editor.cpp msgid "Set Transitions to:" msgstr "Definir Transições para:" @@ -582,6 +583,20 @@ msgid "Anim Delete Keys" msgstr "Excluir Chaves da Anim" #: tools/editor/animation_editor.cpp +#: tools/editor/plugins/tile_map_editor_plugin.cpp +msgid "Duplicate Selection" +msgstr "Duplicar Seleção" + +#: tools/editor/animation_editor.cpp +msgid "Duplicate Transposed" +msgstr "Duplicar Transposto" + +#: tools/editor/animation_editor.cpp +#, fuzzy +msgid "Remove Selection" +msgstr "Seleção de Quadros" + +#: tools/editor/animation_editor.cpp msgid "Continuous" msgstr "Contínuo" @@ -610,15 +625,6 @@ msgid "Scale From Cursor" msgstr "Mudar Escala a partir do Cursor" #: tools/editor/animation_editor.cpp -#: tools/editor/plugins/tile_map_editor_plugin.cpp -msgid "Duplicate Selection" -msgstr "Duplicar Seleção" - -#: tools/editor/animation_editor.cpp -msgid "Duplicate Transposed" -msgstr "Duplicar Transposto" - -#: tools/editor/animation_editor.cpp msgid "Goto Next Step" msgstr "Ir ao Próximo Passo" @@ -889,7 +895,6 @@ msgid "Call" msgstr "Chamar" #: tools/editor/call_dialog.cpp tools/editor/connections_dialog.cpp -#: tools/editor/import_settings.cpp #: tools/editor/plugins/animation_player_editor_plugin.cpp #: tools/editor/plugins/canvas_item_editor_plugin.cpp #: tools/editor/plugins/resource_preloader_editor_plugin.cpp @@ -1005,11 +1010,11 @@ msgid "Method in target Node must be specified!" msgstr "O método no Nó destino precisa ser especificado!" #: tools/editor/connections_dialog.cpp -#, fuzzy msgid "Connect To Node:" msgstr "Conectar ao Nó:" -#: tools/editor/connections_dialog.cpp tools/editor/groups_editor.cpp +#: tools/editor/connections_dialog.cpp +#: tools/editor/editor_autoload_settings.cpp tools/editor/groups_editor.cpp #: tools/editor/plugins/item_list_editor_plugin.cpp #: tools/editor/plugins/theme_editor_plugin.cpp #: tools/editor/project_settings.cpp @@ -1117,8 +1122,8 @@ msgstr "Dependências" msgid "Resource" msgstr "Recurso" -#: tools/editor/dependency_editor.cpp tools/editor/project_manager.cpp -#: tools/editor/project_settings.cpp +#: tools/editor/dependency_editor.cpp tools/editor/editor_autoload_settings.cpp +#: tools/editor/project_manager.cpp tools/editor/project_settings.cpp msgid "Path" msgstr "Caminho" @@ -1206,6 +1211,97 @@ msgstr "Excluir os arquivos selecionados?" msgid "Delete" msgstr "Excluir" +#: tools/editor/editor_autoload_settings.cpp +msgid "Invalid name." +msgstr "Nome Inválido." + +#: tools/editor/editor_autoload_settings.cpp +msgid "Valid characters:" +msgstr "Caracteres válidos:" + +#: tools/editor/editor_autoload_settings.cpp +msgid "Invalid name. Must not collide with an existing engine class name." +msgstr "Nome inválido. Não é permitido utilizar nomes de classes da engine." + +#: tools/editor/editor_autoload_settings.cpp +msgid "Invalid name. Must not collide with an existing buit-in type name." +msgstr "" +"Nome inválido. Não é permitido utilizar nomes de tipos internos da engine." + +#: tools/editor/editor_autoload_settings.cpp +msgid "Invalid name. Must not collide with an existing global constant name." +msgstr "" +"Nome inválido. Não é permitido utilizar nomes de constantes globais da " +"engine." + +#: tools/editor/editor_autoload_settings.cpp +#, fuzzy +msgid "Invalid Path." +msgstr "Caminho inválido!" + +#: tools/editor/editor_autoload_settings.cpp +#, fuzzy +msgid "File does not exist." +msgstr "O arquivo existe" + +#: tools/editor/editor_autoload_settings.cpp +#, fuzzy +msgid "Not in resource path." +msgstr "Caminho do recurso" + +#: tools/editor/editor_autoload_settings.cpp +#, fuzzy +msgid "Add AutoLoad" +msgstr "Adicionar Autoload" + +#: tools/editor/editor_autoload_settings.cpp +msgid "Autoload '%s' already exists!" +msgstr "Autoload \"%s\" já existe!" + +#: tools/editor/editor_autoload_settings.cpp +msgid "Rename Autoload" +msgstr "Renomear Autoload" + +#: tools/editor/editor_autoload_settings.cpp +msgid "Toggle AutoLoad Globals" +msgstr "Alternar Auto Carregamentos de Globais" + +#: tools/editor/editor_autoload_settings.cpp +msgid "Move Autoload" +msgstr "Mover Autoload" + +#: tools/editor/editor_autoload_settings.cpp +msgid "Remove Autoload" +msgstr "Remover Autoload" + +#: tools/editor/editor_autoload_settings.cpp +msgid "Enable" +msgstr "Habilitar" + +#: tools/editor/editor_autoload_settings.cpp +#, fuzzy +msgid "Rearrange Autoloads" +msgstr "Renomear Autoload" + +#: tools/editor/editor_autoload_settings.cpp +msgid "Node Name:" +msgstr "Nome do Nó:" + +#: tools/editor/editor_autoload_settings.cpp +#: tools/editor/io_plugins/editor_scene_import_plugin.cpp +#: tools/editor/plugins/sample_library_editor_plugin.cpp +#: tools/editor/project_manager.cpp +msgid "Name" +msgstr "Nome" + +#: tools/editor/editor_autoload_settings.cpp +msgid "Singleton" +msgstr "Singleton" + +#: tools/editor/editor_autoload_settings.cpp +msgid "List:" +msgstr "Lista:" + #: tools/editor/editor_data.cpp msgid "Updating Scene" msgstr "Atualizando Cena" @@ -1228,47 +1324,44 @@ msgstr "Escolher" #: tools/editor/editor_file_dialog.cpp msgid "Go Back" -msgstr "" +msgstr "Voltar" #: tools/editor/editor_file_dialog.cpp msgid "Go Forward" -msgstr "" +msgstr "Avançar" #: tools/editor/editor_file_dialog.cpp msgid "Go Up" -msgstr "" +msgstr "Acima" #: tools/editor/editor_file_dialog.cpp msgid "Refresh" -msgstr "" +msgstr "Atualizar" #: tools/editor/editor_file_dialog.cpp msgid "Toggle Hidden Files" -msgstr "" +msgstr "Alternar Arquivos Ocultos" #: tools/editor/editor_file_dialog.cpp -#, fuzzy msgid "Toggle Favorite" -msgstr "Mover Favorito Acima" +msgstr "Alternar Favorito" #: tools/editor/editor_file_dialog.cpp -#, fuzzy msgid "Toggle Mode" -msgstr "Alternar Comentário" +msgstr "Alternar Modo" #: tools/editor/editor_file_dialog.cpp -#, fuzzy msgid "Focus Path" -msgstr "Copiar Caminho" +msgstr "Focar no Caminho" #: tools/editor/editor_file_dialog.cpp #, fuzzy -msgid "Mode Favorite Up" +msgid "Move Favorite Up" msgstr "Mover Favorito Acima" #: tools/editor/editor_file_dialog.cpp #, fuzzy -msgid "Mode Favorite Down" +msgid "Move Favorite Down" msgstr "Mover Favorito Abaixo" #: tools/editor/editor_file_dialog.cpp tools/editor/scenes_dock.cpp @@ -1291,14 +1384,18 @@ msgstr "Não é possível ir ao subdiretório:" msgid "ScanSources" msgstr "BuscarFontes" -#: tools/editor/editor_help.cpp -msgid "Search Classes" -msgstr "Pesquisar Classes" +#: tools/editor/editor_help.cpp tools/editor/plugins/script_editor_plugin.cpp +msgid "Search Help" +msgstr "Pesquisar Ajuda" #: tools/editor/editor_help.cpp msgid "Class List:" msgstr "Lista de Classes:" +#: tools/editor/editor_help.cpp +msgid "Search Classes" +msgstr "Pesquisar Classes" + #: tools/editor/editor_help.cpp tools/editor/property_editor.cpp msgid "Class:" msgstr "Classe:" @@ -1396,10 +1493,6 @@ msgstr "Importando:" msgid "Node From Scene" msgstr "Nó a Partir de Cena" -#: tools/editor/editor_node.cpp tools/editor/scenes_dock.cpp -msgid "Re-Import.." -msgstr "Re-importar..." - #: tools/editor/editor_node.cpp #: tools/editor/plugins/animation_player_editor_plugin.cpp #: tools/editor/resources_dock.cpp @@ -1525,34 +1618,34 @@ msgid "There is no defined scene to run." msgstr "Não há cena definida para rodar." #: tools/editor/editor_node.cpp -#, fuzzy msgid "" "No main scene has ever been defined, select one?\n" "You can change it later in later in \"Project Settings\" under the " "'application' category." msgstr "" -"A cena principal não foi definida.\n" -"Selecione uma nas \"Configurações do Projeto\" na categoria \"application\"." +"A cena principal não foi definida, selecionar uma?\n" +"Você pode alterá-la mais tarde nas \"Configurações do Projeto\" na categoria " +"\"application\"." #: tools/editor/editor_node.cpp -#, fuzzy msgid "" "Selected scene '%s' does not exist, select a valid one?\n" "You can change it later in \"Project Settings\" under the 'application' " "category." msgstr "" -"A cena principal não foi definida.\n" -"Selecione uma nas \"Configurações do Projeto\" na categoria \"application\"." +"A cena selecionada \"%s\" não existe, selecionar uma válida?\n" +"Você pode alterá-la mais tarde nas \"Configurações do Projeto\" na categoria " +"\"application\"." #: tools/editor/editor_node.cpp -#, fuzzy msgid "" "Selected scene '%s' is not a scene file, select a valid one?\n" "You can change it later in \"Project Settings\" under the 'application' " "category." msgstr "" -"A cena principal não foi definida.\n" -"Selecione uma nas \"Configurações do Projeto\" na categoria \"application\"." +"A cena selecionada \"%s\" não é um arquivo de cena, selecionar uma válida?\n" +"Você pode alterá-la mais tarde nas \"Configurações do Projeto\" na categoria " +"\"application\"." #: tools/editor/editor_node.cpp msgid "Current scene was never saved, please save it prior to running." @@ -1648,8 +1741,8 @@ msgstr "" #: tools/editor/editor_node.cpp #, fuzzy -msgid "Pick a Manu Scene" -msgstr "Cena Principal" +msgid "Pick a Main Scene" +msgstr "Escolha uma Cena Principal" #: tools/editor/editor_node.cpp tools/editor/scene_tree_dock.cpp msgid "Ugh" @@ -1713,14 +1806,12 @@ msgid "Distraction Free Mode" msgstr "Modo Sem Distrações" #: tools/editor/editor_node.cpp -#, fuzzy msgid "Next tab" -msgstr "Próximo" +msgstr "Próxima guia" #: tools/editor/editor_node.cpp -#, fuzzy msgid "Previous tab" -msgstr "Diretório Anterior" +msgstr "Guia anterior" #: tools/editor/editor_node.cpp msgid "Operations with scene files." @@ -1743,6 +1834,11 @@ msgid "Save Scene" msgstr "Salvar Cena" #: tools/editor/editor_node.cpp +#, fuzzy +msgid "Save all Scenes" +msgstr "Salvar Cena" + +#: tools/editor/editor_node.cpp msgid "Close Scene" msgstr "Fechar Cena" @@ -1866,6 +1962,11 @@ msgid "Play custom scene" msgstr "Rodar outra cena" #: tools/editor/editor_node.cpp +#, fuzzy +msgid "Play Custom Scene" +msgstr "Rodar outra cena" + +#: tools/editor/editor_node.cpp msgid "Debug options" msgstr "Opções de depuração" @@ -2037,7 +2138,6 @@ msgid "Output" msgstr "Saída" #: tools/editor/editor_node.cpp tools/editor/editor_reimport_dialog.cpp -#: tools/editor/import_settings.cpp msgid "Re-Import" msgstr "Reimportar" @@ -2211,10 +2311,6 @@ msgstr "Adicionar ao Grupo" msgid "Remove from Group" msgstr "Remover do Grupo" -#: tools/editor/import_settings.cpp -msgid "Imported Resources" -msgstr "Recursos Importados" - #: tools/editor/io_plugins/editor_bitmask_import_plugin.cpp msgid "No bit masks to import!" msgstr "Sem máscaras de bits para importar!" @@ -2290,6 +2386,8 @@ msgid "" "Invalid file extension.\n" "Please use .fnt." msgstr "" +"Extensão de arquivo inválida.\n" +"Por favor use .fnt." #: tools/editor/io_plugins/editor_font_import_plugin.cpp msgid "Can't load/process source font." @@ -2427,12 +2525,6 @@ msgid "Clips" msgstr "Clipes" #: tools/editor/io_plugins/editor_scene_import_plugin.cpp -#: tools/editor/plugins/sample_library_editor_plugin.cpp -#: tools/editor/project_manager.cpp tools/editor/project_settings.cpp -msgid "Name" -msgstr "Nome" - -#: tools/editor/io_plugins/editor_scene_import_plugin.cpp msgid "Start(s)" msgstr "Início(s)" @@ -2531,9 +2623,8 @@ msgid "Couldn't load post-import script:" msgstr "Não se pôde carregar script pós-importação:" #: tools/editor/io_plugins/editor_scene_import_plugin.cpp -#, fuzzy msgid "Invalid/broken script for post-import (check console):" -msgstr "Script pós-importação inválido/quebrado:" +msgstr "Script pós-importação inválido/quebrado (verifique o console):" #: tools/editor/io_plugins/editor_scene_import_plugin.cpp msgid "Error running post-import script:" @@ -3402,8 +3493,9 @@ msgid "Anchor" msgstr "Âncora" #: tools/editor/plugins/canvas_item_editor_plugin.cpp -msgid "Insert Keys (Ins)" -msgstr "Inserir Chaves (Ins)" +#, fuzzy +msgid "Insert Keys" +msgstr "Inserir Chave" #: tools/editor/plugins/canvas_item_editor_plugin.cpp msgid "Insert Key" @@ -3577,7 +3669,7 @@ msgstr "Falta uma MeshInstance na Mesh!" #: tools/editor/plugins/mesh_instance_editor_plugin.cpp msgid "Mesh has not surface to create outlines from!" -msgstr "" +msgstr "Mesh não tem superfície para criar contornos!" #: tools/editor/plugins/mesh_instance_editor_plugin.cpp msgid "Could not create outline!" @@ -3942,6 +4034,7 @@ msgid "Clear UV" msgstr "Limpar UV" #: tools/editor/plugins/polygon_2d_editor_plugin.cpp +#: tools/editor/plugins/spatial_editor_plugin.cpp msgid "Snap" msgstr "Snap" @@ -4057,6 +4150,16 @@ msgid "Save Theme As.." msgstr "Salvar Tema Como..." #: tools/editor/plugins/script_editor_plugin.cpp +#, fuzzy +msgid "Next script" +msgstr "Criar Script" + +#: tools/editor/plugins/script_editor_plugin.cpp +#, fuzzy +msgid "Previous script" +msgstr "Guia anterior" + +#: tools/editor/plugins/script_editor_plugin.cpp #: tools/editor/project_export.cpp msgid "File" msgstr "Arquivo" @@ -4242,10 +4345,6 @@ msgid "Search the class hierarchy." msgstr "Pesquise na hierarquia da classe." #: tools/editor/plugins/script_editor_plugin.cpp -msgid "Search Help" -msgstr "Pesquisar Ajuda" - -#: tools/editor/plugins/script_editor_plugin.cpp msgid "Search the reference documentation." msgstr "Pesquise a documentação de referência." @@ -4282,6 +4381,11 @@ msgstr "Salve novamente" msgid "Debugger" msgstr "Depurador" +#: tools/editor/plugins/script_editor_plugin.cpp +msgid "" +"Built-in scripts can only be edited when the scene they belong to is loaded" +msgstr "" + #: tools/editor/plugins/shader_editor_plugin.cpp msgid "Vertex" msgstr "Vértice" @@ -4515,76 +4619,85 @@ msgid "Align with view" msgstr "Alinhar com Visão" #: tools/editor/plugins/spatial_editor_plugin.cpp -msgid "Top (Num7)" -msgstr "Cima (Num7)" +msgid "Environment" +msgstr "Ambiente" #: tools/editor/plugins/spatial_editor_plugin.cpp -msgid "Bottom (Shift+Num7)" -msgstr "Baixo (Shift+Num7)" +msgid "Audio Listener" +msgstr "Ouvinte de Áudio" #: tools/editor/plugins/spatial_editor_plugin.cpp -msgid "Left (Num3)" -msgstr "Esquerda (Num3)" +msgid "Gizmos" +msgstr "Gizmos" #: tools/editor/plugins/spatial_editor_plugin.cpp -msgid "Right (Shift+Num3)" -msgstr "Direita (Shift+Num3)" +msgid "XForm Dialog" +msgstr "Diálogo XForm" #: tools/editor/plugins/spatial_editor_plugin.cpp -msgid "Front (Num1)" -msgstr "Frente (Num1)" +msgid "No scene selected to instance!" +msgstr "Nenhuma cena selecionada para instanciar!" #: tools/editor/plugins/spatial_editor_plugin.cpp -msgid "Rear (Shift+Num1)" -msgstr "Traseira (Shift+Num1)" +msgid "Instance at Cursor" +msgstr "Instanciar no Cursor" #: tools/editor/plugins/spatial_editor_plugin.cpp -msgid "Perspective (Num5)" -msgstr "Perspectiva (Num5)" +msgid "Could not instance scene!" +msgstr "Não foi possível instanciar cena!" #: tools/editor/plugins/spatial_editor_plugin.cpp -msgid "Orthogonal (Num5)" -msgstr "Ortogonal (Num5)" +msgid "Scale Mode (R)" +msgstr "Modo Escala (R)" #: tools/editor/plugins/spatial_editor_plugin.cpp -msgid "Environment" -msgstr "Ambiente" +#, fuzzy +msgid "Bottom View" +msgstr "Visão inferior." #: tools/editor/plugins/spatial_editor_plugin.cpp -msgid "Audio Listener" -msgstr "Ouvinte de Áudio" +#, fuzzy +msgid "Top View" +msgstr "Visão Superior." #: tools/editor/plugins/spatial_editor_plugin.cpp -msgid "Gizmos" -msgstr "Gizmos" +#, fuzzy +msgid "Rear View" +msgstr "Visão Traseira." #: tools/editor/plugins/spatial_editor_plugin.cpp -msgid "Selection (F)" -msgstr "Seleção (F)" +#, fuzzy +msgid "Front View" +msgstr "Visão Frontal." #: tools/editor/plugins/spatial_editor_plugin.cpp -msgid "Align with view (Ctrl+Shift+F)" -msgstr "Alinhar com Visão (Ctrl+Shift+F)" +#, fuzzy +msgid "Left View" +msgstr "Visão Esquerda." #: tools/editor/plugins/spatial_editor_plugin.cpp -msgid "XForm Dialog" -msgstr "Diálogo XForm" +#, fuzzy +msgid "Right View" +msgstr "Visão Direita." #: tools/editor/plugins/spatial_editor_plugin.cpp -msgid "No scene selected to instance!" -msgstr "Nenhuma cena selecionada para instanciar!" +msgid "Switch Perspective/Orthogonal view" +msgstr "" #: tools/editor/plugins/spatial_editor_plugin.cpp -msgid "Instance at Cursor" -msgstr "Instanciar no Cursor" +#, fuzzy +msgid "Insert Animation Key" +msgstr "Colar Animação" #: tools/editor/plugins/spatial_editor_plugin.cpp -msgid "Could not instance scene!" -msgstr "Não foi possível instanciar cena!" +#, fuzzy +msgid "Focus Selection" +msgstr "Mudar Escala da Seleção" #: tools/editor/plugins/spatial_editor_plugin.cpp -msgid "Scale Mode (R)" -msgstr "Modo Escala (R)" +#, fuzzy +msgid "Align Selection With View" +msgstr "Alinhar com Visão" #: tools/editor/plugins/spatial_editor_plugin.cpp msgid "Transform" @@ -4787,47 +4900,40 @@ msgid "StyleBox Preview:" msgstr "Pré-Visualização do StyleBox:" #: tools/editor/plugins/texture_region_editor_plugin.cpp -#, fuzzy msgid "Snap Mode:" -msgstr "Modo de Início:" +msgstr "Modo Snap:" #: tools/editor/plugins/texture_region_editor_plugin.cpp msgid "<None>" -msgstr "" +msgstr "<Nenhum>" #: tools/editor/plugins/texture_region_editor_plugin.cpp -#, fuzzy msgid "Pixel Snap" -msgstr "Usar Snap de Pixel" +msgstr "Snap de Pixel" #: tools/editor/plugins/texture_region_editor_plugin.cpp -#, fuzzy msgid "Grid Snap" -msgstr "Passo de grade:" +msgstr "Snap de Grade" #: tools/editor/plugins/texture_region_editor_plugin.cpp msgid "Auto Slice" -msgstr "" +msgstr "Auto Fatiar" #: tools/editor/plugins/texture_region_editor_plugin.cpp -#, fuzzy msgid "Offset:" -msgstr "Deslocamento da grade:" +msgstr "Deslocamento:" #: tools/editor/plugins/texture_region_editor_plugin.cpp -#, fuzzy msgid "Step:" -msgstr "Passo (s):" +msgstr "Passo:" #: tools/editor/plugins/texture_region_editor_plugin.cpp -#, fuzzy msgid "Separation:" -msgstr "Seções:" +msgstr "Separação:" #: tools/editor/plugins/texture_region_editor_plugin.cpp -#, fuzzy msgid "Texture Region" -msgstr "Editor de Região da Textura" +msgstr "Região da Textura" #: tools/editor/plugins/texture_region_editor_plugin.cpp msgid "Texture Region Editor" @@ -5316,6 +5422,17 @@ msgid "Couldn't create engine.cfg in project path." msgstr "Não se pôde criar engine.cfg no caminho do projeto." #: tools/editor/project_manager.cpp +#, fuzzy +msgid "The following files failed extraction from package:" +msgstr "" +"Os seguintes arquivos são mais recentes no disco.\n" +"Que ação deve ser tomada?:" + +#: tools/editor/project_manager.cpp +msgid "Package Installed Successfully!" +msgstr "" + +#: tools/editor/project_manager.cpp msgid "Import Existing Project" msgstr "Importar Projeto Existente" @@ -5336,6 +5453,16 @@ msgid "Project Path:" msgstr "Caminho do Projeto:" #: tools/editor/project_manager.cpp +#, fuzzy +msgid "Install Project:" +msgstr "Projetos Recentes:" + +#: tools/editor/project_manager.cpp +#, fuzzy +msgid "Install" +msgstr "Instanciar" + +#: tools/editor/project_manager.cpp msgid "Browse" msgstr "Navegar" @@ -5500,53 +5627,6 @@ msgid "Add Translation" msgstr "Adicionar Tradução" #: tools/editor/project_settings.cpp -msgid "Invalid name." -msgstr "Nome Inválido." - -#: tools/editor/project_settings.cpp -msgid "Valid characters:" -msgstr "Caracteres válidos:" - -#: tools/editor/project_settings.cpp -msgid "Invalid name. Must not collide with an existing engine class name." -msgstr "Nome inválido. Não é permitido utilizar nomes de classes da engine." - -#: tools/editor/project_settings.cpp -msgid "Invalid name. Must not collide with an existing buit-in type name." -msgstr "" -"Nome inválido. Não é permitido utilizar nomes de tipos internos da engine." - -#: tools/editor/project_settings.cpp -msgid "Invalid name. Must not collide with an existing global constant name." -msgstr "" -"Nome inválido. Não é permitido utilizar nomes de constantes globais da " -"engine." - -#: tools/editor/project_settings.cpp -msgid "Autoload '%s' already exists!" -msgstr "Autoload \"%s\" já existe!" - -#: tools/editor/project_settings.cpp -msgid "Rename Autoload" -msgstr "Renomear Autoload" - -#: tools/editor/project_settings.cpp -msgid "Toggle AutoLoad Globals" -msgstr "Alternar Auto Carregamentos de Globais" - -#: tools/editor/project_settings.cpp -msgid "Add Autoload" -msgstr "Adicionar Autoload" - -#: tools/editor/project_settings.cpp -msgid "Remove Autoload" -msgstr "Remover Autoload" - -#: tools/editor/project_settings.cpp -msgid "Move Autoload" -msgstr "Mover Autoload" - -#: tools/editor/project_settings.cpp msgid "Remove Translation" msgstr "Remover Tradução" @@ -5571,10 +5651,6 @@ msgid "Remove Resource Remap Option" msgstr "Remover Opção de Remapeamento de Recurso" #: tools/editor/project_settings.cpp -msgid "Enable" -msgstr "Habilitar" - -#: tools/editor/project_settings.cpp msgid "Project Settings (engine.cfg)" msgstr "Configurações do Projeto (engine.cfg)" @@ -5647,18 +5723,6 @@ msgid "AutoLoad" msgstr "AutoLoad" #: tools/editor/project_settings.cpp -msgid "Node Name:" -msgstr "Nome do Nó:" - -#: tools/editor/project_settings.cpp -msgid "List:" -msgstr "Lista:" - -#: tools/editor/project_settings.cpp -msgid "Singleton" -msgstr "Singleton" - -#: tools/editor/project_settings.cpp msgid "Plugins" msgstr "Plugins" @@ -6071,6 +6135,10 @@ msgid "Show In File Manager" msgstr "Mostrar no Gerenciador de Arquivos" #: tools/editor/scenes_dock.cpp +msgid "Re-Import.." +msgstr "Re-importar..." + +#: tools/editor/scenes_dock.cpp msgid "Previous Directory" msgstr "Diretório Anterior" @@ -6330,6 +6398,42 @@ msgstr "Mudar o tamanho do Shape Ray" msgid "Change Notifier Extents" msgstr "Alterar a Extensão do Notificador" +#~ msgid "Imported Resources" +#~ msgstr "Recursos Importados" + +#~ msgid "Insert Keys (Ins)" +#~ msgstr "Inserir Chaves (Ins)" + +#~ msgid "Top (Num7)" +#~ msgstr "Cima (Num7)" + +#~ msgid "Bottom (Shift+Num7)" +#~ msgstr "Baixo (Shift+Num7)" + +#~ msgid "Left (Num3)" +#~ msgstr "Esquerda (Num3)" + +#~ msgid "Right (Shift+Num3)" +#~ msgstr "Direita (Shift+Num3)" + +#~ msgid "Front (Num1)" +#~ msgstr "Frente (Num1)" + +#~ msgid "Rear (Shift+Num1)" +#~ msgstr "Traseira (Shift+Num1)" + +#~ msgid "Perspective (Num5)" +#~ msgstr "Perspectiva (Num5)" + +#~ msgid "Orthogonal (Num5)" +#~ msgstr "Ortogonal (Num5)" + +#~ msgid "Selection (F)" +#~ msgstr "Seleção (F)" + +#~ msgid "Align with view (Ctrl+Shift+F)" +#~ msgstr "Alinhar com Visão (Ctrl+Shift+F)" + #~ msgid "Change Anim Loop Interpolation" #~ msgstr "Mudar Interpolação do Loop da Animação" @@ -6388,9 +6492,6 @@ msgstr "Alterar a Extensão do Notificador" #~ msgid "Set region_rect" #~ msgstr "Definir region_rect" -#~ msgid "Recent Projects:" -#~ msgstr "Projetos Recentes:" - #~ msgid "Plugin List:" #~ msgstr "Lista de Plugins:" diff --git a/tools/translations/ru.po b/tools/translations/ru.po index 97ac24c5b7..6575252a3f 100644 --- a/tools/translations/ru.po +++ b/tools/translations/ru.po @@ -10,8 +10,8 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine editor\n" "POT-Creation-Date: \n" -"PO-Revision-Date: 2016-06-27 12:43+0000\n" -"Last-Translator: Maxim Kim <habamax@gmail.com>\n" +"PO-Revision-Date: 2016-07-01 17:28+0000\n" +"Last-Translator: DimOkGamer <dimokgamer@gmail.com>\n" "Language-Team: Russian <https://hosted.weblate.org/projects/godot-engine/" "godot/ru/>\n" "Language: ru\n" @@ -110,15 +110,15 @@ msgid "" "A shape must be provided for CollisionShape2D to function. Please create a " "shape resource for it!" msgstr "" -"Шэйп должен быть предусмотрен для функций CollisionShape2D. Пожалуйста, " -"создайте шэйп- ресурс для этого!" +"Shape должен быть предусмотрен для функций CollisionShape2D. Пожалуйста, " +"создайте shape-ресурс для этого!" #: scene/2d/light_2d.cpp msgid "" "A texture with the shape of the light must be supplied to the 'texture' " "property." msgstr "" -"Текстуры с формой света должна быть предоставлена параметру \"texture\"." +"Текстуры с формой света должны быть предоставлены параметру \"texture\"." #: scene/2d/light_occluder_2d.cpp msgid "" @@ -220,8 +220,8 @@ msgid "" "A shape must be provided for CollisionShape to function. Please create a " "shape resource for it!" msgstr "" -"Шэйп должен быть предусмотрен для функций CollisionShape. Пожалуйста, " -"создайте шэйп-ресурс для этого!" +"Shape должен быть предусмотрен для функций CollisionShape. Пожалуйста, " +"создайте shape-ресурс для этого!" #: scene/3d/collision_polygon.cpp msgid "" @@ -340,9 +340,10 @@ msgstr "Сохранить файл" msgid "Create Folder" msgstr "Создать папку" -#: scene/gui/file_dialog.cpp tools/editor/editor_file_dialog.cpp +#: scene/gui/file_dialog.cpp tools/editor/editor_autoload_settings.cpp +#: tools/editor/editor_file_dialog.cpp #: tools/editor/io_plugins/editor_font_import_plugin.cpp -#: tools/editor/project_settings.cpp tools/editor/script_create_dialog.cpp +#: tools/editor/script_create_dialog.cpp msgid "Path:" msgstr "Путь:" @@ -543,6 +544,10 @@ msgid "Anim Add Track" msgstr "Добавлен новый трек" #: tools/editor/animation_editor.cpp +msgid "Anim Duplicate Keys" +msgstr "Дублированы ключи анимации" + +#: tools/editor/animation_editor.cpp msgid "Move Anim Track Up" msgstr "Трек передвинут вверх" @@ -555,10 +560,6 @@ msgid "Remove Anim Track" msgstr "Трек удалён" #: tools/editor/animation_editor.cpp -msgid "Anim Duplicate Keys" -msgstr "Дублированы ключи анимации" - -#: tools/editor/animation_editor.cpp msgid "Set Transitions to:" msgstr "Установлен переход на:" @@ -587,6 +588,20 @@ msgid "Anim Delete Keys" msgstr "Ключ удалён" #: tools/editor/animation_editor.cpp +#: tools/editor/plugins/tile_map_editor_plugin.cpp +msgid "Duplicate Selection" +msgstr "Дублировать выделенное" + +#: tools/editor/animation_editor.cpp +msgid "Duplicate Transposed" +msgstr "Дублировать перемещённый" + +#: tools/editor/animation_editor.cpp +#, fuzzy +msgid "Remove Selection" +msgstr "Кадрировать выбранное" + +#: tools/editor/animation_editor.cpp msgid "Continuous" msgstr "Непрерывная" @@ -615,15 +630,6 @@ msgid "Scale From Cursor" msgstr "Масштаб относительно курсора" #: tools/editor/animation_editor.cpp -#: tools/editor/plugins/tile_map_editor_plugin.cpp -msgid "Duplicate Selection" -msgstr "Дублировать выделенное" - -#: tools/editor/animation_editor.cpp -msgid "Duplicate Transposed" -msgstr "Дублировать перемещённый" - -#: tools/editor/animation_editor.cpp msgid "Goto Next Step" msgstr "Перейти к следующему шагу" @@ -894,7 +900,6 @@ msgid "Call" msgstr "Вызов" #: tools/editor/call_dialog.cpp tools/editor/connections_dialog.cpp -#: tools/editor/import_settings.cpp #: tools/editor/plugins/animation_player_editor_plugin.cpp #: tools/editor/plugins/canvas_item_editor_plugin.cpp #: tools/editor/plugins/resource_preloader_editor_plugin.cpp @@ -1010,11 +1015,11 @@ msgid "Method in target Node must be specified!" msgstr "Метод должен быть указан в целевом Узле!" #: tools/editor/connections_dialog.cpp -#, fuzzy msgid "Connect To Node:" msgstr "Присоединить к узлу:" -#: tools/editor/connections_dialog.cpp tools/editor/groups_editor.cpp +#: tools/editor/connections_dialog.cpp +#: tools/editor/editor_autoload_settings.cpp tools/editor/groups_editor.cpp #: tools/editor/plugins/item_list_editor_plugin.cpp #: tools/editor/plugins/theme_editor_plugin.cpp #: tools/editor/project_settings.cpp @@ -1122,8 +1127,8 @@ msgstr "Зависимости" msgid "Resource" msgstr "Ресурс" -#: tools/editor/dependency_editor.cpp tools/editor/project_manager.cpp -#: tools/editor/project_settings.cpp +#: tools/editor/dependency_editor.cpp tools/editor/editor_autoload_settings.cpp +#: tools/editor/project_manager.cpp tools/editor/project_settings.cpp msgid "Path" msgstr "Путь" @@ -1210,6 +1215,100 @@ msgstr "Удалить выбранные файлы?" msgid "Delete" msgstr "Удалить" +#: tools/editor/editor_autoload_settings.cpp +msgid "Invalid name." +msgstr "Недопустимое имя." + +#: tools/editor/editor_autoload_settings.cpp +msgid "Valid characters:" +msgstr "Допустимые символы:" + +#: tools/editor/editor_autoload_settings.cpp +msgid "Invalid name. Must not collide with an existing engine class name." +msgstr "" +"Недопустимое имя. Не должно конфликтовать с существующим именем класса " +"движка." + +#: tools/editor/editor_autoload_settings.cpp +msgid "Invalid name. Must not collide with an existing buit-in type name." +msgstr "" +"Недопустимое имя. Не должно конфликтовать с существующим встроенным именем " +"типа." + +#: tools/editor/editor_autoload_settings.cpp +msgid "Invalid name. Must not collide with an existing global constant name." +msgstr "" +"Недопустимое имя. Не должно конфликтовать с существующим глобальным именем " +"константы." + +#: tools/editor/editor_autoload_settings.cpp +#, fuzzy +msgid "Invalid Path." +msgstr "Недопустимый путь!" + +#: tools/editor/editor_autoload_settings.cpp +#, fuzzy +msgid "File does not exist." +msgstr "Файл существует" + +#: tools/editor/editor_autoload_settings.cpp +#, fuzzy +msgid "Not in resource path." +msgstr "Путь ресурса" + +#: tools/editor/editor_autoload_settings.cpp +#, fuzzy +msgid "Add AutoLoad" +msgstr "Добавлена автозагрузка" + +#: tools/editor/editor_autoload_settings.cpp +msgid "Autoload '%s' already exists!" +msgstr "Автозагрузка '%s' уже существует!" + +#: tools/editor/editor_autoload_settings.cpp +msgid "Rename Autoload" +msgstr "Переименовать автозагрузку" + +#: tools/editor/editor_autoload_settings.cpp +msgid "Toggle AutoLoad Globals" +msgstr "Переключена автозагрузка глобальных скриптов" + +#: tools/editor/editor_autoload_settings.cpp +msgid "Move Autoload" +msgstr "Передвинута автозагрузка" + +#: tools/editor/editor_autoload_settings.cpp +msgid "Remove Autoload" +msgstr "Удалена автозагрузка" + +#: tools/editor/editor_autoload_settings.cpp +msgid "Enable" +msgstr "Включить" + +#: tools/editor/editor_autoload_settings.cpp +#, fuzzy +msgid "Rearrange Autoloads" +msgstr "Переименовать автозагрузку" + +#: tools/editor/editor_autoload_settings.cpp +msgid "Node Name:" +msgstr "Имя Узла:" + +#: tools/editor/editor_autoload_settings.cpp +#: tools/editor/io_plugins/editor_scene_import_plugin.cpp +#: tools/editor/plugins/sample_library_editor_plugin.cpp +#: tools/editor/project_manager.cpp +msgid "Name" +msgstr "Имя" + +#: tools/editor/editor_autoload_settings.cpp +msgid "Singleton" +msgstr "Синглтон" + +#: tools/editor/editor_autoload_settings.cpp +msgid "List:" +msgstr "Список:" + #: tools/editor/editor_data.cpp msgid "Updating Scene" msgstr "Обновление сцены" @@ -1232,48 +1331,45 @@ msgstr "Выбрать" #: tools/editor/editor_file_dialog.cpp msgid "Go Back" -msgstr "" +msgstr "Назад" #: tools/editor/editor_file_dialog.cpp msgid "Go Forward" -msgstr "" +msgstr "Вперёд" #: tools/editor/editor_file_dialog.cpp msgid "Go Up" -msgstr "" +msgstr "Вверх" #: tools/editor/editor_file_dialog.cpp msgid "Refresh" -msgstr "" +msgstr "Обновить" #: tools/editor/editor_file_dialog.cpp msgid "Toggle Hidden Files" -msgstr "" +msgstr "Скрыть файлы" #: tools/editor/editor_file_dialog.cpp -#, fuzzy msgid "Toggle Favorite" -msgstr "Точка остановки" +msgstr "Добавить в избранное" #: tools/editor/editor_file_dialog.cpp -#, fuzzy msgid "Toggle Mode" -msgstr "Переключить комментарий" +msgstr "Переключить режим отображения" #: tools/editor/editor_file_dialog.cpp -#, fuzzy msgid "Focus Path" -msgstr "Копировать путь" +msgstr "Фокус на пути" #: tools/editor/editor_file_dialog.cpp #, fuzzy -msgid "Mode Favorite Up" -msgstr "Избранное:" +msgid "Move Favorite Up" +msgstr "Избранное по порядку" #: tools/editor/editor_file_dialog.cpp #, fuzzy -msgid "Mode Favorite Down" -msgstr "Переместить вниз" +msgid "Move Favorite Down" +msgstr "Избранное в обратном порядке" #: tools/editor/editor_file_dialog.cpp tools/editor/scenes_dock.cpp msgid "Favorites:" @@ -1295,14 +1391,18 @@ msgstr "Невозможно перейти в подпапку:" msgid "ScanSources" msgstr "Просканировать исходники" -#: tools/editor/editor_help.cpp -msgid "Search Classes" -msgstr "Поиск классов" +#: tools/editor/editor_help.cpp tools/editor/plugins/script_editor_plugin.cpp +msgid "Search Help" +msgstr "Поиск внутри классов" #: tools/editor/editor_help.cpp msgid "Class List:" msgstr "Список классов:" +#: tools/editor/editor_help.cpp +msgid "Search Classes" +msgstr "Поиск классов" + #: tools/editor/editor_help.cpp tools/editor/property_editor.cpp msgid "Class:" msgstr "Класс:" @@ -1400,10 +1500,6 @@ msgstr "Импортируется:" msgid "Node From Scene" msgstr "Узел со сцены" -#: tools/editor/editor_node.cpp tools/editor/scenes_dock.cpp -msgid "Re-Import.." -msgstr "Переимпортировать.." - #: tools/editor/editor_node.cpp #: tools/editor/plugins/animation_player_editor_plugin.cpp #: tools/editor/resources_dock.cpp @@ -1529,36 +1625,33 @@ msgid "There is no defined scene to run." msgstr "Нет определённой сцены, чтобы работать." #: tools/editor/editor_node.cpp -#, fuzzy msgid "" "No main scene has ever been defined, select one?\n" "You can change it later in later in \"Project Settings\" under the " "'application' category." msgstr "" -"Не назначена главная сцена.\n" -"Укажите её в параметре \"main_scene\" расположенном\n" +"Не назначена главная сцена. Хотите выбрать?\n" +"Позже вы можете указать её в параметре \"main_scene\" расположенном\n" "в \"Настройки проекта - Основное - application\"." #: tools/editor/editor_node.cpp -#, fuzzy msgid "" "Selected scene '%s' does not exist, select a valid one?\n" "You can change it later in \"Project Settings\" under the 'application' " "category." msgstr "" -"Не назначена главная сцена.\n" -"Укажите её в параметре \"main_scene\" расположенном\n" +"Выбранная сцена '%s' не существует. Хотите выбрать другую?\n" +"Позже вы можете указать её в параметре \"main_scene\" расположенном\n" "в \"Настройки проекта - Основное - application\"." #: tools/editor/editor_node.cpp -#, fuzzy msgid "" "Selected scene '%s' is not a scene file, select a valid one?\n" "You can change it later in \"Project Settings\" under the 'application' " "category." msgstr "" -"Не назначена главная сцена.\n" -"Укажите её в параметре \"main_scene\" расположенном\n" +"Выбранный файл '%s' не является файлом сцены. Хотите выбрать другой файл?\n" +"Позже вы можете указать её в параметре \"main_scene\" расположенном\n" "в \"Настройки проекта - Основное - application\"." #: tools/editor/editor_node.cpp @@ -1655,8 +1748,8 @@ msgstr "" #: tools/editor/editor_node.cpp #, fuzzy -msgid "Pick a Manu Scene" -msgstr "Главная сцена" +msgid "Pick a Main Scene" +msgstr "Выберите главную сцену" #: tools/editor/editor_node.cpp tools/editor/scene_tree_dock.cpp msgid "Ugh" @@ -1721,14 +1814,12 @@ msgid "Distraction Free Mode" msgstr "Свободный режим" #: tools/editor/editor_node.cpp -#, fuzzy msgid "Next tab" -msgstr "Следующий" +msgstr "Следующая вкладка" #: tools/editor/editor_node.cpp -#, fuzzy msgid "Previous tab" -msgstr "Предыдущий каталог" +msgstr "Предыдущая вкладка" #: tools/editor/editor_node.cpp msgid "Operations with scene files." @@ -1751,6 +1842,11 @@ msgid "Save Scene" msgstr "Сохранить сцену" #: tools/editor/editor_node.cpp +#, fuzzy +msgid "Save all Scenes" +msgstr "Сохранить сцену" + +#: tools/editor/editor_node.cpp msgid "Close Scene" msgstr "Закрыть сцену" @@ -1874,6 +1970,11 @@ msgid "Play custom scene" msgstr "Запустить выборочную сцену" #: tools/editor/editor_node.cpp +#, fuzzy +msgid "Play Custom Scene" +msgstr "Запустить выборочную сцену" + +#: tools/editor/editor_node.cpp msgid "Debug options" msgstr "Параметры отладки" @@ -2045,7 +2146,6 @@ msgid "Output" msgstr "Вывод" #: tools/editor/editor_node.cpp tools/editor/editor_reimport_dialog.cpp -#: tools/editor/import_settings.cpp msgid "Re-Import" msgstr "Импортировать снова" @@ -2195,7 +2295,7 @@ msgstr "По-умолчанию (как редактор)" #: tools/editor/editor_sub_scene.cpp msgid "Select Node(s) to Import" -msgstr "Выберите Узлы(ы) для импорта" +msgstr "Выберите Узел(узлы) для импорта" #: tools/editor/editor_sub_scene.cpp msgid "Scene Path:" @@ -2219,10 +2319,6 @@ msgstr "Добавить в группу" msgid "Remove from Group" msgstr "Удалить из группы" -#: tools/editor/import_settings.cpp -msgid "Imported Resources" -msgstr "Импортированные ресурсы" - #: tools/editor/io_plugins/editor_bitmask_import_plugin.cpp msgid "No bit masks to import!" msgstr "Нет битовой маски для импорта!" @@ -2298,6 +2394,8 @@ msgid "" "Invalid file extension.\n" "Please use .fnt." msgstr "" +"Недопустимое расширение файла.\n" +"Пожалуйста, используйте .fnt." #: tools/editor/io_plugins/editor_font_import_plugin.cpp msgid "Can't load/process source font." @@ -2435,12 +2533,6 @@ msgid "Clips" msgstr "Клипы" #: tools/editor/io_plugins/editor_scene_import_plugin.cpp -#: tools/editor/plugins/sample_library_editor_plugin.cpp -#: tools/editor/project_manager.cpp tools/editor/project_settings.cpp -msgid "Name" -msgstr "Имя" - -#: tools/editor/io_plugins/editor_scene_import_plugin.cpp msgid "Start(s)" msgstr "Нач(с.)" @@ -2541,9 +2633,8 @@ msgid "Couldn't load post-import script:" msgstr "Не могу загрузить скрипт для пост-импорта:" #: tools/editor/io_plugins/editor_scene_import_plugin.cpp -#, fuzzy msgid "Invalid/broken script for post-import (check console):" -msgstr "Повреждённый/сломанный скрипт для пост-импорта:" +msgstr "Повреждённый/сломанный скрипт для пост-импорта (проверьте консоль):" #: tools/editor/io_plugins/editor_scene_import_plugin.cpp msgid "Error running post-import script:" @@ -3412,8 +3503,9 @@ msgid "Anchor" msgstr "Привязка" #: tools/editor/plugins/canvas_item_editor_plugin.cpp -msgid "Insert Keys (Ins)" -msgstr "Вставить ключи (Ins)" +#, fuzzy +msgid "Insert Keys" +msgstr "Вставить ключ" #: tools/editor/plugins/canvas_item_editor_plugin.cpp msgid "Insert Key" @@ -3587,7 +3679,7 @@ msgstr "В MeshInstance нет полисетки!" #: tools/editor/plugins/mesh_instance_editor_plugin.cpp msgid "Mesh has not surface to create outlines from!" -msgstr "" +msgstr "Полиcетка не имеет поверхности для создания контура!" #: tools/editor/plugins/mesh_instance_editor_plugin.cpp msgid "Could not create outline!" @@ -3951,6 +4043,7 @@ msgid "Clear UV" msgstr "Очистить UV" #: tools/editor/plugins/polygon_2d_editor_plugin.cpp +#: tools/editor/plugins/spatial_editor_plugin.cpp msgid "Snap" msgstr "Привязка" @@ -4066,6 +4159,16 @@ msgid "Save Theme As.." msgstr "Сохранить тему как.." #: tools/editor/plugins/script_editor_plugin.cpp +#, fuzzy +msgid "Next script" +msgstr "Создать скрипт" + +#: tools/editor/plugins/script_editor_plugin.cpp +#, fuzzy +msgid "Previous script" +msgstr "Предыдущая вкладка" + +#: tools/editor/plugins/script_editor_plugin.cpp #: tools/editor/project_export.cpp msgid "File" msgstr "Файл" @@ -4251,10 +4354,6 @@ msgid "Search the class hierarchy." msgstr "Поиск в классовой иерархии." #: tools/editor/plugins/script_editor_plugin.cpp -msgid "Search Help" -msgstr "Поиск внутри классов" - -#: tools/editor/plugins/script_editor_plugin.cpp msgid "Search the reference documentation." msgstr "Поиск справочной документации." @@ -4291,6 +4390,11 @@ msgstr "Пересохранить" msgid "Debugger" msgstr "Отладчик" +#: tools/editor/plugins/script_editor_plugin.cpp +msgid "" +"Built-in scripts can only be edited when the scene they belong to is loaded" +msgstr "" + #: tools/editor/plugins/shader_editor_plugin.cpp msgid "Vertex" msgstr "Вертекс" @@ -4524,76 +4628,85 @@ msgid "Align with view" msgstr "Совместить с видом" #: tools/editor/plugins/spatial_editor_plugin.cpp -msgid "Top (Num7)" -msgstr "Вид сверху (Num 7)" +msgid "Environment" +msgstr "Окружение" #: tools/editor/plugins/spatial_editor_plugin.cpp -msgid "Bottom (Shift+Num7)" -msgstr "Вид снизу (Shift+Num7)" +msgid "Audio Listener" +msgstr "Прослушиватель звука" #: tools/editor/plugins/spatial_editor_plugin.cpp -msgid "Left (Num3)" -msgstr "Вид слева (Num3)" +msgid "Gizmos" +msgstr "Вещицы" #: tools/editor/plugins/spatial_editor_plugin.cpp -msgid "Right (Shift+Num3)" -msgstr "Вид справа (Shift+)" +msgid "XForm Dialog" +msgstr "XForm диалоговое окно" #: tools/editor/plugins/spatial_editor_plugin.cpp -msgid "Front (Num1)" -msgstr "Вид спереди (Num1)" +msgid "No scene selected to instance!" +msgstr "Не выбрана сцена!" #: tools/editor/plugins/spatial_editor_plugin.cpp -msgid "Rear (Shift+Num1)" -msgstr "Вид сзади (Shift+Num1)" +msgid "Instance at Cursor" +msgstr "Экземпляр на курсор" #: tools/editor/plugins/spatial_editor_plugin.cpp -msgid "Perspective (Num5)" -msgstr "Перспектива (Num5)" +msgid "Could not instance scene!" +msgstr "Не возможно добавить сцену!" #: tools/editor/plugins/spatial_editor_plugin.cpp -msgid "Orthogonal (Num5)" -msgstr "Ортогонально (Num5)" +msgid "Scale Mode (R)" +msgstr "Режим масштабирования (R)" #: tools/editor/plugins/spatial_editor_plugin.cpp -msgid "Environment" -msgstr "Окружение" +#, fuzzy +msgid "Bottom View" +msgstr "Вид Снизу." #: tools/editor/plugins/spatial_editor_plugin.cpp -msgid "Audio Listener" -msgstr "Прослушиватель звука" +#, fuzzy +msgid "Top View" +msgstr "Вид сверху." #: tools/editor/plugins/spatial_editor_plugin.cpp -msgid "Gizmos" -msgstr "Вещицы" +#, fuzzy +msgid "Rear View" +msgstr "Вид сзади." #: tools/editor/plugins/spatial_editor_plugin.cpp -msgid "Selection (F)" -msgstr "Показать выбранный узел (F)" +#, fuzzy +msgid "Front View" +msgstr "Вид спереди." #: tools/editor/plugins/spatial_editor_plugin.cpp -msgid "Align with view (Ctrl+Shift+F)" -msgstr "Совместите с видом (Ctrl+Shift+F)" +#, fuzzy +msgid "Left View" +msgstr "Вид слева." #: tools/editor/plugins/spatial_editor_plugin.cpp -msgid "XForm Dialog" -msgstr "XForm диалоговое окно" +#, fuzzy +msgid "Right View" +msgstr "Вид справа." #: tools/editor/plugins/spatial_editor_plugin.cpp -msgid "No scene selected to instance!" -msgstr "Не выбрана сцена!" +msgid "Switch Perspective/Orthogonal view" +msgstr "" #: tools/editor/plugins/spatial_editor_plugin.cpp -msgid "Instance at Cursor" -msgstr "Экземпляр на курсор" +#, fuzzy +msgid "Insert Animation Key" +msgstr "Вставить анимацию" #: tools/editor/plugins/spatial_editor_plugin.cpp -msgid "Could not instance scene!" -msgstr "Не возможно добавить сцену!" +#, fuzzy +msgid "Focus Selection" +msgstr "Масштаб выбранного промежутка" #: tools/editor/plugins/spatial_editor_plugin.cpp -msgid "Scale Mode (R)" -msgstr "Режим масштабирования (R)" +#, fuzzy +msgid "Align Selection With View" +msgstr "Совместить с видом" #: tools/editor/plugins/spatial_editor_plugin.cpp msgid "Transform" @@ -4796,47 +4909,40 @@ msgid "StyleBox Preview:" msgstr "StyleBox предпросмотр:" #: tools/editor/plugins/texture_region_editor_plugin.cpp -#, fuzzy msgid "Snap Mode:" -msgstr "Режим запуска:" +msgstr "Режим привязки:" #: tools/editor/plugins/texture_region_editor_plugin.cpp msgid "<None>" -msgstr "" +msgstr "<Нет>" #: tools/editor/plugins/texture_region_editor_plugin.cpp -#, fuzzy msgid "Pixel Snap" -msgstr "Использовать попиксельную привязку" +msgstr "Попиксельная привязка" #: tools/editor/plugins/texture_region_editor_plugin.cpp -#, fuzzy msgid "Grid Snap" -msgstr "Шаг сетки:" +msgstr "Привязка по сетке" #: tools/editor/plugins/texture_region_editor_plugin.cpp msgid "Auto Slice" -msgstr "" +msgstr "Автоматически" #: tools/editor/plugins/texture_region_editor_plugin.cpp -#, fuzzy msgid "Offset:" -msgstr "Отступ сетку:" +msgstr "Отступ:" #: tools/editor/plugins/texture_region_editor_plugin.cpp -#, fuzzy msgid "Step:" -msgstr "Шаг (сек.):" +msgstr "Шаг:" #: tools/editor/plugins/texture_region_editor_plugin.cpp -#, fuzzy msgid "Separation:" -msgstr "Разделы:" +msgstr "Разделение:" #: tools/editor/plugins/texture_region_editor_plugin.cpp -#, fuzzy msgid "Texture Region" -msgstr "Редактор области текстуры" +msgstr "Область текстуры" #: tools/editor/plugins/texture_region_editor_plugin.cpp msgid "Texture Region Editor" @@ -5323,6 +5429,17 @@ msgid "Couldn't create engine.cfg in project path." msgstr "Не могу создать engine.cfg в папке проекта." #: tools/editor/project_manager.cpp +#, fuzzy +msgid "The following files failed extraction from package:" +msgstr "" +"Следующие файлы новее на диске.\n" +"Какие меры должны быть приняты?:" + +#: tools/editor/project_manager.cpp +msgid "Package Installed Successfully!" +msgstr "" + +#: tools/editor/project_manager.cpp msgid "Import Existing Project" msgstr "Импортировать существующий проект" @@ -5343,6 +5460,16 @@ msgid "Project Path:" msgstr "Путь к проекту:" #: tools/editor/project_manager.cpp +#, fuzzy +msgid "Install Project:" +msgstr "Последние проекты:" + +#: tools/editor/project_manager.cpp +#, fuzzy +msgid "Install" +msgstr "Добавить экземпляр" + +#: tools/editor/project_manager.cpp msgid "Browse" msgstr "Обзор" @@ -5507,56 +5634,6 @@ msgid "Add Translation" msgstr "Добавлен перевод" #: tools/editor/project_settings.cpp -msgid "Invalid name." -msgstr "Недопустимое имя." - -#: tools/editor/project_settings.cpp -msgid "Valid characters:" -msgstr "Допустимые символы:" - -#: tools/editor/project_settings.cpp -msgid "Invalid name. Must not collide with an existing engine class name." -msgstr "" -"Недопустимое имя. Не должно конфликтовать с существующим именем класса " -"движка." - -#: tools/editor/project_settings.cpp -msgid "Invalid name. Must not collide with an existing buit-in type name." -msgstr "" -"Недопустимое имя. Не должно конфликтовать с существующим встроенным именем " -"типа." - -#: tools/editor/project_settings.cpp -msgid "Invalid name. Must not collide with an existing global constant name." -msgstr "" -"Недопустимое имя. Не должно конфликтовать с существующим глобальным именем " -"константы." - -#: tools/editor/project_settings.cpp -msgid "Autoload '%s' already exists!" -msgstr "Автозагрузка '%s' уже существует!" - -#: tools/editor/project_settings.cpp -msgid "Rename Autoload" -msgstr "Переименовать автозагрузку" - -#: tools/editor/project_settings.cpp -msgid "Toggle AutoLoad Globals" -msgstr "Переключена автозагрузка глобальных скриптов" - -#: tools/editor/project_settings.cpp -msgid "Add Autoload" -msgstr "Добавлена автозагрузка" - -#: tools/editor/project_settings.cpp -msgid "Remove Autoload" -msgstr "Удалена автозагрузка" - -#: tools/editor/project_settings.cpp -msgid "Move Autoload" -msgstr "Передвинута автозагрузка" - -#: tools/editor/project_settings.cpp msgid "Remove Translation" msgstr "Перевод удалён" @@ -5581,10 +5658,6 @@ msgid "Remove Resource Remap Option" msgstr "Удалён параметр ресурса перенаправления" #: tools/editor/project_settings.cpp -msgid "Enable" -msgstr "Включить" - -#: tools/editor/project_settings.cpp msgid "Project Settings (engine.cfg)" msgstr "Настройки проекта (engine.cfg)" @@ -5657,18 +5730,6 @@ msgid "AutoLoad" msgstr "Автозагрузка" #: tools/editor/project_settings.cpp -msgid "Node Name:" -msgstr "Имя Узла:" - -#: tools/editor/project_settings.cpp -msgid "List:" -msgstr "Список:" - -#: tools/editor/project_settings.cpp -msgid "Singleton" -msgstr "Синглтон" - -#: tools/editor/project_settings.cpp msgid "Plugins" msgstr "Плагины" @@ -5912,7 +5973,7 @@ msgstr "Ошибка сохранения сцены." #: tools/editor/scene_tree_dock.cpp msgid "Error duplicating scene to save it." -msgstr "Ошибка дублирования сцены, чтобы сохранить её." +msgstr "Ошибка дублирования сцены, при её сохранении." #: tools/editor/scene_tree_dock.cpp msgid "Edit Groups" @@ -6083,6 +6144,10 @@ msgid "Show In File Manager" msgstr "Просмотреть в проводнике" #: tools/editor/scenes_dock.cpp +msgid "Re-Import.." +msgstr "Переимпортировать.." + +#: tools/editor/scenes_dock.cpp msgid "Previous Directory" msgstr "Предыдущий каталог" @@ -6342,6 +6407,42 @@ msgstr "Изменена длинна луча" msgid "Change Notifier Extents" msgstr "Изменены границы уведомителя" +#~ msgid "Imported Resources" +#~ msgstr "Импортированные ресурсы" + +#~ msgid "Insert Keys (Ins)" +#~ msgstr "Вставить ключи (Ins)" + +#~ msgid "Top (Num7)" +#~ msgstr "Вид сверху (Num 7)" + +#~ msgid "Bottom (Shift+Num7)" +#~ msgstr "Вид снизу (Shift+Num7)" + +#~ msgid "Left (Num3)" +#~ msgstr "Вид слева (Num3)" + +#~ msgid "Right (Shift+Num3)" +#~ msgstr "Вид справа (Shift+)" + +#~ msgid "Front (Num1)" +#~ msgstr "Вид спереди (Num1)" + +#~ msgid "Rear (Shift+Num1)" +#~ msgstr "Вид сзади (Shift+Num1)" + +#~ msgid "Perspective (Num5)" +#~ msgstr "Перспектива (Num5)" + +#~ msgid "Orthogonal (Num5)" +#~ msgstr "Ортогонально (Num5)" + +#~ msgid "Selection (F)" +#~ msgstr "Показать выбранный узел (F)" + +#~ msgid "Align with view (Ctrl+Shift+F)" +#~ msgstr "Совместите с видом (Ctrl+Shift+F)" + #~ msgid "Change Anim Loop Interpolation" #~ msgstr "Изменена интерполяция анимации" @@ -6400,9 +6501,6 @@ msgstr "Изменены границы уведомителя" #~ msgid "Set region_rect" #~ msgstr "Установить прямоугольник региона" -#~ msgid "Recent Projects:" -#~ msgstr "Последние проекты:" - #~ msgid "Plugin List:" #~ msgstr "Список плагинов:" diff --git a/tools/translations/sk.po b/tools/translations/sk.po index 94ce24b46c..eaba6f1752 100644 --- a/tools/translations/sk.po +++ b/tools/translations/sk.po @@ -286,9 +286,10 @@ msgstr "Uložiť súbor" msgid "Create Folder" msgstr "Vytvoriť adresár" -#: scene/gui/file_dialog.cpp tools/editor/editor_file_dialog.cpp +#: scene/gui/file_dialog.cpp tools/editor/editor_autoload_settings.cpp +#: tools/editor/editor_file_dialog.cpp #: tools/editor/io_plugins/editor_font_import_plugin.cpp -#: tools/editor/project_settings.cpp tools/editor/script_create_dialog.cpp +#: tools/editor/script_create_dialog.cpp msgid "Path:" msgstr "Cesta:" @@ -481,19 +482,19 @@ msgid "Anim Add Track" msgstr "" #: tools/editor/animation_editor.cpp -msgid "Move Anim Track Up" +msgid "Anim Duplicate Keys" msgstr "" #: tools/editor/animation_editor.cpp -msgid "Move Anim Track Down" +msgid "Move Anim Track Up" msgstr "" #: tools/editor/animation_editor.cpp -msgid "Remove Anim Track" +msgid "Move Anim Track Down" msgstr "" #: tools/editor/animation_editor.cpp -msgid "Anim Duplicate Keys" +msgid "Remove Anim Track" msgstr "" #: tools/editor/animation_editor.cpp @@ -525,6 +526,20 @@ msgid "Anim Delete Keys" msgstr "" #: tools/editor/animation_editor.cpp +#: tools/editor/plugins/tile_map_editor_plugin.cpp +msgid "Duplicate Selection" +msgstr "" + +#: tools/editor/animation_editor.cpp +msgid "Duplicate Transposed" +msgstr "" + +#: tools/editor/animation_editor.cpp +#, fuzzy +msgid "Remove Selection" +msgstr "Všetky vybrané" + +#: tools/editor/animation_editor.cpp msgid "Continuous" msgstr "" @@ -553,15 +568,6 @@ msgid "Scale From Cursor" msgstr "" #: tools/editor/animation_editor.cpp -#: tools/editor/plugins/tile_map_editor_plugin.cpp -msgid "Duplicate Selection" -msgstr "" - -#: tools/editor/animation_editor.cpp -msgid "Duplicate Transposed" -msgstr "" - -#: tools/editor/animation_editor.cpp msgid "Goto Next Step" msgstr "" @@ -832,7 +838,6 @@ msgid "Call" msgstr "" #: tools/editor/call_dialog.cpp tools/editor/connections_dialog.cpp -#: tools/editor/import_settings.cpp #: tools/editor/plugins/animation_player_editor_plugin.cpp #: tools/editor/plugins/canvas_item_editor_plugin.cpp #: tools/editor/plugins/resource_preloader_editor_plugin.cpp @@ -951,7 +956,8 @@ msgstr "" msgid "Connect To Node:" msgstr "" -#: tools/editor/connections_dialog.cpp tools/editor/groups_editor.cpp +#: tools/editor/connections_dialog.cpp +#: tools/editor/editor_autoload_settings.cpp tools/editor/groups_editor.cpp #: tools/editor/plugins/item_list_editor_plugin.cpp #: tools/editor/plugins/theme_editor_plugin.cpp #: tools/editor/project_settings.cpp @@ -1055,8 +1061,8 @@ msgstr "" msgid "Resource" msgstr "" -#: tools/editor/dependency_editor.cpp tools/editor/project_manager.cpp -#: tools/editor/project_settings.cpp +#: tools/editor/dependency_editor.cpp tools/editor/editor_autoload_settings.cpp +#: tools/editor/project_manager.cpp tools/editor/project_settings.cpp msgid "Path" msgstr "" @@ -1141,6 +1147,89 @@ msgstr "" msgid "Delete" msgstr "" +#: tools/editor/editor_autoload_settings.cpp +msgid "Invalid name." +msgstr "" + +#: tools/editor/editor_autoload_settings.cpp +msgid "Valid characters:" +msgstr "" + +#: tools/editor/editor_autoload_settings.cpp +msgid "Invalid name. Must not collide with an existing engine class name." +msgstr "" + +#: tools/editor/editor_autoload_settings.cpp +msgid "Invalid name. Must not collide with an existing buit-in type name." +msgstr "" + +#: tools/editor/editor_autoload_settings.cpp +msgid "Invalid name. Must not collide with an existing global constant name." +msgstr "" + +#: tools/editor/editor_autoload_settings.cpp +msgid "Invalid Path." +msgstr "" + +#: tools/editor/editor_autoload_settings.cpp +msgid "File does not exist." +msgstr "" + +#: tools/editor/editor_autoload_settings.cpp +msgid "Not in resource path." +msgstr "" + +#: tools/editor/editor_autoload_settings.cpp +msgid "Add AutoLoad" +msgstr "" + +#: tools/editor/editor_autoload_settings.cpp +msgid "Autoload '%s' already exists!" +msgstr "" + +#: tools/editor/editor_autoload_settings.cpp +msgid "Rename Autoload" +msgstr "" + +#: tools/editor/editor_autoload_settings.cpp +msgid "Toggle AutoLoad Globals" +msgstr "" + +#: tools/editor/editor_autoload_settings.cpp +msgid "Move Autoload" +msgstr "" + +#: tools/editor/editor_autoload_settings.cpp +msgid "Remove Autoload" +msgstr "" + +#: tools/editor/editor_autoload_settings.cpp +msgid "Enable" +msgstr "" + +#: tools/editor/editor_autoload_settings.cpp +msgid "Rearrange Autoloads" +msgstr "" + +#: tools/editor/editor_autoload_settings.cpp +msgid "Node Name:" +msgstr "" + +#: tools/editor/editor_autoload_settings.cpp +#: tools/editor/io_plugins/editor_scene_import_plugin.cpp +#: tools/editor/plugins/sample_library_editor_plugin.cpp +#: tools/editor/project_manager.cpp +msgid "Name" +msgstr "" + +#: tools/editor/editor_autoload_settings.cpp +msgid "Singleton" +msgstr "" + +#: tools/editor/editor_autoload_settings.cpp +msgid "List:" +msgstr "" + #: tools/editor/editor_data.cpp msgid "Updating Scene" msgstr "" @@ -1194,11 +1283,11 @@ msgid "Focus Path" msgstr "" #: tools/editor/editor_file_dialog.cpp -msgid "Mode Favorite Up" +msgid "Move Favorite Up" msgstr "" #: tools/editor/editor_file_dialog.cpp -msgid "Mode Favorite Down" +msgid "Move Favorite Down" msgstr "" #: tools/editor/editor_file_dialog.cpp tools/editor/scenes_dock.cpp @@ -1221,14 +1310,18 @@ msgstr "" msgid "ScanSources" msgstr "" -#: tools/editor/editor_help.cpp -msgid "Search Classes" +#: tools/editor/editor_help.cpp tools/editor/plugins/script_editor_plugin.cpp +msgid "Search Help" msgstr "" #: tools/editor/editor_help.cpp msgid "Class List:" msgstr "Zoznam tried:" +#: tools/editor/editor_help.cpp +msgid "Search Classes" +msgstr "" + #: tools/editor/editor_help.cpp tools/editor/property_editor.cpp msgid "Class:" msgstr "Trieda:" @@ -1326,10 +1419,6 @@ msgstr "" msgid "Node From Scene" msgstr "" -#: tools/editor/editor_node.cpp tools/editor/scenes_dock.cpp -msgid "Re-Import.." -msgstr "" - #: tools/editor/editor_node.cpp #: tools/editor/plugins/animation_player_editor_plugin.cpp #: tools/editor/resources_dock.cpp @@ -1564,7 +1653,7 @@ msgid "" msgstr "" #: tools/editor/editor_node.cpp -msgid "Pick a Manu Scene" +msgid "Pick a Main Scene" msgstr "" #: tools/editor/editor_node.cpp tools/editor/scene_tree_dock.cpp @@ -1655,6 +1744,11 @@ msgid "Save Scene" msgstr "" #: tools/editor/editor_node.cpp +#, fuzzy +msgid "Save all Scenes" +msgstr "Uložiť súbor" + +#: tools/editor/editor_node.cpp msgid "Close Scene" msgstr "" @@ -1778,6 +1872,10 @@ msgid "Play custom scene" msgstr "" #: tools/editor/editor_node.cpp +msgid "Play Custom Scene" +msgstr "" + +#: tools/editor/editor_node.cpp msgid "Debug options" msgstr "" @@ -1930,7 +2028,6 @@ msgid "Output" msgstr "" #: tools/editor/editor_node.cpp tools/editor/editor_reimport_dialog.cpp -#: tools/editor/import_settings.cpp msgid "Re-Import" msgstr "" @@ -2102,10 +2199,6 @@ msgstr "" msgid "Remove from Group" msgstr "" -#: tools/editor/import_settings.cpp -msgid "Imported Resources" -msgstr "" - #: tools/editor/io_plugins/editor_bitmask_import_plugin.cpp msgid "No bit masks to import!" msgstr "" @@ -2314,12 +2407,6 @@ msgid "Clips" msgstr "" #: tools/editor/io_plugins/editor_scene_import_plugin.cpp -#: tools/editor/plugins/sample_library_editor_plugin.cpp -#: tools/editor/project_manager.cpp tools/editor/project_settings.cpp -msgid "Name" -msgstr "" - -#: tools/editor/io_plugins/editor_scene_import_plugin.cpp msgid "Start(s)" msgstr "" @@ -3279,7 +3366,7 @@ msgid "Anchor" msgstr "" #: tools/editor/plugins/canvas_item_editor_plugin.cpp -msgid "Insert Keys (Ins)" +msgid "Insert Keys" msgstr "" #: tools/editor/plugins/canvas_item_editor_plugin.cpp @@ -3818,6 +3905,7 @@ msgid "Clear UV" msgstr "" #: tools/editor/plugins/polygon_2d_editor_plugin.cpp +#: tools/editor/plugins/spatial_editor_plugin.cpp msgid "Snap" msgstr "" @@ -3933,6 +4021,15 @@ msgid "Save Theme As.." msgstr "" #: tools/editor/plugins/script_editor_plugin.cpp +#, fuzzy +msgid "Next script" +msgstr "Popis:" + +#: tools/editor/plugins/script_editor_plugin.cpp +msgid "Previous script" +msgstr "" + +#: tools/editor/plugins/script_editor_plugin.cpp #: tools/editor/project_export.cpp msgid "File" msgstr "" @@ -4118,10 +4215,6 @@ msgid "Search the class hierarchy." msgstr "" #: tools/editor/plugins/script_editor_plugin.cpp -msgid "Search Help" -msgstr "" - -#: tools/editor/plugins/script_editor_plugin.cpp msgid "Search the reference documentation." msgstr "" @@ -4156,6 +4249,11 @@ msgstr "" msgid "Debugger" msgstr "" +#: tools/editor/plugins/script_editor_plugin.cpp +msgid "" +"Built-in scripts can only be edited when the scene they belong to is loaded" +msgstr "" + #: tools/editor/plugins/shader_editor_plugin.cpp msgid "Vertex" msgstr "" @@ -4389,76 +4487,78 @@ msgid "Align with view" msgstr "" #: tools/editor/plugins/spatial_editor_plugin.cpp -msgid "Top (Num7)" +msgid "Environment" msgstr "" #: tools/editor/plugins/spatial_editor_plugin.cpp -msgid "Bottom (Shift+Num7)" +msgid "Audio Listener" msgstr "" #: tools/editor/plugins/spatial_editor_plugin.cpp -msgid "Left (Num3)" +msgid "Gizmos" msgstr "" #: tools/editor/plugins/spatial_editor_plugin.cpp -msgid "Right (Shift+Num3)" +msgid "XForm Dialog" msgstr "" #: tools/editor/plugins/spatial_editor_plugin.cpp -msgid "Front (Num1)" +msgid "No scene selected to instance!" msgstr "" #: tools/editor/plugins/spatial_editor_plugin.cpp -msgid "Rear (Shift+Num1)" +msgid "Instance at Cursor" msgstr "" #: tools/editor/plugins/spatial_editor_plugin.cpp -msgid "Perspective (Num5)" +msgid "Could not instance scene!" msgstr "" #: tools/editor/plugins/spatial_editor_plugin.cpp -msgid "Orthogonal (Num5)" +msgid "Scale Mode (R)" msgstr "" #: tools/editor/plugins/spatial_editor_plugin.cpp -msgid "Environment" +msgid "Bottom View" msgstr "" #: tools/editor/plugins/spatial_editor_plugin.cpp -msgid "Audio Listener" +msgid "Top View" msgstr "" #: tools/editor/plugins/spatial_editor_plugin.cpp -msgid "Gizmos" +msgid "Rear View" msgstr "" #: tools/editor/plugins/spatial_editor_plugin.cpp -msgid "Selection (F)" +msgid "Front View" msgstr "" #: tools/editor/plugins/spatial_editor_plugin.cpp -msgid "Align with view (Ctrl+Shift+F)" +msgid "Left View" msgstr "" #: tools/editor/plugins/spatial_editor_plugin.cpp -msgid "XForm Dialog" +msgid "Right View" msgstr "" #: tools/editor/plugins/spatial_editor_plugin.cpp -msgid "No scene selected to instance!" +msgid "Switch Perspective/Orthogonal view" msgstr "" #: tools/editor/plugins/spatial_editor_plugin.cpp -msgid "Instance at Cursor" +msgid "Insert Animation Key" msgstr "" #: tools/editor/plugins/spatial_editor_plugin.cpp -msgid "Could not instance scene!" -msgstr "" +#, fuzzy +msgid "Focus Selection" +msgstr "Všetky vybrané" #: tools/editor/plugins/spatial_editor_plugin.cpp -msgid "Scale Mode (R)" -msgstr "" +#, fuzzy +msgid "Align Selection With View" +msgstr "Všetky vybrané" #: tools/editor/plugins/spatial_editor_plugin.cpp msgid "Transform" @@ -5180,6 +5280,14 @@ msgid "Couldn't create engine.cfg in project path." msgstr "" #: tools/editor/project_manager.cpp +msgid "The following files failed extraction from package:" +msgstr "" + +#: tools/editor/project_manager.cpp +msgid "Package Installed Successfully!" +msgstr "" + +#: tools/editor/project_manager.cpp msgid "Import Existing Project" msgstr "" @@ -5200,6 +5308,14 @@ msgid "Project Path:" msgstr "" #: tools/editor/project_manager.cpp +msgid "Install Project:" +msgstr "" + +#: tools/editor/project_manager.cpp +msgid "Install" +msgstr "" + +#: tools/editor/project_manager.cpp msgid "Browse" msgstr "" @@ -5364,50 +5480,6 @@ msgid "Add Translation" msgstr "" #: tools/editor/project_settings.cpp -msgid "Invalid name." -msgstr "" - -#: tools/editor/project_settings.cpp -msgid "Valid characters:" -msgstr "" - -#: tools/editor/project_settings.cpp -msgid "Invalid name. Must not collide with an existing engine class name." -msgstr "" - -#: tools/editor/project_settings.cpp -msgid "Invalid name. Must not collide with an existing buit-in type name." -msgstr "" - -#: tools/editor/project_settings.cpp -msgid "Invalid name. Must not collide with an existing global constant name." -msgstr "" - -#: tools/editor/project_settings.cpp -msgid "Autoload '%s' already exists!" -msgstr "" - -#: tools/editor/project_settings.cpp -msgid "Rename Autoload" -msgstr "" - -#: tools/editor/project_settings.cpp -msgid "Toggle AutoLoad Globals" -msgstr "" - -#: tools/editor/project_settings.cpp -msgid "Add Autoload" -msgstr "" - -#: tools/editor/project_settings.cpp -msgid "Remove Autoload" -msgstr "" - -#: tools/editor/project_settings.cpp -msgid "Move Autoload" -msgstr "" - -#: tools/editor/project_settings.cpp msgid "Remove Translation" msgstr "" @@ -5432,10 +5504,6 @@ msgid "Remove Resource Remap Option" msgstr "" #: tools/editor/project_settings.cpp -msgid "Enable" -msgstr "" - -#: tools/editor/project_settings.cpp msgid "Project Settings (engine.cfg)" msgstr "" @@ -5508,18 +5576,6 @@ msgid "AutoLoad" msgstr "" #: tools/editor/project_settings.cpp -msgid "Node Name:" -msgstr "" - -#: tools/editor/project_settings.cpp -msgid "List:" -msgstr "" - -#: tools/editor/project_settings.cpp -msgid "Singleton" -msgstr "" - -#: tools/editor/project_settings.cpp msgid "Plugins" msgstr "" @@ -5924,6 +5980,10 @@ msgid "Show In File Manager" msgstr "" #: tools/editor/scenes_dock.cpp +msgid "Re-Import.." +msgstr "" + +#: tools/editor/scenes_dock.cpp msgid "Previous Directory" msgstr "" diff --git a/tools/translations/tools.pot b/tools/translations/tools.pot index a5385f3bad..383f22afd6 100644 --- a/tools/translations/tools.pot +++ b/tools/translations/tools.pot @@ -273,9 +273,10 @@ msgstr "" msgid "Create Folder" msgstr "" -#: scene/gui/file_dialog.cpp tools/editor/editor_file_dialog.cpp +#: scene/gui/file_dialog.cpp tools/editor/editor_autoload_settings.cpp +#: tools/editor/editor_file_dialog.cpp #: tools/editor/io_plugins/editor_font_import_plugin.cpp -#: tools/editor/project_settings.cpp tools/editor/script_create_dialog.cpp +#: tools/editor/script_create_dialog.cpp msgid "Path:" msgstr "" @@ -468,19 +469,19 @@ msgid "Anim Add Track" msgstr "" #: tools/editor/animation_editor.cpp -msgid "Move Anim Track Up" +msgid "Anim Duplicate Keys" msgstr "" #: tools/editor/animation_editor.cpp -msgid "Move Anim Track Down" +msgid "Move Anim Track Up" msgstr "" #: tools/editor/animation_editor.cpp -msgid "Remove Anim Track" +msgid "Move Anim Track Down" msgstr "" #: tools/editor/animation_editor.cpp -msgid "Anim Duplicate Keys" +msgid "Remove Anim Track" msgstr "" #: tools/editor/animation_editor.cpp @@ -512,6 +513,19 @@ msgid "Anim Delete Keys" msgstr "" #: tools/editor/animation_editor.cpp +#: tools/editor/plugins/tile_map_editor_plugin.cpp +msgid "Duplicate Selection" +msgstr "" + +#: tools/editor/animation_editor.cpp +msgid "Duplicate Transposed" +msgstr "" + +#: tools/editor/animation_editor.cpp +msgid "Remove Selection" +msgstr "" + +#: tools/editor/animation_editor.cpp msgid "Continuous" msgstr "" @@ -540,15 +554,6 @@ msgid "Scale From Cursor" msgstr "" #: tools/editor/animation_editor.cpp -#: tools/editor/plugins/tile_map_editor_plugin.cpp -msgid "Duplicate Selection" -msgstr "" - -#: tools/editor/animation_editor.cpp -msgid "Duplicate Transposed" -msgstr "" - -#: tools/editor/animation_editor.cpp msgid "Goto Next Step" msgstr "" @@ -819,7 +824,6 @@ msgid "Call" msgstr "" #: tools/editor/call_dialog.cpp tools/editor/connections_dialog.cpp -#: tools/editor/import_settings.cpp #: tools/editor/plugins/animation_player_editor_plugin.cpp #: tools/editor/plugins/canvas_item_editor_plugin.cpp #: tools/editor/plugins/resource_preloader_editor_plugin.cpp @@ -938,7 +942,8 @@ msgstr "" msgid "Connect To Node:" msgstr "" -#: tools/editor/connections_dialog.cpp tools/editor/groups_editor.cpp +#: tools/editor/connections_dialog.cpp +#: tools/editor/editor_autoload_settings.cpp tools/editor/groups_editor.cpp #: tools/editor/plugins/item_list_editor_plugin.cpp #: tools/editor/plugins/theme_editor_plugin.cpp #: tools/editor/project_settings.cpp @@ -1042,8 +1047,8 @@ msgstr "" msgid "Resource" msgstr "" -#: tools/editor/dependency_editor.cpp tools/editor/project_manager.cpp -#: tools/editor/project_settings.cpp +#: tools/editor/dependency_editor.cpp tools/editor/editor_autoload_settings.cpp +#: tools/editor/project_manager.cpp tools/editor/project_settings.cpp msgid "Path" msgstr "" @@ -1128,6 +1133,89 @@ msgstr "" msgid "Delete" msgstr "" +#: tools/editor/editor_autoload_settings.cpp +msgid "Invalid name." +msgstr "" + +#: tools/editor/editor_autoload_settings.cpp +msgid "Valid characters:" +msgstr "" + +#: tools/editor/editor_autoload_settings.cpp +msgid "Invalid name. Must not collide with an existing engine class name." +msgstr "" + +#: tools/editor/editor_autoload_settings.cpp +msgid "Invalid name. Must not collide with an existing buit-in type name." +msgstr "" + +#: tools/editor/editor_autoload_settings.cpp +msgid "Invalid name. Must not collide with an existing global constant name." +msgstr "" + +#: tools/editor/editor_autoload_settings.cpp +msgid "Invalid Path." +msgstr "" + +#: tools/editor/editor_autoload_settings.cpp +msgid "File does not exist." +msgstr "" + +#: tools/editor/editor_autoload_settings.cpp +msgid "Not in resource path." +msgstr "" + +#: tools/editor/editor_autoload_settings.cpp +msgid "Add AutoLoad" +msgstr "" + +#: tools/editor/editor_autoload_settings.cpp +msgid "Autoload '%s' already exists!" +msgstr "" + +#: tools/editor/editor_autoload_settings.cpp +msgid "Rename Autoload" +msgstr "" + +#: tools/editor/editor_autoload_settings.cpp +msgid "Toggle AutoLoad Globals" +msgstr "" + +#: tools/editor/editor_autoload_settings.cpp +msgid "Move Autoload" +msgstr "" + +#: tools/editor/editor_autoload_settings.cpp +msgid "Remove Autoload" +msgstr "" + +#: tools/editor/editor_autoload_settings.cpp +msgid "Enable" +msgstr "" + +#: tools/editor/editor_autoload_settings.cpp +msgid "Rearrange Autoloads" +msgstr "" + +#: tools/editor/editor_autoload_settings.cpp +msgid "Node Name:" +msgstr "" + +#: tools/editor/editor_autoload_settings.cpp +#: tools/editor/io_plugins/editor_scene_import_plugin.cpp +#: tools/editor/plugins/sample_library_editor_plugin.cpp +#: tools/editor/project_manager.cpp +msgid "Name" +msgstr "" + +#: tools/editor/editor_autoload_settings.cpp +msgid "Singleton" +msgstr "" + +#: tools/editor/editor_autoload_settings.cpp +msgid "List:" +msgstr "" + #: tools/editor/editor_data.cpp msgid "Updating Scene" msgstr "" @@ -1208,14 +1296,18 @@ msgstr "" msgid "ScanSources" msgstr "" -#: tools/editor/editor_help.cpp -msgid "Search Classes" +#: tools/editor/editor_help.cpp tools/editor/plugins/script_editor_plugin.cpp +msgid "Search Help" msgstr "" #: tools/editor/editor_help.cpp msgid "Class List:" msgstr "" +#: tools/editor/editor_help.cpp +msgid "Search Classes" +msgstr "" + #: tools/editor/editor_help.cpp tools/editor/property_editor.cpp msgid "Class:" msgstr "" @@ -1313,10 +1405,6 @@ msgstr "" msgid "Node From Scene" msgstr "" -#: tools/editor/editor_node.cpp tools/editor/scenes_dock.cpp -msgid "Re-Import.." -msgstr "" - #: tools/editor/editor_node.cpp #: tools/editor/plugins/animation_player_editor_plugin.cpp #: tools/editor/resources_dock.cpp @@ -1551,7 +1639,7 @@ msgid "" msgstr "" #: tools/editor/editor_node.cpp -msgid "Pick a Manu Scene" +msgid "Pick a Main Scene" msgstr "" #: tools/editor/editor_node.cpp tools/editor/scene_tree_dock.cpp @@ -1642,6 +1730,10 @@ msgid "Save Scene" msgstr "" #: tools/editor/editor_node.cpp +msgid "Save all Scenes" +msgstr "" + +#: tools/editor/editor_node.cpp msgid "Close Scene" msgstr "" @@ -1765,6 +1857,10 @@ msgid "Play custom scene" msgstr "" #: tools/editor/editor_node.cpp +msgid "Play Custom Scene" +msgstr "" + +#: tools/editor/editor_node.cpp msgid "Debug options" msgstr "" @@ -1917,7 +2013,6 @@ msgid "Output" msgstr "" #: tools/editor/editor_node.cpp tools/editor/editor_reimport_dialog.cpp -#: tools/editor/import_settings.cpp msgid "Re-Import" msgstr "" @@ -2089,10 +2184,6 @@ msgstr "" msgid "Remove from Group" msgstr "" -#: tools/editor/import_settings.cpp -msgid "Imported Resources" -msgstr "" - #: tools/editor/io_plugins/editor_bitmask_import_plugin.cpp msgid "No bit masks to import!" msgstr "" @@ -2301,12 +2392,6 @@ msgid "Clips" msgstr "" #: tools/editor/io_plugins/editor_scene_import_plugin.cpp -#: tools/editor/plugins/sample_library_editor_plugin.cpp -#: tools/editor/project_manager.cpp tools/editor/project_settings.cpp -msgid "Name" -msgstr "" - -#: tools/editor/io_plugins/editor_scene_import_plugin.cpp msgid "Start(s)" msgstr "" @@ -3266,7 +3351,7 @@ msgid "Anchor" msgstr "" #: tools/editor/plugins/canvas_item_editor_plugin.cpp -msgid "Insert Keys (Ins)" +msgid "Insert Keys" msgstr "" #: tools/editor/plugins/canvas_item_editor_plugin.cpp @@ -3805,6 +3890,7 @@ msgid "Clear UV" msgstr "" #: tools/editor/plugins/polygon_2d_editor_plugin.cpp +#: tools/editor/plugins/spatial_editor_plugin.cpp msgid "Snap" msgstr "" @@ -3920,6 +4006,14 @@ msgid "Save Theme As.." msgstr "" #: tools/editor/plugins/script_editor_plugin.cpp +msgid "Next script" +msgstr "" + +#: tools/editor/plugins/script_editor_plugin.cpp +msgid "Previous script" +msgstr "" + +#: tools/editor/plugins/script_editor_plugin.cpp #: tools/editor/project_export.cpp msgid "File" msgstr "" @@ -4105,10 +4199,6 @@ msgid "Search the class hierarchy." msgstr "" #: tools/editor/plugins/script_editor_plugin.cpp -msgid "Search Help" -msgstr "" - -#: tools/editor/plugins/script_editor_plugin.cpp msgid "Search the reference documentation." msgstr "" @@ -4143,6 +4233,11 @@ msgstr "" msgid "Debugger" msgstr "" +#: tools/editor/plugins/script_editor_plugin.cpp +msgid "" +"Built-in scripts can only be edited when the scene they belong to is loaded" +msgstr "" + #: tools/editor/plugins/shader_editor_plugin.cpp msgid "Vertex" msgstr "" @@ -4376,75 +4471,75 @@ msgid "Align with view" msgstr "" #: tools/editor/plugins/spatial_editor_plugin.cpp -msgid "Top (Num7)" +msgid "Environment" msgstr "" #: tools/editor/plugins/spatial_editor_plugin.cpp -msgid "Bottom (Shift+Num7)" +msgid "Audio Listener" msgstr "" #: tools/editor/plugins/spatial_editor_plugin.cpp -msgid "Left (Num3)" +msgid "Gizmos" msgstr "" #: tools/editor/plugins/spatial_editor_plugin.cpp -msgid "Right (Shift+Num3)" +msgid "XForm Dialog" msgstr "" #: tools/editor/plugins/spatial_editor_plugin.cpp -msgid "Front (Num1)" +msgid "No scene selected to instance!" msgstr "" #: tools/editor/plugins/spatial_editor_plugin.cpp -msgid "Rear (Shift+Num1)" +msgid "Instance at Cursor" msgstr "" #: tools/editor/plugins/spatial_editor_plugin.cpp -msgid "Perspective (Num5)" +msgid "Could not instance scene!" msgstr "" #: tools/editor/plugins/spatial_editor_plugin.cpp -msgid "Orthogonal (Num5)" +msgid "Scale Mode (R)" msgstr "" #: tools/editor/plugins/spatial_editor_plugin.cpp -msgid "Environment" +msgid "Bottom View" msgstr "" #: tools/editor/plugins/spatial_editor_plugin.cpp -msgid "Audio Listener" +msgid "Top View" msgstr "" #: tools/editor/plugins/spatial_editor_plugin.cpp -msgid "Gizmos" +msgid "Rear View" msgstr "" #: tools/editor/plugins/spatial_editor_plugin.cpp -msgid "Selection (F)" +msgid "Front View" msgstr "" #: tools/editor/plugins/spatial_editor_plugin.cpp -msgid "Align with view (Ctrl+Shift+F)" +msgid "Left View" msgstr "" #: tools/editor/plugins/spatial_editor_plugin.cpp -msgid "XForm Dialog" +msgid "Right View" msgstr "" #: tools/editor/plugins/spatial_editor_plugin.cpp -msgid "No scene selected to instance!" +msgid "Switch Perspective/Orthogonal view" msgstr "" #: tools/editor/plugins/spatial_editor_plugin.cpp -msgid "Instance at Cursor" +msgid "Insert Animation Key" msgstr "" #: tools/editor/plugins/spatial_editor_plugin.cpp -msgid "Could not instance scene!" +msgid "Focus Selection" msgstr "" #: tools/editor/plugins/spatial_editor_plugin.cpp -msgid "Scale Mode (R)" +msgid "Align Selection With View" msgstr "" #: tools/editor/plugins/spatial_editor_plugin.cpp @@ -5166,6 +5261,14 @@ msgid "Couldn't create engine.cfg in project path." msgstr "" #: tools/editor/project_manager.cpp +msgid "The following files failed extraction from package:" +msgstr "" + +#: tools/editor/project_manager.cpp +msgid "Package Installed Successfully!" +msgstr "" + +#: tools/editor/project_manager.cpp msgid "Import Existing Project" msgstr "" @@ -5186,6 +5289,14 @@ msgid "Project Path:" msgstr "" #: tools/editor/project_manager.cpp +msgid "Install Project:" +msgstr "" + +#: tools/editor/project_manager.cpp +msgid "Install" +msgstr "" + +#: tools/editor/project_manager.cpp msgid "Browse" msgstr "" @@ -5350,50 +5461,6 @@ msgid "Add Translation" msgstr "" #: tools/editor/project_settings.cpp -msgid "Invalid name." -msgstr "" - -#: tools/editor/project_settings.cpp -msgid "Valid characters:" -msgstr "" - -#: tools/editor/project_settings.cpp -msgid "Invalid name. Must not collide with an existing engine class name." -msgstr "" - -#: tools/editor/project_settings.cpp -msgid "Invalid name. Must not collide with an existing buit-in type name." -msgstr "" - -#: tools/editor/project_settings.cpp -msgid "Invalid name. Must not collide with an existing global constant name." -msgstr "" - -#: tools/editor/project_settings.cpp -msgid "Autoload '%s' already exists!" -msgstr "" - -#: tools/editor/project_settings.cpp -msgid "Rename Autoload" -msgstr "" - -#: tools/editor/project_settings.cpp -msgid "Toggle AutoLoad Globals" -msgstr "" - -#: tools/editor/project_settings.cpp -msgid "Add Autoload" -msgstr "" - -#: tools/editor/project_settings.cpp -msgid "Remove Autoload" -msgstr "" - -#: tools/editor/project_settings.cpp -msgid "Move Autoload" -msgstr "" - -#: tools/editor/project_settings.cpp msgid "Remove Translation" msgstr "" @@ -5418,10 +5485,6 @@ msgid "Remove Resource Remap Option" msgstr "" #: tools/editor/project_settings.cpp -msgid "Enable" -msgstr "" - -#: tools/editor/project_settings.cpp msgid "Project Settings (engine.cfg)" msgstr "" @@ -5494,18 +5557,6 @@ msgid "AutoLoad" msgstr "" #: tools/editor/project_settings.cpp -msgid "Node Name:" -msgstr "" - -#: tools/editor/project_settings.cpp -msgid "List:" -msgstr "" - -#: tools/editor/project_settings.cpp -msgid "Singleton" -msgstr "" - -#: tools/editor/project_settings.cpp msgid "Plugins" msgstr "" @@ -5910,6 +5961,10 @@ msgid "Show In File Manager" msgstr "" #: tools/editor/scenes_dock.cpp +msgid "Re-Import.." +msgstr "" + +#: tools/editor/scenes_dock.cpp msgid "Previous Directory" msgstr "" diff --git a/tools/translations/ur_PK.po b/tools/translations/ur_PK.po new file mode 100644 index 0000000000..ae35068cb1 --- /dev/null +++ b/tools/translations/ur_PK.po @@ -0,0 +1,6240 @@ +# Urdu (Pakistan) translation of the Godot Engine editor +# Copyright (C) 2016 Juan Linietsky, Ariel Manzur and the Godot community +# This file is distributed under the same license as the Godot source code. +# +# Muhammad Ali <ali@codeonion.com>, 2016. +# +msgid "" +msgstr "" +"Project-Id-Version: Godot Engine editor\n" +"PO-Revision-Date: 2016-07-01 05:14+0000\n" +"Last-Translator: Muhammad Ali <ali@codeonion.com>\n" +"Language-Team: Urdu (Pakistan) <https://hosted.weblate.org/projects/godot-" +"engine/godot/ur_PK/>\n" +"Language: ur_PK\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8-bit\n" +"Plural-Forms: nplurals=2; plural=n != 1;\n" +"X-Generator: Weblate 2.7-dev\n" + +#: modules/gdscript/gd_functions.cpp +msgid "Invalid type argument to convert(), use TYPE_* constants." +msgstr "" +".استمال کیجۓ TYPE_* constants .کے لیے غلط ہیں convert() دیے گئے ارگمنٹس." + +#: modules/gdscript/gd_functions.cpp +msgid "Not enough bytes for decoding bytes, or invalid format." +msgstr "یا تو ڈیکوڈ کرنے کے لئے بائیٹس کم ہیں یا پھر ناقص فارمیٹ ھے." + +#: modules/gdscript/gd_functions.cpp +msgid "step argument is zero!" +msgstr "سٹیپ کے ارگمنٹس سفر ہیں!" + +#: modules/gdscript/gd_functions.cpp +msgid "Not a script with an instance" +msgstr ".یہ انسٹینس کے بغیر سکرپٹ نہی ہوتی" + +#: modules/gdscript/gd_functions.cpp +msgid "Not based on a script" +msgstr ".یہ سکرپٹ پر مبنی نہی ہے" + +#: modules/gdscript/gd_functions.cpp +msgid "Not based on a resource file" +msgstr ".یہ ریسورس فائل پر مبنی نہی ہے" + +#: modules/gdscript/gd_functions.cpp +msgid "Invalid instance dictionary format (missing @path)" +msgstr "" + +#: modules/gdscript/gd_functions.cpp +msgid "Invalid instance dictionary format (can't load script at @path)" +msgstr "" + +#: modules/gdscript/gd_functions.cpp +msgid "Invalid instance dictionary format (invalid script at @path)" +msgstr "" + +#: modules/gdscript/gd_functions.cpp +msgid "Invalid instance dictionary (invalid subclasses)" +msgstr "" + +#: scene/2d/animated_sprite.cpp +msgid "" +"A SpriteFrames resource must be created or set in the 'Frames' property in " +"order for AnimatedSprite to display frames." +msgstr "" + +#: scene/2d/canvas_modulate.cpp +msgid "" +"Only one visible CanvasModulate is allowed per scene (or set of instanced " +"scenes). The first created one will work, while the rest will be ignored." +msgstr "" + +#: scene/2d/collision_polygon_2d.cpp +msgid "" +"CollisionPolygon2D only serves to provide a collision shape to a " +"CollisionObject2D derived node. Please only use it as a child of Area2D, " +"StaticBody2D, RigidBody2D, KinematicBody2D, etc. to give them a shape." +msgstr "" + +#: scene/2d/collision_polygon_2d.cpp +msgid "An empty CollisionPolygon2D has no effect on collision." +msgstr "" + +#: scene/2d/collision_shape_2d.cpp +msgid "" +"CollisionShape2D only serves to provide a collision shape to a " +"CollisionObject2D derived node. Please only use it as a child of Area2D, " +"StaticBody2D, RigidBody2D, KinematicBody2D, etc. to give them a shape." +msgstr "" + +#: scene/2d/collision_shape_2d.cpp +msgid "" +"A shape must be provided for CollisionShape2D to function. Please create a " +"shape resource for it!" +msgstr "" + +#: scene/2d/light_2d.cpp +msgid "" +"A texture with the shape of the light must be supplied to the 'texture' " +"property." +msgstr "" + +#: scene/2d/light_occluder_2d.cpp +msgid "" +"An occluder polygon must be set (or drawn) for this occluder to take effect." +msgstr "" + +#: scene/2d/light_occluder_2d.cpp +msgid "The occluder polygon for this occluder is empty. Please draw a polygon!" +msgstr "" + +#: scene/2d/navigation_polygon.cpp +msgid "" +"A NavigationPolygon resource must be set or created for this node to work. " +"Please set a property or draw a polygon." +msgstr "" + +#: scene/2d/navigation_polygon.cpp +msgid "" +"NavigationPolygonInstance must be a child or grandchild to a Navigation2D " +"node. It only provides navigation data." +msgstr "" + +#: scene/2d/parallax_layer.cpp +msgid "" +"ParallaxLayer node only works when set as child of a ParallaxBackground node." +msgstr "" + +#: scene/2d/particles_2d.cpp +msgid "Path property must point to a valid Particles2D node to work." +msgstr "" + +#: scene/2d/path_2d.cpp +msgid "PathFollow2D only works when set as a child of a Path2D node." +msgstr "" + +#: scene/2d/remote_transform_2d.cpp +msgid "Path property must point to a valid Node2D node to work." +msgstr "" + +#: scene/2d/sample_player_2d.cpp scene/audio/sample_player.cpp +msgid "" +"A SampleLibrary resource must be created or set in the 'samples' property in " +"order for SamplePlayer to play sound." +msgstr "" + +#: scene/2d/sprite.cpp +msgid "" +"Path property must point to a valid Viewport node to work. Such Viewport " +"must be set to 'render target' mode." +msgstr "" + +#: scene/2d/sprite.cpp +msgid "" +"The Viewport set in the path property must be set as 'render target' in " +"order for this sprite to work." +msgstr "" + +#: scene/2d/visibility_notifier_2d.cpp +msgid "" +"VisibilityEnable2D works best when used with the edited scene root directly " +"as parent." +msgstr "" + +#: scene/3d/body_shape.cpp +msgid "" +"CollisionShape only serves to provide a collision shape to a CollisionObject " +"derived node. Please only use it as a child of Area, StaticBody, RigidBody, " +"KinematicBody, etc. to give them a shape." +msgstr "" + +#: scene/3d/body_shape.cpp +msgid "" +"A shape must be provided for CollisionShape to function. Please create a " +"shape resource for it!" +msgstr "" + +#: scene/3d/collision_polygon.cpp +msgid "" +"CollisionPolygon only serves to provide a collision shape to a " +"CollisionObject derived node. Please only use it as a child of Area, " +"StaticBody, RigidBody, KinematicBody, etc. to give them a shape." +msgstr "" + +#: scene/3d/collision_polygon.cpp +msgid "An empty CollisionPolygon has no effect on collision." +msgstr "" + +#: scene/3d/navigation_mesh.cpp +msgid "A NavigationMesh resource must be set or created for this node to work." +msgstr "" + +#: scene/3d/navigation_mesh.cpp +msgid "" +"NavigationMeshInstance must be a child or grandchild to a Navigation node. " +"It only provides navigation data." +msgstr "" + +#: scene/3d/scenario_fx.cpp +msgid "" +"Only one WorldEnvironment is allowed per scene (or set of instanced scenes)." +msgstr "" + +#: scene/3d/spatial_sample_player.cpp +msgid "" +"A SampleLibrary resource must be created or set in the 'samples' property in " +"order for SpatialSamplePlayer to play sound." +msgstr "" + +#: scene/3d/sprite_3d.cpp +msgid "" +"A SpriteFrames resource must be created or set in the 'Frames' property in " +"order for AnimatedSprite3D to display frames." +msgstr "" + +#: scene/gui/dialogs.cpp tools/editor/io_plugins/editor_scene_import_plugin.cpp +msgid "Cancel" +msgstr "" + +#: scene/gui/dialogs.cpp +msgid "OK" +msgstr "" + +#: scene/gui/dialogs.cpp +msgid "Alert!" +msgstr "" + +#: scene/gui/dialogs.cpp +msgid "Please Confirm..." +msgstr "" + +#: scene/gui/file_dialog.cpp tools/editor/editor_file_dialog.cpp +msgid "File Exists, Overwrite?" +msgstr "" + +#: scene/gui/file_dialog.cpp tools/editor/editor_file_dialog.cpp +msgid "All Recognized" +msgstr ".سب کچھ تسلیم ہوچکا ہے" + +#: scene/gui/file_dialog.cpp tools/editor/editor_file_dialog.cpp +msgid "All Files (*)" +msgstr "" + +#: scene/gui/file_dialog.cpp tools/editor/editor_file_dialog.cpp +#: tools/editor/editor_help.cpp tools/editor/editor_node.cpp +#: tools/editor/plugins/script_editor_plugin.cpp tools/editor/quick_open.cpp +#: tools/editor/scenes_dock.cpp +msgid "Open" +msgstr "" + +#: scene/gui/file_dialog.cpp +msgid "Open a File" +msgstr "" + +#: scene/gui/file_dialog.cpp +msgid "Open File(s)" +msgstr "" + +#: scene/gui/file_dialog.cpp +msgid "Open a Directory" +msgstr "" + +#: scene/gui/file_dialog.cpp +msgid "Open a File or Directory" +msgstr "" + +#: scene/gui/file_dialog.cpp tools/editor/editor_file_dialog.cpp +#: tools/editor/editor_node.cpp +#: tools/editor/plugins/animation_player_editor_plugin.cpp +#: tools/editor/plugins/script_editor_plugin.cpp +msgid "Save" +msgstr "" + +#: scene/gui/file_dialog.cpp tools/editor/editor_file_dialog.cpp +msgid "Save a File" +msgstr "" + +#: scene/gui/file_dialog.cpp tools/editor/editor_dir_dialog.cpp +#: tools/editor/editor_file_dialog.cpp +msgid "Create Folder" +msgstr "" + +#: scene/gui/file_dialog.cpp tools/editor/editor_autoload_settings.cpp +#: tools/editor/editor_file_dialog.cpp +#: tools/editor/io_plugins/editor_font_import_plugin.cpp +#: tools/editor/script_create_dialog.cpp +msgid "Path:" +msgstr "" + +#: scene/gui/file_dialog.cpp tools/editor/editor_file_dialog.cpp +msgid "Directories & Files:" +msgstr "" + +#: scene/gui/file_dialog.cpp tools/editor/editor_file_dialog.cpp +#: tools/editor/script_editor_debugger.cpp +msgid "File:" +msgstr "" + +#: scene/gui/file_dialog.cpp tools/editor/editor_file_dialog.cpp +msgid "Filter:" +msgstr "" + +#: scene/gui/file_dialog.cpp tools/editor/editor_dir_dialog.cpp +#: tools/editor/editor_file_dialog.cpp tools/editor/editor_plugin_settings.cpp +#: tools/editor/plugins/theme_editor_plugin.cpp +msgid "Name:" +msgstr "" + +#: scene/gui/file_dialog.cpp tools/editor/editor_dir_dialog.cpp +#: tools/editor/editor_file_dialog.cpp +msgid "Could not create folder." +msgstr "" + +#: scene/gui/file_dialog.cpp tools/editor/editor_file_dialog.cpp +msgid "Must use a valid extension." +msgstr "" + +#: scene/gui/input_action.cpp tools/editor/project_settings.cpp +#: tools/editor/settings_config_dialog.cpp +msgid "Shift+" +msgstr "" + +#: scene/gui/input_action.cpp tools/editor/project_settings.cpp +#: tools/editor/settings_config_dialog.cpp +msgid "Alt+" +msgstr "" + +#: scene/gui/input_action.cpp +msgid "Ctrl+" +msgstr "" + +#: scene/gui/input_action.cpp tools/editor/project_settings.cpp +#: tools/editor/settings_config_dialog.cpp +msgid "Meta+" +msgstr "" + +#: scene/gui/input_action.cpp tools/editor/project_settings.cpp +msgid "Device" +msgstr "" + +#: scene/gui/input_action.cpp tools/editor/project_settings.cpp +msgid "Button" +msgstr "" + +#: scene/gui/input_action.cpp tools/editor/project_settings.cpp +msgid "Left Button." +msgstr "" + +#: scene/gui/input_action.cpp tools/editor/project_settings.cpp +msgid "Right Button." +msgstr "" + +#: scene/gui/input_action.cpp tools/editor/project_settings.cpp +msgid "Middle Button." +msgstr "" + +#: scene/gui/input_action.cpp tools/editor/project_settings.cpp +msgid "Wheel Up." +msgstr "" + +#: scene/gui/input_action.cpp tools/editor/project_settings.cpp +msgid "Wheel Down." +msgstr "" + +#: scene/gui/input_action.cpp tools/editor/project_settings.cpp +msgid "Axis" +msgstr "" + +#: scene/gui/line_edit.cpp scene/gui/text_edit.cpp +#: tools/editor/plugins/script_editor_plugin.cpp +#: tools/editor/plugins/shader_editor_plugin.cpp +msgid "Cut" +msgstr "" + +#: scene/gui/line_edit.cpp scene/gui/text_edit.cpp +#: tools/editor/plugins/script_editor_plugin.cpp +#: tools/editor/plugins/shader_editor_plugin.cpp +#: tools/editor/property_editor.cpp tools/editor/resources_dock.cpp +msgid "Copy" +msgstr "" + +#: scene/gui/line_edit.cpp scene/gui/text_edit.cpp +#: tools/editor/plugins/resource_preloader_editor_plugin.cpp +#: tools/editor/plugins/script_editor_plugin.cpp +#: tools/editor/plugins/shader_editor_plugin.cpp +#: tools/editor/plugins/sprite_frames_editor_plugin.cpp +#: tools/editor/property_editor.cpp tools/editor/resources_dock.cpp +msgid "Paste" +msgstr "" + +#: scene/gui/line_edit.cpp scene/gui/text_edit.cpp +#: tools/editor/plugins/script_editor_plugin.cpp +#: tools/editor/plugins/shader_editor_plugin.cpp +#: tools/editor/project_export.cpp +msgid "Select All" +msgstr "" + +#: scene/gui/line_edit.cpp scene/gui/text_edit.cpp tools/editor/editor_log.cpp +#: tools/editor/plugins/animation_tree_editor_plugin.cpp +#: tools/editor/plugins/rich_text_editor_plugin.cpp +#: tools/editor/property_editor.cpp tools/editor/script_editor_debugger.cpp +msgid "Clear" +msgstr "" + +#: scene/gui/line_edit.cpp scene/gui/text_edit.cpp tools/editor/editor_node.cpp +#: tools/editor/plugins/script_editor_plugin.cpp +#: tools/editor/plugins/shader_editor_plugin.cpp +msgid "Undo" +msgstr "" + +#: scene/gui/popup.cpp +msgid "" +"Popups will hide by default unless you call popup() or any of the popup*() " +"functions. Making them visible for editing is fine though, but they will " +"hide upon running." +msgstr "" + +#: scene/main/viewport.cpp +msgid "" +"This viewport is not set as render target. If you intend for it to display " +"its contents directly to the screen, make it a child of a Control so it can " +"obtain a size. Otherwise, make it a RenderTarget and assign its internal " +"texture to some node for display." +msgstr "" + +#: scene/resources/dynamic_font.cpp +#: tools/editor/io_plugins/editor_font_import_plugin.cpp +msgid "Error initializing FreeType." +msgstr "" + +#: scene/resources/dynamic_font.cpp +#: tools/editor/io_plugins/editor_font_import_plugin.cpp +msgid "Unknown font format." +msgstr "" + +#: scene/resources/dynamic_font.cpp +#: tools/editor/io_plugins/editor_font_import_plugin.cpp +msgid "Error loading font." +msgstr "" + +#: scene/resources/dynamic_font.cpp +#: tools/editor/io_plugins/editor_font_import_plugin.cpp +msgid "Invalid font size." +msgstr "" + +#: tools/editor/animation_editor.cpp +msgid "Disabled" +msgstr "" + +#: tools/editor/animation_editor.cpp +msgid "All Selection" +msgstr ".تمام کا انتخاب" + +#: tools/editor/animation_editor.cpp +msgid "Move Add Key" +msgstr "" + +#: tools/editor/animation_editor.cpp +msgid "Anim Change Transition" +msgstr "" + +#: tools/editor/animation_editor.cpp +msgid "Anim Change Transform" +msgstr "" + +#: tools/editor/animation_editor.cpp +msgid "Anim Change Value" +msgstr "" + +#: tools/editor/animation_editor.cpp +msgid "Anim Change Call" +msgstr "" + +#: tools/editor/animation_editor.cpp +msgid "Anim Add Track" +msgstr "" + +#: tools/editor/animation_editor.cpp +msgid "Anim Duplicate Keys" +msgstr "" + +#: tools/editor/animation_editor.cpp +msgid "Move Anim Track Up" +msgstr "" + +#: tools/editor/animation_editor.cpp +msgid "Move Anim Track Down" +msgstr "" + +#: tools/editor/animation_editor.cpp +msgid "Remove Anim Track" +msgstr "" + +#: tools/editor/animation_editor.cpp +msgid "Set Transitions to:" +msgstr "" + +#: tools/editor/animation_editor.cpp +msgid "Anim Track Rename" +msgstr "" + +#: tools/editor/animation_editor.cpp +msgid "Anim Track Change Interpolation" +msgstr "" + +#: tools/editor/animation_editor.cpp +msgid "Anim Track Change Value Mode" +msgstr "" + +#: tools/editor/animation_editor.cpp +msgid "Edit Node Curve" +msgstr "" + +#: tools/editor/animation_editor.cpp +msgid "Edit Selection Curve" +msgstr "" + +#: tools/editor/animation_editor.cpp +msgid "Anim Delete Keys" +msgstr ".اینیمیشن کی کیز کو ڈیلیٹ کرو" + +#: tools/editor/animation_editor.cpp +#: tools/editor/plugins/tile_map_editor_plugin.cpp +msgid "Duplicate Selection" +msgstr "" + +#: tools/editor/animation_editor.cpp +msgid "Duplicate Transposed" +msgstr "" + +#: tools/editor/animation_editor.cpp +#, fuzzy +msgid "Remove Selection" +msgstr ".تمام کا انتخاب" + +#: tools/editor/animation_editor.cpp +msgid "Continuous" +msgstr "" + +#: tools/editor/animation_editor.cpp +msgid "Discrete" +msgstr "" + +#: tools/editor/animation_editor.cpp +msgid "Trigger" +msgstr "" + +#: tools/editor/animation_editor.cpp +msgid "Anim Add Key" +msgstr "" + +#: tools/editor/animation_editor.cpp +msgid "Anim Move Keys" +msgstr "" + +#: tools/editor/animation_editor.cpp +msgid "Scale Selection" +msgstr "" + +#: tools/editor/animation_editor.cpp +msgid "Scale From Cursor" +msgstr "" + +#: tools/editor/animation_editor.cpp +msgid "Goto Next Step" +msgstr "" + +#: tools/editor/animation_editor.cpp +msgid "Goto Prev Step" +msgstr "" + +#: tools/editor/animation_editor.cpp tools/editor/property_editor.cpp +msgid "Linear" +msgstr "" + +#: tools/editor/animation_editor.cpp +#: tools/editor/plugins/theme_editor_plugin.cpp +msgid "Constant" +msgstr "" + +#: tools/editor/animation_editor.cpp +msgid "In" +msgstr "" + +#: tools/editor/animation_editor.cpp +msgid "Out" +msgstr "" + +#: tools/editor/animation_editor.cpp +msgid "In-Out" +msgstr "" + +#: tools/editor/animation_editor.cpp +msgid "Out-In" +msgstr "" + +#: tools/editor/animation_editor.cpp +msgid "Transitions" +msgstr "" + +#: tools/editor/animation_editor.cpp +msgid "Optimize Animation" +msgstr "" + +#: tools/editor/animation_editor.cpp +msgid "Clean-Up Animation" +msgstr "" + +#: tools/editor/animation_editor.cpp +msgid "Create NEW track for %s and insert key?" +msgstr "" + +#: tools/editor/animation_editor.cpp +msgid "Create %d NEW tracks and insert keys?" +msgstr "" + +#: tools/editor/animation_editor.cpp tools/editor/create_dialog.cpp +#: tools/editor/plugins/light_occluder_2d_editor_plugin.cpp +#: tools/editor/plugins/mesh_instance_editor_plugin.cpp +#: tools/editor/plugins/navigation_polygon_editor_plugin.cpp +#: tools/editor/plugins/particles_editor_plugin.cpp +#: tools/editor/project_manager.cpp tools/editor/script_create_dialog.cpp +msgid "Create" +msgstr "" + +#: tools/editor/animation_editor.cpp +msgid "Anim Create & Insert" +msgstr "" + +#: tools/editor/animation_editor.cpp +msgid "Anim Insert Track & Key" +msgstr "" + +#: tools/editor/animation_editor.cpp +msgid "Anim Insert Key" +msgstr "" + +#: tools/editor/animation_editor.cpp +msgid "Change Anim Len" +msgstr "" + +#: tools/editor/animation_editor.cpp +msgid "Change Anim Loop" +msgstr "" + +#: tools/editor/animation_editor.cpp +msgid "Anim Create Typed Value Key" +msgstr "" + +#: tools/editor/animation_editor.cpp +msgid "Anim Insert" +msgstr "" + +#: tools/editor/animation_editor.cpp +msgid "Anim Scale Keys" +msgstr "" + +#: tools/editor/animation_editor.cpp +msgid "Anim Add Call Track" +msgstr "" + +#: tools/editor/animation_editor.cpp +msgid "Animation zoom." +msgstr "" + +#: tools/editor/animation_editor.cpp +msgid "Length (s):" +msgstr "" + +#: tools/editor/animation_editor.cpp +msgid "Animation length (in seconds)." +msgstr "" + +#: tools/editor/animation_editor.cpp +msgid "Step (s):" +msgstr "" + +#: tools/editor/animation_editor.cpp +msgid "Cursor step snap (in seconds)." +msgstr "" + +#: tools/editor/animation_editor.cpp +msgid "Enable/Disable looping in animation." +msgstr "" + +#: tools/editor/animation_editor.cpp +msgid "Add new tracks." +msgstr "" + +#: tools/editor/animation_editor.cpp +msgid "Move current track up." +msgstr "" + +#: tools/editor/animation_editor.cpp +msgid "Move current track down." +msgstr "" + +#: tools/editor/animation_editor.cpp +msgid "Remove selected track." +msgstr "" + +#: tools/editor/animation_editor.cpp +msgid "Track tools" +msgstr "" + +#: tools/editor/animation_editor.cpp +msgid "Enable editing of individual keys by clicking them." +msgstr "" + +#: tools/editor/animation_editor.cpp +msgid "Anim. Optimizer" +msgstr "" + +#: tools/editor/animation_editor.cpp +msgid "Max. Linear Error:" +msgstr "" + +#: tools/editor/animation_editor.cpp +msgid "Max. Angular Error:" +msgstr "" + +#: tools/editor/animation_editor.cpp +msgid "Max Optimizable Angle:" +msgstr "" + +#: tools/editor/animation_editor.cpp +msgid "Optimize" +msgstr "" + +#: tools/editor/animation_editor.cpp +msgid "Key" +msgstr "" + +#: tools/editor/animation_editor.cpp +msgid "Transition" +msgstr "" + +#: tools/editor/animation_editor.cpp +msgid "Scale Ratio:" +msgstr "" + +#: tools/editor/animation_editor.cpp +msgid "Call Functions in Which Node?" +msgstr "" + +#: tools/editor/animation_editor.cpp +msgid "Remove invalid keys" +msgstr "" + +#: tools/editor/animation_editor.cpp +msgid "Remove unresolved and empty tracks" +msgstr "" + +#: tools/editor/animation_editor.cpp +msgid "Clean-up all animations" +msgstr "" + +#: tools/editor/animation_editor.cpp +msgid "Clean-Up Animation(s) (NO UNDO!)" +msgstr "" + +#: tools/editor/animation_editor.cpp +msgid "Clean-Up" +msgstr "" + +#: tools/editor/array_property_edit.cpp +msgid "Resize Array" +msgstr "" + +#: tools/editor/array_property_edit.cpp +msgid "Change Array Value Type" +msgstr "" + +#: tools/editor/array_property_edit.cpp +msgid "Change Array Value" +msgstr "" + +#: tools/editor/asset_library_editor_plugin.cpp tools/editor/create_dialog.cpp +#: tools/editor/editor_help.cpp tools/editor/editor_node.cpp +#: tools/editor/plugins/script_editor_plugin.cpp tools/editor/quick_open.cpp +#: tools/editor/settings_config_dialog.cpp +msgid "Search:" +msgstr "" + +#: tools/editor/asset_library_editor_plugin.cpp +msgid "Sort:" +msgstr "" + +#: tools/editor/asset_library_editor_plugin.cpp +msgid "Reverse" +msgstr "" + +#: tools/editor/asset_library_editor_plugin.cpp +#: tools/editor/project_settings.cpp +msgid "Category:" +msgstr "" + +#: tools/editor/asset_library_editor_plugin.cpp +msgid "All" +msgstr "" + +#: tools/editor/asset_library_editor_plugin.cpp +msgid "Site:" +msgstr "سائٹ:" + +#: tools/editor/asset_library_editor_plugin.cpp +msgid "Support.." +msgstr ".سپورٹ" + +#: tools/editor/asset_library_editor_plugin.cpp +msgid "Official" +msgstr "" + +#: tools/editor/asset_library_editor_plugin.cpp +msgid "Community" +msgstr "کمیونٹی" + +#: tools/editor/asset_library_editor_plugin.cpp +msgid "Testing" +msgstr "" + +#: tools/editor/asset_library_editor_plugin.cpp +msgid "Assets ZIP File" +msgstr "اثاثہ کی زپ فائل" + +#: tools/editor/call_dialog.cpp +msgid "Method List For '%s':" +msgstr "" + +#: tools/editor/call_dialog.cpp +msgid "Call" +msgstr "" + +#: tools/editor/call_dialog.cpp tools/editor/connections_dialog.cpp +#: tools/editor/plugins/animation_player_editor_plugin.cpp +#: tools/editor/plugins/canvas_item_editor_plugin.cpp +#: tools/editor/plugins/resource_preloader_editor_plugin.cpp +#: tools/editor/plugins/sample_library_editor_plugin.cpp +#: tools/editor/plugins/script_editor_plugin.cpp +#: tools/editor/plugins/sprite_frames_editor_plugin.cpp +#: tools/editor/project_settings.cpp tools/editor/property_editor.cpp +#: tools/editor/run_settings_dialog.cpp tools/editor/settings_config_dialog.cpp +msgid "Close" +msgstr "" + +#: tools/editor/call_dialog.cpp +msgid "Method List:" +msgstr "" + +#: tools/editor/call_dialog.cpp +msgid "Arguments:" +msgstr "" + +#: tools/editor/call_dialog.cpp +msgid "Return:" +msgstr "" + +#: tools/editor/code_editor.cpp +msgid "Go to Line" +msgstr "" + +#: tools/editor/code_editor.cpp +msgid "Line Number:" +msgstr "" + +#: tools/editor/code_editor.cpp +msgid "No Matches" +msgstr "" + +#: tools/editor/code_editor.cpp +msgid "Replaced %d Ocurrence(s)." +msgstr "" + +#: tools/editor/code_editor.cpp +msgid "Replace" +msgstr "" + +#: tools/editor/code_editor.cpp +msgid "Replace All" +msgstr "" + +#: tools/editor/code_editor.cpp +msgid "Match Case" +msgstr "" + +#: tools/editor/code_editor.cpp +msgid "Whole Words" +msgstr "" + +#: tools/editor/code_editor.cpp +msgid "Selection Only" +msgstr "" + +#: tools/editor/code_editor.cpp tools/editor/editor_help.cpp +#: tools/editor/plugins/script_editor_plugin.cpp +#: tools/editor/plugins/shader_editor_plugin.cpp +#: tools/editor/project_settings.cpp +msgid "Search" +msgstr "" + +#: tools/editor/code_editor.cpp tools/editor/editor_help.cpp +msgid "Find" +msgstr "" + +#: tools/editor/code_editor.cpp +msgid "Next" +msgstr "" + +#: tools/editor/code_editor.cpp +msgid "Replaced %d ocurrence(s)." +msgstr "" + +#: tools/editor/code_editor.cpp +msgid "Not found!" +msgstr "" + +#: tools/editor/code_editor.cpp +msgid "Replace By" +msgstr "" + +#: tools/editor/code_editor.cpp +msgid "Case Sensitive" +msgstr "" + +#: tools/editor/code_editor.cpp +msgid "Backwards" +msgstr "" + +#: tools/editor/code_editor.cpp +msgid "Prompt On Replace" +msgstr "" + +#: tools/editor/code_editor.cpp +msgid "Skip" +msgstr "" + +#: tools/editor/code_editor.cpp tools/editor/script_editor_debugger.cpp +msgid "Line:" +msgstr "" + +#: tools/editor/code_editor.cpp +msgid "Col:" +msgstr "" + +#: tools/editor/connections_dialog.cpp +msgid "Method in target Node must be specified!" +msgstr "" + +#: tools/editor/connections_dialog.cpp +msgid "Connect To Node:" +msgstr "" + +#: tools/editor/connections_dialog.cpp +#: tools/editor/editor_autoload_settings.cpp tools/editor/groups_editor.cpp +#: tools/editor/plugins/item_list_editor_plugin.cpp +#: tools/editor/plugins/theme_editor_plugin.cpp +#: tools/editor/project_settings.cpp +msgid "Add" +msgstr "" + +#: tools/editor/connections_dialog.cpp tools/editor/dependency_editor.cpp +#: tools/editor/plugins/animation_tree_editor_plugin.cpp +#: tools/editor/plugins/theme_editor_plugin.cpp +#: tools/editor/project_manager.cpp +msgid "Remove" +msgstr "" + +#: tools/editor/connections_dialog.cpp +msgid "Add Extra Call Argument:" +msgstr "" + +#: tools/editor/connections_dialog.cpp +msgid "Extra Call Arguments:" +msgstr "" + +#: tools/editor/connections_dialog.cpp +msgid "Path to Node:" +msgstr "" + +#: tools/editor/connections_dialog.cpp +msgid "Make Function" +msgstr "" + +#: tools/editor/connections_dialog.cpp +msgid "Deferred" +msgstr "" + +#: tools/editor/connections_dialog.cpp +msgid "Oneshot" +msgstr "" + +#: tools/editor/connections_dialog.cpp +msgid "Connect" +msgstr "" + +#: tools/editor/connections_dialog.cpp +msgid "Connect '%s' to '%s'" +msgstr "" + +#: tools/editor/connections_dialog.cpp +msgid "Connecting Signal:" +msgstr "" + +#: tools/editor/connections_dialog.cpp +msgid "Create Subscription" +msgstr "سب سکریپشن بنائیں" + +#: tools/editor/connections_dialog.cpp +msgid "Connect.." +msgstr "" + +#: tools/editor/connections_dialog.cpp +#: tools/editor/plugins/animation_tree_editor_plugin.cpp +msgid "Disconnect" +msgstr "" + +#: tools/editor/connections_dialog.cpp tools/editor/node_dock.cpp +msgid "Signals" +msgstr "" + +#: tools/editor/create_dialog.cpp +msgid "Create New" +msgstr "" + +#: tools/editor/create_dialog.cpp tools/editor/editor_help.cpp +#: tools/editor/plugins/script_editor_plugin.cpp tools/editor/quick_open.cpp +msgid "Matches:" +msgstr "" + +#: tools/editor/dependency_editor.cpp +msgid "Search Replacement For:" +msgstr "" + +#: tools/editor/dependency_editor.cpp +msgid "Dependencies For:" +msgstr "" + +#: tools/editor/dependency_editor.cpp +msgid "" +"Scene '%s' is currently being edited.\n" +"Changes will not take effect unless reloaded." +msgstr "" + +#: tools/editor/dependency_editor.cpp +msgid "" +"Resource '%s' is in use.\n" +"Changes will take effect when reloaded." +msgstr "" + +#: tools/editor/dependency_editor.cpp +msgid "Dependencies" +msgstr "" + +#: tools/editor/dependency_editor.cpp +msgid "Resource" +msgstr "" + +#: tools/editor/dependency_editor.cpp tools/editor/editor_autoload_settings.cpp +#: tools/editor/project_manager.cpp tools/editor/project_settings.cpp +msgid "Path" +msgstr "" + +#: tools/editor/dependency_editor.cpp +msgid "Dependencies:" +msgstr "" + +#: tools/editor/dependency_editor.cpp +msgid "Fix Broken" +msgstr "" + +#: tools/editor/dependency_editor.cpp +msgid "Dependency Editor" +msgstr "" + +#: tools/editor/dependency_editor.cpp +msgid "Search Replacement Resource:" +msgstr "" + +#: tools/editor/dependency_editor.cpp +msgid "Owners Of:" +msgstr "" + +#: tools/editor/dependency_editor.cpp +msgid "" +"The files being removed are required by other resources in order for them to " +"work.\n" +"Remove them anyway? (no undo)" +msgstr "" + +#: tools/editor/dependency_editor.cpp +msgid "Remove selected files from the project? (no undo)" +msgstr "" + +#: tools/editor/dependency_editor.cpp +msgid "Error loading:" +msgstr "" + +#: tools/editor/dependency_editor.cpp +msgid "Scene failed to load due to missing dependencies:" +msgstr "" + +#: tools/editor/dependency_editor.cpp +msgid "Open Anyway" +msgstr "" + +#: tools/editor/dependency_editor.cpp +msgid "Which action should be taken?" +msgstr "" + +#: tools/editor/dependency_editor.cpp +msgid "Fix Dependencies" +msgstr "" + +#: tools/editor/dependency_editor.cpp +msgid "Errors loading!" +msgstr "" + +#: tools/editor/dependency_editor.cpp +msgid "Permanently delete %d item(s)? (No undo!)" +msgstr "" + +#: tools/editor/dependency_editor.cpp +msgid "Owns" +msgstr "" + +#: tools/editor/dependency_editor.cpp +msgid "Resources Without Explicit Ownership:" +msgstr "" + +#: tools/editor/dependency_editor.cpp tools/editor/editor_node.cpp +msgid "Orphan Resource Explorer" +msgstr "" + +#: tools/editor/dependency_editor.cpp +msgid "Delete selected files?" +msgstr "" + +#: tools/editor/dependency_editor.cpp tools/editor/editor_node.cpp +#: tools/editor/plugins/item_list_editor_plugin.cpp +#: tools/editor/scenes_dock.cpp +msgid "Delete" +msgstr "" + +#: tools/editor/editor_autoload_settings.cpp +msgid "Invalid name." +msgstr "" + +#: tools/editor/editor_autoload_settings.cpp +msgid "Valid characters:" +msgstr "" + +#: tools/editor/editor_autoload_settings.cpp +msgid "Invalid name. Must not collide with an existing engine class name." +msgstr "" + +#: tools/editor/editor_autoload_settings.cpp +msgid "Invalid name. Must not collide with an existing buit-in type name." +msgstr "" + +#: tools/editor/editor_autoload_settings.cpp +msgid "Invalid name. Must not collide with an existing global constant name." +msgstr "" + +#: tools/editor/editor_autoload_settings.cpp +msgid "Invalid Path." +msgstr "" + +#: tools/editor/editor_autoload_settings.cpp +msgid "File does not exist." +msgstr "" + +#: tools/editor/editor_autoload_settings.cpp +#, fuzzy +msgid "Not in resource path." +msgstr ".یہ ریسورس فائل پر مبنی نہی ہے" + +#: tools/editor/editor_autoload_settings.cpp +msgid "Add AutoLoad" +msgstr "" + +#: tools/editor/editor_autoload_settings.cpp +msgid "Autoload '%s' already exists!" +msgstr "" + +#: tools/editor/editor_autoload_settings.cpp +msgid "Rename Autoload" +msgstr "" + +#: tools/editor/editor_autoload_settings.cpp +msgid "Toggle AutoLoad Globals" +msgstr "" + +#: tools/editor/editor_autoload_settings.cpp +msgid "Move Autoload" +msgstr "" + +#: tools/editor/editor_autoload_settings.cpp +msgid "Remove Autoload" +msgstr "" + +#: tools/editor/editor_autoload_settings.cpp +msgid "Enable" +msgstr "" + +#: tools/editor/editor_autoload_settings.cpp +msgid "Rearrange Autoloads" +msgstr "" + +#: tools/editor/editor_autoload_settings.cpp +msgid "Node Name:" +msgstr "" + +#: tools/editor/editor_autoload_settings.cpp +#: tools/editor/io_plugins/editor_scene_import_plugin.cpp +#: tools/editor/plugins/sample_library_editor_plugin.cpp +#: tools/editor/project_manager.cpp +msgid "Name" +msgstr "" + +#: tools/editor/editor_autoload_settings.cpp +msgid "Singleton" +msgstr "" + +#: tools/editor/editor_autoload_settings.cpp +msgid "List:" +msgstr "" + +#: tools/editor/editor_data.cpp +msgid "Updating Scene" +msgstr "" + +#: tools/editor/editor_data.cpp +msgid "Storing local changes.." +msgstr "" + +#: tools/editor/editor_data.cpp +msgid "Updating scene.." +msgstr "" + +#: tools/editor/editor_dir_dialog.cpp +msgid "Choose a Directory" +msgstr "" + +#: tools/editor/editor_dir_dialog.cpp +msgid "Choose" +msgstr "" + +#: tools/editor/editor_file_dialog.cpp +msgid "Go Back" +msgstr "" + +#: tools/editor/editor_file_dialog.cpp +msgid "Go Forward" +msgstr "" + +#: tools/editor/editor_file_dialog.cpp +msgid "Go Up" +msgstr "" + +#: tools/editor/editor_file_dialog.cpp +msgid "Refresh" +msgstr "" + +#: tools/editor/editor_file_dialog.cpp +msgid "Toggle Hidden Files" +msgstr "" + +#: tools/editor/editor_file_dialog.cpp +msgid "Toggle Favorite" +msgstr "" + +#: tools/editor/editor_file_dialog.cpp +msgid "Toggle Mode" +msgstr "" + +#: tools/editor/editor_file_dialog.cpp +msgid "Focus Path" +msgstr "" + +#: tools/editor/editor_file_dialog.cpp +#, fuzzy +msgid "Move Favorite Up" +msgstr "پسندیدہ اوپر منتقل کریں" + +#: tools/editor/editor_file_dialog.cpp +#, fuzzy +msgid "Move Favorite Down" +msgstr "پسندیدہ نیچے منتقل کریں" + +#: tools/editor/editor_file_dialog.cpp tools/editor/scenes_dock.cpp +msgid "Favorites:" +msgstr "" + +#: tools/editor/editor_file_dialog.cpp +msgid "Recent:" +msgstr "" + +#: tools/editor/editor_file_dialog.cpp +msgid "Preview:" +msgstr "" + +#: tools/editor/editor_file_system.cpp +msgid "Cannot go into subdir:" +msgstr "" + +#: tools/editor/editor_file_system.cpp +msgid "ScanSources" +msgstr "" + +#: tools/editor/editor_help.cpp tools/editor/plugins/script_editor_plugin.cpp +msgid "Search Help" +msgstr "" + +#: tools/editor/editor_help.cpp +msgid "Class List:" +msgstr "" + +#: tools/editor/editor_help.cpp +msgid "Search Classes" +msgstr "" + +#: tools/editor/editor_help.cpp tools/editor/property_editor.cpp +msgid "Class:" +msgstr "" + +#: tools/editor/editor_help.cpp tools/editor/scene_tree_editor.cpp +#: tools/editor/script_create_dialog.cpp +msgid "Inherits:" +msgstr "" + +#: tools/editor/editor_help.cpp +msgid "Inherited by:" +msgstr "" + +#: tools/editor/editor_help.cpp +msgid "Brief Description:" +msgstr "" + +#: tools/editor/editor_help.cpp +msgid "Public Methods:" +msgstr "" + +#: tools/editor/editor_help.cpp +msgid "Members:" +msgstr "" + +#: tools/editor/editor_help.cpp +msgid "GUI Theme Items:" +msgstr "" + +#: tools/editor/editor_help.cpp +msgid "Signals:" +msgstr "" + +#: tools/editor/editor_help.cpp +msgid "Constants:" +msgstr "" + +#: tools/editor/editor_help.cpp tools/editor/script_editor_debugger.cpp +msgid "Description:" +msgstr "" + +#: tools/editor/editor_help.cpp +msgid "Method Description:" +msgstr "" + +#: tools/editor/editor_help.cpp +msgid "Search Text" +msgstr "" + +#: tools/editor/editor_import_export.cpp +msgid "Added:" +msgstr "" + +#: tools/editor/editor_import_export.cpp +msgid "Removed:" +msgstr "" + +#: tools/editor/editor_import_export.cpp tools/editor/project_export.cpp +msgid "Error saving atlas:" +msgstr "" + +#: tools/editor/editor_import_export.cpp +msgid "Could not save atlas subtexture:" +msgstr "" + +#: tools/editor/editor_import_export.cpp +msgid "Storing File:" +msgstr "" + +#: tools/editor/editor_import_export.cpp +msgid "Packing" +msgstr "" + +#: tools/editor/editor_import_export.cpp +msgid "Exporting for %s" +msgstr "" + +#: tools/editor/editor_import_export.cpp +msgid "Setting Up.." +msgstr "" + +#: tools/editor/editor_log.cpp +msgid " Output:" +msgstr "" + +#: tools/editor/editor_node.cpp tools/editor/editor_reimport_dialog.cpp +msgid "Re-Importing" +msgstr "" + +#: tools/editor/editor_node.cpp +msgid "Importing:" +msgstr "" + +#: tools/editor/editor_node.cpp +msgid "Node From Scene" +msgstr "" + +#: tools/editor/editor_node.cpp +#: tools/editor/plugins/animation_player_editor_plugin.cpp +#: tools/editor/resources_dock.cpp +msgid "Error saving resource!" +msgstr "" + +#: tools/editor/editor_node.cpp +#: tools/editor/plugins/animation_player_editor_plugin.cpp +#: tools/editor/resources_dock.cpp +msgid "Save Resource As.." +msgstr "" + +#: tools/editor/editor_node.cpp tools/editor/scene_tree_dock.cpp +msgid "I see.." +msgstr "" + +#: tools/editor/editor_node.cpp +msgid "Can't open file for writing:" +msgstr "" + +#: tools/editor/editor_node.cpp +msgid "Requested file format unknown:" +msgstr "" + +#: tools/editor/editor_node.cpp +msgid "Error while saving." +msgstr "" + +#: tools/editor/editor_node.cpp +msgid "Saving Scene" +msgstr "" + +#: tools/editor/editor_node.cpp +msgid "Analyzing" +msgstr "" + +#: tools/editor/editor_node.cpp +msgid "Creating Thumbnail" +msgstr "" + +#: tools/editor/editor_node.cpp +msgid "" +"Couldn't save scene. Likely dependencies (instances) couldn't be satisfied." +msgstr "" + +#: tools/editor/editor_node.cpp +msgid "Failed to load resource." +msgstr "" + +#: tools/editor/editor_node.cpp +msgid "Can't load MeshLibrary for merging!" +msgstr "" + +#: tools/editor/editor_node.cpp +msgid "Error saving MeshLibrary!" +msgstr "" + +#: tools/editor/editor_node.cpp +msgid "Can't load TileSet for merging!" +msgstr "" + +#: tools/editor/editor_node.cpp +msgid "Error saving TileSet!" +msgstr "" + +#: tools/editor/editor_node.cpp +msgid "Can't open export templates zip." +msgstr "" + +#: tools/editor/editor_node.cpp +msgid "Loading Export Templates" +msgstr "" + +#: tools/editor/editor_node.cpp +msgid "Error trying to save layout!" +msgstr "" + +#: tools/editor/editor_node.cpp +msgid "Default editor layout overridden." +msgstr "" + +#: tools/editor/editor_node.cpp +msgid "Layout name not found!" +msgstr "" + +#: tools/editor/editor_node.cpp +msgid "Restored default layout to base settings." +msgstr "" + +#: tools/editor/editor_node.cpp +msgid "Copy Params" +msgstr "" + +#: tools/editor/editor_node.cpp +msgid "Paste Params" +msgstr "" + +#: tools/editor/editor_node.cpp +#: tools/editor/plugins/resource_preloader_editor_plugin.cpp +msgid "Paste Resource" +msgstr "" + +#: tools/editor/editor_node.cpp +msgid "Copy Resource" +msgstr "" + +#: tools/editor/editor_node.cpp +msgid "Make Built-In" +msgstr "" + +#: tools/editor/editor_node.cpp +msgid "Make Sub-Resources Unique" +msgstr "" + +#: tools/editor/editor_node.cpp +msgid "Open in Help" +msgstr "" + +#: tools/editor/editor_node.cpp +msgid "There is no defined scene to run." +msgstr "" + +#: tools/editor/editor_node.cpp +msgid "" +"No main scene has ever been defined, select one?\n" +"You can change it later in later in \"Project Settings\" under the " +"'application' category." +msgstr "" + +#: tools/editor/editor_node.cpp +msgid "" +"Selected scene '%s' does not exist, select a valid one?\n" +"You can change it later in \"Project Settings\" under the 'application' " +"category." +msgstr "" + +#: tools/editor/editor_node.cpp +msgid "" +"Selected scene '%s' is not a scene file, select a valid one?\n" +"You can change it later in \"Project Settings\" under the 'application' " +"category." +msgstr "" + +#: tools/editor/editor_node.cpp +msgid "Current scene was never saved, please save it prior to running." +msgstr "" + +#: tools/editor/editor_node.cpp +msgid "Could not start subprocess!" +msgstr "" + +#: tools/editor/editor_node.cpp +msgid "Open Scene" +msgstr "" + +#: tools/editor/editor_node.cpp +msgid "Open Base Scene" +msgstr "" + +#: tools/editor/editor_node.cpp +msgid "Quick Open Scene.." +msgstr "" + +#: tools/editor/editor_node.cpp +msgid "Quick Open Script.." +msgstr "" + +#: tools/editor/editor_node.cpp +msgid "Yes" +msgstr "" + +#: tools/editor/editor_node.cpp +msgid "Close scene? (Unsaved changes will be lost)" +msgstr "" + +#: tools/editor/editor_node.cpp +msgid "Save Scene As.." +msgstr "" + +#: tools/editor/editor_node.cpp +msgid "This scene has never been saved. Save before running?" +msgstr "" + +#: tools/editor/editor_node.cpp +msgid "Please save the scene first." +msgstr "" + +#: tools/editor/editor_node.cpp +msgid "Save Translatable Strings" +msgstr "" + +#: tools/editor/editor_node.cpp +msgid "Export Mesh Library" +msgstr "" + +#: tools/editor/editor_node.cpp +msgid "Export Tile Set" +msgstr "" + +#: tools/editor/editor_node.cpp +msgid "Quit" +msgstr "" + +#: tools/editor/editor_node.cpp +msgid "Exit the editor?" +msgstr "" + +#: tools/editor/editor_node.cpp +msgid "Current scene not saved. Open anyway?" +msgstr "" + +#: tools/editor/editor_node.cpp +msgid "Can't reload a scene that was never saved." +msgstr "" + +#: tools/editor/editor_node.cpp +msgid "Revert" +msgstr "" + +#: tools/editor/editor_node.cpp +msgid "This action cannot be undone. Revert anyway?" +msgstr "" + +#: tools/editor/editor_node.cpp +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 +#, fuzzy +msgid "Pick a Main Scene" +msgstr "ایک مینو منظر چنیں" + +#: tools/editor/editor_node.cpp tools/editor/scene_tree_dock.cpp +msgid "Ugh" +msgstr "" + +#: tools/editor/editor_node.cpp +msgid "" +"Error loading scene, it must be inside the project path. Use 'Import' to " +"open the scene, then save it inside the project path." +msgstr "" + +#: tools/editor/editor_node.cpp +msgid "Error loading scene." +msgstr "" + +#: tools/editor/editor_node.cpp +msgid "Scene '%s' has broken dependencies:" +msgstr "" + +#: tools/editor/editor_node.cpp +msgid "Save Layout" +msgstr "" + +#: tools/editor/editor_node.cpp +msgid "Delete Layout" +msgstr "" + +#: tools/editor/editor_node.cpp tools/editor/project_export.cpp +msgid "Default" +msgstr "" + +#: tools/editor/editor_node.cpp +msgid "Switch Scene Tab" +msgstr "" + +#: tools/editor/editor_node.cpp +msgid "%d more file(s)" +msgstr "" + +#: tools/editor/editor_node.cpp +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 "" + +#: tools/editor/editor_node.cpp +msgid "Go to previously opened scene." +msgstr "" + +#: tools/editor/editor_node.cpp +msgid "Fullscreen Mode" +msgstr "" + +#: tools/editor/editor_node.cpp +msgid "Distraction Free Mode" +msgstr "" + +#: tools/editor/editor_node.cpp +msgid "Next tab" +msgstr "" + +#: tools/editor/editor_node.cpp +msgid "Previous tab" +msgstr "" + +#: tools/editor/editor_node.cpp +msgid "Operations with scene files." +msgstr "" + +#: tools/editor/editor_node.cpp +msgid "New Scene" +msgstr "" + +#: tools/editor/editor_node.cpp +msgid "New Inherited Scene.." +msgstr "" + +#: tools/editor/editor_node.cpp +msgid "Open Scene.." +msgstr "" + +#: tools/editor/editor_node.cpp +msgid "Save Scene" +msgstr "" + +#: tools/editor/editor_node.cpp +msgid "Save all Scenes" +msgstr "" + +#: tools/editor/editor_node.cpp +msgid "Close Scene" +msgstr "" + +#: tools/editor/editor_node.cpp +msgid "Close Goto Prev. Scene" +msgstr "" + +#: tools/editor/editor_node.cpp +msgid "Open Recent" +msgstr "" + +#: tools/editor/editor_node.cpp +msgid "Quick Filter Files.." +msgstr "" + +#: tools/editor/editor_node.cpp +msgid "Convert To.." +msgstr "" + +#: tools/editor/editor_node.cpp +msgid "Translatable Strings.." +msgstr "" + +#: tools/editor/editor_node.cpp +msgid "MeshLibrary.." +msgstr "" + +#: tools/editor/editor_node.cpp +msgid "TileSet.." +msgstr "" + +#: tools/editor/editor_node.cpp tools/editor/plugins/script_editor_plugin.cpp +#: tools/editor/plugins/shader_editor_plugin.cpp +msgid "Redo" +msgstr "" + +#: tools/editor/editor_node.cpp +msgid "Run Script" +msgstr "" + +#: tools/editor/editor_node.cpp +msgid "Project Settings" +msgstr "" + +#: tools/editor/editor_node.cpp +msgid "Revert Scene" +msgstr "" + +#: tools/editor/editor_node.cpp +msgid "Quit to Project List" +msgstr "" + +#: tools/editor/editor_node.cpp +msgid "Import assets to the project." +msgstr "" + +#: tools/editor/editor_node.cpp +#: tools/editor/io_plugins/editor_bitmask_import_plugin.cpp +#: tools/editor/io_plugins/editor_font_import_plugin.cpp +#: tools/editor/io_plugins/editor_mesh_import_plugin.cpp +#: tools/editor/io_plugins/editor_sample_import_plugin.cpp +#: tools/editor/io_plugins/editor_scene_import_plugin.cpp +#: tools/editor/io_plugins/editor_texture_import_plugin.cpp +#: tools/editor/io_plugins/editor_translation_import_plugin.cpp +#: tools/editor/project_manager.cpp +msgid "Import" +msgstr "" + +#: tools/editor/editor_node.cpp +msgid "Miscellaneous project or scene-wide tools." +msgstr "" + +#: tools/editor/editor_node.cpp +msgid "Tools" +msgstr "" + +#: tools/editor/editor_node.cpp +msgid "Export the project to many platforms." +msgstr "" + +#: tools/editor/editor_node.cpp tools/editor/project_export.cpp +msgid "Export" +msgstr "" + +#: tools/editor/editor_node.cpp +msgid "Play the project." +msgstr "" + +#: tools/editor/editor_node.cpp +#: tools/editor/plugins/sample_library_editor_plugin.cpp +msgid "Play" +msgstr "" + +#: tools/editor/editor_node.cpp +msgid "Pause the scene" +msgstr "" + +#: tools/editor/editor_node.cpp +msgid "Pause Scene" +msgstr "" + +#: tools/editor/editor_node.cpp +msgid "Stop the scene." +msgstr "" + +#: tools/editor/editor_node.cpp +#: tools/editor/plugins/sample_library_editor_plugin.cpp +msgid "Stop" +msgstr "" + +#: tools/editor/editor_node.cpp +msgid "Play the edited scene." +msgstr "" + +#: tools/editor/editor_node.cpp +msgid "Play Scene" +msgstr "" + +#: tools/editor/editor_node.cpp +msgid "Play custom scene" +msgstr "" + +#: tools/editor/editor_node.cpp +msgid "Play Custom Scene" +msgstr "" + +#: tools/editor/editor_node.cpp +msgid "Debug options" +msgstr "" + +#: tools/editor/editor_node.cpp +msgid "Deploy with Remote Debug" +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 "" + +#: tools/editor/editor_node.cpp +msgid "Small Deploy with Network FS" +msgstr "" + +#: tools/editor/editor_node.cpp +msgid "" +"When this option is enabled, export or deploy will produce a minimal " +"executable.\n" +"The filesystem will be provided from the project by the editor over the " +"network.\n" +"On Android, deploy will use the USB cable for faster performance. This " +"option speeds up testing for games with a large footprint." +msgstr "" + +#: tools/editor/editor_node.cpp +msgid "Visible Collision Shapes" +msgstr "" + +#: tools/editor/editor_node.cpp +msgid "" +"Collision shapes and raycast nodes (for 2D and 3D) will be visible on the " +"running game if this option is turned on." +msgstr "" + +#: tools/editor/editor_node.cpp +msgid "Visible Navigation" +msgstr "" + +#: tools/editor/editor_node.cpp +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 "" + +#: tools/editor/editor_node.cpp +msgid "" +"When this option is turned on, any changes made to the scene in the editor " +"will be replicated in the running game.\n" +"When used remotely on a device, this is more efficient with network " +"filesystem." +msgstr "" + +#: tools/editor/editor_node.cpp +msgid "Sync Script Changes" +msgstr "" + +#: tools/editor/editor_node.cpp +msgid "" +"When this option is turned on, any script that is saved will be reloaded on " +"the running game.\n" +"When used remotely on a device, this is more efficient with network " +"filesystem." +msgstr "" + +#: tools/editor/editor_node.cpp tools/editor/plugins/spatial_editor_plugin.cpp +msgid "Settings" +msgstr "" + +#: tools/editor/editor_node.cpp tools/editor/settings_config_dialog.cpp +msgid "Editor Settings" +msgstr "" + +#: tools/editor/editor_node.cpp +msgid "Editor Layout" +msgstr "" + +#: tools/editor/editor_node.cpp +msgid "Install Export Templates" +msgstr "" + +#: tools/editor/editor_node.cpp +msgid "About" +msgstr "" + +#: tools/editor/editor_node.cpp +msgid "Alerts when an external resource has changed." +msgstr "" + +#: tools/editor/editor_node.cpp +msgid "Spins when the editor window repaints!" +msgstr "" + +#: tools/editor/editor_node.cpp +msgid "Update Always" +msgstr "" + +#: tools/editor/editor_node.cpp +msgid "Update Changes" +msgstr "" + +#: tools/editor/editor_node.cpp +msgid "Inspector" +msgstr "" + +#: tools/editor/editor_node.cpp +msgid "Create a new resource in memory and edit it." +msgstr "" + +#: tools/editor/editor_node.cpp +msgid "Load an existing resource from disk and edit it." +msgstr "" + +#: tools/editor/editor_node.cpp +msgid "Save the currently edited resource." +msgstr "" + +#: tools/editor/editor_node.cpp tools/editor/plugins/script_editor_plugin.cpp +msgid "Save As.." +msgstr "" + +#: tools/editor/editor_node.cpp +msgid "Go to the previous edited object in history." +msgstr "" + +#: tools/editor/editor_node.cpp +msgid "Go to the next edited object in history." +msgstr "" + +#: tools/editor/editor_node.cpp +msgid "History of recently edited objects." +msgstr "" + +#: tools/editor/editor_node.cpp +msgid "Object properties." +msgstr "" + +#: tools/editor/editor_node.cpp +msgid "FileSystem" +msgstr "" + +#: tools/editor/editor_node.cpp +msgid "Output" +msgstr "" + +#: tools/editor/editor_node.cpp tools/editor/editor_reimport_dialog.cpp +msgid "Re-Import" +msgstr "" + +#: tools/editor/editor_node.cpp tools/editor/editor_plugin_settings.cpp +msgid "Update" +msgstr "" + +#: tools/editor/editor_node.cpp +msgid "Thanks from the Godot community!" +msgstr "" + +#: tools/editor/editor_node.cpp +msgid "Thanks!" +msgstr "" + +#: tools/editor/editor_node.cpp +msgid "Import Templates From ZIP File" +msgstr "" + +#: tools/editor/editor_node.cpp tools/editor/project_export.cpp +msgid "Export Project" +msgstr "" + +#: tools/editor/editor_node.cpp +msgid "Export Library" +msgstr "" + +#: tools/editor/editor_node.cpp +msgid "Merge With Existing" +msgstr "" + +#: tools/editor/editor_node.cpp tools/editor/project_export.cpp +msgid "Password:" +msgstr "" + +#: tools/editor/editor_node.cpp +msgid "Open & Run a Script" +msgstr "" + +#: tools/editor/editor_node.cpp +msgid "Load Errors" +msgstr "" + +#: tools/editor/editor_plugin_settings.cpp +msgid "Installed Plugins:" +msgstr "" + +#: tools/editor/editor_plugin_settings.cpp +msgid "Version:" +msgstr "" + +#: tools/editor/editor_plugin_settings.cpp +msgid "Author:" +msgstr "" + +#: tools/editor/editor_plugin_settings.cpp +msgid "Status:" +msgstr "" + +#: tools/editor/editor_profiler.cpp +msgid "Stop Profiling" +msgstr "" + +#: tools/editor/editor_profiler.cpp +msgid "Start Profiling" +msgstr "" + +#: tools/editor/editor_profiler.cpp +msgid "Measure:" +msgstr "" + +#: tools/editor/editor_profiler.cpp +msgid "Frame Time (sec)" +msgstr "" + +#: tools/editor/editor_profiler.cpp +msgid "Average Time (sec)" +msgstr "" + +#: tools/editor/editor_profiler.cpp +msgid "Frame %" +msgstr "" + +#: tools/editor/editor_profiler.cpp +msgid "Fixed Frame %" +msgstr "" + +#: tools/editor/editor_profiler.cpp tools/editor/script_editor_debugger.cpp +msgid "Time:" +msgstr "" + +#: tools/editor/editor_profiler.cpp +msgid "Inclusive" +msgstr "" + +#: tools/editor/editor_profiler.cpp +msgid "Self" +msgstr "" + +#: tools/editor/editor_profiler.cpp +msgid "Frame #:" +msgstr "" + +#: tools/editor/editor_reimport_dialog.cpp +msgid "Please wait for scan to complete." +msgstr "" + +#: tools/editor/editor_reimport_dialog.cpp +msgid "Current scene must be saved to re-import." +msgstr "" + +#: tools/editor/editor_reimport_dialog.cpp +msgid "Save & Re-Import" +msgstr "" + +#: tools/editor/editor_reimport_dialog.cpp +msgid "Re-Import Changed Resources" +msgstr "" + +#: tools/editor/editor_run_script.cpp +msgid "Write your logic in the _run() method." +msgstr "" + +#: tools/editor/editor_run_script.cpp +msgid "There is an edited scene already." +msgstr "" + +#: tools/editor/editor_run_script.cpp +msgid "Couldn't instance script:" +msgstr "" + +#: tools/editor/editor_run_script.cpp +msgid "Did you forget the 'tool' keyword?" +msgstr "" + +#: tools/editor/editor_run_script.cpp +msgid "Couldn't run script:" +msgstr "" + +#: tools/editor/editor_run_script.cpp +msgid "Did you forget the '_run' method?" +msgstr "" + +#: tools/editor/editor_settings.cpp +msgid "Default (Same as Editor)" +msgstr "" + +#: tools/editor/editor_sub_scene.cpp +msgid "Select Node(s) to Import" +msgstr "" + +#: tools/editor/editor_sub_scene.cpp +msgid "Scene Path:" +msgstr "" + +#: tools/editor/editor_sub_scene.cpp +msgid "Import From Node:" +msgstr "" + +#: tools/editor/file_type_cache.cpp +msgid "Can't open file_type_cache.cch for writing, not saving file type cache!" +msgstr "" + +#: tools/editor/groups_editor.cpp +msgid "Add to Group" +msgstr "" + +#: tools/editor/groups_editor.cpp +msgid "Remove from Group" +msgstr "" + +#: tools/editor/io_plugins/editor_bitmask_import_plugin.cpp +msgid "No bit masks to import!" +msgstr "" + +#: tools/editor/io_plugins/editor_bitmask_import_plugin.cpp +#: tools/editor/io_plugins/editor_sample_import_plugin.cpp +#: tools/editor/io_plugins/editor_scene_import_plugin.cpp +#: tools/editor/io_plugins/editor_texture_import_plugin.cpp +msgid "Target path is empty." +msgstr "" + +#: tools/editor/io_plugins/editor_bitmask_import_plugin.cpp +#: tools/editor/io_plugins/editor_sample_import_plugin.cpp +#: tools/editor/io_plugins/editor_scene_import_plugin.cpp +#: tools/editor/io_plugins/editor_texture_import_plugin.cpp +msgid "Target path must be a complete resource path." +msgstr "" + +#: tools/editor/io_plugins/editor_bitmask_import_plugin.cpp +#: tools/editor/io_plugins/editor_sample_import_plugin.cpp +#: tools/editor/io_plugins/editor_scene_import_plugin.cpp +#: tools/editor/io_plugins/editor_texture_import_plugin.cpp +msgid "Target path must exist." +msgstr "" + +#: tools/editor/io_plugins/editor_bitmask_import_plugin.cpp +#: tools/editor/io_plugins/editor_mesh_import_plugin.cpp +#: tools/editor/io_plugins/editor_sample_import_plugin.cpp +msgid "Save path is empty!" +msgstr "" + +#: tools/editor/io_plugins/editor_bitmask_import_plugin.cpp +msgid "Import BitMasks" +msgstr "" + +#: tools/editor/io_plugins/editor_bitmask_import_plugin.cpp +#: tools/editor/io_plugins/editor_texture_import_plugin.cpp +msgid "Source Texture(s):" +msgstr "" + +#: tools/editor/io_plugins/editor_bitmask_import_plugin.cpp +#: tools/editor/io_plugins/editor_mesh_import_plugin.cpp +#: tools/editor/io_plugins/editor_sample_import_plugin.cpp +#: tools/editor/io_plugins/editor_scene_import_plugin.cpp +#: tools/editor/io_plugins/editor_texture_import_plugin.cpp +#: tools/editor/io_plugins/editor_translation_import_plugin.cpp +msgid "Target Path:" +msgstr "" + +#: tools/editor/io_plugins/editor_bitmask_import_plugin.cpp +#: tools/editor/io_plugins/editor_font_import_plugin.cpp +#: tools/editor/io_plugins/editor_sample_import_plugin.cpp +#: tools/editor/io_plugins/editor_scene_import_plugin.cpp +#: tools/editor/io_plugins/editor_texture_import_plugin.cpp +#: tools/editor/io_plugins/editor_translation_import_plugin.cpp +msgid "Accept" +msgstr "" + +#: tools/editor/io_plugins/editor_bitmask_import_plugin.cpp +msgid "Bit Mask" +msgstr "" + +#: tools/editor/io_plugins/editor_font_import_plugin.cpp +msgid "No source font file!" +msgstr "" + +#: tools/editor/io_plugins/editor_font_import_plugin.cpp +msgid "No target font resource!" +msgstr "" + +#: tools/editor/io_plugins/editor_font_import_plugin.cpp +msgid "" +"Invalid file extension.\n" +"Please use .fnt." +msgstr "" + +#: tools/editor/io_plugins/editor_font_import_plugin.cpp +msgid "Can't load/process source font." +msgstr "" + +#: tools/editor/io_plugins/editor_font_import_plugin.cpp +msgid "Couldn't save font." +msgstr "" + +#: tools/editor/io_plugins/editor_font_import_plugin.cpp +msgid "Source Font:" +msgstr "" + +#: tools/editor/io_plugins/editor_font_import_plugin.cpp +msgid "Source Font Size:" +msgstr "" + +#: tools/editor/io_plugins/editor_font_import_plugin.cpp +msgid "Dest Resource:" +msgstr "" + +#: tools/editor/io_plugins/editor_font_import_plugin.cpp +msgid "The quick brown fox jumps over the lazy dog." +msgstr "" + +#: tools/editor/io_plugins/editor_font_import_plugin.cpp +msgid "Test:" +msgstr "" + +#: tools/editor/io_plugins/editor_font_import_plugin.cpp +#: tools/editor/io_plugins/editor_mesh_import_plugin.cpp +#: tools/editor/io_plugins/editor_sample_import_plugin.cpp +#: tools/editor/io_plugins/editor_scene_import_plugin.cpp +msgid "Options:" +msgstr "" + +#: tools/editor/io_plugins/editor_font_import_plugin.cpp +msgid "Font Import" +msgstr "" + +#: tools/editor/io_plugins/editor_font_import_plugin.cpp +msgid "" +"This file is already a Godot font file, please supply a BMFont type file " +"instead." +msgstr "" + +#: tools/editor/io_plugins/editor_font_import_plugin.cpp +msgid "Failed opening as BMFont file." +msgstr "" + +#: tools/editor/io_plugins/editor_font_import_plugin.cpp +msgid "Invalid font custom source." +msgstr "" + +#: tools/editor/io_plugins/editor_font_import_plugin.cpp +#: tools/editor/plugins/theme_editor_plugin.cpp +msgid "Font" +msgstr "" + +#: tools/editor/io_plugins/editor_mesh_import_plugin.cpp +msgid "No meshes to import!" +msgstr "" + +#: tools/editor/io_plugins/editor_mesh_import_plugin.cpp +msgid "Single Mesh Import" +msgstr "" + +#: tools/editor/io_plugins/editor_mesh_import_plugin.cpp +msgid "Source Mesh(es):" +msgstr "" + +#: tools/editor/io_plugins/editor_mesh_import_plugin.cpp +#: tools/editor/plugins/mesh_instance_editor_plugin.cpp +msgid "Mesh" +msgstr "" + +#: tools/editor/io_plugins/editor_mesh_import_plugin.cpp +msgid "Surface %d" +msgstr "" + +#: tools/editor/io_plugins/editor_sample_import_plugin.cpp +msgid "No samples to import!" +msgstr "" + +#: tools/editor/io_plugins/editor_sample_import_plugin.cpp +msgid "Import Audio Samples" +msgstr "" + +#: tools/editor/io_plugins/editor_sample_import_plugin.cpp +msgid "Source Sample(s):" +msgstr "" + +#: tools/editor/io_plugins/editor_sample_import_plugin.cpp +msgid "Audio Sample" +msgstr "" + +#: tools/editor/io_plugins/editor_scene_import_plugin.cpp +msgid "New Clip" +msgstr "" + +#: tools/editor/io_plugins/editor_scene_import_plugin.cpp +msgid "Animation Options" +msgstr "" + +#: tools/editor/io_plugins/editor_scene_import_plugin.cpp +msgid "Flags" +msgstr "" + +#: tools/editor/io_plugins/editor_scene_import_plugin.cpp +msgid "Bake FPS:" +msgstr "" + +#: tools/editor/io_plugins/editor_scene_import_plugin.cpp +msgid "Optimizer" +msgstr "" + +#: tools/editor/io_plugins/editor_scene_import_plugin.cpp +msgid "Max Linear Error" +msgstr "" + +#: tools/editor/io_plugins/editor_scene_import_plugin.cpp +msgid "Max Angular Error" +msgstr "" + +#: tools/editor/io_plugins/editor_scene_import_plugin.cpp +msgid "Max Angle" +msgstr "" + +#: tools/editor/io_plugins/editor_scene_import_plugin.cpp +msgid "Clips" +msgstr "" + +#: tools/editor/io_plugins/editor_scene_import_plugin.cpp +msgid "Start(s)" +msgstr "" + +#: tools/editor/io_plugins/editor_scene_import_plugin.cpp +msgid "End(s)" +msgstr "" + +#: tools/editor/io_plugins/editor_scene_import_plugin.cpp +#: tools/editor/plugins/sprite_frames_editor_plugin.cpp +msgid "Loop" +msgstr "" + +#: tools/editor/io_plugins/editor_scene_import_plugin.cpp +msgid "Filters" +msgstr "" + +#: tools/editor/io_plugins/editor_scene_import_plugin.cpp +msgid "Source path is empty." +msgstr "" + +#: tools/editor/io_plugins/editor_scene_import_plugin.cpp +msgid "Couldn't load post-import script." +msgstr "" + +#: tools/editor/io_plugins/editor_scene_import_plugin.cpp +msgid "Invalid/broken script for post-import." +msgstr "" + +#: tools/editor/io_plugins/editor_scene_import_plugin.cpp +msgid "Error importing scene." +msgstr "" + +#: tools/editor/io_plugins/editor_scene_import_plugin.cpp +msgid "Import 3D Scene" +msgstr "" + +#: tools/editor/io_plugins/editor_scene_import_plugin.cpp +msgid "Source Scene:" +msgstr "" + +#: tools/editor/io_plugins/editor_scene_import_plugin.cpp +msgid "Same as Target Scene" +msgstr "" + +#: tools/editor/io_plugins/editor_scene_import_plugin.cpp +msgid "Shared" +msgstr "" + +#: tools/editor/io_plugins/editor_scene_import_plugin.cpp +msgid "Target Texture Folder:" +msgstr "" + +#: tools/editor/io_plugins/editor_scene_import_plugin.cpp +msgid "Post-Process Script:" +msgstr "" + +#: tools/editor/io_plugins/editor_scene_import_plugin.cpp +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 "" + +#: tools/editor/io_plugins/editor_scene_import_plugin.cpp +msgid "Import Anyway" +msgstr "" + +#: tools/editor/io_plugins/editor_scene_import_plugin.cpp +msgid "Import & Open" +msgstr "" + +#: tools/editor/io_plugins/editor_scene_import_plugin.cpp +msgid "Edited scene has not been saved, open imported scene anyway?" +msgstr "" + +#: tools/editor/io_plugins/editor_scene_import_plugin.cpp +#: tools/editor/plugins/cube_grid_theme_editor_plugin.cpp +msgid "Import Scene" +msgstr "" + +#: tools/editor/io_plugins/editor_scene_import_plugin.cpp +msgid "Importing Scene.." +msgstr "" + +#: tools/editor/io_plugins/editor_scene_import_plugin.cpp +msgid "Running Custom Script.." +msgstr "" + +#: tools/editor/io_plugins/editor_scene_import_plugin.cpp +msgid "Couldn't load post-import script:" +msgstr "" + +#: tools/editor/io_plugins/editor_scene_import_plugin.cpp +msgid "Invalid/broken script for post-import (check console):" +msgstr "" + +#: tools/editor/io_plugins/editor_scene_import_plugin.cpp +msgid "Error running post-import script:" +msgstr "" + +#: tools/editor/io_plugins/editor_scene_import_plugin.cpp +msgid "Import Image:" +msgstr "" + +#: tools/editor/io_plugins/editor_scene_import_plugin.cpp +msgid "Can't import a file over itself:" +msgstr "" + +#: tools/editor/io_plugins/editor_scene_import_plugin.cpp +msgid "Couldn't localize path: %s (already local)" +msgstr "" + +#: tools/editor/io_plugins/editor_scene_import_plugin.cpp +msgid "Saving.." +msgstr "" + +#: tools/editor/io_plugins/editor_scene_import_plugin.cpp +msgid "3D Scene Animation" +msgstr "" + +#: tools/editor/io_plugins/editor_texture_import_plugin.cpp +msgid "Uncompressed" +msgstr "" + +#: tools/editor/io_plugins/editor_texture_import_plugin.cpp +msgid "Compress Lossless (PNG)" +msgstr "" + +#: tools/editor/io_plugins/editor_texture_import_plugin.cpp +msgid "Compress Lossy (WebP)" +msgstr "" + +#: tools/editor/io_plugins/editor_texture_import_plugin.cpp +msgid "Compress (VRAM)" +msgstr "" + +#: tools/editor/io_plugins/editor_texture_import_plugin.cpp +msgid "Texture Format" +msgstr "" + +#: tools/editor/io_plugins/editor_texture_import_plugin.cpp +msgid "Texture Compression Quality (WebP):" +msgstr "" + +#: tools/editor/io_plugins/editor_texture_import_plugin.cpp +msgid "Texture Options" +msgstr "" + +#: tools/editor/io_plugins/editor_texture_import_plugin.cpp +msgid "Please specify some files!" +msgstr "" + +#: tools/editor/io_plugins/editor_texture_import_plugin.cpp +msgid "At least one file needed for Atlas." +msgstr "" + +#: tools/editor/io_plugins/editor_texture_import_plugin.cpp +msgid "Error importing:" +msgstr "" + +#: tools/editor/io_plugins/editor_texture_import_plugin.cpp +msgid "Only one file is required for large texture." +msgstr "" + +#: tools/editor/io_plugins/editor_texture_import_plugin.cpp +msgid "Max Texture Size:" +msgstr "" + +#: tools/editor/io_plugins/editor_texture_import_plugin.cpp +msgid "Import Textures for Atlas (2D)" +msgstr "" + +#: tools/editor/io_plugins/editor_texture_import_plugin.cpp +msgid "Cell Size:" +msgstr "" + +#: tools/editor/io_plugins/editor_texture_import_plugin.cpp +msgid "Large Texture" +msgstr "" + +#: tools/editor/io_plugins/editor_texture_import_plugin.cpp +msgid "Import Large Textures (2D)" +msgstr "" + +#: tools/editor/io_plugins/editor_texture_import_plugin.cpp +msgid "Source Texture" +msgstr "" + +#: tools/editor/io_plugins/editor_texture_import_plugin.cpp +msgid "Base Atlas Texture" +msgstr "" + +#: tools/editor/io_plugins/editor_texture_import_plugin.cpp +msgid "Source Texture(s)" +msgstr "" + +#: tools/editor/io_plugins/editor_texture_import_plugin.cpp +msgid "Import Textures for 2D" +msgstr "" + +#: tools/editor/io_plugins/editor_texture_import_plugin.cpp +msgid "Import Textures for 3D" +msgstr "" + +#: tools/editor/io_plugins/editor_texture_import_plugin.cpp +msgid "Import Textures" +msgstr "" + +#: tools/editor/io_plugins/editor_texture_import_plugin.cpp +msgid "2D Texture" +msgstr "" + +#: tools/editor/io_plugins/editor_texture_import_plugin.cpp +msgid "3D Texture" +msgstr "" + +#: tools/editor/io_plugins/editor_texture_import_plugin.cpp +msgid "Atlas Texture" +msgstr "" + +#: tools/editor/io_plugins/editor_texture_import_plugin.cpp +msgid "" +"NOTICE: Importing 2D textures is not mandatory. Just copy png/jpg files to " +"the project." +msgstr "" + +#: tools/editor/io_plugins/editor_texture_import_plugin.cpp +msgid "Crop empty space." +msgstr "" + +#: tools/editor/io_plugins/editor_texture_import_plugin.cpp +msgid "Texture" +msgstr "" + +#: tools/editor/io_plugins/editor_texture_import_plugin.cpp +msgid "Import Large Texture" +msgstr "" + +#: tools/editor/io_plugins/editor_texture_import_plugin.cpp +msgid "Load Source Image" +msgstr "" + +#: tools/editor/io_plugins/editor_texture_import_plugin.cpp +msgid "Slicing" +msgstr "" + +#: tools/editor/io_plugins/editor_texture_import_plugin.cpp +msgid "Inserting" +msgstr "" + +#: tools/editor/io_plugins/editor_texture_import_plugin.cpp +msgid "Saving" +msgstr "" + +#: tools/editor/io_plugins/editor_texture_import_plugin.cpp +msgid "Couldn't save large texture:" +msgstr "" + +#: tools/editor/io_plugins/editor_texture_import_plugin.cpp +msgid "Build Atlas For:" +msgstr "" + +#: tools/editor/io_plugins/editor_texture_import_plugin.cpp +msgid "Loading Image:" +msgstr "" + +#: tools/editor/io_plugins/editor_texture_import_plugin.cpp +msgid "Couldn't load image:" +msgstr "" + +#: tools/editor/io_plugins/editor_texture_import_plugin.cpp +msgid "Converting Images" +msgstr "" + +#: tools/editor/io_plugins/editor_texture_import_plugin.cpp +msgid "Cropping Images" +msgstr "" + +#: tools/editor/io_plugins/editor_texture_import_plugin.cpp +msgid "Blitting Images" +msgstr "" + +#: tools/editor/io_plugins/editor_texture_import_plugin.cpp +msgid "Couldn't save atlas image:" +msgstr "" + +#: tools/editor/io_plugins/editor_texture_import_plugin.cpp +msgid "Couldn't save converted texture:" +msgstr "" + +#: tools/editor/io_plugins/editor_translation_import_plugin.cpp +msgid "Invalid source!" +msgstr "" + +#: tools/editor/io_plugins/editor_translation_import_plugin.cpp +msgid "Invalid translation source!" +msgstr "" + +#: tools/editor/io_plugins/editor_translation_import_plugin.cpp +msgid "Column" +msgstr "" + +#: tools/editor/io_plugins/editor_translation_import_plugin.cpp +#: tools/editor/script_create_dialog.cpp +msgid "Language" +msgstr "" + +#: tools/editor/io_plugins/editor_translation_import_plugin.cpp +msgid "No items to import!" +msgstr "" + +#: tools/editor/io_plugins/editor_translation_import_plugin.cpp +msgid "No target path!" +msgstr "" + +#: tools/editor/io_plugins/editor_translation_import_plugin.cpp +msgid "Import Translations" +msgstr "" + +#: tools/editor/io_plugins/editor_translation_import_plugin.cpp +msgid "Couldn't import!" +msgstr "" + +#: tools/editor/io_plugins/editor_translation_import_plugin.cpp +msgid "Import Translation" +msgstr "" + +#: tools/editor/io_plugins/editor_translation_import_plugin.cpp +msgid "Source CSV:" +msgstr "" + +#: tools/editor/io_plugins/editor_translation_import_plugin.cpp +msgid "Ignore First Row" +msgstr "" + +#: tools/editor/io_plugins/editor_translation_import_plugin.cpp +msgid "Compress" +msgstr "" + +#: tools/editor/io_plugins/editor_translation_import_plugin.cpp +msgid "Add to Project (engine.cfg)" +msgstr "" + +#: tools/editor/io_plugins/editor_translation_import_plugin.cpp +msgid "Import Languages:" +msgstr "" + +#: tools/editor/io_plugins/editor_translation_import_plugin.cpp +msgid "Translation" +msgstr "" + +#: tools/editor/multi_node_edit.cpp +msgid "MultiNode Set" +msgstr "" + +#: tools/editor/node_dock.cpp +msgid "Node" +msgstr "" + +#: tools/editor/node_dock.cpp +msgid "Groups" +msgstr "" + +#: tools/editor/node_dock.cpp +msgid "Select a Node to edit Signals and Groups." +msgstr "" + +#: tools/editor/plugins/animation_player_editor_plugin.cpp +msgid "Toggle Autoplay" +msgstr "" + +#: tools/editor/plugins/animation_player_editor_plugin.cpp +msgid "New Animation Name:" +msgstr "" + +#: tools/editor/plugins/animation_player_editor_plugin.cpp +msgid "New Anim" +msgstr "" + +#: tools/editor/plugins/animation_player_editor_plugin.cpp +msgid "Change Animation Name:" +msgstr "" + +#: tools/editor/plugins/animation_player_editor_plugin.cpp +#: tools/editor/plugins/sprite_frames_editor_plugin.cpp +msgid "Remove Animation" +msgstr "" + +#: tools/editor/plugins/animation_player_editor_plugin.cpp +msgid "ERROR: Invalid animation name!" +msgstr "" + +#: tools/editor/plugins/animation_player_editor_plugin.cpp +msgid "ERROR: Animation name already exists!" +msgstr "" + +#: tools/editor/plugins/animation_player_editor_plugin.cpp +#: tools/editor/plugins/sprite_frames_editor_plugin.cpp +msgid "Rename Animation" +msgstr "" + +#: tools/editor/plugins/animation_player_editor_plugin.cpp +#: tools/editor/plugins/sprite_frames_editor_plugin.cpp +msgid "Add Animation" +msgstr "" + +#: tools/editor/plugins/animation_player_editor_plugin.cpp +msgid "Blend Next Changed" +msgstr "" + +#: tools/editor/plugins/animation_player_editor_plugin.cpp +msgid "Change Blend Time" +msgstr "" + +#: tools/editor/plugins/animation_player_editor_plugin.cpp +msgid "Load Animation" +msgstr "" + +#: tools/editor/plugins/animation_player_editor_plugin.cpp +msgid "Duplicate Animation" +msgstr "" + +#: tools/editor/plugins/animation_player_editor_plugin.cpp +msgid "ERROR: No animation to copy!" +msgstr "" + +#: tools/editor/plugins/animation_player_editor_plugin.cpp +msgid "ERROR: No animation resource on clipboard!" +msgstr "" + +#: tools/editor/plugins/animation_player_editor_plugin.cpp +msgid "Pasted Animation" +msgstr "" + +#: tools/editor/plugins/animation_player_editor_plugin.cpp +msgid "Paste Animation" +msgstr "" + +#: tools/editor/plugins/animation_player_editor_plugin.cpp +msgid "ERROR: No animation to edit!" +msgstr "" + +#: tools/editor/plugins/animation_player_editor_plugin.cpp +msgid "Play selected animation backwards from current pos. (A)" +msgstr "" + +#: tools/editor/plugins/animation_player_editor_plugin.cpp +msgid "Play selected animation backwards from end. (Shift+A)" +msgstr "" + +#: tools/editor/plugins/animation_player_editor_plugin.cpp +msgid "Stop animation playback. (S)" +msgstr "" + +#: tools/editor/plugins/animation_player_editor_plugin.cpp +msgid "Play selected animation from start. (Shift+D)" +msgstr "" + +#: tools/editor/plugins/animation_player_editor_plugin.cpp +msgid "Play selected animation from current pos. (D)" +msgstr "" + +#: tools/editor/plugins/animation_player_editor_plugin.cpp +msgid "Animation position (in seconds)." +msgstr "" + +#: tools/editor/plugins/animation_player_editor_plugin.cpp +msgid "Scale animation playback globally for the node." +msgstr "" + +#: tools/editor/plugins/animation_player_editor_plugin.cpp +msgid "Create new animation in player." +msgstr "" + +#: tools/editor/plugins/animation_player_editor_plugin.cpp +msgid "Load animation from disk." +msgstr "" + +#: tools/editor/plugins/animation_player_editor_plugin.cpp +msgid "Load an animation from disk." +msgstr "" + +#: tools/editor/plugins/animation_player_editor_plugin.cpp +msgid "Save the current animation" +msgstr "" + +#: tools/editor/plugins/animation_player_editor_plugin.cpp +msgid "Save As" +msgstr "" + +#: tools/editor/plugins/animation_player_editor_plugin.cpp +msgid "Display list of animations in player." +msgstr "" + +#: tools/editor/plugins/animation_player_editor_plugin.cpp +msgid "Autoplay on Load" +msgstr "" + +#: tools/editor/plugins/animation_player_editor_plugin.cpp +msgid "Edit Target Blend Times" +msgstr "" + +#: tools/editor/plugins/animation_player_editor_plugin.cpp +msgid "Animation Tools" +msgstr "" + +#: tools/editor/plugins/animation_player_editor_plugin.cpp +msgid "Copy Animation" +msgstr "" + +#: tools/editor/plugins/animation_player_editor_plugin.cpp +msgid "Create New Animation" +msgstr "" + +#: tools/editor/plugins/animation_player_editor_plugin.cpp +msgid "Animation Name:" +msgstr "" + +#: tools/editor/plugins/animation_player_editor_plugin.cpp +#: tools/editor/plugins/resource_preloader_editor_plugin.cpp +#: tools/editor/plugins/sample_library_editor_plugin.cpp +#: tools/editor/plugins/sprite_frames_editor_plugin.cpp +#: tools/editor/property_editor.cpp tools/editor/script_create_dialog.cpp +msgid "Error!" +msgstr "" + +#: tools/editor/plugins/animation_player_editor_plugin.cpp +msgid "Blend Times:" +msgstr "" + +#: tools/editor/plugins/animation_player_editor_plugin.cpp +msgid "Next (Auto Queue):" +msgstr "" + +#: tools/editor/plugins/animation_player_editor_plugin.cpp +msgid "Cross-Animation Blend Times" +msgstr "" + +#: tools/editor/plugins/animation_player_editor_plugin.cpp +#: tools/editor/plugins/canvas_item_editor_plugin.cpp +msgid "Animation" +msgstr "" + +#: tools/editor/plugins/animation_tree_editor_plugin.cpp +msgid "New name:" +msgstr "" + +#: tools/editor/plugins/animation_tree_editor_plugin.cpp +#: tools/editor/plugins/multimesh_editor_plugin.cpp +msgid "Scale:" +msgstr "" + +#: tools/editor/plugins/animation_tree_editor_plugin.cpp +msgid "Fade In (s):" +msgstr "" + +#: tools/editor/plugins/animation_tree_editor_plugin.cpp +msgid "Fade Out (s):" +msgstr "" + +#: tools/editor/plugins/animation_tree_editor_plugin.cpp +msgid "Blend" +msgstr "" + +#: tools/editor/plugins/animation_tree_editor_plugin.cpp +msgid "Mix" +msgstr "" + +#: tools/editor/plugins/animation_tree_editor_plugin.cpp +msgid "Auto Restart:" +msgstr "" + +#: tools/editor/plugins/animation_tree_editor_plugin.cpp +msgid "Restart (s):" +msgstr "" + +#: tools/editor/plugins/animation_tree_editor_plugin.cpp +msgid "Random Restart (s):" +msgstr "" + +#: tools/editor/plugins/animation_tree_editor_plugin.cpp +msgid "Start!" +msgstr "" + +#: tools/editor/plugins/animation_tree_editor_plugin.cpp +#: tools/editor/plugins/multimesh_editor_plugin.cpp +msgid "Amount:" +msgstr "" + +#: tools/editor/plugins/animation_tree_editor_plugin.cpp +msgid "Blend:" +msgstr "" + +#: tools/editor/plugins/animation_tree_editor_plugin.cpp +msgid "Blend 0:" +msgstr "" + +#: tools/editor/plugins/animation_tree_editor_plugin.cpp +msgid "Blend 1:" +msgstr "" + +#: tools/editor/plugins/animation_tree_editor_plugin.cpp +msgid "X-Fade Time (s):" +msgstr "" + +#: tools/editor/plugins/animation_tree_editor_plugin.cpp +msgid "Current:" +msgstr "" + +#: tools/editor/plugins/animation_tree_editor_plugin.cpp +msgid "Add Input" +msgstr "" + +#: tools/editor/plugins/animation_tree_editor_plugin.cpp +msgid "Clear Auto-Advance" +msgstr "" + +#: tools/editor/plugins/animation_tree_editor_plugin.cpp +msgid "Set Auto-Advance" +msgstr "" + +#: tools/editor/plugins/animation_tree_editor_plugin.cpp +msgid "Delete Input" +msgstr "" + +#: tools/editor/plugins/animation_tree_editor_plugin.cpp +msgid "Rename" +msgstr "" + +#: tools/editor/plugins/animation_tree_editor_plugin.cpp +msgid "Animation tree is valid." +msgstr "" + +#: tools/editor/plugins/animation_tree_editor_plugin.cpp +msgid "Animation tree is invalid." +msgstr "" + +#: tools/editor/plugins/animation_tree_editor_plugin.cpp +msgid "Animation Node" +msgstr "" + +#: tools/editor/plugins/animation_tree_editor_plugin.cpp +msgid "OneShot Node" +msgstr "" + +#: tools/editor/plugins/animation_tree_editor_plugin.cpp +msgid "Mix Node" +msgstr "" + +#: tools/editor/plugins/animation_tree_editor_plugin.cpp +msgid "Blend2 Node" +msgstr "" + +#: tools/editor/plugins/animation_tree_editor_plugin.cpp +msgid "Blend3 Node" +msgstr "" + +#: tools/editor/plugins/animation_tree_editor_plugin.cpp +msgid "Blend4 Node" +msgstr "" + +#: tools/editor/plugins/animation_tree_editor_plugin.cpp +msgid "TimeScale Node" +msgstr "" + +#: tools/editor/plugins/animation_tree_editor_plugin.cpp +msgid "TimeSeek Node" +msgstr "" + +#: tools/editor/plugins/animation_tree_editor_plugin.cpp +msgid "Transition Node" +msgstr "" + +#: tools/editor/plugins/animation_tree_editor_plugin.cpp +msgid "Import Animations.." +msgstr "" + +#: tools/editor/plugins/animation_tree_editor_plugin.cpp +msgid "Edit Node Filters" +msgstr "" + +#: tools/editor/plugins/animation_tree_editor_plugin.cpp +msgid "Filters.." +msgstr "" + +#: tools/editor/plugins/baked_light_baker.cpp +msgid "Parsing %d Triangles:" +msgstr "" + +#: tools/editor/plugins/baked_light_baker.cpp +msgid "Triangle #" +msgstr "" + +#: tools/editor/plugins/baked_light_baker.cpp +msgid "Light Baker Setup:" +msgstr "" + +#: tools/editor/plugins/baked_light_baker.cpp +msgid "Parsing Geometry" +msgstr "" + +#: tools/editor/plugins/baked_light_baker.cpp +msgid "Fixing Lights" +msgstr "" + +#: tools/editor/plugins/baked_light_baker.cpp +msgid "Making BVH" +msgstr "" + +#: tools/editor/plugins/baked_light_baker.cpp +msgid "Creating Light Octree" +msgstr "" + +#: tools/editor/plugins/baked_light_baker.cpp +msgid "Creating Octree Texture" +msgstr "" + +#: tools/editor/plugins/baked_light_baker.cpp +msgid "Transfer to Lightmaps:" +msgstr "" + +#: tools/editor/plugins/baked_light_baker.cpp +msgid "Allocating Texture #" +msgstr "" + +#: tools/editor/plugins/baked_light_baker.cpp +msgid "Baking Triangle #" +msgstr "" + +#: tools/editor/plugins/baked_light_baker.cpp +msgid "Post-Processing Texture #" +msgstr "" + +#: tools/editor/plugins/baked_light_editor_plugin.cpp +msgid "BakedLightInstance does not contain a BakedLight resource." +msgstr "" + +#: tools/editor/plugins/baked_light_editor_plugin.cpp +msgid "Bake!" +msgstr "" + +#: tools/editor/plugins/baked_light_editor_plugin.cpp +msgid "Reset the lightmap octree baking process (start over)." +msgstr "" + +#: tools/editor/plugins/camera_editor_plugin.cpp +#: tools/editor/plugins/sample_library_editor_plugin.cpp +msgid "Preview" +msgstr "" + +#: tools/editor/plugins/canvas_item_editor_plugin.cpp +msgid "Configure Snap" +msgstr "" + +#: tools/editor/plugins/canvas_item_editor_plugin.cpp +#: tools/editor/plugins/polygon_2d_editor_plugin.cpp +msgid "Grid Offset:" +msgstr "" + +#: tools/editor/plugins/canvas_item_editor_plugin.cpp +#: tools/editor/plugins/polygon_2d_editor_plugin.cpp +msgid "Grid Step:" +msgstr "" + +#: tools/editor/plugins/canvas_item_editor_plugin.cpp +msgid "Rotation Offset:" +msgstr "" + +#: tools/editor/plugins/canvas_item_editor_plugin.cpp +msgid "Rotation Step:" +msgstr "" + +#: tools/editor/plugins/canvas_item_editor_plugin.cpp +msgid "Move Pivot" +msgstr "" + +#: tools/editor/plugins/canvas_item_editor_plugin.cpp +msgid "Move Action" +msgstr "ایکشن منتقل کریں" + +#: tools/editor/plugins/canvas_item_editor_plugin.cpp +msgid "Edit IK Chain" +msgstr "" + +#: tools/editor/plugins/canvas_item_editor_plugin.cpp +msgid "Edit CanvasItem" +msgstr "" + +#: tools/editor/plugins/canvas_item_editor_plugin.cpp +msgid "Change Anchors" +msgstr "" + +#: tools/editor/plugins/canvas_item_editor_plugin.cpp +msgid "Zoom (%):" +msgstr "" + +#: tools/editor/plugins/canvas_item_editor_plugin.cpp +msgid "Paste Pose" +msgstr "" + +#: tools/editor/plugins/canvas_item_editor_plugin.cpp +msgid "Select Mode (Q)" +msgstr "" + +#: tools/editor/plugins/canvas_item_editor_plugin.cpp +msgid "Drag: Rotate" +msgstr "" + +#: tools/editor/plugins/canvas_item_editor_plugin.cpp +msgid "Alt+Drag: Move" +msgstr "" + +#: tools/editor/plugins/canvas_item_editor_plugin.cpp +msgid "Press 'v' to Change Pivot, 'Shift+v' to Drag Pivot (while moving)." +msgstr "" + +#: tools/editor/plugins/canvas_item_editor_plugin.cpp +msgid "Alt+RMB: Depth list selection" +msgstr "" + +#: tools/editor/plugins/canvas_item_editor_plugin.cpp +#: tools/editor/plugins/spatial_editor_plugin.cpp +msgid "Move Mode (W)" +msgstr "" + +#: tools/editor/plugins/canvas_item_editor_plugin.cpp +#: tools/editor/plugins/spatial_editor_plugin.cpp +msgid "Rotate Mode (E)" +msgstr "" + +#: tools/editor/plugins/canvas_item_editor_plugin.cpp +#: tools/editor/plugins/spatial_editor_plugin.cpp +msgid "" +"Show a list of all objects at the position clicked\n" +"(same as Alt+RMB in select mode)." +msgstr "" + +#: tools/editor/plugins/canvas_item_editor_plugin.cpp +msgid "Click to change object's rotation pivot." +msgstr "" + +#: tools/editor/plugins/canvas_item_editor_plugin.cpp +msgid "Pan Mode" +msgstr "" + +#: tools/editor/plugins/canvas_item_editor_plugin.cpp +msgid "Lock the selected object in place (can't be moved)." +msgstr "" + +#: tools/editor/plugins/canvas_item_editor_plugin.cpp +msgid "Unlock the selected object (can be moved)." +msgstr "" + +#: tools/editor/plugins/canvas_item_editor_plugin.cpp +msgid "Makes sure the object's children are not selectable." +msgstr "" + +#: tools/editor/plugins/canvas_item_editor_plugin.cpp +msgid "Restores the object's children's ability to be selected." +msgstr "" + +#: tools/editor/plugins/canvas_item_editor_plugin.cpp +#: tools/editor/plugins/polygon_2d_editor_plugin.cpp +#: tools/editor/plugins/script_editor_plugin.cpp +#: tools/editor/plugins/shader_editor_plugin.cpp +#: tools/editor/project_manager.cpp +msgid "Edit" +msgstr "" + +#: tools/editor/plugins/canvas_item_editor_plugin.cpp +#: tools/editor/plugins/spatial_editor_plugin.cpp +msgid "Use Snap" +msgstr "" + +#: tools/editor/plugins/canvas_item_editor_plugin.cpp +#: tools/editor/plugins/polygon_2d_editor_plugin.cpp +msgid "Show Grid" +msgstr "" + +#: tools/editor/plugins/canvas_item_editor_plugin.cpp +msgid "Use Rotation Snap" +msgstr "" + +#: tools/editor/plugins/canvas_item_editor_plugin.cpp +msgid "Snap Relative" +msgstr "" + +#: tools/editor/plugins/canvas_item_editor_plugin.cpp +#: tools/editor/plugins/spatial_editor_plugin.cpp +msgid "Configure Snap.." +msgstr "" + +#: tools/editor/plugins/canvas_item_editor_plugin.cpp +msgid "Use Pixel Snap" +msgstr "" + +#: tools/editor/plugins/canvas_item_editor_plugin.cpp +msgid "Expand to Parent" +msgstr "" + +#: tools/editor/plugins/canvas_item_editor_plugin.cpp +msgid "Skeleton.." +msgstr "" + +#: tools/editor/plugins/canvas_item_editor_plugin.cpp +msgid "Make Bones" +msgstr "" + +#: tools/editor/plugins/canvas_item_editor_plugin.cpp +msgid "Clear Bones" +msgstr "" + +#: tools/editor/plugins/canvas_item_editor_plugin.cpp +msgid "Make IK Chain" +msgstr "" + +#: tools/editor/plugins/canvas_item_editor_plugin.cpp +msgid "Clear IK Chain" +msgstr "" + +#: tools/editor/plugins/canvas_item_editor_plugin.cpp +#: tools/editor/plugins/spatial_editor_plugin.cpp +msgid "View" +msgstr "" + +#: tools/editor/plugins/canvas_item_editor_plugin.cpp +msgid "Zoom In" +msgstr "" + +#: tools/editor/plugins/canvas_item_editor_plugin.cpp +msgid "Zoom Out" +msgstr "" + +#: tools/editor/plugins/canvas_item_editor_plugin.cpp +msgid "Zoom Reset" +msgstr "" + +#: tools/editor/plugins/canvas_item_editor_plugin.cpp +msgid "Zoom Set.." +msgstr "" + +#: tools/editor/plugins/canvas_item_editor_plugin.cpp +msgid "Center Selection" +msgstr "" + +#: tools/editor/plugins/canvas_item_editor_plugin.cpp +msgid "Frame Selection" +msgstr "" + +#: tools/editor/plugins/canvas_item_editor_plugin.cpp +msgid "Anchor" +msgstr "" + +#: tools/editor/plugins/canvas_item_editor_plugin.cpp +msgid "Insert Keys" +msgstr "" + +#: tools/editor/plugins/canvas_item_editor_plugin.cpp +msgid "Insert Key" +msgstr "" + +#: tools/editor/plugins/canvas_item_editor_plugin.cpp +msgid "Insert Key (Existing Tracks)" +msgstr "" + +#: tools/editor/plugins/canvas_item_editor_plugin.cpp +msgid "Copy Pose" +msgstr "" + +#: tools/editor/plugins/canvas_item_editor_plugin.cpp +msgid "Clear Pose" +msgstr "" + +#: tools/editor/plugins/canvas_item_editor_plugin.cpp +msgid "Set a Value" +msgstr "" + +#: tools/editor/plugins/canvas_item_editor_plugin.cpp +msgid "Snap (Pixels):" +msgstr "" + +#: tools/editor/plugins/collision_polygon_2d_editor_plugin.cpp +#: tools/editor/plugins/light_occluder_2d_editor_plugin.cpp +#: tools/editor/plugins/navigation_polygon_editor_plugin.cpp +#: tools/editor/plugins/polygon_2d_editor_plugin.cpp +msgid "Create Poly" +msgstr "" + +#: tools/editor/plugins/collision_polygon_2d_editor_plugin.cpp +#: tools/editor/plugins/collision_polygon_editor_plugin.cpp +#: tools/editor/plugins/light_occluder_2d_editor_plugin.cpp +#: tools/editor/plugins/navigation_polygon_editor_plugin.cpp +#: tools/editor/plugins/path_2d_editor_plugin.cpp +#: tools/editor/plugins/polygon_2d_editor_plugin.cpp +msgid "Edit Poly" +msgstr "" + +#: tools/editor/plugins/collision_polygon_2d_editor_plugin.cpp +#: tools/editor/plugins/collision_polygon_editor_plugin.cpp +#: tools/editor/plugins/light_occluder_2d_editor_plugin.cpp +#: tools/editor/plugins/navigation_polygon_editor_plugin.cpp +#: tools/editor/plugins/path_2d_editor_plugin.cpp +#: tools/editor/plugins/polygon_2d_editor_plugin.cpp +msgid "Edit Poly (Remove Point)" +msgstr "" + +#: tools/editor/plugins/collision_polygon_2d_editor_plugin.cpp +#: tools/editor/plugins/light_occluder_2d_editor_plugin.cpp +#: tools/editor/plugins/navigation_polygon_editor_plugin.cpp +msgid "Create a new polygon from scratch." +msgstr "" + +#: tools/editor/plugins/collision_polygon_editor_plugin.cpp +msgid "Create Poly3D" +msgstr "" + +#: tools/editor/plugins/collision_shape_2d_editor_plugin.cpp +msgid "Set Handle" +msgstr "" + +#: tools/editor/plugins/color_ramp_editor_plugin.cpp +msgid "Add/Remove Color Ramp Point" +msgstr "" + +#: tools/editor/plugins/color_ramp_editor_plugin.cpp +#: tools/editor/plugins/shader_graph_editor_plugin.cpp +msgid "Modify Color Ramp" +msgstr "" + +#: tools/editor/plugins/cube_grid_theme_editor_plugin.cpp +msgid "Creating Mesh Library" +msgstr "" + +#: tools/editor/plugins/cube_grid_theme_editor_plugin.cpp +msgid "Thumbnail.." +msgstr "" + +#: tools/editor/plugins/cube_grid_theme_editor_plugin.cpp +msgid "Remove item %d?" +msgstr "" + +#: tools/editor/plugins/cube_grid_theme_editor_plugin.cpp +#: tools/editor/plugins/theme_editor_plugin.cpp +#: tools/editor/plugins/tile_set_editor_plugin.cpp +msgid "Add Item" +msgstr "" + +#: tools/editor/plugins/cube_grid_theme_editor_plugin.cpp +msgid "Remove Selected Item" +msgstr "" + +#: tools/editor/plugins/cube_grid_theme_editor_plugin.cpp +msgid "Import from Scene" +msgstr "" + +#: tools/editor/plugins/cube_grid_theme_editor_plugin.cpp +msgid "Update from Scene" +msgstr "" + +#: tools/editor/plugins/item_list_editor_plugin.cpp +msgid "Item %d" +msgstr "" + +#: tools/editor/plugins/item_list_editor_plugin.cpp +msgid "Items" +msgstr "" + +#: tools/editor/plugins/item_list_editor_plugin.cpp +msgid "Item List Editor" +msgstr "" + +#: tools/editor/plugins/light_occluder_2d_editor_plugin.cpp +msgid "Create Occluder Polygon" +msgstr "" + +#: tools/editor/plugins/light_occluder_2d_editor_plugin.cpp +#: tools/editor/plugins/navigation_polygon_editor_plugin.cpp +msgid "Edit existing polygon:" +msgstr "" + +#: tools/editor/plugins/light_occluder_2d_editor_plugin.cpp +#: tools/editor/plugins/navigation_polygon_editor_plugin.cpp +msgid "LMB: Move Point." +msgstr "" + +#: tools/editor/plugins/light_occluder_2d_editor_plugin.cpp +#: tools/editor/plugins/navigation_polygon_editor_plugin.cpp +msgid "Ctrl+LMB: Split Segment." +msgstr "" + +#: tools/editor/plugins/light_occluder_2d_editor_plugin.cpp +#: tools/editor/plugins/navigation_polygon_editor_plugin.cpp +msgid "RMB: Erase Point." +msgstr "" + +#: tools/editor/plugins/mesh_instance_editor_plugin.cpp +msgid "Mesh is empty!" +msgstr "" + +#: tools/editor/plugins/mesh_instance_editor_plugin.cpp +msgid "Create Static Trimesh Body" +msgstr "" + +#: tools/editor/plugins/mesh_instance_editor_plugin.cpp +msgid "Create Static Convex Body" +msgstr "" + +#: tools/editor/plugins/mesh_instance_editor_plugin.cpp +msgid "This doesn't work on scene root!" +msgstr "" + +#: tools/editor/plugins/mesh_instance_editor_plugin.cpp +msgid "Create Trimesh Shape" +msgstr "" + +#: tools/editor/plugins/mesh_instance_editor_plugin.cpp +msgid "Create Convex Shape" +msgstr "" + +#: tools/editor/plugins/mesh_instance_editor_plugin.cpp +msgid "Create Navigation Mesh" +msgstr "" + +#: tools/editor/plugins/mesh_instance_editor_plugin.cpp +msgid "MeshInstance lacks a Mesh!" +msgstr "" + +#: tools/editor/plugins/mesh_instance_editor_plugin.cpp +msgid "Mesh has not surface to create outlines from!" +msgstr "" + +#: tools/editor/plugins/mesh_instance_editor_plugin.cpp +msgid "Could not create outline!" +msgstr "" + +#: tools/editor/plugins/mesh_instance_editor_plugin.cpp +msgid "Create Outline" +msgstr "" + +#: tools/editor/plugins/mesh_instance_editor_plugin.cpp +msgid "Create Trimesh Static Body" +msgstr "" + +#: tools/editor/plugins/mesh_instance_editor_plugin.cpp +msgid "Create Convex Static Body" +msgstr "" + +#: tools/editor/plugins/mesh_instance_editor_plugin.cpp +msgid "Create Trimesh Collision Sibling" +msgstr "" + +#: tools/editor/plugins/mesh_instance_editor_plugin.cpp +msgid "Create Convex Collision Sibling" +msgstr "" + +#: tools/editor/plugins/mesh_instance_editor_plugin.cpp +msgid "Create Outline Mesh.." +msgstr "" + +#: tools/editor/plugins/mesh_instance_editor_plugin.cpp +msgid "Create Outline Mesh" +msgstr "" + +#: tools/editor/plugins/mesh_instance_editor_plugin.cpp +msgid "Outline Size:" +msgstr "" + +#: tools/editor/plugins/multimesh_editor_plugin.cpp +msgid "No mesh source specified (and no MultiMesh set in node)." +msgstr "" + +#: tools/editor/plugins/multimesh_editor_plugin.cpp +msgid "No mesh source specified (and MultiMesh contains no Mesh)." +msgstr "" + +#: tools/editor/plugins/multimesh_editor_plugin.cpp +msgid "Mesh source is invalid (invalid path)." +msgstr "" + +#: tools/editor/plugins/multimesh_editor_plugin.cpp +msgid "Mesh source is invalid (not a MeshInstance)." +msgstr "" + +#: tools/editor/plugins/multimesh_editor_plugin.cpp +msgid "Mesh source is invalid (contains no Mesh resource)." +msgstr "" + +#: tools/editor/plugins/multimesh_editor_plugin.cpp +msgid "No surface source specified." +msgstr "" + +#: tools/editor/plugins/multimesh_editor_plugin.cpp +msgid "Surface source is invalid (invalid path)." +msgstr "" + +#: tools/editor/plugins/multimesh_editor_plugin.cpp +msgid "Surface source is invalid (no geometry)." +msgstr "" + +#: tools/editor/plugins/multimesh_editor_plugin.cpp +msgid "Surface source is invalid (no faces)." +msgstr "" + +#: tools/editor/plugins/multimesh_editor_plugin.cpp +msgid "Parent has no solid faces to populate." +msgstr "" + +#: tools/editor/plugins/multimesh_editor_plugin.cpp +msgid "Couldn't map area." +msgstr "" + +#: tools/editor/plugins/multimesh_editor_plugin.cpp +msgid "Select a Source Mesh:" +msgstr "" + +#: tools/editor/plugins/multimesh_editor_plugin.cpp +msgid "Select a Target Surface:" +msgstr "" + +#: tools/editor/plugins/multimesh_editor_plugin.cpp +msgid "Populate Surface" +msgstr "" + +#: tools/editor/plugins/multimesh_editor_plugin.cpp +msgid "Populate MultiMesh" +msgstr "" + +#: tools/editor/plugins/multimesh_editor_plugin.cpp +msgid "Target Surface:" +msgstr "" + +#: tools/editor/plugins/multimesh_editor_plugin.cpp +msgid "Source Mesh:" +msgstr "" + +#: tools/editor/plugins/multimesh_editor_plugin.cpp +msgid "X-Axis" +msgstr "" + +#: tools/editor/plugins/multimesh_editor_plugin.cpp +msgid "Y-Axis" +msgstr "" + +#: tools/editor/plugins/multimesh_editor_plugin.cpp +msgid "Z-Axis" +msgstr "" + +#: tools/editor/plugins/multimesh_editor_plugin.cpp +msgid "Mesh Up Axis:" +msgstr "" + +#: tools/editor/plugins/multimesh_editor_plugin.cpp +msgid "Random Rotation:" +msgstr "" + +#: tools/editor/plugins/multimesh_editor_plugin.cpp +msgid "Random Tilt:" +msgstr "" + +#: tools/editor/plugins/multimesh_editor_plugin.cpp +msgid "Random Scale:" +msgstr "" + +#: tools/editor/plugins/multimesh_editor_plugin.cpp +msgid "Populate" +msgstr "" + +#: tools/editor/plugins/navigation_polygon_editor_plugin.cpp +msgid "Create Navigation Polygon" +msgstr "" + +#: tools/editor/plugins/navigation_polygon_editor_plugin.cpp +msgid "Remove Poly And Point" +msgstr "" + +#: tools/editor/plugins/particles_2d_editor_plugin.cpp +msgid "Error loading image:" +msgstr "" + +#: tools/editor/plugins/particles_2d_editor_plugin.cpp +msgid "No pixels with transparency > 128 in image.." +msgstr "" + +#: tools/editor/plugins/particles_2d_editor_plugin.cpp +msgid "Set Emission Mask" +msgstr "" + +#: tools/editor/plugins/particles_2d_editor_plugin.cpp +msgid "Clear Emission Mask" +msgstr "" + +#: tools/editor/plugins/particles_2d_editor_plugin.cpp +msgid "Load Emission Mask" +msgstr "" + +#: tools/editor/plugins/particles_2d_editor_plugin.cpp +msgid "Generated Point Count:" +msgstr "" + +#: tools/editor/plugins/particles_editor_plugin.cpp +msgid "Node does not contain geometry." +msgstr "" + +#: tools/editor/plugins/particles_editor_plugin.cpp +msgid "Node does not contain geometry (faces)." +msgstr "" + +#: tools/editor/plugins/particles_editor_plugin.cpp +msgid "Faces contain no area!" +msgstr "" + +#: tools/editor/plugins/particles_editor_plugin.cpp +msgid "No faces!" +msgstr "" + +#: tools/editor/plugins/particles_editor_plugin.cpp +msgid "Generate AABB" +msgstr "" + +#: tools/editor/plugins/particles_editor_plugin.cpp +msgid "Create Emitter From Mesh" +msgstr "" + +#: tools/editor/plugins/particles_editor_plugin.cpp +msgid "Create Emitter From Node" +msgstr "" + +#: tools/editor/plugins/particles_editor_plugin.cpp +msgid "Clear Emitter" +msgstr "" + +#: tools/editor/plugins/particles_editor_plugin.cpp +msgid "Create Emitter" +msgstr "" + +#: tools/editor/plugins/particles_editor_plugin.cpp +msgid "Emission Positions:" +msgstr "" + +#: tools/editor/plugins/particles_editor_plugin.cpp +msgid "Emission Fill:" +msgstr "" + +#: tools/editor/plugins/particles_editor_plugin.cpp +msgid "Surface" +msgstr "" + +#: tools/editor/plugins/particles_editor_plugin.cpp +msgid "Volume" +msgstr "" + +#: tools/editor/plugins/path_2d_editor_plugin.cpp +msgid "Remove Point from Curve" +msgstr "" + +#: tools/editor/plugins/path_2d_editor_plugin.cpp +#: tools/editor/plugins/path_editor_plugin.cpp +msgid "Add Point to Curve" +msgstr "" + +#: tools/editor/plugins/path_2d_editor_plugin.cpp +msgid "Move Point in Curve" +msgstr "" + +#: tools/editor/plugins/path_2d_editor_plugin.cpp +msgid "Move In-Control in Curve" +msgstr "" + +#: tools/editor/plugins/path_2d_editor_plugin.cpp +msgid "Move Out-Control in Curve" +msgstr "" + +#: tools/editor/plugins/path_2d_editor_plugin.cpp +#: tools/editor/plugins/path_editor_plugin.cpp +msgid "Select Points" +msgstr "" + +#: tools/editor/plugins/path_2d_editor_plugin.cpp +#: tools/editor/plugins/path_editor_plugin.cpp +msgid "Shift+Drag: Select Control Points" +msgstr "" + +#: tools/editor/plugins/path_2d_editor_plugin.cpp +#: tools/editor/plugins/path_editor_plugin.cpp +msgid "Click: Add Point" +msgstr "" + +#: tools/editor/plugins/path_2d_editor_plugin.cpp +#: tools/editor/plugins/path_editor_plugin.cpp +msgid "Right Click: Delete Point" +msgstr "" + +#: tools/editor/plugins/path_2d_editor_plugin.cpp +msgid "Select Control Points (Shift+Drag)" +msgstr "" + +#: tools/editor/plugins/path_2d_editor_plugin.cpp +#: tools/editor/plugins/path_editor_plugin.cpp +msgid "Add Point (in empty space)" +msgstr "" + +#: tools/editor/plugins/path_2d_editor_plugin.cpp +#: tools/editor/plugins/path_editor_plugin.cpp +msgid "Split Segment (in curve)" +msgstr "" + +#: tools/editor/plugins/path_2d_editor_plugin.cpp +#: tools/editor/plugins/path_editor_plugin.cpp +msgid "Delete Point" +msgstr "" + +#: tools/editor/plugins/path_2d_editor_plugin.cpp +#: tools/editor/plugins/path_editor_plugin.cpp +msgid "Close Curve" +msgstr "" + +#: tools/editor/plugins/path_editor_plugin.cpp +msgid "Curve Point #" +msgstr "" + +#: tools/editor/plugins/path_editor_plugin.cpp +msgid "Set Curve Point Pos" +msgstr "" + +#: tools/editor/plugins/path_editor_plugin.cpp +msgid "Set Curve In Pos" +msgstr "" + +#: tools/editor/plugins/path_editor_plugin.cpp +msgid "Set Curve Out Pos" +msgstr "" + +#: tools/editor/plugins/path_editor_plugin.cpp +msgid "Split Path" +msgstr "" + +#: tools/editor/plugins/path_editor_plugin.cpp +msgid "Remove Path Point" +msgstr "" + +#: tools/editor/plugins/polygon_2d_editor_plugin.cpp +msgid "Create UV Map" +msgstr "" + +#: tools/editor/plugins/polygon_2d_editor_plugin.cpp +msgid "Transform UV Map" +msgstr "" + +#: tools/editor/plugins/polygon_2d_editor_plugin.cpp +msgid "Polygon 2D UV Editor" +msgstr "" + +#: tools/editor/plugins/polygon_2d_editor_plugin.cpp +msgid "Move Point" +msgstr "" + +#: tools/editor/plugins/polygon_2d_editor_plugin.cpp +msgid "Ctrl: Rotate" +msgstr "" + +#: tools/editor/plugins/polygon_2d_editor_plugin.cpp +msgid "Shift: Move All" +msgstr "" + +#: tools/editor/plugins/polygon_2d_editor_plugin.cpp +msgid "Shift+Ctrl: Scale" +msgstr "" + +#: tools/editor/plugins/polygon_2d_editor_plugin.cpp +msgid "Move Polygon" +msgstr "" + +#: tools/editor/plugins/polygon_2d_editor_plugin.cpp +msgid "Rotate Polygon" +msgstr "" + +#: tools/editor/plugins/polygon_2d_editor_plugin.cpp +msgid "Scale Polygon" +msgstr "" + +#: tools/editor/plugins/polygon_2d_editor_plugin.cpp +msgid "Polygon->UV" +msgstr "" + +#: tools/editor/plugins/polygon_2d_editor_plugin.cpp +msgid "UV->Polygon" +msgstr "" + +#: tools/editor/plugins/polygon_2d_editor_plugin.cpp +msgid "Clear UV" +msgstr "" + +#: tools/editor/plugins/polygon_2d_editor_plugin.cpp +#: tools/editor/plugins/spatial_editor_plugin.cpp +msgid "Snap" +msgstr "" + +#: tools/editor/plugins/polygon_2d_editor_plugin.cpp +msgid "Enable Snap" +msgstr "" + +#: tools/editor/plugins/polygon_2d_editor_plugin.cpp +msgid "Grid" +msgstr "" + +#: tools/editor/plugins/resource_preloader_editor_plugin.cpp +msgid "ERROR: Couldn't load resource!" +msgstr "" + +#: tools/editor/plugins/resource_preloader_editor_plugin.cpp +msgid "Add Resource" +msgstr "" + +#: tools/editor/plugins/resource_preloader_editor_plugin.cpp +msgid "Rename Resource" +msgstr "" + +#: tools/editor/plugins/resource_preloader_editor_plugin.cpp +#: tools/editor/plugins/sprite_frames_editor_plugin.cpp +msgid "Delete Resource" +msgstr "" + +#: tools/editor/plugins/resource_preloader_editor_plugin.cpp +msgid "Resource clipboard is empty!" +msgstr "" + +#: tools/editor/plugins/resource_preloader_editor_plugin.cpp +#: tools/editor/plugins/sprite_frames_editor_plugin.cpp +msgid "Load Resource" +msgstr "" + +#: tools/editor/plugins/rich_text_editor_plugin.cpp +msgid "Parse BBCode" +msgstr "" + +#: tools/editor/plugins/sample_editor_plugin.cpp +msgid "Length:" +msgstr "" + +#: tools/editor/plugins/sample_library_editor_plugin.cpp +msgid "Open Sample File(s)" +msgstr "" + +#: tools/editor/plugins/sample_library_editor_plugin.cpp +msgid "ERROR: Couldn't load sample!" +msgstr "" + +#: tools/editor/plugins/sample_library_editor_plugin.cpp +msgid "Add Sample" +msgstr "" + +#: tools/editor/plugins/sample_library_editor_plugin.cpp +msgid "Rename Sample" +msgstr "" + +#: tools/editor/plugins/sample_library_editor_plugin.cpp +msgid "Delete Sample" +msgstr "" + +#: tools/editor/plugins/sample_library_editor_plugin.cpp +msgid "16 Bits" +msgstr "" + +#: tools/editor/plugins/sample_library_editor_plugin.cpp +msgid "8 Bits" +msgstr "" + +#: tools/editor/plugins/sample_library_editor_plugin.cpp +msgid "Stereo" +msgstr "" + +#: tools/editor/plugins/sample_library_editor_plugin.cpp +msgid "Mono" +msgstr "" + +#: tools/editor/plugins/sample_library_editor_plugin.cpp +#: tools/editor/script_editor_debugger.cpp +msgid "Format" +msgstr "" + +#: tools/editor/plugins/sample_library_editor_plugin.cpp +msgid "Pitch" +msgstr "" + +#: tools/editor/plugins/script_editor_plugin.cpp +msgid "Error while saving theme" +msgstr "" + +#: tools/editor/plugins/script_editor_plugin.cpp +msgid "Error saving" +msgstr "" + +#: tools/editor/plugins/script_editor_plugin.cpp +msgid "Error importing theme" +msgstr "" + +#: tools/editor/plugins/script_editor_plugin.cpp +msgid "Error importing" +msgstr "" + +#: tools/editor/plugins/script_editor_plugin.cpp +msgid "Import Theme" +msgstr "" + +#: tools/editor/plugins/script_editor_plugin.cpp +msgid "Save Theme As.." +msgstr "" + +#: tools/editor/plugins/script_editor_plugin.cpp +#, fuzzy +msgid "Next script" +msgstr "سب سکریپشن بنائیں" + +#: tools/editor/plugins/script_editor_plugin.cpp +msgid "Previous script" +msgstr "" + +#: tools/editor/plugins/script_editor_plugin.cpp +#: tools/editor/project_export.cpp +msgid "File" +msgstr "" + +#: tools/editor/plugins/script_editor_plugin.cpp +#: tools/editor/property_editor.cpp +msgid "New" +msgstr "" + +#: tools/editor/plugins/script_editor_plugin.cpp +msgid "Save All" +msgstr "" + +#: tools/editor/plugins/script_editor_plugin.cpp +msgid "History Prev" +msgstr "" + +#: tools/editor/plugins/script_editor_plugin.cpp +msgid "History Next" +msgstr "" + +#: tools/editor/plugins/script_editor_plugin.cpp +msgid "Reload Theme" +msgstr "" + +#: tools/editor/plugins/script_editor_plugin.cpp +msgid "Save Theme" +msgstr "" + +#: tools/editor/plugins/script_editor_plugin.cpp +msgid "Save Theme As" +msgstr "" + +#: tools/editor/plugins/script_editor_plugin.cpp +#: tools/editor/scene_tree_dock.cpp +msgid "Move Up" +msgstr "" + +#: tools/editor/plugins/script_editor_plugin.cpp +#: tools/editor/scene_tree_dock.cpp +msgid "Move Down" +msgstr "" + +#: tools/editor/plugins/script_editor_plugin.cpp +msgid "Indent Left" +msgstr "" + +#: tools/editor/plugins/script_editor_plugin.cpp +msgid "Indent Right" +msgstr "" + +#: tools/editor/plugins/script_editor_plugin.cpp +msgid "Toggle Comment" +msgstr "" + +#: tools/editor/plugins/script_editor_plugin.cpp +msgid "Clone Down" +msgstr "" + +#: tools/editor/plugins/script_editor_plugin.cpp +msgid "Complete Symbol" +msgstr "" + +#: tools/editor/plugins/script_editor_plugin.cpp +msgid "Trim Trailing Whitespace" +msgstr "" + +#: tools/editor/plugins/script_editor_plugin.cpp +msgid "Auto Indent" +msgstr "" + +#: tools/editor/plugins/script_editor_plugin.cpp +msgid "Soft Reload Script" +msgstr "" + +#: tools/editor/plugins/script_editor_plugin.cpp +#: tools/editor/plugins/shader_editor_plugin.cpp +msgid "Find.." +msgstr "" + +#: tools/editor/plugins/script_editor_plugin.cpp +#: tools/editor/plugins/shader_editor_plugin.cpp +msgid "Find Next" +msgstr "" + +#: tools/editor/plugins/script_editor_plugin.cpp +#: tools/editor/plugins/shader_editor_plugin.cpp +msgid "Find Previous" +msgstr "" + +#: tools/editor/plugins/script_editor_plugin.cpp +#: tools/editor/plugins/shader_editor_plugin.cpp +msgid "Replace.." +msgstr "" + +#: tools/editor/plugins/script_editor_plugin.cpp +msgid "Goto Function.." +msgstr "" + +#: tools/editor/plugins/script_editor_plugin.cpp +#: tools/editor/plugins/shader_editor_plugin.cpp +msgid "Goto Line.." +msgstr "" + +#: tools/editor/plugins/script_editor_plugin.cpp +msgid "Debug" +msgstr "" + +#: tools/editor/plugins/script_editor_plugin.cpp +msgid "Toggle Breakpoint" +msgstr "" + +#: tools/editor/plugins/script_editor_plugin.cpp +msgid "Remove All Breakpoints" +msgstr "" + +#: tools/editor/plugins/script_editor_plugin.cpp +msgid "Goto Next Breakpoint" +msgstr "" + +#: tools/editor/plugins/script_editor_plugin.cpp +msgid "Goto Previous Breakpoint" +msgstr "" + +#: tools/editor/plugins/script_editor_plugin.cpp +#: tools/editor/script_editor_debugger.cpp +msgid "Step Over" +msgstr "" + +#: tools/editor/plugins/script_editor_plugin.cpp +#: tools/editor/script_editor_debugger.cpp +msgid "Step Into" +msgstr "" + +#: tools/editor/plugins/script_editor_plugin.cpp +#: tools/editor/script_editor_debugger.cpp +msgid "Break" +msgstr "" + +#: tools/editor/plugins/script_editor_plugin.cpp +#: tools/editor/script_editor_debugger.cpp +msgid "Continue" +msgstr "" + +#: tools/editor/plugins/script_editor_plugin.cpp +msgid "Keep Debugger Open" +msgstr "" + +#: tools/editor/plugins/script_editor_plugin.cpp +msgid "Window" +msgstr "" + +#: tools/editor/plugins/script_editor_plugin.cpp +msgid "Move Left" +msgstr "" + +#: tools/editor/plugins/script_editor_plugin.cpp +msgid "Move Right" +msgstr "" + +#: tools/editor/plugins/script_editor_plugin.cpp +msgid "Help" +msgstr "" + +#: tools/editor/plugins/script_editor_plugin.cpp +msgid "Contextual Help" +msgstr "" + +#: tools/editor/plugins/script_editor_plugin.cpp +msgid "Tutorials" +msgstr "" + +#: tools/editor/plugins/script_editor_plugin.cpp +msgid "Open https://godotengine.org at tutorials section." +msgstr "" + +#: tools/editor/plugins/script_editor_plugin.cpp +msgid "Classes" +msgstr "" + +#: tools/editor/plugins/script_editor_plugin.cpp +msgid "Search the class hierarchy." +msgstr "" + +#: tools/editor/plugins/script_editor_plugin.cpp +msgid "Search the reference documentation." +msgstr "" + +#: tools/editor/plugins/script_editor_plugin.cpp +msgid "Go to previous edited document." +msgstr "" + +#: tools/editor/plugins/script_editor_plugin.cpp +msgid "Go to next edited document." +msgstr "" + +#: tools/editor/plugins/script_editor_plugin.cpp +msgid "Create Script" +msgstr "" + +#: tools/editor/plugins/script_editor_plugin.cpp +msgid "" +"The following files are newer on disk.\n" +"What action should be taken?:" +msgstr "" + +#: tools/editor/plugins/script_editor_plugin.cpp +msgid "Reload" +msgstr "" + +#: tools/editor/plugins/script_editor_plugin.cpp +msgid "Resave" +msgstr "" + +#: tools/editor/plugins/script_editor_plugin.cpp +#: tools/editor/script_editor_debugger.cpp +msgid "Debugger" +msgstr "" + +#: tools/editor/plugins/script_editor_plugin.cpp +msgid "" +"Built-in scripts can only be edited when the scene they belong to is loaded" +msgstr "" + +#: tools/editor/plugins/shader_editor_plugin.cpp +msgid "Vertex" +msgstr "" + +#: tools/editor/plugins/shader_editor_plugin.cpp +msgid "Fragment" +msgstr "" + +#: tools/editor/plugins/shader_editor_plugin.cpp +msgid "Lighting" +msgstr "" + +#: tools/editor/plugins/shader_graph_editor_plugin.cpp +msgid "Change Scalar Constant" +msgstr "" + +#: tools/editor/plugins/shader_graph_editor_plugin.cpp +msgid "Change Vec Constant" +msgstr "" + +#: tools/editor/plugins/shader_graph_editor_plugin.cpp +msgid "Change RGB Constant" +msgstr "" + +#: tools/editor/plugins/shader_graph_editor_plugin.cpp +msgid "Change Scalar Operator" +msgstr "" + +#: tools/editor/plugins/shader_graph_editor_plugin.cpp +msgid "Change Vec Operator" +msgstr "" + +#: tools/editor/plugins/shader_graph_editor_plugin.cpp +msgid "Change Vec Scalar Operator" +msgstr "" + +#: tools/editor/plugins/shader_graph_editor_plugin.cpp +msgid "Change RGB Operator" +msgstr "" + +#: tools/editor/plugins/shader_graph_editor_plugin.cpp +msgid "Toggle Rot Only" +msgstr "" + +#: tools/editor/plugins/shader_graph_editor_plugin.cpp +msgid "Change Scalar Function" +msgstr "" + +#: tools/editor/plugins/shader_graph_editor_plugin.cpp +msgid "Change Vec Function" +msgstr "" + +#: tools/editor/plugins/shader_graph_editor_plugin.cpp +msgid "Change Scalar Uniform" +msgstr "" + +#: tools/editor/plugins/shader_graph_editor_plugin.cpp +msgid "Change Vec Uniform" +msgstr "" + +#: tools/editor/plugins/shader_graph_editor_plugin.cpp +msgid "Change RGB Uniform" +msgstr "" + +#: tools/editor/plugins/shader_graph_editor_plugin.cpp +msgid "Change Default Value" +msgstr "" + +#: tools/editor/plugins/shader_graph_editor_plugin.cpp +msgid "Change XForm Uniform" +msgstr "" + +#: tools/editor/plugins/shader_graph_editor_plugin.cpp +msgid "Change Texture Uniform" +msgstr "" + +#: tools/editor/plugins/shader_graph_editor_plugin.cpp +msgid "Change Cubemap Uniform" +msgstr "" + +#: tools/editor/plugins/shader_graph_editor_plugin.cpp +msgid "Change Comment" +msgstr "" + +#: tools/editor/plugins/shader_graph_editor_plugin.cpp +msgid "Add/Remove to Color Ramp" +msgstr "" + +#: tools/editor/plugins/shader_graph_editor_plugin.cpp +msgid "Add/Remove to Curve Map" +msgstr "" + +#: tools/editor/plugins/shader_graph_editor_plugin.cpp +msgid "Modify Curve Map" +msgstr "" + +#: tools/editor/plugins/shader_graph_editor_plugin.cpp +msgid "Change Input Name" +msgstr "" + +#: tools/editor/plugins/shader_graph_editor_plugin.cpp +msgid "Connect Graph Nodes" +msgstr "" + +#: tools/editor/plugins/shader_graph_editor_plugin.cpp +msgid "Disconnect Graph Nodes" +msgstr "" + +#: tools/editor/plugins/shader_graph_editor_plugin.cpp +msgid "Remove Shader Graph Node" +msgstr "" + +#: tools/editor/plugins/shader_graph_editor_plugin.cpp +msgid "Move Shader Graph Node" +msgstr "" + +#: tools/editor/plugins/shader_graph_editor_plugin.cpp +msgid "Duplicate Graph Node(s)" +msgstr "" + +#: tools/editor/plugins/shader_graph_editor_plugin.cpp +msgid "Delete Shader Graph Node(s)" +msgstr "" + +#: tools/editor/plugins/shader_graph_editor_plugin.cpp +msgid "Error: Cyclic Connection Link" +msgstr "" + +#: tools/editor/plugins/shader_graph_editor_plugin.cpp +msgid "Error: Missing Input Connections" +msgstr "" + +#: tools/editor/plugins/shader_graph_editor_plugin.cpp +msgid "Add Shader Graph Node" +msgstr "" + +#: tools/editor/plugins/spatial_editor_plugin.cpp +msgid "Orthogonal" +msgstr "" + +#: tools/editor/plugins/spatial_editor_plugin.cpp +msgid "Perspective" +msgstr "" + +#: tools/editor/plugins/spatial_editor_plugin.cpp +msgid "Transform Aborted." +msgstr "" + +#: tools/editor/plugins/spatial_editor_plugin.cpp +msgid "X-Axis Transform." +msgstr "" + +#: tools/editor/plugins/spatial_editor_plugin.cpp +msgid "Y-Axis Transform." +msgstr "" + +#: tools/editor/plugins/spatial_editor_plugin.cpp +msgid "Z-Axis Transform." +msgstr "" + +#: tools/editor/plugins/spatial_editor_plugin.cpp +msgid "View Plane Transform." +msgstr "" + +#: tools/editor/plugins/spatial_editor_plugin.cpp +msgid "Scaling to %s%%." +msgstr "" + +#: tools/editor/plugins/spatial_editor_plugin.cpp +msgid "Rotating %s degrees." +msgstr "" + +#: tools/editor/plugins/spatial_editor_plugin.cpp +msgid "Bottom View." +msgstr "" + +#: tools/editor/plugins/spatial_editor_plugin.cpp +msgid "Bottom" +msgstr "" + +#: tools/editor/plugins/spatial_editor_plugin.cpp +msgid "Top View." +msgstr "" + +#: tools/editor/plugins/spatial_editor_plugin.cpp +msgid "Top" +msgstr "" + +#: tools/editor/plugins/spatial_editor_plugin.cpp +msgid "Rear View." +msgstr "" + +#: tools/editor/plugins/spatial_editor_plugin.cpp +msgid "Rear" +msgstr "" + +#: tools/editor/plugins/spatial_editor_plugin.cpp +msgid "Front View." +msgstr "" + +#: tools/editor/plugins/spatial_editor_plugin.cpp +msgid "Front" +msgstr "" + +#: tools/editor/plugins/spatial_editor_plugin.cpp +msgid "Left View." +msgstr "" + +#: tools/editor/plugins/spatial_editor_plugin.cpp +msgid "Left" +msgstr "" + +#: tools/editor/plugins/spatial_editor_plugin.cpp +msgid "Right View." +msgstr "" + +#: tools/editor/plugins/spatial_editor_plugin.cpp +msgid "Right" +msgstr "" + +#: tools/editor/plugins/spatial_editor_plugin.cpp +msgid "Keying is disabled (no key inserted)." +msgstr "" + +#: tools/editor/plugins/spatial_editor_plugin.cpp +msgid "Animation Key Inserted." +msgstr "" + +#: tools/editor/plugins/spatial_editor_plugin.cpp +msgid "Align with view" +msgstr "" + +#: tools/editor/plugins/spatial_editor_plugin.cpp +msgid "Environment" +msgstr "" + +#: tools/editor/plugins/spatial_editor_plugin.cpp +msgid "Audio Listener" +msgstr "" + +#: tools/editor/plugins/spatial_editor_plugin.cpp +msgid "Gizmos" +msgstr "" + +#: tools/editor/plugins/spatial_editor_plugin.cpp +msgid "XForm Dialog" +msgstr "" + +#: tools/editor/plugins/spatial_editor_plugin.cpp +msgid "No scene selected to instance!" +msgstr "" + +#: tools/editor/plugins/spatial_editor_plugin.cpp +msgid "Instance at Cursor" +msgstr "" + +#: tools/editor/plugins/spatial_editor_plugin.cpp +msgid "Could not instance scene!" +msgstr "" + +#: tools/editor/plugins/spatial_editor_plugin.cpp +msgid "Scale Mode (R)" +msgstr "" + +#: tools/editor/plugins/spatial_editor_plugin.cpp +msgid "Bottom View" +msgstr "" + +#: tools/editor/plugins/spatial_editor_plugin.cpp +msgid "Top View" +msgstr "" + +#: tools/editor/plugins/spatial_editor_plugin.cpp +msgid "Rear View" +msgstr "" + +#: tools/editor/plugins/spatial_editor_plugin.cpp +msgid "Front View" +msgstr "" + +#: tools/editor/plugins/spatial_editor_plugin.cpp +msgid "Left View" +msgstr "" + +#: tools/editor/plugins/spatial_editor_plugin.cpp +msgid "Right View" +msgstr "" + +#: tools/editor/plugins/spatial_editor_plugin.cpp +msgid "Switch Perspective/Orthogonal view" +msgstr "" + +#: tools/editor/plugins/spatial_editor_plugin.cpp +msgid "Insert Animation Key" +msgstr "" + +#: tools/editor/plugins/spatial_editor_plugin.cpp +#, fuzzy +msgid "Focus Selection" +msgstr ".تمام کا انتخاب" + +#: tools/editor/plugins/spatial_editor_plugin.cpp +#, fuzzy +msgid "Align Selection With View" +msgstr ".تمام کا انتخاب" + +#: tools/editor/plugins/spatial_editor_plugin.cpp +msgid "Transform" +msgstr "" + +#: tools/editor/plugins/spatial_editor_plugin.cpp +msgid "Local Coords" +msgstr "" + +#: tools/editor/plugins/spatial_editor_plugin.cpp +msgid "Transform Dialog.." +msgstr "" + +#: tools/editor/plugins/spatial_editor_plugin.cpp +msgid "Use Default Light" +msgstr "" + +#: tools/editor/plugins/spatial_editor_plugin.cpp +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 "" + +#: tools/editor/plugins/spatial_editor_plugin.cpp +msgid "Display Wireframe" +msgstr "" + +#: tools/editor/plugins/spatial_editor_plugin.cpp +msgid "Display Overdraw" +msgstr "" + +#: tools/editor/plugins/spatial_editor_plugin.cpp +msgid "Display Shadeless" +msgstr "" + +#: tools/editor/plugins/spatial_editor_plugin.cpp +msgid "View Origin" +msgstr "" + +#: tools/editor/plugins/spatial_editor_plugin.cpp +msgid "View Grid" +msgstr "" + +#: tools/editor/plugins/spatial_editor_plugin.cpp +msgid "Snap Settings" +msgstr "" + +#: tools/editor/plugins/spatial_editor_plugin.cpp +msgid "Translate Snap:" +msgstr "" + +#: tools/editor/plugins/spatial_editor_plugin.cpp +msgid "Rotate Snap (deg.):" +msgstr "" + +#: tools/editor/plugins/spatial_editor_plugin.cpp +msgid "Scale Snap (%):" +msgstr "" + +#: tools/editor/plugins/spatial_editor_plugin.cpp +msgid "Viewport Settings" +msgstr "" + +#: tools/editor/plugins/spatial_editor_plugin.cpp +msgid "Default Light Normal:" +msgstr "" + +#: tools/editor/plugins/spatial_editor_plugin.cpp +msgid "Ambient Light Color:" +msgstr "" + +#: tools/editor/plugins/spatial_editor_plugin.cpp +msgid "Perspective FOV (deg.):" +msgstr "" + +#: tools/editor/plugins/spatial_editor_plugin.cpp +msgid "View Z-Near:" +msgstr "" + +#: tools/editor/plugins/spatial_editor_plugin.cpp +msgid "View Z-Far:" +msgstr "" + +#: tools/editor/plugins/spatial_editor_plugin.cpp +msgid "Transform Change" +msgstr "" + +#: tools/editor/plugins/spatial_editor_plugin.cpp +msgid "Translate:" +msgstr "" + +#: tools/editor/plugins/spatial_editor_plugin.cpp +msgid "Rotate (deg.):" +msgstr "" + +#: tools/editor/plugins/spatial_editor_plugin.cpp +msgid "Scale (ratio):" +msgstr "" + +#: tools/editor/plugins/spatial_editor_plugin.cpp +msgid "Transform Type" +msgstr "" + +#: tools/editor/plugins/spatial_editor_plugin.cpp +msgid "Pre" +msgstr "" + +#: tools/editor/plugins/spatial_editor_plugin.cpp +msgid "Post" +msgstr "" + +#: tools/editor/plugins/sprite_frames_editor_plugin.cpp +msgid "ERROR: Couldn't load frame resource!" +msgstr "" + +#: tools/editor/plugins/sprite_frames_editor_plugin.cpp +msgid "Add Frame" +msgstr "" + +#: tools/editor/plugins/sprite_frames_editor_plugin.cpp +msgid "Resource clipboard is empty or not a texture!" +msgstr "" + +#: tools/editor/plugins/sprite_frames_editor_plugin.cpp +msgid "Paste Frame" +msgstr "" + +#: tools/editor/plugins/sprite_frames_editor_plugin.cpp +msgid "Add Empty" +msgstr "" + +#: tools/editor/plugins/sprite_frames_editor_plugin.cpp +msgid "Change Animation Loop" +msgstr "" + +#: tools/editor/plugins/sprite_frames_editor_plugin.cpp +msgid "Change Animation FPS" +msgstr "" + +#: tools/editor/plugins/sprite_frames_editor_plugin.cpp +msgid "(empty)" +msgstr "" + +#: tools/editor/plugins/sprite_frames_editor_plugin.cpp +msgid "Animations" +msgstr "" + +#: tools/editor/plugins/sprite_frames_editor_plugin.cpp +msgid "Speed (FPS):" +msgstr "" + +#: tools/editor/plugins/sprite_frames_editor_plugin.cpp +msgid "Animation Frames" +msgstr "" + +#: tools/editor/plugins/sprite_frames_editor_plugin.cpp +msgid "Insert Empty (Before)" +msgstr "" + +#: tools/editor/plugins/sprite_frames_editor_plugin.cpp +msgid "Insert Empty (After)" +msgstr "" + +#: tools/editor/plugins/sprite_frames_editor_plugin.cpp +msgid "Up" +msgstr "" + +#: tools/editor/plugins/sprite_frames_editor_plugin.cpp +msgid "Down" +msgstr "" + +#: tools/editor/plugins/style_box_editor_plugin.cpp +msgid "StyleBox Preview:" +msgstr "" + +#: tools/editor/plugins/texture_region_editor_plugin.cpp +msgid "Snap Mode:" +msgstr "" + +#: tools/editor/plugins/texture_region_editor_plugin.cpp +msgid "<None>" +msgstr "" + +#: tools/editor/plugins/texture_region_editor_plugin.cpp +msgid "Pixel Snap" +msgstr "" + +#: tools/editor/plugins/texture_region_editor_plugin.cpp +msgid "Grid Snap" +msgstr "" + +#: tools/editor/plugins/texture_region_editor_plugin.cpp +msgid "Auto Slice" +msgstr "" + +#: tools/editor/plugins/texture_region_editor_plugin.cpp +msgid "Offset:" +msgstr "" + +#: tools/editor/plugins/texture_region_editor_plugin.cpp +msgid "Step:" +msgstr "" + +#: tools/editor/plugins/texture_region_editor_plugin.cpp +msgid "Separation:" +msgstr "" + +#: tools/editor/plugins/texture_region_editor_plugin.cpp +msgid "Texture Region" +msgstr "" + +#: tools/editor/plugins/texture_region_editor_plugin.cpp +msgid "Texture Region Editor" +msgstr "" + +#: tools/editor/plugins/theme_editor_plugin.cpp +msgid "Can't save theme to file:" +msgstr "" + +#: tools/editor/plugins/theme_editor_plugin.cpp +msgid "Add All Items" +msgstr "" + +#: tools/editor/plugins/theme_editor_plugin.cpp +msgid "Add All" +msgstr "" + +#: tools/editor/plugins/theme_editor_plugin.cpp +#: tools/editor/plugins/tile_set_editor_plugin.cpp +msgid "Remove Item" +msgstr "" + +#: tools/editor/plugins/theme_editor_plugin.cpp +msgid "Add Class Items" +msgstr "" + +#: tools/editor/plugins/theme_editor_plugin.cpp +msgid "Remove Class Items" +msgstr "" + +#: tools/editor/plugins/theme_editor_plugin.cpp +msgid "Create Empty Template" +msgstr "" + +#: tools/editor/plugins/theme_editor_plugin.cpp +msgid "Create Empty Editor Template" +msgstr "" + +#: tools/editor/plugins/theme_editor_plugin.cpp +msgid "CheckBox Radio1" +msgstr "" + +#: tools/editor/plugins/theme_editor_plugin.cpp +msgid "CheckBox Radio2" +msgstr "" + +#: tools/editor/plugins/theme_editor_plugin.cpp +msgid "Item" +msgstr "" + +#: tools/editor/plugins/theme_editor_plugin.cpp +msgid "Check Item" +msgstr "" + +#: tools/editor/plugins/theme_editor_plugin.cpp +msgid "Checked Item" +msgstr "" + +#: tools/editor/plugins/theme_editor_plugin.cpp +msgid "Has" +msgstr "" + +#: tools/editor/plugins/theme_editor_plugin.cpp +msgid "Many" +msgstr "" + +#: tools/editor/plugins/theme_editor_plugin.cpp tools/editor/project_export.cpp +msgid "Options" +msgstr "" + +#: tools/editor/plugins/theme_editor_plugin.cpp +msgid "Have,Many,Several,Options!" +msgstr "" + +#: tools/editor/plugins/theme_editor_plugin.cpp +msgid "Tab 1" +msgstr "" + +#: tools/editor/plugins/theme_editor_plugin.cpp +msgid "Tab 2" +msgstr "" + +#: tools/editor/plugins/theme_editor_plugin.cpp +msgid "Tab 3" +msgstr "" + +#: tools/editor/plugins/theme_editor_plugin.cpp +#: tools/editor/project_settings.cpp tools/editor/scene_tree_editor.cpp +#: tools/editor/script_editor_debugger.cpp +msgid "Type:" +msgstr "" + +#: tools/editor/plugins/theme_editor_plugin.cpp +msgid "Data Type:" +msgstr "" + +#: tools/editor/plugins/theme_editor_plugin.cpp +msgid "Icon" +msgstr "" + +#: tools/editor/plugins/theme_editor_plugin.cpp +msgid "Style" +msgstr "" + +#: tools/editor/plugins/theme_editor_plugin.cpp +msgid "Color" +msgstr "" + +#: tools/editor/plugins/tile_map_editor_plugin.cpp +msgid "Paint TileMap" +msgstr "" + +#: tools/editor/plugins/tile_map_editor_plugin.cpp +#: tools/editor/scene_tree_dock.cpp +msgid "Duplicate" +msgstr "" + +#: tools/editor/plugins/tile_map_editor_plugin.cpp +msgid "Erase TileMap" +msgstr "" + +#: tools/editor/plugins/tile_map_editor_plugin.cpp +msgid "Erase selection" +msgstr "" + +#: tools/editor/plugins/tile_map_editor_plugin.cpp +msgid "Find tile" +msgstr "" + +#: tools/editor/plugins/tile_map_editor_plugin.cpp +msgid "Transpose" +msgstr "" + +#: tools/editor/plugins/tile_map_editor_plugin.cpp +msgid "Mirror X" +msgstr "" + +#: tools/editor/plugins/tile_map_editor_plugin.cpp +msgid "Mirror Y" +msgstr "" + +#: tools/editor/plugins/tile_map_editor_plugin.cpp +msgid "Bucket" +msgstr "" + +#: tools/editor/plugins/tile_map_editor_plugin.cpp +msgid "Pick Tile" +msgstr "" + +#: tools/editor/plugins/tile_map_editor_plugin.cpp +msgid "Select" +msgstr "" + +#: tools/editor/plugins/tile_map_editor_plugin.cpp +msgid "Rotate 0 degrees" +msgstr "" + +#: tools/editor/plugins/tile_map_editor_plugin.cpp +msgid "Rotate 90 degrees" +msgstr "" + +#: tools/editor/plugins/tile_map_editor_plugin.cpp +msgid "Rotate 180 degrees" +msgstr "" + +#: tools/editor/plugins/tile_map_editor_plugin.cpp +msgid "Rotate 270 degrees" +msgstr "" + +#: tools/editor/plugins/tile_set_editor_plugin.cpp +msgid "Could not find tile:" +msgstr "" + +#: tools/editor/plugins/tile_set_editor_plugin.cpp +msgid "Item name or ID:" +msgstr "" + +#: tools/editor/plugins/tile_set_editor_plugin.cpp +msgid "Create from scene?" +msgstr "" + +#: tools/editor/plugins/tile_set_editor_plugin.cpp +msgid "Merge from scene?" +msgstr "" + +#: tools/editor/plugins/tile_set_editor_plugin.cpp +msgid "Create from Scene" +msgstr "" + +#: tools/editor/plugins/tile_set_editor_plugin.cpp +msgid "Merge from Scene" +msgstr "" + +#: tools/editor/plugins/tile_set_editor_plugin.cpp +#: tools/editor/script_editor_debugger.cpp +msgid "Error" +msgstr "" + +#: tools/editor/project_export.cpp +msgid "Edit Script Options" +msgstr "" + +#: tools/editor/project_export.cpp +msgid "Please export outside the project folder!" +msgstr "" + +#: tools/editor/project_export.cpp +msgid "Error exporting project!" +msgstr "" + +#: tools/editor/project_export.cpp +msgid "Error writing the project PCK!" +msgstr "" + +#: tools/editor/project_export.cpp +msgid "No exporter for platform '%s' yet." +msgstr "" + +#: tools/editor/project_export.cpp +msgid "Include" +msgstr "" + +#: tools/editor/project_export.cpp +msgid "Change Image Group" +msgstr "" + +#: tools/editor/project_export.cpp +msgid "Group name can't be empty!" +msgstr "" + +#: tools/editor/project_export.cpp +msgid "Invalid character in group name!" +msgstr "" + +#: tools/editor/project_export.cpp +msgid "Group name already exists!" +msgstr "" + +#: tools/editor/project_export.cpp +msgid "Add Image Group" +msgstr "" + +#: tools/editor/project_export.cpp +msgid "Delete Image Group" +msgstr "" + +#: tools/editor/project_export.cpp +msgid "Atlas Preview" +msgstr "" + +#: tools/editor/project_export.cpp +msgid "Project Export Settings" +msgstr "" + +#: tools/editor/project_export.cpp +msgid "Target" +msgstr "" + +#: tools/editor/project_export.cpp +msgid "Export to Platform" +msgstr "" + +#: tools/editor/project_export.cpp +msgid "Resources" +msgstr "" + +#: tools/editor/project_export.cpp +msgid "Export selected resources (including dependencies)." +msgstr "" + +#: tools/editor/project_export.cpp +msgid "Export all resources in the project." +msgstr "" + +#: tools/editor/project_export.cpp +msgid "Export all files in the project directory." +msgstr "" + +#: tools/editor/project_export.cpp +msgid "Export Mode:" +msgstr "" + +#: tools/editor/project_export.cpp +msgid "Resources to Export:" +msgstr "" + +#: tools/editor/project_export.cpp +msgid "Action" +msgstr "" + +#: tools/editor/project_export.cpp +msgid "" +"Filters to export non-resource files (comma-separated, e.g.: *.json, *.txt):" +msgstr "" + +#: tools/editor/project_export.cpp +msgid "Filters to exclude from export (comma-separated, e.g.: *.json, *.txt):" +msgstr "" + +#: tools/editor/project_export.cpp +msgid "Convert text scenes to binary on export." +msgstr "" + +#: tools/editor/project_export.cpp +msgid "Images" +msgstr "" + +#: tools/editor/project_export.cpp +msgid "Keep Original" +msgstr "" + +#: tools/editor/project_export.cpp +msgid "Compress for Disk (Lossy, WebP)" +msgstr "" + +#: tools/editor/project_export.cpp +msgid "Compress for RAM (BC/PVRTC/ETC)" +msgstr "" + +#: tools/editor/project_export.cpp +msgid "Convert Images (*.png):" +msgstr "" + +#: tools/editor/project_export.cpp +msgid "Compress for Disk (Lossy) Quality:" +msgstr "" + +#: tools/editor/project_export.cpp +msgid "Shrink All Images:" +msgstr "" + +#: tools/editor/project_export.cpp +msgid "Compress Formats:" +msgstr "" + +#: tools/editor/project_export.cpp +msgid "Image Groups" +msgstr "" + +#: tools/editor/project_export.cpp +msgid "Groups:" +msgstr "" + +#: tools/editor/project_export.cpp +msgid "Compress Disk" +msgstr "" + +#: tools/editor/project_export.cpp +msgid "Compress RAM" +msgstr "" + +#: tools/editor/project_export.cpp +msgid "Compress Mode:" +msgstr "" + +#: tools/editor/project_export.cpp +msgid "Lossy Quality:" +msgstr "" + +#: tools/editor/project_export.cpp +msgid "Atlas:" +msgstr "" + +#: tools/editor/project_export.cpp +msgid "Shrink By:" +msgstr "" + +#: tools/editor/project_export.cpp +msgid "Preview Atlas" +msgstr "" + +#: tools/editor/project_export.cpp +msgid "Image Filter:" +msgstr "" + +#: tools/editor/project_export.cpp +msgid "Images:" +msgstr "" + +#: tools/editor/project_export.cpp +msgid "Select None" +msgstr "" + +#: tools/editor/project_export.cpp +msgid "Group" +msgstr "" + +#: tools/editor/project_export.cpp +msgid "Samples" +msgstr "نمونے" + +#: tools/editor/project_export.cpp +msgid "Sample Conversion Mode: (.wav files):" +msgstr "" + +#: tools/editor/project_export.cpp +msgid "Keep" +msgstr "" + +#: tools/editor/project_export.cpp +msgid "Compress (RAM - IMA-ADPCM)" +msgstr "" + +#: tools/editor/project_export.cpp +msgid "Sampling Rate Limit (Hz):" +msgstr "" + +#: tools/editor/project_export.cpp +msgid "Trim" +msgstr "" + +#: tools/editor/project_export.cpp +msgid "Trailing Silence:" +msgstr "" + +#: tools/editor/project_export.cpp +msgid "Script" +msgstr "" + +#: tools/editor/project_export.cpp +msgid "Script Export Mode:" +msgstr "" + +#: tools/editor/project_export.cpp +msgid "Text" +msgstr "" + +#: tools/editor/project_export.cpp +msgid "Compiled" +msgstr "" + +#: tools/editor/project_export.cpp +msgid "Encrypted (Provide Key Below)" +msgstr "" + +#: tools/editor/project_export.cpp +msgid "Script Encryption Key (256-bits as hex):" +msgstr "" + +#: tools/editor/project_export.cpp +msgid "Export PCK/Zip" +msgstr "" + +#: tools/editor/project_export.cpp +msgid "Export Project PCK" +msgstr "" + +#: tools/editor/project_export.cpp +msgid "Export.." +msgstr "" + +#: tools/editor/project_export.cpp +msgid "Project Export" +msgstr "" + +#: tools/editor/project_export.cpp +msgid "Export Preset:" +msgstr "" + +#: tools/editor/project_manager.cpp +msgid "Invalid project path, the path must exist!" +msgstr "" + +#: tools/editor/project_manager.cpp +msgid "Invalid project path, engine.cfg must not exist." +msgstr "" + +#: tools/editor/project_manager.cpp +msgid "Invalid project path, engine.cfg must exist." +msgstr "" + +#: tools/editor/project_manager.cpp +msgid "Imported Project" +msgstr "" + +#: tools/editor/project_manager.cpp +msgid "Invalid project path (changed anything?)." +msgstr "" + +#: tools/editor/project_manager.cpp +msgid "Couldn't create engine.cfg in project path." +msgstr "" + +#: tools/editor/project_manager.cpp +msgid "The following files failed extraction from package:" +msgstr "" + +#: tools/editor/project_manager.cpp +msgid "Package Installed Successfully!" +msgstr "" + +#: tools/editor/project_manager.cpp +msgid "Import Existing Project" +msgstr "" + +#: tools/editor/project_manager.cpp +msgid "Project Path (Must Exist):" +msgstr "" + +#: tools/editor/project_manager.cpp +msgid "Project Name:" +msgstr "" + +#: tools/editor/project_manager.cpp +msgid "Create New Project" +msgstr "" + +#: tools/editor/project_manager.cpp +msgid "Project Path:" +msgstr "" + +#: tools/editor/project_manager.cpp +msgid "Install Project:" +msgstr "" + +#: tools/editor/project_manager.cpp +msgid "Install" +msgstr "" + +#: tools/editor/project_manager.cpp +msgid "Browse" +msgstr "" + +#: tools/editor/project_manager.cpp +msgid "New Game Project" +msgstr "" + +#: tools/editor/project_manager.cpp +msgid "That's a BINGO!" +msgstr "" + +#: tools/editor/project_manager.cpp +msgid "Unnamed Project" +msgstr "" + +#: tools/editor/project_manager.cpp +msgid "Are you sure to open more than one projects?" +msgstr "" + +#: tools/editor/project_manager.cpp +msgid "Are you sure to run more than one projects?" +msgstr "" + +#: tools/editor/project_manager.cpp +msgid "Remove project from the list? (Folder contents will not be modified)" +msgstr "" + +#: tools/editor/project_manager.cpp +msgid "Project Manager" +msgstr "" + +#: tools/editor/project_manager.cpp +msgid "Project List" +msgstr "" + +#: tools/editor/project_manager.cpp +msgid "Run" +msgstr "" + +#: tools/editor/project_manager.cpp +msgid "Scan" +msgstr "" + +#: tools/editor/project_manager.cpp +msgid "New Project" +msgstr "" + +#: tools/editor/project_manager.cpp +msgid "Exit" +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 "" + +#: tools/editor/project_settings.cpp +msgid "Action '%s' already exists!" +msgstr "" + +#: tools/editor/project_settings.cpp +msgid "Rename Input Action Event" +msgstr "" + +#: tools/editor/project_settings.cpp +msgid "Add Input Action Event" +msgstr "" + +#: tools/editor/project_settings.cpp tools/editor/settings_config_dialog.cpp +msgid "Control+" +msgstr "" + +#: tools/editor/project_settings.cpp tools/editor/settings_config_dialog.cpp +msgid "Press a Key.." +msgstr "" + +#: tools/editor/project_settings.cpp +msgid "Mouse Button Index:" +msgstr "" + +#: tools/editor/project_settings.cpp +msgid "Left Button" +msgstr "" + +#: tools/editor/project_settings.cpp +msgid "Right Button" +msgstr "" + +#: tools/editor/project_settings.cpp +msgid "Middle Button" +msgstr "" + +#: tools/editor/project_settings.cpp +msgid "Wheel Up Button" +msgstr "" + +#: tools/editor/project_settings.cpp +msgid "Wheel Down Button" +msgstr "" + +#: tools/editor/project_settings.cpp +msgid "Button 6" +msgstr "" + +#: tools/editor/project_settings.cpp +msgid "Button 7" +msgstr "" + +#: tools/editor/project_settings.cpp +msgid "Button 8" +msgstr "" + +#: tools/editor/project_settings.cpp +msgid "Button 9" +msgstr "" + +#: tools/editor/project_settings.cpp +msgid "Joystick Axis Index:" +msgstr "" + +#: tools/editor/project_settings.cpp +msgid "Joystick Button Index:" +msgstr "" + +#: tools/editor/project_settings.cpp +msgid "Add Input Action" +msgstr "" + +#: tools/editor/project_settings.cpp +msgid "Erase Input Action Event" +msgstr "" + +#: tools/editor/project_settings.cpp +msgid "Toggle Persisting" +msgstr "" + +#: tools/editor/project_settings.cpp +msgid "Error saving settings." +msgstr "" + +#: tools/editor/project_settings.cpp +msgid "Settings saved OK." +msgstr "" + +#: tools/editor/project_settings.cpp +msgid "Add Translation" +msgstr "" + +#: tools/editor/project_settings.cpp +msgid "Remove Translation" +msgstr "" + +#: tools/editor/project_settings.cpp +msgid "Add Remapped Path" +msgstr "" + +#: tools/editor/project_settings.cpp +msgid "Resource Remap Add Remap" +msgstr "" + +#: tools/editor/project_settings.cpp +msgid "Change Resource Remap Language" +msgstr "" + +#: tools/editor/project_settings.cpp +msgid "Remove Resource Remap" +msgstr "" + +#: tools/editor/project_settings.cpp +msgid "Remove Resource Remap Option" +msgstr "" + +#: tools/editor/project_settings.cpp +msgid "Project Settings (engine.cfg)" +msgstr "" + +#: tools/editor/project_settings.cpp tools/editor/settings_config_dialog.cpp +msgid "General" +msgstr "" + +#: tools/editor/project_settings.cpp tools/editor/property_editor.cpp +msgid "Property:" +msgstr "" + +#: tools/editor/project_settings.cpp +msgid "Del" +msgstr "" + +#: tools/editor/project_settings.cpp +msgid "Copy To Platform.." +msgstr "" + +#: tools/editor/project_settings.cpp +msgid "Input Map" +msgstr "" + +#: tools/editor/project_settings.cpp +msgid "Action:" +msgstr "" + +#: tools/editor/project_settings.cpp +msgid "Device:" +msgstr "" + +#: tools/editor/project_settings.cpp +msgid "Index:" +msgstr "" + +#: tools/editor/project_settings.cpp +msgid "Localization" +msgstr "" + +#: tools/editor/project_settings.cpp +msgid "Translations" +msgstr "" + +#: tools/editor/project_settings.cpp +msgid "Translations:" +msgstr "" + +#: tools/editor/project_settings.cpp +msgid "Add.." +msgstr "" + +#: tools/editor/project_settings.cpp +msgid "Remaps" +msgstr "" + +#: tools/editor/project_settings.cpp +msgid "Resources:" +msgstr "" + +#: tools/editor/project_settings.cpp +msgid "Remaps by Locale:" +msgstr "" + +#: tools/editor/project_settings.cpp +msgid "Locale" +msgstr "" + +#: tools/editor/project_settings.cpp +msgid "AutoLoad" +msgstr "" + +#: tools/editor/project_settings.cpp +msgid "Plugins" +msgstr "" + +#: tools/editor/property_editor.cpp +msgid "Preset.." +msgstr "" + +#: tools/editor/property_editor.cpp +msgid "Ease In" +msgstr "" + +#: tools/editor/property_editor.cpp +msgid "Ease Out" +msgstr "" + +#: tools/editor/property_editor.cpp +msgid "Zero" +msgstr "" + +#: tools/editor/property_editor.cpp +msgid "Easing In-Out" +msgstr "" + +#: tools/editor/property_editor.cpp +msgid "Easing Out-In" +msgstr "" + +#: tools/editor/property_editor.cpp +msgid "File.." +msgstr "" + +#: tools/editor/property_editor.cpp +msgid "Dir.." +msgstr "" + +#: tools/editor/property_editor.cpp +msgid "Load" +msgstr "" + +#: tools/editor/property_editor.cpp +msgid "Assign" +msgstr "" + +#: tools/editor/property_editor.cpp +msgid "Error loading file: Not a resource!" +msgstr "" + +#: tools/editor/property_editor.cpp +msgid "Couldn't load image" +msgstr "" + +#: tools/editor/property_editor.cpp +msgid "Bit %d, val %d." +msgstr "" + +#: tools/editor/property_editor.cpp +msgid "On" +msgstr "" + +#: tools/editor/property_editor.cpp +msgid "Set" +msgstr "" + +#: tools/editor/property_editor.cpp +msgid "Properties:" +msgstr "" + +#: tools/editor/property_editor.cpp +msgid "Global" +msgstr "" + +#: tools/editor/property_editor.cpp +msgid "Sections:" +msgstr "" + +#: tools/editor/pvrtc_compress.cpp +msgid "Could not execute PVRTC tool:" +msgstr "" + +#: tools/editor/pvrtc_compress.cpp +msgid "Can't load back converted image using PVRTC tool:" +msgstr "" + +#: tools/editor/reparent_dialog.cpp tools/editor/scene_tree_dock.cpp +msgid "Reparent Node" +msgstr "" + +#: tools/editor/reparent_dialog.cpp +msgid "Reparent Location (Select new Parent):" +msgstr "" + +#: tools/editor/reparent_dialog.cpp +msgid "Keep Global Transform" +msgstr "" + +#: tools/editor/reparent_dialog.cpp tools/editor/scene_tree_dock.cpp +msgid "Reparent" +msgstr "" + +#: tools/editor/resources_dock.cpp +msgid "Create New Resource" +msgstr "" + +#: tools/editor/resources_dock.cpp +msgid "Open Resource" +msgstr "" + +#: tools/editor/resources_dock.cpp +msgid "Save Resource" +msgstr "" + +#: tools/editor/resources_dock.cpp +msgid "Resource Tools" +msgstr "" + +#: tools/editor/resources_dock.cpp +msgid "Make Local" +msgstr "" + +#: tools/editor/run_settings_dialog.cpp +msgid "Run Mode:" +msgstr "" + +#: tools/editor/run_settings_dialog.cpp +msgid "Current Scene" +msgstr "" + +#: tools/editor/run_settings_dialog.cpp +msgid "Main Scene" +msgstr "" + +#: tools/editor/run_settings_dialog.cpp +msgid "Main Scene Arguments:" +msgstr "" + +#: tools/editor/run_settings_dialog.cpp +msgid "Scene Run Settings" +msgstr "" + +#: tools/editor/scene_tree_dock.cpp +msgid "OK :(" +msgstr "" + +#: tools/editor/scene_tree_dock.cpp +msgid "No parent to instance a child at." +msgstr "" + +#: tools/editor/scene_tree_dock.cpp +msgid "Error loading scene from %s" +msgstr "" + +#: tools/editor/scene_tree_dock.cpp +msgid "Error instancing scene from %s" +msgstr "" + +#: tools/editor/scene_tree_dock.cpp +msgid "Ok" +msgstr "" + +#: tools/editor/scene_tree_dock.cpp +msgid "" +"Cannot instance the scene '%s' because the current scene exists within one " +"of its nodes." +msgstr "" + +#: tools/editor/scene_tree_dock.cpp +msgid "Instance Scene(s)" +msgstr "" + +#: tools/editor/scene_tree_dock.cpp +msgid "This operation can't be done on the tree root." +msgstr "" + +#: tools/editor/scene_tree_dock.cpp +msgid "Move Node In Parent" +msgstr "" + +#: tools/editor/scene_tree_dock.cpp +msgid "Move Nodes In Parent" +msgstr "" + +#: tools/editor/scene_tree_dock.cpp +msgid "Duplicate Node(s)" +msgstr "" + +#: tools/editor/scene_tree_dock.cpp +msgid "Delete Node(s)?" +msgstr "" + +#: tools/editor/scene_tree_dock.cpp +msgid "This operation can't be done without a scene." +msgstr "" + +#: tools/editor/scene_tree_dock.cpp +msgid "This operation requires a single selected node." +msgstr "" + +#: tools/editor/scene_tree_dock.cpp +msgid "This operation can't be done on instanced scenes." +msgstr "" + +#: tools/editor/scene_tree_dock.cpp +msgid "Save New Scene As.." +msgstr "" + +#: tools/editor/scene_tree_dock.cpp +msgid "Makes Sense!" +msgstr "" + +#: tools/editor/scene_tree_dock.cpp +msgid "Can't operate on nodes from a foreign scene!" +msgstr "" + +#: tools/editor/scene_tree_dock.cpp +msgid "Can't operate on nodes the current scene inherits from!" +msgstr "" + +#: tools/editor/scene_tree_dock.cpp +msgid "Remove Node(s)" +msgstr "" + +#: tools/editor/scene_tree_dock.cpp +msgid "Create Node" +msgstr "" + +#: tools/editor/scene_tree_dock.cpp +msgid "" +"Couldn't save new scene. Likely dependencies (instances) couldn't be " +"satisfied." +msgstr "" + +#: tools/editor/scene_tree_dock.cpp +msgid "Error saving scene." +msgstr "" + +#: tools/editor/scene_tree_dock.cpp +msgid "Error duplicating scene to save it." +msgstr "" + +#: tools/editor/scene_tree_dock.cpp +msgid "Edit Groups" +msgstr "" + +#: tools/editor/scene_tree_dock.cpp +msgid "Edit Connections" +msgstr "" + +#: tools/editor/scene_tree_dock.cpp +msgid "Delete Node(s)" +msgstr "" + +#: tools/editor/scene_tree_dock.cpp +msgid "Add Child Node" +msgstr "" + +#: tools/editor/scene_tree_dock.cpp +msgid "Instance Child Scene" +msgstr "" + +#: tools/editor/scene_tree_dock.cpp +msgid "Change Type" +msgstr "" + +#: tools/editor/scene_tree_dock.cpp +msgid "Add Script" +msgstr "" + +#: tools/editor/scene_tree_dock.cpp +msgid "Merge From Scene" +msgstr "" + +#: tools/editor/scene_tree_dock.cpp +msgid "Save Branch as Scene" +msgstr "" + +#: tools/editor/scene_tree_dock.cpp +msgid "Add/Create a New Node" +msgstr "" + +#: tools/editor/scene_tree_dock.cpp +msgid "" +"Instance a scene file as a Node. Creates an inherited scene if no root node " +"exists." +msgstr "" + +#: tools/editor/scene_tree_editor.cpp +msgid "" +"This item cannot be made visible because the parent is hidden. Unhide the " +"parent first." +msgstr "" + +#: tools/editor/scene_tree_editor.cpp +msgid "Toggle Spatial Visible" +msgstr "" + +#: tools/editor/scene_tree_editor.cpp +msgid "Toggle CanvasItem Visible" +msgstr "" + +#: tools/editor/scene_tree_editor.cpp +msgid "Instance:" +msgstr "" + +#: tools/editor/scene_tree_editor.cpp +msgid "Invalid node name, the following characters are not allowed:" +msgstr "" + +#: tools/editor/scene_tree_editor.cpp +msgid "Rename Node" +msgstr "" + +#: tools/editor/scene_tree_editor.cpp +msgid "Scene Tree (Nodes):" +msgstr "" + +#: tools/editor/scene_tree_editor.cpp +msgid "Editable Children" +msgstr "" + +#: tools/editor/scene_tree_editor.cpp +msgid "Load As Placeholder" +msgstr "" + +#: tools/editor/scene_tree_editor.cpp +msgid "Discard Instancing" +msgstr "" + +#: tools/editor/scene_tree_editor.cpp +msgid "Open in Editor" +msgstr "" + +#: tools/editor/scene_tree_editor.cpp +msgid "Clear Inheritance" +msgstr "" + +#: tools/editor/scene_tree_editor.cpp +msgid "Clear Inheritance? (No Undo!)" +msgstr "" + +#: tools/editor/scene_tree_editor.cpp +msgid "Clear!" +msgstr "" + +#: tools/editor/scene_tree_editor.cpp +msgid "Select a Node" +msgstr "" + +#: tools/editor/scenes_dock.cpp +msgid "Same source and destination files, doing nothing." +msgstr "" + +#: tools/editor/scenes_dock.cpp +msgid "Same source and destination paths, doing nothing." +msgstr "" + +#: tools/editor/scenes_dock.cpp +msgid "Can't move directories to within themselves." +msgstr "" + +#: tools/editor/scenes_dock.cpp +msgid "Can't operate on '..'" +msgstr "" + +#: tools/editor/scenes_dock.cpp +msgid "Pick New Name and Location For:" +msgstr "" + +#: tools/editor/scenes_dock.cpp +msgid "No files selected!" +msgstr "" + +#: tools/editor/scenes_dock.cpp +msgid "Instance" +msgstr "" + +#: tools/editor/scenes_dock.cpp +msgid "Edit Dependencies.." +msgstr "" + +#: tools/editor/scenes_dock.cpp +msgid "View Owners.." +msgstr "" + +#: tools/editor/scenes_dock.cpp +msgid "Copy Path" +msgstr "" + +#: tools/editor/scenes_dock.cpp +msgid "Rename or Move.." +msgstr "" + +#: tools/editor/scenes_dock.cpp +msgid "Move To.." +msgstr "" + +#: tools/editor/scenes_dock.cpp +msgid "Info" +msgstr "" + +#: tools/editor/scenes_dock.cpp +msgid "Show In File Manager" +msgstr "" + +#: tools/editor/scenes_dock.cpp +msgid "Re-Import.." +msgstr "" + +#: tools/editor/scenes_dock.cpp +msgid "Previous Directory" +msgstr "" + +#: tools/editor/scenes_dock.cpp +msgid "Next Directory" +msgstr "" + +#: tools/editor/scenes_dock.cpp +msgid "Re-Scan Filesystem" +msgstr "" + +#: tools/editor/scenes_dock.cpp +msgid "Toggle folder status as Favorite" +msgstr "" + +#: tools/editor/scenes_dock.cpp +msgid "Instance the selected scene(s) as child of the selected node." +msgstr "" + +#: tools/editor/scenes_dock.cpp +msgid "Move" +msgstr "" + +#: tools/editor/script_create_dialog.cpp +msgid "Invalid parent class name" +msgstr "" + +#: tools/editor/script_create_dialog.cpp +msgid "Valid chars:" +msgstr "" + +#: tools/editor/script_create_dialog.cpp +msgid "Invalid class name" +msgstr "" + +#: tools/editor/script_create_dialog.cpp +msgid "Valid name" +msgstr "" + +#: tools/editor/script_create_dialog.cpp +msgid "N/A" +msgstr "" + +#: tools/editor/script_create_dialog.cpp +msgid "Class name is invalid!" +msgstr "" + +#: tools/editor/script_create_dialog.cpp +msgid "Parent class name is invalid!" +msgstr "" + +#: tools/editor/script_create_dialog.cpp +msgid "Invalid path!" +msgstr "" + +#: tools/editor/script_create_dialog.cpp +msgid "Could not create script in filesystem." +msgstr "" + +#: tools/editor/script_create_dialog.cpp +msgid "Path is empty" +msgstr "" + +#: tools/editor/script_create_dialog.cpp +msgid "Path is not local" +msgstr "" + +#: tools/editor/script_create_dialog.cpp +msgid "Invalid base path" +msgstr "" + +#: tools/editor/script_create_dialog.cpp +msgid "File exists" +msgstr "" + +#: tools/editor/script_create_dialog.cpp +msgid "Invalid extension" +msgstr "" + +#: tools/editor/script_create_dialog.cpp +msgid "Valid path" +msgstr "" + +#: tools/editor/script_create_dialog.cpp +msgid "Class Name:" +msgstr "" + +#: tools/editor/script_create_dialog.cpp +msgid "Built-In Script" +msgstr "" + +#: tools/editor/script_create_dialog.cpp +msgid "Create Node Script" +msgstr "" + +#: tools/editor/script_editor_debugger.cpp +msgid "Bytes:" +msgstr "" + +#: tools/editor/script_editor_debugger.cpp +msgid "Warning" +msgstr "" + +#: tools/editor/script_editor_debugger.cpp +msgid "Error:" +msgstr "" + +#: tools/editor/script_editor_debugger.cpp +msgid "Source:" +msgstr "" + +#: tools/editor/script_editor_debugger.cpp +msgid "Function:" +msgstr "" + +#: tools/editor/script_editor_debugger.cpp +msgid "Errors" +msgstr "" + +#: tools/editor/script_editor_debugger.cpp +msgid "Child Process Connected" +msgstr "" + +#: tools/editor/script_editor_debugger.cpp +msgid "Inspect Previous Instance" +msgstr "" + +#: tools/editor/script_editor_debugger.cpp +msgid "Inspect Next Instance" +msgstr "" + +#: tools/editor/script_editor_debugger.cpp +msgid "Stack Frames" +msgstr "" + +#: tools/editor/script_editor_debugger.cpp +msgid "Variable" +msgstr "" + +#: tools/editor/script_editor_debugger.cpp +msgid "Errors:" +msgstr "" + +#: tools/editor/script_editor_debugger.cpp +msgid "Stack Trace (if applicable):" +msgstr "" + +#: tools/editor/script_editor_debugger.cpp +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 "" + +#: tools/editor/script_editor_debugger.cpp +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 "" + +#: tools/editor/script_editor_debugger.cpp +msgid "Total:" +msgstr "" + +#: tools/editor/script_editor_debugger.cpp +msgid "Video Mem" +msgstr "" + +#: tools/editor/script_editor_debugger.cpp +msgid "Resource Path" +msgstr "" + +#: tools/editor/script_editor_debugger.cpp +msgid "Type" +msgstr "" + +#: tools/editor/script_editor_debugger.cpp +msgid "Usage" +msgstr "" + +#: tools/editor/script_editor_debugger.cpp +msgid "Misc" +msgstr "" + +#: tools/editor/script_editor_debugger.cpp +msgid "Clicked Control:" +msgstr "" + +#: tools/editor/script_editor_debugger.cpp +msgid "Clicked Control Type:" +msgstr "" + +#: tools/editor/script_editor_debugger.cpp +msgid "Live Edit Root:" +msgstr "" + +#: tools/editor/script_editor_debugger.cpp +msgid "Set From Tree" +msgstr "" + +#: tools/editor/settings_config_dialog.cpp +msgid "Shortcuts" +msgstr "" + +#: tools/editor/spatial_editor_gizmos.cpp +msgid "Change Light Radius" +msgstr "" + +#: tools/editor/spatial_editor_gizmos.cpp +msgid "Change Camera FOV" +msgstr "" + +#: tools/editor/spatial_editor_gizmos.cpp +msgid "Change Camera Size" +msgstr "" + +#: tools/editor/spatial_editor_gizmos.cpp +msgid "Change Sphere Shape Radius" +msgstr "" + +#: tools/editor/spatial_editor_gizmos.cpp +msgid "Change Box Shape Extents" +msgstr "" + +#: tools/editor/spatial_editor_gizmos.cpp +msgid "Change Capsule Shape Radius" +msgstr "" + +#: tools/editor/spatial_editor_gizmos.cpp +msgid "Change Capsule Shape Height" +msgstr "" + +#: tools/editor/spatial_editor_gizmos.cpp +msgid "Change Ray Shape Length" +msgstr "" + +#: tools/editor/spatial_editor_gizmos.cpp +msgid "Change Notifier Extents" +msgstr ".نوٹفئر کے اکسٹنٹ کو تبدیل کیجیۓ" diff --git a/tools/translations/zh_CN.po b/tools/translations/zh_CN.po index 87d58db19e..e852bac75f 100644 --- a/tools/translations/zh_CN.po +++ b/tools/translations/zh_CN.po @@ -311,9 +311,10 @@ msgstr "保存文件" msgid "Create Folder" msgstr "新建目录" -#: scene/gui/file_dialog.cpp tools/editor/editor_file_dialog.cpp +#: scene/gui/file_dialog.cpp tools/editor/editor_autoload_settings.cpp +#: tools/editor/editor_file_dialog.cpp #: tools/editor/io_plugins/editor_font_import_plugin.cpp -#: tools/editor/project_settings.cpp tools/editor/script_create_dialog.cpp +#: tools/editor/script_create_dialog.cpp msgid "Path:" msgstr "路径:" @@ -511,6 +512,10 @@ msgid "Anim Add Track" msgstr "添加轨道" #: tools/editor/animation_editor.cpp +msgid "Anim Duplicate Keys" +msgstr "复制关键帧" + +#: tools/editor/animation_editor.cpp msgid "Move Anim Track Up" msgstr "上移轨道" @@ -523,10 +528,6 @@ msgid "Remove Anim Track" msgstr "移除轨道" #: tools/editor/animation_editor.cpp -msgid "Anim Duplicate Keys" -msgstr "复制关键帧" - -#: tools/editor/animation_editor.cpp msgid "Set Transitions to:" msgstr "设置过渡效果:" @@ -555,6 +556,20 @@ msgid "Anim Delete Keys" msgstr "删除关键帧" #: tools/editor/animation_editor.cpp +#: tools/editor/plugins/tile_map_editor_plugin.cpp +msgid "Duplicate Selection" +msgstr "复制选中项" + +#: tools/editor/animation_editor.cpp +msgid "Duplicate Transposed" +msgstr "复制并转置" + +#: tools/editor/animation_editor.cpp +#, fuzzy +msgid "Remove Selection" +msgstr "最大化显示选中节点" + +#: tools/editor/animation_editor.cpp #, fuzzy msgid "Continuous" msgstr "继续" @@ -585,15 +600,6 @@ msgid "Scale From Cursor" msgstr "通过光标缩放" #: tools/editor/animation_editor.cpp -#: tools/editor/plugins/tile_map_editor_plugin.cpp -msgid "Duplicate Selection" -msgstr "复制选中项" - -#: tools/editor/animation_editor.cpp -msgid "Duplicate Transposed" -msgstr "复制并转置" - -#: tools/editor/animation_editor.cpp msgid "Goto Next Step" msgstr "前往下一步" @@ -864,7 +870,6 @@ msgid "Call" msgstr "调用" #: tools/editor/call_dialog.cpp tools/editor/connections_dialog.cpp -#: tools/editor/import_settings.cpp #: tools/editor/plugins/animation_player_editor_plugin.cpp #: tools/editor/plugins/canvas_item_editor_plugin.cpp #: tools/editor/plugins/resource_preloader_editor_plugin.cpp @@ -984,7 +989,8 @@ msgstr "必须设置方法的对象节点!" msgid "Connect To Node:" msgstr "连接到节点:" -#: tools/editor/connections_dialog.cpp tools/editor/groups_editor.cpp +#: tools/editor/connections_dialog.cpp +#: tools/editor/editor_autoload_settings.cpp tools/editor/groups_editor.cpp #: tools/editor/plugins/item_list_editor_plugin.cpp #: tools/editor/plugins/theme_editor_plugin.cpp #: tools/editor/project_settings.cpp @@ -1091,8 +1097,8 @@ msgstr "依赖" msgid "Resource" msgstr "资源" -#: tools/editor/dependency_editor.cpp tools/editor/project_manager.cpp -#: tools/editor/project_settings.cpp +#: tools/editor/dependency_editor.cpp tools/editor/editor_autoload_settings.cpp +#: tools/editor/project_manager.cpp tools/editor/project_settings.cpp msgid "Path" msgstr "路径" @@ -1177,6 +1183,94 @@ msgstr "删除选中的文件?" msgid "Delete" msgstr "删除" +#: tools/editor/editor_autoload_settings.cpp +msgid "Invalid name." +msgstr "名称非法:" + +#: tools/editor/editor_autoload_settings.cpp +msgid "Valid characters:" +msgstr "字符合法:" + +#: tools/editor/editor_autoload_settings.cpp +msgid "Invalid name. Must not collide with an existing engine class name." +msgstr "名称非法,与引擎内置类型名称冲突。" + +#: tools/editor/editor_autoload_settings.cpp +msgid "Invalid name. Must not collide with an existing buit-in type name." +msgstr "名称非法,与引擎内置类型名称冲突。" + +#: tools/editor/editor_autoload_settings.cpp +msgid "Invalid name. Must not collide with an existing global constant name." +msgstr "名称非法,与已存在的全局常量名称冲突。" + +#: tools/editor/editor_autoload_settings.cpp +#, fuzzy +msgid "Invalid Path." +msgstr "路径非法!" + +#: tools/editor/editor_autoload_settings.cpp +#, fuzzy +msgid "File does not exist." +msgstr "文件已存在" + +#: tools/editor/editor_autoload_settings.cpp +#, fuzzy +msgid "Not in resource path." +msgstr "资源路径" + +#: tools/editor/editor_autoload_settings.cpp +#, fuzzy +msgid "Add AutoLoad" +msgstr "添加Autoload" + +#: tools/editor/editor_autoload_settings.cpp +msgid "Autoload '%s' already exists!" +msgstr "Autoload %s已存在!" + +#: tools/editor/editor_autoload_settings.cpp +msgid "Rename Autoload" +msgstr "移除Autoload" + +#: tools/editor/editor_autoload_settings.cpp +msgid "Toggle AutoLoad Globals" +msgstr "切换全局AutoLoad" + +#: tools/editor/editor_autoload_settings.cpp +msgid "Move Autoload" +msgstr "移动Autoload" + +#: tools/editor/editor_autoload_settings.cpp +msgid "Remove Autoload" +msgstr "移除Autoload" + +#: tools/editor/editor_autoload_settings.cpp +msgid "Enable" +msgstr "启用" + +#: tools/editor/editor_autoload_settings.cpp +#, fuzzy +msgid "Rearrange Autoloads" +msgstr "移除Autoload" + +#: tools/editor/editor_autoload_settings.cpp +msgid "Node Name:" +msgstr "节点名称:" + +#: tools/editor/editor_autoload_settings.cpp +#: tools/editor/io_plugins/editor_scene_import_plugin.cpp +#: tools/editor/plugins/sample_library_editor_plugin.cpp +#: tools/editor/project_manager.cpp +msgid "Name" +msgstr "名称" + +#: tools/editor/editor_autoload_settings.cpp +msgid "Singleton" +msgstr "单例" + +#: tools/editor/editor_autoload_settings.cpp +msgid "List:" +msgstr "列表:" + #: tools/editor/editor_data.cpp msgid "Updating Scene" msgstr "更新场景" @@ -1234,12 +1328,12 @@ msgstr "拷贝路径" #: tools/editor/editor_file_dialog.cpp #, fuzzy -msgid "Mode Favorite Up" +msgid "Move Favorite Up" msgstr "收藏:" #: tools/editor/editor_file_dialog.cpp #, fuzzy -msgid "Mode Favorite Down" +msgid "Move Favorite Down" msgstr "向下移动" #: tools/editor/editor_file_dialog.cpp tools/editor/scenes_dock.cpp @@ -1262,14 +1356,18 @@ msgstr "无法打开目录:" msgid "ScanSources" msgstr "" -#: tools/editor/editor_help.cpp -msgid "Search Classes" -msgstr "搜索类型" +#: tools/editor/editor_help.cpp tools/editor/plugins/script_editor_plugin.cpp +msgid "Search Help" +msgstr "搜索帮助" #: tools/editor/editor_help.cpp msgid "Class List:" msgstr "类型列表" +#: tools/editor/editor_help.cpp +msgid "Search Classes" +msgstr "搜索类型" + #: tools/editor/editor_help.cpp tools/editor/property_editor.cpp msgid "Class:" msgstr "类:" @@ -1367,10 +1465,6 @@ msgstr "导入:" msgid "Node From Scene" msgstr "" -#: tools/editor/editor_node.cpp tools/editor/scenes_dock.cpp -msgid "Re-Import.." -msgstr "重新导入.." - #: tools/editor/editor_node.cpp #: tools/editor/plugins/animation_player_editor_plugin.cpp #: tools/editor/resources_dock.cpp @@ -1615,7 +1709,7 @@ msgstr "退出到项目管理窗口(未保存的修改将丢失)?" #: tools/editor/editor_node.cpp #, fuzzy -msgid "Pick a Manu Scene" +msgid "Pick a Main Scene" msgstr "主场景" #: tools/editor/editor_node.cpp tools/editor/scene_tree_dock.cpp @@ -1709,6 +1803,11 @@ msgid "Save Scene" msgstr "保存场景" #: tools/editor/editor_node.cpp +#, fuzzy +msgid "Save all Scenes" +msgstr "保存场景" + +#: tools/editor/editor_node.cpp msgid "Close Scene" msgstr "关闭场景" @@ -1832,6 +1931,11 @@ msgid "Play custom scene" msgstr "运行自定义场景" #: tools/editor/editor_node.cpp +#, fuzzy +msgid "Play Custom Scene" +msgstr "运行自定义场景" + +#: tools/editor/editor_node.cpp msgid "Debug options" msgstr "调试选项" @@ -1993,7 +2097,6 @@ msgid "Output" msgstr "输出" #: tools/editor/editor_node.cpp tools/editor/editor_reimport_dialog.cpp -#: tools/editor/import_settings.cpp msgid "Re-Import" msgstr "重新导入" @@ -2165,10 +2268,6 @@ msgstr "添加到分组" msgid "Remove from Group" msgstr "从分组中移除" -#: tools/editor/import_settings.cpp -msgid "Imported Resources" -msgstr "已导入的资源" - #: tools/editor/io_plugins/editor_bitmask_import_plugin.cpp msgid "No bit masks to import!" msgstr "没有要导入的bit masks!" @@ -2379,12 +2478,6 @@ msgid "Clips" msgstr "" #: tools/editor/io_plugins/editor_scene_import_plugin.cpp -#: tools/editor/plugins/sample_library_editor_plugin.cpp -#: tools/editor/project_manager.cpp tools/editor/project_settings.cpp -msgid "Name" -msgstr "名称" - -#: tools/editor/io_plugins/editor_scene_import_plugin.cpp msgid "Start(s)" msgstr "" @@ -3347,8 +3440,9 @@ msgid "Anchor" msgstr "锚点" #: tools/editor/plugins/canvas_item_editor_plugin.cpp -msgid "Insert Keys (Ins)" -msgstr "插入关键帧( 创建轨道)" +#, fuzzy +msgid "Insert Keys" +msgstr "插入关键帧" #: tools/editor/plugins/canvas_item_editor_plugin.cpp msgid "Insert Key" @@ -3886,6 +3980,7 @@ msgid "Clear UV" msgstr "清除UV" #: tools/editor/plugins/polygon_2d_editor_plugin.cpp +#: tools/editor/plugins/spatial_editor_plugin.cpp msgid "Snap" msgstr "吸附" @@ -4001,6 +4096,16 @@ msgid "Save Theme As.." msgstr "主题另存为" #: tools/editor/plugins/script_editor_plugin.cpp +#, fuzzy +msgid "Next script" +msgstr "创建脚本" + +#: tools/editor/plugins/script_editor_plugin.cpp +#, fuzzy +msgid "Previous script" +msgstr "上一个目录:" + +#: tools/editor/plugins/script_editor_plugin.cpp #: tools/editor/project_export.cpp msgid "File" msgstr "文件" @@ -4188,10 +4293,6 @@ msgid "Search the class hierarchy." msgstr "搜索类" #: tools/editor/plugins/script_editor_plugin.cpp -msgid "Search Help" -msgstr "搜索帮助" - -#: tools/editor/plugins/script_editor_plugin.cpp msgid "Search the reference documentation." msgstr "搜索文档" @@ -4228,6 +4329,11 @@ msgstr "重新保存" msgid "Debugger" msgstr "调试器" +#: tools/editor/plugins/script_editor_plugin.cpp +msgid "" +"Built-in scripts can only be edited when the scene they belong to is loaded" +msgstr "" + #: tools/editor/plugins/shader_editor_plugin.cpp msgid "Vertex" msgstr "顶点" @@ -4461,76 +4567,82 @@ msgid "Align with view" msgstr "" #: tools/editor/plugins/spatial_editor_plugin.cpp -msgid "Top (Num7)" -msgstr "" +msgid "Environment" +msgstr "环境" #: tools/editor/plugins/spatial_editor_plugin.cpp -msgid "Bottom (Shift+Num7)" +msgid "Audio Listener" msgstr "" #: tools/editor/plugins/spatial_editor_plugin.cpp -msgid "Left (Num3)" +msgid "Gizmos" msgstr "" #: tools/editor/plugins/spatial_editor_plugin.cpp -msgid "Right (Shift+Num3)" -msgstr "" +msgid "XForm Dialog" +msgstr "XForm对话框" #: tools/editor/plugins/spatial_editor_plugin.cpp -msgid "Front (Num1)" -msgstr "" +msgid "No scene selected to instance!" +msgstr "没有选用要实例化的场景!" #: tools/editor/plugins/spatial_editor_plugin.cpp -msgid "Rear (Shift+Num1)" +msgid "Instance at Cursor" msgstr "" #: tools/editor/plugins/spatial_editor_plugin.cpp -msgid "Perspective (Num5)" -msgstr "透视(Num5)" - -#: tools/editor/plugins/spatial_editor_plugin.cpp -msgid "Orthogonal (Num5)" -msgstr "正交(Num5)" +msgid "Could not instance scene!" +msgstr "无法实例化场景!" #: tools/editor/plugins/spatial_editor_plugin.cpp -msgid "Environment" -msgstr "环境" +msgid "Scale Mode (R)" +msgstr "缩放模式(R)" #: tools/editor/plugins/spatial_editor_plugin.cpp -msgid "Audio Listener" +msgid "Bottom View" msgstr "" #: tools/editor/plugins/spatial_editor_plugin.cpp -msgid "Gizmos" -msgstr "" +#, fuzzy +msgid "Top View" +msgstr "视图" #: tools/editor/plugins/spatial_editor_plugin.cpp -msgid "Selection (F)" -msgstr "选中项(F)" +#, fuzzy +msgid "Rear View" +msgstr "视图" #: tools/editor/plugins/spatial_editor_plugin.cpp -msgid "Align with view (Ctrl+Shift+F)" +msgid "Front View" msgstr "" #: tools/editor/plugins/spatial_editor_plugin.cpp -msgid "XForm Dialog" -msgstr "XForm对话框" +#, fuzzy +msgid "Left View" +msgstr "视图" #: tools/editor/plugins/spatial_editor_plugin.cpp -msgid "No scene selected to instance!" -msgstr "没有选用要实例化的场景!" +msgid "Right View" +msgstr "" #: tools/editor/plugins/spatial_editor_plugin.cpp -msgid "Instance at Cursor" +msgid "Switch Perspective/Orthogonal view" msgstr "" #: tools/editor/plugins/spatial_editor_plugin.cpp -msgid "Could not instance scene!" -msgstr "无法实例化场景!" +#, fuzzy +msgid "Insert Animation Key" +msgstr "粘贴动画" #: tools/editor/plugins/spatial_editor_plugin.cpp -msgid "Scale Mode (R)" -msgstr "缩放模式(R)" +#, fuzzy +msgid "Focus Selection" +msgstr "缩放选中项" + +#: tools/editor/plugins/spatial_editor_plugin.cpp +#, fuzzy +msgid "Align Selection With View" +msgstr "所有选项" #: tools/editor/plugins/spatial_editor_plugin.cpp msgid "Transform" @@ -5263,6 +5375,17 @@ msgid "Couldn't create engine.cfg in project path." msgstr "无法在项目目录下创建engine.cfg文件。" #: tools/editor/project_manager.cpp +#, fuzzy +msgid "The following files failed extraction from package:" +msgstr "" +"磁盘中的下列文件已更新。\n" +"请选择执行那项操作?:" + +#: tools/editor/project_manager.cpp +msgid "Package Installed Successfully!" +msgstr "" + +#: tools/editor/project_manager.cpp msgid "Import Existing Project" msgstr "导入现有项目" @@ -5283,6 +5406,16 @@ msgid "Project Path:" msgstr "项目目录" #: tools/editor/project_manager.cpp +#, fuzzy +msgid "Install Project:" +msgstr "最近打开的项目:" + +#: tools/editor/project_manager.cpp +#, fuzzy +msgid "Install" +msgstr "创建实例节点" + +#: tools/editor/project_manager.cpp msgid "Browse" msgstr "浏览" @@ -5447,50 +5580,6 @@ msgid "Add Translation" msgstr "添加语言" #: tools/editor/project_settings.cpp -msgid "Invalid name." -msgstr "名称非法:" - -#: tools/editor/project_settings.cpp -msgid "Valid characters:" -msgstr "字符合法:" - -#: tools/editor/project_settings.cpp -msgid "Invalid name. Must not collide with an existing engine class name." -msgstr "名称非法,与引擎内置类型名称冲突。" - -#: tools/editor/project_settings.cpp -msgid "Invalid name. Must not collide with an existing buit-in type name." -msgstr "名称非法,与引擎内置类型名称冲突。" - -#: tools/editor/project_settings.cpp -msgid "Invalid name. Must not collide with an existing global constant name." -msgstr "名称非法,与已存在的全局常量名称冲突。" - -#: tools/editor/project_settings.cpp -msgid "Autoload '%s' already exists!" -msgstr "Autoload %s已存在!" - -#: tools/editor/project_settings.cpp -msgid "Rename Autoload" -msgstr "移除Autoload" - -#: tools/editor/project_settings.cpp -msgid "Toggle AutoLoad Globals" -msgstr "切换全局AutoLoad" - -#: tools/editor/project_settings.cpp -msgid "Add Autoload" -msgstr "添加Autoload" - -#: tools/editor/project_settings.cpp -msgid "Remove Autoload" -msgstr "移除Autoload" - -#: tools/editor/project_settings.cpp -msgid "Move Autoload" -msgstr "移动Autoload" - -#: tools/editor/project_settings.cpp msgid "Remove Translation" msgstr "移除语言" @@ -5515,10 +5604,6 @@ msgid "Remove Resource Remap Option" msgstr "移除资源重定向选项" #: tools/editor/project_settings.cpp -msgid "Enable" -msgstr "启用" - -#: tools/editor/project_settings.cpp msgid "Project Settings (engine.cfg)" msgstr "项目设置(engine.cfg)" @@ -5591,18 +5676,6 @@ msgid "AutoLoad" msgstr "AutoLoad" #: tools/editor/project_settings.cpp -msgid "Node Name:" -msgstr "节点名称:" - -#: tools/editor/project_settings.cpp -msgid "List:" -msgstr "列表:" - -#: tools/editor/project_settings.cpp -msgid "Singleton" -msgstr "单例" - -#: tools/editor/project_settings.cpp msgid "Plugins" msgstr "插件" @@ -6007,6 +6080,10 @@ msgid "Show In File Manager" msgstr "在资源管理器中打开" #: tools/editor/scenes_dock.cpp +msgid "Re-Import.." +msgstr "重新导入.." + +#: tools/editor/scenes_dock.cpp msgid "Previous Directory" msgstr "上一个目录:" @@ -6266,6 +6343,21 @@ msgstr "" msgid "Change Notifier Extents" msgstr "" +#~ msgid "Imported Resources" +#~ msgstr "已导入的资源" + +#~ msgid "Insert Keys (Ins)" +#~ msgstr "插入关键帧( 创建轨道)" + +#~ msgid "Perspective (Num5)" +#~ msgstr "透视(Num5)" + +#~ msgid "Orthogonal (Num5)" +#~ msgstr "正交(Num5)" + +#~ msgid "Selection (F)" +#~ msgstr "选中项(F)" + #, fuzzy #~ msgid "Change Anim Loop Interpolation" #~ msgstr "修改动画循环" @@ -6324,9 +6416,6 @@ msgstr "" #~ msgid "Set region_rect" #~ msgstr "设置纹理区域" -#~ msgid "Recent Projects:" -#~ msgstr "最近打开的项目:" - #~ msgid "Plugin List:" #~ msgstr "插件列表" diff --git a/tools/translations/zh_HK.po b/tools/translations/zh_HK.po index e675cf53eb..8f98ab1f1e 100644 --- a/tools/translations/zh_HK.po +++ b/tools/translations/zh_HK.po @@ -280,9 +280,10 @@ msgstr "儲存檔案" msgid "Create Folder" msgstr "新增資料夾" -#: scene/gui/file_dialog.cpp tools/editor/editor_file_dialog.cpp +#: scene/gui/file_dialog.cpp tools/editor/editor_autoload_settings.cpp +#: tools/editor/editor_file_dialog.cpp #: tools/editor/io_plugins/editor_font_import_plugin.cpp -#: tools/editor/project_settings.cpp tools/editor/script_create_dialog.cpp +#: tools/editor/script_create_dialog.cpp msgid "Path:" msgstr "路徑" @@ -475,19 +476,19 @@ msgid "Anim Add Track" msgstr "" #: tools/editor/animation_editor.cpp -msgid "Move Anim Track Up" +msgid "Anim Duplicate Keys" msgstr "" #: tools/editor/animation_editor.cpp -msgid "Move Anim Track Down" +msgid "Move Anim Track Up" msgstr "" #: tools/editor/animation_editor.cpp -msgid "Remove Anim Track" +msgid "Move Anim Track Down" msgstr "" #: tools/editor/animation_editor.cpp -msgid "Anim Duplicate Keys" +msgid "Remove Anim Track" msgstr "" #: tools/editor/animation_editor.cpp @@ -519,6 +520,20 @@ msgid "Anim Delete Keys" msgstr "" #: tools/editor/animation_editor.cpp +#: tools/editor/plugins/tile_map_editor_plugin.cpp +msgid "Duplicate Selection" +msgstr "" + +#: tools/editor/animation_editor.cpp +msgid "Duplicate Transposed" +msgstr "" + +#: tools/editor/animation_editor.cpp +#, fuzzy +msgid "Remove Selection" +msgstr "只限選中" + +#: tools/editor/animation_editor.cpp msgid "Continuous" msgstr "" @@ -548,15 +563,6 @@ msgid "Scale From Cursor" msgstr "" #: tools/editor/animation_editor.cpp -#: tools/editor/plugins/tile_map_editor_plugin.cpp -msgid "Duplicate Selection" -msgstr "" - -#: tools/editor/animation_editor.cpp -msgid "Duplicate Transposed" -msgstr "" - -#: tools/editor/animation_editor.cpp msgid "Goto Next Step" msgstr "" @@ -828,7 +834,6 @@ msgid "Call" msgstr "" #: tools/editor/call_dialog.cpp tools/editor/connections_dialog.cpp -#: tools/editor/import_settings.cpp #: tools/editor/plugins/animation_player_editor_plugin.cpp #: tools/editor/plugins/canvas_item_editor_plugin.cpp #: tools/editor/plugins/resource_preloader_editor_plugin.cpp @@ -948,7 +953,8 @@ msgstr "" msgid "Connect To Node:" msgstr "連到" -#: tools/editor/connections_dialog.cpp tools/editor/groups_editor.cpp +#: tools/editor/connections_dialog.cpp +#: tools/editor/editor_autoload_settings.cpp tools/editor/groups_editor.cpp #: tools/editor/plugins/item_list_editor_plugin.cpp #: tools/editor/plugins/theme_editor_plugin.cpp #: tools/editor/project_settings.cpp @@ -1053,8 +1059,8 @@ msgstr "" msgid "Resource" msgstr "資源" -#: tools/editor/dependency_editor.cpp tools/editor/project_manager.cpp -#: tools/editor/project_settings.cpp +#: tools/editor/dependency_editor.cpp tools/editor/editor_autoload_settings.cpp +#: tools/editor/project_manager.cpp tools/editor/project_settings.cpp msgid "Path" msgstr "路徑" @@ -1139,6 +1145,91 @@ msgstr "要刪除選中檔案?" msgid "Delete" msgstr "刪除" +#: tools/editor/editor_autoload_settings.cpp +msgid "Invalid name." +msgstr "" + +#: tools/editor/editor_autoload_settings.cpp +msgid "Valid characters:" +msgstr "" + +#: tools/editor/editor_autoload_settings.cpp +msgid "Invalid name. Must not collide with an existing engine class name." +msgstr "" + +#: tools/editor/editor_autoload_settings.cpp +msgid "Invalid name. Must not collide with an existing buit-in type name." +msgstr "" + +#: tools/editor/editor_autoload_settings.cpp +msgid "Invalid name. Must not collide with an existing global constant name." +msgstr "" + +#: tools/editor/editor_autoload_settings.cpp +#, fuzzy +msgid "Invalid Path." +msgstr "有效路徑" + +#: tools/editor/editor_autoload_settings.cpp +#, fuzzy +msgid "File does not exist." +msgstr "檔案已存在" + +#: tools/editor/editor_autoload_settings.cpp +msgid "Not in resource path." +msgstr "" + +#: tools/editor/editor_autoload_settings.cpp +msgid "Add AutoLoad" +msgstr "" + +#: tools/editor/editor_autoload_settings.cpp +msgid "Autoload '%s' already exists!" +msgstr "" + +#: tools/editor/editor_autoload_settings.cpp +msgid "Rename Autoload" +msgstr "" + +#: tools/editor/editor_autoload_settings.cpp +msgid "Toggle AutoLoad Globals" +msgstr "" + +#: tools/editor/editor_autoload_settings.cpp +msgid "Move Autoload" +msgstr "" + +#: tools/editor/editor_autoload_settings.cpp +msgid "Remove Autoload" +msgstr "" + +#: tools/editor/editor_autoload_settings.cpp +msgid "Enable" +msgstr "" + +#: tools/editor/editor_autoload_settings.cpp +msgid "Rearrange Autoloads" +msgstr "" + +#: tools/editor/editor_autoload_settings.cpp +msgid "Node Name:" +msgstr "" + +#: tools/editor/editor_autoload_settings.cpp +#: tools/editor/io_plugins/editor_scene_import_plugin.cpp +#: tools/editor/plugins/sample_library_editor_plugin.cpp +#: tools/editor/project_manager.cpp +msgid "Name" +msgstr "" + +#: tools/editor/editor_autoload_settings.cpp +msgid "Singleton" +msgstr "" + +#: tools/editor/editor_autoload_settings.cpp +msgid "List:" +msgstr "" + #: tools/editor/editor_data.cpp msgid "Updating Scene" msgstr "" @@ -1194,12 +1285,12 @@ msgstr "複製" #: tools/editor/editor_file_dialog.cpp #, fuzzy -msgid "Mode Favorite Up" +msgid "Move Favorite Up" msgstr "上移" #: tools/editor/editor_file_dialog.cpp #, fuzzy -msgid "Mode Favorite Down" +msgid "Move Favorite Down" msgstr "下移" #: tools/editor/editor_file_dialog.cpp tools/editor/scenes_dock.cpp @@ -1222,14 +1313,18 @@ msgstr "無法進入次要資料夾" msgid "ScanSources" msgstr "" -#: tools/editor/editor_help.cpp -msgid "Search Classes" +#: tools/editor/editor_help.cpp tools/editor/plugins/script_editor_plugin.cpp +msgid "Search Help" msgstr "" #: tools/editor/editor_help.cpp msgid "Class List:" msgstr "" +#: tools/editor/editor_help.cpp +msgid "Search Classes" +msgstr "" + #: tools/editor/editor_help.cpp tools/editor/property_editor.cpp msgid "Class:" msgstr "" @@ -1327,10 +1422,6 @@ msgstr "導入中" msgid "Node From Scene" msgstr "" -#: tools/editor/editor_node.cpp tools/editor/scenes_dock.cpp -msgid "Re-Import.." -msgstr "" - #: tools/editor/editor_node.cpp #: tools/editor/plugins/animation_player_editor_plugin.cpp #: tools/editor/resources_dock.cpp @@ -1567,7 +1658,7 @@ msgstr "" #: tools/editor/editor_node.cpp #, fuzzy -msgid "Pick a Manu Scene" +msgid "Pick a Main Scene" msgstr "儲存場景" #: tools/editor/editor_node.cpp tools/editor/scene_tree_dock.cpp @@ -1659,6 +1750,11 @@ msgid "Save Scene" msgstr "儲存場景" #: tools/editor/editor_node.cpp +#, fuzzy +msgid "Save all Scenes" +msgstr "儲存場景" + +#: tools/editor/editor_node.cpp msgid "Close Scene" msgstr "關閉場景" @@ -1785,6 +1881,11 @@ msgid "Play custom scene" msgstr "" #: tools/editor/editor_node.cpp +#, fuzzy +msgid "Play Custom Scene" +msgstr "儲存場景" + +#: tools/editor/editor_node.cpp msgid "Debug options" msgstr "" @@ -1938,7 +2039,6 @@ msgid "Output" msgstr "" #: tools/editor/editor_node.cpp tools/editor/editor_reimport_dialog.cpp -#: tools/editor/import_settings.cpp msgid "Re-Import" msgstr "" @@ -2110,10 +2210,6 @@ msgstr "" msgid "Remove from Group" msgstr "" -#: tools/editor/import_settings.cpp -msgid "Imported Resources" -msgstr "" - #: tools/editor/io_plugins/editor_bitmask_import_plugin.cpp msgid "No bit masks to import!" msgstr "" @@ -2322,12 +2418,6 @@ msgid "Clips" msgstr "" #: tools/editor/io_plugins/editor_scene_import_plugin.cpp -#: tools/editor/plugins/sample_library_editor_plugin.cpp -#: tools/editor/project_manager.cpp tools/editor/project_settings.cpp -msgid "Name" -msgstr "" - -#: tools/editor/io_plugins/editor_scene_import_plugin.cpp msgid "Start(s)" msgstr "" @@ -3288,7 +3378,7 @@ msgid "Anchor" msgstr "" #: tools/editor/plugins/canvas_item_editor_plugin.cpp -msgid "Insert Keys (Ins)" +msgid "Insert Keys" msgstr "" #: tools/editor/plugins/canvas_item_editor_plugin.cpp @@ -3827,6 +3917,7 @@ msgid "Clear UV" msgstr "" #: tools/editor/plugins/polygon_2d_editor_plugin.cpp +#: tools/editor/plugins/spatial_editor_plugin.cpp msgid "Snap" msgstr "" @@ -3942,6 +4033,15 @@ msgid "Save Theme As.." msgstr "" #: tools/editor/plugins/script_editor_plugin.cpp +#, fuzzy +msgid "Next script" +msgstr "下一個" + +#: tools/editor/plugins/script_editor_plugin.cpp +msgid "Previous script" +msgstr "" + +#: tools/editor/plugins/script_editor_plugin.cpp #: tools/editor/project_export.cpp msgid "File" msgstr "檔案" @@ -4127,10 +4227,6 @@ msgid "Search the class hierarchy." msgstr "" #: tools/editor/plugins/script_editor_plugin.cpp -msgid "Search Help" -msgstr "" - -#: tools/editor/plugins/script_editor_plugin.cpp msgid "Search the reference documentation." msgstr "" @@ -4165,6 +4261,11 @@ msgstr "" msgid "Debugger" msgstr "" +#: tools/editor/plugins/script_editor_plugin.cpp +msgid "" +"Built-in scripts can only be edited when the scene they belong to is loaded" +msgstr "" + #: tools/editor/plugins/shader_editor_plugin.cpp msgid "Vertex" msgstr "" @@ -4398,75 +4499,76 @@ msgid "Align with view" msgstr "" #: tools/editor/plugins/spatial_editor_plugin.cpp -msgid "Top (Num7)" +msgid "Environment" msgstr "" #: tools/editor/plugins/spatial_editor_plugin.cpp -msgid "Bottom (Shift+Num7)" +msgid "Audio Listener" msgstr "" #: tools/editor/plugins/spatial_editor_plugin.cpp -msgid "Left (Num3)" +msgid "Gizmos" msgstr "" #: tools/editor/plugins/spatial_editor_plugin.cpp -msgid "Right (Shift+Num3)" +msgid "XForm Dialog" msgstr "" #: tools/editor/plugins/spatial_editor_plugin.cpp -msgid "Front (Num1)" +msgid "No scene selected to instance!" msgstr "" #: tools/editor/plugins/spatial_editor_plugin.cpp -msgid "Rear (Shift+Num1)" +msgid "Instance at Cursor" msgstr "" #: tools/editor/plugins/spatial_editor_plugin.cpp -msgid "Perspective (Num5)" +msgid "Could not instance scene!" msgstr "" #: tools/editor/plugins/spatial_editor_plugin.cpp -msgid "Orthogonal (Num5)" +msgid "Scale Mode (R)" msgstr "" #: tools/editor/plugins/spatial_editor_plugin.cpp -msgid "Environment" +msgid "Bottom View" msgstr "" #: tools/editor/plugins/spatial_editor_plugin.cpp -msgid "Audio Listener" +msgid "Top View" msgstr "" #: tools/editor/plugins/spatial_editor_plugin.cpp -msgid "Gizmos" +msgid "Rear View" msgstr "" #: tools/editor/plugins/spatial_editor_plugin.cpp -msgid "Selection (F)" +msgid "Front View" msgstr "" #: tools/editor/plugins/spatial_editor_plugin.cpp -msgid "Align with view (Ctrl+Shift+F)" +msgid "Left View" msgstr "" #: tools/editor/plugins/spatial_editor_plugin.cpp -msgid "XForm Dialog" +msgid "Right View" msgstr "" #: tools/editor/plugins/spatial_editor_plugin.cpp -msgid "No scene selected to instance!" +msgid "Switch Perspective/Orthogonal view" msgstr "" #: tools/editor/plugins/spatial_editor_plugin.cpp -msgid "Instance at Cursor" +msgid "Insert Animation Key" msgstr "" #: tools/editor/plugins/spatial_editor_plugin.cpp -msgid "Could not instance scene!" -msgstr "" +#, fuzzy +msgid "Focus Selection" +msgstr "只限選中" #: tools/editor/plugins/spatial_editor_plugin.cpp -msgid "Scale Mode (R)" +msgid "Align Selection With View" msgstr "" #: tools/editor/plugins/spatial_editor_plugin.cpp @@ -5188,6 +5290,14 @@ msgid "Couldn't create engine.cfg in project path." msgstr "" #: tools/editor/project_manager.cpp +msgid "The following files failed extraction from package:" +msgstr "" + +#: tools/editor/project_manager.cpp +msgid "Package Installed Successfully!" +msgstr "" + +#: tools/editor/project_manager.cpp msgid "Import Existing Project" msgstr "" @@ -5208,6 +5318,14 @@ msgid "Project Path:" msgstr "" #: tools/editor/project_manager.cpp +msgid "Install Project:" +msgstr "" + +#: tools/editor/project_manager.cpp +msgid "Install" +msgstr "" + +#: tools/editor/project_manager.cpp msgid "Browse" msgstr "瀏覽" @@ -5372,50 +5490,6 @@ msgid "Add Translation" msgstr "" #: tools/editor/project_settings.cpp -msgid "Invalid name." -msgstr "" - -#: tools/editor/project_settings.cpp -msgid "Valid characters:" -msgstr "" - -#: tools/editor/project_settings.cpp -msgid "Invalid name. Must not collide with an existing engine class name." -msgstr "" - -#: tools/editor/project_settings.cpp -msgid "Invalid name. Must not collide with an existing buit-in type name." -msgstr "" - -#: tools/editor/project_settings.cpp -msgid "Invalid name. Must not collide with an existing global constant name." -msgstr "" - -#: tools/editor/project_settings.cpp -msgid "Autoload '%s' already exists!" -msgstr "" - -#: tools/editor/project_settings.cpp -msgid "Rename Autoload" -msgstr "" - -#: tools/editor/project_settings.cpp -msgid "Toggle AutoLoad Globals" -msgstr "" - -#: tools/editor/project_settings.cpp -msgid "Add Autoload" -msgstr "" - -#: tools/editor/project_settings.cpp -msgid "Remove Autoload" -msgstr "" - -#: tools/editor/project_settings.cpp -msgid "Move Autoload" -msgstr "" - -#: tools/editor/project_settings.cpp msgid "Remove Translation" msgstr "" @@ -5440,10 +5514,6 @@ msgid "Remove Resource Remap Option" msgstr "" #: tools/editor/project_settings.cpp -msgid "Enable" -msgstr "" - -#: tools/editor/project_settings.cpp msgid "Project Settings (engine.cfg)" msgstr "" @@ -5516,18 +5586,6 @@ msgid "AutoLoad" msgstr "" #: tools/editor/project_settings.cpp -msgid "Node Name:" -msgstr "" - -#: tools/editor/project_settings.cpp -msgid "List:" -msgstr "" - -#: tools/editor/project_settings.cpp -msgid "Singleton" -msgstr "" - -#: tools/editor/project_settings.cpp msgid "Plugins" msgstr "插件" @@ -5933,6 +5991,10 @@ msgid "Show In File Manager" msgstr "" #: tools/editor/scenes_dock.cpp +msgid "Re-Import.." +msgstr "" + +#: tools/editor/scenes_dock.cpp msgid "Previous Directory" msgstr "" diff --git a/tools/translations/zh_TW.po b/tools/translations/zh_TW.po index f2d1b44987..1119997c22 100644 --- a/tools/translations/zh_TW.po +++ b/tools/translations/zh_TW.po @@ -285,9 +285,10 @@ msgstr "" msgid "Create Folder" msgstr "" -#: scene/gui/file_dialog.cpp tools/editor/editor_file_dialog.cpp +#: scene/gui/file_dialog.cpp tools/editor/editor_autoload_settings.cpp +#: tools/editor/editor_file_dialog.cpp #: tools/editor/io_plugins/editor_font_import_plugin.cpp -#: tools/editor/project_settings.cpp tools/editor/script_create_dialog.cpp +#: tools/editor/script_create_dialog.cpp msgid "Path:" msgstr "" @@ -480,19 +481,19 @@ msgid "Anim Add Track" msgstr "" #: tools/editor/animation_editor.cpp -msgid "Move Anim Track Up" +msgid "Anim Duplicate Keys" msgstr "" #: tools/editor/animation_editor.cpp -msgid "Move Anim Track Down" +msgid "Move Anim Track Up" msgstr "" #: tools/editor/animation_editor.cpp -msgid "Remove Anim Track" +msgid "Move Anim Track Down" msgstr "" #: tools/editor/animation_editor.cpp -msgid "Anim Duplicate Keys" +msgid "Remove Anim Track" msgstr "" #: tools/editor/animation_editor.cpp @@ -524,6 +525,19 @@ msgid "Anim Delete Keys" msgstr "" #: tools/editor/animation_editor.cpp +#: tools/editor/plugins/tile_map_editor_plugin.cpp +msgid "Duplicate Selection" +msgstr "" + +#: tools/editor/animation_editor.cpp +msgid "Duplicate Transposed" +msgstr "" + +#: tools/editor/animation_editor.cpp +msgid "Remove Selection" +msgstr "" + +#: tools/editor/animation_editor.cpp msgid "Continuous" msgstr "" @@ -552,15 +566,6 @@ msgid "Scale From Cursor" msgstr "" #: tools/editor/animation_editor.cpp -#: tools/editor/plugins/tile_map_editor_plugin.cpp -msgid "Duplicate Selection" -msgstr "" - -#: tools/editor/animation_editor.cpp -msgid "Duplicate Transposed" -msgstr "" - -#: tools/editor/animation_editor.cpp msgid "Goto Next Step" msgstr "" @@ -831,7 +836,6 @@ msgid "Call" msgstr "" #: tools/editor/call_dialog.cpp tools/editor/connections_dialog.cpp -#: tools/editor/import_settings.cpp #: tools/editor/plugins/animation_player_editor_plugin.cpp #: tools/editor/plugins/canvas_item_editor_plugin.cpp #: tools/editor/plugins/resource_preloader_editor_plugin.cpp @@ -950,7 +954,8 @@ msgstr "" msgid "Connect To Node:" msgstr "" -#: tools/editor/connections_dialog.cpp tools/editor/groups_editor.cpp +#: tools/editor/connections_dialog.cpp +#: tools/editor/editor_autoload_settings.cpp tools/editor/groups_editor.cpp #: tools/editor/plugins/item_list_editor_plugin.cpp #: tools/editor/plugins/theme_editor_plugin.cpp #: tools/editor/project_settings.cpp @@ -1054,8 +1059,8 @@ msgstr "" msgid "Resource" msgstr "" -#: tools/editor/dependency_editor.cpp tools/editor/project_manager.cpp -#: tools/editor/project_settings.cpp +#: tools/editor/dependency_editor.cpp tools/editor/editor_autoload_settings.cpp +#: tools/editor/project_manager.cpp tools/editor/project_settings.cpp msgid "Path" msgstr "" @@ -1140,6 +1145,89 @@ msgstr "" msgid "Delete" msgstr "" +#: tools/editor/editor_autoload_settings.cpp +msgid "Invalid name." +msgstr "" + +#: tools/editor/editor_autoload_settings.cpp +msgid "Valid characters:" +msgstr "" + +#: tools/editor/editor_autoload_settings.cpp +msgid "Invalid name. Must not collide with an existing engine class name." +msgstr "" + +#: tools/editor/editor_autoload_settings.cpp +msgid "Invalid name. Must not collide with an existing buit-in type name." +msgstr "" + +#: tools/editor/editor_autoload_settings.cpp +msgid "Invalid name. Must not collide with an existing global constant name." +msgstr "" + +#: tools/editor/editor_autoload_settings.cpp +msgid "Invalid Path." +msgstr "" + +#: tools/editor/editor_autoload_settings.cpp +msgid "File does not exist." +msgstr "" + +#: tools/editor/editor_autoload_settings.cpp +msgid "Not in resource path." +msgstr "" + +#: tools/editor/editor_autoload_settings.cpp +msgid "Add AutoLoad" +msgstr "" + +#: tools/editor/editor_autoload_settings.cpp +msgid "Autoload '%s' already exists!" +msgstr "" + +#: tools/editor/editor_autoload_settings.cpp +msgid "Rename Autoload" +msgstr "" + +#: tools/editor/editor_autoload_settings.cpp +msgid "Toggle AutoLoad Globals" +msgstr "" + +#: tools/editor/editor_autoload_settings.cpp +msgid "Move Autoload" +msgstr "" + +#: tools/editor/editor_autoload_settings.cpp +msgid "Remove Autoload" +msgstr "" + +#: tools/editor/editor_autoload_settings.cpp +msgid "Enable" +msgstr "" + +#: tools/editor/editor_autoload_settings.cpp +msgid "Rearrange Autoloads" +msgstr "" + +#: tools/editor/editor_autoload_settings.cpp +msgid "Node Name:" +msgstr "" + +#: tools/editor/editor_autoload_settings.cpp +#: tools/editor/io_plugins/editor_scene_import_plugin.cpp +#: tools/editor/plugins/sample_library_editor_plugin.cpp +#: tools/editor/project_manager.cpp +msgid "Name" +msgstr "" + +#: tools/editor/editor_autoload_settings.cpp +msgid "Singleton" +msgstr "" + +#: tools/editor/editor_autoload_settings.cpp +msgid "List:" +msgstr "" + #: tools/editor/editor_data.cpp msgid "Updating Scene" msgstr "" @@ -1193,11 +1281,11 @@ msgid "Focus Path" msgstr "" #: tools/editor/editor_file_dialog.cpp -msgid "Mode Favorite Up" +msgid "Move Favorite Up" msgstr "" #: tools/editor/editor_file_dialog.cpp -msgid "Mode Favorite Down" +msgid "Move Favorite Down" msgstr "" #: tools/editor/editor_file_dialog.cpp tools/editor/scenes_dock.cpp @@ -1220,14 +1308,18 @@ msgstr "" msgid "ScanSources" msgstr "" -#: tools/editor/editor_help.cpp -msgid "Search Classes" +#: tools/editor/editor_help.cpp tools/editor/plugins/script_editor_plugin.cpp +msgid "Search Help" msgstr "" #: tools/editor/editor_help.cpp msgid "Class List:" msgstr "" +#: tools/editor/editor_help.cpp +msgid "Search Classes" +msgstr "" + #: tools/editor/editor_help.cpp tools/editor/property_editor.cpp msgid "Class:" msgstr "" @@ -1325,10 +1417,6 @@ msgstr "" msgid "Node From Scene" msgstr "" -#: tools/editor/editor_node.cpp tools/editor/scenes_dock.cpp -msgid "Re-Import.." -msgstr "" - #: tools/editor/editor_node.cpp #: tools/editor/plugins/animation_player_editor_plugin.cpp #: tools/editor/resources_dock.cpp @@ -1563,7 +1651,7 @@ msgid "" msgstr "" #: tools/editor/editor_node.cpp -msgid "Pick a Manu Scene" +msgid "Pick a Main Scene" msgstr "" #: tools/editor/editor_node.cpp tools/editor/scene_tree_dock.cpp @@ -1654,6 +1742,10 @@ msgid "Save Scene" msgstr "" #: tools/editor/editor_node.cpp +msgid "Save all Scenes" +msgstr "" + +#: tools/editor/editor_node.cpp msgid "Close Scene" msgstr "" @@ -1777,6 +1869,10 @@ msgid "Play custom scene" msgstr "" #: tools/editor/editor_node.cpp +msgid "Play Custom Scene" +msgstr "" + +#: tools/editor/editor_node.cpp msgid "Debug options" msgstr "" @@ -1929,7 +2025,6 @@ msgid "Output" msgstr "" #: tools/editor/editor_node.cpp tools/editor/editor_reimport_dialog.cpp -#: tools/editor/import_settings.cpp msgid "Re-Import" msgstr "" @@ -2101,10 +2196,6 @@ msgstr "" msgid "Remove from Group" msgstr "" -#: tools/editor/import_settings.cpp -msgid "Imported Resources" -msgstr "" - #: tools/editor/io_plugins/editor_bitmask_import_plugin.cpp msgid "No bit masks to import!" msgstr "" @@ -2313,12 +2404,6 @@ msgid "Clips" msgstr "" #: tools/editor/io_plugins/editor_scene_import_plugin.cpp -#: tools/editor/plugins/sample_library_editor_plugin.cpp -#: tools/editor/project_manager.cpp tools/editor/project_settings.cpp -msgid "Name" -msgstr "" - -#: tools/editor/io_plugins/editor_scene_import_plugin.cpp msgid "Start(s)" msgstr "" @@ -3278,7 +3363,7 @@ msgid "Anchor" msgstr "" #: tools/editor/plugins/canvas_item_editor_plugin.cpp -msgid "Insert Keys (Ins)" +msgid "Insert Keys" msgstr "" #: tools/editor/plugins/canvas_item_editor_plugin.cpp @@ -3817,6 +3902,7 @@ msgid "Clear UV" msgstr "" #: tools/editor/plugins/polygon_2d_editor_plugin.cpp +#: tools/editor/plugins/spatial_editor_plugin.cpp msgid "Snap" msgstr "" @@ -3932,6 +4018,14 @@ msgid "Save Theme As.." msgstr "" #: tools/editor/plugins/script_editor_plugin.cpp +msgid "Next script" +msgstr "" + +#: tools/editor/plugins/script_editor_plugin.cpp +msgid "Previous script" +msgstr "" + +#: tools/editor/plugins/script_editor_plugin.cpp #: tools/editor/project_export.cpp msgid "File" msgstr "" @@ -4117,10 +4211,6 @@ msgid "Search the class hierarchy." msgstr "" #: tools/editor/plugins/script_editor_plugin.cpp -msgid "Search Help" -msgstr "" - -#: tools/editor/plugins/script_editor_plugin.cpp msgid "Search the reference documentation." msgstr "" @@ -4155,6 +4245,11 @@ msgstr "" msgid "Debugger" msgstr "" +#: tools/editor/plugins/script_editor_plugin.cpp +msgid "" +"Built-in scripts can only be edited when the scene they belong to is loaded" +msgstr "" + #: tools/editor/plugins/shader_editor_plugin.cpp msgid "Vertex" msgstr "" @@ -4388,75 +4483,75 @@ msgid "Align with view" msgstr "" #: tools/editor/plugins/spatial_editor_plugin.cpp -msgid "Top (Num7)" +msgid "Environment" msgstr "" #: tools/editor/plugins/spatial_editor_plugin.cpp -msgid "Bottom (Shift+Num7)" +msgid "Audio Listener" msgstr "" #: tools/editor/plugins/spatial_editor_plugin.cpp -msgid "Left (Num3)" +msgid "Gizmos" msgstr "" #: tools/editor/plugins/spatial_editor_plugin.cpp -msgid "Right (Shift+Num3)" +msgid "XForm Dialog" msgstr "" #: tools/editor/plugins/spatial_editor_plugin.cpp -msgid "Front (Num1)" +msgid "No scene selected to instance!" msgstr "" #: tools/editor/plugins/spatial_editor_plugin.cpp -msgid "Rear (Shift+Num1)" +msgid "Instance at Cursor" msgstr "" #: tools/editor/plugins/spatial_editor_plugin.cpp -msgid "Perspective (Num5)" +msgid "Could not instance scene!" msgstr "" #: tools/editor/plugins/spatial_editor_plugin.cpp -msgid "Orthogonal (Num5)" +msgid "Scale Mode (R)" msgstr "" #: tools/editor/plugins/spatial_editor_plugin.cpp -msgid "Environment" +msgid "Bottom View" msgstr "" #: tools/editor/plugins/spatial_editor_plugin.cpp -msgid "Audio Listener" +msgid "Top View" msgstr "" #: tools/editor/plugins/spatial_editor_plugin.cpp -msgid "Gizmos" +msgid "Rear View" msgstr "" #: tools/editor/plugins/spatial_editor_plugin.cpp -msgid "Selection (F)" +msgid "Front View" msgstr "" #: tools/editor/plugins/spatial_editor_plugin.cpp -msgid "Align with view (Ctrl+Shift+F)" +msgid "Left View" msgstr "" #: tools/editor/plugins/spatial_editor_plugin.cpp -msgid "XForm Dialog" +msgid "Right View" msgstr "" #: tools/editor/plugins/spatial_editor_plugin.cpp -msgid "No scene selected to instance!" +msgid "Switch Perspective/Orthogonal view" msgstr "" #: tools/editor/plugins/spatial_editor_plugin.cpp -msgid "Instance at Cursor" +msgid "Insert Animation Key" msgstr "" #: tools/editor/plugins/spatial_editor_plugin.cpp -msgid "Could not instance scene!" +msgid "Focus Selection" msgstr "" #: tools/editor/plugins/spatial_editor_plugin.cpp -msgid "Scale Mode (R)" +msgid "Align Selection With View" msgstr "" #: tools/editor/plugins/spatial_editor_plugin.cpp @@ -5178,6 +5273,14 @@ msgid "Couldn't create engine.cfg in project path." msgstr "" #: tools/editor/project_manager.cpp +msgid "The following files failed extraction from package:" +msgstr "" + +#: tools/editor/project_manager.cpp +msgid "Package Installed Successfully!" +msgstr "" + +#: tools/editor/project_manager.cpp msgid "Import Existing Project" msgstr "" @@ -5198,6 +5301,14 @@ msgid "Project Path:" msgstr "" #: tools/editor/project_manager.cpp +msgid "Install Project:" +msgstr "" + +#: tools/editor/project_manager.cpp +msgid "Install" +msgstr "" + +#: tools/editor/project_manager.cpp msgid "Browse" msgstr "" @@ -5362,50 +5473,6 @@ msgid "Add Translation" msgstr "" #: tools/editor/project_settings.cpp -msgid "Invalid name." -msgstr "" - -#: tools/editor/project_settings.cpp -msgid "Valid characters:" -msgstr "" - -#: tools/editor/project_settings.cpp -msgid "Invalid name. Must not collide with an existing engine class name." -msgstr "" - -#: tools/editor/project_settings.cpp -msgid "Invalid name. Must not collide with an existing buit-in type name." -msgstr "" - -#: tools/editor/project_settings.cpp -msgid "Invalid name. Must not collide with an existing global constant name." -msgstr "" - -#: tools/editor/project_settings.cpp -msgid "Autoload '%s' already exists!" -msgstr "" - -#: tools/editor/project_settings.cpp -msgid "Rename Autoload" -msgstr "" - -#: tools/editor/project_settings.cpp -msgid "Toggle AutoLoad Globals" -msgstr "" - -#: tools/editor/project_settings.cpp -msgid "Add Autoload" -msgstr "" - -#: tools/editor/project_settings.cpp -msgid "Remove Autoload" -msgstr "" - -#: tools/editor/project_settings.cpp -msgid "Move Autoload" -msgstr "" - -#: tools/editor/project_settings.cpp msgid "Remove Translation" msgstr "" @@ -5430,10 +5497,6 @@ msgid "Remove Resource Remap Option" msgstr "" #: tools/editor/project_settings.cpp -msgid "Enable" -msgstr "" - -#: tools/editor/project_settings.cpp msgid "Project Settings (engine.cfg)" msgstr "" @@ -5506,18 +5569,6 @@ msgid "AutoLoad" msgstr "" #: tools/editor/project_settings.cpp -msgid "Node Name:" -msgstr "" - -#: tools/editor/project_settings.cpp -msgid "List:" -msgstr "" - -#: tools/editor/project_settings.cpp -msgid "Singleton" -msgstr "" - -#: tools/editor/project_settings.cpp msgid "Plugins" msgstr "" @@ -5922,6 +5973,10 @@ msgid "Show In File Manager" msgstr "" #: tools/editor/scenes_dock.cpp +msgid "Re-Import.." +msgstr "" + +#: tools/editor/scenes_dock.cpp msgid "Previous Directory" msgstr "" |