diff options
Diffstat (limited to 'tools')
26 files changed, 827 insertions, 461 deletions
diff --git a/tools/editor/connections_dialog.cpp b/tools/editor/connections_dialog.cpp index 8847654ad7..faaae4360b 100644 --- a/tools/editor/connections_dialog.cpp +++ b/tools/editor/connections_dialog.cpp @@ -309,7 +309,7 @@ ConnectDialog::ConnectDialog() { tree = memnew(SceneTreeEditor(false)); - vbc_left->add_margin_child(TTR("Conect To Node:"),tree,true); + vbc_left->add_margin_child(TTR("Connect To Node:"),tree,true); diff --git a/tools/editor/editor_file_dialog.cpp b/tools/editor/editor_file_dialog.cpp index 5afc4a7192..97feaa80a5 100644 --- a/tools/editor/editor_file_dialog.cpp +++ b/tools/editor/editor_file_dialog.cpp @@ -380,7 +380,7 @@ void EditorFileDialog::_action_pressed() { } - if (dir_access->file_exists(f)) { + if (dir_access->file_exists(f) && !disable_overwrite_warning) { confirm_save->set_text(TTR("File Exists, Overwrite?")); confirm_save->popup_centered(Size2(200,80)); } else { @@ -1162,6 +1162,8 @@ void EditorFileDialog::_bind_methods() { ObjectTypeDB::bind_method(_MD("set_display_mode","mode"),&EditorFileDialog::set_display_mode); ObjectTypeDB::bind_method(_MD("get_display_mode"),&EditorFileDialog::get_display_mode); ObjectTypeDB::bind_method(_MD("_thumbnail_result"),&EditorFileDialog::_thumbnail_result); + ObjectTypeDB::bind_method(_MD("set_disable_overwrite_warning","disable"),&EditorFileDialog::set_disable_overwrite_warning); + ObjectTypeDB::bind_method(_MD("is_overwrite_warning_disabled"),&EditorFileDialog::is_overwrite_warning_disabled); ObjectTypeDB::bind_method(_MD("_recent_selected"),&EditorFileDialog::_recent_selected); ObjectTypeDB::bind_method(_MD("_go_back"),&EditorFileDialog::_go_back); @@ -1235,12 +1237,23 @@ void EditorFileDialog::_save_to_recent() { } +void EditorFileDialog::set_disable_overwrite_warning(bool p_disable) { + + disable_overwrite_warning=p_disable; +} + +bool EditorFileDialog::is_overwrite_warning_disabled() const{ + + return disable_overwrite_warning; +} + + EditorFileDialog::EditorFileDialog() { show_hidden_files=default_show_hidden_files; display_mode=default_display_mode; local_history_pos=0; - + disable_overwrite_warning=false; VBoxContainer *vbc = memnew( VBoxContainer ); add_child(vbc); set_child_rect(vbc); @@ -1466,4 +1479,5 @@ EditorLineEditFileChooser::EditorLineEditFileChooser() { dialog->connect("dir_selected",this,"_chosen"); dialog->connect("files_selected",this,"_chosen"); + } diff --git a/tools/editor/editor_file_dialog.h b/tools/editor/editor_file_dialog.h index 5de33e2597..14683856c0 100644 --- a/tools/editor/editor_file_dialog.h +++ b/tools/editor/editor_file_dialog.h @@ -130,6 +130,7 @@ private: bool show_hidden_files; DisplayMode display_mode; + bool disable_overwrite_warning; bool invalidated; void update_dir(); @@ -216,6 +217,9 @@ public: void invalidate(); + void set_disable_overwrite_warning(bool p_disable); + bool is_overwrite_warning_disabled() const; + EditorFileDialog(); ~EditorFileDialog(); diff --git a/tools/editor/editor_node.cpp b/tools/editor/editor_node.cpp index dd50b720f7..5a3e3069e4 100644 --- a/tools/editor/editor_node.cpp +++ b/tools/editor/editor_node.cpp @@ -205,6 +205,18 @@ void EditorNode::_unhandled_input(const InputEvent& p_event) { case KEY_F6: _menu_option_confirm(RUN_PLAY_SCENE,true); break; //case KEY_F7: _menu_option_confirm(RUN_PAUSE,true); break; case KEY_F8: _menu_option_confirm(RUN_STOP,true); break;*/ + case KEY_TAB: + if (p_event.key.mod.command) { + int current_tab = editor_data.get_edited_scene(); + int tab_offset = 1; + if (p_event.key.mod.shift) + tab_offset = -1; + int next_tab = current_tab + tab_offset; + next_tab = next_tab >= 0 ? next_tab : editor_data.get_edited_scene_count() - 1; + next_tab %= editor_data.get_edited_scene_count(); + _scene_tab_changed(next_tab); + } + break; } } @@ -4606,9 +4618,9 @@ void EditorNode::_update_layouts_menu() { editor_layouts->set_size(Vector2()); editor_layouts->add_shortcut(ED_SHORTCUT("layout/save",TTR("Save Layout")), SETTINGS_LAYOUT_SAVE); - editor_layouts->add_shortcut(ED_SHORTCUT("layout/load",TTR("Load Layout")), SETTINGS_LAYOUT_DELETE); + editor_layouts->add_shortcut(ED_SHORTCUT("layout/delete",TTR("Delete Layout")), SETTINGS_LAYOUT_DELETE); editor_layouts->add_separator(); - editor_layouts->add_shortcut(ED_SHORTCUT("property_editor/reset",TTR("Default")), SETTINGS_LAYOUT_DEFAULT); + editor_layouts->add_shortcut(ED_SHORTCUT("layout/default",TTR("Default")), SETTINGS_LAYOUT_DEFAULT); Ref<ConfigFile> config; config.instance(); diff --git a/tools/editor/icons/2x/icon_loop_interpolation.png b/tools/editor/icons/2x/icon_loop_interpolation.png Binary files differnew file mode 100644 index 0000000000..6009b50300 --- /dev/null +++ b/tools/editor/icons/2x/icon_loop_interpolation.png diff --git a/tools/editor/icons/2x/icon_track_trigger.png b/tools/editor/icons/2x/icon_track_trigger.png Binary files differnew file mode 100644 index 0000000000..c04d47f9a4 --- /dev/null +++ b/tools/editor/icons/2x/icon_track_trigger.png diff --git a/tools/editor/icons/icon_loop_interpolation.png b/tools/editor/icons/icon_loop_interpolation.png Binary files differindex 2f92ab7bf3..488b33316e 100644 --- a/tools/editor/icons/icon_loop_interpolation.png +++ b/tools/editor/icons/icon_loop_interpolation.png diff --git a/tools/editor/icons/icon_track_trigger.png b/tools/editor/icons/icon_track_trigger.png Binary files differnew file mode 100644 index 0000000000..e89f95561a --- /dev/null +++ b/tools/editor/icons/icon_track_trigger.png diff --git a/tools/editor/icons/source/icon_loop_interpolation.svg b/tools/editor/icons/source/icon_loop_interpolation.svg new file mode 100644 index 0000000000..3733acb253 --- /dev/null +++ b/tools/editor/icons/source/icon_loop_interpolation.svg @@ -0,0 +1,111 @@ +<?xml version="1.0" encoding="UTF-8" standalone="no"?> +<!-- Created with Inkscape (http://www.inkscape.org/) --> + +<svg + xmlns:dc="http://purl.org/dc/elements/1.1/" + xmlns:cc="http://creativecommons.org/ns#" + xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" + xmlns:svg="http://www.w3.org/2000/svg" + xmlns="http://www.w3.org/2000/svg" + xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd" + xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape" + width="16" + height="16" + viewBox="0 0 16 16" + id="svg2" + version="1.1" + inkscape:version="0.91 r13725" + inkscape:export-filename="/home/djrm/Projects/godot/tools/editor/icons/icon_loop_interpolation.png" + inkscape:export-xdpi="90" + inkscape:export-ydpi="90" + sodipodi:docname="icon_loop_interpolation.svg"> + <defs + id="defs4" /> + <sodipodi:namedview + id="base" + pagecolor="#ffffff" + bordercolor="#666666" + borderopacity="1.0" + inkscape:pageopacity="0.0" + inkscape:pageshadow="2" + inkscape:zoom="32" + inkscape:cx="3.8522581" + inkscape:cy="6.9411054" + inkscape:document-units="px" + inkscape:current-layer="layer1" + showgrid="true" + units="px" + inkscape:snap-bbox="true" + inkscape:bbox-paths="true" + inkscape:bbox-nodes="true" + inkscape:snap-bbox-edge-midpoints="true" + inkscape:snap-bbox-midpoints="false" + inkscape:snap-object-midpoints="true" + inkscape:snap-center="true" + inkscape:window-width="1920" + inkscape:window-height="1016" + inkscape:window-x="0" + inkscape:window-y="27" + inkscape:window-maximized="1" + inkscape:snap-midpoints="true" + inkscape:snap-smooth-nodes="true" + inkscape:object-nodes="true"> + <inkscape:grid + type="xygrid" + id="grid3336" /> + </sodipodi:namedview> + <metadata + id="metadata7"> + <rdf:RDF> + <cc:Work + rdf:about=""> + <dc:format>image/svg+xml</dc:format> + <dc:type + rdf:resource="http://purl.org/dc/dcmitype/StillImage" /> + <dc:title /> + </cc:Work> + </rdf:RDF> + </metadata> + <g + inkscape:label="Layer 1" + inkscape:groupmode="layer" + id="layer1" + transform="translate(0,-1036.3622)"> + <g + id="layer1-8" + inkscape:label="Layer 1" + transform="matrix(0,-1,1,0,-1021.3622,1033.3622)" /> + <circle + style="opacity:1;fill:#e0e0e0;fill-opacity:0.99607843;stroke:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" + id="path4155" + cx="3" + cy="1048.3622" + r="2" /> + <path + style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;direction:ltr;block-progression:tb;writing-mode:lr-tb;baseline-shift:baseline;text-anchor:start;white-space:normal;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;fill:#e0e0e0;fill-opacity:0.99607843;fill-rule:evenodd;stroke:none;stroke-width:2;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate" + d="M 4 3 A 2 2 0 0 0 2.2675781 4 A 2 2 0 0 0 2.0019531 5 L 2 5 L 2 5.046875 L 2 12 L 4 12 L 4 7 L 4 5 L 6 5 L 6 3 L 4 3 z " + transform="translate(0,1036.3622)" + id="path4157" /> + <path + style="fill:#e0e0e0;fill-opacity:0.99607843;fill-rule:evenodd;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" + d="m 6,1037.3622 0,6 4,-3 z" + id="path4159" + inkscape:connector-curvature="0" /> + <circle + r="2" + cy="1040.3622" + cx="13" + id="circle4161" + style="opacity:1;fill:#e0e0e0;fill-opacity:0.99607843;stroke:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" /> + <path + style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;direction:ltr;block-progression:tb;writing-mode:lr-tb;baseline-shift:baseline;text-anchor:start;white-space:normal;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;fill:#e0e0e0;fill-opacity:0.99607843;fill-rule:evenodd;stroke:none;stroke-width:2;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate" + d="M 12 4 L 12 9 L 12 11 L 10 11 L 10 13 L 12 13 A 2 2 0 0 0 13.732422 12 A 2 2 0 0 0 13.998047 11 L 14 11 L 14 4 L 12 4 z " + transform="translate(0,1036.3622)" + id="path4163" /> + <path + inkscape:connector-curvature="0" + id="path4165" + d="m 10,1045.3622 0,6 -4,-3 z" + style="fill:#e0e0e0;fill-opacity:0.99607843;fill-rule:evenodd;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" /> + </g> +</svg> diff --git a/tools/editor/icons/source/icon_track_trigger.svg b/tools/editor/icons/source/icon_track_trigger.svg new file mode 100644 index 0000000000..9c13791f70 --- /dev/null +++ b/tools/editor/icons/source/icon_track_trigger.svg @@ -0,0 +1,109 @@ +<?xml version="1.0" encoding="UTF-8" standalone="no"?> +<!-- Created with Inkscape (http://www.inkscape.org/) --> + +<svg + xmlns:dc="http://purl.org/dc/elements/1.1/" + xmlns:cc="http://creativecommons.org/ns#" + xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" + xmlns:svg="http://www.w3.org/2000/svg" + xmlns="http://www.w3.org/2000/svg" + xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd" + xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape" + width="16" + height="8" + viewBox="0 0 16 8" + id="svg2" + version="1.1" + inkscape:version="0.91 r13725" + inkscape:export-filename="/home/djrm/Projects/godot/tools/editor/icons/icon_track_trigger.png" + inkscape:export-xdpi="90" + inkscape:export-ydpi="90" + sodipodi:docname="icon_track_trigger.svg"> + <defs + id="defs4" /> + <sodipodi:namedview + id="base" + pagecolor="#ffffff" + bordercolor="#666666" + borderopacity="1.0" + inkscape:pageopacity="0.0" + inkscape:pageshadow="2" + inkscape:zoom="32" + inkscape:cx="0.93634514" + inkscape:cy="3.5256605" + inkscape:document-units="px" + inkscape:current-layer="layer1" + showgrid="true" + units="px" + inkscape:snap-bbox="true" + inkscape:bbox-paths="true" + inkscape:bbox-nodes="true" + inkscape:snap-bbox-edge-midpoints="true" + inkscape:snap-bbox-midpoints="true" + inkscape:snap-object-midpoints="true" + inkscape:snap-center="true" + inkscape:window-width="1920" + inkscape:window-height="1016" + inkscape:window-x="0" + inkscape:window-y="27" + inkscape:window-maximized="1" + showguides="true" + inkscape:snap-smooth-nodes="true" + inkscape:object-nodes="true" + inkscape:object-paths="true" + inkscape:snap-intersection-paths="true"> + <inkscape:grid + type="xygrid" + id="grid3336" /> + </sodipodi:namedview> + <metadata + id="metadata7"> + <rdf:RDF> + <cc:Work + rdf:about=""> + <dc:format>image/svg+xml</dc:format> + <dc:type + rdf:resource="http://purl.org/dc/dcmitype/StillImage" /> + <dc:title></dc:title> + </cc:Work> + </rdf:RDF> + </metadata> + <g + inkscape:label="Layer 1" + inkscape:groupmode="layer" + id="layer1" + transform="translate(0,-1044.3622)"> + <circle + r="1" + cy="1048.3622" + cx="11" + id="circle4232" + style="opacity:1;fill:#e0e0e0;fill-opacity:1;stroke:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" /> + <circle + style="opacity:1;fill:#e0e0e0;fill-opacity:1;stroke:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" + id="circle4234" + cx="14" + cy="1046.3622" + r="1" /> + <rect + style="opacity:1;fill:#e0e0e0;fill-opacity:1;stroke:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" + id="rect4169" + width="6" + height="2" + x="1" + y="1045.3622" /> + <rect + style="opacity:1;fill:#e0e0e0;fill-opacity:1;stroke:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" + id="rect4171" + width="2" + height="3.9999826" + x="3" + y="1047.3622" /> + <circle + style="opacity:1;fill:#e0e0e0;fill-opacity:1;stroke:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" + id="circle4173" + cx="8" + cy="1050.3622" + r="1" /> + </g> +</svg> diff --git a/tools/editor/io_plugins/editor_font_import_plugin.cpp b/tools/editor/io_plugins/editor_font_import_plugin.cpp index caa838cfd1..97ccb766c0 100644 --- a/tools/editor/io_plugins/editor_font_import_plugin.cpp +++ b/tools/editor/io_plugins/editor_font_import_plugin.cpp @@ -533,7 +533,7 @@ class EditorFontImportDialog : public ConfirmationDialog { } if (dest->get_line_edit()->get_text().extension().to_lower() != "fnt") { - error_dialog->set_text(TTR("Invalid file extension. \nPlease use .fnt")); + error_dialog->set_text(TTR("Invalid file extension.\nPlease use .fnt.")); error_dialog->popup_centered(Size2(200,100)); return; } diff --git a/tools/editor/io_plugins/editor_import_collada.cpp b/tools/editor/io_plugins/editor_import_collada.cpp index 80cd54756e..363cba3678 100644 --- a/tools/editor/io_plugins/editor_import_collada.cpp +++ b/tools/editor/io_plugins/editor_import_collada.cpp @@ -2077,6 +2077,7 @@ void ColladaImport::create_animation(int p_clip, bool p_make_tracks_in_all_bones animation->add_track(Animation::TYPE_TRANSFORM); int track = animation->get_track_count() -1; animation->track_set_path( track , path ); + animation->track_set_imported( track , true ); //helps merging later Vector<float> snapshots = base_snapshots; @@ -2229,6 +2230,7 @@ void ColladaImport::create_animation(int p_clip, bool p_make_tracks_in_all_bones animation->add_track(Animation::TYPE_TRANSFORM); int track = animation->get_track_count() -1; animation->track_set_path( track , path ); + animation->track_set_imported( track , true ); //helps merging later Transform xform = cn->compute_transform(collada); @@ -2284,8 +2286,11 @@ void ColladaImport::create_animation(int p_clip, bool p_make_tracks_in_all_bones animation->add_track(Animation::TYPE_VALUE); int track = animation->get_track_count() -1; + path = path +":"+at.param; animation->track_set_path( track , path ); + animation->track_set_imported( track , true ); //helps merging later + for(int i=0;i<at.keys.size();i++) { @@ -2376,6 +2381,7 @@ 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_scene_import_plugin.cpp b/tools/editor/io_plugins/editor_scene_import_plugin.cpp index ed766c6598..c7d92a9658 100644 --- a/tools/editor/io_plugins/editor_scene_import_plugin.cpp +++ b/tools/editor/io_plugins/editor_scene_import_plugin.cpp @@ -1069,11 +1069,13 @@ const EditorSceneImportDialog::FlagInfo EditorSceneImportDialog::scene_flag_name {EditorSceneImportPlugin::SCENE_FLAG_IMPORT_ANIMATIONS,("Actions"),"Import Animations",true}, {EditorSceneImportPlugin::SCENE_FLAG_COMPRESS_GEOMETRY,("Actions"),"Compress Geometry",false}, {EditorSceneImportPlugin::SCENE_FLAG_GENERATE_TANGENT_ARRAYS,("Actions"),"Force Generation of Tangent Arrays",false}, - {EditorSceneImportPlugin::SCENE_FLAG_DETECT_ALPHA,("Materials"),"Set Alpha in Materials (-alpha)",true}, - {EditorSceneImportPlugin::SCENE_FLAG_DETECT_VCOLOR,("Materials"),"Set Vert. Color in Materials (-vcol)",true}, {EditorSceneImportPlugin::SCENE_FLAG_LINEARIZE_DIFFUSE_TEXTURES,("Actions"),"SRGB->Linear Of Diffuse Textures",false}, {EditorSceneImportPlugin::SCENE_FLAG_CONVERT_NORMALMAPS_TO_XY,("Actions"),"Convert Normal Maps to XY",true}, {EditorSceneImportPlugin::SCENE_FLAG_SET_LIGHTMAP_TO_UV2_IF_EXISTS,("Actions"),"Set Material Lightmap to UV2 if Tex2Array Exists",true}, + {EditorSceneImportPlugin::SCENE_FLAG_MERGE_KEEP_MATERIALS,("Merge"),"Keep Materials after first import (delete them for re-import).",true}, + {EditorSceneImportPlugin::SCENE_FLAG_MERGE_KEEP_EXTRA_ANIM_TRACKS,("Merge"),"Keep user-added Animation tracks.",true}, + {EditorSceneImportPlugin::SCENE_FLAG_DETECT_ALPHA,("Materials"),"Set Alpha in Materials (-alpha)",true}, + {EditorSceneImportPlugin::SCENE_FLAG_DETECT_VCOLOR,("Materials"),"Set Vert. Color in Materials (-vcol)",true}, {EditorSceneImportPlugin::SCENE_FLAG_CREATE_COLLISIONS,("Create"),"Create Collisions and/or Rigid Bodies (-col,-colonly,-rigid)",true}, {EditorSceneImportPlugin::SCENE_FLAG_CREATE_PORTALS,("Create"),"Create Portals (-portal)",true}, {EditorSceneImportPlugin::SCENE_FLAG_CREATE_ROOMS,("Create"),"Create Rooms (-room)",true}, @@ -2455,6 +2457,138 @@ void EditorSceneImportPlugin::_optimize_animations(Node *scene, float p_max_lin_ } +void EditorSceneImportPlugin::_find_resources_to_merge(Node *scene, Node *node, bool p_merge_material, Map<String, Ref<Material> > &materials, bool p_merge_anims, Map<String,Ref<Animation> >& merged_anims,Set<Ref<Mesh> > &tested_meshes) { + + if (node->get_owner()!=scene) + return; + + String path = scene->get_path_to(node); + + if (p_merge_anims && node->cast_to<AnimationPlayer>()) { + + AnimationPlayer *ap = node->cast_to<AnimationPlayer>(); + List<StringName> anims; + ap->get_animation_list(&anims); + for (List<StringName>::Element *E=anims.front();E;E=E->next()) { + Ref<Animation> anim = ap->get_animation(E->get()); + Ref<Animation> clone; + + bool has_user_tracks=false; + + for(int i=0;i<anim->get_track_count();i++) { + + if (!anim->track_is_imported(i)) { + has_user_tracks=true; + break; + } + } + + if (has_user_tracks) { + + clone = anim->duplicate(); + for(int i=0;i<clone->get_track_count();i++) { + if (clone->track_is_imported(i)) { + clone->remove_track(i); + i--; + } + } + + merged_anims[path+"::"+String(E->get())]=clone; + } + } + } + + + + if (p_merge_material && node->cast_to<MeshInstance>()) { + MeshInstance *mi=node->cast_to<MeshInstance>(); + Ref<Mesh> mesh = mi->get_mesh(); + if (mesh.is_valid() && mesh->get_name()!=String() && !tested_meshes.has(mesh)) { + + for(int i=0;i<mesh->get_surface_count();i++) { + Ref<Material> material = mesh->surface_get_material(i); + materials[mesh->get_name()+":surf:"+mesh->surface_get_name(i)]=material; + } + + tested_meshes.insert(mesh); + } + } + + + + for(int i=0;i<node->get_child_count();i++) { + _find_resources_to_merge(scene,node->get_child(i),p_merge_material,materials,p_merge_anims,merged_anims,tested_meshes); + } + +} + + +void EditorSceneImportPlugin::_merge_found_resources(Node *scene, Node *node, bool p_merge_material, const Map<String, Ref<Material> > &materials, bool p_merge_anims, const Map<String,Ref<Animation> >& merged_anims, Set<Ref<Mesh> > &tested_meshes) { + + if (node->get_owner()!=scene) + return; + + String path = scene->get_path_to(node); + + if (node->cast_to<AnimationPlayer>()) { + + AnimationPlayer *ap = node->cast_to<AnimationPlayer>(); + List<StringName> anims; + ap->get_animation_list(&anims); + for (List<StringName>::Element *E=anims.front();E;E=E->next()) { + Ref<Animation> anim = ap->get_animation(E->get()); + + String anim_path = path+"::"+String(E->get()); + + if (merged_anims.has(anim_path)) { + + Ref<Animation> user_tracks = merged_anims[anim_path]; + for(int i=0;i<user_tracks->get_track_count();i++) { + + int idx = anim->get_track_count(); + anim->add_track(user_tracks->track_get_type(i)); + anim->track_set_path(idx,user_tracks->track_get_path(i)); + anim->track_set_interpolation_type(idx,user_tracks->track_get_interpolation_type(i)); + for(int j=0;j<user_tracks->track_get_key_count(i);j++) { + + float ofs = user_tracks->track_get_key_time(i,j); + float trans = user_tracks->track_get_key_transition(i,j); + Variant value = user_tracks->track_get_key_value(i,j); + + anim->track_insert_key(idx,ofs,value,trans); + } + } + } + } + } + + + + if (node->cast_to<MeshInstance>()) { + MeshInstance *mi=node->cast_to<MeshInstance>(); + Ref<Mesh> mesh = mi->get_mesh(); + if (mesh.is_valid() && mesh->get_name()!=String() && !tested_meshes.has(mesh)) { + + for(int i=0;i<mesh->get_surface_count();i++) { + String sname = mesh->get_name()+":surf:"+mesh->surface_get_name(i); + + if (materials.has(sname)) { + mesh->surface_set_material(i,materials[sname]); + } + } + + tested_meshes.insert(mesh); + } + } + + + + for(int i=0;i<node->get_child_count();i++) { + _merge_found_resources(scene,node->get_child(i),p_merge_material,materials,p_merge_anims,merged_anims,tested_meshes); + } + +} + Error EditorSceneImportPlugin::import2(Node *scene, const String& p_dest_path, const Ref<ResourceImportMetadata>& p_from) { Error err=OK; @@ -2506,6 +2640,28 @@ Error EditorSceneImportPlugin::import2(Node *scene, const String& p_dest_path, c _filter_tracks(scene,animation_filter); + if (scene_flags&(SCENE_FLAG_MERGE_KEEP_MATERIALS|SCENE_FLAG_MERGE_KEEP_EXTRA_ANIM_TRACKS) && FileAccess::exists(p_dest_path)) { + //must merge! + + Ref<PackedScene> pscene = ResourceLoader::load(p_dest_path,"PackedScene",true); + if (pscene.is_valid()) { + + Node *instance = pscene->instance(); + if (instance) { + Map<String,Ref<Animation> > merged_anims; + Map<String,Ref<Material> > merged_materials; + Set<Ref<Mesh> > tested_meshes; + + _find_resources_to_merge(instance,instance,scene_flags&SCENE_FLAG_MERGE_KEEP_MATERIALS,merged_materials,scene_flags&SCENE_FLAG_MERGE_KEEP_EXTRA_ANIM_TRACKS,merged_anims,tested_meshes); + tested_meshes.clear(); + _merge_found_resources(instance,instance,scene_flags&SCENE_FLAG_MERGE_KEEP_MATERIALS,merged_materials,scene_flags&SCENE_FLAG_MERGE_KEEP_EXTRA_ANIM_TRACKS,merged_anims,tested_meshes); + + memdelete(instance); + } + + } + + } /// BEFORE ANYTHING, RUN SCRIPT diff --git a/tools/editor/io_plugins/editor_scene_import_plugin.h b/tools/editor/io_plugins/editor_scene_import_plugin.h index 8a2d30f1f6..c31d3a33d3 100644 --- a/tools/editor/io_plugins/editor_scene_import_plugin.h +++ b/tools/editor/io_plugins/editor_scene_import_plugin.h @@ -116,6 +116,10 @@ class EditorSceneImportPlugin : public EditorImportPlugin { void _tag_import_paths(Node *p_scene,Node *p_node); + void _find_resources_to_merge(Node *scene, Node *node, bool p_merge_material, Map<String,Ref<Material> >&materials, bool p_merge_anims, Map<String,Ref<Animation> >& merged_anims, Set<Ref<Mesh> > &tested_meshes); + void _merge_found_resources(Node *scene, Node *node, bool p_merge_material, const Map<String, Ref<Material> > &materials, bool p_merge_anims, const Map<String,Ref<Animation> >& merged_anims, Set<Ref<Mesh> > &tested_meshes); + + public: enum SceneFlags { @@ -134,6 +138,9 @@ public: SCENE_FLAG_CREATE_NAVMESH=1<<17, SCENE_FLAG_DETECT_LIGHTMAP_LAYER=1<<18, + SCENE_FLAG_MERGE_KEEP_MATERIALS=1<<20, + SCENE_FLAG_MERGE_KEEP_EXTRA_ANIM_TRACKS=1<<21, + SCENE_FLAG_REMOVE_NOIMP=1<<24, SCENE_FLAG_IMPORT_ANIMATIONS=1<<25, SCENE_FLAG_COMPRESS_GEOMETRY=1<<26, @@ -144,6 +151,7 @@ public: }; + virtual String get_name() const; virtual String get_visible_name() const; virtual void import_dialog(const String& p_from=""); diff --git a/tools/editor/plugins/script_editor_plugin.cpp b/tools/editor/plugins/script_editor_plugin.cpp index f459bf483a..4061bb9827 100644 --- a/tools/editor/plugins/script_editor_plugin.cpp +++ b/tools/editor/plugins/script_editor_plugin.cpp @@ -531,7 +531,7 @@ static void _find_changed_scripts_for_external_editor(Node* p_base, Node*p_curre } -void ScriptEditor::_update_modified_scripts_for_external_editor() { +void ScriptEditor::_update_modified_scripts_for_external_editor(Ref<Script> p_for_script) { if (!bool(EditorSettings::get_singleton()->get("external_editor/use_external_editor"))) return; @@ -547,6 +547,9 @@ void ScriptEditor::_update_modified_scripts_for_external_editor() { Ref<Script> script = E->get(); + if (p_for_script.is_valid() && p_for_script!=script) + continue; + if (script->get_path()=="" || script->get_path().find("local://")!=-1 || script->get_path().find("::")!=-1) { continue; //internal script, who cares, though weird @@ -900,7 +903,7 @@ void ScriptEditor::_live_auto_reload_running_scripts() { } -bool ScriptEditor::_test_script_times_on_disk() { +bool ScriptEditor::_test_script_times_on_disk(Ref<Script> p_for_script) { disk_changed_list->clear(); @@ -920,6 +923,9 @@ bool ScriptEditor::_test_script_times_on_disk() { Ref<Script> script = ste->get_edited_script(); + if (p_for_script.is_valid() && p_for_script!=script) + continue; + if (script->get_path()=="" || script->get_path().find("local://")!=-1 || script->get_path().find("::")!=-1) continue; //internal script, who cares @@ -2128,6 +2134,12 @@ void ScriptEditor::edit(const Ref<Script>& p_script) { if (!restoring_layout) { EditorNode::get_singleton()->save_layout(); } + + //test for modification, maybe the script was not edited but was loaded + + _test_script_times_on_disk(p_script); + _update_modified_scripts_for_external_editor(p_script); + } void ScriptEditor::save_all_scripts() { diff --git a/tools/editor/plugins/script_editor_plugin.h b/tools/editor/plugins/script_editor_plugin.h index 3d723adfe9..0636190a41 100644 --- a/tools/editor/plugins/script_editor_plugin.h +++ b/tools/editor/plugins/script_editor_plugin.h @@ -232,7 +232,7 @@ class ScriptEditor : public VBoxContainer { void _resave_scripts(const String& p_str); void _reload_scripts(); - bool _test_script_times_on_disk(); + bool _test_script_times_on_disk(Ref<Script> p_for_script=Ref<Script>()); void _close_current_tab(); @@ -291,7 +291,7 @@ class ScriptEditor : public VBoxContainer { void _go_to_tab(int p_idx); void _update_history_pos(int p_new_pos); void _update_script_colors(); - void _update_modified_scripts_for_external_editor(); + void _update_modified_scripts_for_external_editor(Ref<Script> p_for_script=Ref<Script>()); int file_dialog_option; void _file_dialog_action(String p_file); diff --git a/tools/editor/plugins/shader_editor_plugin.cpp b/tools/editor/plugins/shader_editor_plugin.cpp index f4b294daa5..83db650952 100644 --- a/tools/editor/plugins/shader_editor_plugin.cpp +++ b/tools/editor/plugins/shader_editor_plugin.cpp @@ -30,6 +30,7 @@ #include "tools/editor/editor_settings.h" #include "spatial_editor_plugin.h" +#include "scene/resources/shader_graph.h" #include "io/resource_loader.h" #include "io/resource_saver.h" #include "os/keyboard.h" @@ -144,8 +145,6 @@ void ShaderTextEditor::_validate_script() { //List<StringName> params; //shader->get_param_list(¶ms); - print_line("compile: type: "+itos(type)+" code:\n"+code); - Error err = ShaderLanguage::compile(code,type,NULL,NULL,&errortxt,&line,&col); if (err!=OK) { @@ -557,34 +556,41 @@ ShaderEditor::ShaderEditor() { void ShaderEditorPlugin::edit(Object *p_object) { - if (!p_object->cast_to<Shader>()) + Shader* s = p_object->cast_to<Shader>(); + if (!s || s->cast_to<ShaderGraph>()) { + shader_editor->hide(); //Dont edit ShaderGraph return; + } - shader_editor->edit(p_object->cast_to<Shader>()); + if (_2d && s->get_mode()==Shader::MODE_CANVAS_ITEM) + shader_editor->edit(s); + else if (!_2d && s->get_mode()==Shader::MODE_MATERIAL) + shader_editor->edit(s); } bool ShaderEditorPlugin::handles(Object *p_object) const { + bool handles = true; Shader *shader=p_object->cast_to<Shader>(); - if (!shader) - return false; - if (_2d) - return shader->get_mode()==Shader::MODE_CANVAS_ITEM; - else + if (!shader || shader->cast_to<ShaderGraph>()) // Dont handle ShaderGraph's + handles = false; + if (handles && _2d) + handles = shader->get_mode()==Shader::MODE_CANVAS_ITEM; + else if (handles && !_2d) return shader->get_mode()==Shader::MODE_MATERIAL; + + if (!handles) + shader_editor->hide(); + return handles; } void ShaderEditorPlugin::make_visible(bool p_visible) { if (p_visible) { shader_editor->show(); - //shader_editor->set_process(true); } else { - shader_editor->apply_shaders(); - //shader_editor->hide(); - //shader_editor->set_process(false); } } diff --git a/tools/editor/scene_tree_dock.cpp b/tools/editor/scene_tree_dock.cpp index 16ae14c0b5..69d6d97980 100644 --- a/tools/editor/scene_tree_dock.cpp +++ b/tools/editor/scene_tree_dock.cpp @@ -49,11 +49,37 @@ void SceneTreeDock::_unhandled_key_input(InputEvent p_event) { if (!p_event.key.pressed || p_event.key.echo) return; + if (ED_IS_SHORTCUT("scene_tree/add_child_node", p_event)) { + _tool_selected(TOOL_NEW); + } + else if (ED_IS_SHORTCUT("scene_tree/instance_scene", p_event)) { + _tool_selected(TOOL_INSTANCE); + } + else if (ED_IS_SHORTCUT("scene_tree/change_node_type", p_event)) { + _tool_selected(TOOL_REPLACE); + } + else if (ED_IS_SHORTCUT("scene_tree/duplicate", p_event)) { + _tool_selected(TOOL_DUPLICATE); + } + else if (ED_IS_SHORTCUT("scene_tree/add_script", p_event)) { + _tool_selected(TOOL_SCRIPT); + } + else if (ED_IS_SHORTCUT("scene_tree/move_up", p_event)) { + _tool_selected(TOOL_MOVE_UP); + } + else if (ED_IS_SHORTCUT("scene_tree/move_down", p_event)) { + _tool_selected(TOOL_MOVE_DOWN); + } + else if (ED_IS_SHORTCUT("scene_tree/reparent", p_event)) { + _tool_selected(TOOL_REPARENT); + } + else if (ED_IS_SHORTCUT("scene_tree/merge_from_scene", p_event)) { + _tool_selected(TOOL_MERGE_FROM_SCENE); + } + else if (ED_IS_SHORTCUT("scene_tree/save_branch_as_scene", p_event)) { + _tool_selected(TOOL_NEW_SCENE_FROM); + } switch(sc) { - case KEY_MASK_CMD|KEY_A: { _tool_selected(TOOL_NEW); } break; - case KEY_MASK_CMD|KEY_D: { _tool_selected(TOOL_DUPLICATE); } break; - case KEY_MASK_CMD|KEY_UP: { _tool_selected(TOOL_MOVE_UP); } break; - case KEY_MASK_CMD|KEY_DOWN: { _tool_selected(TOOL_MOVE_DOWN); } break; case KEY_MASK_SHIFT|KEY_DELETE: { _tool_selected(TOOL_ERASE, true); } break; case KEY_DELETE: { _tool_selected(TOOL_ERASE); } break; } @@ -1675,13 +1701,11 @@ void SceneTreeDock::_nodes_dragged(Array p_nodes,NodePath p_to,int p_type) { } void SceneTreeDock::_tree_rmb(const Vector2& p_menu_pos) { - - if (!EditorNode::get_singleton()->get_edited_scene()) { menu->clear(); - menu->add_icon_item(get_icon("Add","EditorIcons"),TTR("New Scene Root"),TOOL_NEW,KEY_MASK_CMD|KEY_A); - menu->add_icon_item(get_icon("Instance","EditorIcons"),TTR("Inherit Scene"),TOOL_INSTANCE); + menu->add_icon_shortcut(get_icon("Add","EditorIcons"), ED_GET_SHORTCUT("scene_tree/add_child_node"), TOOL_NEW); + menu->add_icon_shortcut(get_icon("Instance","EditorIcons"), ED_GET_SHORTCUT("scene_tree/instance_scene"), TOOL_INSTANCE); menu->set_size(Size2(1,1)); menu->set_pos(p_menu_pos); @@ -1698,31 +1722,31 @@ void SceneTreeDock::_tree_rmb(const Vector2& p_menu_pos) { if (selection.size()==1) { - menu->add_icon_item(get_icon("Add","EditorIcons"),TTR("Add Child Node"),TOOL_NEW,KEY_MASK_CMD|KEY_A); - menu->add_icon_item(get_icon("Instance","EditorIcons"),TTR("Instance Child Scene"),TOOL_INSTANCE); + menu->add_icon_shortcut(get_icon("Add","EditorIcons"), ED_GET_SHORTCUT("scene_tree/add_child_node"), TOOL_NEW); + menu->add_icon_shortcut(get_icon("Instance","EditorIcons"), ED_GET_SHORTCUT("scene_tree/instance_scene"), TOOL_INSTANCE); menu->add_separator(); - menu->add_icon_item(get_icon("Reload","EditorIcons"),TTR("Change Type"),TOOL_REPLACE); + menu->add_icon_shortcut(get_icon("Reload","EditorIcons"),ED_GET_SHORTCUT("scene_tree/change_node_type"), TOOL_REPLACE); //menu->add_separator(); moved to their own dock //menu->add_icon_item(get_icon("Groups","EditorIcons"),TTR("Edit Groups"),TOOL_GROUP); //menu->add_icon_item(get_icon("Connect","EditorIcons"),TTR("Edit Connections"),TOOL_CONNECT); menu->add_separator(); - menu->add_icon_item(get_icon("Script","EditorIcons"),TTR("Add Script"),TOOL_SCRIPT); + menu->add_icon_shortcut(get_icon("Script","EditorIcons"),ED_GET_SHORTCUT("scene_tree/add_script"), TOOL_SCRIPT); menu->add_separator(); } - menu->add_icon_item(get_icon("Up","EditorIcons"),TTR("Move Up"),TOOL_MOVE_UP,KEY_MASK_CMD|KEY_UP); - menu->add_icon_item(get_icon("Down","EditorIcons"),TTR("Move Down"),TOOL_MOVE_DOWN,KEY_MASK_CMD|KEY_DOWN); - menu->add_icon_item(get_icon("Duplicate","EditorIcons"),TTR("Duplicate"),TOOL_DUPLICATE,KEY_MASK_CMD|KEY_D); - menu->add_icon_item(get_icon("Reparent","EditorIcons"),TTR("Reparent"),TOOL_REPARENT); + menu->add_icon_shortcut(get_icon("Up","EditorIcons"),ED_GET_SHORTCUT("scene_tree/move_up"), TOOL_MOVE_UP); + menu->add_icon_shortcut(get_icon("Down","EditorIcons"),ED_GET_SHORTCUT("scene_tree/move_down"), TOOL_MOVE_DOWN); + menu->add_icon_shortcut(get_icon("Duplicate","EditorIcons"),ED_GET_SHORTCUT("scene_tree/duplicate"), TOOL_DUPLICATE); + menu->add_icon_shortcut(get_icon("Reparent","EditorIcons"),ED_GET_SHORTCUT("scene_tree/reparent"), TOOL_REPARENT); if (selection.size()==1) { menu->add_separator(); - menu->add_icon_item(get_icon("Blend","EditorIcons"),TTR("Merge From Scene"),TOOL_MERGE_FROM_SCENE); - menu->add_icon_item(get_icon("Save","EditorIcons"),TTR("Save Branch as Scene"),TOOL_NEW_SCENE_FROM); + menu->add_icon_shortcut(get_icon("Blend","EditorIcons"),ED_GET_SHORTCUT("scene_tree/merge_from_scene"), TOOL_MERGE_FROM_SCENE); + menu->add_icon_shortcut(get_icon("Save","EditorIcons"),ED_GET_SHORTCUT("scene_tree/save_branch_as_scene"), TOOL_NEW_SCENE_FROM); } menu->add_separator(); - menu->add_icon_item(get_icon("Remove","EditorIcons"),TTR("Delete Node(s)"),TOOL_ERASE,KEY_DELETE); + menu->add_icon_item(get_icon("Remove","EditorIcons"),TTR("Delete Node(s)"), TOOL_ERASE, KEY_DELETE); menu->set_size(Size2(1,1)); menu->set_pos(p_menu_pos); @@ -1789,15 +1813,28 @@ SceneTreeDock::SceneTreeDock(EditorNode *p_editor,Node *p_scene_root,EditorSelec HBoxContainer *filter_hbc = memnew( HBoxContainer ); ToolButton *tb; + ED_SHORTCUT("scene_tree/add_child_node",TTR("Add Child Node"), KEY_MASK_CMD|KEY_A); + ED_SHORTCUT("scene_tree/instance_scene",TTR("Instance Child Scene")); + ED_SHORTCUT("scene_tree/change_node_type", TTR("Change Type")); + ED_SHORTCUT("scene_tree/add_script", TTR("Add Script")); + ED_SHORTCUT("scene_tree/move_up", TTR("Move Up"), KEY_MASK_CMD | KEY_UP); + ED_SHORTCUT("scene_tree/move_down", TTR("Move Down"), KEY_MASK_CMD | KEY_DOWN); + ED_SHORTCUT("scene_tree/duplicate", TTR("Duplicate"),KEY_MASK_CMD | KEY_D); + ED_SHORTCUT("scene_tree/reparent", TTR("Reparent")); + ED_SHORTCUT("scene_tree/merge_from_scene", TTR("Merge From Scene")); + ED_SHORTCUT("scene_tree/save_branch_as_scene", TTR("Save Branch as Scene")); + tb = memnew( ToolButton ); tb->connect("pressed",this,"_tool_selected",make_binds(TOOL_NEW, false)); - tb->set_tooltip(TTR("Add/Create a New Node")+"\n("+keycode_get_string(KEY_MASK_CMD|KEY_A)+")"); + tb->set_tooltip(TTR("Add/Create a New Node")); + tb->set_shortcut(ED_GET_SHORTCUT("scene_tree/add_child_node")); filter_hbc->add_child(tb); button_add=tb; tb = memnew( ToolButton ); tb->connect("pressed",this,"_tool_selected",make_binds(TOOL_INSTANCE, false)); tb->set_tooltip(TTR("Instance a scene file as a Node. Creates an inherited scene if no root node exists.")); + tb->set_shortcut(ED_GET_SHORTCUT("scene_tree/instance_scene")); filter_hbc->add_child(tb); button_instance=tb; diff --git a/tools/editor/script_create_dialog.cpp b/tools/editor/script_create_dialog.cpp index e88d603b30..e93a40efbc 100644 --- a/tools/editor/script_create_dialog.cpp +++ b/tools/editor/script_create_dialog.cpp @@ -185,6 +185,7 @@ void ScriptCreateDialog::_built_in_pressed() { void ScriptCreateDialog::_browse_path() { file_browse->set_mode(EditorFileDialog::MODE_SAVE_FILE); + file_browse->set_disable_overwrite_warning(true); file_browse->clear_filters(); List<String> extensions; diff --git a/tools/translations/es.po b/tools/translations/es.po index 84e241c7a3..3f727d18c3 100644 --- a/tools/translations/es.po +++ b/tools/translations/es.po @@ -21,45 +21,47 @@ msgstr "" #: modules/gdscript/gd_functions.cpp msgid "Invalid type argument to convert(), use TYPE_* constants." -msgstr "" +msgstr "Argumento de tipo inválido para convert(), usá constantes TYPE_*." #: modules/gdscript/gd_functions.cpp msgid "Not enough bytes for decoding bytes, or invalid format." msgstr "" +"No hay suficientes bytes para decodificar bytes, o el formato es inválido." #: modules/gdscript/gd_functions.cpp msgid "step argument is zero!" -msgstr "" +msgstr "el argumento step es cero!" #: modules/gdscript/gd_functions.cpp -#, fuzzy msgid "Not a script with an instance" -msgstr "Ninguna escena seleccionada a la instancia!" +msgstr "No es un script con una instancia" #: modules/gdscript/gd_functions.cpp msgid "Not based on a script" -msgstr "" +msgstr "No está basado en un script" #: modules/gdscript/gd_functions.cpp -#, fuzzy msgid "Not based on a resource file" -msgstr "Sin recurso de tipografías de destino!" +msgstr "No está basado en un archivo de recursos" #: modules/gdscript/gd_functions.cpp msgid "Invalid instance dictionary format (missing @path)" -msgstr "" +msgstr "Formato de diccionario de instancias inválido (@path faltante)" #: modules/gdscript/gd_functions.cpp msgid "Invalid instance dictionary format (can't load script at @path)" msgstr "" +"Formato de diccionario de instancias inválido (no se puede cargar el script " +"en @path)" #: modules/gdscript/gd_functions.cpp msgid "Invalid instance dictionary format (invalid script at @path)" msgstr "" +"Formato de diccionario de instancias inválido (script inválido en @path)" #: modules/gdscript/gd_functions.cpp msgid "Invalid instance dictionary (invalid subclasses)" -msgstr "" +msgstr "Diccionario de instancias inválido (subclases inválidas)" #: scene/2d/animated_sprite.cpp msgid "" @@ -578,18 +580,16 @@ msgid "Anim Delete Keys" msgstr "Borrar Claves de Anim" #: tools/editor/animation_editor.cpp -#, fuzzy msgid "Continuous" -msgstr "Continuar" +msgstr "Contínuo" #: tools/editor/animation_editor.cpp -#, fuzzy msgid "Discrete" -msgstr "Desconectar" +msgstr "Discreto" #: tools/editor/animation_editor.cpp msgid "Trigger" -msgstr "" +msgstr "Trigger" #: tools/editor/animation_editor.cpp msgid "Anim Add Key" @@ -699,9 +699,8 @@ msgid "Change Anim Loop" msgstr "Cambiar Loop de Anim" #: tools/editor/animation_editor.cpp -#, fuzzy msgid "Change Anim Loop Interpolation" -msgstr "Cambiar Loop de Anim" +msgstr "Cambiar Interpolación de Loop de Anim" #: tools/editor/animation_editor.cpp msgid "Anim Create Typed Value Key" @@ -744,9 +743,8 @@ msgid "Enable/Disable looping in animation." msgstr "Activar/Desactivar loopeo en la animación." #: tools/editor/animation_editor.cpp -#, fuzzy msgid "Enable/Disable interpolation when looping animation." -msgstr "Activar/Desactivar loopeo en la animación." +msgstr "Activar/Desactivar interpolación al loopear animación." #: tools/editor/animation_editor.cpp msgid "Add new tracks." @@ -1013,7 +1011,6 @@ 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 "Conect To Node:" msgstr "Conectar a Nodo:" @@ -1033,15 +1030,13 @@ msgstr "Quitar" #: tools/editor/connections_dialog.cpp msgid "Add Extra Call Argument:" -msgstr "" +msgstr "Agregar Argumento de Llamada Extra:" #: tools/editor/connections_dialog.cpp -#, fuzzy msgid "Extra Call Arguments:" -msgstr "Argumentos:" +msgstr "Argumentos de Llamada Extras:" #: tools/editor/connections_dialog.cpp -#, fuzzy msgid "Path to Node:" msgstr "Ruta al Nodo:" @@ -1066,9 +1061,8 @@ msgid "Connect '%s' to '%s'" msgstr "Conectar '%s' a '%s'" #: tools/editor/connections_dialog.cpp -#, fuzzy msgid "Connecting Signal:" -msgstr "Conecciones:" +msgstr "Conectando Señal:" #: tools/editor/connections_dialog.cpp msgid "Create Subscription" @@ -1499,8 +1493,7 @@ msgstr "" #: tools/editor/editor_node.cpp msgid "Current scene was never saved, please save it prior to running." -msgstr "" -"La escena actual nunca se guardó. Favor de guardarla antes de ejecutar." +msgstr "La escena actual nunca se guardó. Favor de guardarla antes de ejecutar." #: tools/editor/editor_node.cpp msgid "Could not start subprocess!" @@ -1648,11 +1641,11 @@ msgstr "Ir a la escena abierta previamente." #: tools/editor/editor_node.cpp msgid "Fullscreen Mode" -msgstr "" +msgstr "Modo Pantalla Completa" #: tools/editor/editor_node.cpp msgid "Distraction Free Mode" -msgstr "" +msgstr "Modo Sin Distracciones" #: tools/editor/editor_node.cpp msgid "Operations with scene files." @@ -2844,7 +2837,6 @@ msgid "Create new animation in player." msgstr "Crear nueva animación en el reproductor." #: tools/editor/plugins/animation_player_editor_plugin.cpp -#, fuzzy msgid "Load animation from disk." msgstr "Cargar una animación desde disco." @@ -2857,9 +2849,8 @@ msgid "Save the current animation" msgstr "Guardar la animación actual" #: tools/editor/plugins/animation_player_editor_plugin.cpp -#, fuzzy msgid "Save As" -msgstr "Guardar Como.." +msgstr "Guardar Como" #: tools/editor/plugins/animation_player_editor_plugin.cpp msgid "Display list of animations in player." @@ -4059,9 +4050,8 @@ msgid "Auto Indent" msgstr "Auto Indentar" #: tools/editor/plugins/script_editor_plugin.cpp -#, fuzzy msgid "Soft Reload Script" -msgstr "Volver a Cargar un Script de Herramientas" +msgstr "Recarga Soft de Script" #: tools/editor/plugins/script_editor_plugin.cpp #: tools/editor/plugins/shader_editor_plugin.cpp @@ -4153,9 +4143,8 @@ msgid "Help" msgstr "Ayuda" #: tools/editor/plugins/script_editor_plugin.cpp -#, fuzzy msgid "Contextual Help" -msgstr "Contextual" +msgstr "Ayuda Contextual" #: tools/editor/plugins/script_editor_plugin.cpp msgid "Tutorials" @@ -4760,14 +4749,12 @@ msgid "Remove Class Items" msgstr "Quitar Items de Clases" #: tools/editor/plugins/theme_editor_plugin.cpp -#, fuzzy msgid "Create Empty Template" -msgstr "Crear Template" +msgstr "Crear Template Vacío" #: tools/editor/plugins/theme_editor_plugin.cpp -#, fuzzy msgid "Create Empty Editor Template" -msgstr "Crear Template" +msgstr "Crear Template de Editor Vacío" #: tools/editor/plugins/theme_editor_plugin.cpp msgid "CheckBox Radio1" @@ -4853,28 +4840,24 @@ msgid "Erase TileMap" msgstr "Borrar TileMap" #: tools/editor/plugins/tile_map_editor_plugin.cpp -#, fuzzy msgid "Erase selection" msgstr "Eliminar Selección" #: tools/editor/plugins/tile_map_editor_plugin.cpp -#, fuzzy msgid "Find tile" -msgstr "Encontrar Siguiente" +msgstr "Encontrar tile" #: tools/editor/plugins/tile_map_editor_plugin.cpp msgid "Transpose" msgstr "Transponer" #: tools/editor/plugins/tile_map_editor_plugin.cpp -#, fuzzy msgid "Mirror X" -msgstr "Espejar X (A)" +msgstr "Espejar X" #: tools/editor/plugins/tile_map_editor_plugin.cpp -#, fuzzy msgid "Mirror Y" -msgstr "Espejar Y (S)" +msgstr "Espejar Y" #: tools/editor/plugins/tile_map_editor_plugin.cpp msgid "Bucket" @@ -5035,8 +5018,8 @@ msgstr "" #: tools/editor/project_export.cpp msgid "Filters to exclude from export (comma-separated, e.g.: *.json, *.txt):" msgstr "" -"Filtros para excluir de la exportación (separados por comas, ej: *.json, *." -"txt):" +"Filtros para excluir de la exportación (separados por comas, ej: *.json, " +"*.txt):" #: tools/editor/project_export.cpp msgid "Convert text scenes to binary on export." @@ -5789,8 +5772,7 @@ msgstr "No se puede operar sobre los nodos de una escena externa!" #: tools/editor/scene_tree_dock.cpp msgid "Can't operate on nodes the current scene inherits from!" -msgstr "" -"No se puede operar sobre los nodos de los cual hereda la escena actual!" +msgstr "No se puede operar sobre los nodos de los cual hereda la escena actual!" #: tools/editor/scene_tree_dock.cpp msgid "Remove Node(s)" @@ -5914,7 +5896,7 @@ msgstr "Cargar Como Placeholder" #: tools/editor/scene_tree_editor.cpp msgid "Discard Instancing" -msgstr "" +msgstr "Descartar Instanciado" #: tools/editor/scene_tree_editor.cpp msgid "Open in Editor" diff --git a/tools/translations/es_AR.po b/tools/translations/es_AR.po index 5fd39b0ede..e9dc591b98 100644 --- a/tools/translations/es_AR.po +++ b/tools/translations/es_AR.po @@ -8,10 +8,10 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine editor\n" "POT-Creation-Date: \n" -"PO-Revision-Date: 2016-06-14 14:09+0000\n" +"PO-Revision-Date: 2016-06-19 12:39+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" +"Language-Team: Spanish (Argentina) <https://hosted.weblate.org/projects" +"/godot-engine/godot/es_AR/>\n" "Language: es_AR\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -21,45 +21,47 @@ msgstr "" #: modules/gdscript/gd_functions.cpp msgid "Invalid type argument to convert(), use TYPE_* constants." -msgstr "" +msgstr "Argumento de tipo inválido para convert(), usá constantes TYPE_*." #: modules/gdscript/gd_functions.cpp msgid "Not enough bytes for decoding bytes, or invalid format." msgstr "" +"No hay suficientes bytes para decodificar bytes, o el formato es inválido." #: modules/gdscript/gd_functions.cpp msgid "step argument is zero!" -msgstr "" +msgstr "el argumento step es cero!" #: modules/gdscript/gd_functions.cpp -#, fuzzy msgid "Not a script with an instance" -msgstr "Ninguna escena seleccionada a la instancia!" +msgstr "No es un script con una instancia" #: modules/gdscript/gd_functions.cpp msgid "Not based on a script" -msgstr "" +msgstr "No está basado en un script" #: modules/gdscript/gd_functions.cpp -#, fuzzy msgid "Not based on a resource file" -msgstr "Sin recurso de tipografías de destino!" +msgstr "No está basado en un archivo de recursos" #: modules/gdscript/gd_functions.cpp msgid "Invalid instance dictionary format (missing @path)" -msgstr "" +msgstr "Formato de diccionario de instancias inválido (@path faltante)" #: modules/gdscript/gd_functions.cpp msgid "Invalid instance dictionary format (can't load script at @path)" msgstr "" +"Formato de diccionario de instancias inválido (no se puede cargar el script " +"en @path)" #: modules/gdscript/gd_functions.cpp msgid "Invalid instance dictionary format (invalid script at @path)" msgstr "" +"Formato de diccionario de instancias inválido (script inválido en @path)" #: modules/gdscript/gd_functions.cpp msgid "Invalid instance dictionary (invalid subclasses)" -msgstr "" +msgstr "Diccionario de instancias inválido (subclases inválidas)" #: scene/2d/animated_sprite.cpp msgid "" @@ -578,18 +580,16 @@ msgid "Anim Delete Keys" msgstr "Borrar Claves de Anim" #: tools/editor/animation_editor.cpp -#, fuzzy msgid "Continuous" -msgstr "Continuar" +msgstr "Contínuo" #: tools/editor/animation_editor.cpp -#, fuzzy msgid "Discrete" -msgstr "Desconectar" +msgstr "Discreto" #: tools/editor/animation_editor.cpp msgid "Trigger" -msgstr "" +msgstr "Trigger" #: tools/editor/animation_editor.cpp msgid "Anim Add Key" @@ -699,9 +699,8 @@ msgid "Change Anim Loop" msgstr "Cambiar Loop de Anim" #: tools/editor/animation_editor.cpp -#, fuzzy msgid "Change Anim Loop Interpolation" -msgstr "Cambiar Loop de Anim" +msgstr "Cambiar Interpolación de Loop de Anim" #: tools/editor/animation_editor.cpp msgid "Anim Create Typed Value Key" @@ -744,9 +743,8 @@ msgid "Enable/Disable looping in animation." msgstr "Activar/Desactivar loopeo en la animación." #: tools/editor/animation_editor.cpp -#, fuzzy msgid "Enable/Disable interpolation when looping animation." -msgstr "Activar/Desactivar loopeo en la animación." +msgstr "Activar/Desactivar interpolación al loopear animación." #: tools/editor/animation_editor.cpp msgid "Add new tracks." @@ -1013,7 +1011,6 @@ 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 "Conect To Node:" msgstr "Conectar a Nodo:" @@ -1033,15 +1030,13 @@ msgstr "Quitar" #: tools/editor/connections_dialog.cpp msgid "Add Extra Call Argument:" -msgstr "" +msgstr "Agregar Argumento de Llamada Extra:" #: tools/editor/connections_dialog.cpp -#, fuzzy msgid "Extra Call Arguments:" -msgstr "Argumentos:" +msgstr "Argumentos de Llamada Extras:" #: tools/editor/connections_dialog.cpp -#, fuzzy msgid "Path to Node:" msgstr "Ruta al Nodo:" @@ -1066,9 +1061,8 @@ msgid "Connect '%s' to '%s'" msgstr "Conectar '%s' a '%s'" #: tools/editor/connections_dialog.cpp -#, fuzzy msgid "Connecting Signal:" -msgstr "Conecciones:" +msgstr "Conectando Señal:" #: tools/editor/connections_dialog.cpp msgid "Create Subscription" @@ -1648,11 +1642,11 @@ msgstr "Ir a la escena abierta previamente." #: tools/editor/editor_node.cpp msgid "Fullscreen Mode" -msgstr "" +msgstr "Modo Pantalla Completa" #: tools/editor/editor_node.cpp msgid "Distraction Free Mode" -msgstr "" +msgstr "Modo Sin Distracciones" #: tools/editor/editor_node.cpp msgid "Operations with scene files." @@ -2844,7 +2838,6 @@ msgid "Create new animation in player." msgstr "Crear nueva animación en el reproductor." #: tools/editor/plugins/animation_player_editor_plugin.cpp -#, fuzzy msgid "Load animation from disk." msgstr "Cargar una animación desde disco." @@ -2857,9 +2850,8 @@ msgid "Save the current animation" msgstr "Guardar la animación actual" #: tools/editor/plugins/animation_player_editor_plugin.cpp -#, fuzzy msgid "Save As" -msgstr "Guardar Como.." +msgstr "Guardar Como" #: tools/editor/plugins/animation_player_editor_plugin.cpp msgid "Display list of animations in player." @@ -4059,9 +4051,8 @@ msgid "Auto Indent" msgstr "Auto Indentar" #: tools/editor/plugins/script_editor_plugin.cpp -#, fuzzy msgid "Soft Reload Script" -msgstr "Volver a Cargar un Script de Herramientas" +msgstr "Recarga Soft de Script" #: tools/editor/plugins/script_editor_plugin.cpp #: tools/editor/plugins/shader_editor_plugin.cpp @@ -4153,9 +4144,8 @@ msgid "Help" msgstr "Ayuda" #: tools/editor/plugins/script_editor_plugin.cpp -#, fuzzy msgid "Contextual Help" -msgstr "Contextual" +msgstr "Ayuda Contextual" #: tools/editor/plugins/script_editor_plugin.cpp msgid "Tutorials" @@ -4760,14 +4750,12 @@ msgid "Remove Class Items" msgstr "Quitar Items de Clases" #: tools/editor/plugins/theme_editor_plugin.cpp -#, fuzzy msgid "Create Empty Template" -msgstr "Crear Template" +msgstr "Crear Template Vacío" #: tools/editor/plugins/theme_editor_plugin.cpp -#, fuzzy msgid "Create Empty Editor Template" -msgstr "Crear Template" +msgstr "Crear Template de Editor Vacío" #: tools/editor/plugins/theme_editor_plugin.cpp msgid "CheckBox Radio1" @@ -4853,28 +4841,24 @@ msgid "Erase TileMap" msgstr "Borrar TileMap" #: tools/editor/plugins/tile_map_editor_plugin.cpp -#, fuzzy msgid "Erase selection" msgstr "Eliminar Selección" #: tools/editor/plugins/tile_map_editor_plugin.cpp -#, fuzzy msgid "Find tile" -msgstr "Encontrar Siguiente" +msgstr "Encontrar tile" #: tools/editor/plugins/tile_map_editor_plugin.cpp msgid "Transpose" msgstr "Transponer" #: tools/editor/plugins/tile_map_editor_plugin.cpp -#, fuzzy msgid "Mirror X" -msgstr "Espejar X (A)" +msgstr "Espejar X" #: tools/editor/plugins/tile_map_editor_plugin.cpp -#, fuzzy msgid "Mirror Y" -msgstr "Espejar Y (S)" +msgstr "Espejar Y" #: tools/editor/plugins/tile_map_editor_plugin.cpp msgid "Bucket" @@ -5914,7 +5898,7 @@ msgstr "Cargar Como Placeholder" #: tools/editor/scene_tree_editor.cpp msgid "Discard Instancing" -msgstr "" +msgstr "Descartar Instanciado" #: tools/editor/scene_tree_editor.cpp msgid "Open in Editor" diff --git a/tools/translations/fr.po b/tools/translations/fr.po index 37159f6b3d..386a7e6170 100644 --- a/tools/translations/fr.po +++ b/tools/translations/fr.po @@ -11,10 +11,10 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine editor\n" "POT-Creation-Date: \n" -"PO-Revision-Date: 2016-06-13 17:52+0000\n" -"Last-Translator: Hugo Locurcio <hugo.l@openmailbox.org>\n" -"Language-Team: French <https://hosted.weblate.org/projects/godot-engine/" -"godot/fr/>\n" +"PO-Revision-Date: 2016-06-19 13:17+0000\n" +"Last-Translator: Rémi Verschelde <akien@godotengine.org>\n" +"Language-Team: French <https://hosted.weblate.org/projects/godot-" +"engine/godot/fr/>\n" "Language: fr\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -35,42 +35,44 @@ msgid "step argument is zero!" msgstr "" #: modules/gdscript/gd_functions.cpp -#, fuzzy msgid "Not a script with an instance" -msgstr "Pas de scène sélectionnée à instancier !" +msgstr "N'est pas un script avec une instance" #: modules/gdscript/gd_functions.cpp msgid "Not based on a script" -msgstr "" +msgstr "N'est pas basé sur un script" #: modules/gdscript/gd_functions.cpp -#, fuzzy msgid "Not based on a resource file" -msgstr "Pas de ressource de police de destination !" +msgstr "N'est pas basé sur un fichier de ressource" #: modules/gdscript/gd_functions.cpp msgid "Invalid instance dictionary format (missing @path)" -msgstr "" +msgstr "Instance invalide pour le format de dictionnaire (@path manquant)" #: modules/gdscript/gd_functions.cpp msgid "Invalid instance dictionary format (can't load script at @path)" msgstr "" +"Instance invalide pour le format de dictionnaire (impossible de charger le " +"script depuis @path)" #: modules/gdscript/gd_functions.cpp msgid "Invalid instance dictionary format (invalid script at @path)" msgstr "" +"Instance invalide pour le format de dictionnaire (script invalide dans @path)" #: modules/gdscript/gd_functions.cpp msgid "Invalid instance dictionary (invalid subclasses)" msgstr "" +"Instance invalide pour le format de dictionnaire (sous-classes invalides)" #: 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 "" -"Une ressource SpriteFrames doit être créée et assignée à la propriété « " -"Frames » afin qu'AnimatedSprite les affiche." +"Une ressource SpriteFrames doit être créée ou assignée à la propriété « " +"Frames » afin qu'AnimatedSprite affiche les images." #: scene/2d/canvas_modulate.cpp msgid "" @@ -588,14 +590,12 @@ msgid "Anim Delete Keys" msgstr "" #: tools/editor/animation_editor.cpp -#, fuzzy msgid "Continuous" -msgstr "Continuer" +msgstr "Continu" #: tools/editor/animation_editor.cpp -#, fuzzy msgid "Discrete" -msgstr "Déconnecter" +msgstr "Discret" #: tools/editor/animation_editor.cpp msgid "Trigger" @@ -711,7 +711,7 @@ msgstr "" #: tools/editor/animation_editor.cpp #, fuzzy msgid "Change Anim Loop Interpolation" -msgstr "Modifier le nom de l'animation :" +msgstr "Changer l'interpolation de l'animation bouclée" #: tools/editor/animation_editor.cpp msgid "Anim Create Typed Value Key" @@ -1019,10 +1019,9 @@ msgstr "Colonne :" #: tools/editor/connections_dialog.cpp msgid "Method in target Node must be specified!" -msgstr "" +msgstr "La méthode du nœud cible doit être spécifiée !" #: tools/editor/connections_dialog.cpp -#, fuzzy msgid "Conect To Node:" msgstr "Connecter au nœud :" @@ -1042,15 +1041,13 @@ msgstr "Supprimer" #: tools/editor/connections_dialog.cpp msgid "Add Extra Call Argument:" -msgstr "" +msgstr "Ajouter des arguments supplémentaires :" #: tools/editor/connections_dialog.cpp -#, fuzzy msgid "Extra Call Arguments:" -msgstr "Paramètres :" +msgstr "Arguments supplémentaires :" #: tools/editor/connections_dialog.cpp -#, fuzzy msgid "Path to Node:" msgstr "Chemin vers le nœud :" @@ -1075,9 +1072,8 @@ msgid "Connect '%s' to '%s'" msgstr "Connecter « %s » à « %s »" #: tools/editor/connections_dialog.cpp -#, fuzzy msgid "Connecting Signal:" -msgstr "Connexions :" +msgstr "Connecter un signal :" #: tools/editor/connections_dialog.cpp msgid "Create Subscription" @@ -2834,7 +2830,6 @@ msgid "Create new animation in player." msgstr "" #: tools/editor/plugins/animation_player_editor_plugin.cpp -#, fuzzy msgid "Load animation from disk." msgstr "Charger une animation depuis le disque." @@ -2847,9 +2842,8 @@ msgid "Save the current animation" msgstr "Enregistrer l'animation actuelle" #: tools/editor/plugins/animation_player_editor_plugin.cpp -#, fuzzy msgid "Save As" -msgstr "Enregistrer sous…" +msgstr "Enregistrer sous" #: tools/editor/plugins/animation_player_editor_plugin.cpp msgid "Display list of animations in player." @@ -4045,7 +4039,7 @@ msgstr "Indentation automatique" #: tools/editor/plugins/script_editor_plugin.cpp #, fuzzy msgid "Soft Reload Script" -msgstr "Recharger le script outil" +msgstr "Recharger le script (mode doux)" #: tools/editor/plugins/script_editor_plugin.cpp #: tools/editor/plugins/shader_editor_plugin.cpp @@ -4137,7 +4131,6 @@ msgid "Help" msgstr "Aide" #: tools/editor/plugins/script_editor_plugin.cpp -#, fuzzy msgid "Contextual Help" msgstr "Aide contextuelle" @@ -4742,14 +4735,12 @@ msgid "Remove Class Items" msgstr "" #: tools/editor/plugins/theme_editor_plugin.cpp -#, fuzzy msgid "Create Empty Template" -msgstr "Créer un modèle" +msgstr "Créer un nouveau modèle" #: tools/editor/plugins/theme_editor_plugin.cpp -#, fuzzy msgid "Create Empty Editor Template" -msgstr "Créer un modèle" +msgstr "Créer un nouveau modèle d'éditeur" #: tools/editor/plugins/theme_editor_plugin.cpp msgid "CheckBox Radio1" @@ -4835,28 +4826,24 @@ msgid "Erase TileMap" msgstr "" #: tools/editor/plugins/tile_map_editor_plugin.cpp -#, fuzzy msgid "Erase selection" msgstr "Supprimer la sélection" #: tools/editor/plugins/tile_map_editor_plugin.cpp -#, fuzzy msgid "Find tile" -msgstr "Trouver le suivant" +msgstr "Chercher une case" #: tools/editor/plugins/tile_map_editor_plugin.cpp msgid "Transpose" msgstr "Transposer" #: tools/editor/plugins/tile_map_editor_plugin.cpp -#, fuzzy msgid "Mirror X" -msgstr "Miroir X (A)" +msgstr "Miroir X" #: tools/editor/plugins/tile_map_editor_plugin.cpp -#, fuzzy msgid "Mirror Y" -msgstr "Miroir Y (S)" +msgstr "Miroir Y" #: tools/editor/plugins/tile_map_editor_plugin.cpp msgid "Bucket" diff --git a/tools/translations/ko.po b/tools/translations/ko.po index afbe17965e..990a9aba82 100644 --- a/tools/translations/ko.po +++ b/tools/translations/ko.po @@ -8,57 +8,56 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine editor\n" "POT-Creation-Date: \n" -"PO-Revision-Date: \n" -"Last-Translator: volzhs <volzhs@gmail.com>\n" -"Language-Team: \n" +"PO-Revision-Date: 2016-06-19 13:30+0000\n" +"Last-Translator: 박한얼 <volzhs@gmail.com>\n" +"Language-Team: Korean <https://hosted.weblate.org/projects/godot-" +"engine/godot/ko/>\n" "Language: ko\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=1; plural=0;\n" -"X-Generator: Poedit 1.8.8\n" +"X-Generator: Weblate 2.7-dev\n" #: modules/gdscript/gd_functions.cpp msgid "Invalid type argument to convert(), use TYPE_* constants." -msgstr "" +msgstr "convert()하기 위한 인자 타입이 유효하지 않습니다, TYPE_* 상수를 사용하세요." #: modules/gdscript/gd_functions.cpp msgid "Not enough bytes for decoding bytes, or invalid format." -msgstr "" +msgstr "디코딩할 바이트가 모자라거나, 유효하지 않은 형식입니다." #: modules/gdscript/gd_functions.cpp msgid "step argument is zero!" -msgstr "" +msgstr "스텝 인자가 제로입니다!" #: modules/gdscript/gd_functions.cpp -#, fuzzy msgid "Not a script with an instance" -msgstr "인스턴스할 씬이 선택되지 않았습니다!" +msgstr "스크립트의 인스턴스가 아님" #: modules/gdscript/gd_functions.cpp msgid "Not based on a script" -msgstr "" +msgstr "스크립트에 기반하지 않음" #: modules/gdscript/gd_functions.cpp -#, fuzzy msgid "Not based on a resource file" -msgstr "폰트 리소스 경로가 없습니다." +msgstr "리소스 파일에 기반하지 않음" #: modules/gdscript/gd_functions.cpp msgid "Invalid instance dictionary format (missing @path)" -msgstr "" +msgstr "유효하지 않은 인스턴스 Dictionary 형식 (@path 없음)" #: modules/gdscript/gd_functions.cpp msgid "Invalid instance dictionary format (can't load script at @path)" -msgstr "" +msgstr "유효하지 않은 인스턴스 Dictionary 형식 (@path 에서 스크립트를 로드할 수 없음)" #: modules/gdscript/gd_functions.cpp msgid "Invalid instance dictionary format (invalid script at @path)" -msgstr "" +msgstr "유효하지 않은 인스턴스 Dictionary 형식 (@path의 스크립트가 유효하지 않음)" #: modules/gdscript/gd_functions.cpp msgid "Invalid instance dictionary (invalid subclasses)" -msgstr "" +msgstr "유효하지 않은 인스턴스 Dictionary (서브클래스가 유효하지 않음)" #: scene/2d/animated_sprite.cpp msgid "" @@ -475,22 +474,22 @@ msgstr "" #: scene/resources/dynamic_font.cpp #: tools/editor/io_plugins/editor_font_import_plugin.cpp msgid "Error initializing FreeType." -msgstr "FreeType 초기화 에러" +msgstr "FreeType 초기화 에러." #: scene/resources/dynamic_font.cpp #: tools/editor/io_plugins/editor_font_import_plugin.cpp msgid "Unknown font format." -msgstr "알 수 없는 폰트 포멧" +msgstr "알 수 없는 폰트 포멧." #: scene/resources/dynamic_font.cpp #: tools/editor/io_plugins/editor_font_import_plugin.cpp msgid "Error loading font." -msgstr "폰트 로딩 에러" +msgstr "폰트 로딩 에러." #: scene/resources/dynamic_font.cpp #: tools/editor/io_plugins/editor_font_import_plugin.cpp msgid "Invalid font size." -msgstr "유요하지 않은 폰트 사이즈" +msgstr "유요하지 않은 폰트 사이즈." #: tools/editor/animation_editor.cpp msgid "Disabled" @@ -569,18 +568,16 @@ msgid "Anim Delete Keys" msgstr "키 삭제" #: tools/editor/animation_editor.cpp -#, fuzzy msgid "Continuous" -msgstr "계속" +msgstr "연속적인" #: tools/editor/animation_editor.cpp -#, fuzzy msgid "Discrete" -msgstr "연결해제" +msgstr "비연속적인" #: tools/editor/animation_editor.cpp msgid "Trigger" -msgstr "" +msgstr "트리거" #: tools/editor/animation_editor.cpp msgid "Anim Add Key" @@ -690,9 +687,8 @@ msgid "Change Anim Loop" msgstr "애니메이션 루프 변경" #: tools/editor/animation_editor.cpp -#, fuzzy msgid "Change Anim Loop Interpolation" -msgstr "애니메이션 루프 변경" +msgstr "애니메이션 루프 보간 변경" #: tools/editor/animation_editor.cpp msgid "Anim Create Typed Value Key" @@ -732,28 +728,27 @@ msgstr "커서 단계 스냅 (초)." #: tools/editor/animation_editor.cpp msgid "Enable/Disable looping in animation." -msgstr "애니메이션 루프 활성화/비활성화 " +msgstr "애니메이션 루프 활성화/비활성화." #: tools/editor/animation_editor.cpp -#, fuzzy msgid "Enable/Disable interpolation when looping animation." -msgstr "애니메이션 루프 활성화/비활성화 " +msgstr "애니메이션 루프 시 보간 활성화/비활성화." #: tools/editor/animation_editor.cpp msgid "Add new tracks." -msgstr "새 트랙 추가" +msgstr "새 트랙 추가." #: tools/editor/animation_editor.cpp msgid "Move current track up." -msgstr "현재 트랙을 위로 이동" +msgstr "현재 트랙을 위로 이동." #: tools/editor/animation_editor.cpp msgid "Move current track down." -msgstr "현재 트랙을 아래로 이동" +msgstr "현재 트랙을 아래로 이동." #: tools/editor/animation_editor.cpp msgid "Remove selected track." -msgstr "선택된 트랙 삭제" +msgstr "선택된 트랙 삭제." #: tools/editor/animation_editor.cpp msgid "Track tools" @@ -761,7 +756,7 @@ msgstr "트랙 도구" #: tools/editor/animation_editor.cpp msgid "Enable editing of individual keys by clicking them." -msgstr "개별 키를 클릭함으로써 편집 활성화" +msgstr "개별 키를 클릭함으로써 편집 활성화." #: tools/editor/animation_editor.cpp msgid "Anim. Optimizer" @@ -926,7 +921,7 @@ msgstr "일치 결과 없음" #: tools/editor/code_editor.cpp msgid "Replaced %d Ocurrence(s)." -msgstr "%d 회 바뀜" +msgstr "%d 회 변경됨." #: tools/editor/code_editor.cpp msgid "Replace" @@ -965,11 +960,11 @@ msgstr "다음" #: tools/editor/code_editor.cpp msgid "Replaced %d ocurrence(s)." -msgstr "%d 회 바뀜" +msgstr "%d 회 변경됨." #: tools/editor/code_editor.cpp msgid "Not found!" -msgstr "찾을 수 없습니다." +msgstr "찾을 수 없습니다!" #: tools/editor/code_editor.cpp msgid "Replace By" @@ -1001,10 +996,9 @@ msgstr "칼럼:" #: tools/editor/connections_dialog.cpp msgid "Method in target Node must be specified!" -msgstr "대상 노드의 함수를 명시해야합니다." +msgstr "대상 노드의 함수를 명시해야합니다!" #: tools/editor/connections_dialog.cpp -#, fuzzy msgid "Conect To Node:" msgstr "연결할 노드:" @@ -1024,17 +1018,15 @@ msgstr "삭제" #: tools/editor/connections_dialog.cpp msgid "Add Extra Call Argument:" -msgstr "" +msgstr "별도의 호출 인자 추가:" #: tools/editor/connections_dialog.cpp -#, fuzzy msgid "Extra Call Arguments:" -msgstr "인수:" +msgstr "별도의 호출 인자:" #: tools/editor/connections_dialog.cpp -#, fuzzy msgid "Path to Node:" -msgstr "노드 경로" +msgstr "노드 경로:" #: tools/editor/connections_dialog.cpp msgid "Make Function" @@ -1057,9 +1049,8 @@ msgid "Connect '%s' to '%s'" msgstr "'%s'를 '%s'에 연결" #: tools/editor/connections_dialog.cpp -#, fuzzy msgid "Connecting Signal:" -msgstr "연결:" +msgstr "시그널 연결:" #: tools/editor/connections_dialog.cpp msgid "Create Subscription" @@ -1241,7 +1232,7 @@ msgstr "미리보기:" #: tools/editor/editor_file_system.cpp msgid "Cannot go into subdir:" -msgstr "하위 디렉토리로 이동할 수 없습니다." +msgstr "하위 디렉토리로 이동할 수 없습니다:" #: tools/editor/editor_file_system.cpp msgid "ScanSources" @@ -1338,7 +1329,7 @@ msgstr "설정 중.." #: tools/editor/editor_log.cpp msgid " Output:" -msgstr "출력:" +msgstr " 출력:" #: tools/editor/editor_node.cpp tools/editor/editor_reimport_dialog.cpp msgid "Re-Importing" @@ -1404,7 +1395,7 @@ msgstr "" #: tools/editor/editor_node.cpp msgid "Failed to load resource." -msgstr "리소스 로드 실패" +msgstr "리소스 로드 실패." #: tools/editor/editor_node.cpp msgid "Can't load MeshLibrary for merging!" @@ -1493,7 +1484,7 @@ msgstr "현재 씬이 저장되지 않았습니다. 실행전에 저장해주세 #: tools/editor/editor_node.cpp msgid "Could not start subprocess!" -msgstr "서브 프로세스를 시작할 수 없습니다." +msgstr "서브 프로세스를 시작할 수 없습니다!" #: tools/editor/editor_node.cpp msgid "Open Scene" @@ -1609,7 +1600,7 @@ msgstr "레이아웃 로드" #: tools/editor/editor_node.cpp tools/editor/project_export.cpp msgid "Default" -msgstr "" +msgstr "Default" #: tools/editor/editor_node.cpp msgid "Delete Layout" @@ -1634,19 +1625,19 @@ msgstr "씬" #: tools/editor/editor_node.cpp msgid "Go to previously opened scene." -msgstr "이전에 열었던 씬으로 가기" +msgstr "이전에 열었던 씬으로 가기." #: tools/editor/editor_node.cpp msgid "Fullscreen Mode" -msgstr "" +msgstr "전체화면 모드" #: tools/editor/editor_node.cpp msgid "Distraction Free Mode" -msgstr "" +msgstr "초집중 모드" #: tools/editor/editor_node.cpp msgid "Operations with scene files." -msgstr "씬 파일 동작" +msgstr "씬 파일 동작." #: tools/editor/editor_node.cpp msgid "New Scene" @@ -1719,7 +1710,7 @@ msgstr "종료하고 프로젝트 목록으로 돌아가기" #: tools/editor/editor_node.cpp msgid "Import assets to the project." -msgstr "프로젝트로 에셋 가져오기" +msgstr "프로젝트로 에셋 가져오기." #: tools/editor/editor_node.cpp #: tools/editor/io_plugins/editor_bitmask_import_plugin.cpp @@ -1743,7 +1734,7 @@ msgstr "도구" #: tools/editor/editor_node.cpp msgid "Export the project to many platforms." -msgstr "프로젝트를 많은 플랫폼으로 내보내기" +msgstr "프로젝트를 많은 플랫폼으로 내보내기." #: tools/editor/editor_node.cpp tools/editor/project_export.cpp msgid "Export" @@ -1768,7 +1759,7 @@ msgstr "씬 일시 정지" #: tools/editor/editor_node.cpp msgid "Stop the scene." -msgstr "씬 정지" +msgstr "씬 정지." #: tools/editor/editor_node.cpp #: tools/editor/plugins/sample_library_editor_plugin.cpp @@ -1777,7 +1768,7 @@ msgstr "정지" #: tools/editor/editor_node.cpp msgid "Play the edited scene." -msgstr "편집 중인 씬 실행" +msgstr "편집 중인 씬 실행." #: tools/editor/editor_node.cpp msgid "Play Scene" @@ -1929,23 +1920,23 @@ msgstr "디스크에서 기존 리소스를 로드하여 편집합니다." #: tools/editor/editor_node.cpp msgid "Save the currently edited resource." -msgstr "현재 편집된 리소스 저장" +msgstr "현재 편집된 리소스 저장." #: tools/editor/editor_node.cpp tools/editor/plugins/script_editor_plugin.cpp msgid "Save As.." -msgstr "다른 이름으로 저장" +msgstr "다른 이름으로 저장.." #: tools/editor/editor_node.cpp msgid "Go to the previous edited object in history." -msgstr "히스토리상 이전에 편집한 오브젝트로 가기" +msgstr "히스토리상 이전에 편집한 오브젝트로 가기." #: tools/editor/editor_node.cpp msgid "Go to the next edited object in history." -msgstr "히스토리상 다음에 편집한 오브젝트로 가기" +msgstr "히스토리상 다음에 편집한 오브젝트로 가기." #: tools/editor/editor_node.cpp msgid "History of recently edited objects." -msgstr "최근 편집 오브젝트 히스토리" +msgstr "최근 편집 오브젝트 히스토리." #: tools/editor/editor_node.cpp msgid "Object properties." @@ -2122,7 +2113,7 @@ msgstr "노드에서 가져오기:" #: tools/editor/file_type_cache.cpp msgid "Can't open file_type_cache.cch for writing, not saving file type cache!" -msgstr "file_type_cache.cch를 열수 없어서, 파일 타입 캐쉬를 저장하지 않습니다." +msgstr "file_type_cache.cch를 열수 없어서, 파일 타입 캐쉬를 저장하지 않습니다!" #: tools/editor/groups_editor.cpp msgid "Add to Group" @@ -2145,7 +2136,7 @@ msgstr "가져올 비트 마스크가 없습니다!" #: tools/editor/io_plugins/editor_scene_import_plugin.cpp #: tools/editor/io_plugins/editor_texture_import_plugin.cpp msgid "Target path is empty." -msgstr "대상 경로가 없습니다!" +msgstr "대상 경로가 없습니다." #: tools/editor/io_plugins/editor_bitmask_import_plugin.cpp #: tools/editor/io_plugins/editor_sample_import_plugin.cpp @@ -2204,7 +2195,7 @@ msgstr "소스 폰트 파일이 없습니다!" #: tools/editor/io_plugins/editor_font_import_plugin.cpp msgid "No target font resource!" -msgstr "폰트 리소스 경로가 없습니다." +msgstr "폰트 리소스 경로가 없습니다!" #: tools/editor/io_plugins/editor_font_import_plugin.cpp msgid "Can't load/process source font." @@ -2228,7 +2219,7 @@ msgstr "리소스 경로:" #: tools/editor/io_plugins/editor_font_import_plugin.cpp msgid "The quick brown fox jumps over the lazy dog." -msgstr "" +msgstr "The quick brown fox jumps over the lazy dog." #: tools/editor/io_plugins/editor_font_import_plugin.cpp msgid "Test:" @@ -2374,7 +2365,7 @@ msgstr "가져오기 후 실행할 스크립트가 유효하지 않거나 깨져 #: tools/editor/io_plugins/editor_scene_import_plugin.cpp msgid "Error importing scene." -msgstr "씬 가져오기 에러" +msgstr "씬 가져오기 에러." #: tools/editor/io_plugins/editor_scene_import_plugin.cpp msgid "Import 3D Scene" @@ -2728,7 +2719,7 @@ msgstr "새 애니메이션 이름:" #: tools/editor/plugins/animation_player_editor_plugin.cpp msgid "New Anim" -msgstr "" +msgstr "New Anim" #: tools/editor/plugins/animation_player_editor_plugin.cpp msgid "Change Animation Name:" @@ -2823,29 +2814,27 @@ msgstr "애니메이션 재생 속도를 전체적으로 조절." #: tools/editor/plugins/animation_player_editor_plugin.cpp msgid "Create new animation in player." -msgstr "새로운 애니메이션 만들기" +msgstr "새로운 애니메이션 만들기." #: tools/editor/plugins/animation_player_editor_plugin.cpp -#, fuzzy msgid "Load animation from disk." -msgstr "디스크에서 애니메이션 로드" +msgstr "디스크에서 애니메이션 로드." #: tools/editor/plugins/animation_player_editor_plugin.cpp msgid "Load an animation from disk." -msgstr "디스크에서 애니메이션 로드" +msgstr "디스크에서 애니메이션 로드." #: tools/editor/plugins/animation_player_editor_plugin.cpp msgid "Save the current animation" msgstr "현재 애니메이션 저장" #: tools/editor/plugins/animation_player_editor_plugin.cpp -#, fuzzy msgid "Save As" msgstr "다른 이름으로 저장" #: tools/editor/plugins/animation_player_editor_plugin.cpp msgid "Display list of animations in player." -msgstr "애니메이션 목록 표시" +msgstr "애니메이션 목록 표시." #: tools/editor/plugins/animation_player_editor_plugin.cpp msgid "Autoplay on Load" @@ -3101,7 +3090,7 @@ msgstr "라이트맵 오크트리 굽기 프로세스 재설정 (처음부터 #: tools/editor/plugins/camera_editor_plugin.cpp #: tools/editor/plugins/sample_library_editor_plugin.cpp msgid "Preview" -msgstr "미리보기:" +msgstr "미리보기" #: tools/editor/plugins/canvas_item_editor_plugin.cpp msgid "Configure Snap" @@ -3196,7 +3185,7 @@ msgstr "" #: tools/editor/plugins/canvas_item_editor_plugin.cpp msgid "Click to change object's rotation pivot." -msgstr "오브젝트의 회전 피벗 변경" +msgstr "오브젝트의 회전 피벗 변경." #: tools/editor/plugins/canvas_item_editor_plugin.cpp msgid "Pan Mode" @@ -3368,7 +3357,7 @@ msgstr "폴리곤 편집 (점 삭제)" #: 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 "처음부터 새로운 폴리곤 만들기" +msgstr "처음부터 새로운 폴리곤 만들기." #: tools/editor/plugins/collision_polygon_editor_plugin.cpp msgid "Create Poly3D" @@ -3441,17 +3430,17 @@ msgstr "기존 폴리곤 편집:" #: tools/editor/plugins/light_occluder_2d_editor_plugin.cpp #: tools/editor/plugins/navigation_polygon_editor_plugin.cpp msgid "LMB: Move Point." -msgstr "좌클릭: 포인트 이동" +msgstr "좌클릭: 포인트 이동." #: tools/editor/plugins/light_occluder_2d_editor_plugin.cpp #: tools/editor/plugins/navigation_polygon_editor_plugin.cpp msgid "Ctrl+LMB: Split Segment." -msgstr "컨트롤+좌클릭: 세그먼트 분할" +msgstr "컨트롤+좌클릭: 세그먼트 분할." #: tools/editor/plugins/light_occluder_2d_editor_plugin.cpp #: tools/editor/plugins/navigation_polygon_editor_plugin.cpp msgid "RMB: Erase Point." -msgstr "우클릭: 포인트 삭제" +msgstr "우클릭: 포인트 삭제." #: tools/editor/plugins/mesh_instance_editor_plugin.cpp msgid "Mesh is empty!" @@ -3487,7 +3476,7 @@ msgstr "MeshInstance에 메쉬가 없습니다!" #: tools/editor/plugins/mesh_instance_editor_plugin.cpp msgid "Could not create outline!" -msgstr "외곽선을 만들수 없습니다." +msgstr "외곽선을 만들수 없습니다!" #: tools/editor/plugins/mesh_instance_editor_plugin.cpp msgid "Create Outline" @@ -3901,7 +3890,7 @@ msgstr "샘플 파일 열기" #: tools/editor/plugins/sample_library_editor_plugin.cpp msgid "ERROR: Couldn't load sample!" -msgstr "에러: 샘플을 로드할 수 없습니다." +msgstr "에러: 샘플을 로드할 수 없습니다!" #: tools/editor/plugins/sample_library_editor_plugin.cpp msgid "Add Sample" @@ -4131,9 +4120,8 @@ msgid "Help" msgstr "도움말" #: tools/editor/plugins/script_editor_plugin.cpp -#, fuzzy msgid "Contextual Help" -msgstr "문맥상 찾기" +msgstr "도움말 보기" #: tools/editor/plugins/script_editor_plugin.cpp msgid "Tutorials" @@ -4157,15 +4145,15 @@ msgstr "도움말 검색" #: tools/editor/plugins/script_editor_plugin.cpp msgid "Search the reference documentation." -msgstr "레퍼런스 문서 검색" +msgstr "레퍼런스 문서 검색." #: tools/editor/plugins/script_editor_plugin.cpp msgid "Go to previous edited document." -msgstr "이전 편집 문서로 이동" +msgstr "이전 편집 문서로 이동." #: tools/editor/plugins/script_editor_plugin.cpp msgid "Go to next edited document." -msgstr "다음 편집 문서로 이동" +msgstr "다음 편집 문서로 이동." #: tools/editor/plugins/script_editor_plugin.cpp msgid "Create Script" @@ -4578,7 +4566,7 @@ msgstr "회전 스냅 (도):" #: tools/editor/plugins/spatial_editor_plugin.cpp msgid "Scale Snap (%):" -msgstr "크기 스냅 (%)" +msgstr "크기 스냅 (%):" #: tools/editor/plugins/spatial_editor_plugin.cpp msgid "Viewport Settings" @@ -4626,11 +4614,11 @@ msgstr "변환 타입" #: tools/editor/plugins/spatial_editor_plugin.cpp msgid "Pre" -msgstr "" +msgstr "Pre" #: tools/editor/plugins/spatial_editor_plugin.cpp msgid "Post" -msgstr "" +msgstr "Post" #: tools/editor/plugins/sprite_frames_editor_plugin.cpp msgid "ERROR: Couldn't load frame resource!" @@ -4738,62 +4726,60 @@ msgid "Remove Class Items" msgstr "클래스 아이템 삭제" #: tools/editor/plugins/theme_editor_plugin.cpp -#, fuzzy msgid "Create Empty Template" -msgstr "템플릿 만들기" +msgstr "빈 템플릿 만들기" #: tools/editor/plugins/theme_editor_plugin.cpp -#, fuzzy msgid "Create Empty Editor Template" -msgstr "템플릿 만들기" +msgstr "빈 에디터 템플릿 만들기" #: tools/editor/plugins/theme_editor_plugin.cpp msgid "CheckBox Radio1" -msgstr "" +msgstr "CheckBox Radio1" #: tools/editor/plugins/theme_editor_plugin.cpp msgid "CheckBox Radio2" -msgstr "" +msgstr "CheckBox Radio2" #: tools/editor/plugins/theme_editor_plugin.cpp msgid "Item" -msgstr "" +msgstr "Item" #: tools/editor/plugins/theme_editor_plugin.cpp msgid "Check Item" -msgstr "" +msgstr "Check Item" #: tools/editor/plugins/theme_editor_plugin.cpp msgid "Checked Item" -msgstr "" +msgstr "Checked Item" #: tools/editor/plugins/theme_editor_plugin.cpp msgid "Has" -msgstr "" +msgstr "Has" #: tools/editor/plugins/theme_editor_plugin.cpp msgid "Many" -msgstr "" +msgstr "Many" #: tools/editor/plugins/theme_editor_plugin.cpp tools/editor/project_export.cpp msgid "Options" -msgstr "" +msgstr "옵션" #: tools/editor/plugins/theme_editor_plugin.cpp msgid "Have,Many,Several,Options!" -msgstr "" +msgstr "Have,Many,Several,Options!" #: tools/editor/plugins/theme_editor_plugin.cpp msgid "Tab 1" -msgstr "" +msgstr "Tab 1" #: tools/editor/plugins/theme_editor_plugin.cpp msgid "Tab 2" -msgstr "" +msgstr "Tab 2" #: tools/editor/plugins/theme_editor_plugin.cpp msgid "Tab 3" -msgstr "" +msgstr "Tab 3" #: tools/editor/plugins/theme_editor_plugin.cpp #: tools/editor/project_settings.cpp tools/editor/scene_tree_editor.cpp @@ -4831,28 +4817,24 @@ msgid "Erase TileMap" msgstr "타일맵 지우기" #: tools/editor/plugins/tile_map_editor_plugin.cpp -#, fuzzy msgid "Erase selection" -msgstr "선택 지우기" +msgstr "선택부분 지우기" #: tools/editor/plugins/tile_map_editor_plugin.cpp -#, fuzzy msgid "Find tile" -msgstr "다음 찾기" +msgstr "타일 찾기" #: tools/editor/plugins/tile_map_editor_plugin.cpp msgid "Transpose" msgstr "바꾸기" #: tools/editor/plugins/tile_map_editor_plugin.cpp -#, fuzzy msgid "Mirror X" -msgstr "X축 뒤집기 (A)" +msgstr "X축 뒤집기" #: tools/editor/plugins/tile_map_editor_plugin.cpp -#, fuzzy msgid "Mirror Y" -msgstr "Y축 뒤집기 (S)" +msgstr "Y축 뒤집기" #: tools/editor/plugins/tile_map_editor_plugin.cpp msgid "Bucket" @@ -4917,15 +4899,15 @@ msgstr "스크립트 옵션 편집" #: tools/editor/project_export.cpp msgid "Please export outside the project folder!" -msgstr "프로젝트 폴더 바깥에 내보내기를 하세요." +msgstr "프로젝트 폴더 바깥에 내보내기를 하세요!" #: tools/editor/project_export.cpp msgid "Error exporting project!" -msgstr "프로젝트 내보내기 중 에러" +msgstr "프로젝트 내보내기 중 에러!" #: tools/editor/project_export.cpp msgid "Error writing the project PCK!" -msgstr "프로젝트 PCK 작성중 에러" +msgstr "프로젝트 PCK 작성중 에러!" #: tools/editor/project_export.cpp msgid "No exporter for platform '%s' yet." @@ -4941,15 +4923,15 @@ msgstr "이미지 그룹 변경" #: tools/editor/project_export.cpp msgid "Group name can't be empty!" -msgstr "그룹 이름을 지정해야 합니다." +msgstr "그룹 이름을 지정해야 합니다!" #: tools/editor/project_export.cpp msgid "Invalid character in group name!" -msgstr "그룹 이름에 유효하지 않은 문자가 사용되었습니다." +msgstr "그룹 이름에 유효하지 않은 문자가 사용되었습니다!" #: tools/editor/project_export.cpp msgid "Group name already exists!" -msgstr "그룹 이름이 이미 사용중입니다." +msgstr "그룹 이름이 이미 사용중입니다!" #: tools/editor/project_export.cpp msgid "Add Image Group" @@ -4981,15 +4963,15 @@ msgstr "리소스" #: tools/editor/project_export.cpp msgid "Export selected resources (including dependencies)." -msgstr "선택된 리소스 내보내기 (종속된 리소스 포함)" +msgstr "선택된 리소스 내보내기 (종속된 리소스 포함)." #: tools/editor/project_export.cpp msgid "Export all resources in the project." -msgstr "프로젝트의 모든 리소스 내보내기" +msgstr "프로젝트의 모든 리소스 내보내기." #: tools/editor/project_export.cpp msgid "Export all files in the project directory." -msgstr "프로젝트 디렉토리 안의 모든 파일 내보내기" +msgstr "프로젝트 디렉토리 안의 모든 파일 내보내기." #: tools/editor/project_export.cpp msgid "Export Mode:" @@ -5014,7 +4996,7 @@ msgstr "내보내기 시, 제외시킬 파일 (콤마로 구분, 예: *.json, *. #: tools/editor/project_export.cpp msgid "Convert text scenes to binary on export." -msgstr "내보내기 시, 텍스트 기반 씬 파일을 바이너리 형식으로 변환" +msgstr "내보내기 시, 텍스트 기반 씬 파일을 바이너리 형식으로 변환." #: tools/editor/project_export.cpp msgid "Images" @@ -5271,7 +5253,7 @@ msgstr "종료" #: tools/editor/project_settings.cpp msgid "Key " -msgstr "키" +msgstr "키 " #: tools/editor/project_settings.cpp msgid "Joy Button" @@ -5287,7 +5269,7 @@ msgstr "마우스 버튼" #: tools/editor/project_settings.cpp msgid "Invalid action (anything goes but '/' or ':')." -msgstr "유효하지 않은 액션 ('/' 또는 ':' 문자 사용 불가)" +msgstr "유효하지 않은 액션 ('/' 또는 ':' 문자 사용 불가)." #: tools/editor/project_settings.cpp msgid "Action '%s' already exists!" @@ -5589,11 +5571,11 @@ msgstr "파일 로드 에러: 리소스가 아닙니다!" #: tools/editor/property_editor.cpp msgid "Couldn't load image" -msgstr "이미지를 로드할 수 없습니다." +msgstr "이미지를 로드할 수 없음" #: tools/editor/property_editor.cpp msgid "Bit %d, val %d." -msgstr "" +msgstr "Bit %d, val %d." #: tools/editor/property_editor.cpp msgid "On" @@ -5609,7 +5591,7 @@ msgstr "속성:" #: tools/editor/property_editor.cpp msgid "Global" -msgstr "" +msgstr "Global" #: tools/editor/property_editor.cpp msgid "Sections:" @@ -5877,7 +5859,7 @@ msgstr "Placeholder로써 로드" #: tools/editor/scene_tree_editor.cpp msgid "Discard Instancing" -msgstr "" +msgstr "인스턴스 폐기" #: tools/editor/scene_tree_editor.cpp msgid "Open in Editor" @@ -5913,7 +5895,7 @@ msgstr "디렉토리를 자신으로 이동할 수 없습니다." #: tools/editor/scenes_dock.cpp msgid "Can't operate on '..'" -msgstr "'..'에 수행할 수 없습니다." +msgstr "'..'에 수행할 수 없음" #: tools/editor/scenes_dock.cpp msgid "Pick New Name and Location For:" @@ -6017,23 +5999,23 @@ msgstr "파일 시스템에 스크립트를 생성할 수 없습니다." #: tools/editor/script_create_dialog.cpp msgid "Path is empty" -msgstr "경로가 비어 있습니다." +msgstr "경로가 비어 있음" #: tools/editor/script_create_dialog.cpp msgid "Path is not local" -msgstr "경로가 로컬이 아닙니다." +msgstr "경로가 로컬이 아님" #: tools/editor/script_create_dialog.cpp msgid "Invalid base path" -msgstr "기본 경로가 유요하지 않습니다." +msgstr "기본 경로가 유요하지 않음" #: tools/editor/script_create_dialog.cpp msgid "File exists" -msgstr "파일이 존재합니다." +msgstr "파일이 존재함" #: tools/editor/script_create_dialog.cpp msgid "Invalid extension" -msgstr "확장자가 유요하지 않습니다." +msgstr "확장자가 유요하지 않음" #: tools/editor/script_create_dialog.cpp msgid "Valid path" @@ -6113,7 +6095,7 @@ msgstr "실시간 씬 트리:" #: tools/editor/script_editor_debugger.cpp msgid "Remote Object Properties: " -msgstr "원격 오브젝트 속성:" +msgstr "원격 오브젝트 속성: " #: tools/editor/script_editor_debugger.cpp msgid "Profiler" diff --git a/tools/translations/pt_BR.po b/tools/translations/pt_BR.po index eeab9625cf..dadd54d273 100644 --- a/tools/translations/pt_BR.po +++ b/tools/translations/pt_BR.po @@ -9,10 +9,10 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine editor\n" "POT-Creation-Date: 2016-05-30\n" -"PO-Revision-Date: 2016-06-15 01:22+0000\n" +"PO-Revision-Date: 2016-06-20 01:48+0000\n" "Last-Translator: George Marques <georgemjesus@gmail.com>\n" -"Language-Team: Portuguese (Brazil) <https://hosted.weblate.org/projects/" -"godot-engine/godot/pt_BR/>\n" +"Language-Team: Portuguese (Brazil) <https://hosted.weblate.org/projects" +"/godot-engine/godot/pt_BR/>\n" "Language: pt_BR\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -22,45 +22,45 @@ msgstr "" #: modules/gdscript/gd_functions.cpp msgid "Invalid type argument to convert(), use TYPE_* constants." -msgstr "" +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." -msgstr "" +msgstr "Não há bytes suficientes para decodificar, ou o formato é inválido." #: modules/gdscript/gd_functions.cpp msgid "step argument is zero!" -msgstr "" +msgstr "o argumento step é zero!" #: modules/gdscript/gd_functions.cpp -#, fuzzy msgid "Not a script with an instance" -msgstr "Nenhuma cena selecionada para instanciar!" +msgstr "Não é um script com uma instância" #: modules/gdscript/gd_functions.cpp msgid "Not based on a script" -msgstr "" +msgstr "Não é baseado num script" #: modules/gdscript/gd_functions.cpp -#, fuzzy msgid "Not based on a resource file" -msgstr "Falta recurso de fonte destino!" +msgstr "Não é baseado num arquivo de recurso" #: modules/gdscript/gd_functions.cpp msgid "Invalid instance dictionary format (missing @path)" -msgstr "" +msgstr "Formato de dicionário de instância inválido (faltando @path)" #: modules/gdscript/gd_functions.cpp msgid "Invalid instance dictionary format (can't load script at @path)" msgstr "" +"Formato de dicionário de instância inválido (não se pôde carregar o script " +"em @path)" #: modules/gdscript/gd_functions.cpp msgid "Invalid instance dictionary format (invalid script at @path)" -msgstr "" +msgstr "Formato de dicionário de instância inválido (script inválido em @path)" #: modules/gdscript/gd_functions.cpp msgid "Invalid instance dictionary (invalid subclasses)" -msgstr "" +msgstr "Dicionário de instância inválido (subclasses inválidas)" #: scene/2d/animated_sprite.cpp msgid "" @@ -582,18 +582,16 @@ msgid "Anim Delete Keys" msgstr "Excluir Chaves da Anim" #: tools/editor/animation_editor.cpp -#, fuzzy msgid "Continuous" -msgstr "Continuar" +msgstr "Contínuo" #: tools/editor/animation_editor.cpp -#, fuzzy msgid "Discrete" -msgstr "Disconectar" +msgstr "Discreto" #: tools/editor/animation_editor.cpp msgid "Trigger" -msgstr "" +msgstr "Gatilho" #: tools/editor/animation_editor.cpp msgid "Anim Add Key" @@ -703,9 +701,8 @@ msgid "Change Anim Loop" msgstr "Mudar Loop da Animação" #: tools/editor/animation_editor.cpp -#, fuzzy msgid "Change Anim Loop Interpolation" -msgstr "Mudar Loop da Animação" +msgstr "Mudar Interpolação do Loop da Animação" #: tools/editor/animation_editor.cpp msgid "Anim Create Typed Value Key" @@ -748,9 +745,8 @@ msgid "Enable/Disable looping in animation." msgstr "Habilitar/Desabilitar loop de animação." #: tools/editor/animation_editor.cpp -#, fuzzy msgid "Enable/Disable interpolation when looping animation." -msgstr "Habilitar/Desabilitar loop de animação." +msgstr "Habilitar/Desabilitar interpolação quando repetindo a animação." #: tools/editor/animation_editor.cpp msgid "Add new tracks." @@ -1017,7 +1013,6 @@ 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 "Conect To Node:" msgstr "Conectar ao Nó:" @@ -1037,15 +1032,13 @@ msgstr "Remover" #: tools/editor/connections_dialog.cpp msgid "Add Extra Call Argument:" -msgstr "" +msgstr "Adicionar Argumento de Chamada Extra:" #: tools/editor/connections_dialog.cpp -#, fuzzy msgid "Extra Call Arguments:" -msgstr "Argumentos:" +msgstr "Argumentos de Chamada Extras:" #: tools/editor/connections_dialog.cpp -#, fuzzy msgid "Path to Node:" msgstr "Caminho para o Nó:" @@ -1070,9 +1063,8 @@ msgid "Connect '%s' to '%s'" msgstr "Conectar \"%s\" a \"%s\"" #: tools/editor/connections_dialog.cpp -#, fuzzy msgid "Connecting Signal:" -msgstr "Conexões:" +msgstr "Conectando Sinal:" #: tools/editor/connections_dialog.cpp msgid "Create Subscription" @@ -1653,11 +1645,11 @@ msgstr "Ir para cena aberta anteriormente." #: tools/editor/editor_node.cpp msgid "Fullscreen Mode" -msgstr "" +msgstr "Modo Tela-Cheia" #: tools/editor/editor_node.cpp msgid "Distraction Free Mode" -msgstr "" +msgstr "Modo Sem Distrações" #: tools/editor/editor_node.cpp msgid "Operations with scene files." @@ -2849,7 +2841,6 @@ msgid "Create new animation in player." msgstr "Criar nova animação no player." #: tools/editor/plugins/animation_player_editor_plugin.cpp -#, fuzzy msgid "Load animation from disk." msgstr "Carregar uma animação do disco." @@ -2862,9 +2853,8 @@ msgid "Save the current animation" msgstr "Salvar a animação atual" #: tools/editor/plugins/animation_player_editor_plugin.cpp -#, fuzzy msgid "Save As" -msgstr "Salvar Como..." +msgstr "Salvar Como" #: tools/editor/plugins/animation_player_editor_plugin.cpp msgid "Display list of animations in player." @@ -4063,9 +4053,8 @@ msgid "Auto Indent" msgstr "Auto Recuar" #: tools/editor/plugins/script_editor_plugin.cpp -#, fuzzy msgid "Soft Reload Script" -msgstr "Recarregar Tool Script" +msgstr "Recarregar Script (suave)" #: tools/editor/plugins/script_editor_plugin.cpp #: tools/editor/plugins/shader_editor_plugin.cpp @@ -4157,9 +4146,8 @@ msgid "Help" msgstr "Ajuda" #: tools/editor/plugins/script_editor_plugin.cpp -#, fuzzy msgid "Contextual Help" -msgstr "Contextual" +msgstr "Ajuda Contextual" #: tools/editor/plugins/script_editor_plugin.cpp msgid "Tutorials" @@ -4764,14 +4752,12 @@ msgid "Remove Class Items" msgstr "Remover Itens de Classe" #: tools/editor/plugins/theme_editor_plugin.cpp -#, fuzzy msgid "Create Empty Template" -msgstr "Criar Modelo" +msgstr "Criar Modelo Vazio" #: tools/editor/plugins/theme_editor_plugin.cpp -#, fuzzy msgid "Create Empty Editor Template" -msgstr "Criar Modelo" +msgstr "Criar Modelo de Editor Vazio" #: tools/editor/plugins/theme_editor_plugin.cpp msgid "CheckBox Radio1" @@ -4857,28 +4843,24 @@ msgid "Erase TileMap" msgstr "Apagar TileMap" #: tools/editor/plugins/tile_map_editor_plugin.cpp -#, fuzzy msgid "Erase selection" msgstr "Apagar Seleção" #: tools/editor/plugins/tile_map_editor_plugin.cpp -#, fuzzy msgid "Find tile" -msgstr "Localizar próximo" +msgstr "Localizar tile" #: tools/editor/plugins/tile_map_editor_plugin.cpp msgid "Transpose" msgstr "Transpor" #: tools/editor/plugins/tile_map_editor_plugin.cpp -#, fuzzy msgid "Mirror X" -msgstr "Espelhar X (A)" +msgstr "Espelhar X" #: tools/editor/plugins/tile_map_editor_plugin.cpp -#, fuzzy msgid "Mirror Y" -msgstr "Espelhar Y (S)" +msgstr "Espelhar Y" #: tools/editor/plugins/tile_map_editor_plugin.cpp msgid "Bucket" @@ -5911,7 +5893,7 @@ msgstr "Carregar como Substituto" #: tools/editor/scene_tree_editor.cpp msgid "Discard Instancing" -msgstr "" +msgstr "Descartar Instanciação" #: tools/editor/scene_tree_editor.cpp msgid "Open in Editor" diff --git a/tools/translations/ru.po b/tools/translations/ru.po index e80f237577..63fb6c4177 100644 --- a/tools/translations/ru.po +++ b/tools/translations/ru.po @@ -9,59 +9,58 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine editor\n" "POT-Creation-Date: \n" -"PO-Revision-Date: 2016-06-10 11:37+0000\n" +"PO-Revision-Date: 2016-06-19 17:29+0300\n" "Last-Translator: DimOkGamer <dimokgamer@gmail.com>\n" -"Language-Team: Russian <https://hosted.weblate.org/projects/godot-engine/" -"godot/ru/>\n" +"Language-Team: Russian <https://hosted.weblate.org/projects/godot-" +"engine/godot/ru/>\n" "Language: ru\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Plural-Forms: nplurals=3; plural=n%10==1 && n%100!=11 ? 0 : n%10>=2 && n" -"%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2;\n" -"X-Generator: Weblate 2.7-dev\n" +"Plural-Forms: nplurals=3; plural=n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=" +"4 && (n%100<10 || n%100>=20) ? 1 : 2;\n" +"X-Generator: Poedit 1.8.8\n" #: modules/gdscript/gd_functions.cpp msgid "Invalid type argument to convert(), use TYPE_* constants." -msgstr "" +msgstr "Неверный тип аргумента для convert(), используйте TYPE_* константы." #: modules/gdscript/gd_functions.cpp msgid "Not enough bytes for decoding bytes, or invalid format." -msgstr "" +msgstr "Не хватает байтов для декодирования байтов, или неверный формат." #: modules/gdscript/gd_functions.cpp msgid "step argument is zero!" -msgstr "" +msgstr "Аргумент шага равен нулю!" #: modules/gdscript/gd_functions.cpp -#, fuzzy msgid "Not a script with an instance" -msgstr "Не выбрана сцена!" +msgstr "Скрипт без экземпляра" #: modules/gdscript/gd_functions.cpp msgid "Not based on a script" -msgstr "" +msgstr "Основан не на скрипте" #: modules/gdscript/gd_functions.cpp -#, fuzzy msgid "Not based on a resource file" -msgstr "Нет целевого ресурса шрифта!" +msgstr "Основан не на файле ресурсов" #: modules/gdscript/gd_functions.cpp msgid "Invalid instance dictionary format (missing @path)" -msgstr "" +msgstr "Недопустимый формат экземпляра словаря (отсутствует @path)" #: modules/gdscript/gd_functions.cpp msgid "Invalid instance dictionary format (can't load script at @path)" msgstr "" +"Недопустимый формат экземпляра словаря (невозможно загрузить скрипт из @path)" #: modules/gdscript/gd_functions.cpp msgid "Invalid instance dictionary format (invalid script at @path)" -msgstr "" +msgstr "Недопустимый формат экземпляра словаря (неверный скрипт в @path)" #: modules/gdscript/gd_functions.cpp msgid "Invalid instance dictionary (invalid subclasses)" -msgstr "" +msgstr "Недопустимый экземпляр словаря (неверные подклассы)" #: scene/2d/animated_sprite.cpp msgid "" @@ -168,8 +167,7 @@ msgstr "" #: scene/2d/remote_transform_2d.cpp msgid "Path property must point to a valid Node2D node to work." -msgstr "" -"Свойство Path должен указывать на действительный нод Node2D для работы." +msgstr "Свойство Path должен указывать на действительный нод Node2D для работы." #: scene/2d/sample_player_2d.cpp scene/audio/sample_player.cpp msgid "" @@ -192,8 +190,8 @@ msgid "" "The Viewport set in the path property must be set as 'render target' in " "order for this sprite to work." msgstr "" -"Области просмотра установленная в свойстве path должна быть назначена " -"\"целью визуализации\" для того, чтобы этот спрайт работал." +"Области просмотра установленная в свойстве path должна быть назначена \"" +"целью визуализации\" для того, чтобы этот спрайт работал." #: scene/2d/visibility_notifier_2d.cpp msgid "" @@ -237,8 +235,7 @@ msgstr "Пустой CollisionPolygon не влияет на столкнове #: scene/3d/navigation_mesh.cpp msgid "A NavigationMesh resource must be set or created for this node to work." -msgstr "" -"Ресурс NavigationMesh должен быть установлен или создан для этого нода." +msgstr "Ресурс NavigationMesh должен быть установлен или создан для этого нода." #: scene/3d/navigation_mesh.cpp msgid "" @@ -585,18 +582,16 @@ msgid "Anim Delete Keys" msgstr "Ключ удалён" #: tools/editor/animation_editor.cpp -#, fuzzy msgid "Continuous" -msgstr "Продолжить" +msgstr "Непрерывная" #: tools/editor/animation_editor.cpp -#, fuzzy msgid "Discrete" -msgstr "Отсоединить" +msgstr "Дискретная" #: tools/editor/animation_editor.cpp msgid "Trigger" -msgstr "" +msgstr "Триггер" #: tools/editor/animation_editor.cpp msgid "Anim Add Key" @@ -706,9 +701,8 @@ msgid "Change Anim Loop" msgstr "Изменено зацикливание анимации" #: tools/editor/animation_editor.cpp -#, fuzzy msgid "Change Anim Loop Interpolation" -msgstr "Изменено зацикливание анимации" +msgstr "Изменена интерполяция анимации" #: tools/editor/animation_editor.cpp msgid "Anim Create Typed Value Key" @@ -751,9 +745,8 @@ msgid "Enable/Disable looping in animation." msgstr "Включить/отключить зацикливание в анимации." #: tools/editor/animation_editor.cpp -#, fuzzy msgid "Enable/Disable interpolation when looping animation." -msgstr "Включить/отключить зацикливание в анимации." +msgstr "Включить/отключить интерполяцию при зацикливании анимации." #: tools/editor/animation_editor.cpp msgid "Add new tracks." @@ -1020,7 +1013,6 @@ msgid "Method in target Node must be specified!" msgstr "Метод должен быть указан в целевом Ноде!" #: tools/editor/connections_dialog.cpp -#, fuzzy msgid "Conect To Node:" msgstr "Присоединить к ноду:" @@ -1040,15 +1032,13 @@ msgstr "Удалить" #: tools/editor/connections_dialog.cpp msgid "Add Extra Call Argument:" -msgstr "" +msgstr "Добавить дополнительный параметр вызова:" #: tools/editor/connections_dialog.cpp -#, fuzzy msgid "Extra Call Arguments:" -msgstr "Аргументы:" +msgstr "Дополнительные параметры вызова:" #: tools/editor/connections_dialog.cpp -#, fuzzy msgid "Path to Node:" msgstr "Путь к ноду:" @@ -1073,9 +1063,8 @@ msgid "Connect '%s' to '%s'" msgstr "Присоединить '%s' к '%s'" #: tools/editor/connections_dialog.cpp -#, fuzzy msgid "Connecting Signal:" -msgstr "Связи:" +msgstr "Подключение сигнала:" #: tools/editor/connections_dialog.cpp msgid "Create Subscription" @@ -1657,11 +1646,11 @@ msgstr "Перейти к предыдущей открытой сцене." #: tools/editor/editor_node.cpp msgid "Fullscreen Mode" -msgstr "" +msgstr "Полноэкранный режим" #: tools/editor/editor_node.cpp msgid "Distraction Free Mode" -msgstr "" +msgstr "Свободный режим" #: tools/editor/editor_node.cpp msgid "Operations with scene files." @@ -2857,22 +2846,20 @@ msgid "Create new animation in player." msgstr "Создать новую анимацию." #: tools/editor/plugins/animation_player_editor_plugin.cpp -#, fuzzy msgid "Load animation from disk." msgstr "Загрузить анимацию с диска." #: tools/editor/plugins/animation_player_editor_plugin.cpp msgid "Load an animation from disk." -msgstr "Загрузить анимацию с диска." +msgstr "Загрузить эту анимацию с диска." #: tools/editor/plugins/animation_player_editor_plugin.cpp msgid "Save the current animation" msgstr "Сохранить текущую анимацию" #: tools/editor/plugins/animation_player_editor_plugin.cpp -#, fuzzy msgid "Save As" -msgstr "Сохранить как.." +msgstr "Сохранить как" #: tools/editor/plugins/animation_player_editor_plugin.cpp msgid "Display list of animations in player." @@ -4070,9 +4057,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 @@ -4164,9 +4150,8 @@ msgid "Help" msgstr "Справка" #: tools/editor/plugins/script_editor_plugin.cpp -#, fuzzy msgid "Contextual Help" -msgstr "Контекстная" +msgstr "Контекстная справка" #: tools/editor/plugins/script_editor_plugin.cpp msgid "Tutorials" @@ -4771,14 +4756,12 @@ msgid "Remove Class Items" msgstr "Удалить элемент класса" #: tools/editor/plugins/theme_editor_plugin.cpp -#, fuzzy msgid "Create Empty Template" -msgstr "Создать шаблон" +msgstr "Создать пустой образец" #: tools/editor/plugins/theme_editor_plugin.cpp -#, fuzzy msgid "Create Empty Editor Template" -msgstr "Создать шаблон" +msgstr "Создать пустой образец редактора" #: tools/editor/plugins/theme_editor_plugin.cpp msgid "CheckBox Radio1" @@ -4864,28 +4847,24 @@ msgid "Erase TileMap" msgstr "Стирать карту тайлов" #: tools/editor/plugins/tile_map_editor_plugin.cpp -#, fuzzy msgid "Erase selection" msgstr "Очистить выделенное" #: tools/editor/plugins/tile_map_editor_plugin.cpp -#, fuzzy msgid "Find tile" -msgstr "Найти следующее" +msgstr "Найти тайл" #: tools/editor/plugins/tile_map_editor_plugin.cpp msgid "Transpose" msgstr "Транспонировать" #: tools/editor/plugins/tile_map_editor_plugin.cpp -#, fuzzy msgid "Mirror X" -msgstr "Зеркально по X (A)" +msgstr "Зеркально по X" #: tools/editor/plugins/tile_map_editor_plugin.cpp -#, fuzzy msgid "Mirror Y" -msgstr "Зеркально по Y (S)" +msgstr "Зеркально по Y" #: tools/editor/plugins/tile_map_editor_plugin.cpp msgid "Bucket" @@ -5040,8 +5019,8 @@ msgstr "Действие" msgid "" "Filters to export non-resource files (comma-separated, e.g.: *.json, *.txt):" msgstr "" -"Фильтр для экспорта не ресурсных файлов (через запятую, например: *.json, *." -"txt):" +"Фильтр для экспорта не ресурсных файлов (через запятую, например: *.json, " +"*.txt):" #: tools/editor/project_export.cpp msgid "Filters to exclude from export (comma-separated, e.g.: *.json, *.txt):" @@ -5921,7 +5900,7 @@ msgstr "Загрузить как заполнитель" #: tools/editor/scene_tree_editor.cpp msgid "Discard Instancing" -msgstr "" +msgstr "Отбросить инстансинг" #: tools/editor/scene_tree_editor.cpp msgid "Open in Editor" diff --git a/tools/translations/tools.pot b/tools/translations/tools.pot index 1c22ffbc78..854f8fef78 100644 --- a/tools/translations/tools.pot +++ b/tools/translations/tools.pot @@ -943,7 +943,7 @@ msgid "Method in target Node must be specified!" msgstr "" #: tools/editor/connections_dialog.cpp -msgid "Conect To Node:" +msgid "Connect To Node:" msgstr "" #: tools/editor/connections_dialog.cpp tools/editor/groups_editor.cpp @@ -1526,7 +1526,7 @@ msgid "Save Layout" msgstr "" #: tools/editor/editor_node.cpp -msgid "Load Layout" +msgid "Delete Layout" msgstr "" #: tools/editor/editor_node.cpp tools/editor/project_export.cpp @@ -1534,10 +1534,6 @@ msgid "Default" msgstr "" #: tools/editor/editor_node.cpp -msgid "Delete Layout" -msgstr "" - -#: tools/editor/editor_node.cpp msgid "Switch Scene Tab" msgstr "" @@ -2109,6 +2105,12 @@ 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 "" @@ -5661,31 +5663,27 @@ msgid "Error duplicating scene to save it." msgstr "" #: tools/editor/scene_tree_dock.cpp -msgid "New Scene Root" -msgstr "" - -#: tools/editor/scene_tree_dock.cpp -msgid "Inherit Scene" +msgid "Edit Groups" msgstr "" #: tools/editor/scene_tree_dock.cpp -msgid "Add Child Node" +msgid "Edit Connections" msgstr "" #: tools/editor/scene_tree_dock.cpp -msgid "Instance Child Scene" +msgid "Delete Node(s)" msgstr "" #: tools/editor/scene_tree_dock.cpp -msgid "Change Type" +msgid "Add Child Node" msgstr "" #: tools/editor/scene_tree_dock.cpp -msgid "Edit Groups" +msgid "Instance Child Scene" msgstr "" #: tools/editor/scene_tree_dock.cpp -msgid "Edit Connections" +msgid "Change Type" msgstr "" #: tools/editor/scene_tree_dock.cpp @@ -5701,10 +5699,6 @@ msgid "Save Branch as Scene" msgstr "" #: tools/editor/scene_tree_dock.cpp -msgid "Delete Node(s)" -msgstr "" - -#: tools/editor/scene_tree_dock.cpp msgid "Add/Create a New Node" msgstr "" |