diff options
Diffstat (limited to 'editor')
43 files changed, 411 insertions, 320 deletions
diff --git a/editor/doc_tools.cpp b/editor/doc_tools.cpp index 47ea8cbe2a..e29c9593c3 100644 --- a/editor/doc_tools.cpp +++ b/editor/doc_tools.cpp @@ -394,13 +394,22 @@ void DocTools::generate(bool p_basic_types) { method.qualifiers += " "; } method.qualifiers += "const"; - } else if (E->get().flags & METHOD_FLAG_VARARG) { + } + + if (E->get().flags & METHOD_FLAG_VARARG) { if (method.qualifiers != "") { method.qualifiers += " "; } method.qualifiers += "vararg"; } + if (E->get().flags & METHOD_FLAG_STATIC) { + if (method.qualifiers != "") { + method.qualifiers += " "; + } + method.qualifiers += "static"; + } + for (int i = -1; i < E->get().arguments.size(); i++) { if (i == -1) { #ifdef DEBUG_METHODS_ENABLED @@ -647,6 +656,20 @@ void DocTools::generate(bool p_basic_types) { method.qualifiers += "vararg"; } + if (mi.flags & METHOD_FLAG_CONST) { + if (method.qualifiers != "") { + method.qualifiers += " "; + } + method.qualifiers += "const"; + } + + if (mi.flags & METHOD_FLAG_STATIC) { + if (method.qualifiers != "") { + method.qualifiers += " "; + } + method.qualifiers += "static"; + } + c.methods.push_back(method); } diff --git a/editor/editor_export.cpp b/editor/editor_export.cpp index 4f60258d95..7f5f51cf70 100644 --- a/editor/editor_export.cpp +++ b/editor/editor_export.cpp @@ -301,6 +301,8 @@ void EditorExportPlatform::gen_debug_flags(Vector<String> &r_flags, int p_flags) } Error EditorExportPlatform::_save_pack_file(void *p_userdata, const String &p_path, const Vector<uint8_t> &p_data, int p_file, int p_total, const Vector<String> &p_enc_in_filters, const Vector<String> &p_enc_ex_filters, const Vector<uint8_t> &p_key) { + ERR_FAIL_COND_V_MSG(p_total < 1, ERR_PARAMETER_RANGE_ERROR, "Must select at least one file to export."); + PackData *pd = (PackData *)p_userdata; SavedData sd; @@ -368,6 +370,8 @@ Error EditorExportPlatform::_save_pack_file(void *p_userdata, const String &p_pa } Error EditorExportPlatform::_save_zip_file(void *p_userdata, const String &p_path, const Vector<uint8_t> &p_data, int p_file, int p_total, const Vector<String> &p_enc_in_filters, const Vector<String> &p_enc_ex_filters, const Vector<uint8_t> &p_key) { + ERR_FAIL_COND_V_MSG(p_total < 1, ERR_PARAMETER_RANGE_ERROR, "Must select at least one file to export."); + String path = p_path.replace_first("res://", ""); ZipData *zd = (ZipData *)p_userdata; @@ -824,17 +828,25 @@ Error EditorExportPlatform::export_project_files(const Ref<EditorExportPreset> & } } + Error err = OK; Vector<Ref<EditorExportPlugin>> export_plugins = EditorExport::get_singleton()->get_export_plugins(); + for (int i = 0; i < export_plugins.size(); i++) { export_plugins.write[i]->set_export_preset(p_preset); if (p_so_func) { for (int j = 0; j < export_plugins[i]->shared_objects.size(); j++) { - p_so_func(p_udata, export_plugins[i]->shared_objects[j]); + err = p_so_func(p_udata, export_plugins[i]->shared_objects[j]); + if (err != OK) { + return err; + } } } for (int j = 0; j < export_plugins[i]->extra_files.size(); j++) { - p_func(p_udata, export_plugins[i]->extra_files[j].path, export_plugins[i]->extra_files[j].data, 0, paths.size(), enc_in_filters, enc_ex_filters, key); + err = p_func(p_udata, export_plugins[i]->extra_files[j].path, export_plugins[i]->extra_files[j].data, 0, paths.size(), enc_in_filters, enc_ex_filters, key); + if (err != OK) { + return err; + } } export_plugins.write[i]->_clear(); @@ -856,7 +868,7 @@ Error EditorExportPlatform::export_project_files(const Ref<EditorExportPreset> & //file is imported, replace by what it imports Ref<ConfigFile> config; config.instance(); - Error err = config->load(path + ".import"); + err = config->load(path + ".import"); if (err != OK) { ERR_PRINT("Could not parse: '" + path + "', not exported."); continue; @@ -920,12 +932,18 @@ Error EditorExportPlatform::export_project_files(const Ref<EditorExportPreset> & } if (p_so_func) { for (int j = 0; j < export_plugins[i]->shared_objects.size(); j++) { - p_so_func(p_udata, export_plugins[i]->shared_objects[j]); + err = p_so_func(p_udata, export_plugins[i]->shared_objects[j]); + if (err != OK) { + return err; + } } } for (int j = 0; j < export_plugins[i]->extra_files.size(); j++) { - p_func(p_udata, export_plugins[i]->extra_files[j].path, export_plugins[i]->extra_files[j].data, idx, total, enc_in_filters, enc_ex_filters, key); + err = p_func(p_udata, export_plugins[i]->extra_files[j].path, export_plugins[i]->extra_files[j].data, idx, total, enc_in_filters, enc_ex_filters, key); + if (err != OK) { + return err; + } if (export_plugins[i]->extra_files[j].remap) { do_export = false; //if remap, do not path_remaps.push_back(path); @@ -945,7 +963,10 @@ Error EditorExportPlatform::export_project_files(const Ref<EditorExportPreset> & //just store it as it comes if (do_export) { Vector<uint8_t> array = FileAccess::get_file_as_array(path); - p_func(p_udata, path, array, idx, total, enc_in_filters, enc_ex_filters, key); + err = p_func(p_udata, path, array, idx, total, enc_in_filters, enc_ex_filters, key); + if (err != OK) { + return err; + } } } @@ -981,7 +1002,10 @@ Error EditorExportPlatform::export_project_files(const Ref<EditorExportPreset> & new_file.write[j] = utf8[j]; } - p_func(p_udata, from + ".remap", new_file, idx, total, enc_in_filters, enc_ex_filters, key); + err = p_func(p_udata, from + ".remap", new_file, idx, total, enc_in_filters, enc_ex_filters, key); + if (err != OK) { + return err; + } } } else { //old remap mode, will still work, but it's unused because it's not multiple pck export friendly @@ -994,11 +1018,17 @@ Error EditorExportPlatform::export_project_files(const Ref<EditorExportPreset> & String splash = ProjectSettings::get_singleton()->get("application/boot_splash/image"); if (icon != String() && FileAccess::exists(icon)) { Vector<uint8_t> array = FileAccess::get_file_as_array(icon); - p_func(p_udata, icon, array, idx, total, enc_in_filters, enc_ex_filters, key); + err = p_func(p_udata, icon, array, idx, total, enc_in_filters, enc_ex_filters, key); + if (err != OK) { + return err; + } } if (splash != String() && FileAccess::exists(splash) && icon != splash) { Vector<uint8_t> array = FileAccess::get_file_as_array(splash); - p_func(p_udata, splash, array, idx, total, enc_in_filters, enc_ex_filters, key); + err = p_func(p_udata, splash, array, idx, total, enc_in_filters, enc_ex_filters, key); + if (err != OK) { + return err; + } } // Store text server data if exists. @@ -1006,7 +1036,10 @@ Error EditorExportPlatform::export_project_files(const Ref<EditorExportPreset> & String ts_data = "res://" + TS->get_support_data_filename(); if (FileAccess::exists(ts_data)) { Vector<uint8_t> array = FileAccess::get_file_as_array(ts_data); - p_func(p_udata, ts_data, array, idx, total, enc_in_filters, enc_ex_filters, key); + err = p_func(p_udata, ts_data, array, idx, total, enc_in_filters, enc_ex_filters, key); + if (err != OK) { + return err; + } } } @@ -1016,9 +1049,7 @@ Error EditorExportPlatform::export_project_files(const Ref<EditorExportPreset> & Vector<uint8_t> data = FileAccess::get_file_as_array(engine_cfb); DirAccess::remove_file_or_error(engine_cfb); - p_func(p_udata, "res://" + config_file, data, idx, total, enc_in_filters, enc_ex_filters, key); - - return OK; + return p_func(p_udata, "res://" + config_file, data, idx, total, enc_in_filters, enc_ex_filters, key); } Error EditorExportPlatform::_add_shared_object(void *p_userdata, const SharedObject &p_so) { @@ -1052,6 +1083,7 @@ Error EditorExportPlatform::save_pack(const Ref<EditorExportPreset> &p_preset, c if (err != OK) { DirAccess::remove_file_or_error(tmppath); + ERR_PRINT("Failed to export project files"); return err; } diff --git a/editor/editor_file_dialog.cpp b/editor/editor_file_dialog.cpp index 6d694358bf..f78da9569f 100644 --- a/editor/editor_file_dialog.cpp +++ b/editor/editor_file_dialog.cpp @@ -1076,9 +1076,9 @@ EditorFileDialog::Access EditorFileDialog::get_access() const { } void EditorFileDialog::_make_dir_confirm() { - Error err = dir_access->make_dir(makedirname->get_text()); + Error err = dir_access->make_dir(makedirname->get_text().strip_edges()); if (err == OK) { - dir_access->change_dir(makedirname->get_text()); + dir_access->change_dir(makedirname->get_text().strip_edges()); invalidate(); update_filters(); update_dir(); diff --git a/editor/editor_inspector.cpp b/editor/editor_inspector.cpp index 74b874b54e..9b03731fd8 100644 --- a/editor/editor_inspector.cpp +++ b/editor/editor_inspector.cpp @@ -2436,10 +2436,10 @@ void EditorInspector::_notification(int p_what) { if (p_what == NOTIFICATION_READY) { EditorFeatureProfileManager::get_singleton()->connect("current_feature_profile_changed", callable_mp(this, &EditorInspector::_feature_profile_changed)); set_process(is_visible_in_tree()); + _update_inspector_bg(); } if (p_what == NOTIFICATION_ENTER_TREE) { - _update_inspector_bg(); if (!sub_inspector) { get_tree()->connect("node_removed", callable_mp(this, &EditorInspector::_node_removed)); } diff --git a/editor/editor_node.cpp b/editor/editor_node.cpp index f0e53e7ef5..c3e15f2840 100644 --- a/editor/editor_node.cpp +++ b/editor/editor_node.cpp @@ -1089,13 +1089,23 @@ void EditorNode::save_resource_as(const Ref<Resource> &p_resource, const String file->clear_filters(); List<String> preferred; - for (int i = 0; i < extensions.size(); i++) { - if (p_resource->is_class("Script") && (extensions[i] == "tres" || extensions[i] == "res" || extensions[i] == "xml")) { + for (List<String>::Element *E = extensions.front(); E; E = E->next()) { + if (p_resource->is_class("Script") && (E->get() == "tres" || E->get() == "res")) { //this serves no purpose and confused people continue; } - file->add_filter("*." + extensions[i] + " ; " + extensions[i].to_upper()); - preferred.push_back(extensions[i]); + file->add_filter("*." + E->get() + " ; " + E->get().to_upper()); + preferred.push_back(E->get()); + } + // Lowest priority extension + List<String>::Element *res_element = preferred.find("res"); + if (res_element) { + preferred.move_to_back(res_element); + } + // Highest priority extension + List<String>::Element *tres_element = preferred.find("tres"); + if (tres_element) { + preferred.move_to_front(tres_element); } if (p_at_path != String()) { @@ -2387,11 +2397,14 @@ void EditorNode::_menu_option_confirm(int p_option, bool p_confirmed) { _scene_tab_changed(tab_closing); if (unsaved_cache || p_option == FILE_CLOSE_ALL_AND_QUIT || p_option == FILE_CLOSE_ALL_AND_RUN_PROJECT_MANAGER) { - String scene_filename = editor_data.get_edited_scene_root(tab_closing)->get_filename(); - save_confirmation->get_ok_button()->set_text(TTR("Save & Close")); - save_confirmation->set_text(vformat(TTR("Save changes to '%s' before closing?"), scene_filename != "" ? scene_filename : "unsaved scene")); - save_confirmation->popup_centered(); - break; + Node *scene_root = editor_data.get_edited_scene_root(tab_closing); + if (scene_root) { + String scene_filename = scene_root->get_filename(); + save_confirmation->get_ok_button()->set_text(TTR("Save & Close")); + save_confirmation->set_text(vformat(TTR("Save changes to '%s' before closing?"), scene_filename != "" ? scene_filename : "unsaved scene")); + save_confirmation->popup_centered(); + break; + } } } else if (p_option == FILE_CLOSE) { tab_closing = editor_data.get_edited_scene(); diff --git a/editor/editor_properties.cpp b/editor/editor_properties.cpp index dbe4aa55fa..2d7235038a 100644 --- a/editor/editor_properties.cpp +++ b/editor/editor_properties.cpp @@ -2915,7 +2915,7 @@ void EditorPropertyResource::update_property() { sub_inspector->set_use_doc_hints(true); sub_inspector->set_sub_inspector(true); - sub_inspector->set_enable_capitalize_paths(true); + sub_inspector->set_enable_capitalize_paths(bool(EDITOR_GET("interface/inspector/capitalize_properties"))); sub_inspector->connect("property_keyed", callable_mp(this, &EditorPropertyResource::_sub_inspector_property_keyed)); sub_inspector->connect("resource_selected", callable_mp(this, &EditorPropertyResource::_sub_inspector_resource_selected)); diff --git a/editor/editor_spin_slider.cpp b/editor/editor_spin_slider.cpp index 618d953c56..bbabc08ea4 100644 --- a/editor/editor_spin_slider.cpp +++ b/editor/editor_spin_slider.cpp @@ -175,7 +175,9 @@ void EditorSpinSlider::_grabber_gui_input(const Ref<InputEvent> &p_event) { return; } - float grabbing_ofs = (grabber->get_transform().xform(mm->get_position()).x - grabbing_from) / float(grabber_range); + float scale_x = get_global_transform_with_canvas().get_scale().x; + ERR_FAIL_COND(Math::is_zero_approx(scale_x)); + float grabbing_ofs = (grabber->get_transform().xform(mm->get_position()).x - grabbing_from) / float(grabber_range) / scale_x; set_as_ratio(grabbing_ratio + grabbing_ofs); update(); } @@ -300,8 +302,10 @@ void EditorSpinSlider::_notification(int p_what) { grabber->set_texture(grabber_tex); } + Vector2 scale = get_global_transform_with_canvas().get_scale(); + grabber->set_scale(scale); grabber->set_size(Size2(0, 0)); - grabber->set_position(get_global_position() + grabber_rect.position + grabber_rect.size * 0.5 - grabber->get_size() * 0.5); + grabber->set_position(get_global_position() + (grabber_rect.position + grabber_rect.size * 0.5 - grabber->get_size() * 0.5) * scale); if (mousewheel_over_grabber) { Input::get_singleton()->warp_mouse_position(grabber->get_position() + grabber_rect.size); diff --git a/editor/editor_themes.cpp b/editor/editor_themes.cpp index fe748b81c3..9aad1aa8d9 100644 --- a/editor/editor_themes.cpp +++ b/editor/editor_themes.cpp @@ -241,20 +241,14 @@ void editor_register_and_generate_icons(Ref<Theme> p_theme, bool p_dark_theme = // Generate icons. if (!p_only_thumbs) { for (int i = 0; i < editor_icons_count; i++) { - float icon_scale = EDSCALE; float saturation = p_icon_saturation; - // Always keep the DefaultProjectIcon at the default size - if (strcmp(editor_icons_names[i], "DefaultProjectIcon") == 0) { - icon_scale = 1.0f; - } - if (strcmp(editor_icons_names[i], "DefaultProjectIcon") == 0 || strcmp(editor_icons_names[i], "Godot") == 0 || strcmp(editor_icons_names[i], "Logo") == 0) { saturation = 1.0; } const int is_exception = exceptions.has(editor_icons_names[i]); - const Ref<ImageTexture> icon = editor_generate_icon(i, !is_exception, icon_scale, saturation); + const Ref<ImageTexture> icon = editor_generate_icon(i, !is_exception, EDSCALE, saturation); p_theme->set_icon(editor_icons_names[i], "EditorIcons", icon); } @@ -852,7 +846,7 @@ Ref<Theme> create_editor_theme(const Ref<Theme> p_theme) { Ref<StyleBoxFlat> style_tree_cursor = style_default->duplicate(); style_tree_cursor->set_draw_center(false); - style_tree_cursor->set_border_width_all(border_width); + style_tree_cursor->set_border_width_all(MAX(1, border_width)); style_tree_cursor->set_border_color(contrast_color_1); Ref<StyleBoxFlat> style_tree_title = style_default->duplicate(); @@ -1398,3 +1392,15 @@ Ref<Theme> create_custom_theme(const Ref<Theme> p_theme) { return theme; } + +Ref<ImageTexture> create_unscaled_default_project_icon() { +#ifdef MODULE_SVG_ENABLED + for (int i = 0; i < editor_icons_count; i++) { + // ESCALE should never affect size of the icon + if (strcmp(editor_icons_names[i], "DefaultProjectIcon") == 0) { + return editor_generate_icon(i, false, 1.0); + } + } +#endif + return Ref<ImageTexture>(memnew(ImageTexture)); +} diff --git a/editor/editor_themes.h b/editor/editor_themes.h index 852edf7669..c040654220 100644 --- a/editor/editor_themes.h +++ b/editor/editor_themes.h @@ -31,10 +31,13 @@ #ifndef EDITOR_THEMES_H #define EDITOR_THEMES_H +#include "scene/resources/texture.h" #include "scene/resources/theme.h" Ref<Theme> create_editor_theme(Ref<Theme> p_theme = nullptr); Ref<Theme> create_custom_theme(Ref<Theme> p_theme = nullptr); +Ref<ImageTexture> create_unscaled_default_project_icon(); + #endif diff --git a/editor/filesystem_dock.cpp b/editor/filesystem_dock.cpp index ab5fd30998..43bfccc656 100644 --- a/editor/filesystem_dock.cpp +++ b/editor/filesystem_dock.cpp @@ -2718,7 +2718,22 @@ FileSystemDock::FileSystemDock(EditorNode *p_editor) { // `KEY_MASK_CMD | KEY_C` conflicts with other editor shortcuts. ED_SHORTCUT("filesystem_dock/copy_path", TTR("Copy Path"), KEY_MASK_CMD | KEY_MASK_SHIFT | KEY_C); ED_SHORTCUT("filesystem_dock/duplicate", TTR("Duplicate..."), KEY_MASK_CMD | KEY_D); + +#if defined(WINDOWS_ENABLED) + // TRANSLATORS: This string is only used on Windows, as it refers to the system trash + // as "Recycle Bin" instead of "Trash". Make sure to use the translation of "Recycle Bin" + // recommended by Microsoft for the target language. + ED_SHORTCUT("filesystem_dock/delete", TTR("Move to Recycle Bin"), KEY_DELETE); +#elif defined(OSX_ENABLED) + // TRANSLATORS: This string is only used on macOS, as it refers to the system trash + // as "Bin" instead of "Trash". Make sure to use the translation of "Bin" + // recommended by Apple for the target language. + ED_SHORTCUT("filesystem_dock/delete", TTR("Move to Bin"), KEY_DELETE); +#else + // TRANSLATORS: This string is only used on platforms other than Windows and macOS. ED_SHORTCUT("filesystem_dock/delete", TTR("Move to Trash"), KEY_DELETE); +#endif + ED_SHORTCUT("filesystem_dock/rename", TTR("Rename..."), KEY_F2); VBoxContainer *top_vbc = memnew(VBoxContainer); diff --git a/editor/node_3d_editor_gizmos.cpp b/editor/node_3d_editor_gizmos.cpp index 16eefb1ad3..64cf9a7bb7 100644 --- a/editor/node_3d_editor_gizmos.cpp +++ b/editor/node_3d_editor_gizmos.cpp @@ -2073,7 +2073,13 @@ void SoftBody3DGizmoPlugin::redraw(EditorNode3DGizmo *p_gizmo) { Ref<TriangleMesh> tm = soft_body->get_mesh()->generate_triangle_mesh(); Vector<Vector3> points; - soft_body->get_mesh()->generate_debug_mesh_indices(points); + for (int i = 0; i < soft_body->get_mesh()->get_surface_count(); i++) { + Array arrays = soft_body->get_mesh()->surface_get_arrays(i); + ERR_CONTINUE(arrays.is_empty()); + + const Vector<Vector3> &vertices = arrays[Mesh::ARRAY_VERTEX]; + points.append_array(vertices); + } Ref<Material> material = get_material("shape_material", p_gizmo); diff --git a/editor/plugin_config_dialog.cpp b/editor/plugin_config_dialog.cpp index 2a0e7d0732..f496811e0a 100644 --- a/editor/plugin_config_dialog.cpp +++ b/editor/plugin_config_dialog.cpp @@ -86,7 +86,7 @@ void PluginConfigDialog::_on_confirmed() { // Hard-coded GDScript template to keep usability until we use script templates. Ref<Script> gdscript = memnew(GDScript); gdscript->set_source_code( - "tool\n" + "@tool\n" "extends EditorPlugin\n" "\n" "\n" diff --git a/editor/plugins/abstract_polygon_2d_editor.cpp b/editor/plugins/abstract_polygon_2d_editor.cpp index 876b67fa77..c90f87de56 100644 --- a/editor/plugins/abstract_polygon_2d_editor.cpp +++ b/editor/plugins/abstract_polygon_2d_editor.cpp @@ -585,11 +585,11 @@ void AbstractPolygon2DEditor::edit(Node *p_polygon) { edited_point = PosVertex(); hover_point = Vertex(); selected_point = Vertex(); - - canvas_item_editor->update_viewport(); } else { _set_node(nullptr); } + + canvas_item_editor->update_viewport(); } void AbstractPolygon2DEditor::_bind_methods() { diff --git a/editor/plugins/animation_blend_tree_editor_plugin.cpp b/editor/plugins/animation_blend_tree_editor_plugin.cpp index e7e069e8b6..fdbbe5184b 100644 --- a/editor/plugins/animation_blend_tree_editor_plugin.cpp +++ b/editor/plugins/animation_blend_tree_editor_plugin.cpp @@ -139,7 +139,7 @@ void AnimationNodeBlendTreeEditor::_update_graph() { name->set_expand_to_text_length(true); node->add_child(name); node->set_slot(0, false, 0, Color(), true, 0, get_theme_color("font_color", "Label")); - name->connect("text_entered", callable_mp(this, &AnimationNodeBlendTreeEditor::_node_renamed), varray(agnode)); + name->connect("text_entered", callable_mp(this, &AnimationNodeBlendTreeEditor::_node_renamed), varray(agnode), CONNECT_DEFERRED); name->connect("focus_exited", callable_mp(this, &AnimationNodeBlendTreeEditor::_node_renamed_focus_out), varray(name, agnode), CONNECT_DEFERRED); base = 1; node->set_show_close_button(true); diff --git a/editor/plugins/asset_library_editor_plugin.cpp b/editor/plugins/asset_library_editor_plugin.cpp index 030ce4655d..b7484aa748 100644 --- a/editor/plugins/asset_library_editor_plugin.cpp +++ b/editor/plugins/asset_library_editor_plugin.cpp @@ -584,6 +584,24 @@ void EditorAssetLibrary::_notification(int p_what) { filter->set_right_icon(get_theme_icon("Search", "EditorIcons")); filter->set_clear_button_enabled(true); } break; + + case EditorSettings::NOTIFICATION_EDITOR_SETTINGS_CHANGED: { + _update_repository_options(); + } break; + } +} + +void EditorAssetLibrary::_update_repository_options() { + Dictionary default_urls; + default_urls["godotengine.org"] = "https://godotengine.org/asset-library/api"; + default_urls["localhost"] = "http://127.0.0.1/asset-library/api"; + Dictionary available_urls = _EDITOR_DEF("asset_library/available_urls", default_urls, true); + repository->clear(); + Array keys = available_urls.keys(); + for (int i = 0; i < available_urls.size(); i++) { + String key = keys[i]; + repository->add_item(key); + repository->set_item_metadata(i, available_urls[key]); } } @@ -1373,18 +1391,7 @@ EditorAssetLibrary::EditorAssetLibrary(bool p_templates_only) { search_hb2->add_child(memnew(Label(TTR("Site:") + " "))); repository = memnew(OptionButton); - { - Dictionary default_urls; - default_urls["godotengine.org"] = "https://godotengine.org/asset-library/api"; - default_urls["localhost"] = "http://127.0.0.1/asset-library/api"; - Dictionary available_urls = _EDITOR_DEF("asset_library/available_urls", default_urls, true); - Array keys = available_urls.keys(); - for (int i = 0; i < available_urls.size(); i++) { - String key = keys[i]; - repository->add_item(key); - repository->set_item_metadata(i, available_urls[key]); - } - } + _update_repository_options(); repository->connect("item_selected", callable_mp(this, &EditorAssetLibrary::_repository_changed)); diff --git a/editor/plugins/asset_library_editor_plugin.h b/editor/plugins/asset_library_editor_plugin.h index 0509145673..11eae9e041 100644 --- a/editor/plugins/asset_library_editor_plugin.h +++ b/editor/plugins/asset_library_editor_plugin.h @@ -176,6 +176,7 @@ class EditorAssetLibrary : public PanelContainer { void _asset_open(); void _asset_file_selected(const String &p_file); + void _update_repository_options(); PanelContainer *library_scroll_bg; ScrollContainer *library_scroll; diff --git a/editor/plugins/canvas_item_editor_plugin.cpp b/editor/plugins/canvas_item_editor_plugin.cpp index bac6f3cd79..23467c8377 100644 --- a/editor/plugins/canvas_item_editor_plugin.cpp +++ b/editor/plugins/canvas_item_editor_plugin.cpp @@ -2622,6 +2622,7 @@ bool CanvasItemEditor::_gui_input_select(const Ref<InputEvent> &p_event) { bool CanvasItemEditor::_gui_input_ruler_tool(const Ref<InputEvent> &p_event) { if (tool != TOOL_RULER) { + ruler_tool_active = false; return false; } diff --git a/editor/plugins/node_3d_editor_plugin.cpp b/editor/plugins/node_3d_editor_plugin.cpp index 9643881f96..1d08a7821d 100644 --- a/editor/plugins/node_3d_editor_plugin.cpp +++ b/editor/plugins/node_3d_editor_plugin.cpp @@ -1841,9 +1841,8 @@ void Node3DEditorViewport::_sinput(const Ref<InputEvent> &p_event) { } } else if (m->get_button_mask() & BUTTON_MASK_MIDDLE) { + const int mod = _get_key_modifier(m); if (nav_scheme == NAVIGATION_GODOT) { - const int mod = _get_key_modifier(m); - if (mod == _get_key_modifier_setting("editors/3d/navigation/pan_modifier")) { nav_mode = NAVIGATION_PAN; } else if (mod == _get_key_modifier_setting("editors/3d/navigation/zoom_modifier")) { @@ -1854,7 +1853,7 @@ void Node3DEditorViewport::_sinput(const Ref<InputEvent> &p_event) { } } else if (nav_scheme == NAVIGATION_MAYA) { - if (m->get_alt()) { + if (mod == _get_key_modifier_setting("editors/3d/navigation/pan_modifier")) { nav_mode = NAVIGATION_PAN; } } diff --git a/editor/plugins/sprite_2d_editor_plugin.cpp b/editor/plugins/sprite_2d_editor_plugin.cpp index 4949d2b9b7..4acacf3058 100644 --- a/editor/plugins/sprite_2d_editor_plugin.cpp +++ b/editor/plugins/sprite_2d_editor_plugin.cpp @@ -179,7 +179,7 @@ void Sprite2DEditor::_update_mesh_data() { } Rect2 rect; - if (node->is_region()) { + if (node->is_region_enabled()) { rect = node->get_region_rect(); } else { rect.size = Size2(image->get_width(), image->get_height()); diff --git a/editor/plugins/sprite_frames_editor_plugin.cpp b/editor/plugins/sprite_frames_editor_plugin.cpp index 0547f99079..a6949c873e 100644 --- a/editor/plugins/sprite_frames_editor_plugin.cpp +++ b/editor/plugins/sprite_frames_editor_plugin.cpp @@ -219,7 +219,8 @@ void SpriteFramesEditor::_sheet_zoom_out() { } void SpriteFramesEditor::_sheet_zoom_reset() { - sheet_zoom = 1.f; + // Default the zoom to match the editor scale, but don't dezoom on editor scales below 100% to prevent pixel art from looking bad. + sheet_zoom = MAX(1.0, EDSCALE); Size2 texture_size = split_sheet_preview->get_texture()->get_size(); split_sheet_preview->set_custom_minimum_size(texture_size * sheet_zoom); } @@ -732,7 +733,7 @@ void SpriteFramesEditor::_zoom_out() { } void SpriteFramesEditor::_zoom_reset() { - thumbnail_zoom = 1.0f; + thumbnail_zoom = MAX(1.0, EDSCALE); tree->set_fixed_column_width(thumbnail_default_size * 3 / 2); tree->set_fixed_icon_size(Size2(thumbnail_default_size, thumbnail_default_size)); } @@ -1229,13 +1230,14 @@ SpriteFramesEditor::SpriteFramesEditor() { // Config scale. scale_ratio = 1.2f; - thumbnail_default_size = 96; - thumbnail_zoom = 1.0f; - max_thumbnail_zoom = 8.0f; - min_thumbnail_zoom = 0.1f; - sheet_zoom = 1.0f; - max_sheet_zoom = 16.0f; - min_sheet_zoom = 0.01f; + thumbnail_default_size = 96 * MAX(1.0, EDSCALE); + thumbnail_zoom = MAX(1.0, EDSCALE); + max_thumbnail_zoom = 8.0f * MAX(1.0, EDSCALE); + min_thumbnail_zoom = 0.1f * MAX(1.0, EDSCALE); + // Default the zoom to match the editor scale, but don't dezoom on editor scales below 100% to prevent pixel art from looking bad. + sheet_zoom = MAX(1.0, EDSCALE); + max_sheet_zoom = 16.0f * MAX(1.0, EDSCALE); + min_sheet_zoom = 0.01f * MAX(1.0, EDSCALE); _zoom_reset(); } diff --git a/editor/plugins/texture_region_editor_plugin.cpp b/editor/plugins/texture_region_editor_plugin.cpp index 63255e6547..4cbfe18594 100644 --- a/editor/plugins/texture_region_editor_plugin.cpp +++ b/editor/plugins/texture_region_editor_plugin.cpp @@ -897,7 +897,7 @@ void TextureRegionEditor::edit(Object *p_obj) { atlas_tex = Ref<AtlasTexture>(nullptr); } edit_draw->update(); - if ((node_sprite && !node_sprite->is_region()) || (node_sprite_3d && !node_sprite_3d->is_region())) { + if ((node_sprite && !node_sprite->is_region_enabled()) || (node_sprite_3d && !node_sprite_3d->is_region_enabled())) { set_process(true); } if (!p_obj) { @@ -1115,7 +1115,7 @@ void TextureRegionEditorPlugin::_editor_visiblity_changed() { void TextureRegionEditorPlugin::make_visible(bool p_visible) { if (p_visible) { texture_region_button->show(); - bool is_node_configured = region_editor->is_stylebox() || region_editor->is_atlas_texture() || region_editor->is_ninepatch() || (region_editor->get_sprite() && region_editor->get_sprite()->is_region()) || (region_editor->get_sprite_3d() && region_editor->get_sprite_3d()->is_region()); + bool is_node_configured = region_editor->is_stylebox() || region_editor->is_atlas_texture() || region_editor->is_ninepatch() || (region_editor->get_sprite() && region_editor->get_sprite()->is_region_enabled()) || (region_editor->get_sprite_3d() && region_editor->get_sprite_3d()->is_region_enabled()); if ((is_node_configured && !manually_hidden) || texture_region_button->is_pressed()) { editor->make_bottom_panel_item_visible(region_editor); } diff --git a/editor/plugins/tile_map_editor_plugin.cpp b/editor/plugins/tile_map_editor_plugin.cpp index 74b01b3c36..59730a4fd3 100644 --- a/editor/plugins/tile_map_editor_plugin.cpp +++ b/editor/plugins/tile_map_editor_plugin.cpp @@ -966,9 +966,9 @@ void TileMapEditor::_update_copydata() { tcd.flip_v = node->is_cell_y_flipped(j, i); tcd.transpose = node->is_cell_transposed(j, i); tcd.autotile_coord = node->get_cell_autotile_coord(j, i); - } - copydata.push_back(tcd); + copydata.push_back(tcd); + } } } } diff --git a/editor/plugins/tile_set_editor_plugin.cpp b/editor/plugins/tile_set_editor_plugin.cpp index c628fe8367..b97ee10743 100644 --- a/editor/plugins/tile_set_editor_plugin.cpp +++ b/editor/plugins/tile_set_editor_plugin.cpp @@ -80,7 +80,7 @@ void TileSetEditor::_import_node(Node *p_node, Ref<TileSet> p_library) { Vector2 phys_offset; Size2 s; - if (mi->is_region()) { + if (mi->is_region_enabled()) { s = mi->get_region_rect().size; p_library->tile_set_region(id, mi->get_region_rect()); } else { diff --git a/editor/project_manager.cpp b/editor/project_manager.cpp index 7d421bdf81..f4aa628b65 100644 --- a/editor/project_manager.cpp +++ b/editor/project_manager.cpp @@ -487,7 +487,7 @@ private: if (ProjectSettings::get_singleton()->save_custom(dir.plus_file("project.godot"), initial_settings, Vector<String>(), false) != OK) { set_message(TTR("Couldn't create project.godot in project path."), MESSAGE_ERROR); } else { - ResourceSaver::save(dir.plus_file("icon.png"), msg->get_theme_icon("DefaultProjectIcon", "EditorIcons")); + ResourceSaver::save(dir.plus_file("icon.png"), create_unscaled_default_project_icon()); FileAccess *f = FileAccess::open(dir.plus_file("default_env.tres"), FileAccess::WRITE); if (!f) { diff --git a/editor/scene_tree_dock.cpp b/editor/scene_tree_dock.cpp index 16a0576af4..2cdab83d90 100644 --- a/editor/scene_tree_dock.cpp +++ b/editor/scene_tree_dock.cpp @@ -685,7 +685,6 @@ void SceneTreeDock::_tool_selected(int p_tool, bool p_confirm_override) { editor_data->get_undo_redo().add_do_method(editor_selection, "clear"); Node *dupsingle = nullptr; - List<Node *> editable_children; selection.sort_custom<Node::Comparator>(); @@ -701,10 +700,6 @@ void SceneTreeDock::_tool_selected(int p_tool, bool p_confirm_override) { Map<const Node *, Node *> duplimap; Node *dup = node->duplicate_from_editor(duplimap); - if (EditorNode::get_singleton()->get_edited_scene()->is_editable_instance(node)) { - editable_children.push_back(dup); - } - ERR_CONTINUE(!dup); if (selection.size() == 1) { @@ -739,11 +734,6 @@ void SceneTreeDock::_tool_selected(int p_tool, bool p_confirm_override) { if (dupsingle) { editor->push_item(dupsingle); } - - for (List<Node *>::Element *E = editable_children.back(); E; E = E->prev()) { - _toggle_editable_children(E->get()); - } - } break; case TOOL_REPARENT: { if (!profile_allow_editing) { diff --git a/editor/scene_tree_editor.cpp b/editor/scene_tree_editor.cpp index 2d739202fb..e9de91f851 100644 --- a/editor/scene_tree_editor.cpp +++ b/editor/scene_tree_editor.cpp @@ -626,7 +626,7 @@ void SceneTreeEditor::_selected_changed() { } void SceneTreeEditor::_deselect_items() { - // Clear currently elected items in scene tree dock. + // Clear currently selected items in scene tree dock. if (editor_selection) { editor_selection->clear(); emit_signal("node_changed"); @@ -1172,6 +1172,7 @@ SceneTreeEditor::SceneTreeEditor(bool p_label, bool p_can_rename, bool p_can_ope tree->set_anchor(SIDE_BOTTOM, ANCHOR_END); tree->set_begin(Point2(0, p_label ? 18 : 0)); tree->set_end(Point2(0, 0)); + tree->set_allow_reselect(true); tree->add_theme_constant_override("button_margin", 0); add_child(tree); diff --git a/editor/translations/bg.po b/editor/translations/bg.po index 47fd10411a..848574a1f1 100644 --- a/editor/translations/bg.po +++ b/editor/translations/bg.po @@ -17,7 +17,7 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine editor\n" "POT-Creation-Date: \n" -"PO-Revision-Date: 2021-02-15 10:51+0000\n" +"PO-Revision-Date: 2021-03-10 22:14+0000\n" "Last-Translator: Любомир Василев <lyubomirv@gmx.com>\n" "Language-Team: Bulgarian <https://hosted.weblate.org/projects/godot-engine/" "godot/bg/>\n" @@ -26,7 +26,7 @@ msgstr "" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=n != 1;\n" -"X-Generator: Weblate 4.5-dev\n" +"X-Generator: Weblate 4.5.2-dev\n" #: core/math/expression.cpp modules/gdscript/gdscript_functions.cpp #: modules/visual_script/visual_script_builtin_funcs.cpp @@ -2446,40 +2446,50 @@ msgid "Unable to enable addon plugin at: '%s' parsing of config failed." msgstr "" #: editor/editor_node.cpp -#, fuzzy msgid "Unable to find script field for addon plugin at: '%s'." -msgstr "Не може да се зареди скриптът на добавка от: „%s“." +msgstr "Не може да бъде намерено полето за скрипт за добавката: „%s“." #: editor/editor_node.cpp msgid "Unable to load addon script from path: '%s'." -msgstr "Не може да се зареди скриптът на добавка от: „%s“." +msgstr "Не може да се зареди добавката-скрипт от: „%s“." #: editor/editor_node.cpp msgid "" "Unable to load addon script from path: '%s' There seems to be an error in " "the code, please check the syntax." msgstr "" +"Не може да се зареди добавката-скрипт от: „%s“. Изглежда има грешка в кода. " +"Моля, проверете синтаксиса." #: editor/editor_node.cpp msgid "" "Unable to load addon script from path: '%s' Base type is not EditorPlugin." msgstr "" +"Не може да се зареди добавката-скрипт от: „%s“. Базовият тип не е " +"„EditorPlugin“." #: editor/editor_node.cpp msgid "Unable to load addon script from path: '%s' Script is not in tool mode." msgstr "" +"Не може да се зареди добавката-скрипт от: „%s“. Скриптът не е в режим на " +"„инструмент“." #: editor/editor_node.cpp msgid "" "Scene '%s' was automatically imported, so it can't be modified.\n" "To make changes to it, a new inherited scene can be created." msgstr "" +"Сцената „%s“ е била внесена автоматично и затова не може да се променя.\n" +"Ако искате да правите промени в нея, може да създадете нова сцена-наследник." #: editor/editor_node.cpp msgid "" "Error loading scene, it must be inside the project path. Use 'Import' to " "open the scene, then save it inside the project path." msgstr "" +"Грешка при зареждането на сцената. Тя трябва да се намира в папката на " +"проекта. Използвайте „Внасяне“, за да отворите сцената, и след това я " +"запазете някъде в папката на проекта." #: editor/editor_node.cpp msgid "Scene '%s' has broken dependencies:" @@ -2495,6 +2505,9 @@ msgid "" "You can change it later in \"Project Settings\" under the 'application' " "category." msgstr "" +"Няма определена главна сцена. Искате ли да изберете такава сега?\n" +"Можете да промените това по всяко време в „Настройките на проекта“, в " +"категорията „Приложение“." #: editor/editor_node.cpp msgid "" @@ -2502,6 +2515,9 @@ msgid "" "You can change it later in \"Project Settings\" under the 'application' " "category." msgstr "" +"Избраната сцена „%s“ не съществува. Искате ли да изберете друга?\n" +"Можете да промените това по всяко време в „Настройките на проекта“, в " +"категорията „Приложение“." #: editor/editor_node.cpp msgid "" @@ -2509,6 +2525,10 @@ msgid "" "You can change it later in \"Project Settings\" under the 'application' " "category." msgstr "" +"Избраната сцена „%s“ не е файл съдържащ сцена. Искате ли да изберете " +"подходящ файл?\n" +"Можете да промените това по всяко време в „Настройките на проекта“, в " +"категорията „Приложение“." #: editor/editor_node.cpp msgid "Save Layout" @@ -2992,13 +3012,12 @@ msgid "Open & Run a Script" msgstr "" #: editor/editor_node.cpp -#, fuzzy msgid "" "The following files are newer on disk.\n" "What action should be taken?" msgstr "" "Следните файлове са по-нови на диска.\n" -"Кое действие трябва да се предприеме?:" +"Кое действие трябва да се предприеме?" #: editor/editor_node.cpp editor/plugins/script_editor_plugin.cpp #: editor/plugins/shader_editor_plugin.cpp @@ -3896,23 +3915,20 @@ msgid "Saving..." msgstr "Запазване..." #: editor/import_defaults_editor.cpp -#, fuzzy msgid "Select Importer" -msgstr "Режим на избиране" +msgstr "Изберете метод на внасяне" #: editor/import_defaults_editor.cpp -#, fuzzy msgid "Importer:" -msgstr "Внасяне" +msgstr "Метод на внасяне:" #: editor/import_defaults_editor.cpp -#, fuzzy msgid "Reset to Defaults" -msgstr "Задаване на входен порт по подразбиране" +msgstr "Връщане на стандартните настройки" #: editor/import_dock.cpp msgid "%d Files" -msgstr "%d Файлове" +msgstr "%d файла" #: editor/import_dock.cpp msgid "Set as Default for '%s'" diff --git a/editor/translations/da.po b/editor/translations/da.po index bc00612eae..72b2bf0e81 100644 --- a/editor/translations/da.po +++ b/editor/translations/da.po @@ -22,7 +22,7 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine editor\n" "POT-Creation-Date: \n" -"PO-Revision-Date: 2021-02-05 09:20+0000\n" +"PO-Revision-Date: 2021-03-16 10:40+0000\n" "Last-Translator: snakatk <snaqii@live.dk>\n" "Language-Team: Danish <https://hosted.weblate.org/projects/godot-engine/" "godot/da/>\n" @@ -31,7 +31,7 @@ msgstr "" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=n != 1;\n" -"X-Generator: Weblate 4.5-dev\n" +"X-Generator: Weblate 4.5.2-dev\n" #: core/math/expression.cpp modules/gdscript/gdscript_functions.cpp #: modules/visual_script/visual_script_builtin_funcs.cpp @@ -1648,16 +1648,22 @@ msgid "Packing" msgstr "Pakker" #: editor/editor_export.cpp +#, fuzzy msgid "" "Target platform requires 'ETC' texture compression for GLES2. Enable 'Import " "Etc' in Project Settings." msgstr "" +"Målplatform kræver 'ETC' teksturkomprimering for GLES2. Aktivér 'Import Etc' " +"i Projektindstillingerne." #: editor/editor_export.cpp +#, fuzzy msgid "" "Target platform requires 'ETC2' texture compression for GLES3. Enable " "'Import Etc 2' in Project Settings." msgstr "" +"Målplatform kræver 'ETC2' teksturkomprimering for GLES3. Aktivér 'Import Etc " +"2' i Projektindstillingerne." #: editor/editor_export.cpp msgid "" @@ -1690,15 +1696,14 @@ msgstr "" #: editor/editor_export.cpp platform/android/export/export.cpp #: platform/iphone/export/export.cpp platform/javascript/export/export.cpp #: platform/osx/export/export.cpp platform/uwp/export/export.cpp -#, fuzzy msgid "Custom debug template not found." -msgstr "Skabelonfil ikke fundet:" +msgstr "Brugerdefineret debug skabelonfil ikke fundet:" #: editor/editor_export.cpp platform/android/export/export.cpp #: platform/iphone/export/export.cpp platform/javascript/export/export.cpp #: platform/osx/export/export.cpp platform/uwp/export/export.cpp msgid "Custom release template not found." -msgstr "" +msgstr "Brugerdefineret release skabelonfil ikke fundet." #: editor/editor_export.cpp platform/javascript/export/export.cpp msgid "Template file not found:" @@ -1743,13 +1748,12 @@ msgid "Import Dock" msgstr "Importer" #: editor/editor_feature_profile.cpp -#, fuzzy msgid "Erase profile '%s'? (no undo)" -msgstr "Erstat Alle" +msgstr "Slet profil '%s'? (kan ikke fortrydes)" #: editor/editor_feature_profile.cpp msgid "Profile must be a valid filename and must not contain '.'" -msgstr "" +msgstr "Profil skal være et gyldigt filnavn og må ikke indeholde '.'" #: editor/editor_feature_profile.cpp #, fuzzy @@ -1828,7 +1832,7 @@ msgstr "(Nuværende)" #: editor/plugins/animation_player_editor_plugin.cpp #: editor/plugins/version_control_editor_plugin.cpp msgid "New" -msgstr "" +msgstr "Ny" #: editor/editor_feature_profile.cpp editor/editor_node.cpp #: editor/project_manager.cpp diff --git a/editor/translations/de.po b/editor/translations/de.po index bf3c01ae14..ffd8a8874e 100644 --- a/editor/translations/de.po +++ b/editor/translations/de.po @@ -71,8 +71,8 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine editor\n" "POT-Creation-Date: \n" -"PO-Revision-Date: 2021-03-07 06:04+0000\n" -"Last-Translator: El Captian <elcaptian@posteo.me>\n" +"PO-Revision-Date: 2021-03-09 04:13+0000\n" +"Last-Translator: So Wieso <sowieso@dukun.de>\n" "Language-Team: German <https://hosted.weblate.org/projects/godot-engine/" "godot/de/>\n" "Language: de\n" @@ -4148,19 +4148,16 @@ msgid "Saving..." msgstr "Speichere..." #: editor/import_defaults_editor.cpp -#, fuzzy msgid "Select Importer" -msgstr "Auswahlmodus" +msgstr "Importer auswählen" #: editor/import_defaults_editor.cpp -#, fuzzy msgid "Importer:" -msgstr "Import" +msgstr "Importer:" #: editor/import_defaults_editor.cpp -#, fuzzy msgid "Reset to Defaults" -msgstr "Nutze Standard-sRGB" +msgstr "Auf Standardwerte zurücksetzen" #: editor/import_dock.cpp msgid "%d Files" @@ -10531,9 +10528,8 @@ msgid "Plugins" msgstr "Erweiterungen" #: editor/project_settings_editor.cpp -#, fuzzy msgid "Import Defaults" -msgstr "Standard laden" +msgstr "Standardwerte importieren" #: editor/property_editor.cpp msgid "Preset..." @@ -12598,10 +12594,14 @@ msgstr "Ein leeres CollisionPolygon2D hat keinen Effekt auf Kollisionen." #: scene/2d/collision_polygon_2d.cpp msgid "Invalid polygon. At least 3 points are needed in 'Solids' build mode." msgstr "" +"Ungültiges Polygon. Mindestens drei Punkte werden im ‚Festkörper‘-Baumodus " +"benötigt." #: scene/2d/collision_polygon_2d.cpp msgid "Invalid polygon. At least 2 points are needed in 'Segments' build mode." msgstr "" +"Ungültiges Polygon. Mindestens zwei Punkte werden im ‚Segment‘-Baumodus " +"benötigt." #: scene/2d/collision_shape_2d.cpp msgid "" diff --git a/editor/translations/es.po b/editor/translations/es.po index 85b79a7605..4f8441fbfc 100644 --- a/editor/translations/es.po +++ b/editor/translations/es.po @@ -63,7 +63,7 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine editor\n" "POT-Creation-Date: \n" -"PO-Revision-Date: 2021-02-27 00:47+0000\n" +"PO-Revision-Date: 2021-03-10 22:14+0000\n" "Last-Translator: Javier Ocampos <xavier.ocampos@gmail.com>\n" "Language-Team: Spanish <https://hosted.weblate.org/projects/godot-engine/" "godot/es/>\n" @@ -72,7 +72,7 @@ msgstr "" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=n != 1;\n" -"X-Generator: Weblate 4.5\n" +"X-Generator: Weblate 4.5.2-dev\n" #: core/math/expression.cpp modules/gdscript/gdscript_functions.cpp #: modules/visual_script/visual_script_builtin_funcs.cpp @@ -4145,19 +4145,16 @@ msgid "Saving..." msgstr "Guardando..." #: editor/import_defaults_editor.cpp -#, fuzzy msgid "Select Importer" -msgstr "Modo de Selección" +msgstr "Seleccionar Importador" #: editor/import_defaults_editor.cpp -#, fuzzy msgid "Importer:" -msgstr "Importación" +msgstr "Importador:" #: editor/import_defaults_editor.cpp -#, fuzzy msgid "Reset to Defaults" -msgstr "Usar sRGB predeterminado" +msgstr "Restablecer Valores por Defecto" #: editor/import_dock.cpp msgid "%d Files" @@ -10523,9 +10520,8 @@ msgid "Plugins" msgstr "Plugins" #: editor/project_settings_editor.cpp -#, fuzzy msgid "Import Defaults" -msgstr "Cargar Valores por Defecto" +msgstr "Valores de Importación por Defecto" #: editor/property_editor.cpp msgid "Preset..." @@ -12605,10 +12601,14 @@ msgstr "Un CollisionPolygon2D vacío no tiene ningún efecto en las colisiones." #: scene/2d/collision_polygon_2d.cpp msgid "Invalid polygon. At least 3 points are needed in 'Solids' build mode." msgstr "" +"Polígono inválido. Se necesitan al menos 3 puntos en modo de construcción " +"'Solids'." #: scene/2d/collision_polygon_2d.cpp msgid "Invalid polygon. At least 2 points are needed in 'Segments' build mode." msgstr "" +"Polígono inválido. Se necesitan al menos 2 puntos en modo de construcción " +"'Segments'." #: scene/2d/collision_shape_2d.cpp msgid "" diff --git a/editor/translations/es_AR.po b/editor/translations/es_AR.po index 5f9231e891..11e55b2dfa 100644 --- a/editor/translations/es_AR.po +++ b/editor/translations/es_AR.po @@ -21,7 +21,7 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine editor\n" "POT-Creation-Date: \n" -"PO-Revision-Date: 2021-02-27 00:47+0000\n" +"PO-Revision-Date: 2021-03-09 04:13+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" @@ -30,7 +30,7 @@ msgstr "" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=n != 1;\n" -"X-Generator: Weblate 4.5\n" +"X-Generator: Weblate 4.5.1\n" #: core/math/expression.cpp modules/gdscript/gdscript_functions.cpp #: modules/visual_script/visual_script_builtin_funcs.cpp @@ -4096,19 +4096,16 @@ msgid "Saving..." msgstr "Guardando..." #: editor/import_defaults_editor.cpp -#, fuzzy msgid "Select Importer" -msgstr "Modo Seleccionar" +msgstr "Seleccionar Importador" #: editor/import_defaults_editor.cpp -#, fuzzy msgid "Importer:" -msgstr "Importar" +msgstr "Importador:" #: editor/import_defaults_editor.cpp -#, fuzzy msgid "Reset to Defaults" -msgstr "Usar sRGB por Defecto" +msgstr "Restablecer Valores Por Defecto" #: editor/import_dock.cpp msgid "%d Files" @@ -10467,9 +10464,8 @@ msgid "Plugins" msgstr "Plugins" #: editor/project_settings_editor.cpp -#, fuzzy msgid "Import Defaults" -msgstr "Cargar Valores por Defecto" +msgstr "Valores de Importacion Por Defecto" #: editor/property_editor.cpp msgid "Preset..." @@ -12540,10 +12536,14 @@ msgstr "Un CollisionPolygon2D vacío no tiene efecto en la colisión." #: scene/2d/collision_polygon_2d.cpp msgid "Invalid polygon. At least 3 points are needed in 'Solids' build mode." msgstr "" +"Polígono inválido. Se necesitan al menos 3 puntos en modo de construcción " +"\"Sólidos\"." #: scene/2d/collision_polygon_2d.cpp msgid "Invalid polygon. At least 2 points are needed in 'Segments' build mode." msgstr "" +"Polígono inválido. Se necesitan al menos 2 puntos en modo de construcción " +"\"Segmentos\"." #: scene/2d/collision_shape_2d.cpp msgid "" diff --git a/editor/translations/fa.po b/editor/translations/fa.po index 910212f856..1ac27a6fd6 100644 --- a/editor/translations/fa.po +++ b/editor/translations/fa.po @@ -19,12 +19,13 @@ # MSKF <walkingdeadstudio@outlook.com>, 2020. # Ahmad Maftoun <CarCedo.Pro@gmail.com>, 2020. # ItzMiad44909858f5774b6d <maidggg@gmail.com>, 2020. +# YASAN <yasandev@gmail.com>, 2021. msgid "" msgstr "" "Project-Id-Version: Godot Engine editor\n" "POT-Creation-Date: \n" -"PO-Revision-Date: 2020-11-08 10:26+0000\n" -"Last-Translator: MSKF <walkingdeadstudio@outlook.com>\n" +"PO-Revision-Date: 2021-03-16 10:40+0000\n" +"Last-Translator: YASAN <yasandev@gmail.com>\n" "Language-Team: Persian <https://hosted.weblate.org/projects/godot-engine/" "godot/fa/>\n" "Language: fa\n" @@ -32,16 +33,16 @@ msgstr "" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=n > 1;\n" -"X-Generator: Weblate 4.3.2\n" +"X-Generator: Weblate 4.5.2-dev\n" #: core/math/expression.cpp modules/gdscript/gdscript_functions.cpp #: modules/visual_script/visual_script_builtin_funcs.cpp msgid "Invalid type argument to convert(), use TYPE_* constants." -msgstr "نوع ورودی برای ()convert نامعتبر است, ثوابت *_TYPE بکار گیرید ." +msgstr "نوع نامعتبر ورودی برای ()convert، ثوابت *_TYPE را بکار گیرید." #: core/math/expression.cpp modules/gdscript/gdscript_functions.cpp msgid "Expected a string of length 1 (a character)." -msgstr "یک رشته (string) در اندازه 1 (کاراکتر) انتظار می رود." +msgstr "یک رشته بهطول 1 ( یک کاراکتر) مورد انتظار است." #: core/math/expression.cpp modules/gdscript/gdscript_functions.cpp #: modules/mono/glue/gd_glue.cpp @@ -1040,11 +1041,10 @@ msgid "Owners Of:" msgstr "مالکانِ:" #: editor/dependency_editor.cpp -#, fuzzy msgid "" "Remove selected files from the project? (no undo)\n" "You can find the removed files in the system trash to restore them." -msgstr "آیا پروندههای انتخاب شده از طرح حذف شوند؟ (نمیتوان بازیابی کرد)" +msgstr "آیا پروندههای انتخاب شده از طرح حذف شوند؟ (غیر قابل بازیابی)" #: editor/dependency_editor.cpp #, fuzzy diff --git a/editor/translations/fi.po b/editor/translations/fi.po index 36e6c631be..4d690bd29d 100644 --- a/editor/translations/fi.po +++ b/editor/translations/fi.po @@ -15,7 +15,7 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine editor\n" "POT-Creation-Date: \n" -"PO-Revision-Date: 2021-02-27 00:47+0000\n" +"PO-Revision-Date: 2021-03-10 22:14+0000\n" "Last-Translator: Tapani Niemi <tapani.niemi@kapsi.fi>\n" "Language-Team: Finnish <https://hosted.weblate.org/projects/godot-engine/" "godot/fi/>\n" @@ -24,7 +24,7 @@ msgstr "" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=n != 1;\n" -"X-Generator: Weblate 4.5\n" +"X-Generator: Weblate 4.5.2-dev\n" #: core/math/expression.cpp modules/gdscript/gdscript_functions.cpp #: modules/visual_script/visual_script_builtin_funcs.cpp @@ -4056,19 +4056,16 @@ msgid "Saving..." msgstr "Tallennetaan..." #: editor/import_defaults_editor.cpp -#, fuzzy msgid "Select Importer" -msgstr "Valintatila" +msgstr "Valitse tuoja" #: editor/import_defaults_editor.cpp -#, fuzzy msgid "Importer:" -msgstr "Tuonti" +msgstr "Tuoja:" #: editor/import_defaults_editor.cpp -#, fuzzy msgid "Reset to Defaults" -msgstr "Lataa oletus" +msgstr "Palauta oletusarvoihin" #: editor/import_dock.cpp msgid "%d Files" @@ -10409,9 +10406,8 @@ msgid "Plugins" msgstr "Liitännäiset" #: editor/project_settings_editor.cpp -#, fuzzy msgid "Import Defaults" -msgstr "Lataa oletus" +msgstr "Lataa oletusarvot" #: editor/property_editor.cpp msgid "Preset..." @@ -12466,10 +12462,14 @@ msgstr "Tyhjällä CollisionPolygon2D solmulla ei ole vaikutusta törmäyksessä #: scene/2d/collision_polygon_2d.cpp msgid "Invalid polygon. At least 3 points are needed in 'Solids' build mode." msgstr "" +"Virheellinen polygoni. 'Solids' luontitilassa tarvitaan ainakin kolme " +"pistettä." #: scene/2d/collision_polygon_2d.cpp msgid "Invalid polygon. At least 2 points are needed in 'Segments' build mode." msgstr "" +"Virheellinen polygoni. 'Segments' luontitilassa tarvitaan ainakin kaksi " +"pistettä." #: scene/2d/collision_shape_2d.cpp msgid "" diff --git a/editor/translations/it.po b/editor/translations/it.po index 1d399091c3..67b524937c 100644 --- a/editor/translations/it.po +++ b/editor/translations/it.po @@ -50,7 +50,7 @@ # J. Lavoie <j.lavoie@net-c.ca>, 2020. # Andrea Terenziani <andrea.terenziani.at@gmail.com>, 2020. # Anonymous <noreply@weblate.org>, 2020. -# riccardo boffelli <riccardo.boffelli.96@gmail.com>, 2020. +# riccardo boffelli <riccardo.boffelli.96@gmail.com>, 2020, 2021. # Lorenzo Asolan <brixiumx@gmail.com>, 2020. # Lorenzo Cerqua <lorenzocerqua@tutanota.com>, 2020, 2021. # Federico Manzella <ferdiu.manzella@gmail.com>, 2020. @@ -60,8 +60,8 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine editor\n" "POT-Creation-Date: \n" -"PO-Revision-Date: 2021-03-07 06:04+0000\n" -"Last-Translator: Riteo Siuga <lorenzocerqua@tutanota.com>\n" +"PO-Revision-Date: 2021-03-10 22:14+0000\n" +"Last-Translator: riccardo boffelli <riccardo.boffelli.96@gmail.com>\n" "Language-Team: Italian <https://hosted.weblate.org/projects/godot-engine/" "godot/it/>\n" "Language: it\n" @@ -69,7 +69,7 @@ msgstr "" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=n != 1;\n" -"X-Generator: Weblate 4.5.1\n" +"X-Generator: Weblate 4.5.2-dev\n" #: core/math/expression.cpp modules/gdscript/gdscript_functions.cpp #: modules/visual_script/visual_script_builtin_funcs.cpp @@ -253,7 +253,7 @@ msgstr "Traccia di chiamate di metodo" #: editor/animation_track_editor.cpp msgid "Bezier Curve Track" -msgstr "Traccia curva di Bézier" +msgstr "Traccia di curve di Bézier" #: editor/animation_track_editor.cpp msgid "Audio Playback Track" @@ -273,11 +273,11 @@ msgstr "Durata dell'animazione (secondi)" #: editor/animation_track_editor.cpp msgid "Add Track" -msgstr "Aggiungi Traccia" +msgstr "Aggiungi una traccia" #: editor/animation_track_editor.cpp msgid "Animation Looping" -msgstr "Ciclicità Animazione" +msgstr "Ciclicità animazione" #: editor/animation_track_editor.cpp #: modules/visual_script/visual_script_editor.cpp @@ -286,11 +286,11 @@ msgstr "Funzioni:" #: editor/animation_track_editor.cpp msgid "Audio Clips:" -msgstr "Clip Audio:" +msgstr "Clip audio:" #: editor/animation_track_editor.cpp msgid "Anim Clips:" -msgstr "Clip Animazione:" +msgstr "Clip animazione:" #: editor/animation_track_editor.cpp msgid "Change Track Path" @@ -302,15 +302,15 @@ msgstr "Attiva/Disattiva questa traccia." #: editor/animation_track_editor.cpp msgid "Update Mode (How this property is set)" -msgstr "Modalità Aggiornamento (come viene impostata questa proprietà)" +msgstr "Modalità di aggiornamento (come viene impostata questa proprietà)" #: editor/animation_track_editor.cpp msgid "Interpolation Mode" -msgstr "Modalità Interpolazione" +msgstr "Modalità d'interpolazione" #: editor/animation_track_editor.cpp msgid "Loop Wrap Mode (Interpolate end with beginning on loop)" -msgstr "Modalità Ciclo ad Anello (interpola la fine con l'inizio a ciclo)" +msgstr "Modalità ciclo ad anello (interpola la fine con l'inizio del ciclo)" #: editor/animation_track_editor.cpp msgid "Remove this track." @@ -322,7 +322,7 @@ msgstr "Tempo (s): " #: editor/animation_track_editor.cpp msgid "Toggle Track Enabled" -msgstr "Abilita/DisabilitaTraccia" +msgstr "Abilita/Disabilita una traccia" #: editor/animation_track_editor.cpp msgid "Continuous" @@ -334,7 +334,7 @@ msgstr "Discreta" #: editor/animation_track_editor.cpp msgid "Trigger" -msgstr "Attivatore" +msgstr "Attivazione" #: editor/animation_track_editor.cpp msgid "Capture" @@ -355,32 +355,32 @@ msgstr "Cubica" #: editor/animation_track_editor.cpp msgid "Clamp Loop Interp" -msgstr "Blocca Interpolazione Ciclo" +msgstr "Blocca l'interpolazione d'un ciclo" #: editor/animation_track_editor.cpp msgid "Wrap Loop Interp" -msgstr "Avvolgi Interpolazione Ciclo" +msgstr "Continua l'interpolazione d'un ciclo" #: editor/animation_track_editor.cpp #: editor/plugins/canvas_item_editor_plugin.cpp msgid "Insert Key" -msgstr "Inserisci Fotogramma Chiave" +msgstr "Inserisci un fotogramma chiave" #: editor/animation_track_editor.cpp msgid "Duplicate Key(s)" -msgstr "Duplica Fotogrammi Chiave Selezionati" +msgstr "Duplica i fotogrammi chiave selezionati" #: editor/animation_track_editor.cpp msgid "Delete Key(s)" -msgstr "Elimina Fotogrammi Chiave Selezionati" +msgstr "Elimina i fotogrammi chiave selezionati" #: editor/animation_track_editor.cpp msgid "Change Animation Update Mode" -msgstr "Cambia Modalità Aggiornamento Animazione" +msgstr "Cambia la modalità d'aggiornamento di un'animazione" #: editor/animation_track_editor.cpp msgid "Change Animation Interpolation Mode" -msgstr "Cambia Modalità Interpolazione Animazione" +msgstr "Cambia la modalità d'interpolazione di un'animazione" #: editor/animation_track_editor.cpp msgid "Change Animation Loop Mode" @@ -4145,9 +4145,8 @@ msgid "Importer:" msgstr "Importare" #: editor/import_defaults_editor.cpp -#, fuzzy msgid "Reset to Defaults" -msgstr "Usa sRGB Default" +msgstr "Ripristinare le impostazioni predefinite" #: editor/import_dock.cpp msgid "%d Files" @@ -10523,7 +10522,6 @@ msgid "Plugins" msgstr "Plugins" #: editor/project_settings_editor.cpp -#, fuzzy msgid "Import Defaults" msgstr "Carica Predefiniti" @@ -12596,10 +12594,14 @@ msgstr "Un CollisionPolygon2D vuoto non ha effetti sulla collisione." #: scene/2d/collision_polygon_2d.cpp msgid "Invalid polygon. At least 3 points are needed in 'Solids' build mode." msgstr "" +"Poligono non valido. Sono necessari almeno 3 punti nella modalità di " +"costruzione 'Solidi'." #: scene/2d/collision_polygon_2d.cpp msgid "Invalid polygon. At least 2 points are needed in 'Segments' build mode." msgstr "" +"Poligono non valido. Sono necessari almeno 2 punti nella modalità di " +"costruzione 'Segmenti'." #: scene/2d/collision_shape_2d.cpp msgid "" diff --git a/editor/translations/ko.po b/editor/translations/ko.po index b898f397f4..693b726ebf 100644 --- a/editor/translations/ko.po +++ b/editor/translations/ko.po @@ -25,7 +25,7 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine editor\n" "POT-Creation-Date: \n" -"PO-Revision-Date: 2021-03-08 15:33+0000\n" +"PO-Revision-Date: 2021-03-12 09:17+0000\n" "Last-Translator: Myeongjin Lee <aranet100@gmail.com>\n" "Language-Team: Korean <https://hosted.weblate.org/projects/godot-engine/" "godot/ko/>\n" @@ -34,7 +34,7 @@ msgstr "" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=1; plural=0;\n" -"X-Generator: Weblate 4.5.1\n" +"X-Generator: Weblate 4.5.2-dev\n" #: core/math/expression.cpp modules/gdscript/gdscript_functions.cpp #: modules/visual_script/visual_script_builtin_funcs.cpp @@ -4051,19 +4051,16 @@ msgid "Saving..." msgstr "저장 중..." #: editor/import_defaults_editor.cpp -#, fuzzy msgid "Select Importer" -msgstr "모드 선택" +msgstr "임포터 선택" #: editor/import_defaults_editor.cpp -#, fuzzy msgid "Importer:" -msgstr "가져오기" +msgstr "임포터:" #: editor/import_defaults_editor.cpp -#, fuzzy msgid "Reset to Defaults" -msgstr "기본 sRGB 사용" +msgstr "기본값으로 재설정" #: editor/import_dock.cpp msgid "%d Files" @@ -10347,9 +10344,8 @@ msgid "Plugins" msgstr "플러그인(Plugin)" #: editor/project_settings_editor.cpp -#, fuzzy msgid "Import Defaults" -msgstr "기본값 불러오기" +msgstr "기본값 가져오기" #: editor/property_editor.cpp msgid "Preset..." @@ -12374,11 +12370,11 @@ msgstr "빈 CollisionPolygon2D는 충돌에 영향을 주지 않습니다." #: scene/2d/collision_polygon_2d.cpp msgid "Invalid polygon. At least 3 points are needed in 'Solids' build mode." -msgstr "" +msgstr "잘못된 폴리곤. 적어도 '솔리드' 빌드 모드에서 점 3개가 필요합니다." #: scene/2d/collision_polygon_2d.cpp msgid "Invalid polygon. At least 2 points are needed in 'Segments' build mode." -msgstr "" +msgstr "잘못된 폴리곤. 적어도 '세그먼트' 빌드 모드에서 점 2개가 필요합니다." #: scene/2d/collision_shape_2d.cpp msgid "" diff --git a/editor/translations/pl.po b/editor/translations/pl.po index 173e86753f..d55fee8b72 100644 --- a/editor/translations/pl.po +++ b/editor/translations/pl.po @@ -51,7 +51,7 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine editor\n" "POT-Creation-Date: \n" -"PO-Revision-Date: 2021-02-27 00:47+0000\n" +"PO-Revision-Date: 2021-03-10 22:14+0000\n" "Last-Translator: Tomek <kobewi4e@gmail.com>\n" "Language-Team: Polish <https://hosted.weblate.org/projects/godot-engine/" "godot/pl/>\n" @@ -61,7 +61,7 @@ msgstr "" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=3; plural=n==1 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 " "|| n%100>=20) ? 1 : 2;\n" -"X-Generator: Weblate 4.5\n" +"X-Generator: Weblate 4.5.2-dev\n" #: core/math/expression.cpp modules/gdscript/gdscript_functions.cpp #: modules/visual_script/visual_script_builtin_funcs.cpp @@ -4092,19 +4092,16 @@ msgid "Saving..." msgstr "Zapisywanie..." #: editor/import_defaults_editor.cpp -#, fuzzy msgid "Select Importer" -msgstr "Tryb zaznaczenia" +msgstr "Wybierz importer" #: editor/import_defaults_editor.cpp -#, fuzzy msgid "Importer:" -msgstr "Importuj" +msgstr "Importer:" #: editor/import_defaults_editor.cpp -#, fuzzy msgid "Reset to Defaults" -msgstr "Użyj domyślnie sRGB" +msgstr "Resetuj do domyślnych" #: editor/import_dock.cpp msgid "%d Files" @@ -10448,9 +10445,8 @@ msgid "Plugins" msgstr "Wtyczki" #: editor/project_settings_editor.cpp -#, fuzzy msgid "Import Defaults" -msgstr "Wczytaj domyślny" +msgstr "Importuj domyślne" #: editor/property_editor.cpp msgid "Preset..." @@ -12503,10 +12499,14 @@ msgstr "Pusty CollisionPolygon2D nie ma wpływu na kolizje." #: scene/2d/collision_polygon_2d.cpp msgid "Invalid polygon. At least 3 points are needed in 'Solids' build mode." msgstr "" +"Nieprawidłowy wielokąt. Co najmniej 3 punkty są potrzebne do trybu budowania " +"\"Solids\"." #: scene/2d/collision_polygon_2d.cpp msgid "Invalid polygon. At least 2 points are needed in 'Segments' build mode." msgstr "" +"Nieprawidłowy wielokąt. Co najmniej 3 punkty są potrzebne do trybu budowania " +"\"Segments\"." #: scene/2d/collision_shape_2d.cpp msgid "" diff --git a/editor/translations/pt.po b/editor/translations/pt.po index 28325d59bc..dd745d7c56 100644 --- a/editor/translations/pt.po +++ b/editor/translations/pt.po @@ -22,7 +22,7 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine editor\n" "POT-Creation-Date: \n" -"PO-Revision-Date: 2021-01-26 03:28+0000\n" +"PO-Revision-Date: 2021-03-10 22:14+0000\n" "Last-Translator: João Lopes <linux-man@hotmail.com>\n" "Language-Team: Portuguese <https://hosted.weblate.org/projects/godot-engine/" "godot/pt/>\n" @@ -31,7 +31,7 @@ msgstr "" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=n != 1;\n" -"X-Generator: Weblate 4.5-dev\n" +"X-Generator: Weblate 4.5.2-dev\n" #: core/math/expression.cpp modules/gdscript/gdscript_functions.cpp #: modules/visual_script/visual_script_builtin_funcs.cpp @@ -2542,9 +2542,8 @@ msgid "Unable to enable addon plugin at: '%s' parsing of config failed." msgstr "Incapaz de ativar plugin em: '%s' falha de análise ou configuração." #: editor/editor_node.cpp -#, fuzzy msgid "Unable to find script field for addon plugin at: '%s'." -msgstr "Incapaz de localizar campo Script para plugin em: 'res://addons/%s'." +msgstr "Incapaz de localizar campo script para plugin em: '%s'." #: editor/editor_node.cpp msgid "Unable to load addon script from path: '%s'." @@ -3140,13 +3139,12 @@ msgid "Open & Run a Script" msgstr "Abrir & Executar um Script" #: editor/editor_node.cpp -#, fuzzy msgid "" "The following files are newer on disk.\n" "What action should be taken?" msgstr "" -"Os seguintes Ficheiros são mais recentes no disco.\n" -"Que ação deve ser tomada?:" +"Os seguintes ficheiros são mais recentes no disco.\n" +"Que ação deve ser tomada?" #: editor/editor_node.cpp editor/plugins/script_editor_plugin.cpp #: editor/plugins/shader_editor_plugin.cpp @@ -4077,19 +4075,16 @@ msgid "Saving..." msgstr "A guardar..." #: editor/import_defaults_editor.cpp -#, fuzzy msgid "Select Importer" -msgstr "Modo Seleção" +msgstr "Selecionar Importador" #: editor/import_defaults_editor.cpp -#, fuzzy msgid "Importer:" -msgstr "Importar" +msgstr "Importador:" #: editor/import_defaults_editor.cpp -#, fuzzy msgid "Reset to Defaults" -msgstr "Carregar Predefinição" +msgstr "Restaurar Predefinições" #: editor/import_dock.cpp msgid "%d Files" @@ -5057,9 +5052,8 @@ msgid "Got:" msgstr "Obtido:" #: editor/plugins/asset_library_editor_plugin.cpp -#, fuzzy msgid "Failed SHA-256 hash check" -msgstr "Verificação hash sha256 falhada" +msgstr "Falhou a verificação hash SHA-256" #: editor/plugins/asset_library_editor_plugin.cpp msgid "Asset Download Error:" @@ -7359,9 +7353,8 @@ msgid "Yaw" msgstr "Direção" #: editor/plugins/spatial_editor_plugin.cpp -#, fuzzy msgid "Size" -msgstr "Tamanho: " +msgstr "Tamanho" #: editor/plugins/spatial_editor_plugin.cpp msgid "Objects Drawn" @@ -10043,9 +10036,8 @@ msgid "Projects" msgstr "Projetos" #: editor/project_manager.cpp -#, fuzzy msgid "Loading, please wait..." -msgstr "A readquirir servidores, espere por favor..." +msgstr "A carregar, espere por favor..." #: editor/project_manager.cpp msgid "Last Modified" @@ -10419,9 +10411,8 @@ msgid "Plugins" msgstr "Plugins" #: editor/project_settings_editor.cpp -#, fuzzy msgid "Import Defaults" -msgstr "Carregar Predefinição" +msgstr "Importar Predefinições" #: editor/property_editor.cpp msgid "Preset..." @@ -10672,14 +10663,12 @@ msgid "Instance Child Scene" msgstr "Instanciar Cena Filha" #: editor/scene_tree_dock.cpp -#, fuzzy msgid "Can't paste root node into the same scene." -msgstr "Não consigo operar em nós de uma cena externa!" +msgstr "Não consigo colar o nó raiz na mesma cena." #: editor/scene_tree_dock.cpp -#, fuzzy msgid "Paste Node(s)" -msgstr "Colar Nós" +msgstr "Colar Nó(s)" #: editor/scene_tree_dock.cpp msgid "Detach Script" @@ -10808,9 +10797,8 @@ msgid "Attach Script" msgstr "Anexar Script" #: editor/scene_tree_dock.cpp -#, fuzzy msgid "Cut Node(s)" -msgstr "Cortar Nós" +msgstr "Cortar Nó(s)" #: editor/scene_tree_dock.cpp msgid "Remove Node(s)" @@ -12481,10 +12469,14 @@ msgstr "Um CollisionPolygon2D vazio não tem efeito na colisão." #: scene/2d/collision_polygon_2d.cpp msgid "Invalid polygon. At least 3 points are needed in 'Solids' build mode." msgstr "" +"Polígono inválido. São precisos pelo menos 3 pontos no modo de construção " +"'Sólidos'." #: scene/2d/collision_polygon_2d.cpp msgid "Invalid polygon. At least 2 points are needed in 'Segments' build mode." msgstr "" +"Polígono inválido. São precisos pelo menos 2 pontos no modo de construção " +"'Segmentos'." #: scene/2d/collision_shape_2d.cpp msgid "" diff --git a/editor/translations/pt_BR.po b/editor/translations/pt_BR.po index 4270648266..c2e8116938 100644 --- a/editor/translations/pt_BR.po +++ b/editor/translations/pt_BR.po @@ -20,7 +20,7 @@ # MalcomRF <malcomkbk@gmail.com>, 2017. # Marcus Correia <marknokalt@live.com>, 2017-2018. # Michael Alexsander Silva Dias <michaelalexsander@protonmail.com>, 2017-2018. -# Renato Rotenberg <renato.rotenberg@gmail.com>, 2017, 2019. +# Renato Rotenberg <renato.rotenberg@gmail.com>, 2017, 2019, 2021. # Rodolfo R Gomes <rodolforg@gmail.com>, 2017-2018, 2019. # Tiago Almeida <thyagoeap@gmail.com>, 2017. # Mauricio Luan Carneiro deSouza <newmailmlcs@gmail.com>, 2018. @@ -116,8 +116,8 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine editor\n" "POT-Creation-Date: 2016-05-30\n" -"PO-Revision-Date: 2021-02-15 10:51+0000\n" -"Last-Translator: Carlos Bonifacio <carlosboni.sa@gmail.com>\n" +"PO-Revision-Date: 2021-03-10 22:14+0000\n" +"Last-Translator: Renato Rotenberg <renato.rotenberg@gmail.com>\n" "Language-Team: Portuguese (Brazil) <https://hosted.weblate.org/projects/" "godot-engine/godot/pt_BR/>\n" "Language: pt_BR\n" @@ -125,7 +125,7 @@ msgstr "" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=n > 1;\n" -"X-Generator: Weblate 4.5-dev\n" +"X-Generator: Weblate 4.5.2-dev\n" #: core/math/expression.cpp modules/gdscript/gdscript_functions.cpp #: modules/visual_script/visual_script_builtin_funcs.cpp @@ -3236,13 +3236,12 @@ msgid "Open & Run a Script" msgstr "Abrir e Rodar um Script" #: editor/editor_node.cpp -#, fuzzy msgid "" "The following files are newer on disk.\n" "What action should be taken?" msgstr "" "Os seguintes arquivos são mais recentes no disco.\n" -"Que ação deve ser tomada?:" +"Que ação deve ser tomada?" #: editor/editor_node.cpp editor/plugins/script_editor_plugin.cpp #: editor/plugins/shader_editor_plugin.cpp @@ -7470,9 +7469,8 @@ msgid "Yaw" msgstr "Guinada" #: editor/plugins/spatial_editor_plugin.cpp -#, fuzzy msgid "Size" -msgstr "Tamanho: " +msgstr "Tamanho" #: editor/plugins/spatial_editor_plugin.cpp msgid "Objects Drawn" @@ -10158,9 +10156,8 @@ msgid "Projects" msgstr "Projetos" #: editor/project_manager.cpp -#, fuzzy msgid "Loading, please wait..." -msgstr "Reconectando, por favor aguarde." +msgstr "Carregando, por favor aguarde." #: editor/project_manager.cpp msgid "Last Modified" @@ -10787,14 +10784,12 @@ msgid "Instance Child Scene" msgstr "Instânciar Cena Filha" #: editor/scene_tree_dock.cpp -#, fuzzy msgid "Can't paste root node into the same scene." -msgstr "Não é possível operar em nós de uma cena externa!" +msgstr "Não é possível colar o nó raiz na mesma cena." #: editor/scene_tree_dock.cpp -#, fuzzy msgid "Paste Node(s)" -msgstr "Colar Nodes" +msgstr "Colar Nó(s)" #: editor/scene_tree_dock.cpp msgid "Detach Script" @@ -10923,9 +10918,8 @@ msgid "Attach Script" msgstr "Adicionar Script" #: editor/scene_tree_dock.cpp -#, fuzzy msgid "Cut Node(s)" -msgstr "Recortar Nós" +msgstr "Recortar Nó(s)" #: editor/scene_tree_dock.cpp msgid "Remove Node(s)" @@ -12598,10 +12592,14 @@ msgstr "Um nó CollisionPolygon2D vazio não é efetivo para colisão." #: scene/2d/collision_polygon_2d.cpp msgid "Invalid polygon. At least 3 points are needed in 'Solids' build mode." msgstr "" +"Polígono inválido. Pelo menos 3 pontos são necessários no modo de construção " +"\"Sólidos\"." #: scene/2d/collision_polygon_2d.cpp msgid "Invalid polygon. At least 2 points are needed in 'Segments' build mode." msgstr "" +"Polígono inválido. Pelo menos 2 pontos são necessários no modo de construção " +"\"Segmentos\"." #: scene/2d/collision_shape_2d.cpp msgid "" @@ -12816,9 +12814,8 @@ msgid "Finding meshes and lights" msgstr "Encontrando malhas e luzes" #: scene/3d/baked_lightmap.cpp -#, fuzzy msgid "Preparing geometry (%d/%d)" -msgstr "Analisando Geometria..." +msgstr "Preparando geometria (%d/%d)" #: scene/3d/baked_lightmap.cpp msgid "Preparing environment" diff --git a/editor/translations/ru.po b/editor/translations/ru.po index eec73e585a..5a443fd1e3 100644 --- a/editor/translations/ru.po +++ b/editor/translations/ru.po @@ -96,7 +96,7 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine editor\n" "POT-Creation-Date: \n" -"PO-Revision-Date: 2021-02-27 00:47+0000\n" +"PO-Revision-Date: 2021-03-16 10:40+0000\n" "Last-Translator: Danil Alexeev <danil@alexeev.xyz>\n" "Language-Team: Russian <https://hosted.weblate.org/projects/godot-engine/" "godot/ru/>\n" @@ -106,7 +106,7 @@ msgstr "" "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 4.5\n" +"X-Generator: Weblate 4.5.2-dev\n" #: core/math/expression.cpp modules/gdscript/gdscript_functions.cpp #: modules/visual_script/visual_script_builtin_funcs.cpp @@ -4144,19 +4144,16 @@ msgid "Saving..." msgstr "Сохранение..." #: editor/import_defaults_editor.cpp -#, fuzzy msgid "Select Importer" -msgstr "Режим выделения" +msgstr "Выберите импортёр" #: editor/import_defaults_editor.cpp -#, fuzzy msgid "Importer:" -msgstr "Импорт" +msgstr "Импортёр:" #: editor/import_defaults_editor.cpp -#, fuzzy msgid "Reset to Defaults" -msgstr "Использовать sRGB" +msgstr "Сбросить настройки" #: editor/import_dock.cpp msgid "%d Files" @@ -10492,9 +10489,8 @@ msgid "Plugins" msgstr "Плагины" #: editor/project_settings_editor.cpp -#, fuzzy msgid "Import Defaults" -msgstr "Загрузить по умолчанию" +msgstr "Шаблоны импорта" #: editor/property_editor.cpp msgid "Preset..." @@ -12543,10 +12539,12 @@ msgstr "Пустой CollisionPolygon2D не влияет на столкнов #: scene/2d/collision_polygon_2d.cpp msgid "Invalid polygon. At least 3 points are needed in 'Solids' build mode." msgstr "" +"Недопустимый полигон. В режиме «Solids» необходимо по крайней мере 3 точки." #: scene/2d/collision_polygon_2d.cpp msgid "Invalid polygon. At least 2 points are needed in 'Segments' build mode." msgstr "" +"Недопустимый полигон. В режиме «Segments» необходимо по крайней мере 2 точки." #: scene/2d/collision_shape_2d.cpp msgid "" diff --git a/editor/translations/tr.po b/editor/translations/tr.po index ecd57ee2cd..9a815d3f25 100644 --- a/editor/translations/tr.po +++ b/editor/translations/tr.po @@ -53,7 +53,7 @@ # Hazar <duurkak@yandex.com>, 2020. # Mutlu ORAN <mutlu.oran66@gmail.com>, 2020. # Yusuf Osman YILMAZ <wolfkan4219@gmail.com>, 2020. -# furkan atalar <fatalar55@gmail.com>, 2020. +# furkan atalar <fatalar55@gmail.com>, 2020, 2021. # Suleyman Poyraz <zaryob.dev@gmail.com>, 2020. # Çağlar KOPARIR <ckoparir@gmail.com>, 2021. # Cem Eren Fukara <cefukara@hotmail.com>, 2021. @@ -61,8 +61,8 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine editor\n" "POT-Creation-Date: \n" -"PO-Revision-Date: 2021-03-03 15:50+0000\n" -"Last-Translator: Oğuz Ersen <oguzersen@protonmail.com>\n" +"PO-Revision-Date: 2021-03-16 10:40+0000\n" +"Last-Translator: furkan atalar <fatalar55@gmail.com>\n" "Language-Team: Turkish <https://hosted.weblate.org/projects/godot-engine/" "godot/tr/>\n" "Language: tr\n" @@ -70,7 +70,7 @@ msgstr "" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=n != 1;\n" -"X-Generator: Weblate 4.5.1-dev\n" +"X-Generator: Weblate 4.5.2-dev\n" #: core/math/expression.cpp modules/gdscript/gdscript_functions.cpp #: modules/visual_script/visual_script_builtin_funcs.cpp @@ -4112,19 +4112,16 @@ msgid "Saving..." msgstr "Kaydediliyor..." #: editor/import_defaults_editor.cpp -#, fuzzy msgid "Select Importer" -msgstr "Kip Seç" +msgstr "İçe Aktarıcı'yı seçin" #: editor/import_defaults_editor.cpp -#, fuzzy msgid "Importer:" msgstr "İçe Aktar" #: editor/import_defaults_editor.cpp -#, fuzzy msgid "Reset to Defaults" -msgstr "Önyüklü sRGB'yi Kullan" +msgstr "Varsayılanlara dön" #: editor/import_dock.cpp msgid "%d Files" @@ -5093,9 +5090,8 @@ msgid "Got:" msgstr "Alınan:" #: editor/plugins/asset_library_editor_plugin.cpp -#, fuzzy msgid "Failed SHA-256 hash check" -msgstr "Başarısız sha256 hash sınaması" +msgstr "SHA-256 hash kontrolü başarısız oldu" #: editor/plugins/asset_library_editor_plugin.cpp msgid "Asset Download Error:" @@ -10456,7 +10452,7 @@ msgstr "Eklentiler" #: editor/project_settings_editor.cpp #, fuzzy msgid "Import Defaults" -msgstr "Varsayılanı Yükle" +msgstr "Varsayılanları İçe Aktar" #: editor/property_editor.cpp msgid "Preset..." @@ -10707,12 +10703,10 @@ msgid "Instance Child Scene" msgstr "Çocuk Sahnesini Örnekle" #: editor/scene_tree_dock.cpp -#, fuzzy msgid "Can't paste root node into the same scene." -msgstr "Yad bir sahnedeki düğümler üzerinde çalışamaz!" +msgstr "Kök düğüm aynı sahneye yapıştırılamıyor." #: editor/scene_tree_dock.cpp -#, fuzzy msgid "Paste Node(s)" msgstr "Düğümleri Yapıştır" @@ -10844,9 +10838,8 @@ msgid "Attach Script" msgstr "Betik İliştir" #: editor/scene_tree_dock.cpp -#, fuzzy msgid "Cut Node(s)" -msgstr "Düğümleri Kes" +msgstr "Düğümleri Kes(s)" #: editor/scene_tree_dock.cpp msgid "Remove Node(s)" diff --git a/editor/translations/uk.po b/editor/translations/uk.po index 4cdbe25d02..6a8af58119 100644 --- a/editor/translations/uk.po +++ b/editor/translations/uk.po @@ -12,7 +12,7 @@ # Kirill Omelchenko <kirill.omelchenko@gmail.com>, 2018. # Александр <ol-vin@mail.ru>, 2018. # Богдан Матвіїв <bomtvv@gmail.com>, 2019. -# Tymofij Lytvynenko <till.svit@gmail.com>, 2020. +# Tymofij Lytvynenko <till.svit@gmail.com>, 2020, 2021. # Vladislav Glinsky <cl0ne@mithril.org.ua>, 2020. # Микола Тимошенко <9081@ukr.net>, 2020. # Miroslav <zinmirx@gmail.com>, 2020. @@ -20,8 +20,8 @@ msgid "" msgstr "" "Project-Id-Version: Ukrainian (Godot Engine)\n" "POT-Creation-Date: \n" -"PO-Revision-Date: 2021-02-22 21:30+0000\n" -"Last-Translator: Yuri Chornoivan <yurchor@ukr.net>\n" +"PO-Revision-Date: 2021-03-10 22:14+0000\n" +"Last-Translator: Tymofij Lytvynenko <till.svit@gmail.com>\n" "Language-Team: Ukrainian <https://hosted.weblate.org/projects/godot-engine/" "godot/uk/>\n" "Language: uk\n" @@ -30,7 +30,7 @@ msgstr "" "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 4.5\n" +"X-Generator: Weblate 4.5.2-dev\n" #: core/math/expression.cpp modules/gdscript/gdscript_functions.cpp #: modules/visual_script/visual_script_builtin_funcs.cpp @@ -1152,7 +1152,7 @@ msgstr "Ведучий розробник" #. you do not have to keep it in your translation. #: editor/editor_about.cpp msgid "Project Manager " -msgstr "Керівник проектів " +msgstr "Керівник проєктів " #: editor/editor_about.cpp msgid "Developers" @@ -4083,19 +4083,16 @@ msgid "Saving..." msgstr "Збереження..." #: editor/import_defaults_editor.cpp -#, fuzzy msgid "Select Importer" -msgstr "Режим виділення" +msgstr "Виберіть засіб імпортування" #: editor/import_defaults_editor.cpp -#, fuzzy msgid "Importer:" -msgstr "Імпорт" +msgstr "Засіб імпортування:" #: editor/import_defaults_editor.cpp -#, fuzzy msgid "Reset to Defaults" -msgstr "Завантажити типовий" +msgstr "Відновити типові параметри" #: editor/import_dock.cpp msgid "%d Files" @@ -10069,7 +10066,7 @@ msgstr "" #. TRANSLATORS: This refers to the application where users manage their Godot projects. #: editor/project_manager.cpp msgid "Project Manager" -msgstr "Керівник проекту" +msgstr "Керівник проєкту" #: editor/project_manager.cpp msgid "Projects" @@ -10450,9 +10447,8 @@ msgid "Plugins" msgstr "Плаґіни (додатки)" #: editor/project_settings_editor.cpp -#, fuzzy msgid "Import Defaults" -msgstr "Завантажити типовий" +msgstr "Типові параметри імпортування" #: editor/property_editor.cpp msgid "Preset..." @@ -12524,10 +12520,12 @@ msgstr "Порожній CollisionPolygon2D ніяк не вплине на зі #: scene/2d/collision_polygon_2d.cpp msgid "Invalid polygon. At least 3 points are needed in 'Solids' build mode." msgstr "" +"Некоректний полігон. У режимі збирання «Solids» потрібно принаймні 3 точки." #: scene/2d/collision_polygon_2d.cpp msgid "Invalid polygon. At least 2 points are needed in 'Segments' build mode." msgstr "" +"Некоректний полігон. У режимі збирання «Segments» потрібні принаймні 2 точки." #: scene/2d/collision_shape_2d.cpp msgid "" diff --git a/editor/translations/zh_CN.po b/editor/translations/zh_CN.po index ac2d4a61f6..deca89e9ea 100644 --- a/editor/translations/zh_CN.po +++ b/editor/translations/zh_CN.po @@ -81,7 +81,7 @@ msgid "" msgstr "" "Project-Id-Version: Chinese (Simplified) (Godot Engine)\n" "POT-Creation-Date: 2018-01-20 12:15+0200\n" -"PO-Revision-Date: 2021-03-08 15:33+0000\n" +"PO-Revision-Date: 2021-03-16 10:40+0000\n" "Last-Translator: Haoyu Qiu <timothyqiu32@gmail.com>\n" "Language-Team: Chinese (Simplified) <https://hosted.weblate.org/projects/" "godot-engine/godot/zh_Hans/>\n" @@ -90,7 +90,7 @@ msgstr "" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=1; plural=0;\n" -"X-Generator: Weblate 4.5.1\n" +"X-Generator: Weblate 4.5.2-dev\n" #: core/math/expression.cpp modules/gdscript/gdscript_functions.cpp #: modules/visual_script/visual_script_builtin_funcs.cpp @@ -2696,7 +2696,7 @@ msgstr "专注模式" #: editor/editor_node.cpp msgid "Toggle distraction-free mode." -msgstr "进入/离开专注模式。" +msgstr "切换专注模式。" #: editor/editor_node.cpp msgid "Add a new scene." @@ -2936,7 +2936,7 @@ msgstr "截图将保存在编辑器数据或设置文件夹中。" #: editor/editor_node.cpp msgid "Toggle Fullscreen" -msgstr "进入/离开全屏模式" +msgstr "切换全屏模式" #: editor/editor_node.cpp msgid "Toggle System Console" @@ -4045,19 +4045,16 @@ msgid "Saving..." msgstr "保存中..." #: editor/import_defaults_editor.cpp -#, fuzzy msgid "Select Importer" -msgstr "选择模式" +msgstr "选择导入器" #: editor/import_defaults_editor.cpp -#, fuzzy msgid "Importer:" -msgstr "导入" +msgstr "导入器:" #: editor/import_defaults_editor.cpp -#, fuzzy msgid "Reset to Defaults" -msgstr "使用默认sRGB" +msgstr "重置为默认值" #: editor/import_dock.cpp msgid "%d Files" @@ -5185,7 +5182,7 @@ msgstr "烘焙光照贴图" #: editor/plugins/baked_lightmap_editor_plugin.cpp msgid "Select lightmap bake file:" -msgstr "选择光照贴图烘焙文件:" +msgstr "选择光照贴图烘焙文件:" #: editor/plugins/camera_editor_plugin.cpp #: editor/plugins/spatial_editor_plugin.cpp @@ -5920,7 +5917,7 @@ msgstr "鼠标右键添加点" #: editor/plugins/gi_probe_editor_plugin.cpp msgid "Bake GI Probe" -msgstr "烘培 GI 探针" +msgstr "烘焙 GI 探针" #: editor/plugins/gradient_editor_plugin.cpp msgid "Gradient Edited" @@ -6016,7 +6013,7 @@ msgstr "网格没有可用来创建轮廓的表面!" #: editor/plugins/mesh_instance_editor_plugin.cpp msgid "Mesh primitive type is not PRIMITIVE_TRIANGLES!" -msgstr "Mesh 原始类型不是 PRIMITIVE_TRIANGLES!" +msgstr "网格的原始类型不是 PRIMITIVE_TRIANGLES!" #: editor/plugins/mesh_instance_editor_plugin.cpp msgid "Could not create outline!" @@ -6180,7 +6177,7 @@ msgstr "表面的源无效(路径无效)。" #: editor/plugins/multimesh_editor_plugin.cpp msgid "Surface source is invalid (no geometry)." -msgstr "表面的源无效(无几何)。" +msgstr "表面的源无效(无几何体)。" #: editor/plugins/multimesh_editor_plugin.cpp msgid "Surface source is invalid (no faces)." @@ -6220,7 +6217,7 @@ msgstr "Y 轴" #: editor/plugins/multimesh_editor_plugin.cpp msgid "Z-Axis" -msgstr "Z轴" +msgstr "Z 轴" #: editor/plugins/multimesh_editor_plugin.cpp msgid "Mesh Up Axis:" @@ -6266,7 +6263,7 @@ msgstr "只可设为指向 ParticlesMaterial 处理材料" #: editor/plugins/particles_2d_editor_plugin.cpp msgid "Convert to CPUParticles2D" -msgstr "转换为CPUParticles2D" +msgstr "转换为 CPUParticles2D" #: editor/plugins/particles_2d_editor_plugin.cpp #: editor/plugins/particles_editor_plugin.cpp @@ -6295,7 +6292,7 @@ msgstr "“%s” 不包含面几何体。" #: editor/plugins/particles_editor_plugin.cpp msgid "Create Emitter" -msgstr "创建发射器 (Emitter)" +msgstr "创建发射器" #: editor/plugins/particles_editor_plugin.cpp msgid "Emission Points:" @@ -10288,9 +10285,8 @@ msgid "Plugins" msgstr "插件" #: editor/project_settings_editor.cpp -#, fuzzy msgid "Import Defaults" -msgstr "加载默认" +msgstr "默认导入设置" #: editor/property_editor.cpp msgid "Preset..." @@ -11509,7 +11505,7 @@ msgstr "内部异常堆栈追朔结束" #: modules/recast/navigation_mesh_editor_plugin.cpp msgid "Bake NavMesh" -msgstr "烘焙导航网" +msgstr "烘焙导航网格" #: modules/recast/navigation_mesh_editor_plugin.cpp msgid "Clear the navigation mesh." @@ -12286,11 +12282,11 @@ msgstr "空的 CollisionPolygon2D 不起任何碰撞检测作用。" #: scene/2d/collision_polygon_2d.cpp msgid "Invalid polygon. At least 3 points are needed in 'Solids' build mode." -msgstr "" +msgstr "多边形无效。“Solids”构建模式需要至少三个点。" #: scene/2d/collision_polygon_2d.cpp msgid "Invalid polygon. At least 2 points are needed in 'Segments' build mode." -msgstr "" +msgstr "多边形无效。“Segments”构建模式需要至少两个点。" #: scene/2d/collision_shape_2d.cpp msgid "" diff --git a/editor/translations/zh_TW.po b/editor/translations/zh_TW.po index 5708d11522..62ef5a616c 100644 --- a/editor/translations/zh_TW.po +++ b/editor/translations/zh_TW.po @@ -29,7 +29,7 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine editor\n" "POT-Creation-Date: \n" -"PO-Revision-Date: 2021-02-27 00:47+0000\n" +"PO-Revision-Date: 2021-03-16 10:40+0000\n" "Last-Translator: BinotaLIU <me@binota.org>\n" "Language-Team: Chinese (Traditional) <https://hosted.weblate.org/projects/" "godot-engine/godot/zh_Hant/>\n" @@ -38,7 +38,7 @@ msgstr "" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=1; plural=0;\n" -"X-Generator: Weblate 4.5\n" +"X-Generator: Weblate 4.5.2-dev\n" #: core/math/expression.cpp modules/gdscript/gdscript_functions.cpp #: modules/visual_script/visual_script_builtin_funcs.cpp @@ -3995,19 +3995,16 @@ msgid "Saving..." msgstr "正在保存..." #: editor/import_defaults_editor.cpp -#, fuzzy msgid "Select Importer" -msgstr "選擇模式" +msgstr "選擇匯入程式" #: editor/import_defaults_editor.cpp -#, fuzzy msgid "Importer:" -msgstr "匯入" +msgstr "匯入程式:" #: editor/import_defaults_editor.cpp -#, fuzzy msgid "Reset to Defaults" -msgstr "載入預設" +msgstr "重設為預設" #: editor/import_dock.cpp msgid "%d Files" @@ -10239,9 +10236,8 @@ msgid "Plugins" msgstr "外掛" #: editor/project_settings_editor.cpp -#, fuzzy msgid "Import Defaults" -msgstr "載入預設" +msgstr "匯入預設" #: editor/property_editor.cpp msgid "Preset..." @@ -12241,11 +12237,11 @@ msgstr "空白的 CollisionPolygon2D 不會產生任何碰撞效果。" #: scene/2d/collision_polygon_2d.cpp msgid "Invalid polygon. At least 3 points are needed in 'Solids' build mode." -msgstr "" +msgstr "無效的多邊形。至少必須有三個點為「Solids」建構模式。" #: scene/2d/collision_polygon_2d.cpp msgid "Invalid polygon. At least 2 points are needed in 'Segments' build mode." -msgstr "" +msgstr "無效的多邊形。至少必須有 2 個點為「Segments」建構模式。" #: scene/2d/collision_shape_2d.cpp msgid "" |