summaryrefslogtreecommitdiff
path: root/tools
diff options
context:
space:
mode:
Diffstat (limited to 'tools')
-rw-r--r--tools/collada/collada.cpp7
-rw-r--r--tools/doc/doc_data.cpp24
-rw-r--r--tools/editor/animation_editor.cpp362
-rw-r--r--tools/editor/animation_editor.h9
-rw-r--r--tools/editor/asset_library_editor_plugin.cpp29
-rw-r--r--tools/editor/asset_library_editor_plugin.h5
-rw-r--r--tools/editor/code_editor.cpp62
-rw-r--r--tools/editor/code_editor.h3
-rw-r--r--tools/editor/connections_dialog.cpp1
-rw-r--r--tools/editor/create_dialog.cpp20
-rw-r--r--tools/editor/dependency_editor.cpp4
-rw-r--r--tools/editor/editor_asset_installer.cpp6
-rw-r--r--tools/editor/editor_autoload_settings.cpp616
-rw-r--r--tools/editor/editor_autoload_settings.h (renamed from tools/editor/import_settings.h)88
-rw-r--r--tools/editor/editor_data.cpp38
-rw-r--r--tools/editor/editor_data.h7
-rw-r--r--tools/editor/editor_help.cpp3
-rw-r--r--tools/editor/editor_node.cpp119
-rw-r--r--tools/editor/editor_node.h14
-rw-r--r--tools/editor/editor_path.cpp1
-rw-r--r--tools/editor/editor_resource_preview.cpp136
-rw-r--r--tools/editor/editor_resource_preview.h2
-rw-r--r--tools/editor/editor_run_native.cpp4
-rw-r--r--tools/editor/editor_settings.cpp8
-rw-r--r--tools/editor/filesystem_dock.cpp (renamed from tools/editor/scenes_dock.cpp)183
-rw-r--r--tools/editor/filesystem_dock.h (renamed from tools/editor/scenes_dock.h)12
-rw-r--r--tools/editor/groups_editor.cpp30
-rw-r--r--tools/editor/icons/SCsub2
-rw-r--r--tools/editor/import_settings.cpp301
-rw-r--r--tools/editor/io_plugins/editor_atlas.cpp6
-rw-r--r--tools/editor/io_plugins/editor_import_collada.cpp7
-rw-r--r--tools/editor/io_plugins/editor_mesh_import_plugin.cpp2
-rw-r--r--tools/editor/io_plugins/editor_scene_import_plugin.cpp12
-rw-r--r--tools/editor/io_plugins/editor_texture_import_plugin.cpp6
-rw-r--r--tools/editor/io_plugins/editor_translation_import_plugin.cpp2
-rw-r--r--tools/editor/output_strings.cpp1
-rw-r--r--tools/editor/plugins/animation_player_editor_plugin.cpp1
-rw-r--r--tools/editor/plugins/animation_tree_editor_plugin.cpp2
-rw-r--r--tools/editor/plugins/baked_light_baker.cpp11
-rw-r--r--tools/editor/plugins/canvas_item_editor_plugin.cpp48
-rw-r--r--tools/editor/plugins/collision_polygon_2d_editor_plugin.cpp2
-rw-r--r--tools/editor/plugins/collision_polygon_editor_plugin.cpp4
-rw-r--r--tools/editor/plugins/editor_preview_plugins.cpp12
-rw-r--r--tools/editor/plugins/light_occluder_2d_editor_plugin.cpp2
-rw-r--r--tools/editor/plugins/navigation_polygon_editor_plugin.cpp2
-rw-r--r--tools/editor/plugins/particles_editor_plugin.cpp1
-rw-r--r--tools/editor/plugins/polygon_2d_editor_plugin.cpp2
-rw-r--r--tools/editor/plugins/sample_editor_plugin.cpp10
-rw-r--r--tools/editor/plugins/script_editor_plugin.cpp164
-rw-r--r--tools/editor/plugins/script_editor_plugin.h8
-rw-r--r--tools/editor/plugins/shader_editor_plugin.cpp11
-rw-r--r--tools/editor/plugins/shader_graph_editor_plugin.cpp3
-rw-r--r--tools/editor/plugins/spatial_editor_plugin.cpp86
-rw-r--r--tools/editor/plugins/tile_map_editor_plugin.cpp18
-rw-r--r--tools/editor/plugins/tile_set_editor_plugin.cpp22
-rw-r--r--tools/editor/project_export.cpp1
-rw-r--r--tools/editor/project_manager.cpp228
-rw-r--r--tools/editor/project_manager.h2
-rw-r--r--tools/editor/project_settings.cpp429
-rw-r--r--tools/editor/project_settings.h19
-rw-r--r--tools/editor/property_editor.cpp43
-rw-r--r--tools/editor/quick_open.cpp38
-rw-r--r--tools/editor/quick_open.h1
-rw-r--r--tools/editor/scene_tree_dock.cpp50
-rw-r--r--tools/editor/scene_tree_editor.cpp28
-rw-r--r--tools/editor/script_editor_debugger.cpp4
-rw-r--r--tools/editor/settings_config_dialog.cpp15
-rw-r--r--tools/editor/settings_config_dialog.h1
-rw-r--r--tools/editor/spatial_editor_gizmos.cpp83
-rw-r--r--tools/editor_fonts/LICENSE.DroidSans.txt13
-rw-r--r--tools/editor_fonts/LICENSE.SourceCodePro.txt94
-rw-r--r--tools/export/blender25/godot_export_manager.py472
-rw-r--r--tools/export/blender25/install.txt11
-rw-r--r--tools/export/blender25/io_scene_dae/__init__.py193
-rw-r--r--tools/export/blender25/io_scene_dae/export_dae.py1724
-rw-r--r--tools/translations/ar.po299
-rw-r--r--tools/translations/bg.po300
-rw-r--r--tools/translations/bn.po6231
-rw-r--r--tools/translations/cs.po299
-rw-r--r--tools/translations/de.po347
-rw-r--r--tools/translations/de_CH.po385
-rw-r--r--tools/translations/es.po612
-rw-r--r--tools/translations/es_AR.po502
-rw-r--r--tools/translations/fr.po602
-rw-r--r--tools/translations/it.po506
-rw-r--r--tools/translations/ja.po300
-rw-r--r--tools/translations/ko.po492
-rw-r--r--tools/translations/pt_BR.po493
-rw-r--r--tools/translations/ru.po512
-rw-r--r--tools/translations/sk.po308
-rw-r--r--tools/translations/tools.pot295
-rw-r--r--tools/translations/ur_PK.po6240
-rw-r--r--tools/translations/zh_CN.po371
-rw-r--r--tools/translations/zh_HK.po308
-rw-r--r--tools/translations/zh_TW.po299
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 ""