diff options
Diffstat (limited to 'editor')
139 files changed, 12614 insertions, 4592 deletions
diff --git a/editor/animation_track_editor.cpp b/editor/animation_track_editor.cpp index 39c93fa785..4dff7d5b69 100644 --- a/editor/animation_track_editor.cpp +++ b/editor/animation_track_editor.cpp @@ -544,7 +544,7 @@ public: if (use_fps && animation->get_step() > 0) { float max_frame = animation->get_length() / animation->get_step(); - p_list->push_back(PropertyInfo(Variant::REAL, "frame", PROPERTY_HINT_RANGE, "0," + rtos(max_frame) + ",0.01")); + p_list->push_back(PropertyInfo(Variant::REAL, "frame", PROPERTY_HINT_RANGE, "0," + rtos(max_frame) + ",1")); } else { p_list->push_back(PropertyInfo(Variant::REAL, "time", PROPERTY_HINT_RANGE, "0," + rtos(animation->get_length()) + ",0.01")); } @@ -1022,8 +1022,14 @@ void AnimationTimelineEdit::update_values() { editing = true; if (use_fps && animation->get_step() > 0) { length->set_value(animation->get_length() / animation->get_step()); + length->set_step(1); + length->set_tooltip(TTR("Animation length (frames)")); + time_icon->set_tooltip(TTR("Animation length (frames)")); } else { length->set_value(animation->get_length()); + length->set_step(0.01); + length->set_tooltip(TTR("Animation length (seconds)")); + time_icon->set_tooltip(TTR("Animation length (seconds)")); } loop->set_pressed(animation->has_loop()); editing = false; @@ -1168,7 +1174,7 @@ AnimationTimelineEdit::AnimationTimelineEdit() { len_hb->add_child(expander); time_icon = memnew(TextureRect); time_icon->set_v_size_flags(SIZE_SHRINK_CENTER); - time_icon->set_tooltip(TTR("Animation Length Time (seconds)")); + time_icon->set_tooltip(TTR("Animation length (seconds)")); len_hb->add_child(time_icon); length = memnew(EditorSpinSlider); length->set_min(0.001); @@ -1177,7 +1183,7 @@ AnimationTimelineEdit::AnimationTimelineEdit() { length->set_allow_greater(true); length->set_custom_minimum_size(Vector2(70 * EDSCALE, 0)); length->set_hide_slider(true); - length->set_tooltip(TTR("Animation Length Time (seconds)")); + length->set_tooltip(TTR("Animation length (seconds)")); length->connect("value_changed", this, "_anim_length_changed"); len_hb->add_child(length); loop = memnew(ToolButton); @@ -2540,7 +2546,16 @@ void AnimationTrackEditor::set_animation(const Ref<Animation> &p_anim) { step->set_block_signals(false); step->set_read_only(false); snap->set_disabled(false); - snap_mode->set_disabled(true); + snap_mode->set_disabled(false); + + imported_anim_warning->hide(); + for (int i = 0; i < animation->get_track_count(); i++) { + if (animation->track_is_imported(i)) { + imported_anim_warning->show(); + break; + } + } + } else { hscroll->hide(); edit->set_disabled(true); @@ -2549,7 +2564,7 @@ void AnimationTrackEditor::set_animation(const Ref<Animation> &p_anim) { step->set_block_signals(false); step->set_read_only(true); snap->set_disabled(true); - snap_mode->set_disabled(false); + snap_mode->set_disabled(true); } } @@ -3610,6 +3625,7 @@ void AnimationTrackEditor::_notification(int p_what) { snap->set_icon(get_icon("Snap", "EditorIcons")); view_group->set_icon(get_icon(view_group->is_pressed() ? "AnimationTrackList" : "AnimationTrackGroup", "EditorIcons")); selected_filter->set_icon(get_icon("AnimationFilter", "EditorIcons")); + imported_anim_warning->set_icon(get_icon("NodeWarning", "EditorIcons")); main_panel->add_style_override("panel", get_stylebox("bg", "Tree")); } @@ -3857,7 +3873,7 @@ void AnimationTrackEditor::_insert_key_from_track(float p_ofs, int p_track) { ERR_FAIL_INDEX(p_track, animation->get_track_count()); if (snap->is_pressed() && step->get_value() != 0) { - p_ofs = Math::stepify(p_ofs, step->get_value()); + p_ofs = snap_time(p_ofs); } while (animation->track_find_key(p_track, p_ofs, true) != -1) { //make sure insertion point is valid p_ofs += 0.001; @@ -4116,6 +4132,7 @@ void AnimationTrackEditor::_update_key_edit() { key_edit = memnew(AnimationTrackKeyEdit); key_edit->animation = animation; key_edit->track = selection.front()->key().track; + key_edit->use_fps = timeline->is_using_fps(); float ofs = animation->track_get_key_time(key_edit->track, selection.front()->key().key); key_edit->key_ofs = ofs; @@ -4889,12 +4906,28 @@ void AnimationTrackEditor::_selection_changed() { float AnimationTrackEditor::snap_time(float p_value) { if (snap->is_pressed()) { - p_value = Math::stepify(p_value, step->get_value()); + + double snap_increment; + if (timeline->is_using_fps() && step->get_value() > 0) + snap_increment = 1.0 / step->get_value(); + else + snap_increment = step->get_value(); + + p_value = Math::stepify(p_value, snap_increment); } return p_value; } +void AnimationTrackEditor::_show_imported_anim_warning() const { + + EditorNode::get_singleton()->show_warning(TTR("This animation belongs to an imported scene, so changes to imported tracks will not be saved.\n\n" + "To enable the ability to add custom tracks, navigate to the scene's import settings and set\n" + "\"Animation > Storage\" to \"Files\", enable \"Animation > Keep Custom Tracks\", then re-import.\n" + "Alternatively, use an import preset that imports animations to separate files."), + TTR("Warning: Editing imported animation")); +} + void AnimationTrackEditor::_bind_methods() { ClassDB::bind_method("_animation_changed", &AnimationTrackEditor::_animation_changed); @@ -4933,6 +4966,7 @@ void AnimationTrackEditor::_bind_methods() { ClassDB::bind_method("_view_group_toggle", &AnimationTrackEditor::_view_group_toggle); ClassDB::bind_method("_selection_changed", &AnimationTrackEditor::_selection_changed); ClassDB::bind_method("_snap_mode_changed", &AnimationTrackEditor::_snap_mode_changed); + ClassDB::bind_method("_show_imported_anim_warning", &AnimationTrackEditor::_show_imported_anim_warning); ADD_SIGNAL(MethodInfo("timeline_changed", PropertyInfo(Variant::REAL, "position"), PropertyInfo(Variant::BOOL, "drag"))); ADD_SIGNAL(MethodInfo("keying_changed")); @@ -5003,6 +5037,13 @@ AnimationTrackEditor::AnimationTrackEditor() { //timeline_vbox->add_child(memnew(HSeparator)); HBoxContainer *bottom_hb = memnew(HBoxContainer); add_child(bottom_hb); + + imported_anim_warning = memnew(Button); + imported_anim_warning->hide(); + imported_anim_warning->set_tooltip(TTR("Warning: Editing imported animation")); + imported_anim_warning->connect("pressed", this, "_show_imported_anim_warning"); + bottom_hb->add_child(imported_anim_warning); + bottom_hb->add_spacer(); selected_filter = memnew(ToolButton); @@ -5021,7 +5062,7 @@ AnimationTrackEditor::AnimationTrackEditor() { bottom_hb->add_child(memnew(VSeparator)); snap = memnew(ToolButton); - snap->set_text(TTR("Snap: ")); + snap->set_text(TTR("Snap:") + " "); bottom_hb->add_child(snap); snap->set_disabled(true); snap->set_toggle_mode(true); diff --git a/editor/animation_track_editor.h b/editor/animation_track_editor.h index 5ac5999b68..a69659642c 100644 --- a/editor/animation_track_editor.h +++ b/editor/animation_track_editor.h @@ -309,6 +309,9 @@ class AnimationTrackEditor : public VBoxContainer { ToolButton *snap; OptionButton *snap_mode; + Button *imported_anim_warning; + void _show_imported_anim_warning() const; + void _snap_mode_changed(int p_mode); Vector<AnimationTrackEdit *> track_edits; Vector<AnimationTrackEditGroup *> groups; diff --git a/editor/code_editor.cpp b/editor/code_editor.cpp index 134384c167..d655f52f5d 100644 --- a/editor/code_editor.cpp +++ b/editor/code_editor.cpp @@ -768,6 +768,7 @@ void CodeTextEditor::update_editor_settings() { text_editor->set_hiding_enabled(EditorSettings::get_singleton()->get("text_editor/line_numbers/code_folding")); text_editor->set_draw_fold_gutter(EditorSettings::get_singleton()->get("text_editor/line_numbers/code_folding")); text_editor->set_wrap_enabled(EditorSettings::get_singleton()->get("text_editor/line_numbers/word_wrap")); + text_editor->set_draw_info_gutter(EditorSettings::get_singleton()->get("text_editor/line_numbers/show_info_gutter")); text_editor->cursor_set_block_mode(EditorSettings::get_singleton()->get("text_editor/cursor/block_caret")); text_editor->set_smooth_scroll_enabled(EditorSettings::get_singleton()->get("text_editor/open_scripts/smooth_scrolling")); text_editor->set_v_scroll_speed(EditorSettings::get_singleton()->get("text_editor/open_scripts/v_scroll_speed")); @@ -1176,21 +1177,69 @@ void CodeTextEditor::goto_line_selection(int p_line, int p_begin, int p_end) { text_editor->select(p_line, p_begin, p_line, p_end); } +void CodeTextEditor::set_executing_line(int p_line) { + text_editor->set_executing_line(p_line); +} + +void CodeTextEditor::clear_executing_line() { + text_editor->clear_executing_line(); +} + Variant CodeTextEditor::get_edit_state() { Dictionary state; state["scroll_position"] = text_editor->get_v_scroll(); + state["h_scroll_position"] = text_editor->get_h_scroll(); state["column"] = text_editor->cursor_get_column(); state["row"] = text_editor->cursor_get_line(); + state["selection"] = get_text_edit()->is_selection_active(); + if (get_text_edit()->is_selection_active()) { + state["selection_from_line"] = text_editor->get_selection_from_line(); + state["selection_from_column"] = text_editor->get_selection_from_column(); + state["selection_to_line"] = text_editor->get_selection_to_line(); + state["selection_to_column"] = text_editor->get_selection_to_column(); + } + + state["folded_lines"] = text_editor->get_folded_lines(); + state["breakpoints"] = text_editor->get_breakpoints_array(); + + state["syntax_highlighter"] = TTR("Standard"); + SyntaxHighlighter *syntax_highlighter = text_editor->_get_syntax_highlighting(); + if (syntax_highlighter) { + state["syntax_highlighter"] = syntax_highlighter->get_name(); + } + return state; } void CodeTextEditor::set_edit_state(const Variant &p_state) { Dictionary state = p_state; - text_editor->cursor_set_column(state["column"]); + + /* update the row first as it sets the column to 0 */ text_editor->cursor_set_line(state["row"]); + text_editor->cursor_set_column(state["column"]); text_editor->set_v_scroll(state["scroll_position"]); + text_editor->set_h_scroll(state["h_scroll_position"]); + + if (state.has("selection")) { + text_editor->select(state["selection_from_line"], state["selection_from_column"], state["selection_to_line"], state["selection_to_column"]); + } + + if (state.has("folded_lines")) { + Vector<int> folded_lines = state["folded_lines"]; + for (int i = 0; i < folded_lines.size(); i++) { + text_editor->fold_line(folded_lines[i]); + } + } + + if (state.has("breakpoints")) { + Array breakpoints = state["breakpoints"]; + for (int i = 0; i < breakpoints.size(); i++) { + text_editor->set_line_as_breakpoint(breakpoints[i], true); + } + } + text_editor->grab_focus(); } diff --git a/editor/code_editor.h b/editor/code_editor.h index e3dbfe1ce0..b98af377ce 100644 --- a/editor/code_editor.h +++ b/editor/code_editor.h @@ -217,6 +217,8 @@ public: void goto_line(int p_line); void goto_line_selection(int p_line, int p_begin, int p_end); + void set_executing_line(int p_line); + void clear_executing_line(); Variant get_edit_state(); void set_edit_state(const Variant &p_state); diff --git a/editor/collada/collada.cpp b/editor/collada/collada.cpp index 94a37a3118..e9040b9d3e 100644 --- a/editor/collada/collada.cpp +++ b/editor/collada/collada.cpp @@ -2256,8 +2256,7 @@ void Collada::_merge_skeletons2(VisualScene *p_vscene) { Node *node = state.scene_map[name]; ERR_CONTINUE(node->type != Node::TYPE_JOINT); - if (node->type != Node::TYPE_JOINT) - continue; + NodeSkeleton *sk = NULL; while (node && !sk) { diff --git a/editor/connections_dialog.cpp b/editor/connections_dialog.cpp index 685c5de76c..a9a96da7b1 100644 --- a/editor/connections_dialog.cpp +++ b/editor/connections_dialog.cpp @@ -113,14 +113,14 @@ Signal automatically called by parent dialog. void ConnectDialog::ok_pressed() { if (dst_method->get_text() == "") { - error->set_text(TTR("Method in target Node must be specified!")); + error->set_text(TTR("Method in target node must be specified.")); error->popup_centered_minsize(); return; } Node *target = tree->get_selected(); if (target->get_script().is_null()) { if (!target->has_method(dst_method->get_text())) { - error->set_text(TTR("Target method not found! Specify a valid method or attach a script to target Node.")); + error->set_text(TTR("Target method not found. Specify a valid method or attach a script to the target node.")); error->popup_centered_minsize(); return; } @@ -141,6 +141,9 @@ void ConnectDialog::_tree_node_selected() { Node *current = tree->get_selected(); + if (!current) + return; + dst_path = source->get_path_to(current); get_ok()->set_disabled(false); } @@ -309,6 +312,7 @@ void ConnectDialog::popup_dialog(const String &p_for_signal, bool p_advanced) { advanced->set_pressed(p_advanced); from_signal->set_text(p_for_signal); error_label->add_color_override("font_color", get_color("error_color", "Editor")); + vbc_right->set_visible(p_advanced); if (p_advanced) { @@ -330,7 +334,7 @@ void ConnectDialog::popup_dialog(const String &p_for_signal, bool p_advanced) { } void ConnectDialog::_advanced_pressed() { - vbc_right->set_visible(advanced->is_pressed()); + popup_dialog(from_signal->get_text(), advanced->is_pressed()); } @@ -414,7 +418,7 @@ ConnectDialog::ConnectDialog() { advanced = memnew(CheckBox); dstm_hb->add_child(advanced); - advanced->set_text(TTR("Advanced..")); + advanced->set_text(TTR("Advanced...")); advanced->connect("pressed", this, "_advanced_pressed"); /* @@ -440,8 +444,9 @@ ConnectDialog::ConnectDialog() { cdbinds = memnew(ConnectDialogBinds); - error = memnew(ConfirmationDialog); + error = memnew(AcceptDialog); add_child(error); + error->set_title(TTR("Cannot connect signal")); error->get_ok()->set_text(TTR("Close")); get_ok()->set_text(TTR("Connect")); } diff --git a/editor/connections_dialog.h b/editor/connections_dialog.h index 59fe6dacfe..9b35d84426 100644 --- a/editor/connections_dialog.h +++ b/editor/connections_dialog.h @@ -64,7 +64,7 @@ class ConnectDialog : public ConfirmationDialog { VBoxContainer *vbc_right; SceneTreeEditor *tree; - ConfirmationDialog *error; + AcceptDialog *error; EditorInspector *bind_editor; OptionButton *type_list; CheckButton *deferred; diff --git a/editor/doc/doc_data.cpp b/editor/doc/doc_data.cpp index 8f1d0d9677..c2a492bc9a 100644 --- a/editor/doc/doc_data.cpp +++ b/editor/doc/doc_data.cpp @@ -54,7 +54,6 @@ void DocData::merge_from(const DocData &p_data) { c.description = cf.description; c.brief_description = cf.brief_description; c.tutorials = cf.tutorials; - c.demos = cf.demos; for (int i = 0; i < c.methods.size(); i++) { @@ -837,10 +836,6 @@ Error DocData::_load(Ref<XMLParser> parser) { } else if (parser->get_node_type() == XMLParser::NODE_ELEMENT_END && parser->get_node_name() == "tutorials") break; //end of <tutorials> } - } else if (name2 == "demos") { - parser->read(); - if (parser->get_node_type() == XMLParser::NODE_TEXT) - c.demos = parser->get_node_data(); } else if (name2 == "methods") { Error err2 = _parse_methods(parser, c.methods); @@ -987,8 +982,7 @@ Error DocData::save_classes(const String &p_default_path, const Map<String, Stri FileAccessRef f = FileAccess::open(save_file, FileAccess::WRITE, &err); if (err) { ERR_EXPLAIN("Can't write doc file: " + save_file); - - ERR_FAIL_V(err); + ERR_CONTINUE(err); } _write_string(f, 0, "<?xml version=\"1.0\" encoding=\"UTF-8\" ?>"); @@ -1015,9 +1009,6 @@ Error DocData::save_classes(const String &p_default_path, const Map<String, Stri _write_string(f, 2, "<link>" + c.tutorials.get(i).xml_escape() + "</link>"); } _write_string(f, 1, "</tutorials>"); - _write_string(f, 1, "<demos>"); - _write_string(f, 2, c.demos.strip_edges().xml_escape()); - _write_string(f, 1, "</demos>"); _write_string(f, 1, "<methods>"); c.methods.sort(); diff --git a/editor/doc/doc_data.h b/editor/doc/doc_data.h index 8156acd3d0..d3844adb7e 100644 --- a/editor/doc/doc_data.h +++ b/editor/doc/doc_data.h @@ -86,7 +86,6 @@ public: String brief_description; String description; Vector<String> tutorials; - String demos; Vector<MethodDoc> methods; Vector<MethodDoc> signals; Vector<ConstantDoc> constants; diff --git a/editor/editor_atlas_packer.cpp b/editor/editor_atlas_packer.cpp new file mode 100644 index 0000000000..4e1d98399a --- /dev/null +++ b/editor/editor_atlas_packer.cpp @@ -0,0 +1,265 @@ +#include "editor_atlas_packer.h" + +void EditorAtlasPacker::_plot_triangle(Ref<BitMap> p_bitmap, Vector2i *vertices) { + + int width = p_bitmap->get_size().width; + int height = p_bitmap->get_size().height; + int x[3]; + int y[3]; + + for (int j = 0; j < 3; j++) { + + x[j] = vertices[j].x; + y[j] = vertices[j].y; + } + + // sort the points vertically + if (y[1] > y[2]) { + SWAP(x[1], x[2]); + SWAP(y[1], y[2]); + } + if (y[0] > y[1]) { + SWAP(x[0], x[1]); + SWAP(y[0], y[1]); + } + if (y[1] > y[2]) { + SWAP(x[1], x[2]); + SWAP(y[1], y[2]); + } + + double dx_far = double(x[2] - x[0]) / (y[2] - y[0] + 1); + double dx_upper = double(x[1] - x[0]) / (y[1] - y[0] + 1); + double dx_low = double(x[2] - x[1]) / (y[2] - y[1] + 1); + double xf = x[0]; + double xt = x[0] + dx_upper; // if y[0] == y[1], special case + for (int yi = y[0]; yi <= (y[2] > height - 1 ? height - 1 : y[2]); yi++) { + if (yi >= 0) { + for (int xi = (xf > 0 ? int(xf) : 0); xi <= (xt < width ? xt : width - 1); xi++) { + //pixels[int(x + y * width)] = color; + + p_bitmap->set_bit(Point2(xi, yi), true); + } + + for (int xi = (xf < width ? int(xf) : width - 1); xi >= (xt > 0 ? xt : 0); xi--) { + + p_bitmap->set_bit(Point2(xi, yi), true); + } + } + xf += dx_far; + if (yi < y[1]) + xt += dx_upper; + else + xt += dx_low; + } +} +void EditorAtlasPacker::chart_pack(Vector<Chart> &charts, int &r_width, int &r_height, int p_atlas_max_size, int p_cell_resolution) { + + int divide_by = MIN(64, p_cell_resolution); + Vector<PlottedBitmap> bitmaps; + + int max_w = 0; + + for (int i = 0; i < charts.size(); i++) { + + const Chart &chart = charts[i]; + + //generate aabb + + Rect2i aabb; + int vertex_count = chart.vertices.size(); + const Vector2 *vertices = chart.vertices.ptr(); + + for (int j = 0; j < vertex_count; j++) { + + if (j == 0) { + aabb.position = vertices[j]; + } else { + aabb.expand_to(vertices[j]); + } + } + + Ref<BitMap> src_bitmap; + src_bitmap.instance(); + src_bitmap->create(aabb.size / divide_by); + + int w = src_bitmap->get_size().width; + int h = src_bitmap->get_size().height; + + //plot triangles, using divisor + + for (int j = 0; j < chart.faces.size(); j++) { + + Vector2i v[3]; + for (int k = 0; k < 3; k++) { + Vector2 vtx = chart.vertices[chart.faces[j].vertex[k]]; + vtx -= aabb.position; + vtx /= divide_by; + v[k] = vtx; + } + + _plot_triangle(src_bitmap, v); + } + + //src_bitmap->convert_to_image()->save_png("bitmap" + itos(i) + ".png"); + + //grow by 1 for each side + + int bmw = src_bitmap->get_size().width + 2; + int bmh = src_bitmap->get_size().height + 2; + + int heights_size = -1; + bool transpose = false; + if (chart.can_transpose && bmh > bmw) { + heights_size = bmh; + transpose = true; + } else { + heights_size = bmw; + } + + max_w = MAX(max_w, heights_size); + + Vector<int> top_heights; + Vector<int> bottom_heights; + top_heights.resize(heights_size); + bottom_heights.resize(heights_size); + + for (int x = 0; x < heights_size; x++) { + top_heights.write[x] = -1; + bottom_heights.write[x] = 0x7FFFFFFF; + } + + for (int x = 0; x < bmw; x++) { + for (int y = 0; y < bmh; y++) { + bool found_pixel = false; + for (int lx = x - 1; lx < x + 2 && !found_pixel; lx++) { + for (int ly = y - 1; ly < y + 2 && !found_pixel; ly++) { + + int px = lx - 1; + if (px < 0 || px >= w) + continue; + int py = ly - 1; + if (py < 0 || py >= h) + continue; + + if (src_bitmap->get_bit(Vector2(px, py))) { + found_pixel = true; + } + } + } + if (found_pixel) { + + if (transpose) { + if (x > top_heights[y]) { + top_heights.write[y] = x; + } + if (x < bottom_heights[y]) { + bottom_heights.write[y] = x; + } + } else { + if (y > top_heights[x]) { + top_heights.write[x] = y; + } + if (y < bottom_heights[x]) { + bottom_heights.write[x] = y; + } + } + } + } + } + + String row; + for (int j = 0; j < top_heights.size(); j++) { + row += "(" + itos(top_heights[j]) + "-" + itos(bottom_heights[j]) + "),"; + } + + PlottedBitmap plotted_bitmap; + plotted_bitmap.offset = aabb.position; + plotted_bitmap.top_heights = top_heights; + plotted_bitmap.bottom_heights = bottom_heights; + plotted_bitmap.chart_index = i; + plotted_bitmap.transposed = transpose; + plotted_bitmap.area = bmw * bmh; + + bitmaps.push_back(plotted_bitmap); + } + + bitmaps.sort(); + + int atlas_max_width = nearest_power_of_2_templated(p_atlas_max_size) / divide_by; + int atlas_w = nearest_power_of_2_templated(max_w); + int atlas_h; + while (true) { + atlas_h = 0; + + //do a tetris + Vector<int> heights; + heights.resize(atlas_w); + for (int i = 0; i < atlas_w; i++) { + heights.write[i] = 0; + } + + int *atlas_ptr = heights.ptrw(); + + for (int i = 0; i < bitmaps.size(); i++) { + + int best_height = 0x7FFFFFFF; + int best_height_offset = -1; + int w = bitmaps[i].top_heights.size(); + + const int *top_heights = bitmaps[i].top_heights.ptr(); + const int *bottom_heights = bitmaps[i].bottom_heights.ptr(); + + for (int j = 0; j < atlas_w - w; j++) { + + int height = 0; + + for (int k = 0; k < w; k++) { + + int pixmap_h = bottom_heights[k]; + if (pixmap_h == -1) { + continue; //no pixel here, anything is fine + } + + int h = MAX(0, atlas_ptr[j + k] - pixmap_h); + if (h > height) { + height = h; + } + } + + if (height < best_height) { + best_height = height; + best_height_offset = j; + } + } + + for (int j = 0; j < w; j++) { //add + if (top_heights[j] == -1) { //unused + continue; + } + int height = best_height + top_heights[j] + 1; + atlas_ptr[j + best_height_offset] = height; + atlas_h = MAX(atlas_h, height); + } + + // set + Vector2 offset = bitmaps[i].offset; + if (bitmaps[i].transposed) { + SWAP(offset.x, offset.y); + } + + Vector2 final_pos = Vector2(best_height_offset * divide_by, best_height * divide_by) + Vector2(divide_by, divide_by) - offset; + charts.write[bitmaps[i].chart_index].final_offset = final_pos; + charts.write[bitmaps[i].chart_index].transposed = bitmaps[i].transposed; + } + + if (atlas_h <= atlas_w * 2 || atlas_w >= atlas_max_width) { + break; //ok this one is enough + } + + //try again + atlas_w *= 2; + } + + r_width = atlas_w * divide_by; + r_height = atlas_h * divide_by; +} diff --git a/editor/editor_atlas_packer.h b/editor/editor_atlas_packer.h new file mode 100644 index 0000000000..dd9caa340e --- /dev/null +++ b/editor/editor_atlas_packer.h @@ -0,0 +1,45 @@ +#ifndef EDITOR_ATLAS_PACKER_H +#define EDITOR_ATLAS_PACKER_H + +#include "core/math/vector2.h" + +#include "core/vector.h" +#include "scene/resources/bit_map.h" + +class EditorAtlasPacker { +public: + struct Chart { + Vector<Vector2> vertices; + struct Face { + int vertex[3]; + }; + Vector<Face> faces; + bool can_transpose; + + Vector2 final_offset; + bool transposed; + }; + +private: + struct PlottedBitmap { + int chart_index; + Vector2i offset; + int area; + Vector<int> top_heights; + Vector<int> bottom_heights; + bool transposed; + + Vector2 final_pos; + + bool operator<(const PlottedBitmap &p_bm) const { + return area > p_bm.area; + } + }; + + static void _plot_triangle(Ref<BitMap> p_bitmap, Vector2i *vertices); + +public: + static void chart_pack(Vector<Chart> &charts, int &r_width, int &r_height, int p_atlas_max_size = 2048, int p_cell_resolution = 4); +}; + +#endif // EDITOR_ATLAS_PACKER_H diff --git a/editor/editor_audio_buses.cpp b/editor/editor_audio_buses.cpp index 49d40e6d90..2beb0153f4 100644 --- a/editor/editor_audio_buses.cpp +++ b/editor/editor_audio_buses.cpp @@ -756,7 +756,7 @@ EditorAudioBus::EditorAudioBus(EditorAudioBuses *p_buses, bool p_is_master) { add_child(vb); set_v_size_flags(SIZE_EXPAND_FILL); - set_custom_minimum_size(Size2(100, 0) * EDSCALE); + set_custom_minimum_size(Size2(110, 0) * EDSCALE); track_name = memnew(LineEdit); track_name->connect("text_entered", this, "_name_changed"); @@ -1394,7 +1394,7 @@ void EditorAudioMeterNotches::_notification(int p_what) { } void EditorAudioMeterNotches::_draw_audio_notches() { - Ref<Font> font = get_font("source", "EditorFonts"); + Ref<Font> font = get_font("font", "Label"); float font_height = font->get_height(); for (uint8_t i = 0; i < notches.size(); i++) { diff --git a/editor/editor_file_dialog.cpp b/editor/editor_file_dialog.cpp index e6a6d9e6a6..724b821267 100644 --- a/editor/editor_file_dialog.cpp +++ b/editor/editor_file_dialog.cpp @@ -233,8 +233,8 @@ void EditorFileDialog::_file_entered(const String &p_file) { void EditorFileDialog::_save_confirm_pressed() { String f = dir_access->get_current_dir().plus_file(file->get_text()); _save_to_recent(); - emit_signal("file_selected", f); hide(); + emit_signal("file_selected", f); } void EditorFileDialog::_post_popup() { @@ -343,8 +343,8 @@ void EditorFileDialog::_action_pressed() { if (files.size()) { _save_to_recent(); - emit_signal("files_selected", files); hide(); + emit_signal("files_selected", files); } return; @@ -354,8 +354,8 @@ void EditorFileDialog::_action_pressed() { if ((mode == MODE_OPEN_ANY || mode == MODE_OPEN_FILE) && dir_access->file_exists(f)) { _save_to_recent(); - emit_signal("file_selected", f); hide(); + emit_signal("file_selected", f); } else if (mode == MODE_OPEN_ANY || mode == MODE_OPEN_DIR) { String path = dir_access->get_current_dir(); @@ -374,8 +374,8 @@ void EditorFileDialog::_action_pressed() { } _save_to_recent(); - emit_signal("dir_selected", path); hide(); + emit_signal("dir_selected", path); } if (mode == MODE_SAVE_FILE) { @@ -441,8 +441,8 @@ void EditorFileDialog::_action_pressed() { } else { _save_to_recent(); - emit_signal("file_selected", f); hide(); + emit_signal("file_selected", f); } } } diff --git a/editor/editor_file_system.cpp b/editor/editor_file_system.cpp index 3d9d5e26be..abd3bea951 100644 --- a/editor/editor_file_system.cpp +++ b/editor/editor_file_system.cpp @@ -43,7 +43,7 @@ EditorFileSystem *EditorFileSystem::singleton = NULL; //the name is the version, to keep compatibility with different versions of Godot -#define CACHE_FILE_NAME "filesystem_cache5" +#define CACHE_FILE_NAME "filesystem_cache6" void EditorFileSystemDirectory::sort_files() { @@ -241,7 +241,7 @@ void EditorFileSystem::_scan_filesystem() { } else { Vector<String> split = l.split("::"); - ERR_CONTINUE(split.size() != 7); + ERR_CONTINUE(split.size() != 8); String name = split[0]; String file; @@ -253,11 +253,12 @@ void EditorFileSystem::_scan_filesystem() { fc.modification_time = split[2].to_int64(); fc.import_modification_time = split[3].to_int64(); fc.import_valid = split[4].to_int64() != 0; - fc.script_class_name = split[5].get_slice("<>", 0); - fc.script_class_extends = split[5].get_slice("<>", 1); - fc.script_class_icon_path = split[5].get_slice("<>", 2); + fc.import_group_file = split[5].strip_edges(); + fc.script_class_name = split[6].get_slice("<>", 0); + fc.script_class_extends = split[6].get_slice("<>", 1); + fc.script_class_icon_path = split[6].get_slice("<>", 2); - String deps = split[6].strip_edges(); + String deps = split[7].strip_edges(); if (deps.length()) { Vector<String> dp = deps.split("<>"); for (int i = 0; i < dp.size(); i++) { @@ -318,6 +319,9 @@ void EditorFileSystem::_scan_filesystem() { } void EditorFileSystem::_save_filesystem_cache() { + + group_file_cache.clear(); + String fscache = EditorSettings::get_singleton()->get_project_settings_dir().plus_file(CACHE_FILE_NAME); FileAccess *f = FileAccess::open(fscache, FileAccess::WRITE); @@ -771,6 +775,7 @@ void EditorFileSystem::_scan_new_dir(EditorFileSystemDirectory *p_dir, DirAccess fi->import_valid = fc->import_valid; fi->script_class_name = fc->script_class_name; + fi->import_group_file = fc->import_group_file; fi->script_class_extends = fc->script_class_extends; fi->script_class_icon_path = fc->script_class_icon_path; @@ -784,6 +789,7 @@ void EditorFileSystem::_scan_new_dir(EditorFileSystemDirectory *p_dir, DirAccess if (fc->type == String()) { fi->type = ResourceLoader::get_resource_type(path); + fi->import_group_file = ResourceLoader::get_import_group_file(path); //there is also the chance that file type changed due to reimport, must probably check this somehow here (or kind of note it for next time in another file?) //note: I think this should not happen any longer.. } @@ -791,6 +797,7 @@ void EditorFileSystem::_scan_new_dir(EditorFileSystemDirectory *p_dir, DirAccess } else { fi->type = ResourceFormatImporter::get_singleton()->get_resource_type(path); + fi->import_group_file = ResourceFormatImporter::get_singleton()->get_import_group_file(path); fi->script_class_name = _get_global_script_class(fi->type, path, &fi->script_class_extends, &fi->script_class_icon_path); fi->modified_time = 0; fi->import_modified_time = 0; @@ -918,6 +925,7 @@ void EditorFileSystem::_scan_fs_changes(EditorFileSystemDirectory *p_dir, const fi->type = ResourceLoader::get_resource_type(path); fi->script_class_name = _get_global_script_class(fi->type, path, &fi->script_class_extends, &fi->script_class_icon_path); fi->import_valid = ResourceLoader::is_import_valid(path); + fi->import_group_file = ResourceLoader::get_import_group_file(path); { ItemAction ia; @@ -1187,7 +1195,10 @@ void EditorFileSystem::_save_filesystem_cache(EditorFileSystemDirectory *p_dir, for (int i = 0; i < p_dir->files.size(); i++) { - String s = p_dir->files[i]->file + "::" + p_dir->files[i]->type + "::" + itos(p_dir->files[i]->modified_time) + "::" + itos(p_dir->files[i]->import_modified_time) + "::" + itos(p_dir->files[i]->import_valid) + "::" + p_dir->files[i]->script_class_name + "<>" + p_dir->files[i]->script_class_extends + "<>" + p_dir->files[i]->script_class_icon_path; + if (p_dir->files[i]->import_group_file != String()) { + group_file_cache.insert(p_dir->files[i]->import_group_file); + } + String s = p_dir->files[i]->file + "::" + p_dir->files[i]->type + "::" + itos(p_dir->files[i]->modified_time) + "::" + itos(p_dir->files[i]->import_modified_time) + "::" + itos(p_dir->files[i]->import_valid) + "::" + p_dir->files[i]->import_group_file + "::" + p_dir->files[i]->script_class_name + "<>" + p_dir->files[i]->script_class_extends + "<>" + p_dir->files[i]->script_class_icon_path; s += "::"; for (int j = 0; j < p_dir->files[i]->deps.size(); j++) { @@ -1523,6 +1534,7 @@ void EditorFileSystem::update_file(const String &p_file) { fs->files[cpos]->type = type; fs->files[cpos]->script_class_name = _get_global_script_class(type, p_file, &fs->files[cpos]->script_class_extends, &fs->files[cpos]->script_class_icon_path); + fs->files[cpos]->import_group_file = ResourceLoader::get_import_group_file(p_file); fs->files[cpos]->modified_time = FileAccess::get_modified_time(p_file); fs->files[cpos]->deps = _get_dependencies(p_file); fs->files[cpos]->import_valid = ResourceLoader::is_import_valid(p_file); @@ -1534,6 +1546,168 @@ void EditorFileSystem::update_file(const String &p_file) { _queue_update_script_classes(); } +Error EditorFileSystem::_reimport_group(const String &p_group_file, const Vector<String> &p_files) { + + String importer_name; + + Map<String, Map<StringName, Variant> > source_file_options; + Map<String, String> base_paths; + for (int i = 0; i < p_files.size(); i++) { + + Ref<ConfigFile> config; + config.instance(); + Error err = config->load(p_files[i] + ".import"); + ERR_CONTINUE(err != OK); + ERR_CONTINUE(!config->has_section_key("remap", "importer")); + String file_importer_name = config->get_value("remap", "importer"); + ERR_CONTINUE(file_importer_name == String()); + + if (importer_name != String() && importer_name != file_importer_name) { + print_line("one importer: " + importer_name + " the other: " + file_importer_name); + EditorNode::get_singleton()->show_warning(vformat(TTR("There are multiple importers for different types pointing to file %s, import aborted"), p_group_file)); + ERR_FAIL_V(ERR_FILE_CORRUPT); + } + + source_file_options[p_files[i]] = Map<StringName, Variant>(); + importer_name = file_importer_name; + + Ref<ResourceImporter> importer = ResourceFormatImporter::get_singleton()->get_importer_by_name(importer_name); + ERR_FAIL_COND_V(!importer.is_valid(), ERR_FILE_CORRUPT); + List<ResourceImporter::ImportOption> options; + importer->get_import_options(&options); + //set default values + for (List<ResourceImporter::ImportOption>::Element *E = options.front(); E; E = E->next()) { + + source_file_options[p_files[i]][E->get().option.name] = E->get().default_value; + } + + if (config->has_section("params")) { + List<String> sk; + config->get_section_keys("params", &sk); + for (List<String>::Element *E = sk.front(); E; E = E->next()) { + String param = E->get(); + Variant value = config->get_value("params", param); + //override with whathever is in file + source_file_options[p_files[i]][param] = value; + } + } + + base_paths[p_files[i]] = ResourceFormatImporter::get_singleton()->get_import_base_path(p_files[i]); + } + + ERR_FAIL_COND_V(importer_name == String(), ERR_UNCONFIGURED); + + Ref<ResourceImporter> importer = ResourceFormatImporter::get_singleton()->get_importer_by_name(importer_name); + + Error err = importer->import_group_file(p_group_file, source_file_options, base_paths); + + //all went well, overwrite config files with proper remaps and md5s + for (Map<String, Map<StringName, Variant> >::Element *E = source_file_options.front(); E; E = E->next()) { + + String file = E->key(); + String base_path = ResourceFormatImporter::get_singleton()->get_import_base_path(file); + FileAccessRef f = FileAccess::open(file + ".import", FileAccess::WRITE); + ERR_FAIL_COND_V(!f, ERR_FILE_CANT_OPEN); + + //write manually, as order matters ([remap] has to go first for performance). + f->store_line("[remap]"); + f->store_line(""); + f->store_line("importer=\"" + importer->get_importer_name() + "\""); + if (importer->get_resource_type() != "") { + f->store_line("type=\"" + importer->get_resource_type() + "\""); + } + + Vector<String> dest_paths; + + if (err == OK) { + String path = base_path + "." + importer->get_save_extension(); + f->store_line("path=\"" + path + "\""); + dest_paths.push_back(path); + } + + f->store_line("group_file=" + Variant(p_group_file).get_construct_string()); + + if (err == OK) { + f->store_line("valid=true"); + } else { + f->store_line("valid=false"); + } + f->store_line("[deps]\n"); + + f->store_line(""); + + f->store_line("source_file=" + Variant(file).get_construct_string()); + if (dest_paths.size()) { + Array dp; + for (int i = 0; i < dest_paths.size(); i++) { + dp.push_back(dest_paths[i]); + } + f->store_line("dest_files=" + Variant(dp).get_construct_string() + "\n"); + } + f->store_line("[params]"); + f->store_line(""); + + //store options in provided order, to avoid file changing. Order is also important because first match is accepted first. + + List<ResourceImporter::ImportOption> options; + importer->get_import_options(&options); + //set default values + for (List<ResourceImporter::ImportOption>::Element *F = options.front(); F; F = F->next()) { + + String base = F->get().option.name; + Variant v = F->get().default_value; + if (source_file_options[file].has(base)) { + v = source_file_options[file][base]; + } + String value; + VariantWriter::write_to_string(v, value); + f->store_line(base + "=" + value); + } + + f->close(); + + // Store the md5's of the various files. These are stored separately so that the .import files can be version controlled. + FileAccessRef md5s = FileAccess::open(base_path + ".md5", FileAccess::WRITE); + ERR_FAIL_COND_V(!md5s, ERR_FILE_CANT_OPEN); + + md5s->store_line("source_md5=\"" + FileAccess::get_md5(file) + "\""); + if (dest_paths.size()) { + md5s->store_line("dest_md5=\"" + FileAccess::get_multiple_md5(dest_paths) + "\"\n"); + } + md5s->close(); + + EditorFileSystemDirectory *fs = NULL; + int cpos = -1; + bool found = _find_file(file, &fs, cpos); + ERR_FAIL_COND_V(!found, ERR_UNCONFIGURED); + + //update modified times, to avoid reimport + fs->files[cpos]->modified_time = FileAccess::get_modified_time(file); + fs->files[cpos]->import_modified_time = FileAccess::get_modified_time(file + ".import"); + fs->files[cpos]->deps = _get_dependencies(file); + fs->files[cpos]->type = importer->get_resource_type(); + fs->files[cpos]->import_valid = err == OK; + + //if file is currently up, maybe the source it was loaded from changed, so import math must be updated for it + //to reload properly + if (ResourceCache::has(file)) { + + Resource *r = ResourceCache::get(file); + + if (r->get_import_path() != String()) { + + String dst_path = ResourceFormatImporter::get_singleton()->get_internal_resource_path(file); + r->set_import_path(dst_path); + r->set_import_last_modified_time(0); + } + } + + EditorResourcePreview::get_singleton()->check_for_invalidation(file); + } + + return err; +} + void EditorFileSystem::_reimport_file(const String &p_file) { EditorFileSystemDirectory *fs = NULL; @@ -1738,6 +1912,24 @@ void EditorFileSystem::_reimport_file(const String &p_file) { EditorResourcePreview::get_singleton()->check_for_invalidation(p_file); } +void EditorFileSystem::_find_group_files(EditorFileSystemDirectory *efd, Map<String, Vector<String> > &group_files, Set<String> &groups_to_reimport) { + + int fc = efd->files.size(); + const EditorFileSystemDirectory::FileInfo *const *files = efd->files.ptr(); + for (int i = 0; i < fc; i++) { + if (groups_to_reimport.has(files[i]->import_group_file)) { + if (!group_files.has(files[i]->import_group_file)) { + group_files[files[i]->import_group_file] = Vector<String>(); + } + group_files[files[i]->import_group_file].push_back(efd->get_file_path(i)); + } + } + + for (int i = 0; i < efd->get_subdir_count(); i++) { + _find_group_files(efd->get_subdir(i), group_files, groups_to_reimport); + } +} + void EditorFileSystem::reimport_files(const Vector<String> &p_files) { { //check that .import folder exists @@ -1757,22 +1949,58 @@ void EditorFileSystem::reimport_files(const Vector<String> &p_files) { EditorProgress pr("reimport", TTR("(Re)Importing Assets"), p_files.size()); Vector<ImportFile> files; + Set<String> groups_to_reimport; for (int i = 0; i < p_files.size(); i++) { - ImportFile ifile; - ifile.path = p_files[i]; - ifile.order = ResourceFormatImporter::get_singleton()->get_import_order(p_files[i]); - files.push_back(ifile); + + String group_file = ResourceFormatImporter::get_singleton()->get_import_group_file(p_files[i]); + + if (group_file_cache.has(p_files[i])) { + //maybe the file itself is a group! + groups_to_reimport.insert(p_files[i]); + //groups do not belong to grups + group_file = String(); + } else if (group_file != String()) { + //it's a group file, add group to import and skip this file + groups_to_reimport.insert(group_file); + } else { + //it's a regular file + ImportFile ifile; + ifile.path = p_files[i]; + ifile.order = ResourceFormatImporter::get_singleton()->get_import_order(p_files[i]); + files.push_back(ifile); + } + + //group may have changed, so also update group reference + EditorFileSystemDirectory *fs = NULL; + int cpos = -1; + if (_find_file(p_files[i], &fs, cpos)) { + + fs->files.write[cpos]->import_group_file = group_file; + } } files.sort(); for (int i = 0; i < files.size(); i++) { pr.step(files[i].path.get_file(), i); - _reimport_file(files[i].path); } + //reimport groups + + if (groups_to_reimport.size()) { + Map<String, Vector<String> > group_files; + _find_group_files(filesystem, group_files, groups_to_reimport); + for (Map<String, Vector<String> >::Element *E = group_files.front(); E; E = E->next()) { + + Error err = _reimport_group(E->key(), E->get()); + if (err == OK) { + _reimport_file(E->key()); + } + } + } + _save_filesystem_cache(); importing = false; if (!is_scanning()) { @@ -1793,6 +2021,63 @@ Error EditorFileSystem::_resource_import(const String &p_path) { return OK; } +bool EditorFileSystem::is_group_file(const String &p_path) const { + return group_file_cache.has(p_path); +} + +void EditorFileSystem::_move_group_files(EditorFileSystemDirectory *efd, const String &p_group_file, const String &p_new_location) { + + int fc = efd->files.size(); + EditorFileSystemDirectory::FileInfo *const *files = efd->files.ptrw(); + for (int i = 0; i < fc; i++) { + + if (files[i]->import_group_file == p_group_file) { + + files[i]->import_group_file = p_new_location; + + Ref<ConfigFile> config; + config.instance(); + String path = efd->get_file_path(i) + ".import"; + Error err = config->load(path); + if (err != OK) { + continue; + } + if (config->has_section_key("remap", "group_file")) { + + config->set_value("remap", "group_file", p_new_location); + } + + List<String> sk; + config->get_section_keys("params", &sk); + for (List<String>::Element *E = sk.front(); E; E = E->next()) { + //not very clean, but should work + String param = E->get(); + String value = config->get_value("params", param); + if (value == p_group_file) { + config->set_value("params", param, p_new_location); + } + } + + config->save(path); + } + } + + for (int i = 0; i < efd->get_subdir_count(); i++) { + _move_group_files(efd->get_subdir(i), p_group_file, p_new_location); + } +} + +void EditorFileSystem::move_group_file(const String &p_path, const String &p_new_path) { + + if (get_filesystem()) { + _move_group_files(get_filesystem(), p_path, p_new_path); + if (group_file_cache.has(p_path)) { + group_file_cache.erase(p_path); + group_file_cache.insert(p_new_path); + } + } +} + void EditorFileSystem::_bind_methods() { ClassDB::bind_method(D_METHOD("get_filesystem"), &EditorFileSystem::get_filesystem); diff --git a/editor/editor_file_system.h b/editor/editor_file_system.h index 2a9e325454..8943706202 100644 --- a/editor/editor_file_system.h +++ b/editor/editor_file_system.h @@ -56,6 +56,7 @@ class EditorFileSystemDirectory : public Object { uint64_t modified_time; uint64_t import_modified_time; bool import_valid; + String import_group_file; Vector<String> deps; bool verified; //used for checking changes String script_class_name; @@ -167,6 +168,7 @@ class EditorFileSystem : public Node { uint64_t import_modification_time; Vector<String> deps; bool import_valid; + String import_group_file; String script_class_name; String script_class_extends; String script_class_icon_path; @@ -211,6 +213,7 @@ class EditorFileSystem : public Node { void _update_extensions(); void _reimport_file(const String &p_file); + Error _reimport_group(const String &p_group_file, const Vector<String> &p_files); bool _test_for_reimport(const String &p_path, bool p_only_imported_files); @@ -236,6 +239,12 @@ class EditorFileSystem : public Node { bool using_fat_32; //workaround for projects in FAT32 filesystem (pendrives, most of the time) + void _find_group_files(EditorFileSystemDirectory *efd, Map<String, Vector<String> > &group_files, Set<String> &groups_to_reimport); + + void _move_group_files(EditorFileSystemDirectory *efd, const String &p_group_file, const String &p_new_location); + + Set<String> group_file_cache; + protected: void _notification(int p_what); static void _bind_methods(); @@ -260,6 +269,9 @@ public: void update_script_classes(); + bool is_group_file(const String &p_path) const; + void move_group_file(const String &p_path, const String &p_new_path); + EditorFileSystem(); ~EditorFileSystem(); }; diff --git a/editor/editor_help.cpp b/editor/editor_help.cpp index e0a2bbf477..5917869988 100644 --- a/editor/editor_help.cpp +++ b/editor/editor_help.cpp @@ -97,8 +97,10 @@ void EditorHelp::_class_desc_select(const String &p_select) { emit_signal("go_to_help", "class_name:" + p_select.substr(1, p_select.length())); return; } else if (p_select.begins_with("@")) { - String tag = p_select.substr(1, 8).rstrip(" "); - String link = p_select.substr(9, p_select.length()); + int tag_end = p_select.find(" "); + + String tag = p_select.substr(1, tag_end - 1); + String link = p_select.substr(tag_end + 1, p_select.length()).lstrip(" "); String topic; Map<String, int> *table = NULL; @@ -230,7 +232,7 @@ void EditorHelp::_add_method(const DocData::MethodDoc &p_method, bool p_overview } if (p_overview && p_method.description != "") { - class_desc->push_meta("@method" + p_method.name); + class_desc->push_meta("@method " + p_method.name); } class_desc->push_color(headline_color); @@ -468,7 +470,7 @@ void EditorHelp::_update_doc() { } class_desc->push_cell(); if (describe) { - class_desc->push_meta("@member" + cd.properties[i].name); + class_desc->push_meta("@member " + cd.properties[i].name); } class_desc->push_font(doc_code_font); @@ -1192,10 +1194,13 @@ static void _add_text_to_rt(const String &p_bbcode, RichTextLabel *p_rt) { } else if (tag.begins_with("method ") || tag.begins_with("member ") || tag.begins_with("signal ") || tag.begins_with("enum ") || tag.begins_with("constant ")) { - String link_target = tag.substr(tag.find(" ") + 1, tag.length()); - String link_tag = tag.substr(0, tag.find(" ")).rpad(8); + int tag_end = tag.find(" "); + + String link_tag = tag.substr(0, tag_end); + String link_target = tag.substr(tag_end + 1, tag.length()).lstrip(" "); + p_rt->push_color(link_color); - p_rt->push_meta("@" + link_tag + link_target); + p_rt->push_meta("@" + link_tag + " " + link_target); p_rt->add_text(link_target + (tag.begins_with("method ") ? "()" : "")); p_rt->pop(); p_rt->pop(); diff --git a/editor/editor_inspector.cpp b/editor/editor_inspector.cpp index c705f9af2b..ecb9ea5f35 100644 --- a/editor/editor_inspector.cpp +++ b/editor/editor_inspector.cpp @@ -211,12 +211,14 @@ void EditorProperty::_notification(int p_what) { } int ofs = 0; + int text_limit = text_size; + if (checkable) { Ref<Texture> checkbox; if (checked) - checkbox = get_icon("checked", "CheckBox"); + checkbox = get_icon("GuiChecked", "EditorIcons"); else - checkbox = get_icon("unchecked", "CheckBox"); + checkbox = get_icon("GuiUnchecked", "EditorIcons"); Color color2(1, 1, 1); if (check_hover) { @@ -228,12 +230,11 @@ void EditorProperty::_notification(int p_what) { draw_texture(checkbox, check_rect.position, color2); ofs += get_constant("hseparator", "Tree"); ofs += checkbox->get_width(); + text_limit -= ofs; } else { check_rect = Rect2(); } - int text_limit = text_size; - if (can_revert) { Ref<Texture> reload_icon = get_icon("ReloadSmall", "EditorIcons"); text_limit -= reload_icon->get_width() + get_constant("hseparator", "Tree") * 2; @@ -433,7 +434,7 @@ bool EditorPropertyRevert::is_node_property_different(Node *p_node, const Varian float a = p_current; float b = p_orig; - return Math::abs(a - b) > CMP_EPSILON; //this must be done because, as some scenes save as text, there might be a tiny difference in floats due to numerical error + return !Math::is_equal_approx(a, b); //this must be done because, as some scenes save as text, there might be a tiny difference in floats due to numerical error } return bool(Variant::evaluate(Variant::OP_NOT_EQUAL, p_current, p_orig)); @@ -470,10 +471,12 @@ bool EditorPropertyRevert::can_property_revert(Object *p_object, const StringNam if (!has_revert && !p_object->get_script().is_null()) { Ref<Script> scr = p_object->get_script(); - Variant orig_value; - if (scr->get_property_default_value(p_property, orig_value)) { - if (orig_value != p_object->get(p_property)) { - has_revert = true; + if (scr.is_valid()) { + Variant orig_value; + if (scr->get_property_default_value(p_property, orig_value)) { + if (orig_value != p_object->get(p_property)) { + has_revert = true; + } } } } @@ -668,11 +671,13 @@ void EditorProperty::_gui_input(const Ref<InputEvent> &p_event) { if (!object->get_script().is_null()) { Ref<Script> scr = object->get_script(); - Variant orig_value; - if (scr->get_property_default_value(property, orig_value)) { - emit_changed(property, orig_value); - update_property(); - return; + if (scr.is_valid()) { + Variant orig_value; + if (scr->get_property_default_value(property, orig_value)) { + emit_changed(property, orig_value); + update_property(); + return; + } } } @@ -800,6 +805,9 @@ void EditorProperty::_bind_methods() { ClassDB::bind_method(D_METHOD("get_tooltip_text"), &EditorProperty::get_tooltip_text); + ClassDB::bind_method(D_METHOD("add_focusable", "control"), &EditorProperty::add_focusable); + ClassDB::bind_method(D_METHOD("set_bottom_editor", "editor"), &EditorProperty::set_bottom_editor); + ClassDB::bind_method(D_METHOD("emit_changed", "property", "value", "field", "changing"), &EditorProperty::emit_changed, DEFVAL(StringName()), DEFVAL(false)); ADD_PROPERTY(PropertyInfo(Variant::STRING, "label"), "set_label", "get_label"); @@ -1523,7 +1531,7 @@ void EditorInspector::update_tree() { if (E) { descr = E->get().brief_description; } - class_descr_cache[type2] = descr.word_wrap(80); + class_descr_cache[type2] = descr; } category->set_tooltip(p.name + "::" + (class_descr_cache[type2] == "" ? "" : class_descr_cache[type2])); @@ -1675,7 +1683,7 @@ void EditorInspector::update_tree() { while (F && descr == String()) { for (int i = 0; i < F->get().properties.size(); i++) { if (F->get().properties[i].name == propname.operator String()) { - descr = F->get().properties[i].description.strip_edges().word_wrap(80); + descr = F->get().properties[i].description.strip_edges(); break; } } diff --git a/editor/editor_node.cpp b/editor/editor_node.cpp index 851d6a0aa6..df653d6d03 100644 --- a/editor/editor_node.cpp +++ b/editor/editor_node.cpp @@ -47,6 +47,7 @@ #include "core/translation.h" #include "core/version.h" #include "main/input_default.h" +#include "main/main.h" #include "scene/resources/packed_scene.h" #include "servers/physics_2d_server.h" @@ -65,6 +66,7 @@ #include "editor/import/resource_importer_obj.h" #include "editor/import/resource_importer_scene.h" #include "editor/import/resource_importer_texture.h" +#include "editor/import/resource_importer_texture_atlas.h" #include "editor/import/resource_importer_wav.h" #include "editor/plugins/animation_blend_space_1d_editor.h" #include "editor/plugins/animation_blend_space_2d_editor.h" @@ -1935,6 +1937,21 @@ void EditorNode::_menu_option_confirm(int p_option, bool p_confirmed) { open_request(previous_scenes.back()->get()); } break; + case FILE_CLOSE_OTHERS: + case FILE_CLOSE_RIGHT: + case FILE_CLOSE_ALL: { + if (editor_data.get_edited_scene_count() > 1 && (current_option != FILE_CLOSE_RIGHT || editor_data.get_edited_scene() < editor_data.get_edited_scene_count() - 1)) { + int next_tab = editor_data.get_edited_scene() + 1; + next_tab %= editor_data.get_edited_scene_count(); + _scene_tab_closed(next_tab, current_option); + } else { + if (current_option != FILE_CLOSE_ALL) + current_option = -1; + else + _scene_tab_closed(editor_data.get_edited_scene()); + } + + } break; case FILE_CLOSE_ALL_AND_QUIT: case FILE_CLOSE_ALL_AND_RUN_PROJECT_MANAGER: case FILE_CLOSE: { @@ -1972,6 +1989,7 @@ void EditorNode::_menu_option_confirm(int p_option, bool p_confirmed) { if (scene_idx != -1) _discard_changes(); + save_layout(); break; } @@ -2269,6 +2287,23 @@ void EditorNode::_menu_option_confirm(int p_option, bool p_confirmed) { OS::get_singleton()->shell_open(String("file://") + OS::get_singleton()->get_user_data_dir()); } break; + case FILE_INSTALL_ANDROID_SOURCE: { + + if (p_confirmed) { + export_template_manager->install_android_template(); + } else { + if (DirAccess::exists("res://android/build")) { + remove_android_build_template->popup_centered_minsize(); + } else if (export_template_manager->can_install_android_template()) { + install_android_build_template->popup_centered_minsize(); + } else { + custom_build_manage_templates->popup_centered_minsize(); + } + } + } break; + case FILE_EXPLORE_ANDROID_BUILD_TEMPLATES: { + OS::get_singleton()->shell_open(String("file://") + ProjectSettings::get_singleton()->get_resource_path().plus_file("android")); + } break; case FILE_QUIT: case RUN_PROJECT_MANAGER: { @@ -2416,7 +2451,13 @@ void EditorNode::_menu_option_confirm(int p_option, bool p_confirmed) { } break; case SETTINGS_MANAGE_FEATURE_PROFILES: { - feature_profile_manager->popup_centered_ratio(); + Size2 popup_size = Size2(900, 800) * editor_get_scale(); + Size2 window_size = get_viewport()->get_size(); + + popup_size.x = MIN(window_size.x * 0.8, popup_size.x); + popup_size.y = MIN(window_size.y * 0.8, popup_size.y); + + feature_profile_manager->popup_centered(popup_size); } break; case SETTINGS_TOGGLE_FULLSCREEN: { @@ -2522,6 +2563,7 @@ int EditorNode::_next_unsaved_scene(bool p_valid_filename, int p_start) { void EditorNode::_exit_editor() { exiting = true; resource_preview->stop(); //stop early to avoid crashes + _save_docks(); get_tree()->quit(); } @@ -2532,6 +2574,9 @@ void EditorNode::_discard_changes(const String &p_str) { case FILE_CLOSE_ALL_AND_QUIT: case FILE_CLOSE_ALL_AND_RUN_PROJECT_MANAGER: case FILE_CLOSE: + case FILE_CLOSE_OTHERS: + case FILE_CLOSE_RIGHT: + case FILE_CLOSE_ALL: case SCENE_TAB_CLOSE: { _remove_scene(tab_closing); @@ -2544,6 +2589,15 @@ void EditorNode::_discard_changes(const String &p_str) { } else { _menu_option_confirm(current_option, false); } + } else if (current_option == FILE_CLOSE_OTHERS || current_option == FILE_CLOSE_RIGHT) { + if (editor_data.get_edited_scene_count() == 1 || (current_option == FILE_CLOSE_RIGHT && editor_data.get_edited_scene_count() <= editor_data.get_edited_scene() + 1)) { + current_option = -1; + save_confirmation->hide(); + } else { + _menu_option_confirm(current_option, false); + } + } else if (current_option == FILE_CLOSE_ALL && editor_data.get_edited_scene_count() > 0) { + _menu_option_confirm(current_option, false); } else { current_option = -1; save_confirmation->hide(); @@ -4171,8 +4225,8 @@ void EditorNode::_scene_tab_script_edited(int p_tab) { inspector_dock->edit_resource(script); } -void EditorNode::_scene_tab_closed(int p_tab) { - current_option = SCENE_TAB_CLOSE; +void EditorNode::_scene_tab_closed(int p_tab, int option) { + current_option = option; tab_closing = p_tab; Node *scene = editor_data.get_edited_scene_root(p_tab); if (!scene) { @@ -4245,7 +4299,11 @@ void EditorNode::_scene_tab_input(const Ref<InputEvent> &p_input) { scene_tabs_context_menu->add_separator(); scene_tabs_context_menu->add_item(TTR("Show in FileSystem"), FILE_SHOW_IN_FILESYSTEM); scene_tabs_context_menu->add_item(TTR("Play This Scene"), RUN_PLAY_SCENE); + scene_tabs_context_menu->add_separator(); scene_tabs_context_menu->add_item(TTR("Close Tab"), FILE_CLOSE); + scene_tabs_context_menu->add_item(TTR("Close Other Tabs"), FILE_CLOSE_OTHERS); + scene_tabs_context_menu->add_item(TTR("Close Tabs to the Right"), FILE_CLOSE_RIGHT); + scene_tabs_context_menu->add_item(TTR("Close All Tabs"), FILE_CLOSE_ALL); } scene_tabs_context_menu->set_position(mb->get_global_position()); scene_tabs_context_menu->popup(); @@ -4628,19 +4686,53 @@ void EditorNode::remove_tool_menu_item(const String &p_name) { void EditorNode::_dropped_files(const Vector<String> &p_files, int p_screen) { String to_path = ProjectSettings::get_singleton()->globalize_path(get_filesystem_dock()->get_selected_path()); - DirAccessRef dir = DirAccess::create(DirAccess::ACCESS_FILESYSTEM); + _add_dropped_files_recursive(p_files, to_path); + + EditorFileSystem::get_singleton()->scan_changes(); +} + +void EditorNode::_add_dropped_files_recursive(const Vector<String> &p_files, String to_path) { + + DirAccessRef dir = DirAccess::create(DirAccess::ACCESS_FILESYSTEM); Vector<String> just_copy = String("ttf,otf").split(","); + for (int i = 0; i < p_files.size(); i++) { String from = p_files[i]; + String to = to_path.plus_file(from.get_file()); + + if (dir->dir_exists(from)) { + + Vector<String> sub_files; + + DirAccessRef sub_dir = DirAccess::open(from); + sub_dir->list_dir_begin(); + + String next_file = sub_dir->get_next(); + while (next_file != "") { + if (next_file == "." || next_file == "..") { + next_file = sub_dir->get_next(); + continue; + } + + sub_files.push_back(from.plus_file(next_file)); + next_file = sub_dir->get_next(); + } + + if (!sub_files.empty()) { + dir->make_dir(to); + _add_dropped_files_recursive(sub_files, to); + } + + continue; + } + if (!ResourceFormatImporter::get_singleton()->can_be_imported(from) && (just_copy.find(from.get_extension().to_lower()) == -1)) { continue; } - String to = to_path.plus_file(from.get_file()); dir->copy(from, to); } - EditorFileSystem::get_singleton()->scan_changes(); } void EditorNode::_file_access_close_error_notify(const String &p_str) { @@ -5008,6 +5100,68 @@ void EditorNode::_print_handler(void *p_this, const String &p_string, bool p_err en->log->add_message(p_string, p_error ? EditorLog::MSG_TYPE_ERROR : EditorLog::MSG_TYPE_STD); } +static void _execute_thread(void *p_ud) { + + EditorNode::ExecuteThreadArgs *eta = (EditorNode::ExecuteThreadArgs *)p_ud; + Error err = OS::get_singleton()->execute(eta->path, eta->args, true, NULL, &eta->output, &eta->exitcode, true, eta->execute_output_mutex); + print_verbose("Thread exit status: " + itos(eta->exitcode)); + if (err != OK) { + eta->exitcode = err; + } + + eta->done = true; +} + +int EditorNode::execute_and_show_output(const String &p_title, const String &p_path, const List<String> &p_arguments, bool p_close_on_ok, bool p_close_on_errors) { + + execute_output_dialog->set_title(p_title); + execute_output_dialog->get_ok()->set_disabled(true); + execute_outputs->clear(); + execute_outputs->set_scroll_follow(true); + execute_output_dialog->popup_centered_ratio(); + + ExecuteThreadArgs eta; + eta.path = p_path; + eta.args = p_arguments; + eta.execute_output_mutex = Mutex::create(); + eta.exitcode = 255; + eta.done = false; + + int prev_len = 0; + + eta.execute_output_thread = Thread::create(_execute_thread, &eta); + + ERR_FAIL_COND_V(!eta.execute_output_thread, 0); + + while (!eta.done) { + eta.execute_output_mutex->lock(); + if (prev_len != eta.output.length()) { + String to_add = eta.output.substr(prev_len, eta.output.length()); + prev_len = eta.output.length(); + execute_outputs->add_text(to_add); + Main::iteration(); + } + eta.execute_output_mutex->unlock(); + OS::get_singleton()->delay_usec(1000); + } + + Thread::wait_to_finish(eta.execute_output_thread); + memdelete(eta.execute_output_thread); + memdelete(eta.execute_output_mutex); + execute_outputs->add_text("\nExit Code: " + itos(eta.exitcode)); + + if (p_close_on_errors && eta.exitcode != 0) { + execute_output_dialog->hide(); + } + if (p_close_on_ok && eta.exitcode == 0) { + execute_output_dialog->hide(); + } + + execute_output_dialog->get_ok()->set_disabled(false); + + return eta.exitcode; +} + EditorNode::EditorNode() { Input::get_singleton()->set_use_accumulated_input(true); @@ -5121,6 +5275,10 @@ EditorNode::EditorNode() { import_image.instance(); ResourceFormatImporter::get_singleton()->add_importer(import_image); + Ref<ResourceImporterTextureAtlas> import_texture_atlas; + import_texture_atlas.instance(); + ResourceFormatImporter::get_singleton()->add_importer(import_texture_atlas); + Ref<ResourceImporterCSVTranslation> import_csv_translation; import_csv_translation.instance(); ResourceFormatImporter::get_singleton()->add_importer(import_csv_translation); @@ -5402,7 +5560,7 @@ EditorNode::EditorNode() { scene_tabs->set_drag_to_rearrange_enabled(true); scene_tabs->connect("tab_changed", this, "_scene_tab_changed"); scene_tabs->connect("right_button_pressed", this, "_scene_tab_script_edited"); - scene_tabs->connect("tab_close", this, "_scene_tab_closed"); + scene_tabs->connect("tab_close", this, "_scene_tab_closed", varray(SCENE_TAB_CLOSE)); scene_tabs->connect("tab_hover", this, "_scene_tab_hover"); scene_tabs->connect("mouse_exited", this, "_scene_tab_exit"); scene_tabs->connect("gui_input", this, "_scene_tab_input"); @@ -5578,12 +5736,13 @@ EditorNode::EditorNode() { tool_menu = memnew(PopupMenu); tool_menu->set_name("Tools"); tool_menu->connect("index_pressed", this, "_tool_menu_option"); + p->add_separator(); p->add_child(tool_menu); p->add_submenu_item(TTR("Tools"), "Tools"); - tool_menu->add_shortcut(ED_SHORTCUT("editor/orphan_resource_explorer", TTR("Orphan Resource Explorer")), TOOLS_ORPHAN_RESOURCES); + tool_menu->add_item(TTR("Orphan Resource Explorer"), TOOLS_ORPHAN_RESOURCES); + tool_menu->add_item(TTR("Open Project Data Folder"), RUN_PROJECT_DATA_FOLDER); p->add_separator(); - - p->add_shortcut(ED_SHORTCUT("editor/open_project_data_folder", TTR("Open Project Data Folder")), RUN_PROJECT_DATA_FOLDER); + p->add_item(TTR("Install Android Build Template"), FILE_INSTALL_ANDROID_SOURCE); p->add_separator(); #ifdef OSX_ENABLED @@ -5930,6 +6089,24 @@ EditorNode::EditorNode() { save_confirmation->connect("confirmed", this, "_menu_confirm_current"); save_confirmation->connect("custom_action", this, "_discard_changes"); + custom_build_manage_templates = memnew(ConfirmationDialog); + custom_build_manage_templates->set_text(TTR("Android build template is missing, please install relevant templates.")); + custom_build_manage_templates->get_ok()->set_text(TTR("Manage Templates")); + custom_build_manage_templates->connect("confirmed", this, "_menu_option", varray(SETTINGS_MANAGE_EXPORT_TEMPLATES)); + gui_base->add_child(custom_build_manage_templates); + + install_android_build_template = memnew(ConfirmationDialog); + install_android_build_template->set_text(TTR("This will install the Android project for custom builds.\nNote that, in order to use it, it needs to be enabled per export preset.")); + install_android_build_template->get_ok()->set_text(TTR("Install")); + install_android_build_template->connect("confirmed", this, "_menu_confirm_current"); + gui_base->add_child(install_android_build_template); + + remove_android_build_template = memnew(ConfirmationDialog); + remove_android_build_template->set_text(TTR("Android build template is already installed and it won't be overwritten.\nRemove the \"build\" directory manually before attempting this operation again.")); + remove_android_build_template->get_ok()->set_text(TTR("Show in File Manager")); + remove_android_build_template->connect("confirmed", this, "_menu_option", varray(FILE_EXPLORE_ANDROID_BUILD_TEMPLATES)); + gui_base->add_child(remove_android_build_template); + file_templates = memnew(EditorFileDialog); file_templates->set_title(TTR("Import Templates From ZIP File")); @@ -6144,6 +6321,12 @@ EditorNode::EditorNode() { load_error_dialog->set_title(TTR("Load Errors")); gui_base->add_child(load_error_dialog); + execute_outputs = memnew(RichTextLabel); + execute_output_dialog = memnew(AcceptDialog); + execute_output_dialog->add_child(execute_outputs); + execute_output_dialog->set_title(TTR("")); + gui_base->add_child(execute_output_dialog); + EditorFileSystem::get_singleton()->connect("sources_changed", this, "_sources_changed"); EditorFileSystem::get_singleton()->connect("filesystem_changed", this, "_fs_changed"); EditorFileSystem::get_singleton()->connect("resources_reimported", this, "_resources_reimported"); diff --git a/editor/editor_node.h b/editor/editor_node.h index 5ed0bd4ac3..0084d421f9 100644 --- a/editor/editor_node.h +++ b/editor/editor_node.h @@ -112,6 +112,16 @@ public: DOCK_SLOT_MAX }; + struct ExecuteThreadArgs { + String path; + List<String> args; + String output; + Thread *execute_output_thread; + Mutex *execute_output_mutex; + int exitcode; + volatile bool done; + }; + private: enum { HISTORY_SIZE = 64 @@ -130,6 +140,8 @@ private: FILE_IMPORT_SUBSCENE, FILE_EXPORT_PROJECT, FILE_EXPORT_MESH_LIBRARY, + FILE_INSTALL_ANDROID_SOURCE, + FILE_EXPLORE_ANDROID_BUILD_TEMPLATES, FILE_EXPORT_TILESET, FILE_SAVE_OPTIMIZED, FILE_OPEN_RECENT, @@ -138,6 +150,9 @@ private: FILE_QUICK_OPEN_SCRIPT, FILE_OPEN_PREV, FILE_CLOSE, + FILE_CLOSE_OTHERS, + FILE_CLOSE_RIGHT, + FILE_CLOSE_ALL, FILE_CLOSE_ALL_AND_QUIT, FILE_CLOSE_ALL_AND_RUN_PROJECT_MANAGER, FILE_QUIT, @@ -267,6 +282,9 @@ private: RichTextLabel *load_errors; AcceptDialog *load_error_dialog; + RichTextLabel *execute_outputs; + AcceptDialog *execute_output_dialog; + Ref<Theme> theme; PopupMenu *recent_scenes; @@ -290,6 +308,10 @@ private: PopupMenu *editor_layouts; EditorNameDialog *layout_dialog; + ConfirmationDialog *custom_build_manage_templates; + ConfirmationDialog *install_android_build_template; + ConfirmationDialog *remove_android_build_template; + EditorSettingsDialog *settings_config_dialog; RunSettingsDialog *run_settings_dialog; ProjectSettingsEditor *project_settings; @@ -470,6 +492,7 @@ private: void _update_recent_scenes(); void _open_recent_scene(int p_idx); void _dropped_files(const Vector<String> &p_files, int p_screen); + void _add_dropped_files_recursive(const Vector<String> &p_files, String to_path); String _recent_scene; void _exit_editor(); @@ -543,7 +566,7 @@ private: void _dock_split_dragged(int ofs); void _dock_popup_exit(); void _scene_tab_changed(int p_tab); - void _scene_tab_closed(int p_tab); + void _scene_tab_closed(int p_tab, int option = SCENE_TAB_CLOSE); void _scene_tab_hover(int p_tab); void _scene_tab_exit(); void _scene_tab_input(const Ref<InputEvent> &p_input); @@ -799,6 +822,8 @@ public: void update_keying() const { inspector_dock->update_keying(); }; bool has_scenes_in_session(); + int execute_and_show_output(const String &p_title, const String &p_path, const List<String> &p_arguments, bool p_close_on_ok = true, bool p_close_on_errors = false); + EditorNode(); ~EditorNode(); void get_singleton(const char *arg1, bool arg2); diff --git a/editor/editor_path.cpp b/editor/editor_path.cpp index 7e9d3a889e..12510e27de 100644 --- a/editor/editor_path.cpp +++ b/editor/editor_path.cpp @@ -56,122 +56,67 @@ void EditorPath::_add_children_to_popup(Object *p_obj, int p_depth) { Ref<Texture> icon = EditorNode::get_singleton()->get_object_icon(obj); - int index = popup->get_item_count(); - popup->add_icon_item(icon, E->get().name.capitalize(), objects.size()); - popup->set_item_h_offset(index, p_depth * 10 * EDSCALE); + int index = get_popup()->get_item_count(); + get_popup()->add_icon_item(icon, E->get().name.capitalize(), objects.size()); + get_popup()->set_item_h_offset(index, p_depth * 10 * EDSCALE); objects.push_back(obj->get_instance_id()); _add_children_to_popup(obj, p_depth + 1); } } -void EditorPath::_gui_input(const Ref<InputEvent> &p_event) { +void EditorPath::_about_to_show() { - Ref<InputEventMouseButton> mb = p_event; - if (mb.is_valid() && mb->get_button_index() == BUTTON_LEFT && mb->is_pressed()) { - - Object *obj = ObjectDB::get_instance(history->get_path_object(history->get_path_size() - 1)); - if (!obj) - return; - - objects.clear(); - popup->clear(); - _add_children_to_popup(obj); - popup->set_position(get_global_position() + Vector2(0, get_size().height)); - popup->set_size(Size2(get_size().width, 1)); - popup->popup(); - } -} + Object *obj = ObjectDB::get_instance(history->get_path_object(history->get_path_size() - 1)); + if (!obj) + return; -void EditorPath::_notification(int p_what) { - - switch (p_what) { - - case NOTIFICATION_MOUSE_ENTER: { - mouse_over = true; - update(); - } break; - case NOTIFICATION_MOUSE_EXIT: { - mouse_over = false; - update(); - } break; - case NOTIFICATION_DRAW: { - - RID ci = get_canvas_item(); - Ref<Font> label_font = get_font("font", "Label"); - Size2i size = get_size(); - Ref<Texture> sn = get_icon("SmallNext", "EditorIcons"); - Ref<StyleBox> sb = get_stylebox("pressed", "Button"); - - int ofs = sb->get_margin(MARGIN_LEFT); - - if (mouse_over) { - draw_style_box(sb, Rect2(Point2(), get_size())); - } - - for (int i = 0; i < history->get_path_size(); i++) { - - Object *obj = ObjectDB::get_instance(history->get_path_object(i)); - if (!obj) - continue; - - String type = obj->get_class(); - - Ref<Texture> icon = EditorNode::get_singleton()->get_object_icon(obj); - - if (icon.is_valid()) { - icon->draw(ci, Point2i(ofs, (size.height - icon->get_height()) / 2)); - ofs += icon->get_width(); - } - - if (i == history->get_path_size() - 1) { - //add name - ofs += 4; - int left = size.width - ofs; - if (left < 0) - continue; - String name; - if (Object::cast_to<Resource>(obj)) { - - Resource *r = Object::cast_to<Resource>(obj); - if (r->get_path().is_resource_file()) - name = r->get_path().get_file(); - else - name = r->get_name(); - - if (name == "") - name = r->get_class(); - } else if (obj->is_class("ScriptEditorDebuggerInspectedObject")) - name = obj->call("get_title"); - else if (Object::cast_to<Node>(obj)) - name = Object::cast_to<Node>(obj)->get_name(); - else if (Object::cast_to<Resource>(obj) && Object::cast_to<Resource>(obj)->get_name() != "") - name = Object::cast_to<Resource>(obj)->get_name(); - else - name = obj->get_class(); - - set_tooltip(obj->get_class()); - - label_font->draw(ci, Point2i(ofs, (size.height - label_font->get_height()) / 2 + label_font->get_ascent()), name, get_color("font_color", "Label"), left); - } else { - //add arrow - - //sn->draw(ci,Point2i(ofs,(size.height-sn->get_height())/2)); - //ofs+=sn->get_width(); - ofs += 5; //just looks better! somehow - } - } - - } break; - } + objects.clear(); + get_popup()->clear(); + get_popup()->set_size(Size2(get_size().width, 1)); + _add_children_to_popup(obj); } void EditorPath::update_path() { - update(); + for (int i = 0; i < history->get_path_size(); i++) { + + Object *obj = ObjectDB::get_instance(history->get_path_object(i)); + if (!obj) + continue; + + Ref<Texture> icon = EditorNode::get_singleton()->get_object_icon(obj); + if (icon.is_valid()) + set_icon(icon); + + if (i == history->get_path_size() - 1) { + String name; + if (Object::cast_to<Resource>(obj)) { + + Resource *r = Object::cast_to<Resource>(obj); + if (r->get_path().is_resource_file()) + name = r->get_path().get_file(); + else + name = r->get_name(); + + if (name == "") + name = r->get_class(); + } else if (obj->is_class("ScriptEditorDebuggerInspectedObject")) + name = obj->call("get_title"); + else if (Object::cast_to<Node>(obj)) + name = Object::cast_to<Node>(obj)->get_name(); + else if (Object::cast_to<Resource>(obj) && Object::cast_to<Resource>(obj)->get_name() != "") + name = Object::cast_to<Resource>(obj)->get_name(); + else + name = obj->get_class(); + + set_text(" " + name); // An extra space so the text is not too close of the icon. + set_tooltip(obj->get_class()); + } + } } -void EditorPath::_popup_select(int p_idx) { +void EditorPath::_id_pressed(int p_idx) { ERR_FAIL_INDEX(p_idx, objects.size()); @@ -184,15 +129,14 @@ void EditorPath::_popup_select(int p_idx) { void EditorPath::_bind_methods() { - ClassDB::bind_method("_gui_input", &EditorPath::_gui_input); - ClassDB::bind_method("_popup_select", &EditorPath::_popup_select); + ClassDB::bind_method("_about_to_show", &EditorPath::_about_to_show); + ClassDB::bind_method("_id_pressed", &EditorPath::_id_pressed); } EditorPath::EditorPath(EditorHistory *p_history) { history = p_history; - mouse_over = false; - popup = memnew(PopupMenu); - popup->connect("id_pressed", this, "_popup_select"); - add_child(popup); + set_text_align(ALIGN_LEFT); + get_popup()->connect("about_to_show", this, "_about_to_show"); + get_popup()->connect("id_pressed", this, "_id_pressed"); } diff --git a/editor/editor_path.h b/editor/editor_path.h index e12ca02534..2dc4d21f9b 100644 --- a/editor/editor_path.h +++ b/editor/editor_path.h @@ -32,27 +32,23 @@ #define EDITOR_PATH_H #include "editor_data.h" -#include "scene/gui/control.h" -#include "scene/gui/popup_menu.h" +#include "scene/gui/menu_button.h" -class EditorPath : public Control { +class EditorPath : public MenuButton { - GDCLASS(EditorPath, Control); + GDCLASS(EditorPath, MenuButton); EditorHistory *history; Vector<ObjectID> objects; - PopupMenu *popup; - bool mouse_over; EditorPath(); - void _popup_select(int p_idx); - void _gui_input(const Ref<InputEvent> &p_event); + void _id_pressed(int p_idx); + void _about_to_show(); void _add_children_to_popup(Object *p_obj, int p_depth = 0); protected: static void _bind_methods(); - void _notification(int p_what); public: void update_path(); diff --git a/editor/editor_properties.cpp b/editor/editor_properties.cpp index 31f53305e2..45acd1b6d4 100644 --- a/editor/editor_properties.cpp +++ b/editor/editor_properties.cpp @@ -786,6 +786,7 @@ EditorPropertyLayers::EditorPropertyLayers() { grid->set_h_size_flags(SIZE_EXPAND_FILL); hb->add_child(grid); button = memnew(Button); + button->set_toggle_mode(true); button->set_text(".."); button->connect("pressed", this, "_button_pressed"); hb->add_child(button); @@ -794,6 +795,7 @@ EditorPropertyLayers::EditorPropertyLayers() { add_child(layers); layers->set_hide_on_checkable_item_selection(false); layers->connect("id_pressed", this, "_menu_pressed"); + layers->connect("popup_hide", button, "set_pressed", varray(false)); } ///////////////////// INT ///////////////////////// @@ -2598,6 +2600,7 @@ void EditorPropertyResource::_resource_selected() { RES res = get_edited_object()->get(get_edited_property()); if (res.is_null()) { + edit->set_pressed(true); _update_menu(); return; } @@ -2818,7 +2821,9 @@ EditorPropertyResource::EditorPropertyResource() { add_child(menu); edit = memnew(Button); edit->set_flat(true); + edit->set_toggle_mode(true); menu->connect("id_pressed", this, "_menu_option"); + menu->connect("popup_hide", edit, "set_pressed", varray(false)); edit->connect("pressed", this, "_update_menu"); hbc->add_child(edit); edit->connect("gui_input", this, "_button_input"); @@ -2993,13 +2998,17 @@ bool EditorInspectorDefaultPlugin::parse_property(Object *p_object, Variant::Typ EditorPropertyClassName *editor = memnew(EditorPropertyClassName); editor->setup("Object", p_hint_text); add_property_editor(p_path, editor); - } else if (p_hint == PROPERTY_HINT_DIR || p_hint == PROPERTY_HINT_FILE || p_hint == PROPERTY_HINT_GLOBAL_DIR || p_hint == PROPERTY_HINT_GLOBAL_FILE) { + } else if (p_hint == PROPERTY_HINT_DIR || p_hint == PROPERTY_HINT_FILE || p_hint == PROPERTY_HINT_SAVE_FILE || p_hint == PROPERTY_HINT_GLOBAL_DIR || p_hint == PROPERTY_HINT_GLOBAL_FILE) { Vector<String> extensions = p_hint_text.split(","); bool global = p_hint == PROPERTY_HINT_GLOBAL_DIR || p_hint == PROPERTY_HINT_GLOBAL_FILE; bool folder = p_hint == PROPERTY_HINT_DIR || p_hint == PROPERTY_HINT_GLOBAL_DIR; + bool save = p_hint == PROPERTY_HINT_SAVE_FILE; EditorPropertyPath *editor = memnew(EditorPropertyPath); editor->setup(extensions, folder, global); + if (save) { + editor->set_save_mode(); + } add_property_editor(p_path, editor); } else if (p_hint == PROPERTY_HINT_METHOD_OF_VARIANT_TYPE || p_hint == PROPERTY_HINT_METHOD_OF_BASE_TYPE || diff --git a/editor/editor_run_native.cpp b/editor/editor_run_native.cpp index 06cadca1c0..b73cda6008 100644 --- a/editor/editor_run_native.cpp +++ b/editor/editor_run_native.cpp @@ -56,7 +56,7 @@ void EditorRunNative::_notification(int p_what) { small_icon->create_from_image(im, 0); MenuButton *mb = memnew(MenuButton); mb->get_popup()->connect("id_pressed", this, "_run_native", varray(i)); - //mb->connect("pressed", this, "_run_native", varray(-1, i)); + mb->connect("pressed", this, "_run_native", varray(-1, i)); mb->set_icon(small_icon); add_child(mb); menus[i] = mb; @@ -82,10 +82,14 @@ void EditorRunNative::_notification(int p_what) { } else { mb->get_popup()->clear(); mb->show(); - mb->set_tooltip(TTR("Select device from the list")); - for (int i = 0; i < dc; i++) { - mb->get_popup()->add_icon_item(get_icon("Play", "EditorIcons"), eep->get_device_name(i)); - mb->get_popup()->set_item_tooltip(mb->get_popup()->get_item_count() - 1, eep->get_device_info(i).strip_edges()); + if (dc == 1) { + mb->set_tooltip(eep->get_device_name(0) + "\n\n" + eep->get_device_info(0).strip_edges()); + } else { + mb->set_tooltip("Select device from the list"); + for (int i = 0; i < dc; i++) { + mb->get_popup()->add_icon_item(get_icon("Play", "EditorIcons"), eep->get_device_name(i)); + mb->get_popup()->set_item_tooltip(mb->get_popup()->get_item_count() - 1, eep->get_device_info(i).strip_edges()); + } } } } @@ -99,14 +103,15 @@ void EditorRunNative::_run_native(int p_idx, int p_platform) { Ref<EditorExportPlatform> eep = EditorExport::get_singleton()->get_export_platform(p_platform); ERR_FAIL_COND(eep.is_null()); - /*if (p_idx == -1) { + + if (p_idx == -1) { if (eep->get_device_count() == 1) { menus[p_platform]->get_popup()->hide(); p_idx = 0; } else { return; } - }*/ + } Ref<EditorExportPreset> preset; diff --git a/editor/editor_settings.cpp b/editor/editor_settings.cpp index f54c51940f..bf582ca004 100644 --- a/editor/editor_settings.cpp +++ b/editor/editor_settings.cpp @@ -429,6 +429,7 @@ void EditorSettings::_load_defaults(Ref<ConfigFile> p_extra_config) { _initial_set("text_editor/line_numbers/show_line_numbers", true); _initial_set("text_editor/line_numbers/line_numbers_zero_padded", false); _initial_set("text_editor/line_numbers/show_breakpoint_gutter", true); + _initial_set("text_editor/line_numbers/show_info_gutter", true); _initial_set("text_editor/line_numbers/code_folding", true); _initial_set("text_editor/line_numbers/word_wrap", false); _initial_set("text_editor/line_numbers/show_line_length_guideline", false); @@ -644,6 +645,7 @@ void EditorSettings::_load_default_text_editor_theme() { _initial_set("text_editor/highlighting/member_variable_color", Color::html("e64e59")); _initial_set("text_editor/highlighting/mark_color", Color(1.0, 0.4, 0.4, 0.4)); _initial_set("text_editor/highlighting/breakpoint_color", Color(0.8, 0.8, 0.4, 0.2)); + _initial_set("text_editor/highlighting/executing_line_color", Color(0.2, 0.8, 0.2, 0.4)); _initial_set("text_editor/highlighting/code_folding_color", Color(0.8, 0.8, 0.8, 0.8)); _initial_set("text_editor/highlighting/search_result_color", Color(0.05, 0.25, 0.05, 1)); _initial_set("text_editor/highlighting/search_result_border_color", Color(0.1, 0.45, 0.1, 1)); diff --git a/editor/editor_sub_scene.cpp b/editor/editor_sub_scene.cpp index e4807a37c6..987033b123 100644 --- a/editor/editor_sub_scene.cpp +++ b/editor/editor_sub_scene.cpp @@ -73,8 +73,8 @@ void EditorSubScene::_notification(int p_what) { if (p_what == NOTIFICATION_VISIBILITY_CHANGED) { - if (!is_visible_in_tree()) { - } + if (is_visible() && scene == NULL) + _path_browse(); } } @@ -232,7 +232,7 @@ EditorSubScene::EditorSubScene() { hb->add_child(path); path->set_h_size_flags(SIZE_EXPAND_FILL); Button *b = memnew(Button); - b->set_text(" .. "); + b->set_text(TTR("Browse")); hb->add_child(b); b->connect("pressed", this, "_path_browse"); vb->add_margin_child(TTR("Scene Path:"), hb); diff --git a/editor/editor_themes.cpp b/editor/editor_themes.cpp index 9641e10114..b8dd29cecc 100644 --- a/editor/editor_themes.cpp +++ b/editor/editor_themes.cpp @@ -831,6 +831,8 @@ Ref<Theme> create_editor_theme(const Ref<Theme> p_theme) { theme->set_stylebox("read_only", "TextEdit", style_widget_disabled); theme->set_constant("side_margin", "TabContainer", 0); theme->set_icon("tab", "TextEdit", theme->get_icon("GuiTab", "EditorIcons")); + theme->set_icon("folded", "TextEdit", theme->get_icon("GuiTreeArrowRight", "EditorIcons")); + theme->set_icon("fold", "TextEdit", theme->get_icon("GuiTreeArrowDown", "EditorIcons")); theme->set_color("font_color", "TextEdit", font_color); theme->set_color("caret_color", "TextEdit", font_color); theme->set_color("selection_color", "TextEdit", font_color_selection); @@ -1114,6 +1116,7 @@ Ref<Theme> create_editor_theme(const Ref<Theme> p_theme) { const Color member_variable_color = main_color.linear_interpolate(mono_color, 0.6); const Color mark_color = Color(error_color.r, error_color.g, error_color.b, 0.3); const Color breakpoint_color = error_color; + const Color executing_line_color = Color(0.2, 0.8, 0.2, 0.4); const Color code_folding_color = alpha3; const Color search_result_color = alpha1; const Color search_result_border_color = alpha3; @@ -1149,6 +1152,7 @@ Ref<Theme> create_editor_theme(const Ref<Theme> p_theme) { setting->set_initial_value("text_editor/highlighting/member_variable_color", member_variable_color, true); setting->set_initial_value("text_editor/highlighting/mark_color", mark_color, true); setting->set_initial_value("text_editor/highlighting/breakpoint_color", breakpoint_color, true); + setting->set_initial_value("text_editor/highlighting/executing_line_color", executing_line_color, true); setting->set_initial_value("text_editor/highlighting/code_folding_color", code_folding_color, true); setting->set_initial_value("text_editor/highlighting/search_result_color", search_result_color, true); setting->set_initial_value("text_editor/highlighting/search_result_border_color", search_result_border_color, true); diff --git a/editor/export_template_manager.cpp b/editor/export_template_manager.cpp index 97ccfb0db1..aa2a03510d 100644 --- a/editor/export_template_manager.cpp +++ b/editor/export_template_manager.cpp @@ -308,7 +308,8 @@ bool ExportTemplateManager::_install_from_file(const String &p_file, bool p_use_ p->step(TTR("Importing:") + " " + file, fc); } - FileAccess *f = FileAccess::open(template_path.plus_file(file), FileAccess::WRITE); + String to_write = template_path.plus_file(file); + FileAccess *f = FileAccess::open(to_write, FileAccess::WRITE); if (!f) { ret = unzGoToNextFile(pkg); @@ -320,6 +321,10 @@ bool ExportTemplateManager::_install_from_file(const String &p_file, bool p_use_ memdelete(f); +#ifndef WINDOWS_ENABLED + FileAccess::set_unix_permissions(to_write, (info.external_fa >> 16) & 0x01FF); +#endif + ret = unzGoToNextFile(pkg); fc++; } @@ -541,6 +546,112 @@ void ExportTemplateManager::_notification(int p_what) { } } +bool ExportTemplateManager::can_install_android_template() { + + return FileAccess::exists(EditorSettings::get_singleton()->get_templates_dir().plus_file(VERSION_FULL_CONFIG).plus_file("android_source.zip")); +} + +Error ExportTemplateManager::install_android_template() { + + DirAccessRef da = DirAccess::open("res://"); + ERR_FAIL_COND_V(!da, ERR_CANT_CREATE); + //make android dir (if it does not exist) + + da->make_dir("android"); + { + //add an empty .gdignore file to avoid scan + FileAccessRef f = FileAccess::open("res://android/.gdignore", FileAccess::WRITE); + ERR_FAIL_COND_V(!f, ERR_CANT_CREATE); + f->store_line(""); + f->close(); + } + { + //add version, to ensure building wont work if template and Godot version are mismatch + FileAccessRef f = FileAccess::open("res://android/.build_version", FileAccess::WRITE); + ERR_FAIL_COND_V(!f, ERR_CANT_CREATE); + f->store_line(VERSION_FULL_CONFIG); + f->close(); + } + + Error err = da->make_dir_recursive("android/build"); + ERR_FAIL_COND_V(err != OK, err); + + String source_zip = EditorSettings::get_singleton()->get_templates_dir().plus_file(VERSION_FULL_CONFIG).plus_file("android_source.zip"); + ERR_FAIL_COND_V(!FileAccess::exists(source_zip), ERR_CANT_OPEN); + + FileAccess *src_f = NULL; + zlib_filefunc_def io = zipio_create_io_from_file(&src_f); + + unzFile pkg = unzOpen2(source_zip.utf8().get_data(), &io); + ERR_EXPLAIN("Android sources not in zip format"); + ERR_FAIL_COND_V(!pkg, ERR_CANT_OPEN); + + int ret = unzGoToFirstFile(pkg); + + int total_files = 0; + //count files + while (ret == UNZ_OK) { + total_files++; + ret = unzGoToNextFile(pkg); + } + + ret = unzGoToFirstFile(pkg); + //decompress files + ProgressDialog::get_singleton()->add_task("uncompress", TTR("Uncompressing Android Build Sources"), total_files); + + Set<String> dirs_tested; + + int idx = 0; + while (ret == UNZ_OK) { + + //get filename + unz_file_info info; + char fname[16384]; + ret = unzGetCurrentFileInfo(pkg, &info, fname, 16384, NULL, 0, NULL, 0); + + String name = fname; + + String base_dir = name.get_base_dir(); + + if (!name.ends_with("/")) { + Vector<uint8_t> data; + data.resize(info.uncompressed_size); + + //read + unzOpenCurrentFile(pkg); + unzReadCurrentFile(pkg, data.ptrw(), data.size()); + unzCloseCurrentFile(pkg); + + if (!dirs_tested.has(base_dir)) { + da->make_dir_recursive(String("android/build").plus_file(base_dir)); + dirs_tested.insert(base_dir); + } + + String to_write = String("res://android/build").plus_file(name); + FileAccess *f = FileAccess::open(to_write, FileAccess::WRITE); + if (f) { + f->store_buffer(data.ptr(), data.size()); + memdelete(f); +#ifndef WINDOWS_ENABLED + FileAccess::set_unix_permissions(to_write, (info.external_fa >> 16) & 0x01FF); +#endif + } else { + ERR_PRINTS("Cant uncompress file: " + to_write); + } + } + + ProgressDialog::get_singleton()->task_step("uncompress", name, idx); + + idx++; + ret = unzGoToNextFile(pkg); + } + + ProgressDialog::get_singleton()->end_task("uncompress"); + unzClose(pkg); + + return OK; +} + void ExportTemplateManager::_bind_methods() { ClassDB::bind_method("_download_template", &ExportTemplateManager::_download_template); diff --git a/editor/export_template_manager.h b/editor/export_template_manager.h index 2edd3db6d7..608830c990 100644 --- a/editor/export_template_manager.h +++ b/editor/export_template_manager.h @@ -84,6 +84,9 @@ protected: static void _bind_methods(); public: + bool can_install_android_template(); + Error install_android_template(); + void popup_manager(); ExportTemplateManager(); diff --git a/editor/filesystem_dock.cpp b/editor/filesystem_dock.cpp index c32cd1de50..aade606412 100644 --- a/editor/filesystem_dock.cpp +++ b/editor/filesystem_dock.cpp @@ -1257,6 +1257,10 @@ void FileSystemDock::_rename_operation_confirm() { return; } + if (EditorFileSystem::get_singleton()->is_group_file(old_path)) { + EditorFileSystem::get_singleton()->move_group_file(old_path, new_path); + } + //Present a more user friendly warning for name conflict DirAccess *da = DirAccess::create(DirAccess::ACCESS_RESOURCES); #if defined(WINDOWS_ENABLED) || defined(UWP_ENABLED) @@ -1354,6 +1358,16 @@ void FileSystemDock::_move_operation_confirm(const String &p_to_path, bool overw } } + //check groups + for (int i = 0; i < to_move.size(); i++) { + + print_line("is group: " + to_move[i].path + ": " + itos(EditorFileSystem::get_singleton()->is_group_file(to_move[i].path))); + if (to_move[i].is_file && EditorFileSystem::get_singleton()->is_group_file(to_move[i].path)) { + print_line("move to: " + p_to_path.plus_file(to_move[i].path.get_file())); + EditorFileSystem::get_singleton()->move_group_file(to_move[i].path, p_to_path.plus_file(to_move[i].path.get_file())); + } + } + Map<String, String> file_renames; Map<String, String> folder_renames; bool is_moved = false; diff --git a/editor/icons/icon_bucket.svg b/editor/icons/icon_bucket.svg new file mode 100644 index 0000000000..4a5df39e93 --- /dev/null +++ b/editor/icons/icon_bucket.svg @@ -0,0 +1,86 @@ +<?xml version="1.0" encoding="UTF-8" standalone="no"?> +<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" + version="1.1" + viewBox="0 0 16 16" + id="svg6" + sodipodi:docname="icon_bucket.svg" + inkscape:version="0.92.2 2405546, 2018-03-11"> + <metadata + id="metadata12"> + <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> + <defs + id="defs10" /> + <sodipodi:namedview + pagecolor="#ffffff" + bordercolor="#666666" + borderopacity="1" + objecttolerance="10" + gridtolerance="10" + guidetolerance="10" + inkscape:pageopacity="0" + inkscape:pageshadow="2" + inkscape:window-width="1876" + inkscape:window-height="1574" + id="namedview8" + showgrid="true" + inkscape:snap-bbox="true" + inkscape:bbox-paths="false" + inkscape:bbox-nodes="false" + inkscape:snap-bbox-edge-midpoints="false" + inkscape:snap-bbox-midpoints="true" + inkscape:snap-intersection-paths="true" + inkscape:snap-smooth-nodes="true" + inkscape:snap-object-midpoints="true" + inkscape:snap-nodes="false" + inkscape:snap-others="false" + inkscape:zoom="16" + inkscape:cx="-4.3713942" + inkscape:cy="-1.9091903" + inkscape:window-x="4" + inkscape:window-y="20" + inkscape:window-maximized="0" + inkscape:current-layer="g4"> + <inkscape:grid + type="xygrid" + id="grid4524" /> + </sodipodi:namedview> + <g + transform="translate(0 -1036.4)" + id="g4"> + <g + id="g4576" + transform="matrix(0.53348552,0.53348552,-0.53348552,0.53348552,561.06065,484.40406)" + style="stroke-width:1.32544696"> + <path + id="path2" + transform="translate(0,1036.4)" + d="M 2,1 C 1.4477645,1.0001 1.0000523,1.4477 1,2 V 3.5 H 3.8847656 A 1.4999877,1.5 0 0 1 5,3 1.4999877,1.5 0 0 1 6.5,4.5 1.4999877,1.5 0 0 1 5,6 1.4999877,1.5 0 0 1 3.8847656,5.5 H 1 V 7 H -0.26953125 -2 c -0.5522769,0 -0.999989,-0.4477 -1,-1 1.1e-5,-0.5523 0.4477231,-1 1,-1 h 3 2.5878906 0.546875 A 1,1 0 0 0 5,5.5 1,1 0 0 0 6,4.5 1,1 0 0 0 5,3.5 1,1 0 0 0 4.1367188,4 H 3.5878906 1 -2 c -1.1045647,0 -1.9999933,0.8954285 -2,2 6.7e-6,1.1045715 0.8954353,2 2,2 h 3 v 6 c 7.35e-5,0.5523 0.4477232,0.9999 1,1 h 8 c 0.552235,-10e-5 0.999947,-0.4477 1,-1 V 1 Z" + style="color:#000000;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;text-transform:none;text-orientation:mixed;dominant-baseline:auto;white-space:normal;shape-padding:0;isolation:auto;mix-blend-mode:normal;solid-color:#000000;fill:#e0e0e0;stroke-width:1.32544696;color-rendering:auto;image-rendering:auto;shape-rendering:auto" + inkscape:connector-curvature="0" /> + <path + sodipodi:nodetypes="cczcc" + inkscape:connector-curvature="0" + id="path4526" + d="m 12,1038.4 c 0.707107,3.5356 0.707107,3.5356 1.414213,4.2427 0.707107,0.7071 2.121321,0.7071 2.828428,0 0.707106,-0.7071 0.707106,-2.1213 0,-2.8284 C 15.535534,1039.1071 15.535534,1039.1071 12,1038.4 Z" + style="fill:#e0e0e0;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1.32544696px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" /> + </g> + </g> +</svg> diff --git a/editor/import/atlas_import_failed.xpm b/editor/import/atlas_import_failed.xpm new file mode 100644 index 0000000000..52db6b76a6 --- /dev/null +++ b/editor/import/atlas_import_failed.xpm @@ -0,0 +1,414 @@ +/* XPM */ +static const char * atlas_import_failed_xpm[] = { +"128 128 283 2", +" c None", +". c #FFFFFF", +"+ c #FFDADA", +"@ c #FF0000", +"# c #FFD8D8", +"$ c #FFF7F7", +"% c #FF2E2E", +"& c #FFD4D4", +"* c #FFD6D6", +"= c #FFE3E3", +"- c #FFB3B3", +"; c #FFC8C8", +"> c #FF3535", +", c #FF8D8D", +"' c #FF7878", +") c #FF6E6E", +"! c #FFB5B5", +"~ c #FF0D0D", +"{ c #FFF0F0", +"] c #FFE8E8", +"^ c #FFC2C2", +"/ c #FFEDED", +"( c #FFBBBB", +"_ c #FFB9B9", +": c #FFA4A4", +"< c #FFFEFE", +"[ c #FFD9D9", +"} c #FF9393", +"| c #FF5858", +"1 c #FF3232", +"2 c #FF7575", +"3 c #FFC9C9", +"4 c #FFFCFC", +"5 c #FFBDBD", +"6 c #FF3838", +"7 c #FF9494", +"8 c #FFE2E2", +"9 c #FFD1D1", +"0 c #FFDEDE", +"a c #FFCACA", +"b c #FF6969", +"c c #FF8484", +"d c #FFEAEA", +"e c #FFE9E9", +"f c #FF3B3B", +"g c #FFC0C0", +"h c #FF6868", +"i c #FF7373", +"j c #FFF6F6", +"k c #FFADAD", +"l c #FF5D5D", +"m c #FF2626", +"n c #FF5C5C", +"o c #FFABAB", +"p c #FFCECE", +"q c #FF7070", +"r c #FF5555", +"s c #FF1C1C", +"t c #FFF4F4", +"u c #FF8282", +"v c #FF6060", +"w c #FFE7E7", +"x c #FF9D9D", +"y c #FF5656", +"z c #FF4242", +"A c #FF9B9B", +"B c #FFD0D0", +"C c #FFF8F8", +"D c #FF6A6A", +"E c #FF5151", +"F c #FFFBFB", +"G c #FF4949", +"H c #FFCDCD", +"I c #FFDDDD", +"J c #FF9E9E", +"K c #FFF9F9", +"L c #FFDCDC", +"M c #FF8F8F", +"N c #FFCBCB", +"O c #FFF5F5", +"P c #FF4747", +"Q c #FF9C9C", +"R c #FFEEEE", +"S c #FFFAFA", +"T c #FF1616", +"U c #FF8888", +"V c #FFC5C5", +"W c #FF2222", +"X c #FF4B4B", +"Y c #FFB8B8", +"Z c #FF7F7F", +"` c #FFE6E6", +" . c #FF8080", +".. c #FFB4B4", +"+. c #FFC3C3", +"@. c #FFD2D2", +"#. c #FFD7D7", +"$. c #FFDFDF", +"%. c #FFB7B7", +"&. c #FFF1F1", +"*. c #FF6262", +"=. c #FF8A8A", +"-. c #FFA9A9", +";. c #FFAEAE", +">. c #FFAAAA", +",. c #FF8B8B", +"'. c #FF4F4F", +"). c #FFFDFD", +"!. c #FFA3A3", +"~. c #FF2A2A", +"{. c #FFCFCF", +"]. c #FF8585", +"^. c #FF7676", +"/. c #FFD3D3", +"(. c #FFD5D5", +"_. c #FF8181", +":. c #FFC6C6", +"<. c #FFDBDB", +"[. c #FF9090", +"}. c #FFAFAF", +"|. c #FFA1A1", +"1. c #FFBABA", +"2. c #FF6C6C", +"3. c #FF5F5F", +"4. c #FF3D3D", +"5. c #FF9999", +"6. c #FFE0E0", +"7. c #FF8383", +"8. c #FFEFEF", +"9. c #FFF3F3", +"0. c #FFA8A8", +"a. c #FFB6B6", +"b. c #FF9F9F", +"c. c #FF4545", +"d. c #FFE5E5", +"e. c #FFE4E4", +"f. c #FFC7C7", +"g. c #FF6565", +"h. c #FFACAC", +"i. c #FF5A5A", +"j. c #FF7272", +"k. c #FF7C7C", +"l. c #FFBFBF", +"m. c #FF7171", +"n. c #FFECEC", +"o. c #FF8989", +"p. c #FF7777", +"q. c #FFC4C4", +"r. c #FF9898", +"s. c #FF8C8C", +"t. c #FF7A7A", +"u. c #FF8E8E", +"v. c #FFF2F2", +"w. c #FF9797", +"x. c #FFC1C1", +"y. c #FFA6A6", +"z. c #FFEBEB", +"A. c #FF4040", +"B. c #EDEDED", +"C. c #000000", +"D. c #AAAAAA", +"E. c #F6F6F6", +"F. c #1C1C1C", +"G. c #888888", +"H. c #7C7C7C", +"I. c #626262", +"J. c #B3B3B3", +"K. c #2A2A2A", +"L. c #959595", +"M. c #FDFDFD", +"N. c #C5C5C5", +"O. c #666666", +"P. c #353535", +"Q. c #777777", +"R. c #DEDEDE", +"S. c #6C6C6C", +"T. c #F5F5F5", +"U. c #ADADAD", +"V. c #DDDDDD", +"W. c #D8D8D8", +"X. c #B4B4B4", +"Y. c #FAFAFA", +"Z. c #949494", +"`. c #3B3B3B", +" + c #A8A8A8", +".+ c #C8C8C8", +"++ c #D4D4D4", +"@+ c #B9B9B9", +"#+ c #2E2E2E", +"$+ c #FEFEFE", +"%+ c #BABABA", +"&+ c #FCFCFC", +"*+ c #B2B2B2", +"=+ c #CACACA", +"-+ c #696969", +";+ c #222222", +">+ c #F2F2F2", +",+ c #555555", +"'+ c #C4C4C4", +")+ c #EBEBEB", +"!+ c #727272", +"~+ c #585858", +"{+ c #0D0D0D", +"]+ c #B1B1B1", +"^+ c #E5E5E5", +"/+ c #C0C0C0", +"(+ c #8F8F8F", +"_+ c #4D4D4D", +":+ c #F4F4F4", +"<+ c #7D7D7D", +"[+ c #E4E4E4", +"}+ c #F3F3F3", +"|+ c #383838", +"1+ c #A9A9A9", +"2+ c #D6D6D6", +"3+ c #D5D5D5", +"4+ c #5F5F5F", +"5+ c #C6C6C6", +"6+ c #E2E2E2", +"7+ c #FBFBFB", +"8+ c #404040", +"9+ c #909090", +"0+ c #EEEEEE", +"a+ c #878787", +"b+ c #E8E8E8", +"c+ c #494949", +"d+ c #424242", +"e+ c #E6E6E6", +"f+ c #CFCFCF", +"g+ c #DCDCDC", +"h+ c #161616", +"i+ c #BBBBBB", +"j+ c #CCCCCC", +"k+ c #B0B0B0", +"l+ c #C7C7C7", +"m+ c #858585", +"n+ c #F8F8F8", +"o+ c #D7D7D7", +"p+ c #BDBDBD", +"q+ c #ECECEC", +"r+ c #939393", +"s+ c #A1A1A1", +"t+ c #7A7A7A", +"u+ c #4B4B4B", +"v+ c #E9E9E9", +"w+ c #717171", +"x+ c #AFAFAF", +"y+ c #454545", +"z+ c #F9F9F9", +"A+ c #DBDBDB", +"B+ c #C1C1C1", +"C+ c #707070", +"D+ c #323232", +"E+ c #9D9D9D", +"F+ c #D1D1D1", +"G+ c #6D6D6D", +"H+ c #262626", +"I+ c #6E6E6E", +"J+ c #808080", +"K+ c #BFBFBF", +"L+ c #999999", +"M+ c #F1F1F1", +"N+ c #DADADA", +"O+ c #9F9F9F", +"P+ c #8B8B8B", +"Q+ c #7F7F7F", +"R+ c #9E9E9E", +"S+ c #F0F0F0", +"T+ c #A4A4A4", +"U+ c #A5A5A5", +"V+ c #CDCDCD", +"W+ c #CBCBCB", +"X+ c #9B9B9B", +"Y+ c #D9D9D9", +"Z+ c #A0A0A0", +"`+ c #9C9C9C", +" @ c #C2C2C2", +".@ c #636363", +"+@ c #D0D0D0", +"@@ c #6A6A6A", +"#@ c #898989", +"$@ c #C3C3C3", +"%@ c #A7A7A7", +". . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", +". . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", +". . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", +". . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", +". . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", +". . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", +". . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", +". . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", +". . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", +". . . . . . . . . . . . . . . . . . . . . . . . . . . . . + @ # . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", +". . . . . . . . . . . . . $ % @ & . . . . . * @ + . . . . + @ # . . . . . . . . . . . . . . . . . . . . . . . . . . . . = @ - . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . * @ + . . . . . . . . . . . . . ", +". . . . . . . . . . . . . ; @ > , . . . . . * @ + . . . . + @ # . . . . . . . . . . . . . . . . . . . . . . . . . . . . = @ - . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . * @ + . . . . . . . . . . . . . ", +". . . . . . . . . . . . . ' ) ! ~ { . . . . * @ + . . . . + @ # . . . . . . . . . . . . . . . . . . . . . . . . . . . . = @ - . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . * @ + . . . . . . . . . . . . . ", +". . . . . . . . . . . . ] @ ^ / @ ( . . . _ @ @ @ @ @ : . + @ # . . < [ } | 1 2 3 . . . . 4 5 ) 6 | 7 8 . . . . . . . . = @ - . . 9 @ 0 a b > c d . e , f | g . . . . 9 @ 0 a h % i & . . . . j k l m n o j . . . 9 @ 0 p q m r @ @ @ @ @ : . . . . . . . . . . ", +". . . . . . . . . . . . k s t . u v < . . _ @ @ @ @ @ : . + @ # . . w @ @ @ @ @ @ 5 . . . k @ @ @ @ @ % . . . . . . . . = @ - . . 9 @ x @ @ @ @ y d z @ @ @ @ * . . . 9 @ A @ @ @ @ @ B . . C D @ @ @ @ @ h C . . 9 @ x @ @ @ E @ @ @ @ @ : . . . . . . . . . . ", +". . . . . . . . . . . F G 7 . . H @ I . . . * @ + . . . . + @ # . . ] J 8 j K 0 h 6 K . . l l = F j L M . . . . . . . . = @ - . . 9 @ % N j O J @ P Q R S & T U . . . 9 @ s ^ O j V W X F . Y @ Z ` S w .@ ... . 9 @ s +.t . . * @ + . . . . . . . . . . . . . ", +". . . . . . . . . . . @.@ #.. . K 6 x . . . * @ + . . . . + @ # . . . . . . . . # @ $.. . ' M . . . . . . . . . . . . . = @ - . . 9 @ %.. . . &.@ *.4 . . . =.r . . . 9 @ -.. . . . ;.@ 0 . q 6 t . . . t f h . . 9 @ >.. . . . * @ + . . . . . . . . . . . . . ", +". . . . . . . . . . . ,.'.).. . . !.~.j . . * @ + . . . . + @ # . . . {.].P ~ @ @ @ 9 . . 8 r ^.- /.j . . . . . . . . . = @ - . . 9 @ + . . . . @ A . . . . !.~ . . . 9 @ (.. . . . # @ N . 1 _.. . . . . c s . . 9 @ (.. . . . * @ + . . . . . . . . . . . . . ", +". . . . . . . . . . { ~ @ @ @ @ @ @ @ :.. . * @ + . . . . + @ # . . ^ @ @ @ @ @ @ @ H . . . F <._ [.> }.. . . . . . . . = @ - . . 9 @ 0 . . . . @ |.. . . . : @ . . . 9 @ (.. . . . # @ N . 1 u . . . . . c s . . 9 @ 0 . . . . * @ + . . . . . . . . . . . . . ", +". . . . . . . . . . 1.@ @ @ @ @ @ @ @ ^.. . #.@ # . . . . + @ # . . 2.r $.$ < . [ @ H . . . . . . . + @ * . . . . . . . = @ - . . 9 @ 0 . . . . @ |.. . . . : @ . . . 9 @ -.. . . . ;.@ 0 . q 6 t . . . O f h . . 9 @ 0 . . . . #.@ # . . . . . . . . . . . . . ", +". . . . . . . . . < 3.4.K . . . . . 5.@ w . 6.@ ;.F . . . + @ # . . 2.n ` 4 $ + *.@ H . 4 7.@.8.4 9.k @ ^ . . . . . . . = @ - . . 9 @ 0 . . . . @ |.. . . . : @ . . . 9 @ s ^ O j V W X F . %.@ u w F ] u @ - . . 9 @ 0 . . . . 6.@ ;.F . . . . . . . . . . . . ", +". . . . . . . . . L @ 0.. . . . . . L @ o . K > @ @ @ : . + @ # . . a.@ @ @ @ @ b.@ H . F @ @ @ @ @ @ > / . . . . . . . = @ - . . 9 @ 0 . . . . @ |.. . . . : @ . . . 9 @ A @ @ @ @ @ B . . C D @ @ @ @ @ h $ . . 9 @ 0 . . . . K > @ @ @ : . . . . . . . . . . ", +". . . . . . . . . A @ ` . . . . . . < *.c.F . # ^.~.@ : . + @ # . . 4 _ *.% q N d.@ H . . e.: h % l b.e . . . . . . . . = @ - . . 9 @ 0 . . . . @ |.. . . . : @ . . . 9 @ 0 f.g.~.i /.. . . . j h.n W i.>.O . . . 9 @ 0 . . . . . # ^.~.@ : . . . . . . . . . . ", +". . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9 @ 0 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", +". . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9 @ 0 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", +". . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9 @ 0 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", +". . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9 @ 0 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", +". . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", +". . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", +". . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", +". . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", +". . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . + @ # . . + @ # . . . . . . . . . . . . . . . . . . . . j.k.. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", +". . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . = @ @ @ @ @ @ @ # . . . . . . . . . . + @ # . . + @ # . . . . . . . . . . . . . . . . . . . . j.k.. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", +". . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . = @ @ @ @ @ @ @ # . . . . . . . . . . . . . . . + @ # . . . . . . . . . . . . . . . . . . . . j.k.. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", +". . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . = @ - . . . . . . . . . . . . . . . . . . . . . + @ # . . . . . . . . . . . . . . . . . . . . j.k.. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", +". . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . = @ - . . . . . < [ } | 1 2 3 . . . . + @ # . . + @ # . . . 4 l.m.% G 5.n.. . . . &.Q z c.x O j.k.. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", +". . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . = @ - . . . . . w @ @ @ @ @ @ 5 . . . + @ # . . + @ # . . ).o.@ @ @ @ @ c./ . . $ v @ @ @ @ p.2.k.. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", +". . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . = @ @ @ @ @ @ U ] J 8 j K 0 h 6 K . . + @ # . . + @ # . . q.@ } w F O q.s r.. . a.@ s.d S 8 ) @ k.. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", +". . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . = @ @ @ @ @ @ U . . . . . . # @ $.. . + @ # . . + @ # . . t.| ).. . . . !.> < . q G C . . . d @ k.. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", +". . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . = @ - . . . . . . {.].P ~ @ @ @ 9 . . + @ # . . + @ # . . > @ @ @ @ @ @ @ @ O . % u.. . . . . y k.. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", +". . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . = @ - . . . . . ^ @ @ @ @ @ @ @ H . . + @ # . . + @ # . . 1 @ @ @ @ @ @ @ @ v.. % u.. . . . . r k.. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", +". . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . = @ - . . . . . 2.r $.$ < . [ @ H . . + @ # . . + @ # . . ^.h < . . . . . . . . q G C . . . d @ k.. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", +". . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . = @ - . . . . . 2.n ` 4 $ + *.@ H . . + @ # . . + @ # . . +.@ w.e.C S d x.y.. . a.@ s.z.S 8 ) @ k.. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", +". . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . = @ - . . . . . a.@ @ @ @ @ b.@ H . . + @ # . . + @ # . . ).M @ @ @ @ @ @ s.. . $ v @ @ @ @ ^.2.k.. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", +". . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . = @ - . . . . . 4 _ *.% q N d.@ H . . + @ # . . + @ # . . . ).f.k.6 z ' Y v.. . . &.A A.z A O j.k.. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", +". . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", +". . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", +". . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", +". . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", +". . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", +". . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", +". . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", +". . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", +". . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", +". . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . B.C.D.B.C.D.B.C.D.. . . . . . . . B.C.D.. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", +". . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . E.C.C.C.C.F.. B.C.D.B.C.D.B.C.D.. . . . C.G.. . B.C.D.. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", +". . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . E.C.H.. . . . . . . B.C.D.B.C.D.. . . . C.G.. . B.C.D.. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", +". . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . E.C.H.. . . . B.C.D.B.C.D.B.C.D.. . . I.C.C.C.J.B.C.C.C.K.L.M.. N.O.P.Q.R.. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", +". . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . E.C.C.C.C.H.. B.C.D.B.C.D.B.C.D.. . . . C.G.. . B.C.S.T.U.C.V.W.C.X.Y.Z.`.E.. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", +". . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . E.C.H.. . . . B.C.D.B.C.D.B.C.D.. . . . C.G.. . B.C. +. .+C.++@+C.C.C.C.C.R.. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", +". . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . E.C.H.. . . . B.C.D.B.C.D.B.C.D.. . . . #+Q.$+. B.C.D.. .+C.++W.C.%+&+. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", +". . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . E.C.H.. . . . B.C.D.B.C.D.B.C.D.. . . . *+`.C.=+B.C.D.. .+C.++. N.-+;+C.C.Y.. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", +". . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", +". . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", +". . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", +". . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", +". . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", +". . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . B.C.D.. . . . . . . . . . . . . . . . . . . . . . . B.C.D.B.C.D.. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", +". . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Y.C.>+,+R.. . '+C.C.)+. . . C.G.. . B.C.D.. . . . . . . . . . . . . . . . E.C.C.C.C.F.. B.C.D.B.C.D.. . . . . . . Y.C.>+,+R.. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", +". . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Y.C.>+,+R.. . !+~+{+]+. . . C.G.. . B.C.D.. . . . . . . . . . . . . . . . E.C.H.. . . . . . . B.C.D.. . . . . . . Y.C.>+,+R.. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", +". . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Y.C.>+,+R.. ^+C./+(+_+&+. I.C.C.C.J.B.C.D.:+C.C.P.<+[+. }+G.|+C.C.>+. . . E.C.H.. . . . B.C.D.B.C.D.. N.O.P.Q.R.. Y.C.>+,+R.. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", +". . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1+;+T.2+C.3+. . C.G.. . B.C.D.. . . T.4+Q.. 5+C.X.6+Y.. . . . E.C.C.C.C.H.. B.C.D.B.C.D.W.C.X.Y.Z.`.E.. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", +". . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7+8+C.C.C.C.9+. . C.G.. . B.C.D.0+a+8+C.C.|+. b+c+C.C.d+e+. . . E.C.H.. . . . B.C.D.B.C.D.@+C.C.C.C.C.R.. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", +". . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . f+C.g+. . J.h+>+. #+Q.$+. B.C.D.i+C.j+0+,+#+. . &+e+k+C.l+. . . E.C.H.. . . . B.C.D.B.C.D.W.C.%+&+. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", +". . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . m+h+n+. . o+C.p+. *+`.C.=+B.C.D.q+!+{+C.C.#+. =+C.C.8+r+E.. . . E.C.H.. . . . B.C.D.B.C.D.. N.-+;+C.C.Y.. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", +". . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", +". . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", +". . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", +". . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", +". . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", +". . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . V.4+C.s+C.U.. . . . . . . B.C.D.. . . . N.C.W.. . . B.C.D.. . . . . . . . . . . . . . . B.C.D.. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", +". . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . t+u+Y.v+C.U.. . . . . . . B.C.D.. . . . N.C.W.. . . B.C.D.. . . . . . . . . . . C.G.. . B.C.D.. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", +". . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . u+w+. . . . . . . . . . . B.C.D.. . . . N.C.W.. . . . . . . . . . . . . . . . . C.G.. . B.C.D.. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", +". . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . H.C.C.C.C.C.U.. N.O.P.Q.R.. B.C.D.. x+d+C.C.C.W.. . . B.C.D.B.C.C.C.K.L.M.. . . I.C.C.C.J.B.C.C.C.K.L.M.. N.O.P.Q.R.. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", +". . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . y+!+. v+C.U.W.C.X.Y.Z.`.E.B.C.D.2+C.x+z+(+C.W.. . . B.C.D.B.C.S.T.U.C.V.. . . . C.G.. . B.C.S.T.U.C.V.W.C.X.Y.Z.`.E.. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", +". . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . y+!+. v+C.U.@+C.C.C.C.C.R.B.C.D.%+C.A+. B+C.W.. . . B.C.D.B.C. +. .+C.++. . . . C.G.. . B.C. +. .+C.++@+C.C.C.C.C.R.. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", +". . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . y+!+. v+C.U.W.C.%+&+. . . B.C.D.2+C.k+z+9+C.W.. . . B.C.D.B.C.D.. .+C.++. . . . #+Q.$+. B.C.D.. .+C.++W.C.%+&+. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", +". . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . y+!+. v+C.U.. N.-+;+C.C.Y.B.C.D.. x+d+C.C.C.W.. . . B.C.D.B.C.D.. .+C.++. . . . *+`.C.=+B.C.D.. .+C.++. N.-+;+C.C.Y.. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", +". . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", +". . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", +". . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", +". . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", +". . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", +". . . . . . . . . . . . . . . . . . B.C.D.. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . N.C.W.. . . . . . . . . . . . . B.C.D.. . . . . . . . . . . . . . . . . . . . . . . . . N.C.W.. . . . . . . . . . . . . . . . . . . ", +". . . . . . . . . . . . . . . . . . B.C.D.. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . C.G.. . . . . . . . . N.C.W.. . . . . . . . . . . . . B.C.D.. . . . . . . . . . . . . . . . . . . . . . . . . N.C.W.. . . . . . . . . . . . . . . . . . . ", +". . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . C.G.. . . . . . . . . N.C.W.. . . . . . . . . . . . . B.C.D.. . . . . . . . . . . . . . . . . . . . . . . . . N.C.W.. . . . . . . . . . . . . . . . . . . ", +". . . . . . . . . . . . . . . . . . B.C.D.)+C.C.C.K.C+O.K.!+B.B.C.C.C.D+E+7+. '+O.P.C+F+. B.C.C.C.,+I.C.C.C.J.. . . . x+d+C.C.C.W.. '+O.P.C+F+. . .+G+H+C.R.B.C.D.>+I+I.q+. . . :+C.C.P.<+[+. B.C.C.C.K.L.M.. x+d+C.C.C.W.. . . . . . . . . . . . . . . . . . . ", +". . . . . . . . . . . . . . . . . . B.C.D.)+C.!+T.J+C.=+g+C.]+B.C.I+E.=+C.K+W.C.]+Y.L+h+b+B.C.O.M+. . C.G.. . . . . 2+C.x+z+(+C.W.W.C.]+Y.L+h+b+N+C.O+z+. . B.C.P+4+Q+T.. . . . . . . T.4+Q.. B.C.S.T.U.C.V.2+C.x+z+(+C.W.. . . . . . . . . . . . . . . . . . . ", +". . . . . . . . . . . . . . . . . . B.C.D.)+C. +. R+C.M+S+C.T+B.C.U+. M+C.E+@+C.V.. =+C.V+B.C. +. . . C.G.. . . . . %+C.A+. B+C.W.@+C.V.. =+C.V+@+C.A+. . . B.C.C.C.R.. . . . . 0+a+8+C.C.|+. B.C. +. .+C.++%+C.A+. B+C.W.. . . . . . . . . . . . . . . . . . . ", +". . . . . . . . . . . . . . . . . . B.C.D.)+C.D.. R+C.>+S+C.T+B.C.C+E.W+C.K+W.C.*+Y.X+{+b+B.C.D.. . . #+Q.$+. . . . 2+C.k+z+9+C.W.W.C.*+Y.X+{+b+Y+C.s+z+. . B.C.Z+m+|+V.. . . . i+C.j+0+,+#+. B.C.D.. .+C.++2+C.k+z+9+C.W.. . . . . . . . . . . . . . . . . . . ", +". . . . . . . . . . . . . . . . . . B.C.D.)+C.D.. R+C.>+S+C.T+B.C.C.C.D+`+7+. @.@D+G++@. B.C.D.. . . *+`.C.=+. . . . x+d+C.C.C.W.. @.@D+G++@. . l+@@H+C.R.B.C.D.Y.#@K.2+. . . q+!+{+C.C.#+. B.C.D.. .+C.++. x+d+C.C.C.W.. . . . . . . . . . . . . . . . . . . ", +". . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . B.C.D.. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", +". . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . B.C.D.. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", +". . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", +". . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", +". . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", +". . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . B.C.D.. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", +". . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . B.C.D.. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . C.G.. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", +". . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . C.G.. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", +". . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . B.C.C.C.,+. N.O.P.Q.R.. . . . . B.C.D.)+C.C.C.K.C+O.K.!+B.B.C.C.C.D+E+7+. '+O.P.C+F+. B.C.C.C.,+I.C.C.C.J.. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", +". . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . B.C.O.M+. W.C.X.Y.Z.`.E.$@C.C.%@B.C.D.)+C.!+T.J+C.=+g+C.]+B.C.I+E.=+C.K+W.C.]+Y.L+h+b+B.C.O.M+. . C.G.. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", +". . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . B.C. +. . @+C.C.C.C.C.R.. . . . B.C.D.)+C. +. R+C.M+S+C.T+B.C.U+. M+C.E+@+C.V.. =+C.V+B.C. +. . . C.G.. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", +". . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . B.C.D.. . W.C.%+&+. . . . . . . B.C.D.)+C.D.. R+C.>+S+C.T+B.C.C+E.W+C.K+W.C.*+Y.X+{+b+B.C.D.. . . #+Q.$+. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", +". . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . B.C.D.. . . N.-+;+C.C.Y.. . . . B.C.D.)+C.D.. R+C.>+S+C.T+B.C.C.C.D+`+7+. @.@D+G++@. B.C.D.. . . *+`.C.=+. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", +". . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . B.C.D.. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", +". . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . B.C.D.. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", +". . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", +". . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", +". . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", +". . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", +". . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", +". . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", +". . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", +". . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", +". . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", +". . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", +". . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", +". . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . "}; diff --git a/editor/import/editor_import_collada.cpp b/editor/import/editor_import_collada.cpp index 44eaf3d9ef..e152827c63 100644 --- a/editor/import/editor_import_collada.cpp +++ b/editor/import/editor_import_collada.cpp @@ -1614,8 +1614,6 @@ void ColladaImport::create_animation(int p_clip, bool p_make_tracks_in_all_bones continue; } - ERR_CONTINUE(xform_idx == -1); - Vector<float> data = at.get_value_at_time(snapshots[i]); ERR_CONTINUE(data.empty()); diff --git a/editor/import/resource_importer_scene.cpp b/editor/import/resource_importer_scene.cpp index ab515785da..8f66cce39a 100644 --- a/editor/import/resource_importer_scene.cpp +++ b/editor/import/resource_importer_scene.cpp @@ -1127,7 +1127,7 @@ void ResourceImporterScene::get_import_options(List<ImportOption> *r_options, in r_options->push_back(ImportOption(PropertyInfo(Variant::BOOL, "animation/import", PROPERTY_HINT_NONE, "", PROPERTY_USAGE_DEFAULT | PROPERTY_USAGE_UPDATE_ALL_IF_MODIFIED), true)); r_options->push_back(ImportOption(PropertyInfo(Variant::REAL, "animation/fps", PROPERTY_HINT_RANGE, "1,120,1"), 15)); r_options->push_back(ImportOption(PropertyInfo(Variant::STRING, "animation/filter_script", PROPERTY_HINT_MULTILINE_TEXT), "")); - r_options->push_back(ImportOption(PropertyInfo(Variant::INT, "animation/storage", PROPERTY_HINT_ENUM, "Built-In,Files"), animations_out ? true : false)); + r_options->push_back(ImportOption(PropertyInfo(Variant::INT, "animation/storage", PROPERTY_HINT_ENUM, "Built-In,Files", PROPERTY_USAGE_DEFAULT | PROPERTY_USAGE_UPDATE_ALL_IF_MODIFIED), animations_out ? true : false)); r_options->push_back(ImportOption(PropertyInfo(Variant::BOOL, "animation/keep_custom_tracks"), animations_out ? true : false)); r_options->push_back(ImportOption(PropertyInfo(Variant::BOOL, "animation/optimizer/enabled", PROPERTY_HINT_NONE, "", PROPERTY_USAGE_DEFAULT | PROPERTY_USAGE_UPDATE_ALL_IF_MODIFIED), true)); r_options->push_back(ImportOption(PropertyInfo(Variant::REAL, "animation/optimizer/max_linear_error"), 0.05)); diff --git a/editor/import/resource_importer_texture_atlas.cpp b/editor/import/resource_importer_texture_atlas.cpp new file mode 100644 index 0000000000..35fdd32e2c --- /dev/null +++ b/editor/import/resource_importer_texture_atlas.cpp @@ -0,0 +1,382 @@ +#include "resource_importer_texture_atlas.h" + +#include "atlas_import_failed.xpm" +#include "core/io/image_loader.h" +#include "core/io/resource_saver.h" +#include "core/os/file_access.h" +#include "editor/editor_atlas_packer.h" +#include "scene/resources/mesh.h" +#include "scene/resources/texture.h" + +String ResourceImporterTextureAtlas::get_importer_name() const { + + return "texture_atlas"; +} + +String ResourceImporterTextureAtlas::get_visible_name() const { + + return "TextureAtlas"; +} +void ResourceImporterTextureAtlas::get_recognized_extensions(List<String> *p_extensions) const { + + ImageLoader::get_recognized_extensions(p_extensions); +} + +String ResourceImporterTextureAtlas::get_save_extension() const { + return "res"; +} + +String ResourceImporterTextureAtlas::get_resource_type() const { + + return "Texture"; +} + +bool ResourceImporterTextureAtlas::get_option_visibility(const String &p_option, const Map<StringName, Variant> &p_options) const { + + return true; +} + +int ResourceImporterTextureAtlas::get_preset_count() const { + return 0; +} +String ResourceImporterTextureAtlas::get_preset_name(int p_idx) const { + + return String(); +} + +void ResourceImporterTextureAtlas::get_import_options(List<ImportOption> *r_options, int p_preset) const { + + r_options->push_back(ImportOption(PropertyInfo(Variant::STRING, "atlas_file", PROPERTY_HINT_SAVE_FILE, "*.png"), "")); + r_options->push_back(ImportOption(PropertyInfo(Variant::INT, "import_mode", PROPERTY_HINT_ENUM, "Region,Mesh2D"), 0)); +} + +String ResourceImporterTextureAtlas::get_option_group_file() const { + return "atlas_file"; +} + +Error ResourceImporterTextureAtlas::import(const String &p_source_file, const String &p_save_path, const Map<StringName, Variant> &p_options, List<String> *r_platform_variants, List<String> *r_gen_files, Variant *r_metadata) { + + /* If this happens, it's because the atlas_file field was not filled, so just import a broken texture */ + + //use an xpm because it's size independent, the editor images are vector and size dependent + //it's a simple hack + Ref<Image> broken = memnew(Image((const char **)atlas_import_failed_xpm)); + Ref<ImageTexture> broken_texture; + broken_texture.instance(); + broken_texture->create_from_image(broken); + + String target_file = p_save_path + ".tex"; + + ResourceSaver::save(target_file, broken_texture); + + return OK; +} + +static void _plot_triangle(Vector2 *vertices, const Vector2 &p_offset, bool p_transposed, Ref<Image> p_image, const Ref<Image> &p_src_image) { + + int width = p_image->get_width(); + int height = p_image->get_height(); + int src_width = p_src_image->get_width(); + int src_height = p_src_image->get_height(); + + int x[3]; + int y[3]; + + for (int j = 0; j < 3; j++) { + + x[j] = vertices[j].x; + y[j] = vertices[j].y; + } + + // sort the points vertically + if (y[1] > y[2]) { + SWAP(x[1], x[2]); + SWAP(y[1], y[2]); + } + if (y[0] > y[1]) { + SWAP(x[0], x[1]); + SWAP(y[0], y[1]); + } + if (y[1] > y[2]) { + SWAP(x[1], x[2]); + SWAP(y[1], y[2]); + } + + double dx_far = double(x[2] - x[0]) / (y[2] - y[0] + 1); + double dx_upper = double(x[1] - x[0]) / (y[1] - y[0] + 1); + double dx_low = double(x[2] - x[1]) / (y[2] - y[1] + 1); + double xf = x[0]; + double xt = x[0] + dx_upper; // if y[0] == y[1], special case + for (int yi = y[0]; yi <= (y[2] > height - 1 ? height - 1 : y[2]); yi++) { + if (yi >= 0) { + for (int xi = (xf > 0 ? int(xf) : 0); xi <= (xt < width ? xt : width - 1); xi++) { + + int px = xi, py = yi; + int sx = px, sy = py; + sx = CLAMP(sx, 0, src_width); + sy = CLAMP(sy, 0, src_height); + Color color = p_src_image->get_pixel(sx, sy); + if (p_transposed) { + SWAP(px, py); + } + px += p_offset.x; + py += p_offset.y; + + //may have been cropped, so don't blit what is not visible? + if (px < 0 || px >= width) { + continue; + } + if (py < 0 || py >= height) { + continue; + } + p_image->set_pixel(px, py, color); + } + + for (int xi = (xf < width ? int(xf) : width - 1); xi >= (xt > 0 ? xt : 0); xi--) { + int px = xi, py = yi; + int sx = px, sy = py; + sx = CLAMP(sx, 0, src_width); + sy = CLAMP(sy, 0, src_height); + Color color = p_src_image->get_pixel(sx, sy); + if (p_transposed) { + SWAP(px, py); + } + px += p_offset.x; + py += p_offset.y; + + //may have been cropped, so don't blit what is not visible? + if (px < 0 || px >= width) { + continue; + } + if (py < 0 || py >= height) { + continue; + } + p_image->set_pixel(px, py, color); + } + } + xf += dx_far; + if (yi < y[1]) + xt += dx_upper; + else + xt += dx_low; + } +} + +Error ResourceImporterTextureAtlas::import_group_file(const String &p_group_file, const Map<String, Map<StringName, Variant> > &p_source_file_options, const Map<String, String> &p_base_paths) { + + ERR_FAIL_COND_V(p_source_file_options.size() == 0, ERR_BUG); //should never happen + + Vector<EditorAtlasPacker::Chart> charts; + Vector<PackData> pack_data_files; + + pack_data_files.resize(p_source_file_options.size()); + + int idx = 0; + for (const Map<String, Map<StringName, Variant> >::Element *E = p_source_file_options.front(); E; E = E->next(), idx++) { + + PackData &pack_data = pack_data_files.write[idx]; + String source = E->key(); + const Map<StringName, Variant> &options = E->get(); + + Ref<Image> image; + image.instance(); + Error err = ImageLoader::load_image(source, image); + ERR_CONTINUE(err != OK); + + pack_data.image = image; + + int mode = options["import_mode"]; + + if (mode == IMPORT_MODE_REGION) { + + pack_data.is_mesh = false; + + EditorAtlasPacker::Chart chart; + + //clip a region from the image + Rect2 used_rect = image->get_used_rect(); + pack_data.region = used_rect; + + chart.vertices.push_back(used_rect.position); + chart.vertices.push_back(used_rect.position + Vector2(used_rect.size.x, 0)); + chart.vertices.push_back(used_rect.position + Vector2(used_rect.size.x, used_rect.size.y)); + chart.vertices.push_back(used_rect.position + Vector2(0, used_rect.size.y)); + EditorAtlasPacker::Chart::Face f; + f.vertex[0] = 0; + f.vertex[1] = 1; + f.vertex[2] = 2; + chart.faces.push_back(f); + f.vertex[0] = 0; + f.vertex[1] = 2; + f.vertex[2] = 3; + chart.faces.push_back(f); + chart.can_transpose = false; + pack_data.chart_vertices.push_back(chart.vertices); + pack_data.chart_pieces.push_back(charts.size()); + charts.push_back(chart); + + } else { + pack_data.is_mesh = true; + + Ref<BitMap> bit_map; + bit_map.instance(); + bit_map->create_from_image_alpha(image); + Vector<Vector<Vector2> > polygons = bit_map->clip_opaque_to_polygons(Rect2(0, 0, image->get_width(), image->get_height())); + + for (int j = 0; j < polygons.size(); j++) { + + EditorAtlasPacker::Chart chart; + chart.vertices = polygons[j]; + chart.can_transpose = true; + + Vector<int> poly = Geometry::triangulate_polygon(polygons[j]); + for (int i = 0; i < poly.size(); i += 3) { + + EditorAtlasPacker::Chart::Face f; + f.vertex[0] = poly[i + 0]; + f.vertex[1] = poly[i + 1]; + f.vertex[2] = poly[i + 2]; + chart.faces.push_back(f); + } + + pack_data.chart_pieces.push_back(charts.size()); + charts.push_back(chart); + + pack_data.chart_vertices.push_back(polygons[j]); + } + } + } + + //pack the charts + int atlas_width, atlas_height; + EditorAtlasPacker::chart_pack(charts, atlas_width, atlas_height); + + //blit the atlas + Ref<Image> new_atlas; + new_atlas.instance(); + new_atlas->create(atlas_width, atlas_height, false, Image::FORMAT_RGBA8); + + new_atlas->lock(); + + for (int i = 0; i < pack_data_files.size(); i++) { + + PackData &pack_data = pack_data_files.write[i]; + pack_data.image->lock(); + for (int j = 0; j < pack_data.chart_pieces.size(); j++) { + const EditorAtlasPacker::Chart &chart = charts[pack_data.chart_pieces[j]]; + for (int k = 0; k < chart.faces.size(); k++) { + Vector2 positions[3]; + for (int l = 0; l < 3; l++) { + int vertex_idx = chart.faces[k].vertex[l]; + positions[l] = chart.vertices[vertex_idx]; + } + + _plot_triangle(positions, chart.final_offset, chart.transposed, new_atlas, pack_data.image); + } + } + pack_data.image->unlock(); + } + new_atlas->unlock(); + + //save the atlas + + new_atlas->save_png(p_group_file); + + //update cache if existing, else create + Ref<Texture> cache; + if (ResourceCache::has(p_group_file)) { + Resource *resptr = ResourceCache::get(p_group_file); + cache.reference_ptr(resptr); + } else { + Ref<ImageTexture> res_cache; + res_cache.instance(); + res_cache->create_from_image(new_atlas); + res_cache->set_path(p_group_file); + cache = res_cache; + } + + //save the images + idx = 0; + for (const Map<String, Map<StringName, Variant> >::Element *E = p_source_file_options.front(); E; E = E->next(), idx++) { + + PackData &pack_data = pack_data_files.write[idx]; + + Ref<Texture> texture; + + if (!pack_data.is_mesh) { + Vector2 offset = charts[pack_data.chart_pieces[0]].vertices[0] + charts[pack_data.chart_pieces[0]].final_offset; + + //region + Ref<AtlasTexture> atlas_texture; + atlas_texture.instance(); + atlas_texture->set_atlas(cache); + atlas_texture->set_region(Rect2(offset, pack_data.region.size)); + atlas_texture->set_margin(Rect2(pack_data.region.position, Size2(pack_data.image->get_width(), pack_data.image->get_height()) - pack_data.region.size)); + + texture = atlas_texture; + } else { + Ref<ArrayMesh> mesh; + mesh.instance(); + + for (int i = 0; i < pack_data.chart_pieces.size(); i++) { + const EditorAtlasPacker::Chart &chart = charts[pack_data.chart_pieces[i]]; + PoolVector<Vector2> vertices; + PoolVector<int> indices; + PoolVector<Vector2> uvs; + int vc = chart.vertices.size(); + int fc = chart.faces.size(); + vertices.resize(vc); + uvs.resize(vc); + indices.resize(fc * 3); + + { + PoolVector<Vector2>::Write vw = vertices.write(); + PoolVector<int>::Write iw = indices.write(); + PoolVector<Vector2>::Write uvw = uvs.write(); + + for (int j = 0; j < vc; j++) { + vw[j] = chart.vertices[j]; + Vector2 uv = chart.vertices[j]; + if (chart.transposed) { + SWAP(uv.x, uv.y); + } + uv += chart.final_offset; + uv /= new_atlas->get_size(); //normalize uv to 0-1 range + uvw[j] = uv; + } + + for (int j = 0; j < fc; j++) { + iw[j * 3 + 0] = chart.faces[j].vertex[0]; + iw[j * 3 + 1] = chart.faces[j].vertex[1]; + iw[j * 3 + 2] = chart.faces[j].vertex[2]; + } + } + + Array arrays; + arrays.resize(Mesh::ARRAY_MAX); + arrays[Mesh::ARRAY_VERTEX] = vertices; + arrays[Mesh::ARRAY_TEX_UV] = uvs; + arrays[Mesh::ARRAY_INDEX] = indices; + + mesh->add_surface_from_arrays(Mesh::PRIMITIVE_TRIANGLES, arrays); + } + + Ref<MeshTexture> mesh_texture; + mesh_texture.instance(); + mesh_texture->set_base_texture(cache); + mesh_texture->set_image_size(pack_data.image->get_size()); + mesh_texture->set_mesh(mesh); + + texture = mesh_texture; + //mesh + } + + String save_path = p_base_paths[E->key()] + ".res"; + ResourceSaver::save(save_path, texture); + } + + return OK; +} + +ResourceImporterTextureAtlas::ResourceImporterTextureAtlas() { +} diff --git a/editor/import/resource_importer_texture_atlas.h b/editor/import/resource_importer_texture_atlas.h new file mode 100644 index 0000000000..62be570dc6 --- /dev/null +++ b/editor/import/resource_importer_texture_atlas.h @@ -0,0 +1,42 @@ +#ifndef RESOURCE_IMPORTER_TEXTURE_ATLAS_H +#define RESOURCE_IMPORTER_TEXTURE_ATLAS_H + +#include "core/image.h" +#include "core/io/resource_importer.h" +class ResourceImporterTextureAtlas : public ResourceImporter { + GDCLASS(ResourceImporterTextureAtlas, ResourceImporter) + + struct PackData { + Rect2 region; + bool is_mesh; + Vector<int> chart_pieces; //one for region, many for mesh + Vector<Vector<Vector2> > chart_vertices; //for mesh + Ref<Image> image; + }; + +public: + enum ImportMode { + IMPORT_MODE_REGION, + IMPORT_MODE_2D_MESH + }; + + virtual String get_importer_name() const; + virtual String get_visible_name() const; + virtual void get_recognized_extensions(List<String> *p_extensions) const; + virtual String get_save_extension() const; + virtual String get_resource_type() const; + + virtual int get_preset_count() const; + virtual String get_preset_name(int p_idx) const; + + virtual void get_import_options(List<ImportOption> *r_options, int p_preset = 0) const; + virtual bool get_option_visibility(const String &p_option, const Map<StringName, Variant> &p_options) const; + virtual String get_option_group_file() const; + + virtual Error import(const String &p_source_file, const String &p_save_path, const Map<StringName, Variant> &p_options, List<String> *r_platform_variants, List<String> *r_gen_files = NULL, Variant *r_metadata = NULL); + virtual Error import_group_file(const String &p_group_file, const Map<String, Map<StringName, Variant> > &p_source_file_options, const Map<String, String> &p_base_paths); + + ResourceImporterTextureAtlas(); +}; + +#endif // RESOURCE_IMPORTER_TEXTURE_ATLAS_H diff --git a/editor/import/resource_importer_wav.cpp b/editor/import/resource_importer_wav.cpp index 52dec47343..fdf1103258 100644 --- a/editor/import/resource_importer_wav.cpp +++ b/editor/import/resource_importer_wav.cpp @@ -409,12 +409,12 @@ Error ResourceImporterWAV::import(const String &p_source_file, const String &p_s float amp = Math::abs(ampChannelSum / (float)format_channels); if (!found && amp > limit) { - first = i / format_channels; + first = i; found = true; } if (found && amp > limit) { - last = i / format_channels; + last = i; } } diff --git a/editor/import_dock.cpp b/editor/import_dock.cpp index 15539ee3db..b307ec649a 100644 --- a/editor/import_dock.cpp +++ b/editor/import_dock.cpp @@ -438,6 +438,8 @@ void ImportDock::_reimport() { Error err = config->load(params->paths[i] + ".import"); ERR_CONTINUE(err != OK); + String importer_name = params->importer->get_importer_name(); + if (params->checking) { //update only what edited (checkboxes) for (List<PropertyInfo>::Element *E = params->properties.front(); E; E = E->next()) { @@ -447,7 +449,7 @@ void ImportDock::_reimport() { } } else { //override entirely - config->set_value("remap", "importer", params->importer->get_importer_name()); + config->set_value("remap", "importer", importer_name); config->erase_section("params"); for (List<PropertyInfo>::Element *E = params->properties.front(); E; E = E->next()) { @@ -455,6 +457,19 @@ void ImportDock::_reimport() { } } + //handle group file + Ref<ResourceImporter> importer = ResourceFormatImporter::get_singleton()->get_importer_by_name(importer_name); + ERR_CONTINUE(!importer.is_valid()); + String group_file_property = importer->get_option_group_file(); + if (group_file_property != String()) { + //can import from a group (as in, atlas) + ERR_CONTINUE(!params->values.has(group_file_property)); + String group_file = params->values[group_file_property]; + config->set_value("remap", "group_file", group_file); + } else { + config->set_value("remap", "group_file", Variant()); //clear group file if unused + } + config->save(params->paths[i] + ".import"); } diff --git a/editor/inspector_dock.cpp b/editor/inspector_dock.cpp index d711c1717d..8a2393ff60 100644 --- a/editor/inspector_dock.cpp +++ b/editor/inspector_dock.cpp @@ -130,8 +130,7 @@ void InspectorDock::_menu_option(int p_option) { ERR_FAIL_INDEX(idx, methods.size()); String name = methods[idx].name; - if (current) - current->call(name); + current->call(name); } } } diff --git a/editor/plugins/abstract_polygon_2d_editor.cpp b/editor/plugins/abstract_polygon_2d_editor.cpp index 4a4e7f25b8..1afd7df049 100644 --- a/editor/plugins/abstract_polygon_2d_editor.cpp +++ b/editor/plugins/abstract_polygon_2d_editor.cpp @@ -481,6 +481,17 @@ bool AbstractPolygon2DEditor::forward_gui_input(const Ref<InputEvent> &p_event) if (edited_point.valid() && (wip_active || (mm->get_button_mask() & BUTTON_MASK_LEFT))) { Vector2 cpoint = _get_node()->get_global_transform().affine_inverse().xform(canvas_item_editor->snap_point(canvas_item_editor->get_canvas_transform().affine_inverse().xform(gpoint))); + + //Move the point in a single axis. Should only work when editing a polygon and while holding shift. + if (mode == MODE_EDIT && mm->get_shift()) { + Vector2 old_point = pre_move_edit.get(selected_point.vertex); + if (ABS(cpoint.x - old_point.x) > ABS(cpoint.y - old_point.y)) { + cpoint.y = old_point.y; + } else { + cpoint.x = old_point.x; + } + } + edited_point = PosVertex(edited_point, cpoint); if (!wip_active) { diff --git a/editor/plugins/animation_state_machine_editor.cpp b/editor/plugins/animation_state_machine_editor.cpp index cb3e5a8129..f06b4b2828 100644 --- a/editor/plugins/animation_state_machine_editor.cpp +++ b/editor/plugins/animation_state_machine_editor.cpp @@ -874,9 +874,9 @@ void AnimationNodeStateMachineEditor::_state_machine_pos_draw() { } to.y = from.y; - float len = MAX(0.0001, playback->get_current_length()); + float len = MAX(0.0001, current_length); - float pos = CLAMP(playback->get_current_play_pos(), 0, len); + float pos = CLAMP(play_pos, 0, len); float c = pos / len; Color fg = get_color("font_color", "Label"); Color bg = fg; @@ -1011,7 +1011,8 @@ void AnimationNodeStateMachineEditor::_notification(int p_what) { bool is_playing = false; StringName current_node; StringName blend_from_node; - float play_pos = 0; + play_pos = 0; + current_length = 0; if (playback.is_valid()) { tp = playback->get_travel_path(); @@ -1019,6 +1020,7 @@ void AnimationNodeStateMachineEditor::_notification(int p_what) { current_node = playback->get_current_node(); blend_from_node = playback->get_blend_from_node(); play_pos = playback->get_current_play_pos(); + current_length = playback->get_current_length(); } { @@ -1046,6 +1048,27 @@ void AnimationNodeStateMachineEditor::_notification(int p_what) { state_machine_play_pos->update(); } + { + if (current_node != StringName() && state_machine->has_node(current_node)) { + + String next = current_node; + Ref<AnimationNodeStateMachine> anodesm = state_machine->get_node(next); + Ref<AnimationNodeStateMachinePlayback> current_node_playback; + + while (anodesm.is_valid()) { + current_node_playback = AnimationTreeEditor::get_singleton()->get_tree()->get(AnimationTreeEditor::get_singleton()->get_base_path() + next + "/playback"); + next += "/" + current_node_playback->get_current_node(); + anodesm = anodesm->get_node(current_node_playback->get_current_node()); + } + + // when current_node is a state machine, use playback of current_node to set play_pos + if (current_node_playback.is_valid()) { + play_pos = current_node_playback->get_current_play_pos(); + current_length = current_node_playback->get_current_length(); + } + } + } + if (last_play_pos != play_pos) { last_play_pos = play_pos; diff --git a/editor/plugins/animation_state_machine_editor.h b/editor/plugins/animation_state_machine_editor.h index 1c4c06090a..8b0a5a0b00 100644 --- a/editor/plugins/animation_state_machine_editor.h +++ b/editor/plugins/animation_state_machine_editor.h @@ -160,6 +160,8 @@ class AnimationNodeStateMachineEditor : public AnimationTreeNodeEditorPlugin { StringName last_current_node; Vector<StringName> last_travel_path; float last_play_pos; + float play_pos; + float current_length; float error_time; String error_text; diff --git a/editor/plugins/animation_tree_player_editor_plugin.cpp b/editor/plugins/animation_tree_player_editor_plugin.cpp index e21ae4834d..f5d21ffb26 100644 --- a/editor/plugins/animation_tree_player_editor_plugin.cpp +++ b/editor/plugins/animation_tree_player_editor_plugin.cpp @@ -840,7 +840,7 @@ void AnimationTreePlayerEditor::_gui_input(Ref<InputEvent> p_event) { click_motion = Point2(mm->get_position().x, mm->get_position().y); update(); } - if ((mm->get_button_mask() & 4 || Input::get_singleton()->is_key_pressed(KEY_SPACE))) { + if (mm->get_button_mask() & 4 || Input::get_singleton()->is_key_pressed(KEY_SPACE)) { h_scroll->set_value(h_scroll->get_value() - mm->get_relative().x); v_scroll->set_value(v_scroll->get_value() - mm->get_relative().y); diff --git a/editor/plugins/asset_library_editor_plugin.cpp b/editor/plugins/asset_library_editor_plugin.cpp index 386bc1738e..0dfb53b34a 100644 --- a/editor/plugins/asset_library_editor_plugin.cpp +++ b/editor/plugins/asset_library_editor_plugin.cpp @@ -175,7 +175,7 @@ void EditorAssetLibraryItemDescription::set_image(int p_type, int p_index, const Ref<Image> overlay = get_icon("PlayOverlay", "EditorIcons")->get_data(); Ref<Image> thumbnail = p_image->get_data(); thumbnail = thumbnail->duplicate(); - Point2 overlay_pos = Point2((thumbnail->get_width() - overlay->get_width()) / 2, (thumbnail->get_height() - overlay->get_height()) / 2); + Point2 overlay_pos = Point2((thumbnail->get_width() - overlay->get_width() / 2) / 2, (thumbnail->get_height() - overlay->get_height() / 2) / 2); // Overlay and thumbnail need the same format for `blend_rect` to work. thumbnail->convert(Image::FORMAT_RGBA8); @@ -310,15 +310,20 @@ EditorAssetLibraryItemDescription::EditorAssetLibraryItemDescription() { description = memnew(RichTextLabel); description->connect("meta_clicked", this, "_link_click"); + description->set_custom_minimum_size(Size2(440 * EDSCALE, 300 * EDSCALE)); desc_bg->add_child(description); + VBoxContainer *previews_vbox = memnew(VBoxContainer); + hbox->add_child(previews_vbox); + previews_vbox->add_constant_override("separation", 15 * EDSCALE); + preview = memnew(TextureRect); preview->set_custom_minimum_size(Size2(640 * EDSCALE, 345 * EDSCALE)); - hbox->add_child(preview); + previews_vbox->add_child(preview); previews_bg = memnew(PanelContainer); - vbox->add_child(previews_bg); - previews_bg->set_custom_minimum_size(Size2(0, 101 * EDSCALE)); + previews_vbox->add_child(previews_bg); + previews_bg->set_custom_minimum_size(Size2(640 * EDSCALE, 101 * EDSCALE)); previews = memnew(ScrollContainer); previews_bg->add_child(previews); diff --git a/editor/plugins/canvas_item_editor_plugin.cpp b/editor/plugins/canvas_item_editor_plugin.cpp index b2923a1ff2..ab5ff7dee4 100644 --- a/editor/plugins/canvas_item_editor_plugin.cpp +++ b/editor/plugins/canvas_item_editor_plugin.cpp @@ -84,7 +84,6 @@ public: container = memnew(VBoxContainer); add_child(container); - //set_child_rect(container); child_container = memnew(GridContainer); child_container->set_columns(3); @@ -99,12 +98,14 @@ public: grid_offset_x->set_min(-SPIN_BOX_GRID_RANGE); grid_offset_x->set_max(SPIN_BOX_GRID_RANGE); grid_offset_x->set_suffix("px"); + grid_offset_x->set_h_size_flags(SIZE_EXPAND_FILL); child_container->add_child(grid_offset_x); grid_offset_y = memnew(SpinBox); grid_offset_y->set_min(-SPIN_BOX_GRID_RANGE); grid_offset_y->set_max(SPIN_BOX_GRID_RANGE); grid_offset_y->set_suffix("px"); + grid_offset_y->set_h_size_flags(SIZE_EXPAND_FILL); child_container->add_child(grid_offset_y); label = memnew(Label); @@ -116,12 +117,14 @@ public: grid_step_x->set_min(0.01); grid_step_x->set_max(SPIN_BOX_GRID_RANGE); grid_step_x->set_suffix("px"); + grid_step_x->set_h_size_flags(SIZE_EXPAND_FILL); child_container->add_child(grid_step_x); grid_step_y = memnew(SpinBox); grid_step_y->set_min(0.01); grid_step_y->set_max(SPIN_BOX_GRID_RANGE); grid_step_y->set_suffix("px"); + grid_step_y->set_h_size_flags(SIZE_EXPAND_FILL); child_container->add_child(grid_step_y); container->add_child(memnew(HSeparator)); @@ -139,6 +142,7 @@ public: rotation_offset->set_min(-SPIN_BOX_ROTATION_RANGE); rotation_offset->set_max(SPIN_BOX_ROTATION_RANGE); rotation_offset->set_suffix("deg"); + rotation_offset->set_h_size_flags(SIZE_EXPAND_FILL); child_container->add_child(rotation_offset); label = memnew(Label); @@ -150,6 +154,7 @@ public: rotation_step->set_min(-SPIN_BOX_ROTATION_RANGE); rotation_step->set_max(SPIN_BOX_ROTATION_RANGE); rotation_step->set_suffix("deg"); + rotation_step->set_h_size_flags(SIZE_EXPAND_FILL); child_container->add_child(rotation_step); } @@ -1858,7 +1863,7 @@ bool CanvasItemEditor::_gui_input_move(const Ref<InputEvent> &p_event) { } // Confirm the move (only if it was moved) - if (b.is_valid() && !b->is_pressed() && b->get_button_index() == BUTTON_LEFT && (drag_type == DRAG_MOVE)) { + if (b.is_valid() && !b->is_pressed() && b->get_button_index() == BUTTON_LEFT) { if (transform.affine_inverse().xform(b->get_position()) != drag_from) { _commit_canvas_item_state(drag_selection, TTR("Move CanvasItem"), true); } @@ -3911,6 +3916,8 @@ void CanvasItemEditor::_popup_callback(int p_op) { viewport->update(); } break; case LOCK_SELECTED: { + undo_redo->create_action(TTR("Lock Selected")); + List<Node *> selection = editor_selection->get_selected_node_list(); for (List<Node *>::Element *E = selection.front(); E; E = E->next()) { CanvasItem *canvas_item = Object::cast_to<CanvasItem>(E->get()); @@ -3919,12 +3926,18 @@ void CanvasItemEditor::_popup_callback(int p_op) { if (canvas_item->get_viewport() != EditorNode::get_singleton()->get_scene_root()) continue; - canvas_item->set_meta("_edit_lock_", true); - emit_signal("item_lock_status_changed"); + undo_redo->add_do_method(canvas_item, "set_meta", "_edit_lock_", true); + undo_redo->add_undo_method(canvas_item, "remove_meta", "_edit_lock_"); + undo_redo->add_do_method(this, "emit_signal", "item_lock_status_changed"); + undo_redo->add_undo_method(this, "emit_signal", "item_lock_status_changed"); } - viewport->update(); + undo_redo->add_do_method(viewport, "update", Variant()); + undo_redo->add_undo_method(viewport, "update", Variant()); + undo_redo->commit_action(); } break; case UNLOCK_SELECTED: { + undo_redo->create_action(TTR("Unlock Selected")); + List<Node *> selection = editor_selection->get_selected_node_list(); for (List<Node *>::Element *E = selection.front(); E; E = E->next()) { CanvasItem *canvas_item = Object::cast_to<CanvasItem>(E->get()); @@ -3933,12 +3946,18 @@ void CanvasItemEditor::_popup_callback(int p_op) { if (canvas_item->get_viewport() != EditorNode::get_singleton()->get_scene_root()) continue; - canvas_item->set_meta("_edit_lock_", Variant()); - emit_signal("item_lock_status_changed"); + undo_redo->add_do_method(canvas_item, "remove_meta", "_edit_lock_"); + undo_redo->add_undo_method(canvas_item, "set_meta", "_edit_lock_", true); + undo_redo->add_do_method(this, "emit_signal", "item_lock_status_changed"); + undo_redo->add_undo_method(this, "emit_signal", "item_lock_status_changed"); } - viewport->update(); + undo_redo->add_do_method(viewport, "update", Variant()); + undo_redo->add_undo_method(viewport, "update", Variant()); + undo_redo->commit_action(); } break; case GROUP_SELECTED: { + undo_redo->create_action(TTR("Group Selected")); + List<Node *> selection = editor_selection->get_selected_node_list(); for (List<Node *>::Element *E = selection.front(); E; E = E->next()) { CanvasItem *canvas_item = Object::cast_to<CanvasItem>(E->get()); @@ -3947,12 +3966,18 @@ void CanvasItemEditor::_popup_callback(int p_op) { if (canvas_item->get_viewport() != EditorNode::get_singleton()->get_scene_root()) continue; - canvas_item->set_meta("_edit_group_", true); - emit_signal("item_group_status_changed"); + undo_redo->add_do_method(canvas_item, "set_meta", "_edit_group_", true); + undo_redo->add_undo_method(canvas_item, "remove_meta", "_edit_group_"); + undo_redo->add_do_method(this, "emit_signal", "item_group_status_changed"); + undo_redo->add_undo_method(this, "emit_signal", "item_group_status_changed"); } - viewport->update(); + undo_redo->add_do_method(viewport, "update", Variant()); + undo_redo->add_undo_method(viewport, "update", Variant()); + undo_redo->commit_action(); } break; case UNGROUP_SELECTED: { + undo_redo->create_action(TTR("Ungroup Selected")); + List<Node *> selection = editor_selection->get_selected_node_list(); for (List<Node *>::Element *E = selection.front(); E; E = E->next()) { CanvasItem *canvas_item = Object::cast_to<CanvasItem>(E->get()); @@ -3961,10 +3986,14 @@ void CanvasItemEditor::_popup_callback(int p_op) { if (canvas_item->get_viewport() != EditorNode::get_singleton()->get_scene_root()) continue; - canvas_item->set_meta("_edit_group_", Variant()); - emit_signal("item_group_status_changed"); + undo_redo->add_do_method(canvas_item, "remove_meta", "_edit_group_"); + undo_redo->add_undo_method(canvas_item, "set_meta", "_edit_group_", true); + undo_redo->add_do_method(this, "emit_signal", "item_group_status_changed"); + undo_redo->add_undo_method(this, "emit_signal", "item_group_status_changed"); } - viewport->update(); + undo_redo->add_do_method(viewport, "update", Variant()); + undo_redo->add_undo_method(viewport, "update", Variant()); + undo_redo->commit_action(); } break; case ANCHORS_AND_MARGINS_PRESET_TOP_LEFT: { _set_anchors_and_margins_preset(PRESET_TOP_LEFT); @@ -4777,6 +4806,7 @@ CanvasItemEditor::CanvasItemEditor(EditorNode *p_editor) { hb->add_child(snap_config_menu); snap_config_menu->set_h_size_flags(SIZE_SHRINK_END); snap_config_menu->set_tooltip(TTR("Snapping Options")); + snap_config_menu->set_switch_on_hover(true); PopupMenu *p = snap_config_menu->get_popup(); p->connect("id_pressed", this, "_popup_callback"); @@ -4828,6 +4858,7 @@ CanvasItemEditor::CanvasItemEditor(EditorNode *p_editor) { skeleton_menu = memnew(MenuButton); hb->add_child(skeleton_menu); skeleton_menu->set_tooltip(TTR("Skeleton Options")); + skeleton_menu->set_switch_on_hover(true); p = skeleton_menu->get_popup(); p->set_hide_on_checkable_item_selection(false); @@ -4846,8 +4877,10 @@ CanvasItemEditor::CanvasItemEditor(EditorNode *p_editor) { view_menu->set_text(TTR("View")); hb->add_child(view_menu); view_menu->get_popup()->connect("id_pressed", this, "_popup_callback"); + view_menu->set_switch_on_hover(true); p = view_menu->get_popup(); + p->set_hide_on_checkable_item_selection(false); p->add_check_shortcut(ED_SHORTCUT("canvas_item_editor/show_grid", TTR("Show Grid"), KEY_G), SHOW_GRID); p->add_check_shortcut(ED_SHORTCUT("canvas_item_editor/show_helpers", TTR("Show Helpers"), KEY_H), SHOW_HELPERS); p->add_check_shortcut(ED_SHORTCUT("canvas_item_editor/show_rulers", TTR("Show Rulers"), KEY_R), SHOW_RULERS); @@ -4866,6 +4899,7 @@ CanvasItemEditor::CanvasItemEditor(EditorNode *p_editor) { presets_menu->set_text(TTR("Layout")); hb->add_child(presets_menu); presets_menu->hide(); + presets_menu->set_switch_on_hover(true); p = presets_menu->get_popup(); p->connect("id_pressed", this, "_popup_callback"); @@ -4923,6 +4957,7 @@ CanvasItemEditor::CanvasItemEditor(EditorNode *p_editor) { animation_menu->set_text(TTR("Animation")); animation_hb->add_child(animation_menu); animation_menu->get_popup()->connect("id_pressed", this, "_popup_callback"); + animation_menu->set_switch_on_hover(true); p = animation_menu->get_popup(); diff --git a/editor/plugins/cpu_particles_2d_editor_plugin.cpp b/editor/plugins/cpu_particles_2d_editor_plugin.cpp index 559558cdb8..1622ce17b2 100644 --- a/editor/plugins/cpu_particles_2d_editor_plugin.cpp +++ b/editor/plugins/cpu_particles_2d_editor_plugin.cpp @@ -267,6 +267,7 @@ CPUParticles2DEditorPlugin::CPUParticles2DEditorPlugin(EditorNode *p_node) { menu->get_popup()->add_item(TTR("Load Emission Mask"), MENU_LOAD_EMISSION_MASK); // menu->get_popup()->add_item(TTR("Clear Emission Mask"), MENU_CLEAR_EMISSION_MASK); menu->set_text(TTR("Particles")); + menu->set_switch_on_hover(true); toolbar->add_child(menu); file = memnew(EditorFileDialog); diff --git a/editor/plugins/cpu_particles_editor_plugin.cpp b/editor/plugins/cpu_particles_editor_plugin.cpp index 7222525dd7..70be9b95bb 100644 --- a/editor/plugins/cpu_particles_editor_plugin.cpp +++ b/editor/plugins/cpu_particles_editor_plugin.cpp @@ -101,6 +101,7 @@ CPUParticlesEditor::CPUParticlesEditor() { particles_editor_hb = memnew(HBoxContainer); SpatialEditor::get_singleton()->add_control_to_menu_panel(particles_editor_hb); options = memnew(MenuButton); + options->set_switch_on_hover(true); particles_editor_hb->add_child(options); particles_editor_hb->hide(); diff --git a/editor/plugins/curve_editor_plugin.cpp b/editor/plugins/curve_editor_plugin.cpp index 3d76b5da21..2c0dd5f1db 100644 --- a/editor/plugins/curve_editor_plugin.cpp +++ b/editor/plugins/curve_editor_plugin.cpp @@ -194,7 +194,7 @@ void CurveEditor::on_gui_input(const Ref<InputEvent> &p_event) { Vector2 dir = (control_pos - point_pos).normalized(); real_t tangent; - if (Math::abs(dir.x) > CMP_EPSILON) + if (!Math::is_zero_approx(dir.x)) tangent = dir.y / dir.x; else tangent = 9999 * (dir.y >= 0 ? 1 : -1); diff --git a/editor/plugins/mesh_instance_editor_plugin.cpp b/editor/plugins/mesh_instance_editor_plugin.cpp index cf111dc4ce..635b934333 100644 --- a/editor/plugins/mesh_instance_editor_plugin.cpp +++ b/editor/plugins/mesh_instance_editor_plugin.cpp @@ -412,6 +412,7 @@ void MeshInstanceEditor::_bind_methods() { MeshInstanceEditor::MeshInstanceEditor() { options = memnew(MenuButton); + options->set_switch_on_hover(true); SpatialEditor::get_singleton()->add_control_to_menu_panel(options); options->set_text(TTR("Mesh")); diff --git a/editor/plugins/multimesh_editor_plugin.cpp b/editor/plugins/multimesh_editor_plugin.cpp index 8ff6080443..fc0a425bfc 100644 --- a/editor/plugins/multimesh_editor_plugin.cpp +++ b/editor/plugins/multimesh_editor_plugin.cpp @@ -293,6 +293,7 @@ void MultiMeshEditor::_bind_methods() { MultiMeshEditor::MultiMeshEditor() { options = memnew(MenuButton); + options->set_switch_on_hover(true); SpatialEditor::get_singleton()->add_control_to_menu_panel(options); options->set_text("MultiMesh"); diff --git a/editor/plugins/particles_2d_editor_plugin.cpp b/editor/plugins/particles_2d_editor_plugin.cpp index 70d4919e9f..50bdf4512b 100644 --- a/editor/plugins/particles_2d_editor_plugin.cpp +++ b/editor/plugins/particles_2d_editor_plugin.cpp @@ -375,6 +375,7 @@ Particles2DEditorPlugin::Particles2DEditorPlugin(EditorNode *p_node) { menu->get_popup()->add_separator(); menu->get_popup()->add_item(TTR("Convert to CPUParticles"), MENU_OPTION_CONVERT_TO_CPU_PARTICLES); menu->set_text(TTR("Particles")); + menu->set_switch_on_hover(true); toolbar->add_child(menu); file = memnew(EditorFileDialog); diff --git a/editor/plugins/particles_editor_plugin.cpp b/editor/plugins/particles_editor_plugin.cpp index 0032850535..09180edf2a 100644 --- a/editor/plugins/particles_editor_plugin.cpp +++ b/editor/plugins/particles_editor_plugin.cpp @@ -454,6 +454,7 @@ ParticlesEditor::ParticlesEditor() { particles_editor_hb = memnew(HBoxContainer); SpatialEditor::get_singleton()->add_control_to_menu_panel(particles_editor_hb); options = memnew(MenuButton); + options->set_switch_on_hover(true); particles_editor_hb->add_child(options); particles_editor_hb->hide(); diff --git a/editor/plugins/polygon_2d_editor_plugin.cpp b/editor/plugins/polygon_2d_editor_plugin.cpp index af43f679fd..712b1a0ae4 100644 --- a/editor/plugins/polygon_2d_editor_plugin.cpp +++ b/editor/plugins/polygon_2d_editor_plugin.cpp @@ -1060,8 +1060,7 @@ void Polygon2DEditor::_uv_draw() { polygon_fill_color.push_back(pf); } Color prev_color = Color(0.5, 0.5, 0.5); - Rect2 rect(Point2(), mtx.basis_xform(base_tex->get_size())); - rect.expand_to(mtx.basis_xform(uv_edit_draw->get_size())); + Rect2 rect; int uv_draw_max = uvs.size(); @@ -1204,7 +1203,8 @@ void Polygon2DEditor::_uv_draw() { uv_edit_draw->draw_circle(bone_paint_pos, bone_paint_radius->get_value() * EDSCALE, Color(1, 1, 1, 0.1)); } - rect = rect.grow(200); + rect.position -= uv_edit_draw->get_size(); + rect.size += uv_edit_draw->get_size() * 2.0; updating_uv_scroll = true; uv_hscroll->set_min(rect.position.x); uv_hscroll->set_max(rect.position.x + rect.size.x); diff --git a/editor/plugins/script_editor_plugin.cpp b/editor/plugins/script_editor_plugin.cpp index 4e992db735..0982da784f 100644 --- a/editor/plugins/script_editor_plugin.cpp +++ b/editor/plugins/script_editor_plugin.cpp @@ -312,6 +312,38 @@ void ScriptEditor::_goto_script_line(REF p_script, int p_line) { } } +void ScriptEditor::_set_execution(REF p_script, int p_line) { + Ref<Script> script = Object::cast_to<Script>(*p_script); + if (script.is_valid() && (script->has_source_code() || script->get_path().is_resource_file())) { + for (int i = 0; i < tab_container->get_child_count(); i++) { + + ScriptEditorBase *se = Object::cast_to<ScriptEditorBase>(tab_container->get_child(i)); + if (!se) + continue; + + if ((script != NULL && se->get_edited_resource() == p_script) || se->get_edited_resource()->get_path() == script->get_path()) { + se->set_executing_line(p_line); + } + } + } +} + +void ScriptEditor::_clear_execution(REF p_script) { + Ref<Script> script = Object::cast_to<Script>(*p_script); + if (script.is_valid() && (script->has_source_code() || script->get_path().is_resource_file())) { + for (int i = 0; i < tab_container->get_child_count(); i++) { + + ScriptEditorBase *se = Object::cast_to<ScriptEditorBase>(tab_container->get_child(i)); + if (!se) + continue; + + if ((script != NULL && se->get_edited_resource() == p_script) || se->get_edited_resource()->get_path() == script->get_path()) { + se->clear_executing_line(); + } + } + } +} + ScriptEditorBase *ScriptEditor::_get_current_editor() const { int selected = tab_container->get_current_tab(); @@ -1801,6 +1833,16 @@ void ScriptEditor::_update_script_names() { _update_script_colors(); } +void ScriptEditor::_update_script_connections() { + for (int i = 0; i < tab_container->get_child_count(); i++) { + ScriptTextEditor *ste = Object::cast_to<ScriptTextEditor>(tab_container->get_child(i)); + if (!ste) { + continue; + } + ste->_update_connected_methods(); + } +} + Ref<TextFile> ScriptEditor::_load_text_file(const String &p_path, Error *r_error) { if (r_error) { *r_error = ERR_FILE_CANT_OPEN; @@ -2203,6 +2245,7 @@ void ScriptEditor::_tree_changed() { waiting_update_names = true; call_deferred("_update_script_names"); + call_deferred("_update_script_connections"); } void ScriptEditor::_script_split_dragged(float) { @@ -2482,22 +2525,39 @@ void ScriptEditor::set_window_layout(Ref<ConfigFile> p_layout) { for (int i = 0; i < scripts.size(); i++) { String path = scripts[i]; + + Dictionary script_info = scripts[i]; + if (!script_info.empty()) { + path = script_info["path"]; + } + if (!FileAccess::exists(path)) continue; if (extensions.find(path.get_extension())) { Ref<Script> scr = ResourceLoader::load(path); - if (scr.is_valid()) { - edit(scr); + if (!scr.is_valid()) { + continue; + } + if (!edit(scr)) { + continue; + } + } else { + Error error; + Ref<TextFile> text_file = _load_text_file(path, &error); + if (error != OK || !text_file.is_valid()) { + continue; + } + if (!edit(text_file)) { continue; } } - Error error; - Ref<TextFile> text_file = _load_text_file(path, &error); - if (error == OK && text_file.is_valid()) { - edit(text_file); - continue; + if (!script_info.empty()) { + ScriptEditorBase *se = Object::cast_to<ScriptEditorBase>(tab_container->get_child(tab_container->get_tab_count() - 1)); + if (se) { + se->set_edit_state(script_info["state"]); + } } } @@ -2537,7 +2597,11 @@ void ScriptEditor::get_window_layout(Ref<ConfigFile> p_layout) { if (!path.is_resource_file()) continue; - scripts.push_back(path); + Dictionary script_info; + script_info["path"] = path; + script_info["state"] = se->get_edit_state(); + + scripts.push_back(script_info); } EditorHelp *eh = Object::cast_to<EditorHelp>(tab_container->get_child(i)); @@ -2846,6 +2910,8 @@ void ScriptEditor::_bind_methods() { ClassDB::bind_method("_res_saved_callback", &ScriptEditor::_res_saved_callback); ClassDB::bind_method("_goto_script_line", &ScriptEditor::_goto_script_line); ClassDB::bind_method("_goto_script_line2", &ScriptEditor::_goto_script_line2); + ClassDB::bind_method("_set_execution", &ScriptEditor::_set_execution); + ClassDB::bind_method("_clear_execution", &ScriptEditor::_clear_execution); ClassDB::bind_method("_help_search", &ScriptEditor::_help_search); ClassDB::bind_method("_save_history", &ScriptEditor::_save_history); ClassDB::bind_method("_copy_script_path", &ScriptEditor::_copy_script_path); @@ -2856,6 +2922,7 @@ void ScriptEditor::_bind_methods() { ClassDB::bind_method("_autosave_scripts", &ScriptEditor::_autosave_scripts); ClassDB::bind_method("_editor_settings_changed", &ScriptEditor::_editor_settings_changed); ClassDB::bind_method("_update_script_names", &ScriptEditor::_update_script_names); + ClassDB::bind_method("_update_script_connections", &ScriptEditor::_update_script_connections); ClassDB::bind_method("_tree_changed", &ScriptEditor::_tree_changed); ClassDB::bind_method("_members_overview_selected", &ScriptEditor::_members_overview_selected); ClassDB::bind_method("_help_overview_selected", &ScriptEditor::_help_overview_selected); @@ -3136,6 +3203,8 @@ ScriptEditor::ScriptEditor(EditorNode *p_editor) { debugger = memnew(ScriptEditorDebugger(editor)); debugger->connect("goto_script_line", this, "_goto_script_line"); + debugger->connect("set_execution", this, "_set_execution"); + debugger->connect("clear_execution", this, "_clear_execution"); debugger->connect("show_debugger", this, "_show_debugger"); disk_changed = memnew(ConfirmationDialog); diff --git a/editor/plugins/script_editor_plugin.h b/editor/plugins/script_editor_plugin.h index 954b014935..a17fed1e06 100644 --- a/editor/plugins/script_editor_plugin.h +++ b/editor/plugins/script_editor_plugin.h @@ -96,6 +96,8 @@ public: virtual Variant get_edit_state() = 0; virtual void set_edit_state(const Variant &p_state) = 0; virtual void goto_line(int p_line, bool p_with_error = false) = 0; + virtual void set_executing_line(int p_line) = 0; + virtual void clear_executing_line() = 0; virtual void trim_trailing_whitespace() = 0; virtual void convert_indent_to_spaces() = 0; virtual void convert_indent_to_tabs() = 0; @@ -318,6 +320,8 @@ class ScriptEditor : public PanelContainer { void _goto_script_line2(int p_line); void _goto_script_line(REF p_script, int p_line); + void _set_execution(REF p_script, int p_line); + void _clear_execution(REF p_script); void _breaked(bool p_breaked, bool p_can_debug); void _show_debugger(bool p_show); void _update_window_menu(); @@ -333,6 +337,7 @@ class ScriptEditor : public PanelContainer { void _update_members_overview(); void _toggle_members_overview_alpha_sort(bool p_alphabetic_sort); void _update_script_names(); + void _update_script_connections(); bool _sort_list_on_update; void _members_overview_selected(int p_idx); diff --git a/editor/plugins/script_text_editor.cpp b/editor/plugins/script_text_editor.cpp index c586985957..d40e67cc8c 100644 --- a/editor/plugins/script_text_editor.cpp +++ b/editor/plugins/script_text_editor.cpp @@ -35,6 +35,76 @@ #include "editor/editor_settings.h" #include "editor/script_editor_debugger.h" +void ConnectionInfoDialog::ok_pressed() { +} + +void ConnectionInfoDialog::popup_connections(String p_method, Vector<Node *> p_nodes) { + method->set_text(p_method); + + tree->clear(); + TreeItem *root = tree->create_item(); + + for (int i = 0; i < p_nodes.size(); i++) { + List<Connection> all_connections; + p_nodes[i]->get_signals_connected_to_this(&all_connections); + + for (List<Connection>::Element *E = all_connections.front(); E; E = E->next()) { + Connection connection = E->get(); + + if (connection.method != p_method) { + continue; + } + + TreeItem *node_item = tree->create_item(root); + + node_item->set_text(0, Object::cast_to<Node>(connection.source)->get_name()); + node_item->set_icon(0, EditorNode::get_singleton()->get_object_icon(connection.source, "Node")); + node_item->set_selectable(0, false); + node_item->set_editable(0, false); + + node_item->set_text(1, connection.signal); + node_item->set_icon(1, get_parent_control()->get_icon("Slot", "EditorIcons")); + node_item->set_selectable(1, false); + node_item->set_editable(1, false); + + node_item->set_text(2, Object::cast_to<Node>(connection.target)->get_name()); + node_item->set_icon(2, EditorNode::get_singleton()->get_object_icon(connection.target, "Node")); + node_item->set_selectable(2, false); + node_item->set_editable(2, false); + } + } + + popup_centered(Size2(400, 300) * EDSCALE); +} + +ConnectionInfoDialog::ConnectionInfoDialog() { + set_title(TTR("Connections to method:")); + + VBoxContainer *vbc = memnew(VBoxContainer); + vbc->set_anchor_and_margin(MARGIN_LEFT, ANCHOR_BEGIN, 8 * EDSCALE); + vbc->set_anchor_and_margin(MARGIN_TOP, ANCHOR_BEGIN, 8 * EDSCALE); + vbc->set_anchor_and_margin(MARGIN_RIGHT, ANCHOR_END, -8 * EDSCALE); + vbc->set_anchor_and_margin(MARGIN_BOTTOM, ANCHOR_END, -8 * EDSCALE); + add_child(vbc); + + method = memnew(Label); + method->set_align(Label::ALIGN_CENTER); + vbc->add_child(method); + + tree = memnew(Tree); + tree->set_columns(3); + tree->set_hide_root(true); + tree->set_column_titles_visible(true); + tree->set_column_title(0, TTR("Source")); + tree->set_column_title(1, TTR("Signal")); + tree->set_column_title(2, TTR("Target")); + vbc->add_child(tree); + tree->set_v_size_flags(SIZE_EXPAND_FILL); + tree->set_allow_rmb_select(true); +} + +//////////////////////////////////////////////////////////////////////////////// + Vector<String> ScriptTextEditor::get_functions() { String errortxt; @@ -144,6 +214,7 @@ void ScriptTextEditor::_load_theme_settings() { Color member_variable_color = EDITOR_GET("text_editor/highlighting/member_variable_color"); Color mark_color = EDITOR_GET("text_editor/highlighting/mark_color"); Color breakpoint_color = EDITOR_GET("text_editor/highlighting/breakpoint_color"); + Color executing_line_color = EDITOR_GET("text_editor/highlighting/executing_line_color"); Color code_folding_color = EDITOR_GET("text_editor/highlighting/code_folding_color"); Color search_result_color = EDITOR_GET("text_editor/highlighting/search_result_color"); Color search_result_border_color = EDITOR_GET("text_editor/highlighting/search_result_border_color"); @@ -175,6 +246,7 @@ void ScriptTextEditor::_load_theme_settings() { text_edit->add_color_override("function_color", function_color); text_edit->add_color_override("member_variable_color", member_variable_color); text_edit->add_color_override("breakpoint_color", breakpoint_color); + text_edit->add_color_override("executing_line_color", executing_line_color); text_edit->add_color_override("mark_color", mark_color); text_edit->add_color_override("code_folding_color", code_folding_color); text_edit->add_color_override("search_result_color", search_result_color); @@ -320,7 +392,6 @@ void ScriptTextEditor::_notification(int p_what) { switch (p_what) { case NOTIFICATION_READY: _load_theme_settings(); - _change_syntax_highlighter(EditorSettings::get_singleton()->get_project_metadata("script_text_editor", "syntax_highlighter", 0)); break; } } @@ -365,6 +436,14 @@ Variant ScriptTextEditor::get_edit_state() { void ScriptTextEditor::set_edit_state(const Variant &p_state) { code_editor->set_edit_state(p_state); + + Dictionary state = p_state; + if (state.has("syntax_highlighter")) { + int idx = highlighter_menu->get_item_idx_from_text(state["syntax_highlighter"]); + if (idx >= 0) { + _change_syntax_highlighter(idx); + } + } } void ScriptTextEditor::_convert_case(CodeTextEditor::CaseStyle p_case) { @@ -402,6 +481,14 @@ void ScriptTextEditor::goto_line_selection(int p_line, int p_begin, int p_end) { code_editor->goto_line_selection(p_line, p_begin, p_end); } +void ScriptTextEditor::set_executing_line(int p_line) { + code_editor->set_executing_line(p_line); +} + +void ScriptTextEditor::clear_executing_line() { + code_editor->clear_executing_line(); +} + void ScriptTextEditor::ensure_focus() { code_editor->get_text_edit()->grab_focus(); @@ -463,9 +550,32 @@ void ScriptTextEditor::_validate_script() { functions.push_back(E->get()); } } + _update_connected_methods(); - code_editor->set_warning_nb(warnings.size()); + code_editor->set_warning_nb(missing_connections.size() + warnings.size()); warnings_panel->clear(); + + // add missing connections + Node *base = get_tree()->get_edited_scene_root(); + if (base && missing_connections.size() > 0) { + warnings_panel->push_table(1); + for (List<Connection>::Element *E = missing_connections.front(); E; E = E->next()) { + Connection connection = E->get(); + + String base_path = base->get_name(); + String source_path = base == connection.source ? base_path : base_path + "/" + String(base->get_path_to(Object::cast_to<Node>(connection.source))); + String target_path = base == connection.target ? base_path : base_path + "/" + String(base->get_path_to(Object::cast_to<Node>(connection.target))); + + warnings_panel->push_cell(); + warnings_panel->push_color(warnings_panel->get_color("warning_color", "Editor")); + warnings_panel->add_text(vformat(TTR("Missing connected method '%s' for signal '%s' from node '%s' to node '%s'"), connection.method, connection.signal, source_path, target_path)); + warnings_panel->pop(); // Color + warnings_panel->pop(); // Cell + } + warnings_panel->pop(); // Table + } + + // add script warnings warnings_panel->push_table(3); for (List<ScriptLanguage::Warning>::Element *E = warnings.front(); E; E = E->next()) { ScriptLanguage::Warning w = E->get(); @@ -519,6 +629,27 @@ void ScriptTextEditor::_validate_script() { emit_signal("edited_script_changed"); } +static Vector<Node *> _find_all_node_for_script(Node *p_base, Node *p_current, const Ref<Script> &p_script) { + + Vector<Node *> nodes; + + if (p_current->get_owner() != p_base && p_base != p_current) { + return nodes; + } + + Ref<Script> c = p_current->get_script(); + if (c == p_script) { + nodes.push_back(p_current); + } + + for (int i = 0; i < p_current->get_child_count(); i++) { + Vector<Node *> found = _find_all_node_for_script(p_base, p_current->get_child(i), p_script); + nodes.append_array(found); + } + + return nodes; +} + static Node *_find_node_for_script(Node *p_base, Node *p_current, const Ref<Script> &p_script) { if (p_current->get_owner() != p_base && p_base != p_current) @@ -714,6 +845,47 @@ void ScriptTextEditor::_lookup_symbol(const String &p_symbol, int p_row, int p_c } } +void ScriptTextEditor::_update_connected_methods() { + TextEdit *text_edit = code_editor->get_text_edit(); + text_edit->clear_info_icons(); + missing_connections.clear(); + + Node *base = get_tree()->get_edited_scene_root(); + if (!base) { + return; + } + + Vector<Node *> nodes = _find_all_node_for_script(base, base, script); + for (int i = 0; i < nodes.size(); i++) { + List<Connection> connections; + nodes[i]->get_signals_connected_to_this(&connections); + + for (List<Connection>::Element *E = connections.front(); E; E = E->next()) { + Connection connection = E->get(); + if (!(connection.flags & CONNECT_PERSIST)) { + continue; + } + + int line = script->get_language()->find_function(connection.method, text_edit->get_text()); + if (line < 0) { + missing_connections.push_back(connection); + continue; + } + text_edit->set_line_info_icon(line - 1, get_parent_control()->get_icon("Slot", "EditorIcons"), connection.method); + } + } +} + +void ScriptTextEditor::_lookup_connections(int p_row, String p_method) { + Node *base = get_tree()->get_edited_scene_root(); + if (!base) { + return; + } + + Vector<Node *> nodes = _find_all_node_for_script(base, base, script); + connection_info_dialog->popup_connections(p_method, nodes); +} + void ScriptTextEditor::_edit_option(int p_op) { TextEdit *tx = code_editor->get_text_edit(); @@ -1026,7 +1198,6 @@ void ScriptTextEditor::_change_syntax_highlighter(int p_idx) { } // highlighter_menu->set_item_checked(p_idx, true); set_syntax_highlighter(highlighters[highlighter_menu->get_item_text(p_idx)]); - EditorSettings::get_singleton()->set_project_metadata("script_text_editor", "syntax_highlighter", p_idx); } void ScriptTextEditor::_bind_methods() { @@ -1034,6 +1205,8 @@ void ScriptTextEditor::_bind_methods() { ClassDB::bind_method("_validate_script", &ScriptTextEditor::_validate_script); ClassDB::bind_method("_load_theme_settings", &ScriptTextEditor::_load_theme_settings); ClassDB::bind_method("_breakpoint_toggled", &ScriptTextEditor::_breakpoint_toggled); + ClassDB::bind_method("_lookup_connections", &ScriptTextEditor::_lookup_connections); + ClassDB::bind_method("_update_connected_methods", &ScriptTextEditor::_update_connected_methods); ClassDB::bind_method("_change_syntax_highlighter", &ScriptTextEditor::_change_syntax_highlighter); ClassDB::bind_method("_edit_option", &ScriptTextEditor::_edit_option); ClassDB::bind_method("_goto_line", &ScriptTextEditor::_goto_line); @@ -1366,6 +1539,7 @@ ScriptTextEditor::ScriptTextEditor() { code_editor->set_code_complete_func(_code_complete_scripts, this); code_editor->get_text_edit()->connect("breakpoint_toggled", this, "_breakpoint_toggled"); code_editor->get_text_edit()->connect("symbol_lookup", this, "_lookup_symbol"); + code_editor->get_text_edit()->connect("info_clicked", this, "_lookup_connections"); code_editor->set_v_size_flags(SIZE_EXPAND_FILL); warnings_panel = memnew(RichTextLabel); @@ -1486,6 +1660,9 @@ ScriptTextEditor::ScriptTextEditor() { goto_line_dialog = memnew(GotoLineDialog); add_child(goto_line_dialog); + connection_info_dialog = memnew(ConnectionInfoDialog); + add_child(connection_info_dialog); + code_editor->get_text_edit()->set_drag_forwarding(this); } diff --git a/editor/plugins/script_text_editor.h b/editor/plugins/script_text_editor.h index b081a31c18..0dbc884594 100644 --- a/editor/plugins/script_text_editor.h +++ b/editor/plugins/script_text_editor.h @@ -32,8 +32,25 @@ #define SCRIPT_TEXT_EDITOR_H #include "scene/gui/color_picker.h" +#include "scene/gui/dialogs.h" +#include "scene/gui/tree.h" #include "script_editor_plugin.h" +class ConnectionInfoDialog : public AcceptDialog { + + GDCLASS(ConnectionInfoDialog, AcceptDialog); + + Label *method; + Tree *tree; + + virtual void ok_pressed(); + +public: + void popup_connections(String p_method, Vector<Node *> p_nodes); + + ConnectionInfoDialog(); +}; + class ScriptTextEditor : public ScriptEditorBase { GDCLASS(ScriptTextEditor, ScriptEditorBase); @@ -45,6 +62,8 @@ class ScriptTextEditor : public ScriptEditorBase { Vector<String> functions; + List<Connection> missing_connections; + Vector<String> member_keywords; HBoxContainer *edit_hb; @@ -56,6 +75,7 @@ class ScriptTextEditor : public ScriptEditorBase { GotoLineDialog *goto_line_dialog; ScriptEditorQuickOpen *quick_open; + ConnectionInfoDialog *connection_info_dialog; PopupPanel *color_panel; ColorPicker *color_picker; @@ -144,6 +164,8 @@ protected: void _goto_line(int p_line) { goto_line(p_line); } void _lookup_symbol(const String &p_symbol, int p_row, int p_column); + void _lookup_connections(int p_row, String p_method); + void _convert_case(CodeTextEditor::CaseStyle p_case); Variant get_drag_data_fw(const Point2 &p_point, Control *p_from); @@ -151,6 +173,8 @@ protected: void drop_data_fw(const Point2 &p_point, const Variant &p_data, Control *p_from); public: + void _update_connected_methods(); + virtual void add_syntax_highlighter(SyntaxHighlighter *p_highlighter); virtual void set_syntax_highlighter(SyntaxHighlighter *p_highlighter); @@ -172,6 +196,8 @@ public: virtual void goto_line(int p_line, bool p_with_error = false); void goto_line_selection(int p_line, int p_begin, int p_end); + virtual void set_executing_line(int p_line); + virtual void clear_executing_line(); virtual void reload(bool p_soft); virtual void get_breakpoints(List<int> *p_breakpoints); diff --git a/editor/plugins/shader_editor_plugin.cpp b/editor/plugins/shader_editor_plugin.cpp index d39e521113..31660a9e19 100644 --- a/editor/plugins/shader_editor_plugin.cpp +++ b/editor/plugins/shader_editor_plugin.cpp @@ -85,6 +85,7 @@ void ShaderTextEditor::_load_theme_settings() { Color member_variable_color = EDITOR_GET("text_editor/highlighting/member_variable_color"); Color mark_color = EDITOR_GET("text_editor/highlighting/mark_color"); Color breakpoint_color = EDITOR_GET("text_editor/highlighting/breakpoint_color"); + Color executing_line_color = EDITOR_GET("text_editor/highlighting/executing_line_color"); Color code_folding_color = EDITOR_GET("text_editor/highlighting/code_folding_color"); Color search_result_color = EDITOR_GET("text_editor/highlighting/search_result_color"); Color search_result_border_color = EDITOR_GET("text_editor/highlighting/search_result_border_color"); @@ -113,6 +114,7 @@ void ShaderTextEditor::_load_theme_settings() { get_text_edit()->add_color_override("member_variable_color", member_variable_color); get_text_edit()->add_color_override("mark_color", mark_color); get_text_edit()->add_color_override("breakpoint_color", breakpoint_color); + get_text_edit()->add_color_override("executing_line_color", executing_line_color); get_text_edit()->add_color_override("code_folding_color", code_folding_color); get_text_edit()->add_color_override("search_result_color", search_result_color); get_text_edit()->add_color_override("search_result_border_color", search_result_border_color); diff --git a/editor/plugins/skeleton_2d_editor_plugin.cpp b/editor/plugins/skeleton_2d_editor_plugin.cpp index ef3e17279c..0ccb60e39e 100644 --- a/editor/plugins/skeleton_2d_editor_plugin.cpp +++ b/editor/plugins/skeleton_2d_editor_plugin.cpp @@ -108,6 +108,7 @@ Skeleton2DEditor::Skeleton2DEditor() { options->get_popup()->add_item(TTR("Make Rest Pose (From Bones)"), MENU_OPTION_MAKE_REST); options->get_popup()->add_separator(); options->get_popup()->add_item(TTR("Set Bones to Rest Pose"), MENU_OPTION_SET_REST); + options->set_switch_on_hover(true); options->get_popup()->connect("id_pressed", this, "_menu_option"); diff --git a/editor/plugins/spatial_editor_plugin.cpp b/editor/plugins/spatial_editor_plugin.cpp index ba297539d3..5a733f6509 100644 --- a/editor/plugins/spatial_editor_plugin.cpp +++ b/editor/plugins/spatial_editor_plugin.cpp @@ -269,11 +269,21 @@ void SpatialEditorViewport::_select_clicked(bool p_append, bool p_single) { if (!clicked) return; - Spatial *sp = Object::cast_to<Spatial>(ObjectDB::get_instance(clicked)); - if (!sp) + Node *node = Object::cast_to<Node>(ObjectDB::get_instance(clicked)); + Spatial *selected = Object::cast_to<Spatial>(node); + if (!selected) return; - _select(sp, clicked_wants_append, true); + // Replace the node by the group if grouped + while (node && node != editor->get_edited_scene()->get_parent()) { + Spatial *selected_tmp = Object::cast_to<Spatial>(node); + if (selected_tmp && node->has_meta("_edit_group_")) { + selected = selected_tmp; + } + node = node->get_parent(); + } + + _select(selected, clicked_wants_append, true); } void SpatialEditorViewport::_select(Node *p_node, bool p_append, bool p_single) { @@ -511,6 +521,19 @@ void SpatialEditorViewport::_select_region() { item = item->get_owner(); } + // Replace the node by the group if grouped + if (item->is_class("Spatial")) { + Spatial *sel = Object::cast_to<Spatial>(item); + while (item && item != editor->get_edited_scene()->get_parent()) { + Spatial *selected_tmp = Object::cast_to<Spatial>(item); + if (selected_tmp && item->has_meta("_edit_group_")) { + sel = selected_tmp; + } + item = item->get_parent(); + } + item = sel; + } + if (selected.find(item) != -1) continue; Ref<EditorSpatialGizmo> seg = sp->get_gizmo(); @@ -1827,7 +1850,7 @@ void SpatialEditorViewport::_sinput(const Ref<InputEvent> &p_event) { if (!sp) continue; - emit_signal("transform_key_request", sp, "", sp->get_transform()); + spatial_editor->emit_signal("transform_key_request", sp, "", sp->get_transform()); } set_message(TTR("Animation Key Inserted.")); @@ -2450,7 +2473,7 @@ void SpatialEditorViewport::_draw() { real_t max_speed = camera->get_zfar(); real_t scale_length = (max_speed - min_speed); - if (Math::abs(scale_length) > CMP_EPSILON) { + if (!Math::is_zero_approx(scale_length)) { real_t logscale_t = 1.0 - Math::log(1 + freelook_speed - min_speed) / Math::log(1 + scale_length); // There is no real maximum speed so that factor can become negative, @@ -2468,7 +2491,7 @@ void SpatialEditorViewport::_draw() { real_t max_distance = camera->get_zfar(); real_t scale_length = (max_distance - min_distance); - if (Math::abs(scale_length) > CMP_EPSILON) { + if (!Math::is_zero_approx(scale_length)) { real_t logscale_t = 1.0 - Math::log(1 + cursor.distance - min_distance) / Math::log(1 + scale_length); // There is no real maximum distance so that factor can become negative, @@ -4492,6 +4515,7 @@ void SpatialEditor::_menu_item_pressed(int p_option) { snap_selected_nodes_to_floor(); } break; case MENU_LOCK_SELECTED: { + undo_redo->create_action(TTR("Lock Selected")); List<Node *> &selection = editor_selection->get_selected_node_list(); @@ -4504,13 +4528,42 @@ void SpatialEditor::_menu_item_pressed(int p_option) { if (spatial->get_viewport() != EditorNode::get_singleton()->get_scene_root()) continue; - spatial->set_meta("_edit_lock_", true); - emit_signal("item_lock_status_changed"); + undo_redo->add_do_method(spatial, "set_meta", "_edit_lock_", true); + undo_redo->add_undo_method(spatial, "remove_meta", "_edit_lock_"); + undo_redo->add_do_method(this, "emit_signal", "item_lock_status_changed"); + undo_redo->add_undo_method(this, "emit_signal", "item_lock_status_changed"); } - _refresh_menu_icons(); + undo_redo->add_do_method(this, "_refresh_menu_icons", Variant()); + undo_redo->add_undo_method(this, "_refresh_menu_icons", Variant()); + undo_redo->commit_action(); } break; case MENU_UNLOCK_SELECTED: { + undo_redo->create_action(TTR("Unlock Selected")); + + List<Node *> &selection = editor_selection->get_selected_node_list(); + + for (List<Node *>::Element *E = selection.front(); E; E = E->next()) { + + Spatial *spatial = Object::cast_to<Spatial>(E->get()); + if (!spatial || !spatial->is_visible_in_tree()) + continue; + + if (spatial->get_viewport() != EditorNode::get_singleton()->get_scene_root()) + continue; + + undo_redo->add_do_method(spatial, "remove_meta", "_edit_lock_"); + undo_redo->add_undo_method(spatial, "set_meta", "_edit_lock_", true); + undo_redo->add_do_method(this, "emit_signal", "item_lock_status_changed"); + undo_redo->add_undo_method(this, "emit_signal", "item_lock_status_changed"); + } + + undo_redo->add_do_method(this, "_refresh_menu_icons", Variant()); + undo_redo->add_undo_method(this, "_refresh_menu_icons", Variant()); + undo_redo->commit_action(); + } break; + case MENU_GROUP_SELECTED: { + undo_redo->create_action(TTR("Group Selected")); List<Node *> &selection = editor_selection->get_selected_node_list(); @@ -4523,11 +4576,38 @@ void SpatialEditor::_menu_item_pressed(int p_option) { if (spatial->get_viewport() != EditorNode::get_singleton()->get_scene_root()) continue; - spatial->set_meta("_edit_lock_", Variant()); - emit_signal("item_lock_status_changed"); + undo_redo->add_do_method(spatial, "set_meta", "_edit_group_", true); + undo_redo->add_undo_method(spatial, "remove_meta", "_edit_group_"); + undo_redo->add_do_method(this, "emit_signal", "item_group_status_changed"); + undo_redo->add_undo_method(this, "emit_signal", "item_group_status_changed"); } - _refresh_menu_icons(); + undo_redo->add_do_method(this, "_refresh_menu_icons", Variant()); + undo_redo->add_undo_method(this, "_refresh_menu_icons", Variant()); + undo_redo->commit_action(); + } break; + case MENU_UNGROUP_SELECTED: { + undo_redo->create_action(TTR("Ungroup Selected")); + List<Node *> &selection = editor_selection->get_selected_node_list(); + + for (List<Node *>::Element *E = selection.front(); E; E = E->next()) { + + Spatial *spatial = Object::cast_to<Spatial>(E->get()); + if (!spatial || !spatial->is_visible_in_tree()) + continue; + + if (spatial->get_viewport() != EditorNode::get_singleton()->get_scene_root()) + continue; + + undo_redo->add_do_method(spatial, "remove_meta", "_edit_group_"); + undo_redo->add_undo_method(spatial, "set_meta", "_edit_group_", true); + undo_redo->add_do_method(this, "emit_signal", "item_group_status_changed"); + undo_redo->add_undo_method(this, "emit_signal", "item_group_status_changed"); + } + + undo_redo->add_do_method(this, "_refresh_menu_icons", Variant()); + undo_redo->add_undo_method(this, "_refresh_menu_icons", Variant()); + undo_redo->commit_action(); } break; } } @@ -4971,11 +5051,13 @@ bool SpatialEditor::is_any_freelook_active() const { void SpatialEditor::_refresh_menu_icons() { bool all_locked = true; + bool all_grouped = true; List<Node *> &selection = editor_selection->get_selected_node_list(); if (selection.empty()) { all_locked = false; + all_grouped = false; } else { for (List<Node *>::Element *E = selection.front(); E; E = E->next()) { if (Object::cast_to<Spatial>(E->get()) && !Object::cast_to<Spatial>(E->get())->has_meta("_edit_lock_")) { @@ -4983,11 +5065,21 @@ void SpatialEditor::_refresh_menu_icons() { break; } } + for (List<Node *>::Element *E = selection.front(); E; E = E->next()) { + if (Object::cast_to<Spatial>(E->get()) && !Object::cast_to<Spatial>(E->get())->has_meta("_edit_group_")) { + all_grouped = false; + break; + } + } } tool_button[TOOL_LOCK_SELECTED]->set_visible(!all_locked); tool_button[TOOL_LOCK_SELECTED]->set_disabled(selection.empty()); tool_button[TOOL_UNLOCK_SELECTED]->set_visible(all_locked); + + tool_button[TOOL_GROUP_SELECTED]->set_visible(!all_grouped); + tool_button[TOOL_GROUP_SELECTED]->set_disabled(selection.empty()); + tool_button[TOOL_UNGROUP_SELECTED]->set_visible(all_grouped); } template <typename T> @@ -5157,6 +5249,8 @@ void SpatialEditor::_notification(int p_what) { tool_button[SpatialEditor::TOOL_MODE_LIST_SELECT]->set_icon(get_icon("ListSelect", "EditorIcons")); tool_button[SpatialEditor::TOOL_LOCK_SELECTED]->set_icon(get_icon("Lock", "EditorIcons")); tool_button[SpatialEditor::TOOL_UNLOCK_SELECTED]->set_icon(get_icon("Unlock", "EditorIcons")); + tool_button[SpatialEditor::TOOL_GROUP_SELECTED]->set_icon(get_icon("Group", "EditorIcons")); + tool_button[SpatialEditor::TOOL_UNGROUP_SELECTED]->set_icon(get_icon("Ungroup", "EditorIcons")); tool_option_button[SpatialEditor::TOOL_OPT_LOCAL_COORDS]->set_icon(get_icon("Object", "EditorIcons")); tool_option_button[SpatialEditor::TOOL_OPT_USE_SNAP]->set_icon(get_icon("Snap", "EditorIcons")); @@ -5351,6 +5445,7 @@ void SpatialEditor::_bind_methods() { ADD_SIGNAL(MethodInfo("transform_key_request")); ADD_SIGNAL(MethodInfo("item_lock_status_changed")); + ADD_SIGNAL(MethodInfo("item_group_status_changed")); } void SpatialEditor::clear() { @@ -5464,6 +5559,18 @@ SpatialEditor::SpatialEditor(EditorNode *p_editor) { tool_button[TOOL_UNLOCK_SELECTED]->connect("pressed", this, "_menu_item_pressed", button_binds); tool_button[TOOL_UNLOCK_SELECTED]->set_tooltip(TTR("Unlock the selected object (can be moved).")); + tool_button[TOOL_GROUP_SELECTED] = memnew(ToolButton); + hbc_menu->add_child(tool_button[TOOL_GROUP_SELECTED]); + button_binds.write[0] = MENU_GROUP_SELECTED; + tool_button[TOOL_GROUP_SELECTED]->connect("pressed", this, "_menu_item_pressed", button_binds); + tool_button[TOOL_GROUP_SELECTED]->set_tooltip(TTR("Makes sure the object's children are not selectable.")); + + tool_button[TOOL_UNGROUP_SELECTED] = memnew(ToolButton); + hbc_menu->add_child(tool_button[TOOL_UNGROUP_SELECTED]); + button_binds.write[0] = MENU_UNGROUP_SELECTED; + tool_button[TOOL_UNGROUP_SELECTED]->connect("pressed", this, "_menu_item_pressed", button_binds); + tool_button[TOOL_UNGROUP_SELECTED]->set_tooltip(TTR("Restores the object's children's ability to be selected.")); + hbc_menu->add_child(memnew(VSeparator)); tool_option_button[TOOL_OPT_LOCAL_COORDS] = memnew(ToolButton); @@ -5598,11 +5705,11 @@ SpatialEditor::SpatialEditor(EditorNode *p_editor) { snap_dialog_vbc->add_margin_child(TTR("Translate Snap:"), snap_translate); snap_rotate = memnew(LineEdit); - snap_rotate->set_text("5"); + snap_rotate->set_text("15"); snap_dialog_vbc->add_margin_child(TTR("Rotate Snap (deg.):"), snap_rotate); snap_scale = memnew(LineEdit); - snap_scale->set_text("5"); + snap_scale->set_text("10"); snap_dialog_vbc->add_margin_child(TTR("Scale Snap (%):"), snap_scale); /* SETTINGS DIALOG */ @@ -5760,6 +5867,39 @@ Vector3 SpatialEditor::snap_point(Vector3 p_target, Vector3 p_start) const { return p_target; } +float SpatialEditor::get_translate_snap() const { + float snap_value; + if (Input::get_singleton()->is_key_pressed(KEY_SHIFT)) { + snap_value = snap_translate->get_text().to_double() / 10.0; + } else { + snap_value = snap_translate->get_text().to_double(); + } + + return snap_value; +} + +float SpatialEditor::get_rotate_snap() const { + float snap_value; + if (Input::get_singleton()->is_key_pressed(KEY_SHIFT)) { + snap_value = snap_rotate->get_text().to_double() / 3.0; + } else { + snap_value = snap_rotate->get_text().to_double(); + } + + return snap_value; +} + +float SpatialEditor::get_scale_snap() const { + float snap_value; + if (Input::get_singleton()->is_key_pressed(KEY_SHIFT)) { + snap_value = snap_scale->get_text().to_double() / 2.0; + } else { + snap_value = snap_scale->get_text().to_double(); + } + + return snap_value; +} + void SpatialEditorPlugin::_bind_methods() { ClassDB::bind_method("snap_cursor_to_plane", &SpatialEditorPlugin::snap_cursor_to_plane); @@ -5814,7 +5954,7 @@ SpatialEditorPlugin::SpatialEditorPlugin(EditorNode *p_node) { editor->get_viewport()->add_child(spatial_editor); spatial_editor->hide(); - spatial_editor->connect("transform_key_request", editor, "_transform_keyed"); + spatial_editor->connect("transform_key_request", editor->get_inspector_dock(), "_transform_keyed"); } SpatialEditorPlugin::~SpatialEditorPlugin() { diff --git a/editor/plugins/spatial_editor_plugin.h b/editor/plugins/spatial_editor_plugin.h index 4a9d34a7f7..f3a1e657cc 100644 --- a/editor/plugins/spatial_editor_plugin.h +++ b/editor/plugins/spatial_editor_plugin.h @@ -485,6 +485,8 @@ public: TOOL_MODE_LIST_SELECT, TOOL_LOCK_SELECTED, TOOL_UNLOCK_SELECTED, + TOOL_GROUP_SELECTED, + TOOL_UNGROUP_SELECTED, TOOL_MAX }; @@ -570,6 +572,8 @@ private: MENU_VIEW_CAMERA_SETTINGS, MENU_LOCK_SELECTED, MENU_UNLOCK_SELECTED, + MENU_GROUP_SELECTED, + MENU_UNGROUP_SELECTED, MENU_SNAP_TO_FLOOR }; @@ -673,9 +677,9 @@ public: ToolMode get_tool_mode() const { return tool_mode; } bool are_local_coords_enabled() const { return tool_option_button[SpatialEditor::TOOL_OPT_LOCAL_COORDS]->is_pressed(); } bool is_snap_enabled() const { return snap_enabled ^ snap_key_enabled; } - float get_translate_snap() const { return snap_translate->get_text().to_double(); } - float get_rotate_snap() const { return snap_rotate->get_text().to_double(); } - float get_scale_snap() const { return snap_scale->get_text().to_double(); } + float get_translate_snap() const; + float get_rotate_snap() const; + float get_scale_snap() const; Ref<ArrayMesh> get_move_gizmo(int idx) const { return move_gizmo[idx]; } Ref<ArrayMesh> get_move_plane_gizmo(int idx) const { return move_plane_gizmo[idx]; } diff --git a/editor/plugins/sprite_editor_plugin.cpp b/editor/plugins/sprite_editor_plugin.cpp index fbc72b1396..7642bfaf04 100644 --- a/editor/plugins/sprite_editor_plugin.cpp +++ b/editor/plugins/sprite_editor_plugin.cpp @@ -549,6 +549,7 @@ SpriteEditor::SpriteEditor() { options->get_popup()->add_item(TTR("Convert to Polygon2D"), MENU_OPTION_CONVERT_TO_POLYGON_2D); options->get_popup()->add_item(TTR("Create CollisionPolygon2D Sibling"), MENU_OPTION_CREATE_COLLISION_POLY_2D); options->get_popup()->add_item(TTR("Create LightOccluder2D Sibling"), MENU_OPTION_CREATE_LIGHT_OCCLUDER_2D); + options->set_switch_on_hover(true); options->get_popup()->connect("id_pressed", this, "_menu_option"); diff --git a/editor/plugins/sprite_frames_editor_plugin.cpp b/editor/plugins/sprite_frames_editor_plugin.cpp index 33b8347f94..6edd19901b 100644 --- a/editor/plugins/sprite_frames_editor_plugin.cpp +++ b/editor/plugins/sprite_frames_editor_plugin.cpp @@ -59,7 +59,7 @@ void SpriteFramesEditor::_sheet_preview_draw() { for (int j = 1; j < v; j++) { int x = i * size.width / h; - int y = i * size.height / v; + int y = j * size.height / v; split_sheet_preview->draw_line(Point2(x, 0), Point2(x, size.height), Color(1, 1, 1, a)); split_sheet_preview->draw_line(Point2(x + 1, 0), Point2(x + 1, size.height), Color(0, 0, 0, a)); @@ -89,10 +89,10 @@ void SpriteFramesEditor::_sheet_preview_draw() { if (frames_selected.size() == 0) { split_sheet_dialog->get_ok()->set_disabled(true); - split_sheet_dialog->get_ok()->set_text(TTR("No frames selected")); + split_sheet_dialog->get_ok()->set_text(TTR("No Frames Selected")); } else { split_sheet_dialog->get_ok()->set_disabled(false); - split_sheet_dialog->get_ok()->set_text(vformat(TTR("Add %d frame(s)"), frames_selected.size())); + split_sheet_dialog->get_ok()->set_text(vformat(TTR("Add %d Frame(s)"), frames_selected.size())); } } void SpriteFramesEditor::_sheet_preview_input(const Ref<InputEvent> &p_event) { @@ -168,7 +168,24 @@ void SpriteFramesEditor::_sheet_add_frames() { undo_redo->commit_action(); } +void SpriteFramesEditor::_sheet_select_clear_all_frames() { + + bool should_clear = true; + for (int i = 0; i < split_sheet_h->get_value() * split_sheet_v->get_value(); i++) { + if (!frames_selected.has(i)) { + frames_selected.insert(i); + should_clear = false; + } + } + if (should_clear) { + frames_selected.clear(); + } + + split_sheet_preview->update(); +} + void SpriteFramesEditor::_sheet_spin_changed(double) { + frames_selected.clear(); last_frame_selected = -1; split_sheet_preview->update(); @@ -195,22 +212,26 @@ void SpriteFramesEditor::_prepare_sprite_sheet(const String &p_file) { void SpriteFramesEditor::_notification(int p_what) { - if (p_what == NOTIFICATION_ENTER_TREE) { - - load->set_icon(get_icon("Load", "EditorIcons")); - load_sheet->set_icon(get_icon("SpriteSheet", "EditorIcons")); - copy->set_icon(get_icon("ActionCopy", "EditorIcons")); - paste->set_icon(get_icon("ActionPaste", "EditorIcons")); - empty->set_icon(get_icon("InsertBefore", "EditorIcons")); - empty2->set_icon(get_icon("InsertAfter", "EditorIcons")); - move_up->set_icon(get_icon("MoveLeft", "EditorIcons")); - move_down->set_icon(get_icon("MoveRight", "EditorIcons")); - _delete->set_icon(get_icon("Remove", "EditorIcons")); - new_anim->set_icon(get_icon("New", "EditorIcons")); - remove_anim->set_icon(get_icon("Remove", "EditorIcons")); - } else if (p_what == NOTIFICATION_READY) { - - add_constant_override("autohide", 1); // Fixes the dragger always showing up. + switch (p_what) { + case NOTIFICATION_ENTER_TREE: { + load->set_icon(get_icon("Load", "EditorIcons")); + load_sheet->set_icon(get_icon("SpriteSheet", "EditorIcons")); + copy->set_icon(get_icon("ActionCopy", "EditorIcons")); + paste->set_icon(get_icon("ActionPaste", "EditorIcons")); + empty->set_icon(get_icon("InsertBefore", "EditorIcons")); + empty2->set_icon(get_icon("InsertAfter", "EditorIcons")); + move_up->set_icon(get_icon("MoveLeft", "EditorIcons")); + move_down->set_icon(get_icon("MoveRight", "EditorIcons")); + _delete->set_icon(get_icon("Remove", "EditorIcons")); + new_anim->set_icon(get_icon("New", "EditorIcons")); + remove_anim->set_icon(get_icon("Remove", "EditorIcons")); + } // Fallthrough. + case NOTIFICATION_THEME_CHANGED: { + splite_sheet_scroll->add_style_override("bg", get_stylebox("bg", "Tree")); + } break; + case NOTIFICATION_READY: { + add_constant_override("autohide", 1); // Fixes the dragger always showing up. + } break; } } @@ -818,6 +839,7 @@ void SpriteFramesEditor::_bind_methods() { ClassDB::bind_method(D_METHOD("_sheet_preview_input"), &SpriteFramesEditor::_sheet_preview_input); ClassDB::bind_method(D_METHOD("_sheet_spin_changed"), &SpriteFramesEditor::_sheet_spin_changed); ClassDB::bind_method(D_METHOD("_sheet_add_frames"), &SpriteFramesEditor::_sheet_add_frames); + ClassDB::bind_method(D_METHOD("_sheet_select_clear_all_frames"), &SpriteFramesEditor::_sheet_select_clear_all_frames); } SpriteFramesEditor::SpriteFramesEditor() { @@ -879,7 +901,7 @@ SpriteFramesEditor::SpriteFramesEditor() { hbc->add_child(load); load_sheet = memnew(ToolButton); - load_sheet->set_tooltip(TTR("Add frames from a Sprite Sheet")); + load_sheet->set_tooltip(TTR("Add Frames from a Sprite Sheet")); hbc->add_child(load_sheet); hbc->add_child(memnew(VSeparator)); @@ -960,25 +982,8 @@ SpriteFramesEditor::SpriteFramesEditor() { split_sheet_dialog->set_title(TTR("Select Frames")); split_sheet_dialog->connect("confirmed", this, "_sheet_add_frames"); - ScrollContainer *scroll = memnew(ScrollContainer); - split_sheet_preview = memnew(TextureRect); - split_sheet_preview->set_expand(false); - split_sheet_preview->set_mouse_filter(MOUSE_FILTER_PASS); - split_sheet_preview->connect("draw", this, "_sheet_preview_draw"); - split_sheet_preview->connect("gui_input", this, "_sheet_preview_input"); - - scroll->set_enable_h_scroll(true); - scroll->set_enable_v_scroll(true); - CenterContainer *cc = memnew(CenterContainer); - cc->add_child(split_sheet_preview); - cc->set_h_size_flags(SIZE_EXPAND_FILL); - cc->set_v_size_flags(SIZE_EXPAND_FILL); - scroll->add_child(cc); - - split_sheet_vb->add_margin_child(TTR("Base Image:"), scroll, true); - HBoxContainer *split_sheet_hb = memnew(HBoxContainer); - split_sheet_hb->add_spacer(); + Label *ss_label = memnew(Label(TTR("Horizontal:"))); split_sheet_hb->add_child(ss_label); split_sheet_h = memnew(SpinBox); @@ -986,7 +991,6 @@ SpriteFramesEditor::SpriteFramesEditor() { split_sheet_h->set_max(128); split_sheet_h->set_step(1); split_sheet_hb->add_child(split_sheet_h); - split_sheet_hb->add_spacer(); split_sheet_h->connect("value_changed", this, "_sheet_spin_changed"); ss_label = memnew(Label(TTR("Vertical:"))); @@ -996,13 +1000,37 @@ SpriteFramesEditor::SpriteFramesEditor() { split_sheet_v->set_max(128); split_sheet_v->set_step(1); split_sheet_hb->add_child(split_sheet_v); - split_sheet_hb->add_spacer(); split_sheet_v->connect("value_changed", this, "_sheet_spin_changed"); - split_sheet_vb->add_margin_child(TTR("Split Settings:"), split_sheet_hb); + split_sheet_hb->add_spacer(); + + Button *select_clear_all = memnew(Button); + select_clear_all->set_text(TTR("Select/Clear All Frames")); + select_clear_all->connect("pressed", this, "_sheet_select_clear_all_frames"); + split_sheet_hb->add_child(select_clear_all); + + split_sheet_vb->add_child(split_sheet_hb); + + split_sheet_preview = memnew(TextureRect); + split_sheet_preview->set_expand(false); + split_sheet_preview->set_mouse_filter(MOUSE_FILTER_PASS); + split_sheet_preview->connect("draw", this, "_sheet_preview_draw"); + split_sheet_preview->connect("gui_input", this, "_sheet_preview_input"); + + splite_sheet_scroll = memnew(ScrollContainer); + splite_sheet_scroll->set_enable_h_scroll(true); + splite_sheet_scroll->set_enable_v_scroll(true); + splite_sheet_scroll->set_v_size_flags(SIZE_EXPAND_FILL); + CenterContainer *cc = memnew(CenterContainer); + cc->add_child(split_sheet_preview); + cc->set_h_size_flags(SIZE_EXPAND_FILL); + cc->set_v_size_flags(SIZE_EXPAND_FILL); + splite_sheet_scroll->add_child(cc); + + split_sheet_vb->add_child(splite_sheet_scroll); file_split_sheet = memnew(EditorFileDialog); - file_split_sheet->set_title(TTR("Create frames from Sprite Sheet")); + file_split_sheet->set_title(TTR("Create Frames from Sprite Sheet")); file_split_sheet->set_mode(EditorFileDialog::MODE_OPEN_FILE); add_child(file_split_sheet); file_split_sheet->connect("file_selected", this, "_prepare_sprite_sheet"); diff --git a/editor/plugins/sprite_frames_editor_plugin.h b/editor/plugins/sprite_frames_editor_plugin.h index 383e99f87e..d64431cde7 100644 --- a/editor/plugins/sprite_frames_editor_plugin.h +++ b/editor/plugins/sprite_frames_editor_plugin.h @@ -74,6 +74,7 @@ class SpriteFramesEditor : public HSplitContainer { StringName edited_anim; ConfirmationDialog *split_sheet_dialog; + ScrollContainer *splite_sheet_scroll; TextureRect *split_sheet_preview; SpinBox *split_sheet_h; SpinBox *split_sheet_v; @@ -115,6 +116,7 @@ class SpriteFramesEditor : public HSplitContainer { void _sheet_spin_changed(double); void _sheet_preview_input(const Ref<InputEvent> &p_event); void _sheet_add_frames(); + void _sheet_select_clear_all_frames(); protected: void _notification(int p_what); diff --git a/editor/plugins/text_editor.cpp b/editor/plugins/text_editor.cpp index fe32c97a64..becaae3567 100644 --- a/editor/plugins/text_editor.cpp +++ b/editor/plugins/text_editor.cpp @@ -66,7 +66,6 @@ void TextEditor::_change_syntax_highlighter(int p_idx) { el = el->next(); } set_syntax_highlighter(highlighters[highlighter_menu->get_item_text(p_idx)]); - EditorSettings::get_singleton()->set_project_metadata("text_editor", "syntax_highlighter", p_idx); } void TextEditor::_load_theme_settings() { @@ -95,6 +94,7 @@ void TextEditor::_load_theme_settings() { Color member_variable_color = EDITOR_GET("text_editor/highlighting/member_variable_color"); Color mark_color = EDITOR_GET("text_editor/highlighting/mark_color"); Color breakpoint_color = EDITOR_GET("text_editor/highlighting/breakpoint_color"); + Color executing_line_color = EDITOR_GET("text_editor/highlighting/executing_line_color"); Color code_folding_color = EDITOR_GET("text_editor/highlighting/code_folding_color"); Color search_result_color = EDITOR_GET("text_editor/highlighting/search_result_color"); Color search_result_border_color = EDITOR_GET("text_editor/highlighting/search_result_border_color"); @@ -125,6 +125,7 @@ void TextEditor::_load_theme_settings() { text_edit->add_color_override("function_color", function_color); text_edit->add_color_override("member_variable_color", member_variable_color); text_edit->add_color_override("breakpoint_color", breakpoint_color); + text_edit->add_color_override("executing_line_color", executing_line_color); text_edit->add_color_override("mark_color", mark_color); text_edit->add_color_override("code_folding_color", code_folding_color); text_edit->add_color_override("search_result_color", search_result_color); @@ -234,6 +235,14 @@ Variant TextEditor::get_edit_state() { void TextEditor::set_edit_state(const Variant &p_state) { code_editor->set_edit_state(p_state); + + Dictionary state = p_state; + if (state.has("syntax_highlighter")) { + int idx = highlighter_menu->get_item_idx_from_text(state["syntax_highlighter"]); + if (idx >= 0) { + _change_syntax_highlighter(idx); + } + } } void TextEditor::trim_trailing_whitespace() { @@ -261,6 +270,15 @@ void TextEditor::goto_line(int p_line, bool p_with_error) { code_editor->goto_line(p_line); } +void TextEditor::set_executing_line(int p_line) { + + code_editor->set_executing_line(p_line); +} + +void TextEditor::clear_executing_line() { + code_editor->clear_executing_line(); +} + void TextEditor::ensure_focus() { code_editor->get_text_edit()->grab_focus(); @@ -299,7 +317,6 @@ void TextEditor::_notification(int p_what) { switch (p_what) { case NOTIFICATION_READY: _load_theme_settings(); - _change_syntax_highlighter(EditorSettings::get_singleton()->get_project_metadata("text_editor", "syntax_highlighter", 0)); break; } } diff --git a/editor/plugins/text_editor.h b/editor/plugins/text_editor.h index 3c136277df..767001e2f6 100644 --- a/editor/plugins/text_editor.h +++ b/editor/plugins/text_editor.h @@ -123,6 +123,8 @@ public: virtual Vector<String> get_functions(); virtual void get_breakpoints(List<int> *p_breakpoints); virtual void goto_line(int p_line, bool p_with_error = false); + virtual void set_executing_line(int p_line); + virtual void clear_executing_line(); virtual void trim_trailing_whitespace(); virtual void convert_indent_to_spaces(); virtual void convert_indent_to_tabs(); diff --git a/editor/plugins/texture_region_editor_plugin.cpp b/editor/plugins/texture_region_editor_plugin.cpp index f741040fa8..4e15bd5116 100644 --- a/editor/plugins/texture_region_editor_plugin.cpp +++ b/editor/plugins/texture_region_editor_plugin.cpp @@ -135,8 +135,7 @@ void TextureRegionEditor::_region_draw() { Ref<Texture> select_handle = get_icon("EditorHandle", "EditorIcons"); - Rect2 scroll_rect(Point2(), mtx.basis_xform(base_tex->get_size())); - scroll_rect.expand_to(mtx.basis_xform(edit_draw->get_size())); + Rect2 scroll_rect; Vector2 endpoints[4] = { mtx.basis_xform(rect.position), @@ -167,7 +166,9 @@ void TextureRegionEditor::_region_draw() { scroll_rect.expand_to(endpoints[i]); } - scroll_rect = scroll_rect.grow(200); + scroll_rect.position -= edit_draw->get_size(); + scroll_rect.size += edit_draw->get_size() * 2.0; + updating_scroll = true; hscroll->set_min(scroll_rect.position.x); hscroll->set_max(scroll_rect.position.x + scroll_rect.size.x); diff --git a/editor/plugins/theme_editor_plugin.cpp b/editor/plugins/theme_editor_plugin.cpp index e9b9c03c1e..80e2e99685 100644 --- a/editor/plugins/theme_editor_plugin.cpp +++ b/editor/plugins/theme_editor_plugin.cpp @@ -36,7 +36,7 @@ void ThemeEditor::edit(const Ref<Theme> &p_theme) { theme = p_theme; - main_vb->set_theme(p_theme); + main_container->set_theme(p_theme); } void ThemeEditor::_propagate_redraw(Control *p_at) { @@ -53,7 +53,7 @@ void ThemeEditor::_propagate_redraw(Control *p_at) { void ThemeEditor::_refresh_interval() { - _propagate_redraw(main_vb); + _propagate_redraw(main_container); } void ThemeEditor::_type_menu_cbk(int p_option) { @@ -86,7 +86,7 @@ void ThemeEditor::_name_menu_about_to_show() { } name_menu->get_popup()->clear(); - + name_menu->get_popup()->set_size(Size2()); for (List<StringName>::Element *E = names.front(); E; E = E->next()) { name_menu->get_popup()->add_item(E->get()); @@ -574,7 +574,6 @@ void ThemeEditor::_theme_menu_cbk(int p_option) { } } - //types.sort(); types.sort_custom<StringName::AlphCompare>(); for (List<StringName>::Element *E = types.front(); E; E = E->next()) { @@ -610,30 +609,14 @@ ThemeEditor::ThemeEditor() { time_left = 0; - scroll = memnew(ScrollContainer); - add_child(scroll); - scroll->set_anchors_and_margins_preset(Control::PRESET_WIDE, Control::PRESET_MODE_MINSIZE, 3); - scroll->set_margin(MARGIN_TOP, 30 * EDSCALE); - //scroll->set_enable_h_scroll(true); - scroll->set_enable_v_scroll(true); - scroll->set_enable_h_scroll(false); - - Panel *panel = memnew(Panel); - scroll->add_child(panel); - panel->set_custom_minimum_size(Size2(500, 800) * EDSCALE); - panel->set_theme(Theme::get_default()); - panel->set_h_size_flags(SIZE_EXPAND_FILL); + HBoxContainer *top_menu = memnew(HBoxContainer); + add_child(top_menu); - main_vb = memnew(VBoxContainer); - panel->add_child(main_vb); - main_vb->set_anchors_and_margins_preset(Control::PRESET_WIDE, Control::PRESET_MODE_MINSIZE, 4 * EDSCALE); - - HBoxContainer *hb_menu = memnew(HBoxContainer); - main_vb->add_child(hb_menu); + top_menu->add_child(memnew(Label(TTR("Preview:")))); + top_menu->add_spacer(false); theme_menu = memnew(MenuButton); - theme_menu->set_text(TTR("Edit theme...")); - theme_menu->set_flat(false); + theme_menu->set_text(TTR("Edit Theme")); theme_menu->set_tooltip(TTR("Theme editing menu.")); theme_menu->get_popup()->add_item(TTR("Add Item"), POPUP_ADD); theme_menu->get_popup()->add_item(TTR("Add Class Items"), POPUP_CLASS_ADD); @@ -643,51 +626,73 @@ ThemeEditor::ThemeEditor() { theme_menu->get_popup()->add_item(TTR("Create Empty Template"), POPUP_CREATE_EMPTY); theme_menu->get_popup()->add_item(TTR("Create Empty Editor Template"), POPUP_CREATE_EDITOR_EMPTY); theme_menu->get_popup()->add_item(TTR("Create From Current Editor Theme"), POPUP_IMPORT_EDITOR_THEME); - add_child(theme_menu); - theme_menu->set_position(Vector2(3, 3) * EDSCALE); + top_menu->add_child(theme_menu); theme_menu->get_popup()->connect("id_pressed", this, "_theme_menu_cbk"); + scroll = memnew(ScrollContainer); + add_child(scroll); + scroll->set_enable_v_scroll(true); + scroll->set_enable_h_scroll(false); + scroll->set_v_size_flags(SIZE_EXPAND_FILL); + + main_container = memnew(MarginContainer); + scroll->add_child(main_container); + main_container->set_clip_contents(true); + main_container->set_custom_minimum_size(Size2(700, 0) * EDSCALE); + main_container->set_v_size_flags(SIZE_EXPAND_FILL); + main_container->set_h_size_flags(SIZE_EXPAND_FILL); + + //// Preview Controls //// + + Panel *panel = memnew(Panel); + main_container->add_child(panel); + panel->set_theme(Theme::get_default()); + + MarginContainer *mc = memnew(MarginContainer); + main_container->add_child(mc); + mc->set_theme(Theme::get_default()); + mc->add_constant_override("margin_right", 4 * EDSCALE); + mc->add_constant_override("margin_top", 4 * EDSCALE); + mc->add_constant_override("margin_left", 4 * EDSCALE); + mc->add_constant_override("margin_bottom", 4 * EDSCALE); + HBoxContainer *main_hb = memnew(HBoxContainer); - main_vb->add_child(main_hb); + mc->add_child(main_hb); VBoxContainer *first_vb = memnew(VBoxContainer); - first_vb->set_h_size_flags(SIZE_EXPAND_FILL); main_hb->add_child(first_vb); - - //main_panel->add_child(panel); - //panel->set_anchors_and_margins_preset(Control::PRESET_WIDE); - //panel->set_margin( MARGIN_TOP,20 ); + first_vb->set_h_size_flags(SIZE_EXPAND_FILL); + first_vb->add_constant_override("separation", 10 * EDSCALE); first_vb->add_child(memnew(Label("Label"))); first_vb->add_child(memnew(Button("Button"))); + Button *bt = memnew(Button); + bt->set_text(TTR("Toggle Button")); + bt->set_toggle_mode(true); + bt->set_pressed(true); + first_vb->add_child(bt); + bt = memnew(Button); + bt->set_text(TTR("Disabled Button")); + bt->set_disabled(true); + first_vb->add_child(bt); ToolButton *tb = memnew(ToolButton); tb->set_text("ToolButton"); first_vb->add_child(tb); + CheckButton *cb = memnew(CheckButton); cb->set_text("CheckButton"); first_vb->add_child(cb); + cb = memnew(CheckButton); CheckBox *cbx = memnew(CheckBox); cbx->set_text("CheckBox"); first_vb->add_child(cbx); - VBoxContainer *bg = memnew(VBoxContainer); - bg->set_v_size_flags(SIZE_EXPAND_FILL); - VBoxContainer *gbvb = memnew(VBoxContainer); - gbvb->set_v_size_flags(SIZE_EXPAND_FILL); - CheckBox *rbx1 = memnew(CheckBox); - rbx1->set_text(TTR("CheckBox Radio1")); - rbx1->set_pressed(true); - gbvb->add_child(rbx1); - CheckBox *rbx2 = memnew(CheckBox); - rbx2->set_text(TTR("CheckBox Radio2")); - gbvb->add_child(rbx2); - bg->add_child(gbvb); - first_vb->add_child(bg); - MenuButton *test_menu_button = memnew(MenuButton); test_menu_button->set_text("MenuButton"); test_menu_button->get_popup()->add_item(TTR("Item")); + test_menu_button->get_popup()->add_item(TTR("Disabled Item")); + test_menu_button->get_popup()->set_item_disabled(1, true); test_menu_button->get_popup()->add_separator(); test_menu_button->get_popup()->add_check_item(TTR("Check Item")); test_menu_button->get_popup()->add_check_item(TTR("Checked Item")); @@ -696,6 +701,14 @@ ThemeEditor::ThemeEditor() { test_menu_button->get_popup()->add_radio_check_item(TTR("Radio Item")); test_menu_button->get_popup()->add_radio_check_item(TTR("Checked Radio Item")); test_menu_button->get_popup()->set_item_checked(6, true); + test_menu_button->get_popup()->add_separator(TTR("Named Sep.")); + + PopupMenu *test_submenu = memnew(PopupMenu); + test_menu_button->get_popup()->add_child(test_submenu); + test_submenu->set_name("submenu"); + test_menu_button->get_popup()->add_submenu_item(TTR("Submenu"), "submenu"); + test_submenu->add_item(TTR("Item 1")); + test_submenu->add_item(TTR("Item 2")); first_vb->add_child(test_menu_button); OptionButton *test_option_button = memnew(OptionButton); @@ -705,21 +718,7 @@ ThemeEditor::ThemeEditor() { test_option_button->add_item(TTR("Many")); test_option_button->add_item(TTR("Options")); first_vb->add_child(test_option_button); - - ColorPickerButton *cpb = memnew(ColorPickerButton); - first_vb->add_child(cpb); - - first_vb->add_child(memnew(HSeparator)); - first_vb->add_child(memnew(HSlider)); - first_vb->add_child(memnew(HScrollBar)); - first_vb->add_child(memnew(SpinBox)); - ProgressBar *pb = memnew(ProgressBar); - pb->set_value(50); - first_vb->add_child(pb); - Panel *pn = memnew(Panel); - pn->set_custom_minimum_size(Size2(40, 40) * EDSCALE); - first_vb->add_child(pn); - first_vb->add_constant_override("separation", 10 * EDSCALE); + first_vb->add_child(memnew(ColorPickerButton)); VBoxContainer *second_vb = memnew(VBoxContainer); second_vb->set_h_size_flags(SIZE_EXPAND_FILL); @@ -728,50 +727,48 @@ ThemeEditor::ThemeEditor() { LineEdit *le = memnew(LineEdit); le->set_text("LineEdit"); second_vb->add_child(le); + le = memnew(LineEdit); + le->set_text(TTR("Disabled LineEdit")); + le->set_editable(false); + second_vb->add_child(le); TextEdit *te = memnew(TextEdit); te->set_text("TextEdit"); - //te->set_v_size_flags(SIZE_EXPAND_FILL); - te->set_custom_minimum_size(Size2(0, 160) * EDSCALE); + te->set_custom_minimum_size(Size2(0, 100) * EDSCALE); second_vb->add_child(te); + second_vb->add_child(memnew(SpinBox)); - Tree *test_tree = memnew(Tree); - second_vb->add_child(test_tree); - test_tree->set_custom_minimum_size(Size2(0, 160) * EDSCALE); - - TreeItem *item = test_tree->create_item(); - item->set_editable(0, true); - item->set_text(0, "Tree"); - item = test_tree->create_item(test_tree->get_root()); - item->set_cell_mode(0, TreeItem::CELL_MODE_CHECK); - item->set_editable(0, true); - item->set_text(0, "Check"); - item = test_tree->create_item(test_tree->get_root()); - item->set_cell_mode(0, TreeItem::CELL_MODE_RANGE); - item->set_editable(0, true); - item->set_range_config(0, 0, 20, 0.1); - item->set_range(0, 2); - item = test_tree->create_item(test_tree->get_root()); - item->set_cell_mode(0, TreeItem::CELL_MODE_RANGE); - item->set_editable(0, true); - item->set_text(0, TTR("Has,Many,Options")); - item->set_range(0, 2); + HBoxContainer *vhb = memnew(HBoxContainer); + second_vb->add_child(vhb); + vhb->set_custom_minimum_size(Size2(0, 100) * EDSCALE); + vhb->add_child(memnew(VSlider)); + VScrollBar *vsb = memnew(VScrollBar); + vsb->set_page(25); + vhb->add_child(vsb); + vhb->add_child(memnew(VSeparator)); + VBoxContainer *hvb = memnew(VBoxContainer); + vhb->add_child(hvb); + hvb->set_alignment(ALIGN_CENTER); + hvb->set_h_size_flags(SIZE_EXPAND_FILL); + hvb->add_child(memnew(HSlider)); + HScrollBar *hsb = memnew(HScrollBar); + hsb->set_page(25); + hvb->add_child(hsb); + HSlider *hs = memnew(HSlider); + hs->set_editable(false); + hvb->add_child(hs); + hvb->add_child(memnew(HSeparator)); + ProgressBar *pb = memnew(ProgressBar); + pb->set_value(50); + hvb->add_child(pb); VBoxContainer *third_vb = memnew(VBoxContainer); third_vb->set_h_size_flags(SIZE_EXPAND_FILL); - third_vb->add_constant_override("separation", 10); - + third_vb->add_constant_override("separation", 10 * EDSCALE); main_hb->add_child(third_vb); - HBoxContainer *vhb = memnew(HBoxContainer); - vhb->set_custom_minimum_size(Size2(0, 160) * EDSCALE); - vhb->add_child(memnew(VSeparator)); - vhb->add_child(memnew(VSlider)); - vhb->add_child(memnew(VScrollBar)); - third_vb->add_child(vhb); - TabContainer *tc = memnew(TabContainer); third_vb->add_child(tc); - tc->set_custom_minimum_size(Size2(0, 160) * EDSCALE); + tc->set_custom_minimum_size(Size2(0, 135) * EDSCALE); Control *tcc = memnew(Control); tcc->set_name(TTR("Tab 1")); tc->add_child(tcc); @@ -781,9 +778,41 @@ ThemeEditor::ThemeEditor() { tcc = memnew(Control); tcc->set_name(TTR("Tab 3")); tc->add_child(tcc); + tc->set_tab_disabled(2, true); + + Tree *test_tree = memnew(Tree); + third_vb->add_child(test_tree); + test_tree->set_custom_minimum_size(Size2(0, 175) * EDSCALE); + test_tree->add_constant_override("draw_relationship_lines", 1); + + TreeItem *item = test_tree->create_item(); + item->set_text(0, "Tree"); + item = test_tree->create_item(test_tree->get_root()); + item->set_text(0, "Item"); + item = test_tree->create_item(test_tree->get_root()); + item->set_editable(0, true); + item->set_text(0, TTR("Editable Item")); + TreeItem *sub_tree = test_tree->create_item(test_tree->get_root()); + sub_tree->set_text(0, TTR("Subtree")); + item = test_tree->create_item(sub_tree); + item->set_cell_mode(0, TreeItem::CELL_MODE_CHECK); + item->set_editable(0, true); + item->set_text(0, "Check Item"); + item = test_tree->create_item(sub_tree); + item->set_cell_mode(0, TreeItem::CELL_MODE_RANGE); + item->set_editable(0, true); + item->set_range_config(0, 0, 20, 0.1); + item->set_range(0, 2); + item = test_tree->create_item(sub_tree); + item->set_cell_mode(0, TreeItem::CELL_MODE_RANGE); + item->set_editable(0, true); + item->set_text(0, TTR("Has,Many,Options")); + item->set_range(0, 2); main_hb->add_constant_override("separation", 20 * EDSCALE); + //////// + add_del_dialog = memnew(ConfirmationDialog); add_del_dialog->hide(); add_child(add_del_dialog); @@ -802,6 +831,7 @@ ThemeEditor::ThemeEditor() { type_edit->set_h_size_flags(SIZE_EXPAND_FILL); type_hbc->add_child(type_edit); type_menu = memnew(MenuButton); + type_menu->set_flat(false); type_menu->set_text(".."); type_hbc->add_child(type_menu); @@ -819,6 +849,7 @@ ThemeEditor::ThemeEditor() { name_edit->set_h_size_flags(SIZE_EXPAND_FILL); name_hbc->add_child(name_edit); name_menu = memnew(MenuButton); + type_menu->set_flat(false); name_menu->set_text(".."); name_hbc->add_child(name_menu); @@ -844,9 +875,6 @@ ThemeEditor::ThemeEditor() { file_dialog->add_filter("*.theme ; Theme File"); add_child(file_dialog); file_dialog->connect("file_selected", this, "_save_template_cbk"); - - //MenuButton *name_menu; - //LineEdit *name_edit; } void ThemeEditorPlugin::edit(Object *p_node) { @@ -886,7 +914,6 @@ ThemeEditorPlugin::ThemeEditorPlugin(EditorNode *p_node) { theme_editor = memnew(ThemeEditor); theme_editor->set_custom_minimum_size(Size2(0, 200)); - //p_node->get_viewport()->add_child(theme_editor); button = editor->add_bottom_panel_item(TTR("Theme"), theme_editor); button->hide(); } diff --git a/editor/plugins/theme_editor_plugin.h b/editor/plugins/theme_editor_plugin.h index 352988d69e..cc236907a9 100644 --- a/editor/plugins/theme_editor_plugin.h +++ b/editor/plugins/theme_editor_plugin.h @@ -33,6 +33,7 @@ #include "scene/gui/check_box.h" #include "scene/gui/file_dialog.h" +#include "scene/gui/margin_container.h" #include "scene/gui/option_button.h" #include "scene/gui/scroll_container.h" #include "scene/gui/texture_rect.h" @@ -40,12 +41,12 @@ #include "editor/editor_node.h" -class ThemeEditor : public Control { +class ThemeEditor : public VBoxContainer { - GDCLASS(ThemeEditor, Control); + GDCLASS(ThemeEditor, VBoxContainer); ScrollContainer *scroll; - VBoxContainer *main_vb; + MarginContainer *main_container; Ref<Theme> theme; EditorFileDialog *file_dialog; diff --git a/editor/plugins/tile_map_editor_plugin.cpp b/editor/plugins/tile_map_editor_plugin.cpp index 33e4bb2336..6b66bb6891 100644 --- a/editor/plugins/tile_map_editor_plugin.cpp +++ b/editor/plugins/tile_map_editor_plugin.cpp @@ -66,6 +66,11 @@ void TileMapEditor::_notification(int p_what) { case NOTIFICATION_ENTER_TREE: { + paint_button->set_icon(get_icon("Edit", "EditorIcons")); + bucket_fill_button->set_icon(get_icon("Bucket", "EditorIcons")); + picker_button->set_icon(get_icon("ColorPick", "EditorIcons")); + select_button->set_icon(get_icon("ActionCopy", "EditorIcons")); + rotate_left_button->set_icon(get_icon("Rotate270", "EditorIcons")); rotate_right_button->set_icon(get_icon("Rotate90", "EditorIcons")); flip_horizontal_button->set_icon(get_icon("MirrorX", "EditorIcons")); @@ -76,9 +81,6 @@ void TileMapEditor::_notification(int p_what) { search_box->set_clear_button_enabled(true); PopupMenu *p = options->get_popup(); - p->set_item_icon(p->get_item_index(OPTION_PAINTING), get_icon("Edit", "EditorIcons")); - p->set_item_icon(p->get_item_index(OPTION_PICK_TILE), get_icon("ColorPick", "EditorIcons")); - p->set_item_icon(p->get_item_index(OPTION_SELECT), get_icon("ActionCopy", "EditorIcons")); p->set_item_icon(p->get_item_index(OPTION_CUT), get_icon("ActionCut", "EditorIcons")); p->set_item_icon(p->get_item_index(OPTION_COPY), get_icon("Duplicate", "EditorIcons")); p->set_item_icon(p->get_item_index(OPTION_ERASE_SELECTION), get_icon("Remove", "EditorIcons")); @@ -87,37 +89,54 @@ void TileMapEditor::_notification(int p_what) { } } -void TileMapEditor::_menu_option(int p_option) { - - switch (p_option) { - - case OPTION_PAINTING: { - // NOTE: We do not set tool = TOOL_PAINTING as this begins painting - // immediately without pressing the left mouse button first - tool = TOOL_NONE; +void TileMapEditor::_update_button_tool() { - CanvasItemEditor::get_singleton()->update_viewport(); + ToolButton *tb[4] = { paint_button, bucket_fill_button, picker_button, select_button }; + // Unpress all buttons + for (int i = 0; i < 4; i++) { + tb[i]->set_pressed(false); + } + // Press the good button + switch (tool) { + case TOOL_NONE: + case TOOL_PAINTING: { + paint_button->set_pressed(true); } break; - case OPTION_BUCKET: { - - tool = TOOL_BUCKET; - - CanvasItemEditor::get_singleton()->update_viewport(); + case TOOL_BUCKET: { + bucket_fill_button->set_pressed(true); + } break; + case TOOL_PICKING: { + picker_button->set_pressed(true); + } break; + case TOOL_SELECTING: { + select_button->set_pressed(true); } break; - case OPTION_PICK_TILE: { + default: + break; + } - tool = TOOL_PICKING; + if (tool != TOOL_PICKING) + last_tool = tool; +} - CanvasItemEditor::get_singleton()->update_viewport(); - } break; - case OPTION_SELECT: { +void TileMapEditor::_button_tool_select(int p_tool) { + tool = (Tool)p_tool; + _update_button_tool(); + switch (tool) { + case TOOL_SELECTING: { - tool = TOOL_SELECTING; selection_active = false; - - CanvasItemEditor::get_singleton()->update_viewport(); } break; + default: + break; + } + CanvasItemEditor::get_singleton()->update_viewport(); +} + +void TileMapEditor::_menu_option(int p_option) { + + switch (p_option) { case OPTION_COPY: { _update_copydata(); @@ -168,6 +187,7 @@ void TileMapEditor::_menu_option(int p_option) { } } break; } + _update_button_tool(); } void TileMapEditor::_palette_selected(int index) { @@ -932,11 +952,7 @@ bool TileMapEditor::forward_gui_input(const Ref<InputEvent> &p_event) { if (mb->get_shift()) { -#ifdef APPLE_STYLE_KEYS if (mb->get_command()) -#else - if (mb->get_control()) -#endif tool = TOOL_RECTANGLE_PAINT; else tool = TOOL_LINE_PAINT; @@ -944,20 +960,20 @@ bool TileMapEditor::forward_gui_input(const Ref<InputEvent> &p_event) { selection_active = false; rectangle_begin = over_tile; + _update_button_tool(); return true; } -#ifdef APPLE_STYLE_KEYS + if (mb->get_command()) { -#else - if (mb->get_control()) { -#endif tool = TOOL_PICKING; _pick_tile(over_tile); + _update_button_tool(); return true; } tool = TOOL_PAINTING; + _update_button_tool(); } if (tool == TOOL_PAINTING) { @@ -979,6 +995,7 @@ bool TileMapEditor::forward_gui_input(const Ref<InputEvent> &p_event) { rectangle_begin = over_tile; } + _update_button_tool(); return true; } else { @@ -1075,6 +1092,7 @@ bool TileMapEditor::forward_gui_input(const Ref<InputEvent> &p_event) { } tool = TOOL_NONE; + _update_button_tool(); return true; } @@ -1090,6 +1108,7 @@ bool TileMapEditor::forward_gui_input(const Ref<InputEvent> &p_event) { CanvasItemEditor::get_singleton()->update_viewport(); + _update_button_tool(); return true; } @@ -1100,6 +1119,7 @@ bool TileMapEditor::forward_gui_input(const Ref<InputEvent> &p_event) { CanvasItemEditor::get_singleton()->update_viewport(); + _update_button_tool(); return true; } @@ -1112,11 +1132,7 @@ bool TileMapEditor::forward_gui_input(const Ref<InputEvent> &p_event) { _start_undo(TTR("Erase TileMap")); if (mb->get_shift()) { -#ifdef APPLE_STYLE_KEYS if (mb->get_command()) -#else - if (mb->get_control()) -#endif tool = TOOL_RECTANGLE_ERASE; else tool = TOOL_LINE_ERASE; @@ -1130,6 +1146,7 @@ bool TileMapEditor::forward_gui_input(const Ref<InputEvent> &p_event) { _set_cell(local, invalid_cell); } + _update_button_tool(); return true; } @@ -1144,6 +1161,7 @@ bool TileMapEditor::forward_gui_input(const Ref<InputEvent> &p_event) { tool = TOOL_NONE; + _update_button_tool(); return true; } else if (tool == TOOL_BUCKET) { @@ -1318,6 +1336,14 @@ bool TileMapEditor::forward_gui_input(const Ref<InputEvent> &p_event) { if (k.is_valid() && k->is_pressed()) { + if (last_tool == TOOL_NONE && tool == TOOL_PICKING && k->get_scancode() == KEY_SHIFT && k->get_command()) { + // trying to draw a rectangle with the painting tool, so change to the correct tool + tool = last_tool; + + CanvasItemEditor::get_singleton()->update_viewport(); + _update_button_tool(); + } + if (k->get_scancode() == KEY_ESCAPE) { if (tool == TOOL_PASTING) @@ -1329,6 +1355,7 @@ bool TileMapEditor::forward_gui_input(const Ref<InputEvent> &p_event) { CanvasItemEditor::get_singleton()->update_viewport(); + _update_button_tool(); return true; } @@ -1343,17 +1370,20 @@ bool TileMapEditor::forward_gui_input(const Ref<InputEvent> &p_event) { tool = TOOL_NONE; CanvasItemEditor::get_singleton()->update_viewport(); + _update_button_tool(); return true; } if (ED_IS_SHORTCUT("tile_map_editor/bucket_fill", p_event)) { tool = TOOL_BUCKET; CanvasItemEditor::get_singleton()->update_viewport(); + _update_button_tool(); return true; } if (ED_IS_SHORTCUT("tile_map_editor/erase_selection", p_event)) { _menu_option(OPTION_ERASE_SELECTION); + _update_button_tool(); return true; } if (ED_IS_SHORTCUT("tile_map_editor/select", p_event)) { @@ -1362,6 +1392,7 @@ bool TileMapEditor::forward_gui_input(const Ref<InputEvent> &p_event) { CanvasItemEditor::get_singleton()->update_viewport(); + _update_button_tool(); return true; } if (ED_IS_SHORTCUT("tile_map_editor/copy_selection", p_event)) { @@ -1372,6 +1403,7 @@ bool TileMapEditor::forward_gui_input(const Ref<InputEvent> &p_event) { CanvasItemEditor::get_singleton()->update_viewport(); + _update_button_tool(); return true; } } @@ -1388,6 +1420,7 @@ bool TileMapEditor::forward_gui_input(const Ref<InputEvent> &p_event) { tool = TOOL_PASTING; CanvasItemEditor::get_singleton()->update_viewport(); + _update_button_tool(); return true; } } @@ -1415,8 +1448,30 @@ bool TileMapEditor::forward_gui_input(const Ref<InputEvent> &p_event) { CanvasItemEditor::get_singleton()->update_viewport(); return true; } - } + } else if (k.is_valid()) { // release event + + if (tool == TOOL_NONE) { + if (k->get_scancode() == KEY_SHIFT && k->get_command()) { + + tool = TOOL_PICKING; + _update_button_tool(); + } + } else if (tool == TOOL_PICKING) { + +#ifdef APPLE_STYLE_KEYS + if (k->get_scancode() == KEY_META) { +#else + if (k->get_scancode() == KEY_CONTROL) { +#endif + // go back to that last tool if KEY_CONTROL was released + tool = last_tool; + + CanvasItemEditor::get_singleton()->update_viewport(); + _update_button_tool(); + } + } + } return false; } @@ -1700,6 +1755,7 @@ void TileMapEditor::_bind_methods() { ClassDB::bind_method(D_METHOD("_text_entered"), &TileMapEditor::_text_entered); ClassDB::bind_method(D_METHOD("_text_changed"), &TileMapEditor::_text_changed); ClassDB::bind_method(D_METHOD("_sbox_input"), &TileMapEditor::_sbox_input); + ClassDB::bind_method(D_METHOD("_button_tool_select"), &TileMapEditor::_button_tool_select); ClassDB::bind_method(D_METHOD("_menu_option"), &TileMapEditor::_menu_option); ClassDB::bind_method(D_METHOD("_canvas_mouse_enter"), &TileMapEditor::_canvas_mouse_enter); ClassDB::bind_method(D_METHOD("_canvas_mouse_exit"), &TileMapEditor::_canvas_mouse_exit); @@ -1880,37 +1936,66 @@ TileMapEditor::TileMapEditor(EditorNode *p_editor) { // Add menu items toolbar = memnew(HBoxContainer); - toolbar->set_h_size_flags(SIZE_EXPAND_FILL); - toolbar->set_alignment(BoxContainer::ALIGN_END); toolbar->hide(); CanvasItemEditor::get_singleton()->add_control_to_menu_panel(toolbar); + // Separator + toolbar->add_child(memnew(VSeparator)); + + // Tools + paint_button = memnew(ToolButton); + paint_button->set_shortcut(ED_SHORTCUT("tile_map_editor/paint_tile", TTR("Paint Tile"), KEY_P)); + paint_button->set_tooltip(TTR("Shift+RMB: Line Draw\nShift+Ctrl+RMB: Rectangle Paint")); + paint_button->connect("pressed", this, "_button_tool_select", make_binds(TOOL_NONE)); + paint_button->set_toggle_mode(true); + toolbar->add_child(paint_button); + + bucket_fill_button = memnew(ToolButton); + bucket_fill_button->set_shortcut(ED_SHORTCUT("tile_map_editor/bucket_fill", TTR("Bucket Fill"), KEY_G)); + bucket_fill_button->connect("pressed", this, "_button_tool_select", make_binds(TOOL_BUCKET)); + bucket_fill_button->set_toggle_mode(true); + toolbar->add_child(bucket_fill_button); + + picker_button = memnew(ToolButton); + picker_button->set_shortcut(ED_SHORTCUT("tile_map_editor/pick_tile", TTR("Pick Tile"), KEY_CONTROL)); + picker_button->connect("pressed", this, "_button_tool_select", make_binds(TOOL_PICKING)); + picker_button->set_toggle_mode(true); + toolbar->add_child(picker_button); + + select_button = memnew(ToolButton); + select_button->set_shortcut(ED_SHORTCUT("tile_map_editor/select", TTR("Select"), KEY_MASK_CMD + KEY_B)); + select_button->connect("pressed", this, "_button_tool_select", make_binds(TOOL_SELECTING)); + select_button->set_toggle_mode(true); + toolbar->add_child(select_button); + + _update_button_tool(); + + // Container to the right of the toolbar + toolbar_right = memnew(HBoxContainer); + toolbar_right->hide(); + toolbar_right->set_h_size_flags(SIZE_EXPAND_FILL); + toolbar_right->set_alignment(BoxContainer::ALIGN_END); + CanvasItemEditor::get_singleton()->add_control_to_menu_panel(toolbar_right); + // Tile position tile_info = memnew(Label); - toolbar->add_child(tile_info); + toolbar_right->add_child(tile_info); + // Menu options = memnew(MenuButton); options->set_text("TileMap"); options->set_icon(EditorNode::get_singleton()->get_gui_base()->get_icon("TileMap", "EditorIcons")); options->set_process_unhandled_key_input(false); + toolbar_right->add_child(options); PopupMenu *p = options->get_popup(); - - p->add_shortcut(ED_SHORTCUT("tile_map_editor/paint_tile", TTR("Paint Tile"), KEY_P), OPTION_PAINTING); - p->add_shortcut(ED_SHORTCUT("tile_map_editor/bucket_fill", TTR("Bucket Fill"), KEY_G), OPTION_BUCKET); - p->add_separator(); - p->add_item(TTR("Pick Tile"), OPTION_PICK_TILE, KEY_CONTROL); - p->add_separator(); - p->add_shortcut(ED_SHORTCUT("tile_map_editor/select", TTR("Select"), KEY_MASK_CMD + KEY_B), OPTION_SELECT); p->add_shortcut(ED_SHORTCUT("tile_map_editor/cut_selection", TTR("Cut Selection"), KEY_MASK_CMD + KEY_X), OPTION_CUT); p->add_shortcut(ED_SHORTCUT("tile_map_editor/copy_selection", TTR("Copy Selection"), KEY_MASK_CMD + KEY_C), OPTION_COPY); p->add_shortcut(ED_GET_SHORTCUT("tile_map_editor/erase_selection"), OPTION_ERASE_SELECTION); p->add_separator(); p->add_item(TTR("Fix Invalid Tiles"), OPTION_FIX_INVALID); - p->connect("id_pressed", this, "_menu_option"); - toolbar->add_child(options); rotate_left_button = memnew(ToolButton); rotate_left_button->set_tooltip(TTR("Rotate left")); rotate_left_button->set_focus_mode(FOCUS_NONE); @@ -1984,10 +2069,12 @@ void TileMapEditorPlugin::make_visible(bool p_visible) { tile_map_editor->show(); tile_map_editor->get_toolbar()->show(); + tile_map_editor->get_toolbar_right()->show(); } else { tile_map_editor->hide(); tile_map_editor->get_toolbar()->hide(); + tile_map_editor->get_toolbar_right()->hide(); tile_map_editor->edit(NULL); } } diff --git a/editor/plugins/tile_map_editor_plugin.h b/editor/plugins/tile_map_editor_plugin.h index b30426eabe..fc6fefd992 100644 --- a/editor/plugins/tile_map_editor_plugin.h +++ b/editor/plugins/tile_map_editor_plugin.h @@ -66,12 +66,8 @@ class TileMapEditor : public VBoxContainer { enum Options { - OPTION_BUCKET, - OPTION_PICK_TILE, - OPTION_SELECT, OPTION_COPY, OPTION_ERASE_SELECTION, - OPTION_PAINTING, OPTION_FIX_INVALID, OPTION_CUT }; @@ -90,10 +86,16 @@ class TileMapEditor : public VBoxContainer { ItemList *manual_palette; HBoxContainer *toolbar; + HBoxContainer *toolbar_right; Label *tile_info; MenuButton *options; + ToolButton *paint_button; + ToolButton *bucket_fill_button; + ToolButton *picker_button; + ToolButton *select_button; + ToolButton *flip_horizontal_button; ToolButton *flip_vertical_button; ToolButton *rotate_left_button; @@ -103,6 +105,7 @@ class TileMapEditor : public VBoxContainer { CheckBox *manual_button; Tool tool; + Tool last_tool; bool selection_active; bool mouse_over; @@ -184,6 +187,8 @@ class TileMapEditor : public VBoxContainer { void _text_changed(const String &p_text); void _sbox_input(const Ref<InputEvent> &p_ie); void _update_palette(); + void _update_button_tool(); + void _button_tool_select(int p_tool); void _menu_option(int p_option); void _palette_selected(int index); void _palette_multi_selected(int index, bool selected); @@ -210,6 +215,7 @@ protected: public: HBoxContainer *get_toolbar() const { return toolbar; } + HBoxContainer *get_toolbar_right() const { return toolbar_right; } bool forward_gui_input(const Ref<InputEvent> &p_event); void forward_canvas_draw_over_viewport(Control *p_overlay); diff --git a/editor/plugins/tile_set_editor_plugin.cpp b/editor/plugins/tile_set_editor_plugin.cpp index 8cf00cf67d..21470d81ed 100644 --- a/editor/plugins/tile_set_editor_plugin.cpp +++ b/editor/plugins/tile_set_editor_plugin.cpp @@ -1561,13 +1561,42 @@ void TileSetEditor::_on_workspace_input(const Ref<InputEvent> &p_ie) { if (mb->is_pressed() && mb->get_button_index() == BUTTON_LEFT) { _set_edited_collision_shape(Ref<ConvexPolygonShape2D>()); current_shape.resize(0); - current_shape.push_back(snap_point(shape_anchor)); - current_shape.push_back(snap_point(shape_anchor + Vector2(current_tile_region.size.x, 0))); - current_shape.push_back(snap_point(shape_anchor + current_tile_region.size)); - current_shape.push_back(snap_point(shape_anchor + Vector2(0, current_tile_region.size.y))); - close_shape(shape_anchor); + Vector2 pos = mb->get_position(); + pos = snap_point(pos); + current_shape.push_back(pos); + current_shape.push_back(pos); + current_shape.push_back(pos); + current_shape.push_back(pos); + creating_shape = true; workspace->update(); + return; } else if (mb->is_pressed() && mb->get_button_index() == BUTTON_RIGHT) { + if (creating_shape) { + creating_shape = false; + _select_edited_shape_coord(); + workspace->update(); + } + } else if (!mb->is_pressed() && mb->get_button_index() == BUTTON_LEFT) { + if (creating_shape) { + if ((current_shape[0] - current_shape[1]).length_squared() <= grab_threshold) { + current_shape.set(0, snap_point(shape_anchor)); + current_shape.set(1, snap_point(shape_anchor + Vector2(current_tile_region.size.x, 0))); + current_shape.set(2, snap_point(shape_anchor + current_tile_region.size)); + current_shape.set(3, snap_point(shape_anchor + Vector2(0, current_tile_region.size.y))); + } + close_shape(shape_anchor); + workspace->update(); + return; + } + } + } else if (mm.is_valid()) { + if (creating_shape) { + Vector2 pos = mm->get_position(); + pos = snap_point(pos); + Vector2 p = current_shape[2]; + current_shape.set(3, snap_point(Vector2(pos.x, p.y))); + current_shape.set(0, snap_point(pos)); + current_shape.set(1, snap_point(Vector2(p.x, pos.y))); workspace->update(); } } diff --git a/editor/plugins/visual_shader_editor_plugin.cpp b/editor/plugins/visual_shader_editor_plugin.cpp index 0aba7f3d15..964303ba22 100644 --- a/editor/plugins/visual_shader_editor_plugin.cpp +++ b/editor/plugins/visual_shader_editor_plugin.cpp @@ -172,6 +172,7 @@ void VisualShaderEditor::_update_options_menu() { int item_count = 0; int item_count2 = 0; + bool is_first_item = true; for (int i = 0; i < add_options.size() + 1; i++) { @@ -197,6 +198,7 @@ void VisualShaderEditor::_update_options_menu() { prev_sub_category = ""; category = members->create_item(root); category->set_text(0, add_options[i].category); + category->set_selectable(0, false); if (!use_filter) category->set_collapsed(true); } @@ -212,6 +214,7 @@ void VisualShaderEditor::_update_options_menu() { item_count2 = 0; sub_category = members->create_item(category); sub_category->set_text(0, add_options[i].sub_category); + sub_category->set_selectable(0, false); if (!use_filter) sub_category->set_collapsed(true); } @@ -221,6 +224,10 @@ void VisualShaderEditor::_update_options_menu() { ++item_count2; TreeItem *item = members->create_item(sub_category); item->set_text(0, add_options[i].name); + if (is_first_item) { + item->select(0); + is_first_item = false; + } switch (add_options[i].return_type) { case VisualShaderNode::PORT_TYPE_SCALAR: item->set_icon(0, EditorNode::get_singleton()->get_gui_base()->get_icon("float", "EditorIcons")); @@ -303,6 +310,21 @@ static Ref<StyleBoxEmpty> make_empty_stylebox(float p_margin_left = -1, float p_ return style; } +void VisualShaderEditor::_update_created_node(GraphNode *node) { + + if (EditorSettings::get_singleton()->get("interface/theme/use_graph_node_headers")) { + Ref<StyleBoxFlat> sb = node->get_stylebox("frame", "GraphNode"); + Color c = sb->get_border_color(); + Color mono_color = ((c.r + c.g + c.b) / 3) < 0.7 ? Color(1.0, 1.0, 1.0) : Color(0.0, 0.0, 0.0); + mono_color.a = 0.85; + c = mono_color; + + node->add_color_override("title_color", c); + c.a = 0.7; + node->add_color_override("close_color", c); + } +} + void VisualShaderEditor::_update_graph() { if (updating) @@ -344,7 +366,6 @@ void VisualShaderEditor::_update_graph() { Ref<VisualShaderNode> vsnode = visual_shader->get_node(type, nodes[n_i]); GraphNode *node = memnew(GraphNode); - graph->add_child(node); /*if (!vsnode->is_connected("changed", this, "_node_changed")) { vsnode->connect("changed", this, "_node_changed", varray(vsnode->get_instance_id()), CONNECT_DEFERRED); @@ -367,6 +388,9 @@ void VisualShaderEditor::_update_graph() { Ref<VisualShaderNodeUniform> uniform = vsnode; if (uniform.is_valid()) { + graph->add_child(node); + _update_created_node(node); + LineEdit *uniform_name = memnew(LineEdit); uniform_name->set_text(uniform->get_uniform_name()); node->add_child(uniform_name); @@ -484,7 +508,7 @@ void VisualShaderEditor::_update_graph() { } } - if (valid_right && edit_type->get_selected() == VisualShader::TYPE_FRAGMENT) { + if (valid_right && edit_type->get_selected() == VisualShader::TYPE_FRAGMENT && port_right != VisualShaderNode::PORT_TYPE_TRANSFORM) { TextureButton *preview = memnew(TextureButton); preview->set_toggle_mode(true); preview->set_normal_texture(get_icon("GuiVisibilityHidden", "EditorIcons")); @@ -502,21 +526,9 @@ void VisualShaderEditor::_update_graph() { node->add_child(hb); node->set_slot(i + port_offset, valid_left, port_left, type_color[port_left], valid_right, port_right, type_color[port_right]); - - if (EditorSettings::get_singleton()->get("interface/theme/use_graph_node_headers")) { - Ref<StyleBoxFlat> sb = node->get_stylebox("frame", "GraphNode"); - Color c = sb->get_border_color(); - Color mono_color = ((c.r + c.g + c.b) / 3) < 0.7 ? Color(1.0, 1.0, 1.0) : Color(0.0, 0.0, 0.0); - mono_color.a = 0.85; - c = mono_color; - - node->add_color_override("title_color", c); - c.a = 0.7; - node->add_color_override("close_color", c); - } } - if (vsnode->get_output_port_for_preview() >= 0) { + if (vsnode->get_output_port_for_preview() >= 0 && vsnode->get_output_port_type(vsnode->get_output_port_for_preview()) != VisualShaderNode::PORT_TYPE_TRANSFORM) { VisualShaderNodePortPreview *port_preview = memnew(VisualShaderNodePortPreview); port_preview->setup(visual_shader, type, nodes[n_i], vsnode->get_output_port_for_preview()); port_preview->set_h_size_flags(SIZE_SHRINK_CENTER); @@ -530,6 +542,11 @@ void VisualShaderEditor::_update_graph() { error_label->set_text(error); node->add_child(error_label); } + + if (!uniform.is_valid()) { + graph->add_child(node); + _update_created_node(node); + } } for (List<VisualShader::Connection>::Element *E = connections.front(); E; E = E->next()) { @@ -750,7 +767,6 @@ void VisualShaderEditor::_connection_request(const String &p_from, int p_from_in int to = p_to.to_int(); if (!visual_shader->can_connect_nodes(type, from, p_from_index, to, p_to_index)) { - EditorNode::get_singleton()->show_warning(TTR("Unable to connect, port may be in use or connection may be invalid.")); return; } @@ -833,40 +849,56 @@ void VisualShaderEditor::_node_selected(Object *p_node) { //EditorNode::get_singleton()->push_item(vsnode.ptr(), "", true); } -void VisualShaderEditor::_member_gui_input(const Ref<InputEvent> p_event) { +void VisualShaderEditor::_graph_gui_input(const Ref<InputEvent> p_event) { + Ref<InputEventMouseButton> mb = p_event; - Ref<InputEventKey> key = p_event; - if (mb.is_valid()) { - if (mb->is_pressed() && mb->get_button_index() == BUTTON_LEFT && mb->is_doubleclick()) { - _member_create(); - } - } else if (key.is_valid()) { - if (key->is_pressed() && key->get_scancode() == KEY_ENTER) { - _member_create(); - } - } + if (mb.is_valid() && mb->is_pressed() && mb->get_button_index() == BUTTON_RIGHT) + _show_members_dialog(true); } -void VisualShaderEditor::_input(const Ref<InputEvent> p_event) { - if (graph->has_focus()) { - Ref<InputEventMouseButton> mb = p_event; +void VisualShaderEditor::_show_members_dialog(bool at_mouse_pos) { - if (mb.is_valid() && mb->is_pressed() && mb->get_button_index() == BUTTON_RIGHT) { - saved_node_pos_dirty = true; - saved_node_pos = graph->get_local_mouse_position(); + members_dialog->popup(); - Point2 gpos = Input::get_singleton()->get_mouse_position(); - members_dialog->popup(); - members_dialog->set_position(gpos); - } + if (at_mouse_pos) { + saved_node_pos_dirty = true; + saved_node_pos = graph->get_local_mouse_position(); + + Point2 gpos = Input::get_singleton()->get_mouse_position(); + members_dialog->popup(); + members_dialog->set_position(gpos); + } else { + saved_node_pos_dirty = false; + members_dialog->set_position(graph->get_global_position() + Point2(5 * EDSCALE, 65 * EDSCALE)); + } + + // keep dialog within window bounds + Size2 window_size = OS::get_singleton()->get_window_size(); + Rect2 dialog_rect = members_dialog->get_global_rect(); + if (dialog_rect.position.y + dialog_rect.size.y > window_size.y) { + int difference = dialog_rect.position.y + dialog_rect.size.y - window_size.y; + members_dialog->set_position(members_dialog->get_position() - Point2(0, difference)); + } + if (dialog_rect.position.x + dialog_rect.size.x > window_size.x) { + int difference = dialog_rect.position.x + dialog_rect.size.x - window_size.x; + members_dialog->set_position(members_dialog->get_position() - Point2(difference, 0)); } + + node_filter->call_deferred("grab_focus"); // still not visible + node_filter->select_all(); } -void VisualShaderEditor::_show_members_dialog() { - saved_node_pos_dirty = false; - members_dialog->popup(); - members_dialog->set_position(graph->get_global_position() + Point2(5 * EDSCALE, 65 * EDSCALE)); +void VisualShaderEditor::_sbox_input(const Ref<InputEvent> &p_ie) { + Ref<InputEventKey> ie = p_ie; + if (ie.is_valid() && (ie->get_scancode() == KEY_UP || + ie->get_scancode() == KEY_DOWN || + ie->get_scancode() == KEY_ENTER || + ie->get_scancode() == KEY_KP_ENTER)) { + + members->call("_gui_input", ie); + node_filter->accept_event(); + } } void VisualShaderEditor::_notification(int p_what) { @@ -1238,7 +1270,7 @@ void VisualShaderEditor::_bind_methods() { ClassDB::bind_method("_mode_selected", &VisualShaderEditor::_mode_selected); ClassDB::bind_method("_input_select_item", &VisualShaderEditor::_input_select_item); ClassDB::bind_method("_preview_select_port", &VisualShaderEditor::_preview_select_port); - ClassDB::bind_method("_input", &VisualShaderEditor::_input); + ClassDB::bind_method("_graph_gui_input", &VisualShaderEditor::_graph_gui_input); ClassDB::bind_method(D_METHOD("get_drag_data_fw"), &VisualShaderEditor::get_drag_data_fw); ClassDB::bind_method(D_METHOD("can_drop_data_fw"), &VisualShaderEditor::can_drop_data_fw); @@ -1247,7 +1279,7 @@ void VisualShaderEditor::_bind_methods() { ClassDB::bind_method("_is_available", &VisualShaderEditor::_is_available); ClassDB::bind_method("_tools_menu_option", &VisualShaderEditor::_tools_menu_option); ClassDB::bind_method("_show_members_dialog", &VisualShaderEditor::_show_members_dialog); - ClassDB::bind_method("_member_gui_input", &VisualShaderEditor::_member_gui_input); + ClassDB::bind_method("_sbox_input", &VisualShaderEditor::_sbox_input); ClassDB::bind_method("_member_filter_changed", &VisualShaderEditor::_member_filter_changed); ClassDB::bind_method("_member_selected", &VisualShaderEditor::_member_selected); ClassDB::bind_method("_member_unselected", &VisualShaderEditor::_member_unselected); @@ -1278,6 +1310,7 @@ VisualShaderEditor::VisualShaderEditor() { graph->connect("scroll_offset_changed", this, "_scroll_changed"); graph->connect("duplicate_nodes_request", this, "_duplicate_nodes"); graph->connect("delete_nodes_request", this, "_on_nodes_delete"); + graph->connect("gui_input", this, "_graph_gui_input"); graph->add_valid_connection_type(VisualShaderNode::PORT_TYPE_SCALAR, VisualShaderNode::PORT_TYPE_SCALAR); graph->add_valid_connection_type(VisualShaderNode::PORT_TYPE_SCALAR, VisualShaderNode::PORT_TYPE_VECTOR); graph->add_valid_connection_type(VisualShaderNode::PORT_TYPE_SCALAR, VisualShaderNode::PORT_TYPE_BOOLEAN); @@ -1306,7 +1339,7 @@ VisualShaderEditor::VisualShaderEditor() { graph->get_zoom_hbox()->add_child(add_node); add_node->set_text(TTR("Add Node...")); graph->get_zoom_hbox()->move_child(add_node, 0); - add_node->connect("pressed", this, "_show_members_dialog"); + add_node->connect("pressed", this, "_show_members_dialog", varray(false)); /////////////////////////////////////// // SHADER NODES TREE @@ -1321,6 +1354,7 @@ VisualShaderEditor::VisualShaderEditor() { node_filter = memnew(LineEdit); filter_hb->add_child(node_filter); node_filter->connect("text_changed", this, "_member_filter_changed"); + node_filter->connect("gui_input", this, "_sbox_input"); node_filter->set_h_size_flags(SIZE_EXPAND_FILL); node_filter->set_placeholder(TTR("Search")); @@ -1340,9 +1374,9 @@ VisualShaderEditor::VisualShaderEditor() { members->set_allow_reselect(true); members->set_hide_folding(false); members->set_custom_minimum_size(Size2(180 * EDSCALE, 200 * EDSCALE)); + members->connect("item_activated", this, "_member_create"); members->connect("item_selected", this, "_member_selected"); members->connect("nothing_selected", this, "_member_unselected"); - members->connect("gui_input", this, "_member_gui_input"); Label *desc_label = memnew(Label); members_vb->add_child(desc_label); @@ -1827,9 +1861,9 @@ Control *VisualShaderNodePluginDefault::create_editor(const Ref<VisualShaderNode if (Object::cast_to<EditorPropertyResource>(prop)) { Object::cast_to<EditorPropertyResource>(prop)->set_use_sub_inspector(false); prop->set_custom_minimum_size(Size2(100 * EDSCALE, 0)); - } else if (Object::cast_to<EditorPropertyTransform>(prop)) { + } else if (Object::cast_to<EditorPropertyTransform>(prop) || Object::cast_to<EditorPropertyVector3>(prop)) { prop->set_custom_minimum_size(Size2(250 * EDSCALE, 0)); - } else if (Object::cast_to<EditorPropertyFloat>(prop) || Object::cast_to<EditorPropertyVector3>(prop)) { + } else if (Object::cast_to<EditorPropertyFloat>(prop)) { prop->set_custom_minimum_size(Size2(100 * EDSCALE, 0)); } else if (Object::cast_to<EditorPropertyEnum>(prop)) { prop->set_custom_minimum_size(Size2(100 * EDSCALE, 0)); diff --git a/editor/plugins/visual_shader_editor_plugin.h b/editor/plugins/visual_shader_editor_plugin.h index 4b0b48ad92..35041da2bd 100644 --- a/editor/plugins/visual_shader_editor_plugin.h +++ b/editor/plugins/visual_shader_editor_plugin.h @@ -85,7 +85,7 @@ class VisualShaderEditor : public VBoxContainer { RichTextLabel *node_desc; void _tools_menu_option(int p_idx); - void _show_members_dialog(); + void _show_members_dialog(bool at_mouse_pos); void _update_graph(); @@ -166,10 +166,10 @@ class VisualShaderEditor : public VBoxContainer { void _input_select_item(Ref<VisualShaderNodeInput> input, String name); void _preview_select_port(int p_node, int p_port); - void _input(const Ref<InputEvent> p_event); + void _graph_gui_input(const Ref<InputEvent> p_event); - void _member_gui_input(const Ref<InputEvent> p_event); void _member_filter_changed(const String &p_text); + void _sbox_input(const Ref<InputEvent> &p_ie); void _member_selected(); void _member_unselected(); void _member_create(); @@ -179,6 +179,7 @@ class VisualShaderEditor : public VBoxContainer { void drop_data_fw(const Point2 &p_point, const Variant &p_data, Control *p_from); bool _is_available(int p_flags); + void _update_created_node(GraphNode *node); protected: void _notification(int p_what); diff --git a/editor/progress_dialog.cpp b/editor/progress_dialog.cpp index 5fdc725f50..8dac5fa6b5 100644 --- a/editor/progress_dialog.cpp +++ b/editor/progress_dialog.cpp @@ -161,6 +161,7 @@ void ProgressDialog::_popup() { main->set_margin(MARGIN_TOP, style->get_margin(MARGIN_TOP)); main->set_margin(MARGIN_BOTTOM, -style->get_margin(MARGIN_BOTTOM)); + raise(); popup_centered(ms); } @@ -220,6 +221,7 @@ bool ProgressDialog::task_step(const String &p_task, const String &p_state, int if (cancel_hb->is_visible()) { OS::get_singleton()->force_process_input(); } + Main::iteration(); // this will not work on a lot of platforms, so it's only meant for the editor return cancelled; } diff --git a/editor/project_export.cpp b/editor/project_export.cpp index 82a6a07805..b9cf7ec10a 100644 --- a/editor/project_export.cpp +++ b/editor/project_export.cpp @@ -631,6 +631,7 @@ void ProjectExportDialog::_delete_preset_confirm() { int idx = presets->get_current(); _edit_preset(-1); + export_button->set_disabled(true); EditorExport::get_singleton()->remove_export_preset(idx); _update_presets(); } @@ -931,7 +932,7 @@ void ProjectExportDialog::_export_project() { Ref<EditorExportPlatform> platform = current->get_platform(); ERR_FAIL_COND(platform.is_null()); - export_project->set_access(FileDialog::ACCESS_FILESYSTEM); + export_project->set_access(EditorFileDialog::ACCESS_FILESYSTEM); export_project->clear_filters(); List<String> extension_list = platform->get_binary_extensions(current); @@ -955,7 +956,7 @@ void ProjectExportDialog::_export_project() { export_project->get_line_edit()->connect("text_entered", export_project, "_file_entered"); } - export_project->set_mode(FileDialog::MODE_SAVE_FILE); + export_project->set_mode(EditorFileDialog::MODE_SAVE_FILE); export_project->popup_centered_ratio(); } @@ -1184,9 +1185,9 @@ ProjectExportDialog::ProjectExportDialog() { patches_hb->add_child(patch_export); patches_hb->add_spacer(); - patch_dialog = memnew(FileDialog); + patch_dialog = memnew(EditorFileDialog); patch_dialog->add_filter("*.pck ; Pack File"); - patch_dialog->set_mode(FileDialog::MODE_OPEN_FILE); + patch_dialog->set_mode(EditorFileDialog::MODE_OPEN_FILE); patch_dialog->connect("file_selected", this, "_patch_selected"); add_child(patch_dialog); @@ -1266,11 +1267,11 @@ ProjectExportDialog::ProjectExportDialog() { export_all_button->connect("pressed", this, "_export_all_dialog"); export_all_button->set_disabled(true); - export_pck_zip = memnew(FileDialog); + export_pck_zip = memnew(EditorFileDialog); export_pck_zip->add_filter("*.zip ; ZIP File"); export_pck_zip->add_filter("*.pck ; Godot Game Pack"); - export_pck_zip->set_access(FileDialog::ACCESS_FILESYSTEM); - export_pck_zip->set_mode(FileDialog::MODE_SAVE_FILE); + export_pck_zip->set_access(EditorFileDialog::ACCESS_FILESYSTEM); + export_pck_zip->set_mode(EditorFileDialog::MODE_SAVE_FILE); add_child(export_pck_zip); export_pck_zip->connect("file_selected", this, "_export_pck_zip_selected"); @@ -1300,8 +1301,8 @@ ProjectExportDialog::ProjectExportDialog() { export_templates_error->add_child(download_templates); download_templates->connect("pressed", this, "_open_export_template_manager"); - export_project = memnew(FileDialog); - export_project->set_access(FileDialog::ACCESS_FILESYSTEM); + export_project = memnew(EditorFileDialog); + export_project->set_access(EditorFileDialog::ACCESS_FILESYSTEM); add_child(export_project); export_project->connect("file_selected", this, "_export_project_to_path"); export_project->get_line_edit()->connect("text_changed", this, "_validate_export_path"); diff --git a/editor/project_export.h b/editor/project_export.h index f8b6484477..476a30c9c0 100644 --- a/editor/project_export.h +++ b/editor/project_export.h @@ -90,7 +90,7 @@ private: Tree *patches; Button *patch_export; int patch_index; - FileDialog *patch_dialog; + EditorFileDialog *patch_dialog; ConfirmationDialog *patch_erase; Button *export_button; @@ -139,8 +139,8 @@ private: bool can_drop_data_fw(const Point2 &p_point, const Variant &p_data, Control *p_from) const; void drop_data_fw(const Point2 &p_point, const Variant &p_data, Control *p_from); - FileDialog *export_pck_zip; - FileDialog *export_project; + EditorFileDialog *export_pck_zip; + EditorFileDialog *export_project; CheckBox *export_debug; CheckBox *export_pck_zip_debug; diff --git a/editor/scene_tree_dock.cpp b/editor/scene_tree_dock.cpp index bd245d5da9..1dca542138 100644 --- a/editor/scene_tree_dock.cpp +++ b/editor/scene_tree_dock.cpp @@ -892,10 +892,8 @@ void SceneTreeDock::_tool_selected(int p_tool, bool p_confirm_override) { List<Node *>::Element *e = selection.front(); if (e) { Node *node = e->get(); - if (node) { - if (node && node->get_scene_inherited_state().is_valid()) { - scene_tree->emit_signal("open", node->get_scene_inherited_state()->get_path()); - } + if (node && node->get_scene_inherited_state().is_valid()) { + scene_tree->emit_signal("open", node->get_scene_inherited_state()->get_path()); } } } break; @@ -986,6 +984,7 @@ void SceneTreeDock::_notification(int p_what) { SpatialEditorPlugin *spatial_editor_plugin = Object::cast_to<SpatialEditorPlugin>(editor_data->get_editor("3D")); spatial_editor_plugin->get_spatial_editor()->connect("item_lock_status_changed", scene_tree, "_update_tree"); + spatial_editor_plugin->get_spatial_editor()->connect("item_group_status_changed", scene_tree, "_update_tree"); button_add->set_icon(get_icon("Add", "EditorIcons")); button_instance->set_icon(get_icon("Instance", "EditorIcons")); @@ -1941,7 +1940,13 @@ void SceneTreeDock::set_selected(Node *p_node, bool p_emit_selected) { void SceneTreeDock::import_subscene() { - import_subscene_dialog->popup_centered_ratio(); + Size2 popup_size = Size2(500, 800) * editor_get_scale(); + Size2 window_size = get_viewport_rect().size; + + popup_size.x = MIN(window_size.x * 0.8, popup_size.x); + popup_size.y = MIN(window_size.y * 0.8, popup_size.y); + + import_subscene_dialog->popup_centered(popup_size); } void SceneTreeDock::_import_subscene() { diff --git a/editor/scene_tree_editor.cpp b/editor/scene_tree_editor.cpp index f2d11c2753..62845bfb9b 100644 --- a/editor/scene_tree_editor.cpp +++ b/editor/scene_tree_editor.cpp @@ -88,12 +88,18 @@ void SceneTreeEditor::_cell_button_pressed(Object *p_item, int p_column, int p_i } undo_redo->commit_action(); } else if (p_id == BUTTON_LOCK) { + undo_redo->create_action(TTR("Unlock Node")); if (n->is_class("CanvasItem") || n->is_class("Spatial")) { - n->set_meta("_edit_lock_", Variant()); - _update_tree(); - emit_signal("node_changed"); + + undo_redo->add_do_method(n, "remove_meta", "_edit_lock_"); + undo_redo->add_undo_method(n, "set_meta", "_edit_lock_", true); + undo_redo->add_do_method(this, "_update_tree", Variant()); + undo_redo->add_undo_method(this, "_update_tree", Variant()); + undo_redo->add_do_method(this, "emit_signal", "node_changed"); + undo_redo->add_undo_method(this, "emit_signal", "node_changed"); } + undo_redo->commit_action(); } else if (p_id == BUTTON_PIN) { if (n->is_class("AnimationPlayer")) { @@ -102,11 +108,18 @@ void SceneTreeEditor::_cell_button_pressed(Object *p_item, int p_column, int p_i } } else if (p_id == BUTTON_GROUP) { - if (n->is_class("CanvasItem")) { - n->set_meta("_edit_group_", Variant()); - _update_tree(); - emit_signal("node_changed"); + undo_redo->create_action(TTR("Button Group")); + + if (n->is_class("CanvasItem") || n->is_class("Spatial")) { + + undo_redo->add_do_method(n, "remove_meta", "_edit_group_"); + undo_redo->add_undo_method(n, "set_meta", "_edit_group_", true); + undo_redo->add_do_method(this, "_update_tree", Variant()); + undo_redo->add_undo_method(this, "_update_tree", Variant()); + undo_redo->add_do_method(this, "emit_signal", "node_changed"); + undo_redo->add_undo_method(this, "emit_signal", "node_changed"); } + undo_redo->commit_action(); } else if (p_id == BUTTON_WARNING) { String config_err = n->get_configuration_warning(); @@ -303,6 +316,10 @@ bool SceneTreeEditor::_add_nodes(Node *p_node, TreeItem *p_parent) { if (is_locked) item->add_button(0, get_icon("Lock", "EditorIcons"), BUTTON_LOCK, false, TTR("Node is locked.\nClick to unlock it.")); + bool is_grouped = p_node->has_meta("_edit_group_"); + if (is_grouped) + item->add_button(0, get_icon("Group", "EditorIcons"), BUTTON_GROUP, false, TTR("Children are not selectable.\nClick to make selectable.")); + bool v = p_node->call("is_visible"); if (v) item->add_button(0, get_icon("GuiVisibilityVisible", "EditorIcons"), BUTTON_VISIBILITY, false, TTR("Toggle Visibility")); diff --git a/editor/script_editor_debugger.cpp b/editor/script_editor_debugger.cpp index 717d6bc8f6..1da8bf874c 100644 --- a/editor/script_editor_debugger.cpp +++ b/editor/script_editor_debugger.cpp @@ -209,8 +209,8 @@ void ScriptEditorDebugger::debug_next() { Array msg; msg.push_back("next"); ppeer->put_var(msg); + _clear_execution(); stack_dump->clear(); - inspector->edit(NULL); } void ScriptEditorDebugger::debug_step() { @@ -221,8 +221,8 @@ void ScriptEditorDebugger::debug_step() { Array msg; msg.push_back("step"); ppeer->put_var(msg); + _clear_execution(); stack_dump->clear(); - inspector->edit(NULL); } void ScriptEditorDebugger::debug_break() { @@ -245,6 +245,7 @@ void ScriptEditorDebugger::debug_continue() { OS::get_singleton()->enable_for_stealing_focus(EditorNode::get_singleton()->get_child_process_id()); Array msg; + _clear_execution(); msg.push_back("continue"); ppeer->put_var(msg); } @@ -424,6 +425,7 @@ void ScriptEditorDebugger::_parse_message(const String &p_msg, const Array &p_da } else if (p_msg == "debug_exit") { breaked = false; + _clear_execution(); copy->set_disabled(true); step->set_disabled(true); next->set_disabled(true); @@ -436,7 +438,6 @@ void ScriptEditorDebugger::_parse_message(const String &p_msg, const Array &p_da emit_signal("breaked", false, false, Variant()); profiler->set_enabled(true); profiler->disable_seeking(); - inspector->edit(NULL); EditorNode::get_singleton()->get_pause_button()->set_pressed(false); } else if (p_msg == "message:click_ctrl") { @@ -1273,6 +1274,18 @@ void ScriptEditorDebugger::_notification(int p_what) { } } +void ScriptEditorDebugger::_clear_execution() { + TreeItem *ti = stack_dump->get_selected(); + if (!ti) + return; + + Dictionary d = ti->get_metadata(0); + + stack_script = ResourceLoader::load(d["file"]); + emit_signal("clear_execution", stack_script); + stack_script.unref(); +} + void ScriptEditorDebugger::start() { stop(); @@ -1313,6 +1326,7 @@ void ScriptEditorDebugger::stop() { set_process(false); breaked = false; + _clear_execution(); server->stop(); _clear_remote_objects(); @@ -1337,7 +1351,7 @@ void ScriptEditorDebugger::stop() { profiler->set_enabled(true); inspect_scene_tree->clear(); - + inspector->edit(NULL); EditorNode::get_singleton()->get_pause_button()->set_pressed(false); EditorNode::get_singleton()->get_pause_button()->set_disabled(true); EditorNode::get_singleton()->get_scene_tree_dock()->hide_remote_tree(); @@ -1393,6 +1407,7 @@ void ScriptEditorDebugger::_stack_dump_frame_selected() { stack_script = ResourceLoader::load(d["file"]); emit_signal("goto_script_line", stack_script, int(d["line"]) - 1); + emit_signal("set_execution", stack_script, int(d["line"]) - 1); stack_script.unref(); if (connection.is_valid() && connection->is_connected_to_host()) { @@ -1966,6 +1981,8 @@ void ScriptEditorDebugger::_bind_methods() { ClassDB::bind_method(D_METHOD("_scene_tree_property_value_edited"), &ScriptEditorDebugger::_scene_tree_property_value_edited); ADD_SIGNAL(MethodInfo("goto_script_line")); + ADD_SIGNAL(MethodInfo("set_execution", PropertyInfo("script"), PropertyInfo(Variant::INT, "line"))); + ADD_SIGNAL(MethodInfo("clear_execution", PropertyInfo("script"))); ADD_SIGNAL(MethodInfo("breaked", PropertyInfo(Variant::BOOL, "reallydid"), PropertyInfo(Variant::BOOL, "can_debug"))); ADD_SIGNAL(MethodInfo("show_debugger", PropertyInfo(Variant::BOOL, "reallydid"))); } diff --git a/editor/script_editor_debugger.h b/editor/script_editor_debugger.h index 5f21602579..f7afe6bf72 100644 --- a/editor/script_editor_debugger.h +++ b/editor/script_editor_debugger.h @@ -205,6 +205,8 @@ class ScriptEditorDebugger : public Control { void _export_csv(); + void _clear_execution(); + protected: void _notification(int p_what); static void _bind_methods(); diff --git a/editor/spatial_editor_gizmos.cpp b/editor/spatial_editor_gizmos.cpp index 2e06a903aa..f540b386aa 100644 --- a/editor/spatial_editor_gizmos.cpp +++ b/editor/spatial_editor_gizmos.cpp @@ -324,7 +324,6 @@ void EditorSpatialGizmo::add_handles(const Vector<Vector3> &p_handles, const Ref ERR_FAIL_COND(!spatial_node); - ERR_FAIL_COND(!spatial_node); Instance ins; Ref<ArrayMesh> mesh = memnew(ArrayMesh); @@ -1310,6 +1309,28 @@ void CameraSpatialGizmoPlugin::redraw(EditorSpatialGizmo *p_gizmo) { Ref<Material> material = get_material("camera_material", p_gizmo); Ref<Material> icon = get_material("camera_icon", p_gizmo); +#define ADD_TRIANGLE(m_a, m_b, m_c) \ + { \ + lines.push_back(m_a); \ + lines.push_back(m_b); \ + lines.push_back(m_b); \ + lines.push_back(m_c); \ + lines.push_back(m_c); \ + lines.push_back(m_a); \ + } + +#define ADD_QUAD(m_a, m_b, m_c, m_d) \ + { \ + lines.push_back(m_a); \ + lines.push_back(m_b); \ + lines.push_back(m_b); \ + lines.push_back(m_c); \ + lines.push_back(m_c); \ + lines.push_back(m_d); \ + lines.push_back(m_d); \ + lines.push_back(m_a); \ + } + switch (camera->get_projection()) { case Camera::PROJECTION_PERSPECTIVE: { @@ -1322,16 +1343,6 @@ void CameraSpatialGizmoPlugin::redraw(EditorSpatialGizmo *p_gizmo) { nside.x = -nside.x; Vector3 up = Vector3(0, side.x, 0); -#define ADD_TRIANGLE(m_a, m_b, m_c) \ - { \ - lines.push_back(m_a); \ - lines.push_back(m_b); \ - lines.push_back(m_b); \ - lines.push_back(m_c); \ - lines.push_back(m_c); \ - lines.push_back(m_a); \ - } - ADD_TRIANGLE(Vector3(), side + up, side - up); ADD_TRIANGLE(Vector3(), nside + up, nside - up); ADD_TRIANGLE(Vector3(), side + up, nside + up); @@ -1346,17 +1357,6 @@ void CameraSpatialGizmoPlugin::redraw(EditorSpatialGizmo *p_gizmo) { } break; case Camera::PROJECTION_ORTHOGONAL: { -#define ADD_QUAD(m_a, m_b, m_c, m_d) \ - { \ - lines.push_back(m_a); \ - lines.push_back(m_b); \ - lines.push_back(m_b); \ - lines.push_back(m_c); \ - lines.push_back(m_c); \ - lines.push_back(m_d); \ - lines.push_back(m_d); \ - lines.push_back(m_a); \ - } float size = camera->get_size(); float hsize = size * 0.5; @@ -1369,6 +1369,7 @@ void CameraSpatialGizmoPlugin::redraw(EditorSpatialGizmo *p_gizmo) { ADD_QUAD(-up - right + back, -up + right + back, up + right + back, up - right + back); ADD_QUAD(up + right, up + right + back, up - right + back, up - right); ADD_QUAD(-up + right, -up + right + back, -up - right + back, -up - right); + handles.push_back(right + back); right.x *= 0.25; @@ -1376,8 +1377,30 @@ void CameraSpatialGizmoPlugin::redraw(EditorSpatialGizmo *p_gizmo) { ADD_TRIANGLE(tup, right + up + back, -right + up + back); } break; + case Camera::PROJECTION_FRUSTUM: { + float hsize = camera->get_size() / 2.0; + + Vector3 side = Vector3(hsize, 0, -camera->get_znear()).normalized(); + Vector3 nside = side; + nside.x = -nside.x; + Vector3 up = Vector3(0, side.x, 0); + Vector3 offset = Vector3(camera->get_frustum_offset().x, camera->get_frustum_offset().y, 0.0); + + ADD_TRIANGLE(Vector3(), side + up + offset, side - up + offset); + ADD_TRIANGLE(Vector3(), nside + up + offset, nside - up + offset); + ADD_TRIANGLE(Vector3(), side + up + offset, nside + up + offset); + ADD_TRIANGLE(Vector3(), side - up + offset, nside - up + offset); + + side.x *= 0.25; + nside.x *= 0.25; + Vector3 tup(0, up.y * 3 / 2, side.z); + ADD_TRIANGLE(tup + offset, side + up + offset, nside + up + offset); + } } +#undef ADD_TRIANGLE +#undef ADD_QUAD + p_gizmo->add_lines(lines, material); p_gizmo->add_unscaled_billboard(icon, 0.05); p_gizmo->add_handles(handles, get_material("handles")); diff --git a/editor/translations/af.po b/editor/translations/af.po index acc57bd967..795044c0cd 100644 --- a/editor/translations/af.po +++ b/editor/translations/af.po @@ -433,7 +433,7 @@ msgstr "" #: editor/animation_track_editor.cpp #, fuzzy -msgid "Snap (s): " +msgid "Snap:" msgstr "Tree (s):" #: editor/animation_track_editor.cpp @@ -441,6 +441,14 @@ msgstr "Tree (s):" msgid "Animation step value." msgstr "Animasie Zoem." +#: editor/animation_track_editor.cpp +msgid "Seconds" +msgstr "" + +#: editor/animation_track_editor.cpp +msgid "FPS" +msgstr "" + #: editor/animation_track_editor.cpp editor/editor_properties.cpp #: editor/plugins/polygon_2d_editor_plugin.cpp #: editor/plugins/script_text_editor.cpp @@ -3814,6 +3822,11 @@ msgid "Delete Node" msgstr "Skrap" #: editor/plugins/animation_blend_tree_editor_plugin.cpp +#: editor/scene_tree_dock.cpp +msgid "Delete Node(s)" +msgstr "" + +#: editor/plugins/animation_blend_tree_editor_plugin.cpp #, fuzzy msgid "Toggle Filter On/Off" msgstr "Wissel Gunsteling" @@ -4791,8 +4804,33 @@ msgid "Layout" msgstr "" #: editor/plugins/canvas_item_editor_plugin.cpp +msgid "Translation mask for inserting keys." +msgstr "" + +#: editor/plugins/canvas_item_editor_plugin.cpp +msgid "Rotation mask for inserting keys." +msgstr "" + +#: editor/plugins/canvas_item_editor_plugin.cpp +msgid "Scale mask for inserting keys." +msgstr "" + +#: editor/plugins/canvas_item_editor_plugin.cpp +#, fuzzy +msgid "Insert keys (based on mask)." +msgstr "Anim Voeg Sleutel by" + +#: editor/plugins/canvas_item_editor_plugin.cpp +msgid "" +"Auto insert keys when objects are translated, rotated on scaled (based on " +"mask).\n" +"Keys are only added to existing tracks, no new tracks will be created.\n" +"Keys must be inserted manually for the first time." +msgstr "" + +#: editor/plugins/canvas_item_editor_plugin.cpp #, fuzzy -msgid "Insert keys." +msgid "Auto Insert Key" msgstr "Anim Voeg Sleutel by" #: editor/plugins/canvas_item_editor_plugin.cpp @@ -4864,6 +4902,52 @@ msgstr "" msgid "Set Handle" msgstr "" +#: editor/plugins/cpu_particles_2d_editor_plugin.cpp +#: editor/plugins/particles_2d_editor_plugin.cpp +msgid "Error loading image:" +msgstr "" + +#: editor/plugins/cpu_particles_2d_editor_plugin.cpp +#: editor/plugins/particles_2d_editor_plugin.cpp +msgid "No pixels with transparency > 128 in image..." +msgstr "" + +#: editor/plugins/cpu_particles_2d_editor_plugin.cpp +#: editor/plugins/particles_2d_editor_plugin.cpp +msgid "Load Emission Mask" +msgstr "" + +#: editor/plugins/cpu_particles_2d_editor_plugin.cpp +#: editor/plugins/particles_2d_editor_plugin.cpp +msgid "Clear Emission Mask" +msgstr "" + +#: editor/plugins/cpu_particles_2d_editor_plugin.cpp +#: editor/plugins/particles_2d_editor_plugin.cpp +#: editor/plugins/particles_editor_plugin.cpp +msgid "Particles" +msgstr "" + +#: editor/plugins/cpu_particles_2d_editor_plugin.cpp +#: editor/plugins/particles_2d_editor_plugin.cpp +msgid "Generated Point Count:" +msgstr "" + +#: editor/plugins/cpu_particles_2d_editor_plugin.cpp +#: editor/plugins/particles_2d_editor_plugin.cpp +msgid "Emission Mask" +msgstr "" + +#: editor/plugins/cpu_particles_2d_editor_plugin.cpp +#: editor/plugins/particles_2d_editor_plugin.cpp +msgid "Capture from Pixel" +msgstr "" + +#: editor/plugins/cpu_particles_2d_editor_plugin.cpp +#: editor/plugins/particles_2d_editor_plugin.cpp +msgid "Emission Colors" +msgstr "" + #: editor/plugins/cpu_particles_editor_plugin.cpp msgid "CPUParticles" msgstr "" @@ -5214,52 +5298,15 @@ msgid "Can only set point into a ParticlesMaterial process material" msgstr "" #: editor/plugins/particles_2d_editor_plugin.cpp -msgid "Error loading image:" -msgstr "" - -#: editor/plugins/particles_2d_editor_plugin.cpp -msgid "No pixels with transparency > 128 in image..." -msgstr "" - -#: editor/plugins/particles_2d_editor_plugin.cpp -msgid "Load Emission Mask" -msgstr "" - -#: editor/plugins/particles_2d_editor_plugin.cpp -msgid "Clear Emission Mask" -msgstr "" - -#: editor/plugins/particles_2d_editor_plugin.cpp #: editor/plugins/particles_editor_plugin.cpp msgid "Convert to CPUParticles" msgstr "" #: editor/plugins/particles_2d_editor_plugin.cpp #: editor/plugins/particles_editor_plugin.cpp -msgid "Particles" -msgstr "" - -#: editor/plugins/particles_2d_editor_plugin.cpp -msgid "Generated Point Count:" -msgstr "" - -#: editor/plugins/particles_2d_editor_plugin.cpp -#: editor/plugins/particles_editor_plugin.cpp msgid "Generation Time (sec):" msgstr "" -#: editor/plugins/particles_2d_editor_plugin.cpp -msgid "Emission Mask" -msgstr "" - -#: editor/plugins/particles_2d_editor_plugin.cpp -msgid "Capture from Pixel" -msgstr "" - -#: editor/plugins/particles_2d_editor_plugin.cpp -msgid "Emission Colors" -msgstr "" - #: editor/plugins/particles_editor_plugin.cpp msgid "Faces contain no area!" msgstr "" @@ -5782,7 +5829,7 @@ msgid "Save Theme As..." msgstr "" #: editor/plugins/script_editor_plugin.cpp -msgid " Class Reference" +msgid "%s Class Reference" msgstr "" #: editor/plugins/script_editor_plugin.cpp @@ -6614,6 +6661,26 @@ msgid "Nameless gizmo" msgstr "" #: editor/plugins/sprite_editor_plugin.cpp +#, fuzzy +msgid "Create Mesh2D" +msgstr "Skep Nuwe" + +#: editor/plugins/sprite_editor_plugin.cpp +#, fuzzy +msgid "Create Polygon2D" +msgstr "Skep Intekening" + +#: editor/plugins/sprite_editor_plugin.cpp +#, fuzzy +msgid "Create CollisionPolygon2D" +msgstr "Skep Intekening" + +#: editor/plugins/sprite_editor_plugin.cpp +#, fuzzy +msgid "Create LightOccluder2D" +msgstr "Skep Vouer" + +#: editor/plugins/sprite_editor_plugin.cpp msgid "Sprite is empty!" msgstr "" @@ -6626,17 +6693,38 @@ msgid "Invalid geometry, can't replace by mesh." msgstr "" #: editor/plugins/sprite_editor_plugin.cpp +msgid "Invalid geometry, can't create polygon." +msgstr "" + +#: editor/plugins/sprite_editor_plugin.cpp +msgid "Invalid geometry, can't create collision polygon." +msgstr "" + +#: editor/plugins/sprite_editor_plugin.cpp +msgid "Invalid geometry, can't create light occluder." +msgstr "" + +#: editor/plugins/sprite_editor_plugin.cpp msgid "Sprite" msgstr "" #: editor/plugins/sprite_editor_plugin.cpp -msgid "Convert to 2D Mesh" +msgid "Convert to Mesh2D" msgstr "" #: editor/plugins/sprite_editor_plugin.cpp #, fuzzy -msgid "Create 2D Mesh" -msgstr "Skep Nuwe" +msgid "Convert to Polygon2D" +msgstr "Hernoem AutoLaai" + +#: editor/plugins/sprite_editor_plugin.cpp +#, fuzzy +msgid "Create CollisionPolygon2D Sibling" +msgstr "Skep Intekening" + +#: editor/plugins/sprite_editor_plugin.cpp +msgid "Create LightOccluder2D Sibling" +msgstr "" #: editor/plugins/sprite_editor_plugin.cpp msgid "Simplification: " @@ -7234,6 +7322,11 @@ msgid "Duplicate Nodes" msgstr "Anim Dupliseer Sleutels" #: editor/plugins/visual_shader_editor_plugin.cpp +#, fuzzy +msgid "Delete Nodes" +msgstr "Skrap" + +#: editor/plugins/visual_shader_editor_plugin.cpp msgid "Visual Shader Input Type Changed" msgstr "" @@ -8398,10 +8491,6 @@ msgid "Open documentation" msgstr "Opnoemings" #: editor/scene_tree_dock.cpp -msgid "Delete Node(s)" -msgstr "" - -#: editor/scene_tree_dock.cpp msgid "Add Child Node" msgstr "" diff --git a/editor/translations/ar.po b/editor/translations/ar.po index 6807717a59..50efabd7f5 100644 --- a/editor/translations/ar.po +++ b/editor/translations/ar.po @@ -17,7 +17,7 @@ # Rex_sa <asd1234567890m@gmail.com>, 2017, 2018, 2019. # Wajdi Feki <wajdi.feki@gmail.com>, 2017. # Omar Aglan <omar.aglan91@yahoo.com>, 2018, 2019. -# Codes Otaku <ilyas.gamerz@gmail.com>, 2018. +# Codes Otaku <ilyas.gamerz@gmail.com>, 2018, 2019. # Takai Eddine Kennouche <takai.kenn@gmail.com>, 2018. # Mohamed El-Baz <albaz2000eg@gmail.com>, 2018. # عاصم شكر - Aasem shokr <aasemshokr@gmail.com>, 2018. @@ -28,8 +28,8 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine editor\n" "POT-Creation-Date: \n" -"PO-Revision-Date: 2019-03-24 17:38+0000\n" -"Last-Translator: spiderx0x <legendofdarks@gmail.com>\n" +"PO-Revision-Date: 2019-04-17 10:02+0000\n" +"Last-Translator: Omar Aglan <omar.aglan91@yahoo.com>\n" "Language-Team: Arabic <https://hosted.weblate.org/projects/godot-engine/" "godot/ar/>\n" "Language: ar\n" @@ -53,7 +53,7 @@ msgstr "لا يوجد ما يكفي من البايتات من أجل فك ال #: core/math/expression.cpp msgid "Invalid input %i (not passed) in expression" -msgstr "مُدخل غير صالح \"i%\" (لم يتم تمريره) في السطر" +msgstr "إدخال خاطيء i% (لم يتم تمريره) في التصريح" #: core/math/expression.cpp msgid "self can't be used because instance is null (not passed)" @@ -363,11 +363,11 @@ msgstr "" #: editor/animation_track_editor.cpp msgid "An animation player can't animate itself, only other players." -msgstr "" +msgstr "مشغل الحركة لا يمكنه تحريك نفسه, فقط الاعبين الأخرين." #: editor/animation_track_editor.cpp msgid "Not possible to add a new track without a root" -msgstr "" +msgstr "لا يمكن إضافة مقطع جديد بدون جذر" #: editor/animation_track_editor.cpp #, fuzzy @@ -376,34 +376,31 @@ msgstr "إضافة مسار" #: editor/animation_track_editor.cpp msgid "Track path is invalid, so can't add a key." -msgstr "" +msgstr "مسار المقطع غير صالح, إذن لا يمكن إضافة مفتاح." #: editor/animation_track_editor.cpp msgid "Track is not of type Spatial, can't insert key" -msgstr "" +msgstr "المقطع ليس من نوع مكاني (Spatial), لا يمكن إضافة مفتاح." #: editor/animation_track_editor.cpp -#, fuzzy msgid "Add Transform Track Key" -msgstr "خط التحريك ثلاثي الأبعاد" +msgstr "أضف مفتاح مقطع المتحول (Transform)" #: editor/animation_track_editor.cpp -#, fuzzy msgid "Add Track Key" -msgstr "إضافة مسار" +msgstr "أضف مفتاح المقطع" #: editor/animation_track_editor.cpp msgid "Track path is invalid, so can't add a method key." -msgstr "" +msgstr "مسار المقطع غير صالح, إذن لا يمكن إضافة دالة المفتاح (Method key)." #: editor/animation_track_editor.cpp -#, fuzzy msgid "Add Method Track Key" -msgstr "استدعاء أسلوب المسار" +msgstr "أضف مفتاح مقطع الدالة" #: editor/animation_track_editor.cpp msgid "Method not found in object: " -msgstr "" +msgstr "دالة لم توجد في شيئ: " #: editor/animation_track_editor.cpp msgid "Anim Move Keys" @@ -411,12 +408,11 @@ msgstr "مفتاح حركة التحريك" #: editor/animation_track_editor.cpp msgid "Clipboard is empty" -msgstr "" +msgstr "ذاكرة التخزين المؤقت (Clipboard) فارغة" #: editor/animation_track_editor.cpp -#, fuzzy msgid "Paste Tracks" -msgstr "لصق المُعامل" +msgstr "لصق المقاطع" #: editor/animation_track_editor.cpp msgid "Anim Scale Keys" @@ -425,25 +421,32 @@ msgstr "مفتاح تكبير حركة" #: editor/animation_track_editor.cpp msgid "" "This option does not work for Bezier editing, as it's only a single track." -msgstr "" +msgstr "هذا الخيار لا يعمل لتعديل خط (Bezier), لأنه فقط مقطع واحد." #: editor/animation_track_editor.cpp msgid "Only show tracks from nodes selected in tree." -msgstr "" +msgstr "فقط قم بتبين المقاطع من العقد (Nodes) المحددة في الشجرة." #: editor/animation_track_editor.cpp msgid "Group tracks by node or display them as plain list." -msgstr "" +msgstr "قم بتجميع المقاطع حسب العقد (Nodes) أو إظهارهم كقائمة بسيطة." #: editor/animation_track_editor.cpp #, fuzzy -msgid "Snap (s): " -msgstr "خطوة (ثانية):" +msgid "Snap:" +msgstr "خطوة أو خطوات: " #: editor/animation_track_editor.cpp -#, fuzzy msgid "Animation step value." -msgstr "شجرة الحركة صحيحة." +msgstr "قيمة خطوة الحركة." + +#: editor/animation_track_editor.cpp +msgid "Seconds" +msgstr "" + +#: editor/animation_track_editor.cpp +msgid "FPS" +msgstr "" #: editor/animation_track_editor.cpp editor/editor_properties.cpp #: editor/plugins/polygon_2d_editor_plugin.cpp @@ -452,17 +455,15 @@ msgstr "شجرة الحركة صحيحة." #: editor/project_manager.cpp editor/project_settings_editor.cpp #: editor/property_editor.cpp modules/visual_script/visual_script_editor.cpp msgid "Edit" -msgstr "" +msgstr "تعديل" #: editor/animation_track_editor.cpp -#, fuzzy msgid "Animation properties." -msgstr "شجرة الحركة" +msgstr "خاصيات الحركة." #: editor/animation_track_editor.cpp -#, fuzzy msgid "Copy Tracks" -msgstr "إنسخ المُعامل" +msgstr "إنسخ المقاطع" #: editor/animation_track_editor.cpp msgid "Scale Selection" @@ -481,17 +482,14 @@ msgid "Duplicate Transposed" msgstr "نسخ محمّل" #: editor/animation_track_editor.cpp -#, fuzzy msgid "Delete Selection" -msgstr "نصف المُحدد" +msgstr "إحدف المحدد (المجموعة المختارة)" #: editor/animation_track_editor.cpp -#, fuzzy msgid "Go to Next Step" msgstr "إذهب إلي الخطوة التالية" #: editor/animation_track_editor.cpp -#, fuzzy msgid "Go to Previous Step" msgstr "إذهب إلي الخطوة السابقة" @@ -505,11 +503,12 @@ msgstr "تنظيف الحركة" #: editor/animation_track_editor.cpp msgid "Pick the node that will be animated:" -msgstr "" +msgstr "إختار العقدة التي سوف يتم تحريكها:" #: editor/animation_track_editor.cpp +#, fuzzy msgid "Use Bezier Curves" -msgstr "" +msgstr "إستعمل خطوط أو منحنيات Bezier" #: editor/animation_track_editor.cpp msgid "Anim. Optimizer" @@ -557,7 +556,7 @@ msgstr "نسبة التكبير:" #: editor/animation_track_editor.cpp msgid "Select tracks to copy:" -msgstr "" +msgstr "حدد مقاطع لنسخ:" #: editor/animation_track_editor.cpp editor/editor_properties.cpp #: editor/plugins/animation_player_editor_plugin.cpp @@ -565,20 +564,19 @@ msgstr "" #: editor/plugins/sprite_frames_editor_plugin.cpp editor/property_editor.cpp #: scene/gui/line_edit.cpp scene/gui/text_edit.cpp msgid "Copy" -msgstr "" +msgstr "أنسخ" #: editor/animation_track_editor_plugins.cpp -#, fuzzy msgid "Add Audio Track Clip" -msgstr "مقاطع الصوت:" +msgstr "أضف مقطع صوت" #: editor/animation_track_editor_plugins.cpp msgid "Change Audio Track Clip Start Offset" -msgstr "" +msgstr "تغيير موضع بداية مقطع صوت" #: editor/animation_track_editor_plugins.cpp msgid "Change Audio Track Clip End Offset" -msgstr "" +msgstr "تغيير موضع نهاية مقطع صوت" #: editor/array_property_edit.cpp msgid "Resize Array" @@ -646,11 +644,11 @@ msgstr "إرجاع التكبير" #: editor/code_editor.cpp modules/mono/editor/mono_bottom_panel.cpp msgid "Warnings" -msgstr "" +msgstr "تحذيرات" #: editor/code_editor.cpp msgid "Line and column numbers." -msgstr "" +msgstr "أرقام الخط و العمود." #: editor/connections_dialog.cpp msgid "Method in target Node must be specified!" @@ -734,7 +732,6 @@ msgid "Disconnect '%s' from '%s'" msgstr "قطع إتصال'%s' من '%s'" #: editor/connections_dialog.cpp -#, fuzzy msgid "Disconnect all from signal: '%s'" msgstr "قطع إتصال'%s' من '%s'" @@ -748,18 +745,16 @@ msgid "Disconnect" msgstr "قطع الاتصال" #: editor/connections_dialog.cpp -#, fuzzy msgid "Connect Signal: " -msgstr "يوصل الإشارة:" +msgstr "قم بوصل الإشارة: " #: editor/connections_dialog.cpp -#, fuzzy msgid "Edit Connection: " -msgstr "خطأ في الإتصال" +msgstr "قم بتعديل الإتصال: " #: editor/connections_dialog.cpp msgid "Are you sure you want to remove all connections from the \"%s\" signal?" -msgstr "" +msgstr "هل أنت(ي) متأكد(ة) أنك تود إزالة كل الإتصالات من الإشارة \"%s\"؟" #: editor/connections_dialog.cpp editor/editor_help.cpp editor/node_dock.cpp msgid "Signals" @@ -767,22 +762,19 @@ msgstr "إشارات" #: editor/connections_dialog.cpp msgid "Are you sure you want to remove all connections from this signal?" -msgstr "" +msgstr "هل أنت(ي) متأكد(ة) أنك تود إزالة كل الإتصالات من هذه الإشارة؟" #: editor/connections_dialog.cpp -#, fuzzy msgid "Disconnect All" -msgstr "قطع الاتصال" +msgstr "قطع الاتصال على الكل" #: editor/connections_dialog.cpp -#, fuzzy msgid "Edit..." -msgstr "المُعدل" +msgstr "تعديل..." #: editor/connections_dialog.cpp -#, fuzzy msgid "Go To Method" -msgstr "قائمة الطرق" +msgstr "إذهب إلى الدالة" #: editor/create_dialog.cpp msgid "Change %s Type" @@ -915,7 +907,6 @@ msgid "Error loading:" msgstr "خطآ في التحميل:" #: editor/dependency_editor.cpp -#, fuzzy msgid "Load failed due to missing dependencies:" msgstr "فشل في تحميل المشهد بسبب وجود تبعيات مفقودة يعتمد المشهد عليها:" @@ -1068,9 +1059,8 @@ msgid "Uncompressing Assets" msgstr "يفكك الضغط عن الأصول" #: editor/editor_asset_installer.cpp editor/project_manager.cpp -#, fuzzy msgid "Package installed successfully!" -msgstr "الحزمة تم تثبيتها بنجاح!" +msgstr "تم تتبيث الحزمة بنجاح!" #: editor/editor_asset_installer.cpp #: editor/plugins/asset_library_editor_plugin.cpp @@ -1216,9 +1206,8 @@ msgid "Add Bus" msgstr "أضف بيوس" #: editor/editor_audio_buses.cpp -#, fuzzy msgid "Add a new Audio Bus to this layout." -msgstr "إحفظ نسق بيوس الصوت كـ..." +msgstr "أضف مسار صوت (Audio Bus) جديد إلى هذا التصميم." #: editor/editor_audio_buses.cpp editor/editor_properties.cpp #: editor/plugins/animation_player_editor_plugin.cpp editor/property_editor.cpp @@ -1387,7 +1376,7 @@ msgstr "تخزين الملف:" #: editor/editor_export.cpp msgid "No export template found at the expected path:" -msgstr "" +msgstr "لم يوجد قالب التصدير في المسار المتوقع:" #: editor/editor_export.cpp msgid "Packing" @@ -1398,12 +1387,16 @@ msgid "" "Target platform requires 'ETC' texture compression for GLES2. Enable 'Import " "Etc' in Project Settings." msgstr "" +"المنصة المستهدفة تحتاج لتشفير ملمس 'ETC' ل GLES2. قم بتمكين 'Import Etc' في " +"إعدادات المشروع." #: editor/editor_export.cpp msgid "" "Target platform requires 'ETC2' texture compression for GLES3. Enable " "'Import Etc 2' in Project Settings." msgstr "" +"المنصة المستهدفة تحتاج لتشفير ملمس \"ETC2\" ل GLES3. قم بتمكين 'Import Etc " +"2' في إعدادات المشروع." #: editor/editor_export.cpp msgid "" @@ -3899,6 +3892,11 @@ msgid "Delete Node" msgstr "إنشاء عقدة" #: editor/plugins/animation_blend_tree_editor_plugin.cpp +#: editor/scene_tree_dock.cpp +msgid "Delete Node(s)" +msgstr "" + +#: editor/plugins/animation_blend_tree_editor_plugin.cpp #, fuzzy msgid "Toggle Filter On/Off" msgstr "تمكين/إيقاف هذا المسار." @@ -4888,9 +4886,34 @@ msgid "Layout" msgstr "المخطط" #: editor/plugins/canvas_item_editor_plugin.cpp +msgid "Translation mask for inserting keys." +msgstr "" + +#: editor/plugins/canvas_item_editor_plugin.cpp +msgid "Rotation mask for inserting keys." +msgstr "" + +#: editor/plugins/canvas_item_editor_plugin.cpp +msgid "Scale mask for inserting keys." +msgstr "" + +#: editor/plugins/canvas_item_editor_plugin.cpp #, fuzzy -msgid "Insert keys." -msgstr "أدخل مفاتيح" +msgid "Insert keys (based on mask)." +msgstr "أدخل مفتاح (مسارات موجودة بالفعل)" + +#: editor/plugins/canvas_item_editor_plugin.cpp +msgid "" +"Auto insert keys when objects are translated, rotated on scaled (based on " +"mask).\n" +"Keys are only added to existing tracks, no new tracks will be created.\n" +"Keys must be inserted manually for the first time." +msgstr "" + +#: editor/plugins/canvas_item_editor_plugin.cpp +#, fuzzy +msgid "Auto Insert Key" +msgstr "أضف مفتاح الحركة" #: editor/plugins/canvas_item_editor_plugin.cpp msgid "Insert Key (Existing Tracks)" @@ -4963,6 +4986,52 @@ msgstr "تعديل البولي (مسح النقطة)" msgid "Set Handle" msgstr "حدد المعامل" +#: editor/plugins/cpu_particles_2d_editor_plugin.cpp +#: editor/plugins/particles_2d_editor_plugin.cpp +msgid "Error loading image:" +msgstr "خطأ تحميل الصورة:" + +#: editor/plugins/cpu_particles_2d_editor_plugin.cpp +#: editor/plugins/particles_2d_editor_plugin.cpp +msgid "No pixels with transparency > 128 in image..." +msgstr "لا بيكسل بشفافية > 128 في الصورة..." + +#: editor/plugins/cpu_particles_2d_editor_plugin.cpp +#: editor/plugins/particles_2d_editor_plugin.cpp +msgid "Load Emission Mask" +msgstr "حمل قناع الانبعاث" + +#: editor/plugins/cpu_particles_2d_editor_plugin.cpp +#: editor/plugins/particles_2d_editor_plugin.cpp +msgid "Clear Emission Mask" +msgstr "إمسح قناع الانبعاث" + +#: editor/plugins/cpu_particles_2d_editor_plugin.cpp +#: editor/plugins/particles_2d_editor_plugin.cpp +#: editor/plugins/particles_editor_plugin.cpp +msgid "Particles" +msgstr "جسيمات" + +#: editor/plugins/cpu_particles_2d_editor_plugin.cpp +#: editor/plugins/particles_2d_editor_plugin.cpp +msgid "Generated Point Count:" +msgstr "عدد النقاط المولدة:" + +#: editor/plugins/cpu_particles_2d_editor_plugin.cpp +#: editor/plugins/particles_2d_editor_plugin.cpp +msgid "Emission Mask" +msgstr "قناع الانبعاث" + +#: editor/plugins/cpu_particles_2d_editor_plugin.cpp +#: editor/plugins/particles_2d_editor_plugin.cpp +msgid "Capture from Pixel" +msgstr "التقط من البيكسل" + +#: editor/plugins/cpu_particles_2d_editor_plugin.cpp +#: editor/plugins/particles_2d_editor_plugin.cpp +msgid "Emission Colors" +msgstr "الوان الانبعاث" + #: editor/plugins/cpu_particles_editor_plugin.cpp #, fuzzy msgid "CPUParticles" @@ -5316,22 +5385,6 @@ msgid "Can only set point into a ParticlesMaterial process material" msgstr "لا يمكن إنشاء سوى نقطة وحيدة داخل ParticlesMaterial معالج المواد" #: editor/plugins/particles_2d_editor_plugin.cpp -msgid "Error loading image:" -msgstr "خطأ تحميل الصورة:" - -#: editor/plugins/particles_2d_editor_plugin.cpp -msgid "No pixels with transparency > 128 in image..." -msgstr "لا بيكسل بشفافية > 128 في الصورة..." - -#: editor/plugins/particles_2d_editor_plugin.cpp -msgid "Load Emission Mask" -msgstr "حمل قناع الانبعاث" - -#: editor/plugins/particles_2d_editor_plugin.cpp -msgid "Clear Emission Mask" -msgstr "إمسح قناع الانبعاث" - -#: editor/plugins/particles_2d_editor_plugin.cpp #: editor/plugins/particles_editor_plugin.cpp #, fuzzy msgid "Convert to CPUParticles" @@ -5339,30 +5392,9 @@ msgstr "تحويل إلي %s" #: editor/plugins/particles_2d_editor_plugin.cpp #: editor/plugins/particles_editor_plugin.cpp -msgid "Particles" -msgstr "جسيمات" - -#: editor/plugins/particles_2d_editor_plugin.cpp -msgid "Generated Point Count:" -msgstr "عدد النقاط المولدة:" - -#: editor/plugins/particles_2d_editor_plugin.cpp -#: editor/plugins/particles_editor_plugin.cpp msgid "Generation Time (sec):" msgstr "وقت التوليد (تانية):" -#: editor/plugins/particles_2d_editor_plugin.cpp -msgid "Emission Mask" -msgstr "قناع الانبعاث" - -#: editor/plugins/particles_2d_editor_plugin.cpp -msgid "Capture from Pixel" -msgstr "التقط من البيكسل" - -#: editor/plugins/particles_2d_editor_plugin.cpp -msgid "Emission Colors" -msgstr "الوان الانبعاث" - #: editor/plugins/particles_editor_plugin.cpp msgid "Faces contain no area!" msgstr "الوجوه لا تحتوي على منطقة!" @@ -5899,7 +5931,8 @@ msgid "Save Theme As..." msgstr "" #: editor/plugins/script_editor_plugin.cpp -msgid " Class Reference" +#, fuzzy +msgid "%s Class Reference" msgstr " مرجع الصنف" #: editor/plugins/script_editor_plugin.cpp @@ -6740,6 +6773,26 @@ msgstr "" #: editor/plugins/sprite_editor_plugin.cpp #, fuzzy +msgid "Create Mesh2D" +msgstr "إنشاء شبكة الخطوط العريضة" + +#: editor/plugins/sprite_editor_plugin.cpp +#, fuzzy +msgid "Create Polygon2D" +msgstr "إنشاء بولي" + +#: editor/plugins/sprite_editor_plugin.cpp +#, fuzzy +msgid "Create CollisionPolygon2D" +msgstr "إنشاء مُضلع التنقل" + +#: editor/plugins/sprite_editor_plugin.cpp +#, fuzzy +msgid "Create LightOccluder2D" +msgstr "أنشئ شكل مُطبق" + +#: editor/plugins/sprite_editor_plugin.cpp +#, fuzzy msgid "Sprite is empty!" msgstr "الميش فارغ!" @@ -6752,18 +6805,40 @@ msgid "Invalid geometry, can't replace by mesh." msgstr "" #: editor/plugins/sprite_editor_plugin.cpp +msgid "Invalid geometry, can't create polygon." +msgstr "" + +#: editor/plugins/sprite_editor_plugin.cpp +msgid "Invalid geometry, can't create collision polygon." +msgstr "" + +#: editor/plugins/sprite_editor_plugin.cpp +msgid "Invalid geometry, can't create light occluder." +msgstr "" + +#: editor/plugins/sprite_editor_plugin.cpp msgid "Sprite" msgstr "" #: editor/plugins/sprite_editor_plugin.cpp #, fuzzy -msgid "Convert to 2D Mesh" +msgid "Convert to Mesh2D" msgstr "تحويل إلي %s" #: editor/plugins/sprite_editor_plugin.cpp #, fuzzy -msgid "Create 2D Mesh" -msgstr "إنشاء شبكة الخطوط العريضة" +msgid "Convert to Polygon2D" +msgstr "تحويل إلي %s" + +#: editor/plugins/sprite_editor_plugin.cpp +#, fuzzy +msgid "Create CollisionPolygon2D Sibling" +msgstr "إنشاء مُضلع التنقل" + +#: editor/plugins/sprite_editor_plugin.cpp +#, fuzzy +msgid "Create LightOccluder2D Sibling" +msgstr "أنشئ شكل مُطبق" #: editor/plugins/sprite_editor_plugin.cpp msgid "Simplification: " @@ -7385,6 +7460,11 @@ msgid "Duplicate Nodes" msgstr "مفاتيح نسخ التحريك" #: editor/plugins/visual_shader_editor_plugin.cpp +#, fuzzy +msgid "Delete Nodes" +msgstr "إنشاء عقدة" + +#: editor/plugins/visual_shader_editor_plugin.cpp msgid "Visual Shader Input Type Changed" msgstr "" @@ -8563,10 +8643,6 @@ msgid "Open documentation" msgstr "فُتح مؤخراً" #: editor/scene_tree_dock.cpp -msgid "Delete Node(s)" -msgstr "" - -#: editor/scene_tree_dock.cpp msgid "Add Child Node" msgstr "" @@ -10335,6 +10411,10 @@ msgstr "التعين للإنتظام." msgid "Varyings can only be assigned in vertex function." msgstr "يمكن تعيين المتغيرات فقط في الذروة ." +#, fuzzy +#~ msgid "Insert keys." +#~ msgstr "أدخل مفاتيح" + #~ msgid "Instance the selected scene(s) as child of the selected node." #~ msgstr "نمذج المشهد(المشاهد) المحددة كطفل للعقدة المحددة." diff --git a/editor/translations/bg.po b/editor/translations/bg.po index a179f3b438..fb81a1793a 100644 --- a/editor/translations/bg.po +++ b/editor/translations/bg.po @@ -433,7 +433,7 @@ msgstr "" #: editor/animation_track_editor.cpp #, fuzzy -msgid "Snap (s): " +msgid "Snap:" msgstr "Стъпка (сек.):" #: editor/animation_track_editor.cpp @@ -441,6 +441,14 @@ msgstr "Стъпка (сек.):" msgid "Animation step value." msgstr "Изтриване на анимацията?" +#: editor/animation_track_editor.cpp +msgid "Seconds" +msgstr "" + +#: editor/animation_track_editor.cpp +msgid "FPS" +msgstr "" + #: editor/animation_track_editor.cpp editor/editor_properties.cpp #: editor/plugins/polygon_2d_editor_plugin.cpp #: editor/plugins/script_text_editor.cpp @@ -3826,6 +3834,11 @@ msgid "Delete Node" msgstr "Избиране на всичко" #: editor/plugins/animation_blend_tree_editor_plugin.cpp +#: editor/scene_tree_dock.cpp +msgid "Delete Node(s)" +msgstr "" + +#: editor/plugins/animation_blend_tree_editor_plugin.cpp #, fuzzy msgid "Toggle Filter On/Off" msgstr "Покажи Любими" @@ -4811,7 +4824,31 @@ msgid "Layout" msgstr "" #: editor/plugins/canvas_item_editor_plugin.cpp -msgid "Insert keys." +msgid "Translation mask for inserting keys." +msgstr "" + +#: editor/plugins/canvas_item_editor_plugin.cpp +msgid "Rotation mask for inserting keys." +msgstr "" + +#: editor/plugins/canvas_item_editor_plugin.cpp +msgid "Scale mask for inserting keys." +msgstr "" + +#: editor/plugins/canvas_item_editor_plugin.cpp +msgid "Insert keys (based on mask)." +msgstr "" + +#: editor/plugins/canvas_item_editor_plugin.cpp +msgid "" +"Auto insert keys when objects are translated, rotated on scaled (based on " +"mask).\n" +"Keys are only added to existing tracks, no new tracks will be created.\n" +"Keys must be inserted manually for the first time." +msgstr "" + +#: editor/plugins/canvas_item_editor_plugin.cpp +msgid "Auto Insert Key" msgstr "" #: editor/plugins/canvas_item_editor_plugin.cpp @@ -4883,6 +4920,52 @@ msgstr "" msgid "Set Handle" msgstr "" +#: editor/plugins/cpu_particles_2d_editor_plugin.cpp +#: editor/plugins/particles_2d_editor_plugin.cpp +msgid "Error loading image:" +msgstr "" + +#: editor/plugins/cpu_particles_2d_editor_plugin.cpp +#: editor/plugins/particles_2d_editor_plugin.cpp +msgid "No pixels with transparency > 128 in image..." +msgstr "" + +#: editor/plugins/cpu_particles_2d_editor_plugin.cpp +#: editor/plugins/particles_2d_editor_plugin.cpp +msgid "Load Emission Mask" +msgstr "" + +#: editor/plugins/cpu_particles_2d_editor_plugin.cpp +#: editor/plugins/particles_2d_editor_plugin.cpp +msgid "Clear Emission Mask" +msgstr "" + +#: editor/plugins/cpu_particles_2d_editor_plugin.cpp +#: editor/plugins/particles_2d_editor_plugin.cpp +#: editor/plugins/particles_editor_plugin.cpp +msgid "Particles" +msgstr "" + +#: editor/plugins/cpu_particles_2d_editor_plugin.cpp +#: editor/plugins/particles_2d_editor_plugin.cpp +msgid "Generated Point Count:" +msgstr "" + +#: editor/plugins/cpu_particles_2d_editor_plugin.cpp +#: editor/plugins/particles_2d_editor_plugin.cpp +msgid "Emission Mask" +msgstr "" + +#: editor/plugins/cpu_particles_2d_editor_plugin.cpp +#: editor/plugins/particles_2d_editor_plugin.cpp +msgid "Capture from Pixel" +msgstr "" + +#: editor/plugins/cpu_particles_2d_editor_plugin.cpp +#: editor/plugins/particles_2d_editor_plugin.cpp +msgid "Emission Colors" +msgstr "" + #: editor/plugins/cpu_particles_editor_plugin.cpp msgid "CPUParticles" msgstr "" @@ -5234,52 +5317,15 @@ msgid "Can only set point into a ParticlesMaterial process material" msgstr "" #: editor/plugins/particles_2d_editor_plugin.cpp -msgid "Error loading image:" -msgstr "" - -#: editor/plugins/particles_2d_editor_plugin.cpp -msgid "No pixels with transparency > 128 in image..." -msgstr "" - -#: editor/plugins/particles_2d_editor_plugin.cpp -msgid "Load Emission Mask" -msgstr "" - -#: editor/plugins/particles_2d_editor_plugin.cpp -msgid "Clear Emission Mask" -msgstr "" - -#: editor/plugins/particles_2d_editor_plugin.cpp #: editor/plugins/particles_editor_plugin.cpp msgid "Convert to CPUParticles" msgstr "" #: editor/plugins/particles_2d_editor_plugin.cpp #: editor/plugins/particles_editor_plugin.cpp -msgid "Particles" -msgstr "" - -#: editor/plugins/particles_2d_editor_plugin.cpp -msgid "Generated Point Count:" -msgstr "" - -#: editor/plugins/particles_2d_editor_plugin.cpp -#: editor/plugins/particles_editor_plugin.cpp msgid "Generation Time (sec):" msgstr "" -#: editor/plugins/particles_2d_editor_plugin.cpp -msgid "Emission Mask" -msgstr "" - -#: editor/plugins/particles_2d_editor_plugin.cpp -msgid "Capture from Pixel" -msgstr "" - -#: editor/plugins/particles_2d_editor_plugin.cpp -msgid "Emission Colors" -msgstr "" - #: editor/plugins/particles_editor_plugin.cpp msgid "Faces contain no area!" msgstr "" @@ -5798,7 +5844,7 @@ msgid "Save Theme As..." msgstr "Запази Темата Като..." #: editor/plugins/script_editor_plugin.cpp -msgid " Class Reference" +msgid "%s Class Reference" msgstr "" #: editor/plugins/script_editor_plugin.cpp @@ -6635,6 +6681,26 @@ msgid "Nameless gizmo" msgstr "" #: editor/plugins/sprite_editor_plugin.cpp +#, fuzzy +msgid "Create Mesh2D" +msgstr "Създайте нов/а %s" + +#: editor/plugins/sprite_editor_plugin.cpp +#, fuzzy +msgid "Create Polygon2D" +msgstr "Създаване на папка" + +#: editor/plugins/sprite_editor_plugin.cpp +#, fuzzy +msgid "Create CollisionPolygon2D" +msgstr "Създаване на папка" + +#: editor/plugins/sprite_editor_plugin.cpp +#, fuzzy +msgid "Create LightOccluder2D" +msgstr "Създаване на папка" + +#: editor/plugins/sprite_editor_plugin.cpp msgid "Sprite is empty!" msgstr "" @@ -6647,17 +6713,38 @@ msgid "Invalid geometry, can't replace by mesh." msgstr "" #: editor/plugins/sprite_editor_plugin.cpp +msgid "Invalid geometry, can't create polygon." +msgstr "" + +#: editor/plugins/sprite_editor_plugin.cpp +msgid "Invalid geometry, can't create collision polygon." +msgstr "" + +#: editor/plugins/sprite_editor_plugin.cpp +msgid "Invalid geometry, can't create light occluder." +msgstr "" + +#: editor/plugins/sprite_editor_plugin.cpp msgid "Sprite" msgstr "" #: editor/plugins/sprite_editor_plugin.cpp -msgid "Convert to 2D Mesh" +msgid "Convert to Mesh2D" msgstr "" #: editor/plugins/sprite_editor_plugin.cpp #, fuzzy -msgid "Create 2D Mesh" -msgstr "Създайте нов/а %s" +msgid "Convert to Polygon2D" +msgstr "Преместване на Полигон" + +#: editor/plugins/sprite_editor_plugin.cpp +#, fuzzy +msgid "Create CollisionPolygon2D Sibling" +msgstr "Създаване на папка" + +#: editor/plugins/sprite_editor_plugin.cpp +msgid "Create LightOccluder2D Sibling" +msgstr "" #: editor/plugins/sprite_editor_plugin.cpp msgid "Simplification: " @@ -7274,6 +7361,11 @@ msgid "Duplicate Nodes" msgstr "Направи дупликат на Key(s)" #: editor/plugins/visual_shader_editor_plugin.cpp +#, fuzzy +msgid "Delete Nodes" +msgstr "Избиране на всичко" + +#: editor/plugins/visual_shader_editor_plugin.cpp msgid "Visual Shader Input Type Changed" msgstr "" @@ -8465,10 +8557,6 @@ msgid "Open documentation" msgstr "Отвори документацията на Godot онлайн" #: editor/scene_tree_dock.cpp -msgid "Delete Node(s)" -msgstr "" - -#: editor/scene_tree_dock.cpp msgid "Add Child Node" msgstr "" diff --git a/editor/translations/bn.po b/editor/translations/bn.po index 3634ca82d2..4b7dd76be6 100644 --- a/editor/translations/bn.po +++ b/editor/translations/bn.po @@ -451,14 +451,22 @@ msgstr "" #: editor/animation_track_editor.cpp #, fuzzy -msgid "Snap (s): " -msgstr "স্ন্যাপ (পিক্সেলসমূহ):" +msgid "Snap:" +msgstr "স্ন্যাপ" #: editor/animation_track_editor.cpp #, fuzzy msgid "Animation step value." msgstr "অ্যানিমেশনের তালিকাটি কার্যকর।" +#: editor/animation_track_editor.cpp +msgid "Seconds" +msgstr "" + +#: editor/animation_track_editor.cpp +msgid "FPS" +msgstr "এফ পি এস" + #: editor/animation_track_editor.cpp editor/editor_properties.cpp #: editor/plugins/polygon_2d_editor_plugin.cpp #: editor/plugins/script_text_editor.cpp @@ -4062,6 +4070,11 @@ msgid "Delete Node" msgstr "নোড(সমূহ) অপসারণ করুন" #: editor/plugins/animation_blend_tree_editor_plugin.cpp +#: editor/scene_tree_dock.cpp +msgid "Delete Node(s)" +msgstr "নোড(সমূহ) অপসারণ করুন" + +#: editor/plugins/animation_blend_tree_editor_plugin.cpp #, fuzzy msgid "Toggle Filter On/Off" msgstr "বিক্ষেপ-হীন মোড" @@ -5086,9 +5099,34 @@ msgid "Layout" msgstr "লেআউট/নকশা সংরক্ষণ করুন" #: editor/plugins/canvas_item_editor_plugin.cpp +msgid "Translation mask for inserting keys." +msgstr "" + +#: editor/plugins/canvas_item_editor_plugin.cpp +msgid "Rotation mask for inserting keys." +msgstr "" + +#: editor/plugins/canvas_item_editor_plugin.cpp +msgid "Scale mask for inserting keys." +msgstr "" + +#: editor/plugins/canvas_item_editor_plugin.cpp #, fuzzy -msgid "Insert keys." -msgstr "চাবিসমূহ সন্নিবেশ করুন" +msgid "Insert keys (based on mask)." +msgstr "চাবি সন্নিবেশ করুন (বিদ্যমান ট্র্যাক/পথসমূহ)" + +#: editor/plugins/canvas_item_editor_plugin.cpp +msgid "" +"Auto insert keys when objects are translated, rotated on scaled (based on " +"mask).\n" +"Keys are only added to existing tracks, no new tracks will be created.\n" +"Keys must be inserted manually for the first time." +msgstr "" + +#: editor/plugins/canvas_item_editor_plugin.cpp +#, fuzzy +msgid "Auto Insert Key" +msgstr "অ্যানিমেশনে (Anim) চাবি যোগ করুন" #: editor/plugins/canvas_item_editor_plugin.cpp msgid "Insert Key (Existing Tracks)" @@ -5161,6 +5199,56 @@ msgstr "Poly সম্পাদন করুন (বিন্দু অপসা msgid "Set Handle" msgstr "হ্যান্ডেল স্থাপন করুন" +#: editor/plugins/cpu_particles_2d_editor_plugin.cpp +#: editor/plugins/particles_2d_editor_plugin.cpp +msgid "Error loading image:" +msgstr "ছবি লোডে সমস্যা হয়েছে:" + +#: editor/plugins/cpu_particles_2d_editor_plugin.cpp +#: editor/plugins/particles_2d_editor_plugin.cpp +msgid "No pixels with transparency > 128 in image..." +msgstr "স্বচ্ছতাসহ কোনো পিক্সেল নেই > ছবিতে ১২৮..." + +#: editor/plugins/cpu_particles_2d_editor_plugin.cpp +#: editor/plugins/particles_2d_editor_plugin.cpp +msgid "Load Emission Mask" +msgstr "Emission Mask লোড করুন" + +#: editor/plugins/cpu_particles_2d_editor_plugin.cpp +#: editor/plugins/particles_2d_editor_plugin.cpp +msgid "Clear Emission Mask" +msgstr "Emission Mask পরিস্কার করুন" + +#: editor/plugins/cpu_particles_2d_editor_plugin.cpp +#: editor/plugins/particles_2d_editor_plugin.cpp +#: editor/plugins/particles_editor_plugin.cpp +#, fuzzy +msgid "Particles" +msgstr "ভারটেক্স" + +#: editor/plugins/cpu_particles_2d_editor_plugin.cpp +#: editor/plugins/particles_2d_editor_plugin.cpp +msgid "Generated Point Count:" +msgstr "উৎপাদিত বিন্দুর সংখ্যা:" + +#: editor/plugins/cpu_particles_2d_editor_plugin.cpp +#: editor/plugins/particles_2d_editor_plugin.cpp +#, fuzzy +msgid "Emission Mask" +msgstr "Emission Mask স্থাপন করুন" + +#: editor/plugins/cpu_particles_2d_editor_plugin.cpp +#: editor/plugins/particles_2d_editor_plugin.cpp +#, fuzzy +msgid "Capture from Pixel" +msgstr "দৃশ্য হতে তৈরি করবেন" + +#: editor/plugins/cpu_particles_2d_editor_plugin.cpp +#: editor/plugins/particles_2d_editor_plugin.cpp +#, fuzzy +msgid "Emission Colors" +msgstr "Emission-এর স্থানসমূহ:" + #: editor/plugins/cpu_particles_editor_plugin.cpp #, fuzzy msgid "CPUParticles" @@ -5528,22 +5616,6 @@ msgid "Can only set point into a ParticlesMaterial process material" msgstr "শুধুমাত্র ParticlesMaterial প্রসেস ম্যাটেরিয়ালে বিন্দু স্থাপন সম্ভব" #: editor/plugins/particles_2d_editor_plugin.cpp -msgid "Error loading image:" -msgstr "ছবি লোডে সমস্যা হয়েছে:" - -#: editor/plugins/particles_2d_editor_plugin.cpp -msgid "No pixels with transparency > 128 in image..." -msgstr "স্বচ্ছতাসহ কোনো পিক্সেল নেই > ছবিতে ১২৮..." - -#: editor/plugins/particles_2d_editor_plugin.cpp -msgid "Load Emission Mask" -msgstr "Emission Mask লোড করুন" - -#: editor/plugins/particles_2d_editor_plugin.cpp -msgid "Clear Emission Mask" -msgstr "Emission Mask পরিস্কার করুন" - -#: editor/plugins/particles_2d_editor_plugin.cpp #: editor/plugins/particles_editor_plugin.cpp #, fuzzy msgid "Convert to CPUParticles" @@ -5552,34 +5624,9 @@ msgstr "এতে রূপান্তর করুন..." #: editor/plugins/particles_2d_editor_plugin.cpp #: editor/plugins/particles_editor_plugin.cpp #, fuzzy -msgid "Particles" -msgstr "ভারটেক্স" - -#: editor/plugins/particles_2d_editor_plugin.cpp -msgid "Generated Point Count:" -msgstr "উৎপাদিত বিন্দুর সংখ্যা:" - -#: editor/plugins/particles_2d_editor_plugin.cpp -#: editor/plugins/particles_editor_plugin.cpp -#, fuzzy msgid "Generation Time (sec):" msgstr "গড় সময় (সেঃ)" -#: editor/plugins/particles_2d_editor_plugin.cpp -#, fuzzy -msgid "Emission Mask" -msgstr "Emission Mask স্থাপন করুন" - -#: editor/plugins/particles_2d_editor_plugin.cpp -#, fuzzy -msgid "Capture from Pixel" -msgstr "দৃশ্য হতে তৈরি করবেন" - -#: editor/plugins/particles_2d_editor_plugin.cpp -#, fuzzy -msgid "Emission Colors" -msgstr "Emission-এর স্থানসমূহ:" - #: editor/plugins/particles_editor_plugin.cpp msgid "Faces contain no area!" msgstr "পৃষ্ঠসমূহ কোনো আকার নেই!" @@ -6134,7 +6181,8 @@ msgid "Save Theme As..." msgstr "থিম এইরূপে সংরক্ষণ করুন..." #: editor/plugins/script_editor_plugin.cpp -msgid " Class Reference" +#, fuzzy +msgid "%s Class Reference" msgstr " ক্লাস রেফারেন্স" #: editor/plugins/script_editor_plugin.cpp @@ -7014,6 +7062,26 @@ msgstr "" #: editor/plugins/sprite_editor_plugin.cpp #, fuzzy +msgid "Create Mesh2D" +msgstr "প্রান্তরেখা মেস তৈরি করুন" + +#: editor/plugins/sprite_editor_plugin.cpp +#, fuzzy +msgid "Create Polygon2D" +msgstr "Poly তৈরি করুন" + +#: editor/plugins/sprite_editor_plugin.cpp +#, fuzzy +msgid "Create CollisionPolygon2D" +msgstr "Navigation Polygon তৈরি করুন" + +#: editor/plugins/sprite_editor_plugin.cpp +#, fuzzy +msgid "Create LightOccluder2D" +msgstr "অকলুডার (occluder) পলিগন তৈরি করুন" + +#: editor/plugins/sprite_editor_plugin.cpp +#, fuzzy msgid "Sprite is empty!" msgstr "সংরক্ষণের পথটি খালি!" @@ -7026,19 +7094,41 @@ msgid "Invalid geometry, can't replace by mesh." msgstr "" #: editor/plugins/sprite_editor_plugin.cpp +msgid "Invalid geometry, can't create polygon." +msgstr "" + +#: editor/plugins/sprite_editor_plugin.cpp +msgid "Invalid geometry, can't create collision polygon." +msgstr "" + +#: editor/plugins/sprite_editor_plugin.cpp +msgid "Invalid geometry, can't create light occluder." +msgstr "" + +#: editor/plugins/sprite_editor_plugin.cpp #, fuzzy msgid "Sprite" msgstr "ফ্রেমসমূহ স্তূপ করুন" #: editor/plugins/sprite_editor_plugin.cpp #, fuzzy -msgid "Convert to 2D Mesh" +msgid "Convert to Mesh2D" msgstr "এতে রূপান্তর করুন..." #: editor/plugins/sprite_editor_plugin.cpp #, fuzzy -msgid "Create 2D Mesh" -msgstr "প্রান্তরেখা মেস তৈরি করুন" +msgid "Convert to Polygon2D" +msgstr "পলিগন সরান" + +#: editor/plugins/sprite_editor_plugin.cpp +#, fuzzy +msgid "Create CollisionPolygon2D Sibling" +msgstr "Navigation Polygon তৈরি করুন" + +#: editor/plugins/sprite_editor_plugin.cpp +#, fuzzy +msgid "Create LightOccluder2D Sibling" +msgstr "অকলুডার (occluder) পলিগন তৈরি করুন" #: editor/plugins/sprite_editor_plugin.cpp msgid "Simplification: " @@ -7674,6 +7764,11 @@ msgid "Duplicate Nodes" msgstr "নোড(সমূহ) প্রতিলিপি করুন" #: editor/plugins/visual_shader_editor_plugin.cpp +#, fuzzy +msgid "Delete Nodes" +msgstr "নোড(সমূহ) অপসারণ করুন" + +#: editor/plugins/visual_shader_editor_plugin.cpp msgid "Visual Shader Input Type Changed" msgstr "" @@ -8932,10 +9027,6 @@ msgid "Open documentation" msgstr "রেফারেন্সের ডকুমেন্টেশনে খুঁজুন।" #: editor/scene_tree_dock.cpp -msgid "Delete Node(s)" -msgstr "নোড(সমূহ) অপসারণ করুন" - -#: editor/scene_tree_dock.cpp msgid "Add Child Node" msgstr "শীষ্য নোড তৈরি করুন" @@ -10861,12 +10952,17 @@ msgstr "" msgid "Varyings can only be assigned in vertex function." msgstr "" +#, fuzzy +#~ msgid "Snap (s): " +#~ msgstr "স্ন্যাপ (পিক্সেলসমূহ):" + +#, fuzzy +#~ msgid "Insert keys." +#~ msgstr "চাবিসমূহ সন্নিবেশ করুন" + #~ msgid "Instance the selected scene(s) as child of the selected node." #~ msgstr "নির্বাচিত দৃশ্য(সমূহ)-কে নির্বাচিত নোডের অংশ হিসেবে ইনস্ট্যান্স করুন।" -#~ msgid "FPS" -#~ msgstr "এফ পি এস" - #, fuzzy #~ msgid "Warnings:" #~ msgstr "সতর্কতা" diff --git a/editor/translations/ca.po b/editor/translations/ca.po index 75f6c53145..cd87bb8a46 100644 --- a/editor/translations/ca.po +++ b/editor/translations/ca.po @@ -11,7 +11,7 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine editor\n" "POT-Creation-Date: \n" -"PO-Revision-Date: 2019-04-08 10:35+0000\n" +"PO-Revision-Date: 2019-04-19 16:33+0000\n" "Last-Translator: roger <616steam@gmail.com>\n" "Language-Team: Catalan <https://hosted.weblate.org/projects/godot-engine/" "godot/ca/>\n" @@ -234,7 +234,7 @@ msgstr "Captura" #: editor/animation_track_editor.cpp msgid "Nearest" -msgstr "El de més a prop" +msgstr "Més proper" #: editor/animation_track_editor.cpp editor/plugins/curve_editor_plugin.cpp #: editor/property_editor.cpp @@ -429,13 +429,22 @@ msgid "Group tracks by node or display them as plain list." msgstr "Agrupa les pistes per node o mostra-les en una llista." #: editor/animation_track_editor.cpp -msgid "Snap (s): " -msgstr "Pas (s): " +#, fuzzy +msgid "Snap:" +msgstr "Alinea" #: editor/animation_track_editor.cpp msgid "Animation step value." msgstr "Valor del pas d'Animació." +#: editor/animation_track_editor.cpp +msgid "Seconds" +msgstr "" + +#: editor/animation_track_editor.cpp +msgid "FPS" +msgstr "FPS" + #: editor/animation_track_editor.cpp editor/editor_properties.cpp #: editor/plugins/polygon_2d_editor_plugin.cpp #: editor/plugins/script_text_editor.cpp @@ -3836,9 +3845,8 @@ msgstr "Nodes Connectats" #: editor/plugins/animation_blend_tree_editor_plugin.cpp #: editor/plugins/visual_shader_editor_plugin.cpp -#, fuzzy msgid "Nodes Disconnected" -msgstr "Desconnectat" +msgstr "Nodes Desconnectats" #: editor/plugins/animation_blend_tree_editor_plugin.cpp #, fuzzy @@ -3847,8 +3855,12 @@ msgstr "Animació" #: editor/plugins/animation_blend_tree_editor_plugin.cpp #: editor/plugins/visual_shader_editor_plugin.cpp -#, fuzzy msgid "Delete Node" +msgstr "Eliminar Node" + +#: editor/plugins/animation_blend_tree_editor_plugin.cpp +#: editor/scene_tree_dock.cpp +msgid "Delete Node(s)" msgstr "Elimina els Nodes" #: editor/plugins/animation_blend_tree_editor_plugin.cpp @@ -3857,9 +3869,8 @@ msgid "Toggle Filter On/Off" msgstr "Activa/Desactiva la Pista." #: editor/plugins/animation_blend_tree_editor_plugin.cpp -#, fuzzy msgid "Change Filter" -msgstr "S'ha Modificat el Filtre de Locale" +msgstr "Canviar Filtre" #: editor/plugins/animation_blend_tree_editor_plugin.cpp msgid "No animation player set, so unable to retrieve track names." @@ -4859,9 +4870,34 @@ msgid "Layout" msgstr "Desar Disseny" #: editor/plugins/canvas_item_editor_plugin.cpp +msgid "Translation mask for inserting keys." +msgstr "" + +#: editor/plugins/canvas_item_editor_plugin.cpp +msgid "Rotation mask for inserting keys." +msgstr "" + +#: editor/plugins/canvas_item_editor_plugin.cpp +msgid "Scale mask for inserting keys." +msgstr "" + +#: editor/plugins/canvas_item_editor_plugin.cpp #, fuzzy -msgid "Insert keys." -msgstr "Insereix Claus" +msgid "Insert keys (based on mask)." +msgstr "Insereix una Clau (Pistes existents)" + +#: editor/plugins/canvas_item_editor_plugin.cpp +msgid "" +"Auto insert keys when objects are translated, rotated on scaled (based on " +"mask).\n" +"Keys are only added to existing tracks, no new tracks will be created.\n" +"Keys must be inserted manually for the first time." +msgstr "" + +#: editor/plugins/canvas_item_editor_plugin.cpp +#, fuzzy +msgid "Auto Insert Key" +msgstr "Insereix una Clau" #: editor/plugins/canvas_item_editor_plugin.cpp msgid "Insert Key (Existing Tracks)" @@ -4933,6 +4969,52 @@ msgstr "Edita el Polígon (Elimina un Punt)" msgid "Set Handle" msgstr "Estableix la Nansa" +#: editor/plugins/cpu_particles_2d_editor_plugin.cpp +#: editor/plugins/particles_2d_editor_plugin.cpp +msgid "Error loading image:" +msgstr "Error en carregar la imatge:" + +#: editor/plugins/cpu_particles_2d_editor_plugin.cpp +#: editor/plugins/particles_2d_editor_plugin.cpp +msgid "No pixels with transparency > 128 in image..." +msgstr "Cap píxel amb transparència > 128 en la imatge..." + +#: editor/plugins/cpu_particles_2d_editor_plugin.cpp +#: editor/plugins/particles_2d_editor_plugin.cpp +msgid "Load Emission Mask" +msgstr "Carrega una Màscara d'Emissió" + +#: editor/plugins/cpu_particles_2d_editor_plugin.cpp +#: editor/plugins/particles_2d_editor_plugin.cpp +msgid "Clear Emission Mask" +msgstr "Esborra la Màscara d'Emissió" + +#: editor/plugins/cpu_particles_2d_editor_plugin.cpp +#: editor/plugins/particles_2d_editor_plugin.cpp +#: editor/plugins/particles_editor_plugin.cpp +msgid "Particles" +msgstr "Partícules" + +#: editor/plugins/cpu_particles_2d_editor_plugin.cpp +#: editor/plugins/particles_2d_editor_plugin.cpp +msgid "Generated Point Count:" +msgstr "Recompte de punts generats:" + +#: editor/plugins/cpu_particles_2d_editor_plugin.cpp +#: editor/plugins/particles_2d_editor_plugin.cpp +msgid "Emission Mask" +msgstr "Màscara d'Emissió" + +#: editor/plugins/cpu_particles_2d_editor_plugin.cpp +#: editor/plugins/particles_2d_editor_plugin.cpp +msgid "Capture from Pixel" +msgstr "Captura des d'un Píxel" + +#: editor/plugins/cpu_particles_2d_editor_plugin.cpp +#: editor/plugins/particles_2d_editor_plugin.cpp +msgid "Emission Colors" +msgstr "Colors d'Emissió" + #: editor/plugins/cpu_particles_editor_plugin.cpp #, fuzzy msgid "CPUParticles" @@ -5285,22 +5367,6 @@ msgid "Can only set point into a ParticlesMaterial process material" msgstr "Només es poden establir punts en materials de procés ParticlesMaterial" #: editor/plugins/particles_2d_editor_plugin.cpp -msgid "Error loading image:" -msgstr "Error en carregar la imatge:" - -#: editor/plugins/particles_2d_editor_plugin.cpp -msgid "No pixels with transparency > 128 in image..." -msgstr "Cap píxel amb transparència > 128 en la imatge..." - -#: editor/plugins/particles_2d_editor_plugin.cpp -msgid "Load Emission Mask" -msgstr "Carrega una Màscara d'Emissió" - -#: editor/plugins/particles_2d_editor_plugin.cpp -msgid "Clear Emission Mask" -msgstr "Esborra la Màscara d'Emissió" - -#: editor/plugins/particles_2d_editor_plugin.cpp #: editor/plugins/particles_editor_plugin.cpp #, fuzzy msgid "Convert to CPUParticles" @@ -5308,30 +5374,9 @@ msgstr "Converteix en majúscules" #: editor/plugins/particles_2d_editor_plugin.cpp #: editor/plugins/particles_editor_plugin.cpp -msgid "Particles" -msgstr "Partícules" - -#: editor/plugins/particles_2d_editor_plugin.cpp -msgid "Generated Point Count:" -msgstr "Recompte de punts generats:" - -#: editor/plugins/particles_2d_editor_plugin.cpp -#: editor/plugins/particles_editor_plugin.cpp msgid "Generation Time (sec):" msgstr "Temps de generació (s):" -#: editor/plugins/particles_2d_editor_plugin.cpp -msgid "Emission Mask" -msgstr "Màscara d'Emissió" - -#: editor/plugins/particles_2d_editor_plugin.cpp -msgid "Capture from Pixel" -msgstr "Captura des d'un Píxel" - -#: editor/plugins/particles_2d_editor_plugin.cpp -msgid "Emission Colors" -msgstr "Colors d'Emissió" - #: editor/plugins/particles_editor_plugin.cpp msgid "Faces contain no area!" msgstr "Les Cares no tenen àrea!" @@ -5866,7 +5911,8 @@ msgid "Save Theme As..." msgstr "Desa el Tema com a..." #: editor/plugins/script_editor_plugin.cpp -msgid " Class Reference" +#, fuzzy +msgid "%s Class Reference" msgstr " Referència de Classe" #: editor/plugins/script_editor_plugin.cpp @@ -6715,6 +6761,26 @@ msgstr "" #: editor/plugins/sprite_editor_plugin.cpp #, fuzzy +msgid "Create Mesh2D" +msgstr "Crea la Malla de Contorn" + +#: editor/plugins/sprite_editor_plugin.cpp +#, fuzzy +msgid "Create Polygon2D" +msgstr "Crear Polígon3D" + +#: editor/plugins/sprite_editor_plugin.cpp +#, fuzzy +msgid "Create CollisionPolygon2D" +msgstr "Crea un Polígon de Navegació" + +#: editor/plugins/sprite_editor_plugin.cpp +#, fuzzy +msgid "Create LightOccluder2D" +msgstr "Crea un Polígon Oclusor" + +#: editor/plugins/sprite_editor_plugin.cpp +#, fuzzy msgid "Sprite is empty!" msgstr "El camí per desar és buit!" @@ -6727,19 +6793,41 @@ msgid "Invalid geometry, can't replace by mesh." msgstr "" #: editor/plugins/sprite_editor_plugin.cpp +msgid "Invalid geometry, can't create polygon." +msgstr "" + +#: editor/plugins/sprite_editor_plugin.cpp +msgid "Invalid geometry, can't create collision polygon." +msgstr "" + +#: editor/plugins/sprite_editor_plugin.cpp +msgid "Invalid geometry, can't create light occluder." +msgstr "" + +#: editor/plugins/sprite_editor_plugin.cpp #, fuzzy msgid "Sprite" msgstr "SpriteFrames" #: editor/plugins/sprite_editor_plugin.cpp #, fuzzy -msgid "Convert to 2D Mesh" +msgid "Convert to Mesh2D" msgstr "Converteix a %s" #: editor/plugins/sprite_editor_plugin.cpp #, fuzzy -msgid "Create 2D Mesh" -msgstr "Crea la Malla de Contorn" +msgid "Convert to Polygon2D" +msgstr "Mou el Polígon" + +#: editor/plugins/sprite_editor_plugin.cpp +#, fuzzy +msgid "Create CollisionPolygon2D Sibling" +msgstr "Crea un Polígon de Navegació" + +#: editor/plugins/sprite_editor_plugin.cpp +#, fuzzy +msgid "Create LightOccluder2D Sibling" +msgstr "Crea un Polígon Oclusor" #: editor/plugins/sprite_editor_plugin.cpp msgid "Simplification: " @@ -7354,6 +7442,11 @@ msgid "Duplicate Nodes" msgstr "Duplica els Nodes" #: editor/plugins/visual_shader_editor_plugin.cpp +#, fuzzy +msgid "Delete Nodes" +msgstr "Eliminar Node" + +#: editor/plugins/visual_shader_editor_plugin.cpp msgid "Visual Shader Input Type Changed" msgstr "" @@ -8573,10 +8666,6 @@ msgid "Open documentation" msgstr "Obre la Documentació en línia" #: editor/scene_tree_dock.cpp -msgid "Delete Node(s)" -msgstr "Elimina els Nodes" - -#: editor/scene_tree_dock.cpp msgid "Add Child Node" msgstr "Afegeix un Node Fill" @@ -10466,13 +10555,17 @@ msgstr "" msgid "Varyings can only be assigned in vertex function." msgstr "" +#~ msgid "Snap (s): " +#~ msgstr "Pas (s): " + +#, fuzzy +#~ msgid "Insert keys." +#~ msgstr "Insereix Claus" + #~ msgid "Instance the selected scene(s) as child of the selected node." #~ msgstr "" #~ "Instancia les escenes seleccionades com a filles del node seleccionat." -#~ msgid "FPS" -#~ msgstr "FPS" - #~ msgid "Warnings:" #~ msgstr "Avisos:" diff --git a/editor/translations/cs.po b/editor/translations/cs.po index 49075fe390..63d5bea503 100644 --- a/editor/translations/cs.po +++ b/editor/translations/cs.po @@ -426,13 +426,22 @@ msgid "Group tracks by node or display them as plain list." msgstr "Seskupit stopy podle uzlu nebo je zobrazit jako jednoduchý seznam." #: editor/animation_track_editor.cpp -msgid "Snap (s): " -msgstr "Přichycení (s): " +#, fuzzy +msgid "Snap:" +msgstr "Přichytit" #: editor/animation_track_editor.cpp msgid "Animation step value." msgstr "Hodnota animačního kroku." +#: editor/animation_track_editor.cpp +msgid "Seconds" +msgstr "" + +#: editor/animation_track_editor.cpp +msgid "FPS" +msgstr "FPS" + #: editor/animation_track_editor.cpp editor/editor_properties.cpp #: editor/plugins/polygon_2d_editor_plugin.cpp #: editor/plugins/script_text_editor.cpp @@ -3794,6 +3803,11 @@ msgid "Delete Node" msgstr "Smazat uzel" #: editor/plugins/animation_blend_tree_editor_plugin.cpp +#: editor/scene_tree_dock.cpp +msgid "Delete Node(s)" +msgstr "Odstranit uzel/uzly" + +#: editor/plugins/animation_blend_tree_editor_plugin.cpp #, fuzzy msgid "Toggle Filter On/Off" msgstr "Aktivovat/Deaktivovat tuto stopu." @@ -4752,8 +4766,34 @@ msgid "Layout" msgstr "Rozložení" #: editor/plugins/canvas_item_editor_plugin.cpp -msgid "Insert keys." -msgstr "Vložit klíče." +msgid "Translation mask for inserting keys." +msgstr "" + +#: editor/plugins/canvas_item_editor_plugin.cpp +msgid "Rotation mask for inserting keys." +msgstr "" + +#: editor/plugins/canvas_item_editor_plugin.cpp +msgid "Scale mask for inserting keys." +msgstr "" + +#: editor/plugins/canvas_item_editor_plugin.cpp +#, fuzzy +msgid "Insert keys (based on mask)." +msgstr "Vložit klíč (existující stopy)" + +#: editor/plugins/canvas_item_editor_plugin.cpp +msgid "" +"Auto insert keys when objects are translated, rotated on scaled (based on " +"mask).\n" +"Keys are only added to existing tracks, no new tracks will be created.\n" +"Keys must be inserted manually for the first time." +msgstr "" + +#: editor/plugins/canvas_item_editor_plugin.cpp +#, fuzzy +msgid "Auto Insert Key" +msgstr "Animace: vložit klíč" #: editor/plugins/canvas_item_editor_plugin.cpp msgid "Insert Key (Existing Tracks)" @@ -4823,6 +4863,52 @@ msgstr "Upravit polygon (Odstranit bod)" msgid "Set Handle" msgstr "" +#: editor/plugins/cpu_particles_2d_editor_plugin.cpp +#: editor/plugins/particles_2d_editor_plugin.cpp +msgid "Error loading image:" +msgstr "Chyba při nahrávání obrázku:" + +#: editor/plugins/cpu_particles_2d_editor_plugin.cpp +#: editor/plugins/particles_2d_editor_plugin.cpp +msgid "No pixels with transparency > 128 in image..." +msgstr "Žádný pixel s průhledností > 128 v obrázku..." + +#: editor/plugins/cpu_particles_2d_editor_plugin.cpp +#: editor/plugins/particles_2d_editor_plugin.cpp +msgid "Load Emission Mask" +msgstr "Načíst emisní masku" + +#: editor/plugins/cpu_particles_2d_editor_plugin.cpp +#: editor/plugins/particles_2d_editor_plugin.cpp +msgid "Clear Emission Mask" +msgstr "Vyčistit emisní masku" + +#: editor/plugins/cpu_particles_2d_editor_plugin.cpp +#: editor/plugins/particles_2d_editor_plugin.cpp +#: editor/plugins/particles_editor_plugin.cpp +msgid "Particles" +msgstr "Částice" + +#: editor/plugins/cpu_particles_2d_editor_plugin.cpp +#: editor/plugins/particles_2d_editor_plugin.cpp +msgid "Generated Point Count:" +msgstr "Počet vygenerovaných bodů:" + +#: editor/plugins/cpu_particles_2d_editor_plugin.cpp +#: editor/plugins/particles_2d_editor_plugin.cpp +msgid "Emission Mask" +msgstr "Emisní maska" + +#: editor/plugins/cpu_particles_2d_editor_plugin.cpp +#: editor/plugins/particles_2d_editor_plugin.cpp +msgid "Capture from Pixel" +msgstr "" + +#: editor/plugins/cpu_particles_2d_editor_plugin.cpp +#: editor/plugins/particles_2d_editor_plugin.cpp +msgid "Emission Colors" +msgstr "" + #: editor/plugins/cpu_particles_editor_plugin.cpp msgid "CPUParticles" msgstr "CPUParticles" @@ -5178,52 +5264,15 @@ msgid "Can only set point into a ParticlesMaterial process material" msgstr "" #: editor/plugins/particles_2d_editor_plugin.cpp -msgid "Error loading image:" -msgstr "Chyba při nahrávání obrázku:" - -#: editor/plugins/particles_2d_editor_plugin.cpp -msgid "No pixels with transparency > 128 in image..." -msgstr "Žádný pixel s průhledností > 128 v obrázku..." - -#: editor/plugins/particles_2d_editor_plugin.cpp -msgid "Load Emission Mask" -msgstr "Načíst emisní masku" - -#: editor/plugins/particles_2d_editor_plugin.cpp -msgid "Clear Emission Mask" -msgstr "Vyčistit emisní masku" - -#: editor/plugins/particles_2d_editor_plugin.cpp #: editor/plugins/particles_editor_plugin.cpp msgid "Convert to CPUParticles" msgstr "Převést na CPUParticles" #: editor/plugins/particles_2d_editor_plugin.cpp #: editor/plugins/particles_editor_plugin.cpp -msgid "Particles" -msgstr "Částice" - -#: editor/plugins/particles_2d_editor_plugin.cpp -msgid "Generated Point Count:" -msgstr "Počet vygenerovaných bodů:" - -#: editor/plugins/particles_2d_editor_plugin.cpp -#: editor/plugins/particles_editor_plugin.cpp msgid "Generation Time (sec):" msgstr "Čas generování (sec):" -#: editor/plugins/particles_2d_editor_plugin.cpp -msgid "Emission Mask" -msgstr "Emisní maska" - -#: editor/plugins/particles_2d_editor_plugin.cpp -msgid "Capture from Pixel" -msgstr "" - -#: editor/plugins/particles_2d_editor_plugin.cpp -msgid "Emission Colors" -msgstr "" - #: editor/plugins/particles_editor_plugin.cpp msgid "Faces contain no area!" msgstr "" @@ -5735,7 +5784,8 @@ msgid "Save Theme As..." msgstr "Uložit motiv jako..." #: editor/plugins/script_editor_plugin.cpp -msgid " Class Reference" +#, fuzzy +msgid "%s Class Reference" msgstr " Reference třídy" #: editor/plugins/script_editor_plugin.cpp @@ -6567,6 +6617,26 @@ msgid "Nameless gizmo" msgstr "" #: editor/plugins/sprite_editor_plugin.cpp +#, fuzzy +msgid "Create Mesh2D" +msgstr "Vytvořit 2D mesh" + +#: editor/plugins/sprite_editor_plugin.cpp +#, fuzzy +msgid "Create Polygon2D" +msgstr "Vytvořit Polygon3D" + +#: editor/plugins/sprite_editor_plugin.cpp +#, fuzzy +msgid "Create CollisionPolygon2D" +msgstr "Vytvořit navigační polygon" + +#: editor/plugins/sprite_editor_plugin.cpp +#, fuzzy +msgid "Create LightOccluder2D" +msgstr "Vytvořit Occluder Polygon" + +#: editor/plugins/sprite_editor_plugin.cpp msgid "Sprite is empty!" msgstr "Sprite je prázdný!" @@ -6579,16 +6649,40 @@ msgid "Invalid geometry, can't replace by mesh." msgstr "" #: editor/plugins/sprite_editor_plugin.cpp +msgid "Invalid geometry, can't create polygon." +msgstr "" + +#: editor/plugins/sprite_editor_plugin.cpp +msgid "Invalid geometry, can't create collision polygon." +msgstr "" + +#: editor/plugins/sprite_editor_plugin.cpp +msgid "Invalid geometry, can't create light occluder." +msgstr "" + +#: editor/plugins/sprite_editor_plugin.cpp msgid "Sprite" msgstr "" #: editor/plugins/sprite_editor_plugin.cpp -msgid "Convert to 2D Mesh" +#, fuzzy +msgid "Convert to Mesh2D" msgstr "Konvertovat na 2D mesh" #: editor/plugins/sprite_editor_plugin.cpp -msgid "Create 2D Mesh" -msgstr "Vytvořit 2D mesh" +#, fuzzy +msgid "Convert to Polygon2D" +msgstr "Přesunout polygon" + +#: editor/plugins/sprite_editor_plugin.cpp +#, fuzzy +msgid "Create CollisionPolygon2D Sibling" +msgstr "Vytvořit navigační polygon" + +#: editor/plugins/sprite_editor_plugin.cpp +#, fuzzy +msgid "Create LightOccluder2D Sibling" +msgstr "Vytvořit Occluder Polygon" #: editor/plugins/sprite_editor_plugin.cpp msgid "Simplification: " @@ -7188,6 +7282,11 @@ msgid "Duplicate Nodes" msgstr "Duplikovat uzel/uzly" #: editor/plugins/visual_shader_editor_plugin.cpp +#, fuzzy +msgid "Delete Nodes" +msgstr "Smazat uzel" + +#: editor/plugins/visual_shader_editor_plugin.cpp msgid "Visual Shader Input Type Changed" msgstr "" @@ -8360,10 +8459,6 @@ msgid "Open documentation" msgstr "Otevřít dokumentaci" #: editor/scene_tree_dock.cpp -msgid "Delete Node(s)" -msgstr "Odstranit uzel/uzly" - -#: editor/scene_tree_dock.cpp msgid "Add Child Node" msgstr "Přidat podřízený uzel" @@ -10205,8 +10300,11 @@ msgstr "" msgid "Varyings can only be assigned in vertex function." msgstr "" -#~ msgid "FPS" -#~ msgstr "FPS" +#~ msgid "Snap (s): " +#~ msgstr "Přichycení (s): " + +#~ msgid "Insert keys." +#~ msgstr "Vložit klíče." #~ msgid "Warnings:" #~ msgstr "Varování:" diff --git a/editor/translations/da.po b/editor/translations/da.po index 5096ed924a..ee8b415fe3 100644 --- a/editor/translations/da.po +++ b/editor/translations/da.po @@ -434,13 +434,22 @@ msgid "Group tracks by node or display them as plain list." msgstr "Grupper spor efter node eller vis dem som almindelig liste." #: editor/animation_track_editor.cpp -msgid "Snap (s): " +#, fuzzy +msgid "Snap:" msgstr "Trin: " #: editor/animation_track_editor.cpp msgid "Animation step value." msgstr "Animation trin værdi." +#: editor/animation_track_editor.cpp +msgid "Seconds" +msgstr "" + +#: editor/animation_track_editor.cpp +msgid "FPS" +msgstr "" + #: editor/animation_track_editor.cpp editor/editor_properties.cpp #: editor/plugins/polygon_2d_editor_plugin.cpp #: editor/plugins/script_text_editor.cpp @@ -3865,6 +3874,11 @@ msgid "Delete Node" msgstr "Vælg Node" #: editor/plugins/animation_blend_tree_editor_plugin.cpp +#: editor/scene_tree_dock.cpp +msgid "Delete Node(s)" +msgstr "" + +#: editor/plugins/animation_blend_tree_editor_plugin.cpp #, fuzzy msgid "Toggle Filter On/Off" msgstr "Slå spor til/fra." @@ -4850,8 +4864,33 @@ msgid "Layout" msgstr "" #: editor/plugins/canvas_item_editor_plugin.cpp +msgid "Translation mask for inserting keys." +msgstr "" + +#: editor/plugins/canvas_item_editor_plugin.cpp +msgid "Rotation mask for inserting keys." +msgstr "" + +#: editor/plugins/canvas_item_editor_plugin.cpp +msgid "Scale mask for inserting keys." +msgstr "" + +#: editor/plugins/canvas_item_editor_plugin.cpp +#, fuzzy +msgid "Insert keys (based on mask)." +msgstr "Anim Indsæt Nøgle" + +#: editor/plugins/canvas_item_editor_plugin.cpp +msgid "" +"Auto insert keys when objects are translated, rotated on scaled (based on " +"mask).\n" +"Keys are only added to existing tracks, no new tracks will be created.\n" +"Keys must be inserted manually for the first time." +msgstr "" + +#: editor/plugins/canvas_item_editor_plugin.cpp #, fuzzy -msgid "Insert keys." +msgid "Auto Insert Key" msgstr "Anim Indsæt Nøgle" #: editor/plugins/canvas_item_editor_plugin.cpp @@ -4924,6 +4963,52 @@ msgstr "Rediger Poly (Fjern Punkt)" msgid "Set Handle" msgstr "" +#: editor/plugins/cpu_particles_2d_editor_plugin.cpp +#: editor/plugins/particles_2d_editor_plugin.cpp +msgid "Error loading image:" +msgstr "" + +#: editor/plugins/cpu_particles_2d_editor_plugin.cpp +#: editor/plugins/particles_2d_editor_plugin.cpp +msgid "No pixels with transparency > 128 in image..." +msgstr "" + +#: editor/plugins/cpu_particles_2d_editor_plugin.cpp +#: editor/plugins/particles_2d_editor_plugin.cpp +msgid "Load Emission Mask" +msgstr "" + +#: editor/plugins/cpu_particles_2d_editor_plugin.cpp +#: editor/plugins/particles_2d_editor_plugin.cpp +msgid "Clear Emission Mask" +msgstr "" + +#: editor/plugins/cpu_particles_2d_editor_plugin.cpp +#: editor/plugins/particles_2d_editor_plugin.cpp +#: editor/plugins/particles_editor_plugin.cpp +msgid "Particles" +msgstr "" + +#: editor/plugins/cpu_particles_2d_editor_plugin.cpp +#: editor/plugins/particles_2d_editor_plugin.cpp +msgid "Generated Point Count:" +msgstr "" + +#: editor/plugins/cpu_particles_2d_editor_plugin.cpp +#: editor/plugins/particles_2d_editor_plugin.cpp +msgid "Emission Mask" +msgstr "" + +#: editor/plugins/cpu_particles_2d_editor_plugin.cpp +#: editor/plugins/particles_2d_editor_plugin.cpp +msgid "Capture from Pixel" +msgstr "" + +#: editor/plugins/cpu_particles_2d_editor_plugin.cpp +#: editor/plugins/particles_2d_editor_plugin.cpp +msgid "Emission Colors" +msgstr "" + #: editor/plugins/cpu_particles_editor_plugin.cpp msgid "CPUParticles" msgstr "" @@ -5277,22 +5362,6 @@ msgid "Can only set point into a ParticlesMaterial process material" msgstr "" #: editor/plugins/particles_2d_editor_plugin.cpp -msgid "Error loading image:" -msgstr "" - -#: editor/plugins/particles_2d_editor_plugin.cpp -msgid "No pixels with transparency > 128 in image..." -msgstr "" - -#: editor/plugins/particles_2d_editor_plugin.cpp -msgid "Load Emission Mask" -msgstr "" - -#: editor/plugins/particles_2d_editor_plugin.cpp -msgid "Clear Emission Mask" -msgstr "" - -#: editor/plugins/particles_2d_editor_plugin.cpp #: editor/plugins/particles_editor_plugin.cpp #, fuzzy msgid "Convert to CPUParticles" @@ -5300,30 +5369,9 @@ msgstr "Konverter Til %s" #: editor/plugins/particles_2d_editor_plugin.cpp #: editor/plugins/particles_editor_plugin.cpp -msgid "Particles" -msgstr "" - -#: editor/plugins/particles_2d_editor_plugin.cpp -msgid "Generated Point Count:" -msgstr "" - -#: editor/plugins/particles_2d_editor_plugin.cpp -#: editor/plugins/particles_editor_plugin.cpp msgid "Generation Time (sec):" msgstr "" -#: editor/plugins/particles_2d_editor_plugin.cpp -msgid "Emission Mask" -msgstr "" - -#: editor/plugins/particles_2d_editor_plugin.cpp -msgid "Capture from Pixel" -msgstr "" - -#: editor/plugins/particles_2d_editor_plugin.cpp -msgid "Emission Colors" -msgstr "" - #: editor/plugins/particles_editor_plugin.cpp msgid "Faces contain no area!" msgstr "" @@ -5856,7 +5904,7 @@ msgid "Save Theme As..." msgstr "" #: editor/plugins/script_editor_plugin.cpp -msgid " Class Reference" +msgid "%s Class Reference" msgstr "" #: editor/plugins/script_editor_plugin.cpp @@ -6698,6 +6746,26 @@ msgid "Nameless gizmo" msgstr "" #: editor/plugins/sprite_editor_plugin.cpp +#, fuzzy +msgid "Create Mesh2D" +msgstr "Opret Ny %s" + +#: editor/plugins/sprite_editor_plugin.cpp +#, fuzzy +msgid "Create Polygon2D" +msgstr "Opret Poly" + +#: editor/plugins/sprite_editor_plugin.cpp +#, fuzzy +msgid "Create CollisionPolygon2D" +msgstr "Opret Poly" + +#: editor/plugins/sprite_editor_plugin.cpp +#, fuzzy +msgid "Create LightOccluder2D" +msgstr "Opret Mappe" + +#: editor/plugins/sprite_editor_plugin.cpp msgid "Sprite is empty!" msgstr "" @@ -6710,18 +6778,39 @@ msgid "Invalid geometry, can't replace by mesh." msgstr "" #: editor/plugins/sprite_editor_plugin.cpp +msgid "Invalid geometry, can't create polygon." +msgstr "" + +#: editor/plugins/sprite_editor_plugin.cpp +msgid "Invalid geometry, can't create collision polygon." +msgstr "" + +#: editor/plugins/sprite_editor_plugin.cpp +msgid "Invalid geometry, can't create light occluder." +msgstr "" + +#: editor/plugins/sprite_editor_plugin.cpp msgid "Sprite" msgstr "" #: editor/plugins/sprite_editor_plugin.cpp #, fuzzy -msgid "Convert to 2D Mesh" +msgid "Convert to Mesh2D" msgstr "Konverter Til %s" #: editor/plugins/sprite_editor_plugin.cpp #, fuzzy -msgid "Create 2D Mesh" -msgstr "Opret Ny %s" +msgid "Convert to Polygon2D" +msgstr "Konverter Til %s" + +#: editor/plugins/sprite_editor_plugin.cpp +#, fuzzy +msgid "Create CollisionPolygon2D Sibling" +msgstr "Opret Poly" + +#: editor/plugins/sprite_editor_plugin.cpp +msgid "Create LightOccluder2D Sibling" +msgstr "" #: editor/plugins/sprite_editor_plugin.cpp msgid "Simplification: " @@ -7333,6 +7422,11 @@ msgid "Duplicate Nodes" msgstr "Dublikér nøgle(r)" #: editor/plugins/visual_shader_editor_plugin.cpp +#, fuzzy +msgid "Delete Nodes" +msgstr "Vælg Node" + +#: editor/plugins/visual_shader_editor_plugin.cpp msgid "Visual Shader Input Type Changed" msgstr "" @@ -8523,10 +8617,6 @@ msgid "Open documentation" msgstr "Åben Seneste" #: editor/scene_tree_dock.cpp -msgid "Delete Node(s)" -msgstr "" - -#: editor/scene_tree_dock.cpp msgid "Add Child Node" msgstr "" diff --git a/editor/translations/de.po b/editor/translations/de.po index adae79c0e7..a9f174e98e 100644 --- a/editor/translations/de.po +++ b/editor/translations/de.po @@ -452,13 +452,22 @@ msgid "Group tracks by node or display them as plain list." msgstr "Spuren nach Node gruppieren oder nacheinander anzeigen." #: editor/animation_track_editor.cpp -msgid "Snap (s): " -msgstr "Einrasten (s): " +#, fuzzy +msgid "Snap:" +msgstr "Einrasten" #: editor/animation_track_editor.cpp msgid "Animation step value." msgstr "Animationsschrittwert." +#: editor/animation_track_editor.cpp +msgid "Seconds" +msgstr "" + +#: editor/animation_track_editor.cpp +msgid "FPS" +msgstr "FPS" + #: editor/animation_track_editor.cpp editor/editor_properties.cpp #: editor/plugins/polygon_2d_editor_plugin.cpp #: editor/plugins/script_text_editor.cpp @@ -3863,6 +3872,11 @@ msgid "Delete Node" msgstr "Node löschen" #: editor/plugins/animation_blend_tree_editor_plugin.cpp +#: editor/scene_tree_dock.cpp +msgid "Delete Node(s)" +msgstr "Node(s) löschen" + +#: editor/plugins/animation_blend_tree_editor_plugin.cpp msgid "Toggle Filter On/Off" msgstr "Filter ein-/ausschalten" @@ -4841,8 +4855,34 @@ msgid "Layout" msgstr "Layout" #: editor/plugins/canvas_item_editor_plugin.cpp -msgid "Insert keys." -msgstr "Schlüsselbilder einfügen." +msgid "Translation mask for inserting keys." +msgstr "" + +#: editor/plugins/canvas_item_editor_plugin.cpp +msgid "Rotation mask for inserting keys." +msgstr "" + +#: editor/plugins/canvas_item_editor_plugin.cpp +msgid "Scale mask for inserting keys." +msgstr "" + +#: editor/plugins/canvas_item_editor_plugin.cpp +#, fuzzy +msgid "Insert keys (based on mask)." +msgstr "Schlüsselbilder einfügen (Einfg)" + +#: editor/plugins/canvas_item_editor_plugin.cpp +msgid "" +"Auto insert keys when objects are translated, rotated on scaled (based on " +"mask).\n" +"Keys are only added to existing tracks, no new tracks will be created.\n" +"Keys must be inserted manually for the first time." +msgstr "" + +#: editor/plugins/canvas_item_editor_plugin.cpp +#, fuzzy +msgid "Auto Insert Key" +msgstr "Schlüsselbild einfügen" #: editor/plugins/canvas_item_editor_plugin.cpp msgid "Insert Key (Existing Tracks)" @@ -4914,6 +4954,52 @@ msgstr "Polygon bearbeiten (Punkt entfernen)" msgid "Set Handle" msgstr "Wähle Griff" +#: editor/plugins/cpu_particles_2d_editor_plugin.cpp +#: editor/plugins/particles_2d_editor_plugin.cpp +msgid "Error loading image:" +msgstr "Fehler beim Laden des Bilds:" + +#: editor/plugins/cpu_particles_2d_editor_plugin.cpp +#: editor/plugins/particles_2d_editor_plugin.cpp +msgid "No pixels with transparency > 128 in image..." +msgstr "Keine Pixel mit einer Transparenz > 128 im Bild..." + +#: editor/plugins/cpu_particles_2d_editor_plugin.cpp +#: editor/plugins/particles_2d_editor_plugin.cpp +msgid "Load Emission Mask" +msgstr "Emissionsmaske laden" + +#: editor/plugins/cpu_particles_2d_editor_plugin.cpp +#: editor/plugins/particles_2d_editor_plugin.cpp +msgid "Clear Emission Mask" +msgstr "Emissionsmaske leeren" + +#: editor/plugins/cpu_particles_2d_editor_plugin.cpp +#: editor/plugins/particles_2d_editor_plugin.cpp +#: editor/plugins/particles_editor_plugin.cpp +msgid "Particles" +msgstr "Partikel" + +#: editor/plugins/cpu_particles_2d_editor_plugin.cpp +#: editor/plugins/particles_2d_editor_plugin.cpp +msgid "Generated Point Count:" +msgstr "Anzahl generierter Punkte:" + +#: editor/plugins/cpu_particles_2d_editor_plugin.cpp +#: editor/plugins/particles_2d_editor_plugin.cpp +msgid "Emission Mask" +msgstr "Emissionsmaske" + +#: editor/plugins/cpu_particles_2d_editor_plugin.cpp +#: editor/plugins/particles_2d_editor_plugin.cpp +msgid "Capture from Pixel" +msgstr "Von Pixel aufnehmen" + +#: editor/plugins/cpu_particles_2d_editor_plugin.cpp +#: editor/plugins/particles_2d_editor_plugin.cpp +msgid "Emission Colors" +msgstr "Emissionsfarben" + #: editor/plugins/cpu_particles_editor_plugin.cpp msgid "CPUParticles" msgstr "CPU-Partikel" @@ -5268,52 +5354,15 @@ msgstr "" "werden" #: editor/plugins/particles_2d_editor_plugin.cpp -msgid "Error loading image:" -msgstr "Fehler beim Laden des Bilds:" - -#: editor/plugins/particles_2d_editor_plugin.cpp -msgid "No pixels with transparency > 128 in image..." -msgstr "Keine Pixel mit einer Transparenz > 128 im Bild..." - -#: editor/plugins/particles_2d_editor_plugin.cpp -msgid "Load Emission Mask" -msgstr "Emissionsmaske laden" - -#: editor/plugins/particles_2d_editor_plugin.cpp -msgid "Clear Emission Mask" -msgstr "Emissionsmaske leeren" - -#: editor/plugins/particles_2d_editor_plugin.cpp #: editor/plugins/particles_editor_plugin.cpp msgid "Convert to CPUParticles" msgstr "Zu CPU-Partikeln konvertieren" #: editor/plugins/particles_2d_editor_plugin.cpp #: editor/plugins/particles_editor_plugin.cpp -msgid "Particles" -msgstr "Partikel" - -#: editor/plugins/particles_2d_editor_plugin.cpp -msgid "Generated Point Count:" -msgstr "Anzahl generierter Punkte:" - -#: editor/plugins/particles_2d_editor_plugin.cpp -#: editor/plugins/particles_editor_plugin.cpp msgid "Generation Time (sec):" msgstr "Erzeugungszeit (s):" -#: editor/plugins/particles_2d_editor_plugin.cpp -msgid "Emission Mask" -msgstr "Emissionsmaske" - -#: editor/plugins/particles_2d_editor_plugin.cpp -msgid "Capture from Pixel" -msgstr "Von Pixel aufnehmen" - -#: editor/plugins/particles_2d_editor_plugin.cpp -msgid "Emission Colors" -msgstr "Emissionsfarben" - #: editor/plugins/particles_editor_plugin.cpp msgid "Faces contain no area!" msgstr "Flächen enthalten keinen Bereich!" @@ -5825,7 +5874,8 @@ msgid "Save Theme As..." msgstr "Motiv speichern als..." #: editor/plugins/script_editor_plugin.cpp -msgid " Class Reference" +#, fuzzy +msgid "%s Class Reference" msgstr " Klassenreferenz" #: editor/plugins/script_editor_plugin.cpp @@ -6653,6 +6703,26 @@ msgid "Nameless gizmo" msgstr "Namenloser Anfasser" #: editor/plugins/sprite_editor_plugin.cpp +#, fuzzy +msgid "Create Mesh2D" +msgstr "2D-Mesh erzeugen" + +#: editor/plugins/sprite_editor_plugin.cpp +#, fuzzy +msgid "Create Polygon2D" +msgstr "Polygon3D erstellen" + +#: editor/plugins/sprite_editor_plugin.cpp +#, fuzzy +msgid "Create CollisionPolygon2D" +msgstr "Kollisionspolygon erzeugen" + +#: editor/plugins/sprite_editor_plugin.cpp +#, fuzzy +msgid "Create LightOccluder2D" +msgstr "Occluder-Polygon erzeugen" + +#: editor/plugins/sprite_editor_plugin.cpp msgid "Sprite is empty!" msgstr "Sprite ist leer!" @@ -6667,16 +6737,43 @@ msgid "Invalid geometry, can't replace by mesh." msgstr "Ungültige Geometrie, Mesh kann nicht ersetzt werden." #: editor/plugins/sprite_editor_plugin.cpp +#, fuzzy +msgid "Invalid geometry, can't create polygon." +msgstr "Ungültige Geometrie, Mesh kann nicht ersetzt werden." + +#: editor/plugins/sprite_editor_plugin.cpp +#, fuzzy +msgid "Invalid geometry, can't create collision polygon." +msgstr "Ungültige Geometrie, Mesh kann nicht ersetzt werden." + +#: editor/plugins/sprite_editor_plugin.cpp +#, fuzzy +msgid "Invalid geometry, can't create light occluder." +msgstr "Ungültige Geometrie, Mesh kann nicht ersetzt werden." + +#: editor/plugins/sprite_editor_plugin.cpp msgid "Sprite" msgstr "Sprite" #: editor/plugins/sprite_editor_plugin.cpp -msgid "Convert to 2D Mesh" +#, fuzzy +msgid "Convert to Mesh2D" msgstr "Zu 2D-Mesh umwandeln" #: editor/plugins/sprite_editor_plugin.cpp -msgid "Create 2D Mesh" -msgstr "2D-Mesh erzeugen" +#, fuzzy +msgid "Convert to Polygon2D" +msgstr "Polygon verschieben" + +#: editor/plugins/sprite_editor_plugin.cpp +#, fuzzy +msgid "Create CollisionPolygon2D Sibling" +msgstr "Kollisionspolygon erzeugen" + +#: editor/plugins/sprite_editor_plugin.cpp +#, fuzzy +msgid "Create LightOccluder2D Sibling" +msgstr "Occluder-Polygon erzeugen" #: editor/plugins/sprite_editor_plugin.cpp msgid "Simplification: " @@ -7264,6 +7361,11 @@ msgid "Duplicate Nodes" msgstr "Nodes duplizieren" #: editor/plugins/visual_shader_editor_plugin.cpp +#, fuzzy +msgid "Delete Nodes" +msgstr "Node löschen" + +#: editor/plugins/visual_shader_editor_plugin.cpp msgid "Visual Shader Input Type Changed" msgstr "Visual-Shader-Eingabetyp geändert" @@ -8486,10 +8588,6 @@ msgid "Open documentation" msgstr "Dokumentation öffnen" #: editor/scene_tree_dock.cpp -msgid "Delete Node(s)" -msgstr "Node(s) löschen" - -#: editor/scene_tree_dock.cpp msgid "Add Child Node" msgstr "Node hier anhängen" @@ -10390,13 +10488,16 @@ msgstr "Zuweisung an Uniform." msgid "Varyings can only be assigned in vertex function." msgstr "Varyings können nur in Vertex-Funktion zugewiesen werden." +#~ msgid "Snap (s): " +#~ msgstr "Einrasten (s): " + +#~ msgid "Insert keys." +#~ msgstr "Schlüsselbilder einfügen." + #~ msgid "Instance the selected scene(s) as child of the selected node." #~ msgstr "" #~ "Instantiiere gewählte Szene(n) als Unterobjekt des ausgewählten Nodes." -#~ msgid "FPS" -#~ msgstr "FPS" - #~ msgid "Warnings:" #~ msgstr "Warnungen:" @@ -11929,9 +12030,6 @@ msgstr "Varyings können nur in Vertex-Funktion zugewiesen werden." #~ msgid "Cannot go into subdir:" #~ msgstr "Unterordner kann nicht geöffnet werden:" -#~ msgid "Insert Keys (Ins)" -#~ msgstr "Schlüsselbilder einfügen (Einfg)" - #~ msgid "Enable/Disable interpolation when looping animation." #~ msgstr "Aktivieren/Deaktivieren Interpolation, wenn Schleife aktiviert." diff --git a/editor/translations/de_CH.po b/editor/translations/de_CH.po index 55e457c169..cf2e88000d 100644 --- a/editor/translations/de_CH.po +++ b/editor/translations/de_CH.po @@ -430,7 +430,7 @@ msgstr "" #: editor/animation_track_editor.cpp #, fuzzy -msgid "Snap (s): " +msgid "Snap:" msgstr "Selektiere Node(s) zum Importieren aus" #: editor/animation_track_editor.cpp @@ -438,6 +438,14 @@ msgstr "Selektiere Node(s) zum Importieren aus" msgid "Animation step value." msgstr "Animations-Node" +#: editor/animation_track_editor.cpp +msgid "Seconds" +msgstr "" + +#: editor/animation_track_editor.cpp +msgid "FPS" +msgstr "" + #: editor/animation_track_editor.cpp editor/editor_properties.cpp #: editor/plugins/polygon_2d_editor_plugin.cpp #: editor/plugins/script_text_editor.cpp @@ -3805,6 +3813,11 @@ msgid "Delete Node" msgstr "Node(s) löschen" #: editor/plugins/animation_blend_tree_editor_plugin.cpp +#: editor/scene_tree_dock.cpp +msgid "Delete Node(s)" +msgstr "Node(s) löschen" + +#: editor/plugins/animation_blend_tree_editor_plugin.cpp msgid "Toggle Filter On/Off" msgstr "" @@ -4795,9 +4808,34 @@ msgid "Layout" msgstr "" #: editor/plugins/canvas_item_editor_plugin.cpp +msgid "Translation mask for inserting keys." +msgstr "" + +#: editor/plugins/canvas_item_editor_plugin.cpp +msgid "Rotation mask for inserting keys." +msgstr "" + +#: editor/plugins/canvas_item_editor_plugin.cpp +msgid "Scale mask for inserting keys." +msgstr "" + +#: editor/plugins/canvas_item_editor_plugin.cpp #, fuzzy -msgid "Insert keys." -msgstr "Bild einfügen" +msgid "Insert keys (based on mask)." +msgstr "Bilder (innerhalb) einfügen" + +#: editor/plugins/canvas_item_editor_plugin.cpp +msgid "" +"Auto insert keys when objects are translated, rotated on scaled (based on " +"mask).\n" +"Keys are only added to existing tracks, no new tracks will be created.\n" +"Keys must be inserted manually for the first time." +msgstr "" + +#: editor/plugins/canvas_item_editor_plugin.cpp +#, fuzzy +msgid "Auto Insert Key" +msgstr "Anim Bild einfügen" #: editor/plugins/canvas_item_editor_plugin.cpp msgid "Insert Key (Existing Tracks)" @@ -4869,6 +4907,55 @@ msgstr "" msgid "Set Handle" msgstr "" +#: editor/plugins/cpu_particles_2d_editor_plugin.cpp +#: editor/plugins/particles_2d_editor_plugin.cpp +msgid "Error loading image:" +msgstr "" + +#: editor/plugins/cpu_particles_2d_editor_plugin.cpp +#: editor/plugins/particles_2d_editor_plugin.cpp +msgid "No pixels with transparency > 128 in image..." +msgstr "" + +#: editor/plugins/cpu_particles_2d_editor_plugin.cpp +#: editor/plugins/particles_2d_editor_plugin.cpp +msgid "Load Emission Mask" +msgstr "Emissions-Maske laden" + +#: editor/plugins/cpu_particles_2d_editor_plugin.cpp +#: editor/plugins/particles_2d_editor_plugin.cpp +#, fuzzy +msgid "Clear Emission Mask" +msgstr "Inhalt der Emissions-Masken löschen" + +#: editor/plugins/cpu_particles_2d_editor_plugin.cpp +#: editor/plugins/particles_2d_editor_plugin.cpp +#: editor/plugins/particles_editor_plugin.cpp +msgid "Particles" +msgstr "" + +#: editor/plugins/cpu_particles_2d_editor_plugin.cpp +#: editor/plugins/particles_2d_editor_plugin.cpp +msgid "Generated Point Count:" +msgstr "" + +#: editor/plugins/cpu_particles_2d_editor_plugin.cpp +#: editor/plugins/particles_2d_editor_plugin.cpp +#, fuzzy +msgid "Emission Mask" +msgstr "Emissions-Maske setzen" + +#: editor/plugins/cpu_particles_2d_editor_plugin.cpp +#: editor/plugins/particles_2d_editor_plugin.cpp +msgid "Capture from Pixel" +msgstr "" + +#: editor/plugins/cpu_particles_2d_editor_plugin.cpp +#: editor/plugins/particles_2d_editor_plugin.cpp +#, fuzzy +msgid "Emission Colors" +msgstr "Emissions-Maske setzen" + #: editor/plugins/cpu_particles_editor_plugin.cpp msgid "CPUParticles" msgstr "" @@ -5225,23 +5312,6 @@ msgid "Can only set point into a ParticlesMaterial process material" msgstr "" #: editor/plugins/particles_2d_editor_plugin.cpp -msgid "Error loading image:" -msgstr "" - -#: editor/plugins/particles_2d_editor_plugin.cpp -msgid "No pixels with transparency > 128 in image..." -msgstr "" - -#: editor/plugins/particles_2d_editor_plugin.cpp -msgid "Load Emission Mask" -msgstr "Emissions-Maske laden" - -#: editor/plugins/particles_2d_editor_plugin.cpp -#, fuzzy -msgid "Clear Emission Mask" -msgstr "Inhalt der Emissions-Masken löschen" - -#: editor/plugins/particles_2d_editor_plugin.cpp #: editor/plugins/particles_editor_plugin.cpp #, fuzzy msgid "Convert to CPUParticles" @@ -5249,32 +5319,9 @@ msgstr "Verbindung zu Node:" #: editor/plugins/particles_2d_editor_plugin.cpp #: editor/plugins/particles_editor_plugin.cpp -msgid "Particles" -msgstr "" - -#: editor/plugins/particles_2d_editor_plugin.cpp -msgid "Generated Point Count:" -msgstr "" - -#: editor/plugins/particles_2d_editor_plugin.cpp -#: editor/plugins/particles_editor_plugin.cpp msgid "Generation Time (sec):" msgstr "" -#: editor/plugins/particles_2d_editor_plugin.cpp -#, fuzzy -msgid "Emission Mask" -msgstr "Emissions-Maske setzen" - -#: editor/plugins/particles_2d_editor_plugin.cpp -msgid "Capture from Pixel" -msgstr "" - -#: editor/plugins/particles_2d_editor_plugin.cpp -#, fuzzy -msgid "Emission Colors" -msgstr "Emissions-Maske setzen" - #: editor/plugins/particles_editor_plugin.cpp msgid "Faces contain no area!" msgstr "Flächen enthalten keinen Bereich!" @@ -5803,7 +5850,7 @@ msgid "Save Theme As..." msgstr "" #: editor/plugins/script_editor_plugin.cpp -msgid " Class Reference" +msgid "%s Class Reference" msgstr "" #: editor/plugins/script_editor_plugin.cpp @@ -6636,6 +6683,26 @@ msgid "Nameless gizmo" msgstr "" #: editor/plugins/sprite_editor_plugin.cpp +#, fuzzy +msgid "Create Mesh2D" +msgstr "Node erstellen" + +#: editor/plugins/sprite_editor_plugin.cpp +#, fuzzy +msgid "Create Polygon2D" +msgstr "Node erstellen" + +#: editor/plugins/sprite_editor_plugin.cpp +#, fuzzy +msgid "Create CollisionPolygon2D" +msgstr "Node erstellen" + +#: editor/plugins/sprite_editor_plugin.cpp +#, fuzzy +msgid "Create LightOccluder2D" +msgstr "Node erstellen" + +#: editor/plugins/sprite_editor_plugin.cpp msgid "Sprite is empty!" msgstr "" @@ -6648,20 +6715,41 @@ msgid "Invalid geometry, can't replace by mesh." msgstr "" #: editor/plugins/sprite_editor_plugin.cpp +msgid "Invalid geometry, can't create polygon." +msgstr "" + +#: editor/plugins/sprite_editor_plugin.cpp +msgid "Invalid geometry, can't create collision polygon." +msgstr "" + +#: editor/plugins/sprite_editor_plugin.cpp +msgid "Invalid geometry, can't create light occluder." +msgstr "" + +#: editor/plugins/sprite_editor_plugin.cpp msgid "Sprite" msgstr "" #: editor/plugins/sprite_editor_plugin.cpp #, fuzzy -msgid "Convert to 2D Mesh" +msgid "Convert to Mesh2D" +msgstr "Verbindung zu Node:" + +#: editor/plugins/sprite_editor_plugin.cpp +#, fuzzy +msgid "Convert to Polygon2D" msgstr "Verbindung zu Node:" #: editor/plugins/sprite_editor_plugin.cpp #, fuzzy -msgid "Create 2D Mesh" +msgid "Create CollisionPolygon2D Sibling" msgstr "Node erstellen" #: editor/plugins/sprite_editor_plugin.cpp +msgid "Create LightOccluder2D Sibling" +msgstr "" + +#: editor/plugins/sprite_editor_plugin.cpp msgid "Simplification: " msgstr "" @@ -7270,6 +7358,11 @@ msgid "Duplicate Nodes" msgstr "Node(s) duplizieren" #: editor/plugins/visual_shader_editor_plugin.cpp +#, fuzzy +msgid "Delete Nodes" +msgstr "Node(s) löschen" + +#: editor/plugins/visual_shader_editor_plugin.cpp msgid "Visual Shader Input Type Changed" msgstr "" @@ -8461,10 +8554,6 @@ msgid "Open documentation" msgstr "" #: editor/scene_tree_dock.cpp -msgid "Delete Node(s)" -msgstr "Node(s) löschen" - -#: editor/scene_tree_dock.cpp msgid "Add Child Node" msgstr "" @@ -10270,6 +10359,10 @@ msgid "Varyings can only be assigned in vertex function." msgstr "" #, fuzzy +#~ msgid "Insert keys." +#~ msgstr "Bild einfügen" + +#, fuzzy #~ msgid "OrientedPathFollow only works when set as a child of a Path node." #~ msgstr "" #~ "PathFollow2D funktioniert nur, wenn sie als Unterobjekt eines Path2D " @@ -10431,6 +10524,3 @@ msgstr "" #~ msgid "Export all files in the project directory." #~ msgstr "Exportiere alle Dateien in das Projektverzeichnis." - -#~ msgid "Insert Keys (Ins)" -#~ msgstr "Bilder (innerhalb) einfügen" diff --git a/editor/translations/editor.pot b/editor/translations/editor.pot index 5f92cabbee..f9408cfbbc 100644 --- a/editor/translations/editor.pot +++ b/editor/translations/editor.pot @@ -399,13 +399,21 @@ msgid "Group tracks by node or display them as plain list." msgstr "" #: editor/animation_track_editor.cpp -msgid "Snap (s): " +msgid "Snap:" msgstr "" #: editor/animation_track_editor.cpp msgid "Animation step value." msgstr "" +#: editor/animation_track_editor.cpp +msgid "Seconds" +msgstr "" + +#: editor/animation_track_editor.cpp +msgid "FPS" +msgstr "" + #: editor/animation_track_editor.cpp editor/editor_properties.cpp #: editor/plugins/polygon_2d_editor_plugin.cpp #: editor/plugins/script_text_editor.cpp @@ -3659,6 +3667,11 @@ msgid "Delete Node" msgstr "" #: editor/plugins/animation_blend_tree_editor_plugin.cpp +#: editor/scene_tree_dock.cpp +msgid "Delete Node(s)" +msgstr "" + +#: editor/plugins/animation_blend_tree_editor_plugin.cpp msgid "Toggle Filter On/Off" msgstr "" @@ -4610,7 +4623,31 @@ msgid "Layout" msgstr "" #: editor/plugins/canvas_item_editor_plugin.cpp -msgid "Insert keys." +msgid "Translation mask for inserting keys." +msgstr "" + +#: editor/plugins/canvas_item_editor_plugin.cpp +msgid "Rotation mask for inserting keys." +msgstr "" + +#: editor/plugins/canvas_item_editor_plugin.cpp +msgid "Scale mask for inserting keys." +msgstr "" + +#: editor/plugins/canvas_item_editor_plugin.cpp +msgid "Insert keys (based on mask)." +msgstr "" + +#: editor/plugins/canvas_item_editor_plugin.cpp +msgid "" +"Auto insert keys when objects are translated, rotated on scaled (based on " +"mask).\n" +"Keys are only added to existing tracks, no new tracks will be created.\n" +"Keys must be inserted manually for the first time." +msgstr "" + +#: editor/plugins/canvas_item_editor_plugin.cpp +msgid "Auto Insert Key" msgstr "" #: editor/plugins/canvas_item_editor_plugin.cpp @@ -4681,6 +4718,52 @@ msgstr "" msgid "Set Handle" msgstr "" +#: editor/plugins/cpu_particles_2d_editor_plugin.cpp +#: editor/plugins/particles_2d_editor_plugin.cpp +msgid "Error loading image:" +msgstr "" + +#: editor/plugins/cpu_particles_2d_editor_plugin.cpp +#: editor/plugins/particles_2d_editor_plugin.cpp +msgid "No pixels with transparency > 128 in image..." +msgstr "" + +#: editor/plugins/cpu_particles_2d_editor_plugin.cpp +#: editor/plugins/particles_2d_editor_plugin.cpp +msgid "Load Emission Mask" +msgstr "" + +#: editor/plugins/cpu_particles_2d_editor_plugin.cpp +#: editor/plugins/particles_2d_editor_plugin.cpp +msgid "Clear Emission Mask" +msgstr "" + +#: editor/plugins/cpu_particles_2d_editor_plugin.cpp +#: editor/plugins/particles_2d_editor_plugin.cpp +#: editor/plugins/particles_editor_plugin.cpp +msgid "Particles" +msgstr "" + +#: editor/plugins/cpu_particles_2d_editor_plugin.cpp +#: editor/plugins/particles_2d_editor_plugin.cpp +msgid "Generated Point Count:" +msgstr "" + +#: editor/plugins/cpu_particles_2d_editor_plugin.cpp +#: editor/plugins/particles_2d_editor_plugin.cpp +msgid "Emission Mask" +msgstr "" + +#: editor/plugins/cpu_particles_2d_editor_plugin.cpp +#: editor/plugins/particles_2d_editor_plugin.cpp +msgid "Capture from Pixel" +msgstr "" + +#: editor/plugins/cpu_particles_2d_editor_plugin.cpp +#: editor/plugins/particles_2d_editor_plugin.cpp +msgid "Emission Colors" +msgstr "" + #: editor/plugins/cpu_particles_editor_plugin.cpp msgid "CPUParticles" msgstr "" @@ -5031,52 +5114,15 @@ msgid "Can only set point into a ParticlesMaterial process material" msgstr "" #: editor/plugins/particles_2d_editor_plugin.cpp -msgid "Error loading image:" -msgstr "" - -#: editor/plugins/particles_2d_editor_plugin.cpp -msgid "No pixels with transparency > 128 in image..." -msgstr "" - -#: editor/plugins/particles_2d_editor_plugin.cpp -msgid "Load Emission Mask" -msgstr "" - -#: editor/plugins/particles_2d_editor_plugin.cpp -msgid "Clear Emission Mask" -msgstr "" - -#: editor/plugins/particles_2d_editor_plugin.cpp #: editor/plugins/particles_editor_plugin.cpp msgid "Convert to CPUParticles" msgstr "" #: editor/plugins/particles_2d_editor_plugin.cpp #: editor/plugins/particles_editor_plugin.cpp -msgid "Particles" -msgstr "" - -#: editor/plugins/particles_2d_editor_plugin.cpp -msgid "Generated Point Count:" -msgstr "" - -#: editor/plugins/particles_2d_editor_plugin.cpp -#: editor/plugins/particles_editor_plugin.cpp msgid "Generation Time (sec):" msgstr "" -#: editor/plugins/particles_2d_editor_plugin.cpp -msgid "Emission Mask" -msgstr "" - -#: editor/plugins/particles_2d_editor_plugin.cpp -msgid "Capture from Pixel" -msgstr "" - -#: editor/plugins/particles_2d_editor_plugin.cpp -msgid "Emission Colors" -msgstr "" - #: editor/plugins/particles_editor_plugin.cpp msgid "Faces contain no area!" msgstr "" @@ -5580,7 +5626,7 @@ msgid "Save Theme As..." msgstr "" #: editor/plugins/script_editor_plugin.cpp -msgid " Class Reference" +msgid "%s Class Reference" msgstr "" #: editor/plugins/script_editor_plugin.cpp @@ -6398,6 +6444,22 @@ msgid "Nameless gizmo" msgstr "" #: editor/plugins/sprite_editor_plugin.cpp +msgid "Create Mesh2D" +msgstr "" + +#: editor/plugins/sprite_editor_plugin.cpp +msgid "Create Polygon2D" +msgstr "" + +#: editor/plugins/sprite_editor_plugin.cpp +msgid "Create CollisionPolygon2D" +msgstr "" + +#: editor/plugins/sprite_editor_plugin.cpp +msgid "Create LightOccluder2D" +msgstr "" + +#: editor/plugins/sprite_editor_plugin.cpp msgid "Sprite is empty!" msgstr "" @@ -6410,15 +6472,35 @@ msgid "Invalid geometry, can't replace by mesh." msgstr "" #: editor/plugins/sprite_editor_plugin.cpp +msgid "Invalid geometry, can't create polygon." +msgstr "" + +#: editor/plugins/sprite_editor_plugin.cpp +msgid "Invalid geometry, can't create collision polygon." +msgstr "" + +#: editor/plugins/sprite_editor_plugin.cpp +msgid "Invalid geometry, can't create light occluder." +msgstr "" + +#: editor/plugins/sprite_editor_plugin.cpp msgid "Sprite" msgstr "" #: editor/plugins/sprite_editor_plugin.cpp -msgid "Convert to 2D Mesh" +msgid "Convert to Mesh2D" +msgstr "" + +#: editor/plugins/sprite_editor_plugin.cpp +msgid "Convert to Polygon2D" +msgstr "" + +#: editor/plugins/sprite_editor_plugin.cpp +msgid "Create CollisionPolygon2D Sibling" msgstr "" #: editor/plugins/sprite_editor_plugin.cpp -msgid "Create 2D Mesh" +msgid "Create LightOccluder2D Sibling" msgstr "" #: editor/plugins/sprite_editor_plugin.cpp @@ -6989,6 +7071,10 @@ msgid "Duplicate Nodes" msgstr "" #: editor/plugins/visual_shader_editor_plugin.cpp +msgid "Delete Nodes" +msgstr "" + +#: editor/plugins/visual_shader_editor_plugin.cpp msgid "Visual Shader Input Type Changed" msgstr "" @@ -8138,10 +8224,6 @@ msgid "Open documentation" msgstr "" #: editor/scene_tree_dock.cpp -msgid "Delete Node(s)" -msgstr "" - -#: editor/scene_tree_dock.cpp msgid "Add Child Node" msgstr "" diff --git a/editor/translations/el.po b/editor/translations/el.po index ab99259302..b6cf0f79dc 100644 --- a/editor/translations/el.po +++ b/editor/translations/el.po @@ -430,13 +430,22 @@ msgid "Group tracks by node or display them as plain list." msgstr "Ομαδοποίηση κομματιών ανα κόμβο, ή εμφάνιση σε λίστα." #: editor/animation_track_editor.cpp -msgid "Snap (s): " -msgstr "Κούμπωμα (s): " +#, fuzzy +msgid "Snap:" +msgstr "Κούμπωμα" #: editor/animation_track_editor.cpp msgid "Animation step value." msgstr "Τιμή βήματος κίνησης." +#: editor/animation_track_editor.cpp +msgid "Seconds" +msgstr "" + +#: editor/animation_track_editor.cpp +msgid "FPS" +msgstr "FPS" + #: editor/animation_track_editor.cpp editor/editor_properties.cpp #: editor/plugins/polygon_2d_editor_plugin.cpp #: editor/plugins/script_text_editor.cpp @@ -3897,6 +3906,11 @@ msgid "Delete Node" msgstr "Διαγραφή Κόμβων" #: editor/plugins/animation_blend_tree_editor_plugin.cpp +#: editor/scene_tree_dock.cpp +msgid "Delete Node(s)" +msgstr "Διαγραφή Κόμβων" + +#: editor/plugins/animation_blend_tree_editor_plugin.cpp #, fuzzy msgid "Toggle Filter On/Off" msgstr "Εναλλαγή κομματιού on/off." @@ -4885,8 +4899,34 @@ msgid "Layout" msgstr "Διάταξη" #: editor/plugins/canvas_item_editor_plugin.cpp -msgid "Insert keys." -msgstr "Εισαγωγή κλειδιών." +msgid "Translation mask for inserting keys." +msgstr "" + +#: editor/plugins/canvas_item_editor_plugin.cpp +msgid "Rotation mask for inserting keys." +msgstr "" + +#: editor/plugins/canvas_item_editor_plugin.cpp +msgid "Scale mask for inserting keys." +msgstr "" + +#: editor/plugins/canvas_item_editor_plugin.cpp +#, fuzzy +msgid "Insert keys (based on mask)." +msgstr "Εισαγωγή κλειδιού (Υπαρκτά κομμάτια)" + +#: editor/plugins/canvas_item_editor_plugin.cpp +msgid "" +"Auto insert keys when objects are translated, rotated on scaled (based on " +"mask).\n" +"Keys are only added to existing tracks, no new tracks will be created.\n" +"Keys must be inserted manually for the first time." +msgstr "" + +#: editor/plugins/canvas_item_editor_plugin.cpp +#, fuzzy +msgid "Auto Insert Key" +msgstr "Anim εισαγωγή κλειδιού" #: editor/plugins/canvas_item_editor_plugin.cpp msgid "Insert Key (Existing Tracks)" @@ -4959,6 +4999,52 @@ msgstr "Επεγεργασία πολυγώνου (Αφαίρεση σημείο msgid "Set Handle" msgstr "Ορισμός λαβής" +#: editor/plugins/cpu_particles_2d_editor_plugin.cpp +#: editor/plugins/particles_2d_editor_plugin.cpp +msgid "Error loading image:" +msgstr "Σφάλμα κατά την φόρτωση εικόνας:" + +#: editor/plugins/cpu_particles_2d_editor_plugin.cpp +#: editor/plugins/particles_2d_editor_plugin.cpp +msgid "No pixels with transparency > 128 in image..." +msgstr "Δεν υπάρχουν εικονοστοιχεία με διαφάνεια >128 στην εικόνα..." + +#: editor/plugins/cpu_particles_2d_editor_plugin.cpp +#: editor/plugins/particles_2d_editor_plugin.cpp +msgid "Load Emission Mask" +msgstr "Φόρτωση μάσκας εκπομπής" + +#: editor/plugins/cpu_particles_2d_editor_plugin.cpp +#: editor/plugins/particles_2d_editor_plugin.cpp +msgid "Clear Emission Mask" +msgstr "Εκκαθάριση μάσκας εκπομπής" + +#: editor/plugins/cpu_particles_2d_editor_plugin.cpp +#: editor/plugins/particles_2d_editor_plugin.cpp +#: editor/plugins/particles_editor_plugin.cpp +msgid "Particles" +msgstr "Σωματίδια" + +#: editor/plugins/cpu_particles_2d_editor_plugin.cpp +#: editor/plugins/particles_2d_editor_plugin.cpp +msgid "Generated Point Count:" +msgstr "Αριθμός δημιουργημένων σημείων:" + +#: editor/plugins/cpu_particles_2d_editor_plugin.cpp +#: editor/plugins/particles_2d_editor_plugin.cpp +msgid "Emission Mask" +msgstr "Μάσκα εκπομπής" + +#: editor/plugins/cpu_particles_2d_editor_plugin.cpp +#: editor/plugins/particles_2d_editor_plugin.cpp +msgid "Capture from Pixel" +msgstr "Καταγραφή από εικονοστοιχείο" + +#: editor/plugins/cpu_particles_2d_editor_plugin.cpp +#: editor/plugins/particles_2d_editor_plugin.cpp +msgid "Emission Colors" +msgstr "Χρώματα εκπομπής" + #: editor/plugins/cpu_particles_editor_plugin.cpp msgid "CPUParticles" msgstr "Σωματίδια CPU" @@ -5314,52 +5400,15 @@ msgstr "" "ParticlesMaterial" #: editor/plugins/particles_2d_editor_plugin.cpp -msgid "Error loading image:" -msgstr "Σφάλμα κατά την φόρτωση εικόνας:" - -#: editor/plugins/particles_2d_editor_plugin.cpp -msgid "No pixels with transparency > 128 in image..." -msgstr "Δεν υπάρχουν εικονοστοιχεία με διαφάνεια >128 στην εικόνα..." - -#: editor/plugins/particles_2d_editor_plugin.cpp -msgid "Load Emission Mask" -msgstr "Φόρτωση μάσκας εκπομπής" - -#: editor/plugins/particles_2d_editor_plugin.cpp -msgid "Clear Emission Mask" -msgstr "Εκκαθάριση μάσκας εκπομπής" - -#: editor/plugins/particles_2d_editor_plugin.cpp #: editor/plugins/particles_editor_plugin.cpp msgid "Convert to CPUParticles" msgstr "Μετατροπή σε σωματίδια CPU" #: editor/plugins/particles_2d_editor_plugin.cpp #: editor/plugins/particles_editor_plugin.cpp -msgid "Particles" -msgstr "Σωματίδια" - -#: editor/plugins/particles_2d_editor_plugin.cpp -msgid "Generated Point Count:" -msgstr "Αριθμός δημιουργημένων σημείων:" - -#: editor/plugins/particles_2d_editor_plugin.cpp -#: editor/plugins/particles_editor_plugin.cpp msgid "Generation Time (sec):" msgstr "Χρόνος παραγωγής (sec):" -#: editor/plugins/particles_2d_editor_plugin.cpp -msgid "Emission Mask" -msgstr "Μάσκα εκπομπής" - -#: editor/plugins/particles_2d_editor_plugin.cpp -msgid "Capture from Pixel" -msgstr "Καταγραφή από εικονοστοιχείο" - -#: editor/plugins/particles_2d_editor_plugin.cpp -msgid "Emission Colors" -msgstr "Χρώματα εκπομπής" - #: editor/plugins/particles_editor_plugin.cpp msgid "Faces contain no area!" msgstr "Οι επιφάνειες έχουν μηδενικό εμβαδόν!" @@ -5897,7 +5946,8 @@ msgid "Save Theme As..." msgstr "Αποθήκευση θέματος ως..." #: editor/plugins/script_editor_plugin.cpp -msgid " Class Reference" +#, fuzzy +msgid "%s Class Reference" msgstr " Αναφορά κλασεων" #: editor/plugins/script_editor_plugin.cpp @@ -6750,6 +6800,26 @@ msgstr "" #: editor/plugins/sprite_editor_plugin.cpp #, fuzzy +msgid "Create Mesh2D" +msgstr "Δημιουργία πλέγματος περιγράμματος" + +#: editor/plugins/sprite_editor_plugin.cpp +#, fuzzy +msgid "Create Polygon2D" +msgstr "Δημιουγία πολυγώνου" + +#: editor/plugins/sprite_editor_plugin.cpp +#, fuzzy +msgid "Create CollisionPolygon2D" +msgstr "Δημιουργία πολυγώνου πλοήγησης" + +#: editor/plugins/sprite_editor_plugin.cpp +#, fuzzy +msgid "Create LightOccluder2D" +msgstr "Δημιουργία πολυγώνου εμποδίου" + +#: editor/plugins/sprite_editor_plugin.cpp +#, fuzzy msgid "Sprite is empty!" msgstr "Η διαδρομή αποθήκευσης είναι άδεια!" @@ -6762,19 +6832,41 @@ msgid "Invalid geometry, can't replace by mesh." msgstr "" #: editor/plugins/sprite_editor_plugin.cpp +msgid "Invalid geometry, can't create polygon." +msgstr "" + +#: editor/plugins/sprite_editor_plugin.cpp +msgid "Invalid geometry, can't create collision polygon." +msgstr "" + +#: editor/plugins/sprite_editor_plugin.cpp +msgid "Invalid geometry, can't create light occluder." +msgstr "" + +#: editor/plugins/sprite_editor_plugin.cpp #, fuzzy msgid "Sprite" msgstr "Kαρέ Sprite" #: editor/plugins/sprite_editor_plugin.cpp #, fuzzy -msgid "Convert to 2D Mesh" +msgid "Convert to Mesh2D" msgstr "Μετατροπή σε %s" #: editor/plugins/sprite_editor_plugin.cpp #, fuzzy -msgid "Create 2D Mesh" -msgstr "Δημιουργία πλέγματος περιγράμματος" +msgid "Convert to Polygon2D" +msgstr "Μετακίνηση πολυγώνου" + +#: editor/plugins/sprite_editor_plugin.cpp +#, fuzzy +msgid "Create CollisionPolygon2D Sibling" +msgstr "Δημιουργία πολυγώνου πλοήγησης" + +#: editor/plugins/sprite_editor_plugin.cpp +#, fuzzy +msgid "Create LightOccluder2D Sibling" +msgstr "Δημιουργία πολυγώνου εμποδίου" #: editor/plugins/sprite_editor_plugin.cpp msgid "Simplification: " @@ -7402,6 +7494,11 @@ msgid "Duplicate Nodes" msgstr "Διπλασιασμός κόμβων" #: editor/plugins/visual_shader_editor_plugin.cpp +#, fuzzy +msgid "Delete Nodes" +msgstr "Διαγραφή Κόμβων" + +#: editor/plugins/visual_shader_editor_plugin.cpp msgid "Visual Shader Input Type Changed" msgstr "" @@ -8635,10 +8732,6 @@ msgid "Open documentation" msgstr "Άνοιγμα ηλεκτρονικής τεκμηρίωσης της Godot" #: editor/scene_tree_dock.cpp -msgid "Delete Node(s)" -msgstr "Διαγραφή Κόμβων" - -#: editor/scene_tree_dock.cpp msgid "Add Child Node" msgstr "Προσθήκη κόμβου ως παιδί" @@ -10536,14 +10629,17 @@ msgstr "" msgid "Varyings can only be assigned in vertex function." msgstr "" +#~ msgid "Snap (s): " +#~ msgstr "Κούμπωμα (s): " + +#~ msgid "Insert keys." +#~ msgstr "Εισαγωγή κλειδιών." + #~ msgid "Instance the selected scene(s) as child of the selected node." #~ msgstr "" #~ "Δημιουργία στιγμιοτύπων των επιλεγμένων σκηνών ως παιδιά του επιλεγμένου " #~ "κόμβου." -#~ msgid "FPS" -#~ msgstr "FPS" - #~ msgid "Warnings:" #~ msgstr "Προειδοποιήσεις:" diff --git a/editor/translations/es.po b/editor/translations/es.po index 22907ff2ea..f66b06cccd 100644 --- a/editor/translations/es.po +++ b/editor/translations/es.po @@ -42,8 +42,8 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine editor\n" "POT-Creation-Date: \n" -"PO-Revision-Date: 2019-04-05 13:04+0000\n" -"Last-Translator: Javier Ocampos <xavier.ocampos@gmail.com>\n" +"PO-Revision-Date: 2019-04-19 16:33+0000\n" +"Last-Translator: eon-s <emanuel.segretin@gmail.com>\n" "Language-Team: Spanish <https://hosted.weblate.org/projects/godot-engine/" "godot/es/>\n" "Language: es\n" @@ -453,13 +453,22 @@ msgid "Group tracks by node or display them as plain list." msgstr "Agrupar las pistas por nodo o mostrarlas como una lista plana." #: editor/animation_track_editor.cpp -msgid "Snap (s): " -msgstr "Snap (s): " +#, fuzzy +msgid "Snap:" +msgstr "Snap" #: editor/animation_track_editor.cpp msgid "Animation step value." msgstr "Valor de step de animación." +#: editor/animation_track_editor.cpp +msgid "Seconds" +msgstr "" + +#: editor/animation_track_editor.cpp +msgid "FPS" +msgstr "FPS" + #: editor/animation_track_editor.cpp editor/editor_properties.cpp #: editor/plugins/polygon_2d_editor_plugin.cpp #: editor/plugins/script_text_editor.cpp @@ -2513,7 +2522,7 @@ msgstr "Documentación en línea" #: editor/editor_node.cpp msgid "Q&A" -msgstr "P&R" +msgstr "Preguntas y respuestas" #: editor/editor_node.cpp msgid "Issue Tracker" @@ -3861,6 +3870,11 @@ msgid "Delete Node" msgstr "Eliminar Nodo" #: editor/plugins/animation_blend_tree_editor_plugin.cpp +#: editor/scene_tree_dock.cpp +msgid "Delete Node(s)" +msgstr "Eliminar nodo(s)" + +#: editor/plugins/animation_blend_tree_editor_plugin.cpp msgid "Toggle Filter On/Off" msgstr "Act./Desact. Filtro On/Off" @@ -4841,8 +4855,34 @@ msgid "Layout" msgstr "Disposición" #: editor/plugins/canvas_item_editor_plugin.cpp -msgid "Insert keys." -msgstr "Insertar claves." +msgid "Translation mask for inserting keys." +msgstr "" + +#: editor/plugins/canvas_item_editor_plugin.cpp +msgid "Rotation mask for inserting keys." +msgstr "" + +#: editor/plugins/canvas_item_editor_plugin.cpp +msgid "Scale mask for inserting keys." +msgstr "" + +#: editor/plugins/canvas_item_editor_plugin.cpp +#, fuzzy +msgid "Insert keys (based on mask)." +msgstr "Insertar Claves (Ins)" + +#: editor/plugins/canvas_item_editor_plugin.cpp +msgid "" +"Auto insert keys when objects are translated, rotated on scaled (based on " +"mask).\n" +"Keys are only added to existing tracks, no new tracks will be created.\n" +"Keys must be inserted manually for the first time." +msgstr "" + +#: editor/plugins/canvas_item_editor_plugin.cpp +#, fuzzy +msgid "Auto Insert Key" +msgstr "Insertar clave de animación" #: editor/plugins/canvas_item_editor_plugin.cpp msgid "Insert Key (Existing Tracks)" @@ -4914,6 +4954,52 @@ msgstr "Editar polígono (quitar punto)" msgid "Set Handle" msgstr "Establecer handle" +#: editor/plugins/cpu_particles_2d_editor_plugin.cpp +#: editor/plugins/particles_2d_editor_plugin.cpp +msgid "Error loading image:" +msgstr "Error al cargar la imagen:" + +#: editor/plugins/cpu_particles_2d_editor_plugin.cpp +#: editor/plugins/particles_2d_editor_plugin.cpp +msgid "No pixels with transparency > 128 in image..." +msgstr "No hay píxeles con transparencia > 128 en la imagen..." + +#: editor/plugins/cpu_particles_2d_editor_plugin.cpp +#: editor/plugins/particles_2d_editor_plugin.cpp +msgid "Load Emission Mask" +msgstr "Cargar máscara de emisión" + +#: editor/plugins/cpu_particles_2d_editor_plugin.cpp +#: editor/plugins/particles_2d_editor_plugin.cpp +msgid "Clear Emission Mask" +msgstr "Borrar máscara de emisión" + +#: editor/plugins/cpu_particles_2d_editor_plugin.cpp +#: editor/plugins/particles_2d_editor_plugin.cpp +#: editor/plugins/particles_editor_plugin.cpp +msgid "Particles" +msgstr "Partículas" + +#: editor/plugins/cpu_particles_2d_editor_plugin.cpp +#: editor/plugins/particles_2d_editor_plugin.cpp +msgid "Generated Point Count:" +msgstr "Conteo de puntos generados:" + +#: editor/plugins/cpu_particles_2d_editor_plugin.cpp +#: editor/plugins/particles_2d_editor_plugin.cpp +msgid "Emission Mask" +msgstr "Máscara de Emisión" + +#: editor/plugins/cpu_particles_2d_editor_plugin.cpp +#: editor/plugins/particles_2d_editor_plugin.cpp +msgid "Capture from Pixel" +msgstr "Capturar desde píxel" + +#: editor/plugins/cpu_particles_2d_editor_plugin.cpp +#: editor/plugins/particles_2d_editor_plugin.cpp +msgid "Emission Colors" +msgstr "Colores de Emisión" + #: editor/plugins/cpu_particles_editor_plugin.cpp msgid "CPUParticles" msgstr "CPUParticles" @@ -5271,52 +5357,15 @@ msgstr "" "Solo se puede asignar un punto a un material de procesado ParticlesMaterial" #: editor/plugins/particles_2d_editor_plugin.cpp -msgid "Error loading image:" -msgstr "Error al cargar la imagen:" - -#: editor/plugins/particles_2d_editor_plugin.cpp -msgid "No pixels with transparency > 128 in image..." -msgstr "No hay píxeles con transparencia > 128 en la imagen..." - -#: editor/plugins/particles_2d_editor_plugin.cpp -msgid "Load Emission Mask" -msgstr "Cargar máscara de emisión" - -#: editor/plugins/particles_2d_editor_plugin.cpp -msgid "Clear Emission Mask" -msgstr "Borrar máscara de emisión" - -#: editor/plugins/particles_2d_editor_plugin.cpp #: editor/plugins/particles_editor_plugin.cpp msgid "Convert to CPUParticles" msgstr "Convertir a CPUParticles" #: editor/plugins/particles_2d_editor_plugin.cpp #: editor/plugins/particles_editor_plugin.cpp -msgid "Particles" -msgstr "Partículas" - -#: editor/plugins/particles_2d_editor_plugin.cpp -msgid "Generated Point Count:" -msgstr "Conteo de puntos generados:" - -#: editor/plugins/particles_2d_editor_plugin.cpp -#: editor/plugins/particles_editor_plugin.cpp msgid "Generation Time (sec):" msgstr "Tiempo de generación (seg):" -#: editor/plugins/particles_2d_editor_plugin.cpp -msgid "Emission Mask" -msgstr "Máscara de Emisión" - -#: editor/plugins/particles_2d_editor_plugin.cpp -msgid "Capture from Pixel" -msgstr "Capturar desde píxel" - -#: editor/plugins/particles_2d_editor_plugin.cpp -msgid "Emission Colors" -msgstr "Colores de Emisión" - #: editor/plugins/particles_editor_plugin.cpp msgid "Faces contain no area!" msgstr "¡Las caras no contienen área!" @@ -5828,7 +5877,8 @@ msgid "Save Theme As..." msgstr "Guardar tema como..." #: editor/plugins/script_editor_plugin.cpp -msgid " Class Reference" +#, fuzzy +msgid "%s Class Reference" msgstr " Referencia de clase" #: editor/plugins/script_editor_plugin.cpp @@ -6653,6 +6703,26 @@ msgid "Nameless gizmo" msgstr "Gizmo sin nombre" #: editor/plugins/sprite_editor_plugin.cpp +#, fuzzy +msgid "Create Mesh2D" +msgstr "Crear Mesh 2D" + +#: editor/plugins/sprite_editor_plugin.cpp +#, fuzzy +msgid "Create Polygon2D" +msgstr "Crear Polygon3D" + +#: editor/plugins/sprite_editor_plugin.cpp +#, fuzzy +msgid "Create CollisionPolygon2D" +msgstr "Crear Polígono de Colisión" + +#: editor/plugins/sprite_editor_plugin.cpp +#, fuzzy +msgid "Create LightOccluder2D" +msgstr "Crear polígono oclusor" + +#: editor/plugins/sprite_editor_plugin.cpp msgid "Sprite is empty!" msgstr "¡El sprite esta vacío!" @@ -6665,16 +6735,43 @@ msgid "Invalid geometry, can't replace by mesh." msgstr "Geometría inválida, no se puede reemplazar por mesh." #: editor/plugins/sprite_editor_plugin.cpp +#, fuzzy +msgid "Invalid geometry, can't create polygon." +msgstr "Geometría inválida, no se puede reemplazar por mesh." + +#: editor/plugins/sprite_editor_plugin.cpp +#, fuzzy +msgid "Invalid geometry, can't create collision polygon." +msgstr "Geometría inválida, no se puede reemplazar por mesh." + +#: editor/plugins/sprite_editor_plugin.cpp +#, fuzzy +msgid "Invalid geometry, can't create light occluder." +msgstr "Geometría inválida, no se puede reemplazar por mesh." + +#: editor/plugins/sprite_editor_plugin.cpp msgid "Sprite" msgstr "Sprite" #: editor/plugins/sprite_editor_plugin.cpp -msgid "Convert to 2D Mesh" +#, fuzzy +msgid "Convert to Mesh2D" msgstr "Convertir a Mesh 2D" #: editor/plugins/sprite_editor_plugin.cpp -msgid "Create 2D Mesh" -msgstr "Crear Mesh 2D" +#, fuzzy +msgid "Convert to Polygon2D" +msgstr "Mover polígono" + +#: editor/plugins/sprite_editor_plugin.cpp +#, fuzzy +msgid "Create CollisionPolygon2D Sibling" +msgstr "Crear Polígono de Colisión" + +#: editor/plugins/sprite_editor_plugin.cpp +#, fuzzy +msgid "Create LightOccluder2D Sibling" +msgstr "Crear polígono oclusor" #: editor/plugins/sprite_editor_plugin.cpp msgid "Simplification: " @@ -7260,6 +7357,11 @@ msgid "Duplicate Nodes" msgstr "Duplicar Nodos" #: editor/plugins/visual_shader_editor_plugin.cpp +#, fuzzy +msgid "Delete Nodes" +msgstr "Eliminar Nodo" + +#: editor/plugins/visual_shader_editor_plugin.cpp msgid "Visual Shader Input Type Changed" msgstr "Cambiar Tipo de Entrada del Visual Shader" @@ -8483,10 +8585,6 @@ msgid "Open documentation" msgstr "Abrir documentación" #: editor/scene_tree_dock.cpp -msgid "Delete Node(s)" -msgstr "Eliminar nodo(s)" - -#: editor/scene_tree_dock.cpp msgid "Add Child Node" msgstr "Añadir nodo hijo" @@ -10385,13 +10483,16 @@ msgstr "Asignación a uniform." msgid "Varyings can only be assigned in vertex function." msgstr "Solo se pueden asignar variaciones en funciones de vértice." +#~ msgid "Snap (s): " +#~ msgstr "Snap (s): " + +#~ msgid "Insert keys." +#~ msgstr "Insertar claves." + #~ msgid "Instance the selected scene(s) as child of the selected node." #~ msgstr "" #~ "Instanciar la(s) escena(s) seleccionadas como hijas del nodo seleccionado." -#~ msgid "FPS" -#~ msgstr "FPS" - #~ msgid "Warnings:" #~ msgstr "Advertencias:" @@ -11964,9 +12065,6 @@ msgstr "Solo se pueden asignar variaciones en funciones de vértice." #~ msgid "Cannot go into subdir:" #~ msgstr "No se puede acceder al subdir:" -#~ msgid "Insert Keys (Ins)" -#~ msgstr "Insertar Claves (Ins)" - #~ msgid "Top (Num7)" #~ msgstr "Cima (Num7)" diff --git a/editor/translations/es_AR.po b/editor/translations/es_AR.po index da204947b0..e27603d799 100644 --- a/editor/translations/es_AR.po +++ b/editor/translations/es_AR.po @@ -423,13 +423,22 @@ msgid "Group tracks by node or display them as plain list." msgstr "Agrupar las pistas por nodo o mostrarlas como una lista plana." #: editor/animation_track_editor.cpp -msgid "Snap (s): " -msgstr "Ajuste (s): " +#, fuzzy +msgid "Snap:" +msgstr "Esnapear" #: editor/animation_track_editor.cpp msgid "Animation step value." msgstr "Valor de paso de animación." +#: editor/animation_track_editor.cpp +msgid "Seconds" +msgstr "" + +#: editor/animation_track_editor.cpp +msgid "FPS" +msgstr "FPS" + #: editor/animation_track_editor.cpp editor/editor_properties.cpp #: editor/plugins/polygon_2d_editor_plugin.cpp #: editor/plugins/script_text_editor.cpp @@ -3827,6 +3836,11 @@ msgid "Delete Node" msgstr "Eliminar Nodo" #: editor/plugins/animation_blend_tree_editor_plugin.cpp +#: editor/scene_tree_dock.cpp +msgid "Delete Node(s)" +msgstr "Eliminar Nodo(s)" + +#: editor/plugins/animation_blend_tree_editor_plugin.cpp msgid "Toggle Filter On/Off" msgstr "Act./Desact. Filtro On/Off" @@ -4806,8 +4820,34 @@ msgid "Layout" msgstr "Layout" #: editor/plugins/canvas_item_editor_plugin.cpp -msgid "Insert keys." -msgstr "Insertar claves." +msgid "Translation mask for inserting keys." +msgstr "" + +#: editor/plugins/canvas_item_editor_plugin.cpp +msgid "Rotation mask for inserting keys." +msgstr "" + +#: editor/plugins/canvas_item_editor_plugin.cpp +msgid "Scale mask for inserting keys." +msgstr "" + +#: editor/plugins/canvas_item_editor_plugin.cpp +#, fuzzy +msgid "Insert keys (based on mask)." +msgstr "Insertar Claves (Ins)" + +#: editor/plugins/canvas_item_editor_plugin.cpp +msgid "" +"Auto insert keys when objects are translated, rotated on scaled (based on " +"mask).\n" +"Keys are only added to existing tracks, no new tracks will be created.\n" +"Keys must be inserted manually for the first time." +msgstr "" + +#: editor/plugins/canvas_item_editor_plugin.cpp +#, fuzzy +msgid "Auto Insert Key" +msgstr "Insertar Clave de Animación" #: editor/plugins/canvas_item_editor_plugin.cpp msgid "Insert Key (Existing Tracks)" @@ -4879,6 +4919,52 @@ msgstr "Editar Polígono (Remover Punto)" msgid "Set Handle" msgstr "Setear Handle" +#: editor/plugins/cpu_particles_2d_editor_plugin.cpp +#: editor/plugins/particles_2d_editor_plugin.cpp +msgid "Error loading image:" +msgstr "Error al cargar la imagen:" + +#: editor/plugins/cpu_particles_2d_editor_plugin.cpp +#: editor/plugins/particles_2d_editor_plugin.cpp +msgid "No pixels with transparency > 128 in image..." +msgstr "Sin pixeles con transparencia > 128 en imagen..." + +#: editor/plugins/cpu_particles_2d_editor_plugin.cpp +#: editor/plugins/particles_2d_editor_plugin.cpp +msgid "Load Emission Mask" +msgstr "Cargar Máscara de Emisión" + +#: editor/plugins/cpu_particles_2d_editor_plugin.cpp +#: editor/plugins/particles_2d_editor_plugin.cpp +msgid "Clear Emission Mask" +msgstr "Limpiar Máscara de Emisión" + +#: editor/plugins/cpu_particles_2d_editor_plugin.cpp +#: editor/plugins/particles_2d_editor_plugin.cpp +#: editor/plugins/particles_editor_plugin.cpp +msgid "Particles" +msgstr "Partículas" + +#: editor/plugins/cpu_particles_2d_editor_plugin.cpp +#: editor/plugins/particles_2d_editor_plugin.cpp +msgid "Generated Point Count:" +msgstr "Conteo de Puntos Generados:" + +#: editor/plugins/cpu_particles_2d_editor_plugin.cpp +#: editor/plugins/particles_2d_editor_plugin.cpp +msgid "Emission Mask" +msgstr "Máscara de Emisión" + +#: editor/plugins/cpu_particles_2d_editor_plugin.cpp +#: editor/plugins/particles_2d_editor_plugin.cpp +msgid "Capture from Pixel" +msgstr "Capturar desde Pixel" + +#: editor/plugins/cpu_particles_2d_editor_plugin.cpp +#: editor/plugins/particles_2d_editor_plugin.cpp +msgid "Emission Colors" +msgstr "Colores de Emisión" + #: editor/plugins/cpu_particles_editor_plugin.cpp msgid "CPUParticles" msgstr "CPUParticles" @@ -5231,52 +5317,15 @@ msgstr "" "Solo se puede setear un punto en un material de proceso ParticlesMaterial" #: editor/plugins/particles_2d_editor_plugin.cpp -msgid "Error loading image:" -msgstr "Error al cargar la imagen:" - -#: editor/plugins/particles_2d_editor_plugin.cpp -msgid "No pixels with transparency > 128 in image..." -msgstr "Sin pixeles con transparencia > 128 en imagen..." - -#: editor/plugins/particles_2d_editor_plugin.cpp -msgid "Load Emission Mask" -msgstr "Cargar Máscara de Emisión" - -#: editor/plugins/particles_2d_editor_plugin.cpp -msgid "Clear Emission Mask" -msgstr "Limpiar Máscara de Emisión" - -#: editor/plugins/particles_2d_editor_plugin.cpp #: editor/plugins/particles_editor_plugin.cpp msgid "Convert to CPUParticles" msgstr "Convertir A CPUParticles" #: editor/plugins/particles_2d_editor_plugin.cpp #: editor/plugins/particles_editor_plugin.cpp -msgid "Particles" -msgstr "Partículas" - -#: editor/plugins/particles_2d_editor_plugin.cpp -msgid "Generated Point Count:" -msgstr "Conteo de Puntos Generados:" - -#: editor/plugins/particles_2d_editor_plugin.cpp -#: editor/plugins/particles_editor_plugin.cpp msgid "Generation Time (sec):" msgstr "Tiempo de Generación (seg):" -#: editor/plugins/particles_2d_editor_plugin.cpp -msgid "Emission Mask" -msgstr "Máscara de Emisión" - -#: editor/plugins/particles_2d_editor_plugin.cpp -msgid "Capture from Pixel" -msgstr "Capturar desde Pixel" - -#: editor/plugins/particles_2d_editor_plugin.cpp -msgid "Emission Colors" -msgstr "Colores de Emisión" - #: editor/plugins/particles_editor_plugin.cpp msgid "Faces contain no area!" msgstr "Las caras no contienen area!" @@ -5788,7 +5837,8 @@ msgid "Save Theme As..." msgstr "Guardar Tema Como..." #: editor/plugins/script_editor_plugin.cpp -msgid " Class Reference" +#, fuzzy +msgid "%s Class Reference" msgstr " Referencia de Clases" #: editor/plugins/script_editor_plugin.cpp @@ -6613,6 +6663,26 @@ msgid "Nameless gizmo" msgstr "Gizmo sin nombre" #: editor/plugins/sprite_editor_plugin.cpp +#, fuzzy +msgid "Create Mesh2D" +msgstr "Crear Mesh 2D" + +#: editor/plugins/sprite_editor_plugin.cpp +#, fuzzy +msgid "Create Polygon2D" +msgstr "Crear Polygon3D" + +#: editor/plugins/sprite_editor_plugin.cpp +#, fuzzy +msgid "Create CollisionPolygon2D" +msgstr "Crear Polígono de Colisión" + +#: editor/plugins/sprite_editor_plugin.cpp +#, fuzzy +msgid "Create LightOccluder2D" +msgstr "Crear Polígono Oclusor" + +#: editor/plugins/sprite_editor_plugin.cpp msgid "Sprite is empty!" msgstr "El sprite esta vacío!" @@ -6625,16 +6695,43 @@ msgid "Invalid geometry, can't replace by mesh." msgstr "Geometría inválida, no se puede reemplazar por mesh." #: editor/plugins/sprite_editor_plugin.cpp +#, fuzzy +msgid "Invalid geometry, can't create polygon." +msgstr "Geometría inválida, no se puede reemplazar por mesh." + +#: editor/plugins/sprite_editor_plugin.cpp +#, fuzzy +msgid "Invalid geometry, can't create collision polygon." +msgstr "Geometría inválida, no se puede reemplazar por mesh." + +#: editor/plugins/sprite_editor_plugin.cpp +#, fuzzy +msgid "Invalid geometry, can't create light occluder." +msgstr "Geometría inválida, no se puede reemplazar por mesh." + +#: editor/plugins/sprite_editor_plugin.cpp msgid "Sprite" msgstr "Sprite" #: editor/plugins/sprite_editor_plugin.cpp -msgid "Convert to 2D Mesh" +#, fuzzy +msgid "Convert to Mesh2D" msgstr "Convertir A Mesh 2D" #: editor/plugins/sprite_editor_plugin.cpp -msgid "Create 2D Mesh" -msgstr "Crear Mesh 2D" +#, fuzzy +msgid "Convert to Polygon2D" +msgstr "Mover Polígono" + +#: editor/plugins/sprite_editor_plugin.cpp +#, fuzzy +msgid "Create CollisionPolygon2D Sibling" +msgstr "Crear Polígono de Colisión" + +#: editor/plugins/sprite_editor_plugin.cpp +#, fuzzy +msgid "Create LightOccluder2D Sibling" +msgstr "Crear Polígono Oclusor" #: editor/plugins/sprite_editor_plugin.cpp msgid "Simplification: " @@ -7219,6 +7316,11 @@ msgid "Duplicate Nodes" msgstr "Duplicar Nodos" #: editor/plugins/visual_shader_editor_plugin.cpp +#, fuzzy +msgid "Delete Nodes" +msgstr "Eliminar Nodo" + +#: editor/plugins/visual_shader_editor_plugin.cpp msgid "Visual Shader Input Type Changed" msgstr "Se cambió el Tipo de Entrada de Visual Shader" @@ -8444,10 +8546,6 @@ msgid "Open documentation" msgstr "Abrir documentación" #: editor/scene_tree_dock.cpp -msgid "Delete Node(s)" -msgstr "Eliminar Nodo(s)" - -#: editor/scene_tree_dock.cpp msgid "Add Child Node" msgstr "Agregar Nodo Hijo" @@ -10337,13 +10435,16 @@ msgstr "Asignación a uniform." msgid "Varyings can only be assigned in vertex function." msgstr "Solo se pueden asignar variaciones en funciones de vértice." +#~ msgid "Snap (s): " +#~ msgstr "Ajuste (s): " + +#~ msgid "Insert keys." +#~ msgstr "Insertar claves." + #~ msgid "Instance the selected scene(s) as child of the selected node." #~ msgstr "" #~ "Instanciar la(s) escena(s) seleccionadas como hijas del nodo seleccionado." -#~ msgid "FPS" -#~ msgstr "FPS" - #~ msgid "Warnings:" #~ msgstr "Advertencias:" @@ -11892,9 +11993,6 @@ msgstr "Solo se pueden asignar variaciones en funciones de vértice." #~ msgid "Cannot go into subdir:" #~ msgstr "No se puede acceder al subdir:" -#~ msgid "Insert Keys (Ins)" -#~ msgstr "Insertar Claves (Ins)" - #~ msgid "Top (Num7)" #~ msgstr "Cima (Num7)" diff --git a/editor/translations/et.po b/editor/translations/et.po index a58094bf47..455623f6aa 100644 --- a/editor/translations/et.po +++ b/editor/translations/et.po @@ -399,13 +399,21 @@ msgid "Group tracks by node or display them as plain list." msgstr "" #: editor/animation_track_editor.cpp -msgid "Snap (s): " +msgid "Snap:" msgstr "" #: editor/animation_track_editor.cpp msgid "Animation step value." msgstr "" +#: editor/animation_track_editor.cpp +msgid "Seconds" +msgstr "" + +#: editor/animation_track_editor.cpp +msgid "FPS" +msgstr "" + #: editor/animation_track_editor.cpp editor/editor_properties.cpp #: editor/plugins/polygon_2d_editor_plugin.cpp #: editor/plugins/script_text_editor.cpp @@ -3659,6 +3667,11 @@ msgid "Delete Node" msgstr "" #: editor/plugins/animation_blend_tree_editor_plugin.cpp +#: editor/scene_tree_dock.cpp +msgid "Delete Node(s)" +msgstr "" + +#: editor/plugins/animation_blend_tree_editor_plugin.cpp msgid "Toggle Filter On/Off" msgstr "" @@ -4610,7 +4623,31 @@ msgid "Layout" msgstr "" #: editor/plugins/canvas_item_editor_plugin.cpp -msgid "Insert keys." +msgid "Translation mask for inserting keys." +msgstr "" + +#: editor/plugins/canvas_item_editor_plugin.cpp +msgid "Rotation mask for inserting keys." +msgstr "" + +#: editor/plugins/canvas_item_editor_plugin.cpp +msgid "Scale mask for inserting keys." +msgstr "" + +#: editor/plugins/canvas_item_editor_plugin.cpp +msgid "Insert keys (based on mask)." +msgstr "" + +#: editor/plugins/canvas_item_editor_plugin.cpp +msgid "" +"Auto insert keys when objects are translated, rotated on scaled (based on " +"mask).\n" +"Keys are only added to existing tracks, no new tracks will be created.\n" +"Keys must be inserted manually for the first time." +msgstr "" + +#: editor/plugins/canvas_item_editor_plugin.cpp +msgid "Auto Insert Key" msgstr "" #: editor/plugins/canvas_item_editor_plugin.cpp @@ -4681,6 +4718,52 @@ msgstr "" msgid "Set Handle" msgstr "" +#: editor/plugins/cpu_particles_2d_editor_plugin.cpp +#: editor/plugins/particles_2d_editor_plugin.cpp +msgid "Error loading image:" +msgstr "" + +#: editor/plugins/cpu_particles_2d_editor_plugin.cpp +#: editor/plugins/particles_2d_editor_plugin.cpp +msgid "No pixels with transparency > 128 in image..." +msgstr "" + +#: editor/plugins/cpu_particles_2d_editor_plugin.cpp +#: editor/plugins/particles_2d_editor_plugin.cpp +msgid "Load Emission Mask" +msgstr "" + +#: editor/plugins/cpu_particles_2d_editor_plugin.cpp +#: editor/plugins/particles_2d_editor_plugin.cpp +msgid "Clear Emission Mask" +msgstr "" + +#: editor/plugins/cpu_particles_2d_editor_plugin.cpp +#: editor/plugins/particles_2d_editor_plugin.cpp +#: editor/plugins/particles_editor_plugin.cpp +msgid "Particles" +msgstr "" + +#: editor/plugins/cpu_particles_2d_editor_plugin.cpp +#: editor/plugins/particles_2d_editor_plugin.cpp +msgid "Generated Point Count:" +msgstr "" + +#: editor/plugins/cpu_particles_2d_editor_plugin.cpp +#: editor/plugins/particles_2d_editor_plugin.cpp +msgid "Emission Mask" +msgstr "" + +#: editor/plugins/cpu_particles_2d_editor_plugin.cpp +#: editor/plugins/particles_2d_editor_plugin.cpp +msgid "Capture from Pixel" +msgstr "" + +#: editor/plugins/cpu_particles_2d_editor_plugin.cpp +#: editor/plugins/particles_2d_editor_plugin.cpp +msgid "Emission Colors" +msgstr "" + #: editor/plugins/cpu_particles_editor_plugin.cpp msgid "CPUParticles" msgstr "" @@ -5031,52 +5114,15 @@ msgid "Can only set point into a ParticlesMaterial process material" msgstr "" #: editor/plugins/particles_2d_editor_plugin.cpp -msgid "Error loading image:" -msgstr "" - -#: editor/plugins/particles_2d_editor_plugin.cpp -msgid "No pixels with transparency > 128 in image..." -msgstr "" - -#: editor/plugins/particles_2d_editor_plugin.cpp -msgid "Load Emission Mask" -msgstr "" - -#: editor/plugins/particles_2d_editor_plugin.cpp -msgid "Clear Emission Mask" -msgstr "" - -#: editor/plugins/particles_2d_editor_plugin.cpp #: editor/plugins/particles_editor_plugin.cpp msgid "Convert to CPUParticles" msgstr "" #: editor/plugins/particles_2d_editor_plugin.cpp #: editor/plugins/particles_editor_plugin.cpp -msgid "Particles" -msgstr "" - -#: editor/plugins/particles_2d_editor_plugin.cpp -msgid "Generated Point Count:" -msgstr "" - -#: editor/plugins/particles_2d_editor_plugin.cpp -#: editor/plugins/particles_editor_plugin.cpp msgid "Generation Time (sec):" msgstr "" -#: editor/plugins/particles_2d_editor_plugin.cpp -msgid "Emission Mask" -msgstr "" - -#: editor/plugins/particles_2d_editor_plugin.cpp -msgid "Capture from Pixel" -msgstr "" - -#: editor/plugins/particles_2d_editor_plugin.cpp -msgid "Emission Colors" -msgstr "" - #: editor/plugins/particles_editor_plugin.cpp msgid "Faces contain no area!" msgstr "" @@ -5580,7 +5626,7 @@ msgid "Save Theme As..." msgstr "" #: editor/plugins/script_editor_plugin.cpp -msgid " Class Reference" +msgid "%s Class Reference" msgstr "" #: editor/plugins/script_editor_plugin.cpp @@ -6398,6 +6444,22 @@ msgid "Nameless gizmo" msgstr "" #: editor/plugins/sprite_editor_plugin.cpp +msgid "Create Mesh2D" +msgstr "" + +#: editor/plugins/sprite_editor_plugin.cpp +msgid "Create Polygon2D" +msgstr "" + +#: editor/plugins/sprite_editor_plugin.cpp +msgid "Create CollisionPolygon2D" +msgstr "" + +#: editor/plugins/sprite_editor_plugin.cpp +msgid "Create LightOccluder2D" +msgstr "" + +#: editor/plugins/sprite_editor_plugin.cpp msgid "Sprite is empty!" msgstr "" @@ -6410,15 +6472,35 @@ msgid "Invalid geometry, can't replace by mesh." msgstr "" #: editor/plugins/sprite_editor_plugin.cpp +msgid "Invalid geometry, can't create polygon." +msgstr "" + +#: editor/plugins/sprite_editor_plugin.cpp +msgid "Invalid geometry, can't create collision polygon." +msgstr "" + +#: editor/plugins/sprite_editor_plugin.cpp +msgid "Invalid geometry, can't create light occluder." +msgstr "" + +#: editor/plugins/sprite_editor_plugin.cpp msgid "Sprite" msgstr "" #: editor/plugins/sprite_editor_plugin.cpp -msgid "Convert to 2D Mesh" +msgid "Convert to Mesh2D" +msgstr "" + +#: editor/plugins/sprite_editor_plugin.cpp +msgid "Convert to Polygon2D" +msgstr "" + +#: editor/plugins/sprite_editor_plugin.cpp +msgid "Create CollisionPolygon2D Sibling" msgstr "" #: editor/plugins/sprite_editor_plugin.cpp -msgid "Create 2D Mesh" +msgid "Create LightOccluder2D Sibling" msgstr "" #: editor/plugins/sprite_editor_plugin.cpp @@ -6989,6 +7071,10 @@ msgid "Duplicate Nodes" msgstr "" #: editor/plugins/visual_shader_editor_plugin.cpp +msgid "Delete Nodes" +msgstr "" + +#: editor/plugins/visual_shader_editor_plugin.cpp msgid "Visual Shader Input Type Changed" msgstr "" @@ -8138,10 +8224,6 @@ msgid "Open documentation" msgstr "" #: editor/scene_tree_dock.cpp -msgid "Delete Node(s)" -msgstr "" - -#: editor/scene_tree_dock.cpp msgid "Add Child Node" msgstr "" diff --git a/editor/translations/fa.po b/editor/translations/fa.po index 6548423140..445b941a96 100644 --- a/editor/translations/fa.po +++ b/editor/translations/fa.po @@ -441,7 +441,7 @@ msgstr "" #: editor/animation_track_editor.cpp #, fuzzy -msgid "Snap (s): " +msgid "Snap:" msgstr "گام(ها):" #: editor/animation_track_editor.cpp @@ -449,6 +449,14 @@ msgstr "گام(ها):" msgid "Animation step value." msgstr "گره انیمیشن" +#: editor/animation_track_editor.cpp +msgid "Seconds" +msgstr "" + +#: editor/animation_track_editor.cpp +msgid "FPS" +msgstr "" + #: editor/animation_track_editor.cpp editor/editor_properties.cpp #: editor/plugins/polygon_2d_editor_plugin.cpp #: editor/plugins/script_text_editor.cpp @@ -3837,6 +3845,11 @@ msgid "Delete Node" msgstr "حذف گره(ها)" #: editor/plugins/animation_blend_tree_editor_plugin.cpp +#: editor/scene_tree_dock.cpp +msgid "Delete Node(s)" +msgstr "حذف گره(ها)" + +#: editor/plugins/animation_blend_tree_editor_plugin.cpp msgid "Toggle Filter On/Off" msgstr "" @@ -4826,8 +4839,33 @@ msgid "Layout" msgstr "" #: editor/plugins/canvas_item_editor_plugin.cpp +msgid "Translation mask for inserting keys." +msgstr "" + +#: editor/plugins/canvas_item_editor_plugin.cpp +msgid "Rotation mask for inserting keys." +msgstr "" + +#: editor/plugins/canvas_item_editor_plugin.cpp +msgid "Scale mask for inserting keys." +msgstr "" + +#: editor/plugins/canvas_item_editor_plugin.cpp +#, fuzzy +msgid "Insert keys (based on mask)." +msgstr "کلید را در انیمیشن درج کن" + +#: editor/plugins/canvas_item_editor_plugin.cpp +msgid "" +"Auto insert keys when objects are translated, rotated on scaled (based on " +"mask).\n" +"Keys are only added to existing tracks, no new tracks will be created.\n" +"Keys must be inserted manually for the first time." +msgstr "" + +#: editor/plugins/canvas_item_editor_plugin.cpp #, fuzzy -msgid "Insert keys." +msgid "Auto Insert Key" msgstr "کلید را در انیمیشن درج کن" #: editor/plugins/canvas_item_editor_plugin.cpp @@ -4900,6 +4938,52 @@ msgstr "" msgid "Set Handle" msgstr "" +#: editor/plugins/cpu_particles_2d_editor_plugin.cpp +#: editor/plugins/particles_2d_editor_plugin.cpp +msgid "Error loading image:" +msgstr "" + +#: editor/plugins/cpu_particles_2d_editor_plugin.cpp +#: editor/plugins/particles_2d_editor_plugin.cpp +msgid "No pixels with transparency > 128 in image..." +msgstr "" + +#: editor/plugins/cpu_particles_2d_editor_plugin.cpp +#: editor/plugins/particles_2d_editor_plugin.cpp +msgid "Load Emission Mask" +msgstr "" + +#: editor/plugins/cpu_particles_2d_editor_plugin.cpp +#: editor/plugins/particles_2d_editor_plugin.cpp +msgid "Clear Emission Mask" +msgstr "" + +#: editor/plugins/cpu_particles_2d_editor_plugin.cpp +#: editor/plugins/particles_2d_editor_plugin.cpp +#: editor/plugins/particles_editor_plugin.cpp +msgid "Particles" +msgstr "" + +#: editor/plugins/cpu_particles_2d_editor_plugin.cpp +#: editor/plugins/particles_2d_editor_plugin.cpp +msgid "Generated Point Count:" +msgstr "" + +#: editor/plugins/cpu_particles_2d_editor_plugin.cpp +#: editor/plugins/particles_2d_editor_plugin.cpp +msgid "Emission Mask" +msgstr "" + +#: editor/plugins/cpu_particles_2d_editor_plugin.cpp +#: editor/plugins/particles_2d_editor_plugin.cpp +msgid "Capture from Pixel" +msgstr "" + +#: editor/plugins/cpu_particles_2d_editor_plugin.cpp +#: editor/plugins/particles_2d_editor_plugin.cpp +msgid "Emission Colors" +msgstr "" + #: editor/plugins/cpu_particles_editor_plugin.cpp msgid "CPUParticles" msgstr "" @@ -5254,22 +5338,6 @@ msgid "Can only set point into a ParticlesMaterial process material" msgstr "" #: editor/plugins/particles_2d_editor_plugin.cpp -msgid "Error loading image:" -msgstr "" - -#: editor/plugins/particles_2d_editor_plugin.cpp -msgid "No pixels with transparency > 128 in image..." -msgstr "" - -#: editor/plugins/particles_2d_editor_plugin.cpp -msgid "Load Emission Mask" -msgstr "" - -#: editor/plugins/particles_2d_editor_plugin.cpp -msgid "Clear Emission Mask" -msgstr "" - -#: editor/plugins/particles_2d_editor_plugin.cpp #: editor/plugins/particles_editor_plugin.cpp #, fuzzy msgid "Convert to CPUParticles" @@ -5277,30 +5345,9 @@ msgstr "اتصال به گره:" #: editor/plugins/particles_2d_editor_plugin.cpp #: editor/plugins/particles_editor_plugin.cpp -msgid "Particles" -msgstr "" - -#: editor/plugins/particles_2d_editor_plugin.cpp -msgid "Generated Point Count:" -msgstr "" - -#: editor/plugins/particles_2d_editor_plugin.cpp -#: editor/plugins/particles_editor_plugin.cpp msgid "Generation Time (sec):" msgstr "" -#: editor/plugins/particles_2d_editor_plugin.cpp -msgid "Emission Mask" -msgstr "" - -#: editor/plugins/particles_2d_editor_plugin.cpp -msgid "Capture from Pixel" -msgstr "" - -#: editor/plugins/particles_2d_editor_plugin.cpp -msgid "Emission Colors" -msgstr "" - #: editor/plugins/particles_editor_plugin.cpp msgid "Faces contain no area!" msgstr "" @@ -5832,7 +5879,7 @@ msgid "Save Theme As..." msgstr "" #: editor/plugins/script_editor_plugin.cpp -msgid " Class Reference" +msgid "%s Class Reference" msgstr "" #: editor/plugins/script_editor_plugin.cpp @@ -6686,6 +6733,26 @@ msgstr "" #: editor/plugins/sprite_editor_plugin.cpp #, fuzzy +msgid "Create Mesh2D" +msgstr "ساختن %s جدید" + +#: editor/plugins/sprite_editor_plugin.cpp +#, fuzzy +msgid "Create Polygon2D" +msgstr "انتخاب شده را تغییر مقیاس بده" + +#: editor/plugins/sprite_editor_plugin.cpp +#, fuzzy +msgid "Create CollisionPolygon2D" +msgstr "انتخاب شده را تغییر مقیاس بده" + +#: editor/plugins/sprite_editor_plugin.cpp +#, fuzzy +msgid "Create LightOccluder2D" +msgstr "ساختن پوشه" + +#: editor/plugins/sprite_editor_plugin.cpp +#, fuzzy msgid "Sprite is empty!" msgstr "مسیر خالی است" @@ -6698,18 +6765,39 @@ msgid "Invalid geometry, can't replace by mesh." msgstr "" #: editor/plugins/sprite_editor_plugin.cpp +msgid "Invalid geometry, can't create polygon." +msgstr "" + +#: editor/plugins/sprite_editor_plugin.cpp +msgid "Invalid geometry, can't create collision polygon." +msgstr "" + +#: editor/plugins/sprite_editor_plugin.cpp +msgid "Invalid geometry, can't create light occluder." +msgstr "" + +#: editor/plugins/sprite_editor_plugin.cpp msgid "Sprite" msgstr "" #: editor/plugins/sprite_editor_plugin.cpp #, fuzzy -msgid "Convert to 2D Mesh" +msgid "Convert to Mesh2D" msgstr "اتصال به گره:" #: editor/plugins/sprite_editor_plugin.cpp #, fuzzy -msgid "Create 2D Mesh" -msgstr "ساختن %s جدید" +msgid "Convert to Polygon2D" +msgstr "اتصال به گره:" + +#: editor/plugins/sprite_editor_plugin.cpp +#, fuzzy +msgid "Create CollisionPolygon2D Sibling" +msgstr "انتخاب شده را تغییر مقیاس بده" + +#: editor/plugins/sprite_editor_plugin.cpp +msgid "Create LightOccluder2D Sibling" +msgstr "" #: editor/plugins/sprite_editor_plugin.cpp msgid "Simplification: " @@ -7325,6 +7413,11 @@ msgid "Duplicate Nodes" msgstr "تکرار کلیدهای انیمیشن" #: editor/plugins/visual_shader_editor_plugin.cpp +#, fuzzy +msgid "Delete Nodes" +msgstr "حذف گره(ها)" + +#: editor/plugins/visual_shader_editor_plugin.cpp msgid "Visual Shader Input Type Changed" msgstr "" @@ -8527,10 +8620,6 @@ msgid "Open documentation" msgstr "شمارش ها" #: editor/scene_tree_dock.cpp -msgid "Delete Node(s)" -msgstr "حذف گره(ها)" - -#: editor/scene_tree_dock.cpp msgid "Add Child Node" msgstr "افزودن گره فرزند" diff --git a/editor/translations/fi.po b/editor/translations/fi.po index 7924d22ba0..117aaa6561 100644 --- a/editor/translations/fi.po +++ b/editor/translations/fi.po @@ -416,13 +416,22 @@ msgid "Group tracks by node or display them as plain list." msgstr "Ryhmitä raidat solmujen mukaan tai näytä ne tavallisena luettelona." #: editor/animation_track_editor.cpp -msgid "Snap (s): " -msgstr "Askellus (s): " +#, fuzzy +msgid "Snap:" +msgstr "Tartu" #: editor/animation_track_editor.cpp msgid "Animation step value." msgstr "Animaation askelluksen arvo." +#: editor/animation_track_editor.cpp +msgid "Seconds" +msgstr "" + +#: editor/animation_track_editor.cpp +msgid "FPS" +msgstr "FPS" + #: editor/animation_track_editor.cpp editor/editor_properties.cpp #: editor/plugins/polygon_2d_editor_plugin.cpp #: editor/plugins/script_text_editor.cpp @@ -3801,6 +3810,11 @@ msgid "Delete Node" msgstr "Poista solmu" #: editor/plugins/animation_blend_tree_editor_plugin.cpp +#: editor/scene_tree_dock.cpp +msgid "Delete Node(s)" +msgstr "Poista solmu(t)" + +#: editor/plugins/animation_blend_tree_editor_plugin.cpp msgid "Toggle Filter On/Off" msgstr "Kytke suodin päälle/pois" @@ -4777,8 +4791,34 @@ msgid "Layout" msgstr "Asettelu" #: editor/plugins/canvas_item_editor_plugin.cpp -msgid "Insert keys." -msgstr "Lisää avainruutuja." +msgid "Translation mask for inserting keys." +msgstr "" + +#: editor/plugins/canvas_item_editor_plugin.cpp +msgid "Rotation mask for inserting keys." +msgstr "" + +#: editor/plugins/canvas_item_editor_plugin.cpp +msgid "Scale mask for inserting keys." +msgstr "" + +#: editor/plugins/canvas_item_editor_plugin.cpp +#, fuzzy +msgid "Insert keys (based on mask)." +msgstr "Lisää avainruutu (olemassa olevat raidat)" + +#: editor/plugins/canvas_item_editor_plugin.cpp +msgid "" +"Auto insert keys when objects are translated, rotated on scaled (based on " +"mask).\n" +"Keys are only added to existing tracks, no new tracks will be created.\n" +"Keys must be inserted manually for the first time." +msgstr "" + +#: editor/plugins/canvas_item_editor_plugin.cpp +#, fuzzy +msgid "Auto Insert Key" +msgstr "Animaatio: Lisää avain" #: editor/plugins/canvas_item_editor_plugin.cpp msgid "Insert Key (Existing Tracks)" @@ -4850,6 +4890,52 @@ msgstr "Muokkaa polygonia (poista piste)" msgid "Set Handle" msgstr "Aseta kahva" +#: editor/plugins/cpu_particles_2d_editor_plugin.cpp +#: editor/plugins/particles_2d_editor_plugin.cpp +msgid "Error loading image:" +msgstr "Virhe ladattaessa kuvaa:" + +#: editor/plugins/cpu_particles_2d_editor_plugin.cpp +#: editor/plugins/particles_2d_editor_plugin.cpp +msgid "No pixels with transparency > 128 in image..." +msgstr "Kuvassa ei ole pikseleitä, joiden läpinäkyvyys on enemmän kuin 128…" + +#: editor/plugins/cpu_particles_2d_editor_plugin.cpp +#: editor/plugins/particles_2d_editor_plugin.cpp +msgid "Load Emission Mask" +msgstr "Lataa emissiomaski" + +#: editor/plugins/cpu_particles_2d_editor_plugin.cpp +#: editor/plugins/particles_2d_editor_plugin.cpp +msgid "Clear Emission Mask" +msgstr "Tyhjennä emissiomaski" + +#: editor/plugins/cpu_particles_2d_editor_plugin.cpp +#: editor/plugins/particles_2d_editor_plugin.cpp +#: editor/plugins/particles_editor_plugin.cpp +msgid "Particles" +msgstr "Partikkelit" + +#: editor/plugins/cpu_particles_2d_editor_plugin.cpp +#: editor/plugins/particles_2d_editor_plugin.cpp +msgid "Generated Point Count:" +msgstr "Luotujen pisteiden määrä:" + +#: editor/plugins/cpu_particles_2d_editor_plugin.cpp +#: editor/plugins/particles_2d_editor_plugin.cpp +msgid "Emission Mask" +msgstr "Emission maski" + +#: editor/plugins/cpu_particles_2d_editor_plugin.cpp +#: editor/plugins/particles_2d_editor_plugin.cpp +msgid "Capture from Pixel" +msgstr "Nappaa pikselistä" + +#: editor/plugins/cpu_particles_2d_editor_plugin.cpp +#: editor/plugins/particles_2d_editor_plugin.cpp +msgid "Emission Colors" +msgstr "Emission väri" + #: editor/plugins/cpu_particles_editor_plugin.cpp msgid "CPUParticles" msgstr "CPUPartikkelit" @@ -5203,52 +5289,15 @@ msgstr "" "Piste voidaan asettaa ainoastaan ParticlesMaterial käsittelyn materiaaliin" #: editor/plugins/particles_2d_editor_plugin.cpp -msgid "Error loading image:" -msgstr "Virhe ladattaessa kuvaa:" - -#: editor/plugins/particles_2d_editor_plugin.cpp -msgid "No pixels with transparency > 128 in image..." -msgstr "Kuvassa ei ole pikseleitä, joiden läpinäkyvyys on enemmän kuin 128…" - -#: editor/plugins/particles_2d_editor_plugin.cpp -msgid "Load Emission Mask" -msgstr "Lataa emissiomaski" - -#: editor/plugins/particles_2d_editor_plugin.cpp -msgid "Clear Emission Mask" -msgstr "Tyhjennä emissiomaski" - -#: editor/plugins/particles_2d_editor_plugin.cpp #: editor/plugins/particles_editor_plugin.cpp msgid "Convert to CPUParticles" msgstr "Muunna CPUPartikkeleiksi" #: editor/plugins/particles_2d_editor_plugin.cpp #: editor/plugins/particles_editor_plugin.cpp -msgid "Particles" -msgstr "Partikkelit" - -#: editor/plugins/particles_2d_editor_plugin.cpp -msgid "Generated Point Count:" -msgstr "Luotujen pisteiden määrä:" - -#: editor/plugins/particles_2d_editor_plugin.cpp -#: editor/plugins/particles_editor_plugin.cpp msgid "Generation Time (sec):" msgstr "Luontiaika (s):" -#: editor/plugins/particles_2d_editor_plugin.cpp -msgid "Emission Mask" -msgstr "Emission maski" - -#: editor/plugins/particles_2d_editor_plugin.cpp -msgid "Capture from Pixel" -msgstr "Nappaa pikselistä" - -#: editor/plugins/particles_2d_editor_plugin.cpp -msgid "Emission Colors" -msgstr "Emission väri" - #: editor/plugins/particles_editor_plugin.cpp msgid "Faces contain no area!" msgstr "Pinnat eivät sisällä aluetta!" @@ -5759,7 +5808,8 @@ msgid "Save Theme As..." msgstr "Tallenna teema nimellä..." #: editor/plugins/script_editor_plugin.cpp -msgid " Class Reference" +#, fuzzy +msgid "%s Class Reference" msgstr " Luokan referenssi" #: editor/plugins/script_editor_plugin.cpp @@ -6584,6 +6634,26 @@ msgid "Nameless gizmo" msgstr "Nimetön muokkain" #: editor/plugins/sprite_editor_plugin.cpp +#, fuzzy +msgid "Create Mesh2D" +msgstr "Luo 2D-mesh" + +#: editor/plugins/sprite_editor_plugin.cpp +#, fuzzy +msgid "Create Polygon2D" +msgstr "Luo Polygon3D" + +#: editor/plugins/sprite_editor_plugin.cpp +#, fuzzy +msgid "Create CollisionPolygon2D" +msgstr "Luo törmäyspolygoni" + +#: editor/plugins/sprite_editor_plugin.cpp +#, fuzzy +msgid "Create LightOccluder2D" +msgstr "Luo peittopolygoni" + +#: editor/plugins/sprite_editor_plugin.cpp msgid "Sprite is empty!" msgstr "Sprite on tyhjä!" @@ -6596,16 +6666,43 @@ msgid "Invalid geometry, can't replace by mesh." msgstr "Virheellinen geometria, ei voida korvata meshillä." #: editor/plugins/sprite_editor_plugin.cpp +#, fuzzy +msgid "Invalid geometry, can't create polygon." +msgstr "Virheellinen geometria, ei voida korvata meshillä." + +#: editor/plugins/sprite_editor_plugin.cpp +#, fuzzy +msgid "Invalid geometry, can't create collision polygon." +msgstr "Virheellinen geometria, ei voida korvata meshillä." + +#: editor/plugins/sprite_editor_plugin.cpp +#, fuzzy +msgid "Invalid geometry, can't create light occluder." +msgstr "Virheellinen geometria, ei voida korvata meshillä." + +#: editor/plugins/sprite_editor_plugin.cpp msgid "Sprite" msgstr "Sprite" #: editor/plugins/sprite_editor_plugin.cpp -msgid "Convert to 2D Mesh" +#, fuzzy +msgid "Convert to Mesh2D" msgstr "Muunna 2D-meshiksi" #: editor/plugins/sprite_editor_plugin.cpp -msgid "Create 2D Mesh" -msgstr "Luo 2D-mesh" +#, fuzzy +msgid "Convert to Polygon2D" +msgstr "Siirrä polygonia" + +#: editor/plugins/sprite_editor_plugin.cpp +#, fuzzy +msgid "Create CollisionPolygon2D Sibling" +msgstr "Luo törmäyspolygoni" + +#: editor/plugins/sprite_editor_plugin.cpp +#, fuzzy +msgid "Create LightOccluder2D Sibling" +msgstr "Luo peittopolygoni" #: editor/plugins/sprite_editor_plugin.cpp msgid "Simplification: " @@ -7190,6 +7287,11 @@ msgid "Duplicate Nodes" msgstr "Kahdenna solmut" #: editor/plugins/visual_shader_editor_plugin.cpp +#, fuzzy +msgid "Delete Nodes" +msgstr "Poista solmu" + +#: editor/plugins/visual_shader_editor_plugin.cpp msgid "Visual Shader Input Type Changed" msgstr "Visual Shaderin syötteen tyyppi vaihdettu" @@ -8406,10 +8508,6 @@ msgid "Open documentation" msgstr "Avaa dokumentaatio" #: editor/scene_tree_dock.cpp -msgid "Delete Node(s)" -msgstr "Poista solmu(t)" - -#: editor/scene_tree_dock.cpp msgid "Add Child Node" msgstr "Lisää alisolmu" @@ -10279,12 +10377,15 @@ msgstr "Sijoitus uniformille." msgid "Varyings can only be assigned in vertex function." msgstr "Varying tyypin voi sijoittaa vain vertex-funktiossa." +#~ msgid "Snap (s): " +#~ msgstr "Askellus (s): " + +#~ msgid "Insert keys." +#~ msgstr "Lisää avainruutuja." + #~ msgid "Instance the selected scene(s) as child of the selected node." #~ msgstr "Luo valituista skeneistä ilmentymä valitun solmun alle." -#~ msgid "FPS" -#~ msgstr "FPS" - #~ msgid "Warnings:" #~ msgstr "Varoitukset:" diff --git a/editor/translations/fil.po b/editor/translations/fil.po index 5160c5b3bc..aece9febdd 100644 --- a/editor/translations/fil.po +++ b/editor/translations/fil.po @@ -405,13 +405,21 @@ msgid "Group tracks by node or display them as plain list." msgstr "" #: editor/animation_track_editor.cpp -msgid "Snap (s): " +msgid "Snap:" msgstr "" #: editor/animation_track_editor.cpp msgid "Animation step value." msgstr "" +#: editor/animation_track_editor.cpp +msgid "Seconds" +msgstr "" + +#: editor/animation_track_editor.cpp +msgid "FPS" +msgstr "" + #: editor/animation_track_editor.cpp editor/editor_properties.cpp #: editor/plugins/polygon_2d_editor_plugin.cpp #: editor/plugins/script_text_editor.cpp @@ -3665,6 +3673,11 @@ msgid "Delete Node" msgstr "" #: editor/plugins/animation_blend_tree_editor_plugin.cpp +#: editor/scene_tree_dock.cpp +msgid "Delete Node(s)" +msgstr "" + +#: editor/plugins/animation_blend_tree_editor_plugin.cpp msgid "Toggle Filter On/Off" msgstr "" @@ -4616,7 +4629,31 @@ msgid "Layout" msgstr "" #: editor/plugins/canvas_item_editor_plugin.cpp -msgid "Insert keys." +msgid "Translation mask for inserting keys." +msgstr "" + +#: editor/plugins/canvas_item_editor_plugin.cpp +msgid "Rotation mask for inserting keys." +msgstr "" + +#: editor/plugins/canvas_item_editor_plugin.cpp +msgid "Scale mask for inserting keys." +msgstr "" + +#: editor/plugins/canvas_item_editor_plugin.cpp +msgid "Insert keys (based on mask)." +msgstr "" + +#: editor/plugins/canvas_item_editor_plugin.cpp +msgid "" +"Auto insert keys when objects are translated, rotated on scaled (based on " +"mask).\n" +"Keys are only added to existing tracks, no new tracks will be created.\n" +"Keys must be inserted manually for the first time." +msgstr "" + +#: editor/plugins/canvas_item_editor_plugin.cpp +msgid "Auto Insert Key" msgstr "" #: editor/plugins/canvas_item_editor_plugin.cpp @@ -4687,6 +4724,52 @@ msgstr "" msgid "Set Handle" msgstr "" +#: editor/plugins/cpu_particles_2d_editor_plugin.cpp +#: editor/plugins/particles_2d_editor_plugin.cpp +msgid "Error loading image:" +msgstr "" + +#: editor/plugins/cpu_particles_2d_editor_plugin.cpp +#: editor/plugins/particles_2d_editor_plugin.cpp +msgid "No pixels with transparency > 128 in image..." +msgstr "" + +#: editor/plugins/cpu_particles_2d_editor_plugin.cpp +#: editor/plugins/particles_2d_editor_plugin.cpp +msgid "Load Emission Mask" +msgstr "" + +#: editor/plugins/cpu_particles_2d_editor_plugin.cpp +#: editor/plugins/particles_2d_editor_plugin.cpp +msgid "Clear Emission Mask" +msgstr "" + +#: editor/plugins/cpu_particles_2d_editor_plugin.cpp +#: editor/plugins/particles_2d_editor_plugin.cpp +#: editor/plugins/particles_editor_plugin.cpp +msgid "Particles" +msgstr "" + +#: editor/plugins/cpu_particles_2d_editor_plugin.cpp +#: editor/plugins/particles_2d_editor_plugin.cpp +msgid "Generated Point Count:" +msgstr "" + +#: editor/plugins/cpu_particles_2d_editor_plugin.cpp +#: editor/plugins/particles_2d_editor_plugin.cpp +msgid "Emission Mask" +msgstr "" + +#: editor/plugins/cpu_particles_2d_editor_plugin.cpp +#: editor/plugins/particles_2d_editor_plugin.cpp +msgid "Capture from Pixel" +msgstr "" + +#: editor/plugins/cpu_particles_2d_editor_plugin.cpp +#: editor/plugins/particles_2d_editor_plugin.cpp +msgid "Emission Colors" +msgstr "" + #: editor/plugins/cpu_particles_editor_plugin.cpp msgid "CPUParticles" msgstr "" @@ -5037,52 +5120,15 @@ msgid "Can only set point into a ParticlesMaterial process material" msgstr "" #: editor/plugins/particles_2d_editor_plugin.cpp -msgid "Error loading image:" -msgstr "" - -#: editor/plugins/particles_2d_editor_plugin.cpp -msgid "No pixels with transparency > 128 in image..." -msgstr "" - -#: editor/plugins/particles_2d_editor_plugin.cpp -msgid "Load Emission Mask" -msgstr "" - -#: editor/plugins/particles_2d_editor_plugin.cpp -msgid "Clear Emission Mask" -msgstr "" - -#: editor/plugins/particles_2d_editor_plugin.cpp #: editor/plugins/particles_editor_plugin.cpp msgid "Convert to CPUParticles" msgstr "" #: editor/plugins/particles_2d_editor_plugin.cpp #: editor/plugins/particles_editor_plugin.cpp -msgid "Particles" -msgstr "" - -#: editor/plugins/particles_2d_editor_plugin.cpp -msgid "Generated Point Count:" -msgstr "" - -#: editor/plugins/particles_2d_editor_plugin.cpp -#: editor/plugins/particles_editor_plugin.cpp msgid "Generation Time (sec):" msgstr "" -#: editor/plugins/particles_2d_editor_plugin.cpp -msgid "Emission Mask" -msgstr "" - -#: editor/plugins/particles_2d_editor_plugin.cpp -msgid "Capture from Pixel" -msgstr "" - -#: editor/plugins/particles_2d_editor_plugin.cpp -msgid "Emission Colors" -msgstr "" - #: editor/plugins/particles_editor_plugin.cpp msgid "Faces contain no area!" msgstr "" @@ -5586,7 +5632,7 @@ msgid "Save Theme As..." msgstr "" #: editor/plugins/script_editor_plugin.cpp -msgid " Class Reference" +msgid "%s Class Reference" msgstr "" #: editor/plugins/script_editor_plugin.cpp @@ -6404,6 +6450,22 @@ msgid "Nameless gizmo" msgstr "" #: editor/plugins/sprite_editor_plugin.cpp +msgid "Create Mesh2D" +msgstr "" + +#: editor/plugins/sprite_editor_plugin.cpp +msgid "Create Polygon2D" +msgstr "" + +#: editor/plugins/sprite_editor_plugin.cpp +msgid "Create CollisionPolygon2D" +msgstr "" + +#: editor/plugins/sprite_editor_plugin.cpp +msgid "Create LightOccluder2D" +msgstr "" + +#: editor/plugins/sprite_editor_plugin.cpp msgid "Sprite is empty!" msgstr "" @@ -6416,15 +6478,35 @@ msgid "Invalid geometry, can't replace by mesh." msgstr "" #: editor/plugins/sprite_editor_plugin.cpp +msgid "Invalid geometry, can't create polygon." +msgstr "" + +#: editor/plugins/sprite_editor_plugin.cpp +msgid "Invalid geometry, can't create collision polygon." +msgstr "" + +#: editor/plugins/sprite_editor_plugin.cpp +msgid "Invalid geometry, can't create light occluder." +msgstr "" + +#: editor/plugins/sprite_editor_plugin.cpp msgid "Sprite" msgstr "" #: editor/plugins/sprite_editor_plugin.cpp -msgid "Convert to 2D Mesh" +msgid "Convert to Mesh2D" +msgstr "" + +#: editor/plugins/sprite_editor_plugin.cpp +msgid "Convert to Polygon2D" +msgstr "" + +#: editor/plugins/sprite_editor_plugin.cpp +msgid "Create CollisionPolygon2D Sibling" msgstr "" #: editor/plugins/sprite_editor_plugin.cpp -msgid "Create 2D Mesh" +msgid "Create LightOccluder2D Sibling" msgstr "" #: editor/plugins/sprite_editor_plugin.cpp @@ -6995,6 +7077,10 @@ msgid "Duplicate Nodes" msgstr "" #: editor/plugins/visual_shader_editor_plugin.cpp +msgid "Delete Nodes" +msgstr "" + +#: editor/plugins/visual_shader_editor_plugin.cpp msgid "Visual Shader Input Type Changed" msgstr "" @@ -8144,10 +8230,6 @@ msgid "Open documentation" msgstr "" #: editor/scene_tree_dock.cpp -msgid "Delete Node(s)" -msgstr "" - -#: editor/scene_tree_dock.cpp msgid "Add Child Node" msgstr "" diff --git a/editor/translations/fr.po b/editor/translations/fr.po index a91f78a912..37175d7001 100644 --- a/editor/translations/fr.po +++ b/editor/translations/fr.po @@ -473,13 +473,22 @@ msgid "Group tracks by node or display them as plain list." msgstr "Grouper les pistes par nœuds ou les afficher dans une liste simple." #: editor/animation_track_editor.cpp -msgid "Snap (s): " -msgstr "Pas (s) : " +#, fuzzy +msgid "Snap:" +msgstr "Aligner" #: editor/animation_track_editor.cpp msgid "Animation step value." msgstr "Valeur du pas d'animation." +#: editor/animation_track_editor.cpp +msgid "Seconds" +msgstr "" + +#: editor/animation_track_editor.cpp +msgid "FPS" +msgstr "IPS" + #: editor/animation_track_editor.cpp editor/editor_properties.cpp #: editor/plugins/polygon_2d_editor_plugin.cpp #: editor/plugins/script_text_editor.cpp @@ -3893,6 +3902,11 @@ msgid "Delete Node" msgstr "Supprimer un nœud" #: editor/plugins/animation_blend_tree_editor_plugin.cpp +#: editor/scene_tree_dock.cpp +msgid "Delete Node(s)" +msgstr "Supprimer nœud(s)" + +#: editor/plugins/animation_blend_tree_editor_plugin.cpp msgid "Toggle Filter On/Off" msgstr "Activer/désactiver le filtre" @@ -4873,8 +4887,34 @@ msgid "Layout" msgstr "Disposition sur l'écran" #: editor/plugins/canvas_item_editor_plugin.cpp -msgid "Insert keys." -msgstr "Insérer les clefs." +msgid "Translation mask for inserting keys." +msgstr "" + +#: editor/plugins/canvas_item_editor_plugin.cpp +msgid "Rotation mask for inserting keys." +msgstr "" + +#: editor/plugins/canvas_item_editor_plugin.cpp +msgid "Scale mask for inserting keys." +msgstr "" + +#: editor/plugins/canvas_item_editor_plugin.cpp +#, fuzzy +msgid "Insert keys (based on mask)." +msgstr "Insérer une clé (pistes existantes)" + +#: editor/plugins/canvas_item_editor_plugin.cpp +msgid "" +"Auto insert keys when objects are translated, rotated on scaled (based on " +"mask).\n" +"Keys are only added to existing tracks, no new tracks will be created.\n" +"Keys must be inserted manually for the first time." +msgstr "" + +#: editor/plugins/canvas_item_editor_plugin.cpp +#, fuzzy +msgid "Auto Insert Key" +msgstr "Insérer une clé d'animation" #: editor/plugins/canvas_item_editor_plugin.cpp msgid "Insert Key (Existing Tracks)" @@ -4946,6 +4986,52 @@ msgstr "Modifier le polygone (supprimer un point)" msgid "Set Handle" msgstr "Définir la poignée" +#: editor/plugins/cpu_particles_2d_editor_plugin.cpp +#: editor/plugins/particles_2d_editor_plugin.cpp +msgid "Error loading image:" +msgstr "Erreur de chargement d'image :" + +#: editor/plugins/cpu_particles_2d_editor_plugin.cpp +#: editor/plugins/particles_2d_editor_plugin.cpp +msgid "No pixels with transparency > 128 in image..." +msgstr "Pas de pixels avec transparence > 128 dans l'image..." + +#: editor/plugins/cpu_particles_2d_editor_plugin.cpp +#: editor/plugins/particles_2d_editor_plugin.cpp +msgid "Load Emission Mask" +msgstr "Charger Masque d'Émission" + +#: editor/plugins/cpu_particles_2d_editor_plugin.cpp +#: editor/plugins/particles_2d_editor_plugin.cpp +msgid "Clear Emission Mask" +msgstr "Effacer Masque d'Émission" + +#: editor/plugins/cpu_particles_2d_editor_plugin.cpp +#: editor/plugins/particles_2d_editor_plugin.cpp +#: editor/plugins/particles_editor_plugin.cpp +msgid "Particles" +msgstr "Particules" + +#: editor/plugins/cpu_particles_2d_editor_plugin.cpp +#: editor/plugins/particles_2d_editor_plugin.cpp +msgid "Generated Point Count:" +msgstr "Compte de Points Générés :" + +#: editor/plugins/cpu_particles_2d_editor_plugin.cpp +#: editor/plugins/particles_2d_editor_plugin.cpp +msgid "Emission Mask" +msgstr "Masque d'émission" + +#: editor/plugins/cpu_particles_2d_editor_plugin.cpp +#: editor/plugins/particles_2d_editor_plugin.cpp +msgid "Capture from Pixel" +msgstr "Capturer depuis Pixel" + +#: editor/plugins/cpu_particles_2d_editor_plugin.cpp +#: editor/plugins/particles_2d_editor_plugin.cpp +msgid "Emission Colors" +msgstr "Couleurs d'émission" + #: editor/plugins/cpu_particles_editor_plugin.cpp msgid "CPUParticles" msgstr "CPUParticles" @@ -5305,52 +5391,15 @@ msgstr "" "Ne peut définir qu'un point dans un matériau de processus ParticlesMaterial" #: editor/plugins/particles_2d_editor_plugin.cpp -msgid "Error loading image:" -msgstr "Erreur de chargement d'image :" - -#: editor/plugins/particles_2d_editor_plugin.cpp -msgid "No pixels with transparency > 128 in image..." -msgstr "Pas de pixels avec transparence > 128 dans l'image..." - -#: editor/plugins/particles_2d_editor_plugin.cpp -msgid "Load Emission Mask" -msgstr "Charger Masque d'Émission" - -#: editor/plugins/particles_2d_editor_plugin.cpp -msgid "Clear Emission Mask" -msgstr "Effacer Masque d'Émission" - -#: editor/plugins/particles_2d_editor_plugin.cpp #: editor/plugins/particles_editor_plugin.cpp msgid "Convert to CPUParticles" msgstr "Convertir en CPUParticles" #: editor/plugins/particles_2d_editor_plugin.cpp #: editor/plugins/particles_editor_plugin.cpp -msgid "Particles" -msgstr "Particules" - -#: editor/plugins/particles_2d_editor_plugin.cpp -msgid "Generated Point Count:" -msgstr "Compte de Points Générés :" - -#: editor/plugins/particles_2d_editor_plugin.cpp -#: editor/plugins/particles_editor_plugin.cpp msgid "Generation Time (sec):" msgstr "Temps de Génération (sec) :" -#: editor/plugins/particles_2d_editor_plugin.cpp -msgid "Emission Mask" -msgstr "Masque d'émission" - -#: editor/plugins/particles_2d_editor_plugin.cpp -msgid "Capture from Pixel" -msgstr "Capturer depuis Pixel" - -#: editor/plugins/particles_2d_editor_plugin.cpp -msgid "Emission Colors" -msgstr "Couleurs d'émission" - #: editor/plugins/particles_editor_plugin.cpp msgid "Faces contain no area!" msgstr "Des faces ne contiennent pas de zone !" @@ -5862,7 +5911,8 @@ msgid "Save Theme As..." msgstr "Enregistrer le thème sous…" #: editor/plugins/script_editor_plugin.cpp -msgid " Class Reference" +#, fuzzy +msgid "%s Class Reference" msgstr " Référence de classe" #: editor/plugins/script_editor_plugin.cpp @@ -6690,6 +6740,26 @@ msgid "Nameless gizmo" msgstr "Gadget sans nom" #: editor/plugins/sprite_editor_plugin.cpp +#, fuzzy +msgid "Create Mesh2D" +msgstr "Créer un maillage 2D" + +#: editor/plugins/sprite_editor_plugin.cpp +#, fuzzy +msgid "Create Polygon2D" +msgstr "Créer un Polygon3D" + +#: editor/plugins/sprite_editor_plugin.cpp +#, fuzzy +msgid "Create CollisionPolygon2D" +msgstr "Créer le polygone de collision" + +#: editor/plugins/sprite_editor_plugin.cpp +#, fuzzy +msgid "Create LightOccluder2D" +msgstr "Créer un polygone occulteur" + +#: editor/plugins/sprite_editor_plugin.cpp msgid "Sprite is empty!" msgstr "Le sprite est vide !" @@ -6704,16 +6774,43 @@ msgid "Invalid geometry, can't replace by mesh." msgstr "Géométrie invalide, impossible de remplacer par un maillage." #: editor/plugins/sprite_editor_plugin.cpp +#, fuzzy +msgid "Invalid geometry, can't create polygon." +msgstr "Géométrie invalide, impossible de remplacer par un maillage." + +#: editor/plugins/sprite_editor_plugin.cpp +#, fuzzy +msgid "Invalid geometry, can't create collision polygon." +msgstr "Géométrie invalide, impossible de remplacer par un maillage." + +#: editor/plugins/sprite_editor_plugin.cpp +#, fuzzy +msgid "Invalid geometry, can't create light occluder." +msgstr "Géométrie invalide, impossible de remplacer par un maillage." + +#: editor/plugins/sprite_editor_plugin.cpp msgid "Sprite" msgstr "Sprite" #: editor/plugins/sprite_editor_plugin.cpp -msgid "Convert to 2D Mesh" +#, fuzzy +msgid "Convert to Mesh2D" msgstr "Convertir en maillage 2D" #: editor/plugins/sprite_editor_plugin.cpp -msgid "Create 2D Mesh" -msgstr "Créer un maillage 2D" +#, fuzzy +msgid "Convert to Polygon2D" +msgstr "Déplacer le polygone" + +#: editor/plugins/sprite_editor_plugin.cpp +#, fuzzy +msgid "Create CollisionPolygon2D Sibling" +msgstr "Créer le polygone de collision" + +#: editor/plugins/sprite_editor_plugin.cpp +#, fuzzy +msgid "Create LightOccluder2D Sibling" +msgstr "Créer un polygone occulteur" #: editor/plugins/sprite_editor_plugin.cpp msgid "Simplification: " @@ -7300,6 +7397,11 @@ msgid "Duplicate Nodes" msgstr "Dupliquer le(s) nœud(s)" #: editor/plugins/visual_shader_editor_plugin.cpp +#, fuzzy +msgid "Delete Nodes" +msgstr "Supprimer un nœud" + +#: editor/plugins/visual_shader_editor_plugin.cpp msgid "Visual Shader Input Type Changed" msgstr "Type d’entrée Visual Shader changée" @@ -8523,10 +8625,6 @@ msgid "Open documentation" msgstr "Ouvrir la documentation" #: editor/scene_tree_dock.cpp -msgid "Delete Node(s)" -msgstr "Supprimer nœud(s)" - -#: editor/scene_tree_dock.cpp msgid "Add Child Node" msgstr "Ajouter un nœud enfant" @@ -10437,14 +10535,17 @@ msgstr "Affectation à l'uniforme." msgid "Varyings can only be assigned in vertex function." msgstr "Les variations ne peuvent être affectées que dans la fonction vertex." +#~ msgid "Snap (s): " +#~ msgstr "Pas (s) : " + +#~ msgid "Insert keys." +#~ msgstr "Insérer les clefs." + #~ msgid "Instance the selected scene(s) as child of the selected node." #~ msgstr "" #~ "Instancie la(les) scène(s) sélectionnée(s) en tant qu'enfant(s) du nœud " #~ "sélectionné." -#~ msgid "FPS" -#~ msgstr "IPS" - #~ msgid "Warnings:" #~ msgstr "Avertissements :" diff --git a/editor/translations/he.po b/editor/translations/he.po index 1adcb6b56c..8ef45fd8d8 100644 --- a/editor/translations/he.po +++ b/editor/translations/he.po @@ -441,14 +441,22 @@ msgstr "" #: editor/animation_track_editor.cpp #, fuzzy -msgid "Snap (s): " -msgstr "צעד/ים:" +msgid "Snap:" +msgstr "הצמדה" #: editor/animation_track_editor.cpp #, fuzzy msgid "Animation step value." msgstr "שקופיות ההנפשה" +#: editor/animation_track_editor.cpp +msgid "Seconds" +msgstr "" + +#: editor/animation_track_editor.cpp +msgid "FPS" +msgstr "" + #: editor/animation_track_editor.cpp editor/editor_properties.cpp #: editor/plugins/polygon_2d_editor_plugin.cpp #: editor/plugins/script_text_editor.cpp @@ -3823,6 +3831,11 @@ msgid "Delete Node" msgstr "מחיקת שורה" #: editor/plugins/animation_blend_tree_editor_plugin.cpp +#: editor/scene_tree_dock.cpp +msgid "Delete Node(s)" +msgstr "" + +#: editor/plugins/animation_blend_tree_editor_plugin.cpp #, fuzzy msgid "Toggle Filter On/Off" msgstr "החלפת מצב מועדפים" @@ -4805,10 +4818,35 @@ msgid "Layout" msgstr "" #: editor/plugins/canvas_item_editor_plugin.cpp -msgid "Insert keys." +msgid "Translation mask for inserting keys." +msgstr "" + +#: editor/plugins/canvas_item_editor_plugin.cpp +msgid "Rotation mask for inserting keys." +msgstr "" + +#: editor/plugins/canvas_item_editor_plugin.cpp +msgid "Scale mask for inserting keys." msgstr "" #: editor/plugins/canvas_item_editor_plugin.cpp +msgid "Insert keys (based on mask)." +msgstr "" + +#: editor/plugins/canvas_item_editor_plugin.cpp +msgid "" +"Auto insert keys when objects are translated, rotated on scaled (based on " +"mask).\n" +"Keys are only added to existing tracks, no new tracks will be created.\n" +"Keys must be inserted manually for the first time." +msgstr "" + +#: editor/plugins/canvas_item_editor_plugin.cpp +#, fuzzy +msgid "Auto Insert Key" +msgstr "הכנס מפתח" + +#: editor/plugins/canvas_item_editor_plugin.cpp msgid "Insert Key (Existing Tracks)" msgstr "" @@ -4877,6 +4915,52 @@ msgstr "עריכת מצולע (הסרת נקודה)" msgid "Set Handle" msgstr "" +#: editor/plugins/cpu_particles_2d_editor_plugin.cpp +#: editor/plugins/particles_2d_editor_plugin.cpp +msgid "Error loading image:" +msgstr "" + +#: editor/plugins/cpu_particles_2d_editor_plugin.cpp +#: editor/plugins/particles_2d_editor_plugin.cpp +msgid "No pixels with transparency > 128 in image..." +msgstr "" + +#: editor/plugins/cpu_particles_2d_editor_plugin.cpp +#: editor/plugins/particles_2d_editor_plugin.cpp +msgid "Load Emission Mask" +msgstr "" + +#: editor/plugins/cpu_particles_2d_editor_plugin.cpp +#: editor/plugins/particles_2d_editor_plugin.cpp +msgid "Clear Emission Mask" +msgstr "" + +#: editor/plugins/cpu_particles_2d_editor_plugin.cpp +#: editor/plugins/particles_2d_editor_plugin.cpp +#: editor/plugins/particles_editor_plugin.cpp +msgid "Particles" +msgstr "" + +#: editor/plugins/cpu_particles_2d_editor_plugin.cpp +#: editor/plugins/particles_2d_editor_plugin.cpp +msgid "Generated Point Count:" +msgstr "" + +#: editor/plugins/cpu_particles_2d_editor_plugin.cpp +#: editor/plugins/particles_2d_editor_plugin.cpp +msgid "Emission Mask" +msgstr "" + +#: editor/plugins/cpu_particles_2d_editor_plugin.cpp +#: editor/plugins/particles_2d_editor_plugin.cpp +msgid "Capture from Pixel" +msgstr "" + +#: editor/plugins/cpu_particles_2d_editor_plugin.cpp +#: editor/plugins/particles_2d_editor_plugin.cpp +msgid "Emission Colors" +msgstr "" + #: editor/plugins/cpu_particles_editor_plugin.cpp #, fuzzy msgid "CPUParticles" @@ -5229,22 +5313,6 @@ msgid "Can only set point into a ParticlesMaterial process material" msgstr "" #: editor/plugins/particles_2d_editor_plugin.cpp -msgid "Error loading image:" -msgstr "" - -#: editor/plugins/particles_2d_editor_plugin.cpp -msgid "No pixels with transparency > 128 in image..." -msgstr "" - -#: editor/plugins/particles_2d_editor_plugin.cpp -msgid "Load Emission Mask" -msgstr "" - -#: editor/plugins/particles_2d_editor_plugin.cpp -msgid "Clear Emission Mask" -msgstr "" - -#: editor/plugins/particles_2d_editor_plugin.cpp #: editor/plugins/particles_editor_plugin.cpp #, fuzzy msgid "Convert to CPUParticles" @@ -5252,30 +5320,9 @@ msgstr "המרה לאותיות גדולות" #: editor/plugins/particles_2d_editor_plugin.cpp #: editor/plugins/particles_editor_plugin.cpp -msgid "Particles" -msgstr "" - -#: editor/plugins/particles_2d_editor_plugin.cpp -msgid "Generated Point Count:" -msgstr "" - -#: editor/plugins/particles_2d_editor_plugin.cpp -#: editor/plugins/particles_editor_plugin.cpp msgid "Generation Time (sec):" msgstr "" -#: editor/plugins/particles_2d_editor_plugin.cpp -msgid "Emission Mask" -msgstr "" - -#: editor/plugins/particles_2d_editor_plugin.cpp -msgid "Capture from Pixel" -msgstr "" - -#: editor/plugins/particles_2d_editor_plugin.cpp -msgid "Emission Colors" -msgstr "" - #: editor/plugins/particles_editor_plugin.cpp msgid "Faces contain no area!" msgstr "" @@ -5803,7 +5850,7 @@ msgid "Save Theme As..." msgstr "שמירת ערכת עיצוב בשם…" #: editor/plugins/script_editor_plugin.cpp -msgid " Class Reference" +msgid "%s Class Reference" msgstr "" #: editor/plugins/script_editor_plugin.cpp @@ -6648,6 +6695,26 @@ msgid "Nameless gizmo" msgstr "" #: editor/plugins/sprite_editor_plugin.cpp +#, fuzzy +msgid "Create Mesh2D" +msgstr "יצירת %s חדש" + +#: editor/plugins/sprite_editor_plugin.cpp +#, fuzzy +msgid "Create Polygon2D" +msgstr "יצירת מצולע" + +#: editor/plugins/sprite_editor_plugin.cpp +#, fuzzy +msgid "Create CollisionPolygon2D" +msgstr "יצירת מצולע" + +#: editor/plugins/sprite_editor_plugin.cpp +#, fuzzy +msgid "Create LightOccluder2D" +msgstr "יצירת תיקייה" + +#: editor/plugins/sprite_editor_plugin.cpp msgid "Sprite is empty!" msgstr "" @@ -6660,18 +6727,39 @@ msgid "Invalid geometry, can't replace by mesh." msgstr "" #: editor/plugins/sprite_editor_plugin.cpp +msgid "Invalid geometry, can't create polygon." +msgstr "" + +#: editor/plugins/sprite_editor_plugin.cpp +msgid "Invalid geometry, can't create collision polygon." +msgstr "" + +#: editor/plugins/sprite_editor_plugin.cpp +msgid "Invalid geometry, can't create light occluder." +msgstr "" + +#: editor/plugins/sprite_editor_plugin.cpp msgid "Sprite" msgstr "" #: editor/plugins/sprite_editor_plugin.cpp #, fuzzy -msgid "Convert to 2D Mesh" +msgid "Convert to Mesh2D" msgstr "המרה לאותיות גדולות" #: editor/plugins/sprite_editor_plugin.cpp #, fuzzy -msgid "Create 2D Mesh" -msgstr "יצירת %s חדש" +msgid "Convert to Polygon2D" +msgstr "הזזת מצולע" + +#: editor/plugins/sprite_editor_plugin.cpp +#, fuzzy +msgid "Create CollisionPolygon2D Sibling" +msgstr "יצירת מצולע" + +#: editor/plugins/sprite_editor_plugin.cpp +msgid "Create LightOccluder2D Sibling" +msgstr "" #: editor/plugins/sprite_editor_plugin.cpp msgid "Simplification: " @@ -7280,6 +7368,11 @@ msgid "Duplicate Nodes" msgstr "שכפול" #: editor/plugins/visual_shader_editor_plugin.cpp +#, fuzzy +msgid "Delete Nodes" +msgstr "מחיקת שורה" + +#: editor/plugins/visual_shader_editor_plugin.cpp msgid "Visual Shader Input Type Changed" msgstr "" @@ -8465,10 +8558,6 @@ msgid "Open documentation" msgstr "פתיחת התיעוד המקוון של Godot" #: editor/scene_tree_dock.cpp -msgid "Delete Node(s)" -msgstr "" - -#: editor/scene_tree_dock.cpp msgid "Add Child Node" msgstr "" @@ -10221,6 +10310,10 @@ msgid "Varyings can only be assigned in vertex function." msgstr "" #, fuzzy +#~ msgid "Snap (s): " +#~ msgstr "צעד/ים:" + +#, fuzzy #~ msgid "Warnings:" #~ msgstr "אזהרות" diff --git a/editor/translations/hi.po b/editor/translations/hi.po index 1758532805..f7bf57678d 100644 --- a/editor/translations/hi.po +++ b/editor/translations/hi.po @@ -424,13 +424,21 @@ msgid "Group tracks by node or display them as plain list." msgstr "" #: editor/animation_track_editor.cpp -msgid "Snap (s): " +msgid "Snap:" msgstr "" #: editor/animation_track_editor.cpp msgid "Animation step value." msgstr "" +#: editor/animation_track_editor.cpp +msgid "Seconds" +msgstr "" + +#: editor/animation_track_editor.cpp +msgid "FPS" +msgstr "" + #: editor/animation_track_editor.cpp editor/editor_properties.cpp #: editor/plugins/polygon_2d_editor_plugin.cpp #: editor/plugins/script_text_editor.cpp @@ -3763,6 +3771,11 @@ msgid "Delete Node" msgstr "को हटा दें" #: editor/plugins/animation_blend_tree_editor_plugin.cpp +#: editor/scene_tree_dock.cpp +msgid "Delete Node(s)" +msgstr "" + +#: editor/plugins/animation_blend_tree_editor_plugin.cpp msgid "Toggle Filter On/Off" msgstr "" @@ -4724,10 +4737,35 @@ msgid "Layout" msgstr "" #: editor/plugins/canvas_item_editor_plugin.cpp -msgid "Insert keys." +msgid "Translation mask for inserting keys." +msgstr "" + +#: editor/plugins/canvas_item_editor_plugin.cpp +msgid "Rotation mask for inserting keys." +msgstr "" + +#: editor/plugins/canvas_item_editor_plugin.cpp +msgid "Scale mask for inserting keys." +msgstr "" + +#: editor/plugins/canvas_item_editor_plugin.cpp +msgid "Insert keys (based on mask)." msgstr "" #: editor/plugins/canvas_item_editor_plugin.cpp +msgid "" +"Auto insert keys when objects are translated, rotated on scaled (based on " +"mask).\n" +"Keys are only added to existing tracks, no new tracks will be created.\n" +"Keys must be inserted manually for the first time." +msgstr "" + +#: editor/plugins/canvas_item_editor_plugin.cpp +#, fuzzy +msgid "Auto Insert Key" +msgstr "चाबी यहां डालें" + +#: editor/plugins/canvas_item_editor_plugin.cpp msgid "Insert Key (Existing Tracks)" msgstr "" @@ -4796,6 +4834,52 @@ msgstr "" msgid "Set Handle" msgstr "" +#: editor/plugins/cpu_particles_2d_editor_plugin.cpp +#: editor/plugins/particles_2d_editor_plugin.cpp +msgid "Error loading image:" +msgstr "" + +#: editor/plugins/cpu_particles_2d_editor_plugin.cpp +#: editor/plugins/particles_2d_editor_plugin.cpp +msgid "No pixels with transparency > 128 in image..." +msgstr "" + +#: editor/plugins/cpu_particles_2d_editor_plugin.cpp +#: editor/plugins/particles_2d_editor_plugin.cpp +msgid "Load Emission Mask" +msgstr "" + +#: editor/plugins/cpu_particles_2d_editor_plugin.cpp +#: editor/plugins/particles_2d_editor_plugin.cpp +msgid "Clear Emission Mask" +msgstr "" + +#: editor/plugins/cpu_particles_2d_editor_plugin.cpp +#: editor/plugins/particles_2d_editor_plugin.cpp +#: editor/plugins/particles_editor_plugin.cpp +msgid "Particles" +msgstr "" + +#: editor/plugins/cpu_particles_2d_editor_plugin.cpp +#: editor/plugins/particles_2d_editor_plugin.cpp +msgid "Generated Point Count:" +msgstr "" + +#: editor/plugins/cpu_particles_2d_editor_plugin.cpp +#: editor/plugins/particles_2d_editor_plugin.cpp +msgid "Emission Mask" +msgstr "" + +#: editor/plugins/cpu_particles_2d_editor_plugin.cpp +#: editor/plugins/particles_2d_editor_plugin.cpp +msgid "Capture from Pixel" +msgstr "" + +#: editor/plugins/cpu_particles_2d_editor_plugin.cpp +#: editor/plugins/particles_2d_editor_plugin.cpp +msgid "Emission Colors" +msgstr "" + #: editor/plugins/cpu_particles_editor_plugin.cpp msgid "CPUParticles" msgstr "" @@ -5146,52 +5230,15 @@ msgid "Can only set point into a ParticlesMaterial process material" msgstr "" #: editor/plugins/particles_2d_editor_plugin.cpp -msgid "Error loading image:" -msgstr "" - -#: editor/plugins/particles_2d_editor_plugin.cpp -msgid "No pixels with transparency > 128 in image..." -msgstr "" - -#: editor/plugins/particles_2d_editor_plugin.cpp -msgid "Load Emission Mask" -msgstr "" - -#: editor/plugins/particles_2d_editor_plugin.cpp -msgid "Clear Emission Mask" -msgstr "" - -#: editor/plugins/particles_2d_editor_plugin.cpp #: editor/plugins/particles_editor_plugin.cpp msgid "Convert to CPUParticles" msgstr "" #: editor/plugins/particles_2d_editor_plugin.cpp #: editor/plugins/particles_editor_plugin.cpp -msgid "Particles" -msgstr "" - -#: editor/plugins/particles_2d_editor_plugin.cpp -msgid "Generated Point Count:" -msgstr "" - -#: editor/plugins/particles_2d_editor_plugin.cpp -#: editor/plugins/particles_editor_plugin.cpp msgid "Generation Time (sec):" msgstr "" -#: editor/plugins/particles_2d_editor_plugin.cpp -msgid "Emission Mask" -msgstr "" - -#: editor/plugins/particles_2d_editor_plugin.cpp -msgid "Capture from Pixel" -msgstr "" - -#: editor/plugins/particles_2d_editor_plugin.cpp -msgid "Emission Colors" -msgstr "" - #: editor/plugins/particles_editor_plugin.cpp msgid "Faces contain no area!" msgstr "" @@ -5707,7 +5754,7 @@ msgid "Save Theme As..." msgstr "" #: editor/plugins/script_editor_plugin.cpp -msgid " Class Reference" +msgid "%s Class Reference" msgstr "" #: editor/plugins/script_editor_plugin.cpp @@ -6530,6 +6577,26 @@ msgid "Nameless gizmo" msgstr "" #: editor/plugins/sprite_editor_plugin.cpp +#, fuzzy +msgid "Create Mesh2D" +msgstr "एक नया बनाएं" + +#: editor/plugins/sprite_editor_plugin.cpp +#, fuzzy +msgid "Create Polygon2D" +msgstr "सदस्यता बनाएं" + +#: editor/plugins/sprite_editor_plugin.cpp +#, fuzzy +msgid "Create CollisionPolygon2D" +msgstr "सदस्यता बनाएं" + +#: editor/plugins/sprite_editor_plugin.cpp +#, fuzzy +msgid "Create LightOccluder2D" +msgstr "एक नया बनाएं" + +#: editor/plugins/sprite_editor_plugin.cpp msgid "Sprite is empty!" msgstr "" @@ -6542,17 +6609,38 @@ msgid "Invalid geometry, can't replace by mesh." msgstr "" #: editor/plugins/sprite_editor_plugin.cpp +msgid "Invalid geometry, can't create polygon." +msgstr "" + +#: editor/plugins/sprite_editor_plugin.cpp +msgid "Invalid geometry, can't create collision polygon." +msgstr "" + +#: editor/plugins/sprite_editor_plugin.cpp +msgid "Invalid geometry, can't create light occluder." +msgstr "" + +#: editor/plugins/sprite_editor_plugin.cpp msgid "Sprite" msgstr "" #: editor/plugins/sprite_editor_plugin.cpp -msgid "Convert to 2D Mesh" +msgid "Convert to Mesh2D" msgstr "" #: editor/plugins/sprite_editor_plugin.cpp #, fuzzy -msgid "Create 2D Mesh" -msgstr "एक नया बनाएं" +msgid "Convert to Polygon2D" +msgstr "सदस्यता बनाएं" + +#: editor/plugins/sprite_editor_plugin.cpp +#, fuzzy +msgid "Create CollisionPolygon2D Sibling" +msgstr "सदस्यता बनाएं" + +#: editor/plugins/sprite_editor_plugin.cpp +msgid "Create LightOccluder2D Sibling" +msgstr "" #: editor/plugins/sprite_editor_plugin.cpp msgid "Simplification: " @@ -7143,6 +7231,11 @@ msgid "Duplicate Nodes" msgstr "प्रतिलिपि" #: editor/plugins/visual_shader_editor_plugin.cpp +#, fuzzy +msgid "Delete Nodes" +msgstr "को हटा दें" + +#: editor/plugins/visual_shader_editor_plugin.cpp msgid "Visual Shader Input Type Changed" msgstr "" @@ -8300,10 +8393,6 @@ msgid "Open documentation" msgstr "" #: editor/scene_tree_dock.cpp -msgid "Delete Node(s)" -msgstr "" - -#: editor/scene_tree_dock.cpp msgid "Add Child Node" msgstr "" diff --git a/editor/translations/hr.po b/editor/translations/hr.po index 6cfdf720ba..a7501f9b14 100644 --- a/editor/translations/hr.po +++ b/editor/translations/hr.po @@ -404,13 +404,21 @@ msgid "Group tracks by node or display them as plain list." msgstr "" #: editor/animation_track_editor.cpp -msgid "Snap (s): " +msgid "Snap:" msgstr "" #: editor/animation_track_editor.cpp msgid "Animation step value." msgstr "" +#: editor/animation_track_editor.cpp +msgid "Seconds" +msgstr "" + +#: editor/animation_track_editor.cpp +msgid "FPS" +msgstr "" + #: editor/animation_track_editor.cpp editor/editor_properties.cpp #: editor/plugins/polygon_2d_editor_plugin.cpp #: editor/plugins/script_text_editor.cpp @@ -3664,6 +3672,11 @@ msgid "Delete Node" msgstr "" #: editor/plugins/animation_blend_tree_editor_plugin.cpp +#: editor/scene_tree_dock.cpp +msgid "Delete Node(s)" +msgstr "" + +#: editor/plugins/animation_blend_tree_editor_plugin.cpp msgid "Toggle Filter On/Off" msgstr "" @@ -4615,7 +4628,31 @@ msgid "Layout" msgstr "" #: editor/plugins/canvas_item_editor_plugin.cpp -msgid "Insert keys." +msgid "Translation mask for inserting keys." +msgstr "" + +#: editor/plugins/canvas_item_editor_plugin.cpp +msgid "Rotation mask for inserting keys." +msgstr "" + +#: editor/plugins/canvas_item_editor_plugin.cpp +msgid "Scale mask for inserting keys." +msgstr "" + +#: editor/plugins/canvas_item_editor_plugin.cpp +msgid "Insert keys (based on mask)." +msgstr "" + +#: editor/plugins/canvas_item_editor_plugin.cpp +msgid "" +"Auto insert keys when objects are translated, rotated on scaled (based on " +"mask).\n" +"Keys are only added to existing tracks, no new tracks will be created.\n" +"Keys must be inserted manually for the first time." +msgstr "" + +#: editor/plugins/canvas_item_editor_plugin.cpp +msgid "Auto Insert Key" msgstr "" #: editor/plugins/canvas_item_editor_plugin.cpp @@ -4686,6 +4723,52 @@ msgstr "" msgid "Set Handle" msgstr "" +#: editor/plugins/cpu_particles_2d_editor_plugin.cpp +#: editor/plugins/particles_2d_editor_plugin.cpp +msgid "Error loading image:" +msgstr "" + +#: editor/plugins/cpu_particles_2d_editor_plugin.cpp +#: editor/plugins/particles_2d_editor_plugin.cpp +msgid "No pixels with transparency > 128 in image..." +msgstr "" + +#: editor/plugins/cpu_particles_2d_editor_plugin.cpp +#: editor/plugins/particles_2d_editor_plugin.cpp +msgid "Load Emission Mask" +msgstr "" + +#: editor/plugins/cpu_particles_2d_editor_plugin.cpp +#: editor/plugins/particles_2d_editor_plugin.cpp +msgid "Clear Emission Mask" +msgstr "" + +#: editor/plugins/cpu_particles_2d_editor_plugin.cpp +#: editor/plugins/particles_2d_editor_plugin.cpp +#: editor/plugins/particles_editor_plugin.cpp +msgid "Particles" +msgstr "" + +#: editor/plugins/cpu_particles_2d_editor_plugin.cpp +#: editor/plugins/particles_2d_editor_plugin.cpp +msgid "Generated Point Count:" +msgstr "" + +#: editor/plugins/cpu_particles_2d_editor_plugin.cpp +#: editor/plugins/particles_2d_editor_plugin.cpp +msgid "Emission Mask" +msgstr "" + +#: editor/plugins/cpu_particles_2d_editor_plugin.cpp +#: editor/plugins/particles_2d_editor_plugin.cpp +msgid "Capture from Pixel" +msgstr "" + +#: editor/plugins/cpu_particles_2d_editor_plugin.cpp +#: editor/plugins/particles_2d_editor_plugin.cpp +msgid "Emission Colors" +msgstr "" + #: editor/plugins/cpu_particles_editor_plugin.cpp msgid "CPUParticles" msgstr "" @@ -5036,52 +5119,15 @@ msgid "Can only set point into a ParticlesMaterial process material" msgstr "" #: editor/plugins/particles_2d_editor_plugin.cpp -msgid "Error loading image:" -msgstr "" - -#: editor/plugins/particles_2d_editor_plugin.cpp -msgid "No pixels with transparency > 128 in image..." -msgstr "" - -#: editor/plugins/particles_2d_editor_plugin.cpp -msgid "Load Emission Mask" -msgstr "" - -#: editor/plugins/particles_2d_editor_plugin.cpp -msgid "Clear Emission Mask" -msgstr "" - -#: editor/plugins/particles_2d_editor_plugin.cpp #: editor/plugins/particles_editor_plugin.cpp msgid "Convert to CPUParticles" msgstr "" #: editor/plugins/particles_2d_editor_plugin.cpp #: editor/plugins/particles_editor_plugin.cpp -msgid "Particles" -msgstr "" - -#: editor/plugins/particles_2d_editor_plugin.cpp -msgid "Generated Point Count:" -msgstr "" - -#: editor/plugins/particles_2d_editor_plugin.cpp -#: editor/plugins/particles_editor_plugin.cpp msgid "Generation Time (sec):" msgstr "" -#: editor/plugins/particles_2d_editor_plugin.cpp -msgid "Emission Mask" -msgstr "" - -#: editor/plugins/particles_2d_editor_plugin.cpp -msgid "Capture from Pixel" -msgstr "" - -#: editor/plugins/particles_2d_editor_plugin.cpp -msgid "Emission Colors" -msgstr "" - #: editor/plugins/particles_editor_plugin.cpp msgid "Faces contain no area!" msgstr "" @@ -5585,7 +5631,7 @@ msgid "Save Theme As..." msgstr "" #: editor/plugins/script_editor_plugin.cpp -msgid " Class Reference" +msgid "%s Class Reference" msgstr "" #: editor/plugins/script_editor_plugin.cpp @@ -6403,6 +6449,22 @@ msgid "Nameless gizmo" msgstr "" #: editor/plugins/sprite_editor_plugin.cpp +msgid "Create Mesh2D" +msgstr "" + +#: editor/plugins/sprite_editor_plugin.cpp +msgid "Create Polygon2D" +msgstr "" + +#: editor/plugins/sprite_editor_plugin.cpp +msgid "Create CollisionPolygon2D" +msgstr "" + +#: editor/plugins/sprite_editor_plugin.cpp +msgid "Create LightOccluder2D" +msgstr "" + +#: editor/plugins/sprite_editor_plugin.cpp msgid "Sprite is empty!" msgstr "" @@ -6415,15 +6477,35 @@ msgid "Invalid geometry, can't replace by mesh." msgstr "" #: editor/plugins/sprite_editor_plugin.cpp +msgid "Invalid geometry, can't create polygon." +msgstr "" + +#: editor/plugins/sprite_editor_plugin.cpp +msgid "Invalid geometry, can't create collision polygon." +msgstr "" + +#: editor/plugins/sprite_editor_plugin.cpp +msgid "Invalid geometry, can't create light occluder." +msgstr "" + +#: editor/plugins/sprite_editor_plugin.cpp msgid "Sprite" msgstr "" #: editor/plugins/sprite_editor_plugin.cpp -msgid "Convert to 2D Mesh" +msgid "Convert to Mesh2D" +msgstr "" + +#: editor/plugins/sprite_editor_plugin.cpp +msgid "Convert to Polygon2D" +msgstr "" + +#: editor/plugins/sprite_editor_plugin.cpp +msgid "Create CollisionPolygon2D Sibling" msgstr "" #: editor/plugins/sprite_editor_plugin.cpp -msgid "Create 2D Mesh" +msgid "Create LightOccluder2D Sibling" msgstr "" #: editor/plugins/sprite_editor_plugin.cpp @@ -6994,6 +7076,10 @@ msgid "Duplicate Nodes" msgstr "" #: editor/plugins/visual_shader_editor_plugin.cpp +msgid "Delete Nodes" +msgstr "" + +#: editor/plugins/visual_shader_editor_plugin.cpp msgid "Visual Shader Input Type Changed" msgstr "" @@ -8143,10 +8229,6 @@ msgid "Open documentation" msgstr "" #: editor/scene_tree_dock.cpp -msgid "Delete Node(s)" -msgstr "" - -#: editor/scene_tree_dock.cpp msgid "Add Child Node" msgstr "" diff --git a/editor/translations/hu.po b/editor/translations/hu.po index 016e540184..2f1aa1b660 100644 --- a/editor/translations/hu.po +++ b/editor/translations/hu.po @@ -446,14 +446,22 @@ msgstr "" #: editor/animation_track_editor.cpp #, fuzzy -msgid "Snap (s): " -msgstr "Lépés (mp):" +msgid "Snap:" +msgstr "Illesztés" #: editor/animation_track_editor.cpp #, fuzzy msgid "Animation step value." msgstr "Az animációs fa érvényes." +#: editor/animation_track_editor.cpp +msgid "Seconds" +msgstr "" + +#: editor/animation_track_editor.cpp +msgid "FPS" +msgstr "" + #: editor/animation_track_editor.cpp editor/editor_properties.cpp #: editor/plugins/polygon_2d_editor_plugin.cpp #: editor/plugins/script_text_editor.cpp @@ -3935,6 +3943,11 @@ msgid "Delete Node" msgstr "Node létrehozás" #: editor/plugins/animation_blend_tree_editor_plugin.cpp +#: editor/scene_tree_dock.cpp +msgid "Delete Node(s)" +msgstr "" + +#: editor/plugins/animation_blend_tree_editor_plugin.cpp #, fuzzy msgid "Toggle Filter On/Off" msgstr "Zavarmentes mód váltása." @@ -4940,9 +4953,34 @@ msgid "Layout" msgstr "Elrendezés" #: editor/plugins/canvas_item_editor_plugin.cpp +msgid "Translation mask for inserting keys." +msgstr "" + +#: editor/plugins/canvas_item_editor_plugin.cpp +msgid "Rotation mask for inserting keys." +msgstr "" + +#: editor/plugins/canvas_item_editor_plugin.cpp +msgid "Scale mask for inserting keys." +msgstr "" + +#: editor/plugins/canvas_item_editor_plugin.cpp #, fuzzy -msgid "Insert keys." -msgstr "Kulcsok Beszúrása" +msgid "Insert keys (based on mask)." +msgstr "Kulcs Beszúrása (Meglévő Nyomvonalakra)" + +#: editor/plugins/canvas_item_editor_plugin.cpp +msgid "" +"Auto insert keys when objects are translated, rotated on scaled (based on " +"mask).\n" +"Keys are only added to existing tracks, no new tracks will be created.\n" +"Keys must be inserted manually for the first time." +msgstr "" + +#: editor/plugins/canvas_item_editor_plugin.cpp +#, fuzzy +msgid "Auto Insert Key" +msgstr "Animáció kulcs beillesztés" #: editor/plugins/canvas_item_editor_plugin.cpp msgid "Insert Key (Existing Tracks)" @@ -5015,6 +5053,52 @@ msgstr "Sokszög Szerkesztése (Pont Eltávolítása)" msgid "Set Handle" msgstr "Fogantyú Beállítása" +#: editor/plugins/cpu_particles_2d_editor_plugin.cpp +#: editor/plugins/particles_2d_editor_plugin.cpp +msgid "Error loading image:" +msgstr "Hiba a kép betöltésekor:" + +#: editor/plugins/cpu_particles_2d_editor_plugin.cpp +#: editor/plugins/particles_2d_editor_plugin.cpp +msgid "No pixels with transparency > 128 in image..." +msgstr "Nem létezik egyetlen pixel sem >128-as átlátszósággal a képben..." + +#: editor/plugins/cpu_particles_2d_editor_plugin.cpp +#: editor/plugins/particles_2d_editor_plugin.cpp +msgid "Load Emission Mask" +msgstr "Kibocsátási Maszk Betöltése" + +#: editor/plugins/cpu_particles_2d_editor_plugin.cpp +#: editor/plugins/particles_2d_editor_plugin.cpp +msgid "Clear Emission Mask" +msgstr "Kibocsátási Maszk Törlése" + +#: editor/plugins/cpu_particles_2d_editor_plugin.cpp +#: editor/plugins/particles_2d_editor_plugin.cpp +#: editor/plugins/particles_editor_plugin.cpp +msgid "Particles" +msgstr "Részecskék" + +#: editor/plugins/cpu_particles_2d_editor_plugin.cpp +#: editor/plugins/particles_2d_editor_plugin.cpp +msgid "Generated Point Count:" +msgstr "Generált Pontok Száma:" + +#: editor/plugins/cpu_particles_2d_editor_plugin.cpp +#: editor/plugins/particles_2d_editor_plugin.cpp +msgid "Emission Mask" +msgstr "Kibocsátási Maszk" + +#: editor/plugins/cpu_particles_2d_editor_plugin.cpp +#: editor/plugins/particles_2d_editor_plugin.cpp +msgid "Capture from Pixel" +msgstr "Kinyerés Pixelből" + +#: editor/plugins/cpu_particles_2d_editor_plugin.cpp +#: editor/plugins/particles_2d_editor_plugin.cpp +msgid "Emission Colors" +msgstr "Kibocsátási Színek" + #: editor/plugins/cpu_particles_editor_plugin.cpp #, fuzzy msgid "CPUParticles" @@ -5369,22 +5453,6 @@ msgid "Can only set point into a ParticlesMaterial process material" msgstr "Csak egy ParticlesMaterial feldolgozó anyagba állíthat pontot" #: editor/plugins/particles_2d_editor_plugin.cpp -msgid "Error loading image:" -msgstr "Hiba a kép betöltésekor:" - -#: editor/plugins/particles_2d_editor_plugin.cpp -msgid "No pixels with transparency > 128 in image..." -msgstr "Nem létezik egyetlen pixel sem >128-as átlátszósággal a képben..." - -#: editor/plugins/particles_2d_editor_plugin.cpp -msgid "Load Emission Mask" -msgstr "Kibocsátási Maszk Betöltése" - -#: editor/plugins/particles_2d_editor_plugin.cpp -msgid "Clear Emission Mask" -msgstr "Kibocsátási Maszk Törlése" - -#: editor/plugins/particles_2d_editor_plugin.cpp #: editor/plugins/particles_editor_plugin.cpp #, fuzzy msgid "Convert to CPUParticles" @@ -5392,30 +5460,9 @@ msgstr "Konvertálás Nagybetűsre" #: editor/plugins/particles_2d_editor_plugin.cpp #: editor/plugins/particles_editor_plugin.cpp -msgid "Particles" -msgstr "Részecskék" - -#: editor/plugins/particles_2d_editor_plugin.cpp -msgid "Generated Point Count:" -msgstr "Generált Pontok Száma:" - -#: editor/plugins/particles_2d_editor_plugin.cpp -#: editor/plugins/particles_editor_plugin.cpp msgid "Generation Time (sec):" msgstr "Generálási Idő (mp):" -#: editor/plugins/particles_2d_editor_plugin.cpp -msgid "Emission Mask" -msgstr "Kibocsátási Maszk" - -#: editor/plugins/particles_2d_editor_plugin.cpp -msgid "Capture from Pixel" -msgstr "Kinyerés Pixelből" - -#: editor/plugins/particles_2d_editor_plugin.cpp -msgid "Emission Colors" -msgstr "Kibocsátási Színek" - #: editor/plugins/particles_editor_plugin.cpp msgid "Faces contain no area!" msgstr "Az oldalak nem tartalmaznak területet!" @@ -5953,7 +6000,8 @@ msgid "Save Theme As..." msgstr "Téma Mentése Másként..." #: editor/plugins/script_editor_plugin.cpp -msgid " Class Reference" +#, fuzzy +msgid "%s Class Reference" msgstr " Osztály Referencia" #: editor/plugins/script_editor_plugin.cpp @@ -6796,6 +6844,26 @@ msgstr "" #: editor/plugins/sprite_editor_plugin.cpp #, fuzzy +msgid "Create Mesh2D" +msgstr "Körvonalháló Készítése" + +#: editor/plugins/sprite_editor_plugin.cpp +#, fuzzy +msgid "Create Polygon2D" +msgstr "Sokszög Létrehozása" + +#: editor/plugins/sprite_editor_plugin.cpp +#, fuzzy +msgid "Create CollisionPolygon2D" +msgstr "Navigációs Sokszög Létrehozása" + +#: editor/plugins/sprite_editor_plugin.cpp +#, fuzzy +msgid "Create LightOccluder2D" +msgstr "Árnyékoló Sokszög Létrehozása" + +#: editor/plugins/sprite_editor_plugin.cpp +#, fuzzy msgid "Sprite is empty!" msgstr "A háló üres!" @@ -6808,18 +6876,40 @@ msgid "Invalid geometry, can't replace by mesh." msgstr "" #: editor/plugins/sprite_editor_plugin.cpp +msgid "Invalid geometry, can't create polygon." +msgstr "" + +#: editor/plugins/sprite_editor_plugin.cpp +msgid "Invalid geometry, can't create collision polygon." +msgstr "" + +#: editor/plugins/sprite_editor_plugin.cpp +msgid "Invalid geometry, can't create light occluder." +msgstr "" + +#: editor/plugins/sprite_editor_plugin.cpp msgid "Sprite" msgstr "" #: editor/plugins/sprite_editor_plugin.cpp #, fuzzy -msgid "Convert to 2D Mesh" +msgid "Convert to Mesh2D" msgstr "Konvertálás Nagybetűsre" #: editor/plugins/sprite_editor_plugin.cpp #, fuzzy -msgid "Create 2D Mesh" -msgstr "Körvonalháló Készítése" +msgid "Convert to Polygon2D" +msgstr "Sokszög Mozgatása" + +#: editor/plugins/sprite_editor_plugin.cpp +#, fuzzy +msgid "Create CollisionPolygon2D Sibling" +msgstr "Navigációs Sokszög Létrehozása" + +#: editor/plugins/sprite_editor_plugin.cpp +#, fuzzy +msgid "Create LightOccluder2D Sibling" +msgstr "Árnyékoló Sokszög Létrehozása" #: editor/plugins/sprite_editor_plugin.cpp msgid "Simplification: " @@ -7433,6 +7523,11 @@ msgid "Duplicate Nodes" msgstr "Animáció kulcsok megkettőzése" #: editor/plugins/visual_shader_editor_plugin.cpp +#, fuzzy +msgid "Delete Nodes" +msgstr "Node létrehozás" + +#: editor/plugins/visual_shader_editor_plugin.cpp msgid "Visual Shader Input Type Changed" msgstr "" @@ -8612,10 +8707,6 @@ msgid "Open documentation" msgstr "Godot online dokumentáció megnyitása" #: editor/scene_tree_dock.cpp -msgid "Delete Node(s)" -msgstr "" - -#: editor/scene_tree_dock.cpp msgid "Add Child Node" msgstr "" @@ -10385,6 +10476,14 @@ msgstr "" msgid "Varyings can only be assigned in vertex function." msgstr "" +#, fuzzy +#~ msgid "Snap (s): " +#~ msgstr "Lépés (mp):" + +#, fuzzy +#~ msgid "Insert keys." +#~ msgstr "Kulcsok Beszúrása" + #~ msgid "Instance the selected scene(s) as child of the selected node." #~ msgstr "" #~ "Kiválasztott Scene(k) példányosítása a kiválasztott Node gyermekeként." diff --git a/editor/translations/id.po b/editor/translations/id.po index a277a3b3e2..876990c0c1 100644 --- a/editor/translations/id.po +++ b/editor/translations/id.po @@ -430,13 +430,22 @@ msgid "Group tracks by node or display them as plain list." msgstr "Susun Track-track dengan node atau tampilkan sebagai daftar biasa." #: editor/animation_track_editor.cpp -msgid "Snap (s): " +#, fuzzy +msgid "Snap:" msgstr "Snap (d): " #: editor/animation_track_editor.cpp msgid "Animation step value." msgstr "Nilai Langkah Animasi." +#: editor/animation_track_editor.cpp +msgid "Seconds" +msgstr "" + +#: editor/animation_track_editor.cpp +msgid "FPS" +msgstr "" + #: editor/animation_track_editor.cpp editor/editor_properties.cpp #: editor/plugins/polygon_2d_editor_plugin.cpp #: editor/plugins/script_text_editor.cpp @@ -3901,6 +3910,11 @@ msgid "Delete Node" msgstr "Metode Publik:" #: editor/plugins/animation_blend_tree_editor_plugin.cpp +#: editor/scene_tree_dock.cpp +msgid "Delete Node(s)" +msgstr "" + +#: editor/plugins/animation_blend_tree_editor_plugin.cpp #, fuzzy msgid "Toggle Filter On/Off" msgstr "Alihkan track ini ke nyala/mati." @@ -4926,8 +4940,33 @@ msgid "Layout" msgstr "Simpan Penampilan" #: editor/plugins/canvas_item_editor_plugin.cpp +msgid "Translation mask for inserting keys." +msgstr "" + +#: editor/plugins/canvas_item_editor_plugin.cpp +msgid "Rotation mask for inserting keys." +msgstr "" + +#: editor/plugins/canvas_item_editor_plugin.cpp +msgid "Scale mask for inserting keys." +msgstr "" + +#: editor/plugins/canvas_item_editor_plugin.cpp +#, fuzzy +msgid "Insert keys (based on mask)." +msgstr "Sisipkan Key Anim" + +#: editor/plugins/canvas_item_editor_plugin.cpp +msgid "" +"Auto insert keys when objects are translated, rotated on scaled (based on " +"mask).\n" +"Keys are only added to existing tracks, no new tracks will be created.\n" +"Keys must be inserted manually for the first time." +msgstr "" + +#: editor/plugins/canvas_item_editor_plugin.cpp #, fuzzy -msgid "Insert keys." +msgid "Auto Insert Key" msgstr "Sisipkan Key Anim" #: editor/plugins/canvas_item_editor_plugin.cpp @@ -5001,6 +5040,52 @@ msgstr "Sunting Bidang (Hapus Titik)" msgid "Set Handle" msgstr "" +#: editor/plugins/cpu_particles_2d_editor_plugin.cpp +#: editor/plugins/particles_2d_editor_plugin.cpp +msgid "Error loading image:" +msgstr "Galat saat memuat gambar:" + +#: editor/plugins/cpu_particles_2d_editor_plugin.cpp +#: editor/plugins/particles_2d_editor_plugin.cpp +msgid "No pixels with transparency > 128 in image..." +msgstr "" + +#: editor/plugins/cpu_particles_2d_editor_plugin.cpp +#: editor/plugins/particles_2d_editor_plugin.cpp +msgid "Load Emission Mask" +msgstr "" + +#: editor/plugins/cpu_particles_2d_editor_plugin.cpp +#: editor/plugins/particles_2d_editor_plugin.cpp +msgid "Clear Emission Mask" +msgstr "" + +#: editor/plugins/cpu_particles_2d_editor_plugin.cpp +#: editor/plugins/particles_2d_editor_plugin.cpp +#: editor/plugins/particles_editor_plugin.cpp +msgid "Particles" +msgstr "Partikel" + +#: editor/plugins/cpu_particles_2d_editor_plugin.cpp +#: editor/plugins/particles_2d_editor_plugin.cpp +msgid "Generated Point Count:" +msgstr "" + +#: editor/plugins/cpu_particles_2d_editor_plugin.cpp +#: editor/plugins/particles_2d_editor_plugin.cpp +msgid "Emission Mask" +msgstr "" + +#: editor/plugins/cpu_particles_2d_editor_plugin.cpp +#: editor/plugins/particles_2d_editor_plugin.cpp +msgid "Capture from Pixel" +msgstr "" + +#: editor/plugins/cpu_particles_2d_editor_plugin.cpp +#: editor/plugins/particles_2d_editor_plugin.cpp +msgid "Emission Colors" +msgstr "" + #: editor/plugins/cpu_particles_editor_plugin.cpp #, fuzzy msgid "CPUParticles" @@ -5361,22 +5446,6 @@ msgid "Can only set point into a ParticlesMaterial process material" msgstr "" #: editor/plugins/particles_2d_editor_plugin.cpp -msgid "Error loading image:" -msgstr "Galat saat memuat gambar:" - -#: editor/plugins/particles_2d_editor_plugin.cpp -msgid "No pixels with transparency > 128 in image..." -msgstr "" - -#: editor/plugins/particles_2d_editor_plugin.cpp -msgid "Load Emission Mask" -msgstr "" - -#: editor/plugins/particles_2d_editor_plugin.cpp -msgid "Clear Emission Mask" -msgstr "" - -#: editor/plugins/particles_2d_editor_plugin.cpp #: editor/plugins/particles_editor_plugin.cpp #, fuzzy msgid "Convert to CPUParticles" @@ -5384,30 +5453,9 @@ msgstr "Sambungkan Ke Node:" #: editor/plugins/particles_2d_editor_plugin.cpp #: editor/plugins/particles_editor_plugin.cpp -msgid "Particles" -msgstr "Partikel" - -#: editor/plugins/particles_2d_editor_plugin.cpp -msgid "Generated Point Count:" -msgstr "" - -#: editor/plugins/particles_2d_editor_plugin.cpp -#: editor/plugins/particles_editor_plugin.cpp msgid "Generation Time (sec):" msgstr "" -#: editor/plugins/particles_2d_editor_plugin.cpp -msgid "Emission Mask" -msgstr "" - -#: editor/plugins/particles_2d_editor_plugin.cpp -msgid "Capture from Pixel" -msgstr "" - -#: editor/plugins/particles_2d_editor_plugin.cpp -msgid "Emission Colors" -msgstr "" - #: editor/plugins/particles_editor_plugin.cpp msgid "Faces contain no area!" msgstr "" @@ -5944,7 +5992,7 @@ msgid "Save Theme As..." msgstr "" #: editor/plugins/script_editor_plugin.cpp -msgid " Class Reference" +msgid "%s Class Reference" msgstr "" #: editor/plugins/script_editor_plugin.cpp @@ -6804,6 +6852,26 @@ msgid "Nameless gizmo" msgstr "" #: editor/plugins/sprite_editor_plugin.cpp +#, fuzzy +msgid "Create Mesh2D" +msgstr "Buat Baru %s" + +#: editor/plugins/sprite_editor_plugin.cpp +#, fuzzy +msgid "Create Polygon2D" +msgstr "Buat Bidang" + +#: editor/plugins/sprite_editor_plugin.cpp +#, fuzzy +msgid "Create CollisionPolygon2D" +msgstr "Buat Bidang" + +#: editor/plugins/sprite_editor_plugin.cpp +#, fuzzy +msgid "Create LightOccluder2D" +msgstr "Buat Folder" + +#: editor/plugins/sprite_editor_plugin.cpp msgid "Sprite is empty!" msgstr "" @@ -6816,18 +6884,39 @@ msgid "Invalid geometry, can't replace by mesh." msgstr "" #: editor/plugins/sprite_editor_plugin.cpp +msgid "Invalid geometry, can't create polygon." +msgstr "" + +#: editor/plugins/sprite_editor_plugin.cpp +msgid "Invalid geometry, can't create collision polygon." +msgstr "" + +#: editor/plugins/sprite_editor_plugin.cpp +msgid "Invalid geometry, can't create light occluder." +msgstr "" + +#: editor/plugins/sprite_editor_plugin.cpp msgid "Sprite" msgstr "" #: editor/plugins/sprite_editor_plugin.cpp #, fuzzy -msgid "Convert to 2D Mesh" +msgid "Convert to Mesh2D" msgstr "Sambungkan Ke Node:" #: editor/plugins/sprite_editor_plugin.cpp #, fuzzy -msgid "Create 2D Mesh" -msgstr "Buat Baru %s" +msgid "Convert to Polygon2D" +msgstr "Sambungkan Ke Node:" + +#: editor/plugins/sprite_editor_plugin.cpp +#, fuzzy +msgid "Create CollisionPolygon2D Sibling" +msgstr "Buat Bidang" + +#: editor/plugins/sprite_editor_plugin.cpp +msgid "Create LightOccluder2D Sibling" +msgstr "" #: editor/plugins/sprite_editor_plugin.cpp msgid "Simplification: " @@ -7448,6 +7537,11 @@ msgid "Duplicate Nodes" msgstr "Duplikat Key" #: editor/plugins/visual_shader_editor_plugin.cpp +#, fuzzy +msgid "Delete Nodes" +msgstr "Metode Publik:" + +#: editor/plugins/visual_shader_editor_plugin.cpp msgid "Visual Shader Input Type Changed" msgstr "" @@ -8669,10 +8763,6 @@ msgid "Open documentation" msgstr "Buka baru-baru ini" #: editor/scene_tree_dock.cpp -msgid "Delete Node(s)" -msgstr "" - -#: editor/scene_tree_dock.cpp msgid "Add Child Node" msgstr "" diff --git a/editor/translations/is.po b/editor/translations/is.po index 644f19939b..cc911642be 100644 --- a/editor/translations/is.po +++ b/editor/translations/is.po @@ -426,13 +426,21 @@ msgid "Group tracks by node or display them as plain list." msgstr "" #: editor/animation_track_editor.cpp -msgid "Snap (s): " +msgid "Snap:" msgstr "" #: editor/animation_track_editor.cpp msgid "Animation step value." msgstr "" +#: editor/animation_track_editor.cpp +msgid "Seconds" +msgstr "" + +#: editor/animation_track_editor.cpp +msgid "FPS" +msgstr "" + #: editor/animation_track_editor.cpp editor/editor_properties.cpp #: editor/plugins/polygon_2d_editor_plugin.cpp #: editor/plugins/script_text_editor.cpp @@ -3699,6 +3707,11 @@ msgid "Delete Node" msgstr "Anim DELETE-lyklar" #: editor/plugins/animation_blend_tree_editor_plugin.cpp +#: editor/scene_tree_dock.cpp +msgid "Delete Node(s)" +msgstr "" + +#: editor/plugins/animation_blend_tree_editor_plugin.cpp msgid "Toggle Filter On/Off" msgstr "" @@ -4656,7 +4669,31 @@ msgid "Layout" msgstr "" #: editor/plugins/canvas_item_editor_plugin.cpp -msgid "Insert keys." +msgid "Translation mask for inserting keys." +msgstr "" + +#: editor/plugins/canvas_item_editor_plugin.cpp +msgid "Rotation mask for inserting keys." +msgstr "" + +#: editor/plugins/canvas_item_editor_plugin.cpp +msgid "Scale mask for inserting keys." +msgstr "" + +#: editor/plugins/canvas_item_editor_plugin.cpp +msgid "Insert keys (based on mask)." +msgstr "" + +#: editor/plugins/canvas_item_editor_plugin.cpp +msgid "" +"Auto insert keys when objects are translated, rotated on scaled (based on " +"mask).\n" +"Keys are only added to existing tracks, no new tracks will be created.\n" +"Keys must be inserted manually for the first time." +msgstr "" + +#: editor/plugins/canvas_item_editor_plugin.cpp +msgid "Auto Insert Key" msgstr "" #: editor/plugins/canvas_item_editor_plugin.cpp @@ -4727,6 +4764,52 @@ msgstr "" msgid "Set Handle" msgstr "" +#: editor/plugins/cpu_particles_2d_editor_plugin.cpp +#: editor/plugins/particles_2d_editor_plugin.cpp +msgid "Error loading image:" +msgstr "" + +#: editor/plugins/cpu_particles_2d_editor_plugin.cpp +#: editor/plugins/particles_2d_editor_plugin.cpp +msgid "No pixels with transparency > 128 in image..." +msgstr "" + +#: editor/plugins/cpu_particles_2d_editor_plugin.cpp +#: editor/plugins/particles_2d_editor_plugin.cpp +msgid "Load Emission Mask" +msgstr "" + +#: editor/plugins/cpu_particles_2d_editor_plugin.cpp +#: editor/plugins/particles_2d_editor_plugin.cpp +msgid "Clear Emission Mask" +msgstr "" + +#: editor/plugins/cpu_particles_2d_editor_plugin.cpp +#: editor/plugins/particles_2d_editor_plugin.cpp +#: editor/plugins/particles_editor_plugin.cpp +msgid "Particles" +msgstr "" + +#: editor/plugins/cpu_particles_2d_editor_plugin.cpp +#: editor/plugins/particles_2d_editor_plugin.cpp +msgid "Generated Point Count:" +msgstr "" + +#: editor/plugins/cpu_particles_2d_editor_plugin.cpp +#: editor/plugins/particles_2d_editor_plugin.cpp +msgid "Emission Mask" +msgstr "" + +#: editor/plugins/cpu_particles_2d_editor_plugin.cpp +#: editor/plugins/particles_2d_editor_plugin.cpp +msgid "Capture from Pixel" +msgstr "" + +#: editor/plugins/cpu_particles_2d_editor_plugin.cpp +#: editor/plugins/particles_2d_editor_plugin.cpp +msgid "Emission Colors" +msgstr "" + #: editor/plugins/cpu_particles_editor_plugin.cpp msgid "CPUParticles" msgstr "" @@ -5077,52 +5160,15 @@ msgid "Can only set point into a ParticlesMaterial process material" msgstr "" #: editor/plugins/particles_2d_editor_plugin.cpp -msgid "Error loading image:" -msgstr "" - -#: editor/plugins/particles_2d_editor_plugin.cpp -msgid "No pixels with transparency > 128 in image..." -msgstr "" - -#: editor/plugins/particles_2d_editor_plugin.cpp -msgid "Load Emission Mask" -msgstr "" - -#: editor/plugins/particles_2d_editor_plugin.cpp -msgid "Clear Emission Mask" -msgstr "" - -#: editor/plugins/particles_2d_editor_plugin.cpp #: editor/plugins/particles_editor_plugin.cpp msgid "Convert to CPUParticles" msgstr "" #: editor/plugins/particles_2d_editor_plugin.cpp #: editor/plugins/particles_editor_plugin.cpp -msgid "Particles" -msgstr "" - -#: editor/plugins/particles_2d_editor_plugin.cpp -msgid "Generated Point Count:" -msgstr "" - -#: editor/plugins/particles_2d_editor_plugin.cpp -#: editor/plugins/particles_editor_plugin.cpp msgid "Generation Time (sec):" msgstr "" -#: editor/plugins/particles_2d_editor_plugin.cpp -msgid "Emission Mask" -msgstr "" - -#: editor/plugins/particles_2d_editor_plugin.cpp -msgid "Capture from Pixel" -msgstr "" - -#: editor/plugins/particles_2d_editor_plugin.cpp -msgid "Emission Colors" -msgstr "" - #: editor/plugins/particles_editor_plugin.cpp msgid "Faces contain no area!" msgstr "" @@ -5629,7 +5675,7 @@ msgid "Save Theme As..." msgstr "" #: editor/plugins/script_editor_plugin.cpp -msgid " Class Reference" +msgid "%s Class Reference" msgstr "" #: editor/plugins/script_editor_plugin.cpp @@ -6447,6 +6493,24 @@ msgid "Nameless gizmo" msgstr "" #: editor/plugins/sprite_editor_plugin.cpp +msgid "Create Mesh2D" +msgstr "" + +#: editor/plugins/sprite_editor_plugin.cpp +#, fuzzy +msgid "Create Polygon2D" +msgstr "Afrita val" + +#: editor/plugins/sprite_editor_plugin.cpp +#, fuzzy +msgid "Create CollisionPolygon2D" +msgstr "Breyta Viðbót" + +#: editor/plugins/sprite_editor_plugin.cpp +msgid "Create LightOccluder2D" +msgstr "" + +#: editor/plugins/sprite_editor_plugin.cpp msgid "Sprite is empty!" msgstr "" @@ -6459,15 +6523,36 @@ msgid "Invalid geometry, can't replace by mesh." msgstr "" #: editor/plugins/sprite_editor_plugin.cpp +msgid "Invalid geometry, can't create polygon." +msgstr "" + +#: editor/plugins/sprite_editor_plugin.cpp +msgid "Invalid geometry, can't create collision polygon." +msgstr "" + +#: editor/plugins/sprite_editor_plugin.cpp +msgid "Invalid geometry, can't create light occluder." +msgstr "" + +#: editor/plugins/sprite_editor_plugin.cpp msgid "Sprite" msgstr "" #: editor/plugins/sprite_editor_plugin.cpp -msgid "Convert to 2D Mesh" +msgid "Convert to Mesh2D" +msgstr "" + +#: editor/plugins/sprite_editor_plugin.cpp +msgid "Convert to Polygon2D" msgstr "" #: editor/plugins/sprite_editor_plugin.cpp -msgid "Create 2D Mesh" +#, fuzzy +msgid "Create CollisionPolygon2D Sibling" +msgstr "Breyta Viðbót" + +#: editor/plugins/sprite_editor_plugin.cpp +msgid "Create LightOccluder2D Sibling" msgstr "" #: editor/plugins/sprite_editor_plugin.cpp @@ -7052,6 +7137,11 @@ msgid "Duplicate Nodes" msgstr "Tvíteknir lyklar" #: editor/plugins/visual_shader_editor_plugin.cpp +#, fuzzy +msgid "Delete Nodes" +msgstr "Anim DELETE-lyklar" + +#: editor/plugins/visual_shader_editor_plugin.cpp msgid "Visual Shader Input Type Changed" msgstr "" @@ -8205,10 +8295,6 @@ msgid "Open documentation" msgstr "" #: editor/scene_tree_dock.cpp -msgid "Delete Node(s)" -msgstr "" - -#: editor/scene_tree_dock.cpp msgid "Add Child Node" msgstr "" diff --git a/editor/translations/it.po b/editor/translations/it.po index 30c4d6a3b9..3dbfa81714 100644 --- a/editor/translations/it.po +++ b/editor/translations/it.po @@ -37,8 +37,8 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine editor\n" "POT-Creation-Date: \n" -"PO-Revision-Date: 2019-03-30 20:04+0000\n" -"Last-Translator: Marco Melorio <m.melorio@icloud.com>\n" +"PO-Revision-Date: 2019-04-14 13:04+0000\n" +"Last-Translator: Marco Galli <mrcgll98@gmail.com>\n" "Language-Team: Italian <https://hosted.weblate.org/projects/godot-engine/" "godot/it/>\n" "Language: it\n" @@ -446,13 +446,22 @@ msgid "Group tracks by node or display them as plain list." msgstr "Raggruppa le tracce per nodo o mostra una lista semplice." #: editor/animation_track_editor.cpp -msgid "Snap (s): " -msgstr "Snap (s): " +#, fuzzy +msgid "Snap:" +msgstr "Snap" #: editor/animation_track_editor.cpp msgid "Animation step value." msgstr "Valore del passo dell'animazione." +#: editor/animation_track_editor.cpp +msgid "Seconds" +msgstr "" + +#: editor/animation_track_editor.cpp +msgid "FPS" +msgstr "FPS" + #: editor/animation_track_editor.cpp editor/editor_properties.cpp #: editor/plugins/polygon_2d_editor_plugin.cpp #: editor/plugins/script_text_editor.cpp @@ -3851,6 +3860,11 @@ msgid "Delete Node" msgstr "Elimina Nodo" #: editor/plugins/animation_blend_tree_editor_plugin.cpp +#: editor/scene_tree_dock.cpp +msgid "Delete Node(s)" +msgstr "Elimina Nodo(i)" + +#: editor/plugins/animation_blend_tree_editor_plugin.cpp msgid "Toggle Filter On/Off" msgstr "Attiva/Disattiva il Filtro" @@ -4831,8 +4845,34 @@ msgid "Layout" msgstr "Layout" #: editor/plugins/canvas_item_editor_plugin.cpp -msgid "Insert keys." -msgstr "Inserisci chiavi." +msgid "Translation mask for inserting keys." +msgstr "" + +#: editor/plugins/canvas_item_editor_plugin.cpp +msgid "Rotation mask for inserting keys." +msgstr "" + +#: editor/plugins/canvas_item_editor_plugin.cpp +msgid "Scale mask for inserting keys." +msgstr "" + +#: editor/plugins/canvas_item_editor_plugin.cpp +#, fuzzy +msgid "Insert keys (based on mask)." +msgstr "Inserisci Keys (Ins)" + +#: editor/plugins/canvas_item_editor_plugin.cpp +msgid "" +"Auto insert keys when objects are translated, rotated on scaled (based on " +"mask).\n" +"Keys are only added to existing tracks, no new tracks will be created.\n" +"Keys must be inserted manually for the first time." +msgstr "" + +#: editor/plugins/canvas_item_editor_plugin.cpp +#, fuzzy +msgid "Auto Insert Key" +msgstr "Inserisci una chiave d'animazione" #: editor/plugins/canvas_item_editor_plugin.cpp msgid "Insert Key (Existing Tracks)" @@ -4904,6 +4944,52 @@ msgstr "Modifica Poly (Rimuovi Punto)" msgid "Set Handle" msgstr "Imposta Maniglia" +#: editor/plugins/cpu_particles_2d_editor_plugin.cpp +#: editor/plugins/particles_2d_editor_plugin.cpp +msgid "Error loading image:" +msgstr "Errore di caricamento immagine:" + +#: editor/plugins/cpu_particles_2d_editor_plugin.cpp +#: editor/plugins/particles_2d_editor_plugin.cpp +msgid "No pixels with transparency > 128 in image..." +msgstr "Nessun pixel con trasparenza >128 nell'immagine..." + +#: editor/plugins/cpu_particles_2d_editor_plugin.cpp +#: editor/plugins/particles_2d_editor_plugin.cpp +msgid "Load Emission Mask" +msgstr "Carica Maschera Emissione" + +#: editor/plugins/cpu_particles_2d_editor_plugin.cpp +#: editor/plugins/particles_2d_editor_plugin.cpp +msgid "Clear Emission Mask" +msgstr "Cancella Maschera Emissione" + +#: editor/plugins/cpu_particles_2d_editor_plugin.cpp +#: editor/plugins/particles_2d_editor_plugin.cpp +#: editor/plugins/particles_editor_plugin.cpp +msgid "Particles" +msgstr "Particelle" + +#: editor/plugins/cpu_particles_2d_editor_plugin.cpp +#: editor/plugins/particles_2d_editor_plugin.cpp +msgid "Generated Point Count:" +msgstr "Conteggio Punti Generati:" + +#: editor/plugins/cpu_particles_2d_editor_plugin.cpp +#: editor/plugins/particles_2d_editor_plugin.cpp +msgid "Emission Mask" +msgstr "Maschera Emissione" + +#: editor/plugins/cpu_particles_2d_editor_plugin.cpp +#: editor/plugins/particles_2d_editor_plugin.cpp +msgid "Capture from Pixel" +msgstr "Cattura da Pixel" + +#: editor/plugins/cpu_particles_2d_editor_plugin.cpp +#: editor/plugins/particles_2d_editor_plugin.cpp +msgid "Emission Colors" +msgstr "Colori Emissione" + #: editor/plugins/cpu_particles_editor_plugin.cpp msgid "CPUParticles" msgstr "CPUParticles" @@ -5259,52 +5345,15 @@ msgstr "" "ParticlesMaterial" #: editor/plugins/particles_2d_editor_plugin.cpp -msgid "Error loading image:" -msgstr "Errore di caricamento immagine:" - -#: editor/plugins/particles_2d_editor_plugin.cpp -msgid "No pixels with transparency > 128 in image..." -msgstr "Nessun pixel con trasparenza >128 nell'immagine..." - -#: editor/plugins/particles_2d_editor_plugin.cpp -msgid "Load Emission Mask" -msgstr "Carica Maschera Emissione" - -#: editor/plugins/particles_2d_editor_plugin.cpp -msgid "Clear Emission Mask" -msgstr "Cancella Maschera Emissione" - -#: editor/plugins/particles_2d_editor_plugin.cpp #: editor/plugins/particles_editor_plugin.cpp msgid "Convert to CPUParticles" msgstr "Converti in CPUParticles" #: editor/plugins/particles_2d_editor_plugin.cpp #: editor/plugins/particles_editor_plugin.cpp -msgid "Particles" -msgstr "Particelle" - -#: editor/plugins/particles_2d_editor_plugin.cpp -msgid "Generated Point Count:" -msgstr "Conteggio Punti Generati:" - -#: editor/plugins/particles_2d_editor_plugin.cpp -#: editor/plugins/particles_editor_plugin.cpp msgid "Generation Time (sec):" msgstr "Tempo di Generazione (sec):" -#: editor/plugins/particles_2d_editor_plugin.cpp -msgid "Emission Mask" -msgstr "Maschera Emissione" - -#: editor/plugins/particles_2d_editor_plugin.cpp -msgid "Capture from Pixel" -msgstr "Cattura da Pixel" - -#: editor/plugins/particles_2d_editor_plugin.cpp -msgid "Emission Colors" -msgstr "Colori Emissione" - #: editor/plugins/particles_editor_plugin.cpp msgid "Faces contain no area!" msgstr "Le facce non contengono area!" @@ -5818,7 +5867,8 @@ msgid "Save Theme As..." msgstr "Salva Tema Come..." #: editor/plugins/script_editor_plugin.cpp -msgid " Class Reference" +#, fuzzy +msgid "%s Class Reference" msgstr " Riferimento di Classe" #: editor/plugins/script_editor_plugin.cpp @@ -6645,6 +6695,26 @@ msgid "Nameless gizmo" msgstr "Gizmo senza nome" #: editor/plugins/sprite_editor_plugin.cpp +#, fuzzy +msgid "Create Mesh2D" +msgstr "Crea Mesh 2D" + +#: editor/plugins/sprite_editor_plugin.cpp +#, fuzzy +msgid "Create Polygon2D" +msgstr "Crea Polygon3D" + +#: editor/plugins/sprite_editor_plugin.cpp +#, fuzzy +msgid "Create CollisionPolygon2D" +msgstr "Crea Poligono di Collisione" + +#: editor/plugins/sprite_editor_plugin.cpp +#, fuzzy +msgid "Create LightOccluder2D" +msgstr "Crea Poligono di occlusione" + +#: editor/plugins/sprite_editor_plugin.cpp msgid "Sprite is empty!" msgstr "Lo sprite è vuoto!" @@ -6659,16 +6729,43 @@ msgid "Invalid geometry, can't replace by mesh." msgstr "Geometria non valida, impossibile sostituirla con una mesh." #: editor/plugins/sprite_editor_plugin.cpp +#, fuzzy +msgid "Invalid geometry, can't create polygon." +msgstr "Geometria non valida, impossibile sostituirla con una mesh." + +#: editor/plugins/sprite_editor_plugin.cpp +#, fuzzy +msgid "Invalid geometry, can't create collision polygon." +msgstr "Geometria non valida, impossibile sostituirla con una mesh." + +#: editor/plugins/sprite_editor_plugin.cpp +#, fuzzy +msgid "Invalid geometry, can't create light occluder." +msgstr "Geometria non valida, impossibile sostituirla con una mesh." + +#: editor/plugins/sprite_editor_plugin.cpp msgid "Sprite" msgstr "Sprite" #: editor/plugins/sprite_editor_plugin.cpp -msgid "Convert to 2D Mesh" +#, fuzzy +msgid "Convert to Mesh2D" msgstr "Converti in Mesh 2D" #: editor/plugins/sprite_editor_plugin.cpp -msgid "Create 2D Mesh" -msgstr "Crea Mesh 2D" +#, fuzzy +msgid "Convert to Polygon2D" +msgstr "Sposta Poligono" + +#: editor/plugins/sprite_editor_plugin.cpp +#, fuzzy +msgid "Create CollisionPolygon2D Sibling" +msgstr "Crea Poligono di Collisione" + +#: editor/plugins/sprite_editor_plugin.cpp +#, fuzzy +msgid "Create LightOccluder2D Sibling" +msgstr "Crea Poligono di occlusione" #: editor/plugins/sprite_editor_plugin.cpp msgid "Simplification: " @@ -7255,6 +7352,11 @@ msgid "Duplicate Nodes" msgstr "Duplica Nodi" #: editor/plugins/visual_shader_editor_plugin.cpp +#, fuzzy +msgid "Delete Nodes" +msgstr "Elimina Nodo" + +#: editor/plugins/visual_shader_editor_plugin.cpp msgid "Visual Shader Input Type Changed" msgstr "Tipo di Input Visual Shader Cambiato" @@ -8475,10 +8577,6 @@ msgid "Open documentation" msgstr "Apri la documentazione" #: editor/scene_tree_dock.cpp -msgid "Delete Node(s)" -msgstr "Elimina Nodo(i)" - -#: editor/scene_tree_dock.cpp msgid "Add Child Node" msgstr "Aggiungi Nodo Figlio" @@ -10376,12 +10474,15 @@ msgstr "Assegnazione all'uniforme." msgid "Varyings can only be assigned in vertex function." msgstr "Varyings può essere assegnato solo nella funzione del vertice." +#~ msgid "Snap (s): " +#~ msgstr "Snap (s): " + +#~ msgid "Insert keys." +#~ msgstr "Inserisci chiavi." + #~ msgid "Instance the selected scene(s) as child of the selected node." #~ msgstr "Istanzia le scene selezionate come figlie del nodo selezionato." -#~ msgid "FPS" -#~ msgstr "FPS" - #, fuzzy #~ msgid "Warnings:" #~ msgstr "Avvertimento" @@ -11928,9 +12029,6 @@ msgstr "Varyings può essere assegnato solo nella funzione del vertice." #~ msgid "Cannot go into subdir:" #~ msgstr "Impossibile accedere alla subdirectory:" -#~ msgid "Insert Keys (Ins)" -#~ msgstr "Inserisci Keys (Ins)" - #~ msgid "Top (Num7)" #~ msgstr "Alto (Num7)" diff --git a/editor/translations/ja.po b/editor/translations/ja.po index 6ab3436f15..67a472c64d 100644 --- a/editor/translations/ja.po +++ b/editor/translations/ja.po @@ -26,8 +26,8 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine editor\n" "POT-Creation-Date: \n" -"PO-Revision-Date: 2019-03-19 15:04+0000\n" -"Last-Translator: nitenook <admin@alterbaum.net>\n" +"PO-Revision-Date: 2019-04-19 16:33+0000\n" +"Last-Translator: Wataru Onuki <watonu@magadou.com>\n" "Language-Team: Japanese <https://hosted.weblate.org/projects/godot-engine/" "godot/ja/>\n" "Language: ja\n" @@ -445,13 +445,22 @@ msgstr "" "ノードごとにトラックをグループ化するか、プレーンなリストとして表示します。" #: editor/animation_track_editor.cpp -msgid "Snap (s): " -msgstr "スナップ (秒): " +#, fuzzy +msgid "Snap:" +msgstr "スナップ" #: editor/animation_track_editor.cpp msgid "Animation step value." msgstr "アニメーションステップの値。" +#: editor/animation_track_editor.cpp +msgid "Seconds" +msgstr "" + +#: editor/animation_track_editor.cpp +msgid "FPS" +msgstr "フレームレート" + #: editor/animation_track_editor.cpp editor/editor_properties.cpp #: editor/plugins/polygon_2d_editor_plugin.cpp #: editor/plugins/script_text_editor.cpp @@ -2329,7 +2338,7 @@ msgstr "プロジェクト" #: editor/editor_node.cpp msgid "Project Settings" -msgstr "プロジェクトの設定" +msgstr "プロジェクト設定" #: editor/editor_node.cpp editor/project_export.cpp msgid "Export" @@ -3843,6 +3852,11 @@ msgid "Delete Node" msgstr "ノードを削除" #: editor/plugins/animation_blend_tree_editor_plugin.cpp +#: editor/scene_tree_dock.cpp +msgid "Delete Node(s)" +msgstr "ノードを削除" + +#: editor/plugins/animation_blend_tree_editor_plugin.cpp #, fuzzy msgid "Toggle Filter On/Off" msgstr "このトラックの オン/オフ を切り替え。" @@ -4827,8 +4841,34 @@ msgid "Layout" msgstr "レイアウト" #: editor/plugins/canvas_item_editor_plugin.cpp -msgid "Insert keys." -msgstr "キーを挿入する。" +msgid "Translation mask for inserting keys." +msgstr "" + +#: editor/plugins/canvas_item_editor_plugin.cpp +msgid "Rotation mask for inserting keys." +msgstr "" + +#: editor/plugins/canvas_item_editor_plugin.cpp +msgid "Scale mask for inserting keys." +msgstr "" + +#: editor/plugins/canvas_item_editor_plugin.cpp +#, fuzzy +msgid "Insert keys (based on mask)." +msgstr "キーを (既存のトラックに) 挿入" + +#: editor/plugins/canvas_item_editor_plugin.cpp +msgid "" +"Auto insert keys when objects are translated, rotated on scaled (based on " +"mask).\n" +"Keys are only added to existing tracks, no new tracks will be created.\n" +"Keys must be inserted manually for the first time." +msgstr "" + +#: editor/plugins/canvas_item_editor_plugin.cpp +#, fuzzy +msgid "Auto Insert Key" +msgstr "アニメーションキーを挿入" #: editor/plugins/canvas_item_editor_plugin.cpp #, fuzzy @@ -4904,6 +4944,55 @@ msgstr "ポリゴンを編集(点を除去)" msgid "Set Handle" msgstr "ハンドルを設定する" +#: editor/plugins/cpu_particles_2d_editor_plugin.cpp +#: editor/plugins/particles_2d_editor_plugin.cpp +msgid "Error loading image:" +msgstr "画像読み込みエラー:" + +#: editor/plugins/cpu_particles_2d_editor_plugin.cpp +#: editor/plugins/particles_2d_editor_plugin.cpp +msgid "No pixels with transparency > 128 in image..." +msgstr "画像内に透明度が128以上のピクセルがありません..." + +#: editor/plugins/cpu_particles_2d_editor_plugin.cpp +#: editor/plugins/particles_2d_editor_plugin.cpp +#, fuzzy +msgid "Load Emission Mask" +msgstr "発光(Emission)マスクを読み込む" + +#: editor/plugins/cpu_particles_2d_editor_plugin.cpp +#: editor/plugins/particles_2d_editor_plugin.cpp +#, fuzzy +msgid "Clear Emission Mask" +msgstr "発光(Emission)マスクをクリア" + +#: editor/plugins/cpu_particles_2d_editor_plugin.cpp +#: editor/plugins/particles_2d_editor_plugin.cpp +#: editor/plugins/particles_editor_plugin.cpp +msgid "Particles" +msgstr "パーティクル" + +#: editor/plugins/cpu_particles_2d_editor_plugin.cpp +#: editor/plugins/particles_2d_editor_plugin.cpp +msgid "Generated Point Count:" +msgstr "生成したポイントの数:" + +#: editor/plugins/cpu_particles_2d_editor_plugin.cpp +#: editor/plugins/particles_2d_editor_plugin.cpp +msgid "Emission Mask" +msgstr "発光(Emission)マスク" + +#: editor/plugins/cpu_particles_2d_editor_plugin.cpp +#: editor/plugins/particles_2d_editor_plugin.cpp +#, fuzzy +msgid "Capture from Pixel" +msgstr "ピクセルから取得" + +#: editor/plugins/cpu_particles_2d_editor_plugin.cpp +#: editor/plugins/particles_2d_editor_plugin.cpp +msgid "Emission Colors" +msgstr "発光(Emission)色" + #: editor/plugins/cpu_particles_editor_plugin.cpp msgid "CPUParticles" msgstr "CPUパーティクル" @@ -5281,55 +5370,15 @@ msgid "Can only set point into a ParticlesMaterial process material" msgstr "" #: editor/plugins/particles_2d_editor_plugin.cpp -msgid "Error loading image:" -msgstr "画像読み込みエラー:" - -#: editor/plugins/particles_2d_editor_plugin.cpp -msgid "No pixels with transparency > 128 in image..." -msgstr "画像内に透明度が128以上のピクセルがありません..." - -#: editor/plugins/particles_2d_editor_plugin.cpp -#, fuzzy -msgid "Load Emission Mask" -msgstr "発光(Emission)マスクを読み込む" - -#: editor/plugins/particles_2d_editor_plugin.cpp -#, fuzzy -msgid "Clear Emission Mask" -msgstr "発光(Emission)マスクをクリア" - -#: editor/plugins/particles_2d_editor_plugin.cpp #: editor/plugins/particles_editor_plugin.cpp msgid "Convert to CPUParticles" msgstr "CPUパーティクルに変換" #: editor/plugins/particles_2d_editor_plugin.cpp #: editor/plugins/particles_editor_plugin.cpp -msgid "Particles" -msgstr "パーティクル" - -#: editor/plugins/particles_2d_editor_plugin.cpp -msgid "Generated Point Count:" -msgstr "生成したポイントの数:" - -#: editor/plugins/particles_2d_editor_plugin.cpp -#: editor/plugins/particles_editor_plugin.cpp msgid "Generation Time (sec):" msgstr "生成時間 (秒):" -#: editor/plugins/particles_2d_editor_plugin.cpp -msgid "Emission Mask" -msgstr "発光(Emission)マスク" - -#: editor/plugins/particles_2d_editor_plugin.cpp -#, fuzzy -msgid "Capture from Pixel" -msgstr "ピクセルから取得" - -#: editor/plugins/particles_2d_editor_plugin.cpp -msgid "Emission Colors" -msgstr "発光(Emission)色" - #: editor/plugins/particles_editor_plugin.cpp #, fuzzy msgid "Faces contain no area!" @@ -5870,7 +5919,8 @@ msgid "Save Theme As..." msgstr "テーマを名前をつけて保存..." #: editor/plugins/script_editor_plugin.cpp -msgid " Class Reference" +#, fuzzy +msgid "%s Class Reference" msgstr " クラスリファレンス" #: editor/plugins/script_editor_plugin.cpp @@ -6392,9 +6442,8 @@ msgid "This operation requires a single selected node." msgstr "一つノードを指定しないと、この操作はできません" #: editor/plugins/spatial_editor_plugin.cpp -#, fuzzy msgid "Lock View Rotation" -msgstr "情報を表示" +msgstr "ビューの回転を固定" #: editor/plugins/spatial_editor_plugin.cpp msgid "Display Normal" @@ -6602,7 +6651,7 @@ msgstr "トランスフォーム" #: editor/plugins/spatial_editor_plugin.cpp msgid "Snap object to floor" -msgstr "" +msgstr "オブジェクトを底面にスナップ" #: editor/plugins/spatial_editor_plugin.cpp #, fuzzy @@ -6719,6 +6768,26 @@ msgstr "" #: editor/plugins/sprite_editor_plugin.cpp #, fuzzy +msgid "Create Mesh2D" +msgstr "アウトラインメッシュを生成" + +#: editor/plugins/sprite_editor_plugin.cpp +#, fuzzy +msgid "Create Polygon2D" +msgstr "Polygon3Dを生成" + +#: editor/plugins/sprite_editor_plugin.cpp +#, fuzzy +msgid "Create CollisionPolygon2D" +msgstr "コリジョン ポリゴンを生成" + +#: editor/plugins/sprite_editor_plugin.cpp +#, fuzzy +msgid "Create LightOccluder2D" +msgstr "オクルーダーポリゴンを生成" + +#: editor/plugins/sprite_editor_plugin.cpp +#, fuzzy msgid "Sprite is empty!" msgstr "保存するパスがありません!" @@ -6731,17 +6800,40 @@ msgid "Invalid geometry, can't replace by mesh." msgstr "" #: editor/plugins/sprite_editor_plugin.cpp +msgid "Invalid geometry, can't create polygon." +msgstr "" + +#: editor/plugins/sprite_editor_plugin.cpp +msgid "Invalid geometry, can't create collision polygon." +msgstr "" + +#: editor/plugins/sprite_editor_plugin.cpp +msgid "Invalid geometry, can't create light occluder." +msgstr "" + +#: editor/plugins/sprite_editor_plugin.cpp msgid "Sprite" msgstr "スプライト" #: editor/plugins/sprite_editor_plugin.cpp -msgid "Convert to 2D Mesh" +#, fuzzy +msgid "Convert to Mesh2D" msgstr "2Dメッシュに変換" #: editor/plugins/sprite_editor_plugin.cpp #, fuzzy -msgid "Create 2D Mesh" -msgstr "アウトラインメッシュを生成" +msgid "Convert to Polygon2D" +msgstr "ポリゴンを移動" + +#: editor/plugins/sprite_editor_plugin.cpp +#, fuzzy +msgid "Create CollisionPolygon2D Sibling" +msgstr "コリジョン ポリゴンを生成" + +#: editor/plugins/sprite_editor_plugin.cpp +#, fuzzy +msgid "Create LightOccluder2D Sibling" +msgstr "オクルーダーポリゴンを生成" #: editor/plugins/sprite_editor_plugin.cpp msgid "Simplification: " @@ -7361,6 +7453,11 @@ msgid "Duplicate Nodes" msgstr "ノードを複製" #: editor/plugins/visual_shader_editor_plugin.cpp +#, fuzzy +msgid "Delete Nodes" +msgstr "ノードを削除" + +#: editor/plugins/visual_shader_editor_plugin.cpp msgid "Visual Shader Input Type Changed" msgstr "" @@ -7410,6 +7507,8 @@ msgid "" "Failed to export the project for platform '%s'.\n" "Export templates seem to be missing or invalid." msgstr "" +"プラットフォーム '%s' へのプロジェクトのエクスポートに失敗しました。\n" +"エクスポート用テンプレートが存在しないか、あるいは異常であるようです。" #: editor/project_export.cpp msgid "" @@ -7417,6 +7516,9 @@ msgid "" "This might be due to a configuration issue in the export preset or your " "export settings." msgstr "" +"プラットフォーム '%s' へのプロジェクトのエクスポートに失敗しました。\n" +"エクスポート用プリセットあるいはエクスポート設定に問題がある可能性がありま" +"す。" #: editor/project_export.cpp #, fuzzy @@ -7724,9 +7826,8 @@ msgid "Unnamed Project" msgstr "名無しのプロジェクト" #: editor/project_manager.cpp -#, fuzzy msgid "Can't open project at '%s'." -msgstr "プロジェクトを開けません" +msgstr "次の場所のプロジェクトを開けません '%s'。" #: editor/project_manager.cpp msgid "Are you sure to open more than one project?" @@ -7771,7 +7872,6 @@ msgid "" msgstr "" #: editor/project_manager.cpp -#, fuzzy msgid "" "Can't run project: no main scene defined.\n" "Please edit the project and set the main scene in \"Project Settings\" under " @@ -7779,7 +7879,7 @@ msgid "" msgstr "" "選択したシーン '%s' は、シーン ファイルではありません、有効なものを選択してい" "ますか?\n" -"'アプリケーション' カテゴリの下の'プロジェクトの設定'で変更できます。" +"'アプリケーション' カテゴリの下の'プロジェクト設定'で変更できます。" #: editor/project_manager.cpp msgid "" @@ -8609,10 +8709,6 @@ msgid "Open documentation" msgstr "ドキュメントを開く" #: editor/scene_tree_dock.cpp -msgid "Delete Node(s)" -msgstr "ノードを削除" - -#: editor/scene_tree_dock.cpp msgid "Add Child Node" msgstr "子ノードを追加" @@ -10551,12 +10647,15 @@ msgstr "uniform への割り当て。" msgid "Varyings can only be assigned in vertex function." msgstr "Varyingは頂点関数にのみ割り当てることができます。" +#~ msgid "Snap (s): " +#~ msgstr "スナップ (秒): " + +#~ msgid "Insert keys." +#~ msgstr "キーを挿入する。" + #~ msgid "Instance the selected scene(s) as child of the selected node." #~ msgstr "選択したシーンを選択したノードの子としてインスタンス化します。" -#~ msgid "FPS" -#~ msgstr "フレームレート" - #~ msgid "Warnings:" #~ msgstr "警告:" diff --git a/editor/translations/ka.po b/editor/translations/ka.po index cb8aed504b..26eabd113b 100644 --- a/editor/translations/ka.po +++ b/editor/translations/ka.po @@ -441,13 +441,22 @@ msgid "Group tracks by node or display them as plain list." msgstr "დააჯგუფე ჩანაწერები კვანძების მიხედვით ან აჩვენე როგორც უბრალო სია." #: editor/animation_track_editor.cpp -msgid "Snap (s): " +#, fuzzy +msgid "Snap:" msgstr "ნაბიჯი (s): " #: editor/animation_track_editor.cpp msgid "Animation step value." msgstr "ანიმაციის ნაბიჯის ღირებულება." +#: editor/animation_track_editor.cpp +msgid "Seconds" +msgstr "" + +#: editor/animation_track_editor.cpp +msgid "FPS" +msgstr "" + #: editor/animation_track_editor.cpp editor/editor_properties.cpp #: editor/plugins/polygon_2d_editor_plugin.cpp #: editor/plugins/script_text_editor.cpp @@ -3758,6 +3767,11 @@ msgid "Delete Node" msgstr "წაშლა" #: editor/plugins/animation_blend_tree_editor_plugin.cpp +#: editor/scene_tree_dock.cpp +msgid "Delete Node(s)" +msgstr "" + +#: editor/plugins/animation_blend_tree_editor_plugin.cpp #, fuzzy msgid "Toggle Filter On/Off" msgstr "ჩანაწერის ჩართვა / გამორთვა" @@ -4723,8 +4737,33 @@ msgid "Layout" msgstr "" #: editor/plugins/canvas_item_editor_plugin.cpp +msgid "Translation mask for inserting keys." +msgstr "" + +#: editor/plugins/canvas_item_editor_plugin.cpp +msgid "Rotation mask for inserting keys." +msgstr "" + +#: editor/plugins/canvas_item_editor_plugin.cpp +msgid "Scale mask for inserting keys." +msgstr "" + +#: editor/plugins/canvas_item_editor_plugin.cpp +#, fuzzy +msgid "Insert keys (based on mask)." +msgstr "ანიმ გასაღების ჩაყენება" + +#: editor/plugins/canvas_item_editor_plugin.cpp +msgid "" +"Auto insert keys when objects are translated, rotated on scaled (based on " +"mask).\n" +"Keys are only added to existing tracks, no new tracks will be created.\n" +"Keys must be inserted manually for the first time." +msgstr "" + +#: editor/plugins/canvas_item_editor_plugin.cpp #, fuzzy -msgid "Insert keys." +msgid "Auto Insert Key" msgstr "ანიმ გასაღების ჩაყენება" #: editor/plugins/canvas_item_editor_plugin.cpp @@ -4796,6 +4835,52 @@ msgstr "" msgid "Set Handle" msgstr "" +#: editor/plugins/cpu_particles_2d_editor_plugin.cpp +#: editor/plugins/particles_2d_editor_plugin.cpp +msgid "Error loading image:" +msgstr "" + +#: editor/plugins/cpu_particles_2d_editor_plugin.cpp +#: editor/plugins/particles_2d_editor_plugin.cpp +msgid "No pixels with transparency > 128 in image..." +msgstr "" + +#: editor/plugins/cpu_particles_2d_editor_plugin.cpp +#: editor/plugins/particles_2d_editor_plugin.cpp +msgid "Load Emission Mask" +msgstr "" + +#: editor/plugins/cpu_particles_2d_editor_plugin.cpp +#: editor/plugins/particles_2d_editor_plugin.cpp +msgid "Clear Emission Mask" +msgstr "" + +#: editor/plugins/cpu_particles_2d_editor_plugin.cpp +#: editor/plugins/particles_2d_editor_plugin.cpp +#: editor/plugins/particles_editor_plugin.cpp +msgid "Particles" +msgstr "" + +#: editor/plugins/cpu_particles_2d_editor_plugin.cpp +#: editor/plugins/particles_2d_editor_plugin.cpp +msgid "Generated Point Count:" +msgstr "" + +#: editor/plugins/cpu_particles_2d_editor_plugin.cpp +#: editor/plugins/particles_2d_editor_plugin.cpp +msgid "Emission Mask" +msgstr "" + +#: editor/plugins/cpu_particles_2d_editor_plugin.cpp +#: editor/plugins/particles_2d_editor_plugin.cpp +msgid "Capture from Pixel" +msgstr "" + +#: editor/plugins/cpu_particles_2d_editor_plugin.cpp +#: editor/plugins/particles_2d_editor_plugin.cpp +msgid "Emission Colors" +msgstr "" + #: editor/plugins/cpu_particles_editor_plugin.cpp msgid "CPUParticles" msgstr "" @@ -5146,52 +5231,15 @@ msgid "Can only set point into a ParticlesMaterial process material" msgstr "" #: editor/plugins/particles_2d_editor_plugin.cpp -msgid "Error loading image:" -msgstr "" - -#: editor/plugins/particles_2d_editor_plugin.cpp -msgid "No pixels with transparency > 128 in image..." -msgstr "" - -#: editor/plugins/particles_2d_editor_plugin.cpp -msgid "Load Emission Mask" -msgstr "" - -#: editor/plugins/particles_2d_editor_plugin.cpp -msgid "Clear Emission Mask" -msgstr "" - -#: editor/plugins/particles_2d_editor_plugin.cpp #: editor/plugins/particles_editor_plugin.cpp msgid "Convert to CPUParticles" msgstr "" #: editor/plugins/particles_2d_editor_plugin.cpp #: editor/plugins/particles_editor_plugin.cpp -msgid "Particles" -msgstr "" - -#: editor/plugins/particles_2d_editor_plugin.cpp -msgid "Generated Point Count:" -msgstr "" - -#: editor/plugins/particles_2d_editor_plugin.cpp -#: editor/plugins/particles_editor_plugin.cpp msgid "Generation Time (sec):" msgstr "" -#: editor/plugins/particles_2d_editor_plugin.cpp -msgid "Emission Mask" -msgstr "" - -#: editor/plugins/particles_2d_editor_plugin.cpp -msgid "Capture from Pixel" -msgstr "" - -#: editor/plugins/particles_2d_editor_plugin.cpp -msgid "Emission Colors" -msgstr "" - #: editor/plugins/particles_editor_plugin.cpp msgid "Faces contain no area!" msgstr "" @@ -5706,7 +5754,7 @@ msgid "Save Theme As..." msgstr "" #: editor/plugins/script_editor_plugin.cpp -msgid " Class Reference" +msgid "%s Class Reference" msgstr "" #: editor/plugins/script_editor_plugin.cpp @@ -6532,6 +6580,26 @@ msgid "Nameless gizmo" msgstr "" #: editor/plugins/sprite_editor_plugin.cpp +#, fuzzy +msgid "Create Mesh2D" +msgstr "ახალი %s შექმნა" + +#: editor/plugins/sprite_editor_plugin.cpp +#, fuzzy +msgid "Create Polygon2D" +msgstr "შექმნა" + +#: editor/plugins/sprite_editor_plugin.cpp +#, fuzzy +msgid "Create CollisionPolygon2D" +msgstr "შექმნა" + +#: editor/plugins/sprite_editor_plugin.cpp +#, fuzzy +msgid "Create LightOccluder2D" +msgstr "შექმნა" + +#: editor/plugins/sprite_editor_plugin.cpp msgid "Sprite is empty!" msgstr "" @@ -6544,17 +6612,38 @@ msgid "Invalid geometry, can't replace by mesh." msgstr "" #: editor/plugins/sprite_editor_plugin.cpp +msgid "Invalid geometry, can't create polygon." +msgstr "" + +#: editor/plugins/sprite_editor_plugin.cpp +msgid "Invalid geometry, can't create collision polygon." +msgstr "" + +#: editor/plugins/sprite_editor_plugin.cpp +msgid "Invalid geometry, can't create light occluder." +msgstr "" + +#: editor/plugins/sprite_editor_plugin.cpp msgid "Sprite" msgstr "" #: editor/plugins/sprite_editor_plugin.cpp -msgid "Convert to 2D Mesh" +msgid "Convert to Mesh2D" msgstr "" #: editor/plugins/sprite_editor_plugin.cpp #, fuzzy -msgid "Create 2D Mesh" -msgstr "ახალი %s შექმნა" +msgid "Convert to Polygon2D" +msgstr "შექმნა" + +#: editor/plugins/sprite_editor_plugin.cpp +#, fuzzy +msgid "Create CollisionPolygon2D Sibling" +msgstr "შექმნა" + +#: editor/plugins/sprite_editor_plugin.cpp +msgid "Create LightOccluder2D Sibling" +msgstr "" #: editor/plugins/sprite_editor_plugin.cpp msgid "Simplification: " @@ -7146,6 +7235,11 @@ msgid "Duplicate Nodes" msgstr "ანიმაციის გასაღებების ასლის შექმნა" #: editor/plugins/visual_shader_editor_plugin.cpp +#, fuzzy +msgid "Delete Nodes" +msgstr "წაშლა" + +#: editor/plugins/visual_shader_editor_plugin.cpp msgid "Visual Shader Input Type Changed" msgstr "" @@ -8301,10 +8395,6 @@ msgid "Open documentation" msgstr "" #: editor/scene_tree_dock.cpp -msgid "Delete Node(s)" -msgstr "" - -#: editor/scene_tree_dock.cpp msgid "Add Child Node" msgstr "" diff --git a/editor/translations/ko.po b/editor/translations/ko.po index c50d35d69b..eb7964f81d 100644 --- a/editor/translations/ko.po +++ b/editor/translations/ko.po @@ -422,13 +422,22 @@ msgid "Group tracks by node or display them as plain list." msgstr "노드 별로 그룹을 트랙 하거나 일반 목록으로 표시합니다." #: editor/animation_track_editor.cpp -msgid "Snap (s): " -msgstr "스냅: " +#, fuzzy +msgid "Snap:" +msgstr "스냅" #: editor/animation_track_editor.cpp msgid "Animation step value." msgstr "애니메이션 단계 값." +#: editor/animation_track_editor.cpp +msgid "Seconds" +msgstr "" + +#: editor/animation_track_editor.cpp +msgid "FPS" +msgstr "초당 프레임" + #: editor/animation_track_editor.cpp editor/editor_properties.cpp #: editor/plugins/polygon_2d_editor_plugin.cpp #: editor/plugins/script_text_editor.cpp @@ -3792,6 +3801,11 @@ msgid "Delete Node" msgstr "노드 삭제" #: editor/plugins/animation_blend_tree_editor_plugin.cpp +#: editor/scene_tree_dock.cpp +msgid "Delete Node(s)" +msgstr "노드 삭제" + +#: editor/plugins/animation_blend_tree_editor_plugin.cpp msgid "Toggle Filter On/Off" msgstr "필터 켜기/끄기 토글" @@ -4758,8 +4772,34 @@ msgid "Layout" msgstr "레이아웃" #: editor/plugins/canvas_item_editor_plugin.cpp -msgid "Insert keys." -msgstr "키 삽입." +msgid "Translation mask for inserting keys." +msgstr "" + +#: editor/plugins/canvas_item_editor_plugin.cpp +msgid "Rotation mask for inserting keys." +msgstr "" + +#: editor/plugins/canvas_item_editor_plugin.cpp +msgid "Scale mask for inserting keys." +msgstr "" + +#: editor/plugins/canvas_item_editor_plugin.cpp +#, fuzzy +msgid "Insert keys (based on mask)." +msgstr "키 삽입 (Ins 키)" + +#: editor/plugins/canvas_item_editor_plugin.cpp +msgid "" +"Auto insert keys when objects are translated, rotated on scaled (based on " +"mask).\n" +"Keys are only added to existing tracks, no new tracks will be created.\n" +"Keys must be inserted manually for the first time." +msgstr "" + +#: editor/plugins/canvas_item_editor_plugin.cpp +#, fuzzy +msgid "Auto Insert Key" +msgstr "애니메이션 키 삽입" #: editor/plugins/canvas_item_editor_plugin.cpp msgid "Insert Key (Existing Tracks)" @@ -4831,6 +4871,52 @@ msgstr "폴리곤 편집 (점 삭제)" msgid "Set Handle" msgstr "핸들 설정" +#: editor/plugins/cpu_particles_2d_editor_plugin.cpp +#: editor/plugins/particles_2d_editor_plugin.cpp +msgid "Error loading image:" +msgstr "이미지 불러오기 오류:" + +#: editor/plugins/cpu_particles_2d_editor_plugin.cpp +#: editor/plugins/particles_2d_editor_plugin.cpp +msgid "No pixels with transparency > 128 in image..." +msgstr "이미지에 투명도가 128보다 큰 픽셀이 없습니다..." + +#: editor/plugins/cpu_particles_2d_editor_plugin.cpp +#: editor/plugins/particles_2d_editor_plugin.cpp +msgid "Load Emission Mask" +msgstr "에미션 마스크 불러오기" + +#: editor/plugins/cpu_particles_2d_editor_plugin.cpp +#: editor/plugins/particles_2d_editor_plugin.cpp +msgid "Clear Emission Mask" +msgstr "에미션 마스크 정리" + +#: editor/plugins/cpu_particles_2d_editor_plugin.cpp +#: editor/plugins/particles_2d_editor_plugin.cpp +#: editor/plugins/particles_editor_plugin.cpp +msgid "Particles" +msgstr "파티클" + +#: editor/plugins/cpu_particles_2d_editor_plugin.cpp +#: editor/plugins/particles_2d_editor_plugin.cpp +msgid "Generated Point Count:" +msgstr "생성된 포인트 개수:" + +#: editor/plugins/cpu_particles_2d_editor_plugin.cpp +#: editor/plugins/particles_2d_editor_plugin.cpp +msgid "Emission Mask" +msgstr "에미션 마스크(Emission Mask)" + +#: editor/plugins/cpu_particles_2d_editor_plugin.cpp +#: editor/plugins/particles_2d_editor_plugin.cpp +msgid "Capture from Pixel" +msgstr "픽셀로부터 캡쳐" + +#: editor/plugins/cpu_particles_2d_editor_plugin.cpp +#: editor/plugins/particles_2d_editor_plugin.cpp +msgid "Emission Colors" +msgstr "에미션 칼라" + #: editor/plugins/cpu_particles_editor_plugin.cpp msgid "CPUParticles" msgstr "CPU파티클" @@ -5181,52 +5267,15 @@ msgid "Can only set point into a ParticlesMaterial process material" msgstr "오직 ParticlesMaterial 프로세스 메테리얼 안의 포인트만 설정 가능" #: editor/plugins/particles_2d_editor_plugin.cpp -msgid "Error loading image:" -msgstr "이미지 불러오기 오류:" - -#: editor/plugins/particles_2d_editor_plugin.cpp -msgid "No pixels with transparency > 128 in image..." -msgstr "이미지에 투명도가 128보다 큰 픽셀이 없습니다..." - -#: editor/plugins/particles_2d_editor_plugin.cpp -msgid "Load Emission Mask" -msgstr "에미션 마스크 불러오기" - -#: editor/plugins/particles_2d_editor_plugin.cpp -msgid "Clear Emission Mask" -msgstr "에미션 마스크 정리" - -#: editor/plugins/particles_2d_editor_plugin.cpp #: editor/plugins/particles_editor_plugin.cpp msgid "Convert to CPUParticles" msgstr "CPU파티클로 변환" #: editor/plugins/particles_2d_editor_plugin.cpp #: editor/plugins/particles_editor_plugin.cpp -msgid "Particles" -msgstr "파티클" - -#: editor/plugins/particles_2d_editor_plugin.cpp -msgid "Generated Point Count:" -msgstr "생성된 포인트 개수:" - -#: editor/plugins/particles_2d_editor_plugin.cpp -#: editor/plugins/particles_editor_plugin.cpp msgid "Generation Time (sec):" msgstr "생성 시간 (초):" -#: editor/plugins/particles_2d_editor_plugin.cpp -msgid "Emission Mask" -msgstr "에미션 마스크(Emission Mask)" - -#: editor/plugins/particles_2d_editor_plugin.cpp -msgid "Capture from Pixel" -msgstr "픽셀로부터 캡쳐" - -#: editor/plugins/particles_2d_editor_plugin.cpp -msgid "Emission Colors" -msgstr "에미션 칼라" - #: editor/plugins/particles_editor_plugin.cpp msgid "Faces contain no area!" msgstr "페이스가 영역을 가지고 있지 않습니다!" @@ -5736,7 +5785,8 @@ msgid "Save Theme As..." msgstr "테마 다른 이름으로 저장..." #: editor/plugins/script_editor_plugin.cpp -msgid " Class Reference" +#, fuzzy +msgid "%s Class Reference" msgstr " 클래스 레퍼런스" #: editor/plugins/script_editor_plugin.cpp @@ -6562,6 +6612,26 @@ msgid "Nameless gizmo" msgstr "이름없는 오브젝트의 중심점" #: editor/plugins/sprite_editor_plugin.cpp +#, fuzzy +msgid "Create Mesh2D" +msgstr "2D 메시 만들기" + +#: editor/plugins/sprite_editor_plugin.cpp +#, fuzzy +msgid "Create Polygon2D" +msgstr "폴리곤3D 만들기" + +#: editor/plugins/sprite_editor_plugin.cpp +#, fuzzy +msgid "Create CollisionPolygon2D" +msgstr "내비게이션 충돌 폴리곤 만들기" + +#: editor/plugins/sprite_editor_plugin.cpp +#, fuzzy +msgid "Create LightOccluder2D" +msgstr "Occluder 폴리곤 만들기" + +#: editor/plugins/sprite_editor_plugin.cpp msgid "Sprite is empty!" msgstr "스프라이트가 비었습니다!" @@ -6574,16 +6644,43 @@ msgid "Invalid geometry, can't replace by mesh." msgstr "유효하지 않은 형상, 메시로 대체할 수 없습니다." #: editor/plugins/sprite_editor_plugin.cpp +#, fuzzy +msgid "Invalid geometry, can't create polygon." +msgstr "유효하지 않은 형상, 메시로 대체할 수 없습니다." + +#: editor/plugins/sprite_editor_plugin.cpp +#, fuzzy +msgid "Invalid geometry, can't create collision polygon." +msgstr "유효하지 않은 형상, 메시로 대체할 수 없습니다." + +#: editor/plugins/sprite_editor_plugin.cpp +#, fuzzy +msgid "Invalid geometry, can't create light occluder." +msgstr "유효하지 않은 형상, 메시로 대체할 수 없습니다." + +#: editor/plugins/sprite_editor_plugin.cpp msgid "Sprite" msgstr "스프라이트" #: editor/plugins/sprite_editor_plugin.cpp -msgid "Convert to 2D Mesh" +#, fuzzy +msgid "Convert to Mesh2D" msgstr "2D 메시로 전환" #: editor/plugins/sprite_editor_plugin.cpp -msgid "Create 2D Mesh" -msgstr "2D 메시 만들기" +#, fuzzy +msgid "Convert to Polygon2D" +msgstr "폴리곤 이동" + +#: editor/plugins/sprite_editor_plugin.cpp +#, fuzzy +msgid "Create CollisionPolygon2D Sibling" +msgstr "내비게이션 충돌 폴리곤 만들기" + +#: editor/plugins/sprite_editor_plugin.cpp +#, fuzzy +msgid "Create LightOccluder2D Sibling" +msgstr "Occluder 폴리곤 만들기" #: editor/plugins/sprite_editor_plugin.cpp msgid "Simplification: " @@ -7169,6 +7266,11 @@ msgid "Duplicate Nodes" msgstr "노드 복제" #: editor/plugins/visual_shader_editor_plugin.cpp +#, fuzzy +msgid "Delete Nodes" +msgstr "노드 삭제" + +#: editor/plugins/visual_shader_editor_plugin.cpp msgid "Visual Shader Input Type Changed" msgstr "비주얼 셰이더 입력 타입 변경됨" @@ -8372,10 +8474,6 @@ msgid "Open documentation" msgstr "문서 열기" #: editor/scene_tree_dock.cpp -msgid "Delete Node(s)" -msgstr "노드 삭제" - -#: editor/scene_tree_dock.cpp msgid "Add Child Node" msgstr "자식 노드 추가" @@ -10226,12 +10324,15 @@ msgstr "균일하게 배치함." msgid "Varyings can only be assigned in vertex function." msgstr "Varyings는 오직 버텍스 함수에서만 지정할 수 있습니다." +#~ msgid "Snap (s): " +#~ msgstr "스냅: " + +#~ msgid "Insert keys." +#~ msgstr "키 삽입." + #~ msgid "Instance the selected scene(s) as child of the selected node." #~ msgstr "선택된 씬을 선택된 노드의 자식으로 인스턴스 합니다." -#~ msgid "FPS" -#~ msgstr "초당 프레임" - #~ msgid "Warnings:" #~ msgstr "경고:" @@ -11709,9 +11810,6 @@ msgstr "Varyings는 오직 버텍스 함수에서만 지정할 수 있습니다. #~ msgid "Cannot go into subdir:" #~ msgstr "하위 디렉토리로 이동할 수 없습니다:" -#~ msgid "Insert Keys (Ins)" -#~ msgstr "키 삽입 (Ins 키)" - #~ msgid "Top (Num7)" #~ msgstr "윗면 (넘버패드7)" diff --git a/editor/translations/lt.po b/editor/translations/lt.po index 27fa42d705..22fe1747e6 100644 --- a/editor/translations/lt.po +++ b/editor/translations/lt.po @@ -425,7 +425,7 @@ msgstr "" #: editor/animation_track_editor.cpp #, fuzzy -msgid "Snap (s): " +msgid "Snap:" msgstr "Žingsnis(iai):" #: editor/animation_track_editor.cpp @@ -433,6 +433,14 @@ msgstr "Žingsnis(iai):" msgid "Animation step value." msgstr "Animacija" +#: editor/animation_track_editor.cpp +msgid "Seconds" +msgstr "" + +#: editor/animation_track_editor.cpp +msgid "FPS" +msgstr "" + #: editor/animation_track_editor.cpp editor/editor_properties.cpp #: editor/plugins/polygon_2d_editor_plugin.cpp #: editor/plugins/script_text_editor.cpp @@ -3743,6 +3751,11 @@ msgid "Delete Node" msgstr "Ištrinti Efektą" #: editor/plugins/animation_blend_tree_editor_plugin.cpp +#: editor/scene_tree_dock.cpp +msgid "Delete Node(s)" +msgstr "" + +#: editor/plugins/animation_blend_tree_editor_plugin.cpp msgid "Toggle Filter On/Off" msgstr "" @@ -4715,7 +4728,31 @@ msgid "Layout" msgstr "" #: editor/plugins/canvas_item_editor_plugin.cpp -msgid "Insert keys." +msgid "Translation mask for inserting keys." +msgstr "" + +#: editor/plugins/canvas_item_editor_plugin.cpp +msgid "Rotation mask for inserting keys." +msgstr "" + +#: editor/plugins/canvas_item_editor_plugin.cpp +msgid "Scale mask for inserting keys." +msgstr "" + +#: editor/plugins/canvas_item_editor_plugin.cpp +msgid "Insert keys (based on mask)." +msgstr "" + +#: editor/plugins/canvas_item_editor_plugin.cpp +msgid "" +"Auto insert keys when objects are translated, rotated on scaled (based on " +"mask).\n" +"Keys are only added to existing tracks, no new tracks will be created.\n" +"Keys must be inserted manually for the first time." +msgstr "" + +#: editor/plugins/canvas_item_editor_plugin.cpp +msgid "Auto Insert Key" msgstr "" #: editor/plugins/canvas_item_editor_plugin.cpp @@ -4787,6 +4824,52 @@ msgstr "" msgid "Set Handle" msgstr "" +#: editor/plugins/cpu_particles_2d_editor_plugin.cpp +#: editor/plugins/particles_2d_editor_plugin.cpp +msgid "Error loading image:" +msgstr "" + +#: editor/plugins/cpu_particles_2d_editor_plugin.cpp +#: editor/plugins/particles_2d_editor_plugin.cpp +msgid "No pixels with transparency > 128 in image..." +msgstr "" + +#: editor/plugins/cpu_particles_2d_editor_plugin.cpp +#: editor/plugins/particles_2d_editor_plugin.cpp +msgid "Load Emission Mask" +msgstr "" + +#: editor/plugins/cpu_particles_2d_editor_plugin.cpp +#: editor/plugins/particles_2d_editor_plugin.cpp +msgid "Clear Emission Mask" +msgstr "" + +#: editor/plugins/cpu_particles_2d_editor_plugin.cpp +#: editor/plugins/particles_2d_editor_plugin.cpp +#: editor/plugins/particles_editor_plugin.cpp +msgid "Particles" +msgstr "" + +#: editor/plugins/cpu_particles_2d_editor_plugin.cpp +#: editor/plugins/particles_2d_editor_plugin.cpp +msgid "Generated Point Count:" +msgstr "" + +#: editor/plugins/cpu_particles_2d_editor_plugin.cpp +#: editor/plugins/particles_2d_editor_plugin.cpp +msgid "Emission Mask" +msgstr "" + +#: editor/plugins/cpu_particles_2d_editor_plugin.cpp +#: editor/plugins/particles_2d_editor_plugin.cpp +msgid "Capture from Pixel" +msgstr "" + +#: editor/plugins/cpu_particles_2d_editor_plugin.cpp +#: editor/plugins/particles_2d_editor_plugin.cpp +msgid "Emission Colors" +msgstr "" + #: editor/plugins/cpu_particles_editor_plugin.cpp msgid "CPUParticles" msgstr "" @@ -5137,52 +5220,15 @@ msgid "Can only set point into a ParticlesMaterial process material" msgstr "" #: editor/plugins/particles_2d_editor_plugin.cpp -msgid "Error loading image:" -msgstr "" - -#: editor/plugins/particles_2d_editor_plugin.cpp -msgid "No pixels with transparency > 128 in image..." -msgstr "" - -#: editor/plugins/particles_2d_editor_plugin.cpp -msgid "Load Emission Mask" -msgstr "" - -#: editor/plugins/particles_2d_editor_plugin.cpp -msgid "Clear Emission Mask" -msgstr "" - -#: editor/plugins/particles_2d_editor_plugin.cpp #: editor/plugins/particles_editor_plugin.cpp msgid "Convert to CPUParticles" msgstr "" #: editor/plugins/particles_2d_editor_plugin.cpp #: editor/plugins/particles_editor_plugin.cpp -msgid "Particles" -msgstr "" - -#: editor/plugins/particles_2d_editor_plugin.cpp -msgid "Generated Point Count:" -msgstr "" - -#: editor/plugins/particles_2d_editor_plugin.cpp -#: editor/plugins/particles_editor_plugin.cpp msgid "Generation Time (sec):" msgstr "" -#: editor/plugins/particles_2d_editor_plugin.cpp -msgid "Emission Mask" -msgstr "" - -#: editor/plugins/particles_2d_editor_plugin.cpp -msgid "Capture from Pixel" -msgstr "" - -#: editor/plugins/particles_2d_editor_plugin.cpp -msgid "Emission Colors" -msgstr "" - #: editor/plugins/particles_editor_plugin.cpp msgid "Faces contain no area!" msgstr "" @@ -5701,7 +5747,7 @@ msgid "Save Theme As..." msgstr "" #: editor/plugins/script_editor_plugin.cpp -msgid " Class Reference" +msgid "%s Class Reference" msgstr "" #: editor/plugins/script_editor_plugin.cpp @@ -6524,6 +6570,26 @@ msgid "Nameless gizmo" msgstr "" #: editor/plugins/sprite_editor_plugin.cpp +#, fuzzy +msgid "Create Mesh2D" +msgstr "Sukurti Naują" + +#: editor/plugins/sprite_editor_plugin.cpp +#, fuzzy +msgid "Create Polygon2D" +msgstr "Keisti Poligono Skalę" + +#: editor/plugins/sprite_editor_plugin.cpp +#, fuzzy +msgid "Create CollisionPolygon2D" +msgstr "Keisti Poligono Skalę" + +#: editor/plugins/sprite_editor_plugin.cpp +#, fuzzy +msgid "Create LightOccluder2D" +msgstr "Sukurti" + +#: editor/plugins/sprite_editor_plugin.cpp msgid "Sprite is empty!" msgstr "" @@ -6536,17 +6602,38 @@ msgid "Invalid geometry, can't replace by mesh." msgstr "" #: editor/plugins/sprite_editor_plugin.cpp +msgid "Invalid geometry, can't create polygon." +msgstr "" + +#: editor/plugins/sprite_editor_plugin.cpp +msgid "Invalid geometry, can't create collision polygon." +msgstr "" + +#: editor/plugins/sprite_editor_plugin.cpp +msgid "Invalid geometry, can't create light occluder." +msgstr "" + +#: editor/plugins/sprite_editor_plugin.cpp msgid "Sprite" msgstr "" #: editor/plugins/sprite_editor_plugin.cpp -msgid "Convert to 2D Mesh" +msgid "Convert to Mesh2D" msgstr "" #: editor/plugins/sprite_editor_plugin.cpp #, fuzzy -msgid "Create 2D Mesh" -msgstr "Sukurti Naują" +msgid "Convert to Polygon2D" +msgstr "Keisti Poligono Skalę" + +#: editor/plugins/sprite_editor_plugin.cpp +#, fuzzy +msgid "Create CollisionPolygon2D Sibling" +msgstr "Keisti Poligono Skalę" + +#: editor/plugins/sprite_editor_plugin.cpp +msgid "Create LightOccluder2D Sibling" +msgstr "" #: editor/plugins/sprite_editor_plugin.cpp msgid "Simplification: " @@ -7142,6 +7229,11 @@ msgid "Duplicate Nodes" msgstr "Duplikuoti" #: editor/plugins/visual_shader_editor_plugin.cpp +#, fuzzy +msgid "Delete Nodes" +msgstr "Ištrinti Efektą" + +#: editor/plugins/visual_shader_editor_plugin.cpp msgid "Visual Shader Input Type Changed" msgstr "" @@ -8307,10 +8399,6 @@ msgid "Open documentation" msgstr "" #: editor/scene_tree_dock.cpp -msgid "Delete Node(s)" -msgstr "" - -#: editor/scene_tree_dock.cpp msgid "Add Child Node" msgstr "" diff --git a/editor/translations/lv.po b/editor/translations/lv.po index 4c46135e35..a8acaaf300 100644 --- a/editor/translations/lv.po +++ b/editor/translations/lv.po @@ -424,13 +424,22 @@ msgstr "" "Sagrupēt celiņus atkarībā no mezgliem vai rādīt tos vienkāršā sarakstā." #: editor/animation_track_editor.cpp -msgid "Snap (s): " +#, fuzzy +msgid "Snap:" msgstr "Solis (s): " #: editor/animation_track_editor.cpp msgid "Animation step value." msgstr "Animācijas soļa vērtība." +#: editor/animation_track_editor.cpp +msgid "Seconds" +msgstr "" + +#: editor/animation_track_editor.cpp +msgid "FPS" +msgstr "" + #: editor/animation_track_editor.cpp editor/editor_properties.cpp #: editor/plugins/polygon_2d_editor_plugin.cpp #: editor/plugins/script_text_editor.cpp @@ -3736,6 +3745,11 @@ msgid "Delete Node" msgstr "Izdzēst" #: editor/plugins/animation_blend_tree_editor_plugin.cpp +#: editor/scene_tree_dock.cpp +msgid "Delete Node(s)" +msgstr "" + +#: editor/plugins/animation_blend_tree_editor_plugin.cpp msgid "Toggle Filter On/Off" msgstr "" @@ -4697,10 +4711,35 @@ msgid "Layout" msgstr "" #: editor/plugins/canvas_item_editor_plugin.cpp -msgid "Insert keys." +msgid "Translation mask for inserting keys." +msgstr "" + +#: editor/plugins/canvas_item_editor_plugin.cpp +msgid "Rotation mask for inserting keys." msgstr "" #: editor/plugins/canvas_item_editor_plugin.cpp +msgid "Scale mask for inserting keys." +msgstr "" + +#: editor/plugins/canvas_item_editor_plugin.cpp +msgid "Insert keys (based on mask)." +msgstr "" + +#: editor/plugins/canvas_item_editor_plugin.cpp +msgid "" +"Auto insert keys when objects are translated, rotated on scaled (based on " +"mask).\n" +"Keys are only added to existing tracks, no new tracks will be created.\n" +"Keys must be inserted manually for the first time." +msgstr "" + +#: editor/plugins/canvas_item_editor_plugin.cpp +#, fuzzy +msgid "Auto Insert Key" +msgstr "Anim ievietot atslēgievietni" + +#: editor/plugins/canvas_item_editor_plugin.cpp msgid "Insert Key (Existing Tracks)" msgstr "" @@ -4769,6 +4808,52 @@ msgstr "" msgid "Set Handle" msgstr "" +#: editor/plugins/cpu_particles_2d_editor_plugin.cpp +#: editor/plugins/particles_2d_editor_plugin.cpp +msgid "Error loading image:" +msgstr "" + +#: editor/plugins/cpu_particles_2d_editor_plugin.cpp +#: editor/plugins/particles_2d_editor_plugin.cpp +msgid "No pixels with transparency > 128 in image..." +msgstr "" + +#: editor/plugins/cpu_particles_2d_editor_plugin.cpp +#: editor/plugins/particles_2d_editor_plugin.cpp +msgid "Load Emission Mask" +msgstr "" + +#: editor/plugins/cpu_particles_2d_editor_plugin.cpp +#: editor/plugins/particles_2d_editor_plugin.cpp +msgid "Clear Emission Mask" +msgstr "" + +#: editor/plugins/cpu_particles_2d_editor_plugin.cpp +#: editor/plugins/particles_2d_editor_plugin.cpp +#: editor/plugins/particles_editor_plugin.cpp +msgid "Particles" +msgstr "" + +#: editor/plugins/cpu_particles_2d_editor_plugin.cpp +#: editor/plugins/particles_2d_editor_plugin.cpp +msgid "Generated Point Count:" +msgstr "" + +#: editor/plugins/cpu_particles_2d_editor_plugin.cpp +#: editor/plugins/particles_2d_editor_plugin.cpp +msgid "Emission Mask" +msgstr "" + +#: editor/plugins/cpu_particles_2d_editor_plugin.cpp +#: editor/plugins/particles_2d_editor_plugin.cpp +msgid "Capture from Pixel" +msgstr "" + +#: editor/plugins/cpu_particles_2d_editor_plugin.cpp +#: editor/plugins/particles_2d_editor_plugin.cpp +msgid "Emission Colors" +msgstr "" + #: editor/plugins/cpu_particles_editor_plugin.cpp msgid "CPUParticles" msgstr "" @@ -5119,52 +5204,15 @@ msgid "Can only set point into a ParticlesMaterial process material" msgstr "" #: editor/plugins/particles_2d_editor_plugin.cpp -msgid "Error loading image:" -msgstr "" - -#: editor/plugins/particles_2d_editor_plugin.cpp -msgid "No pixels with transparency > 128 in image..." -msgstr "" - -#: editor/plugins/particles_2d_editor_plugin.cpp -msgid "Load Emission Mask" -msgstr "" - -#: editor/plugins/particles_2d_editor_plugin.cpp -msgid "Clear Emission Mask" -msgstr "" - -#: editor/plugins/particles_2d_editor_plugin.cpp #: editor/plugins/particles_editor_plugin.cpp msgid "Convert to CPUParticles" msgstr "" #: editor/plugins/particles_2d_editor_plugin.cpp #: editor/plugins/particles_editor_plugin.cpp -msgid "Particles" -msgstr "" - -#: editor/plugins/particles_2d_editor_plugin.cpp -msgid "Generated Point Count:" -msgstr "" - -#: editor/plugins/particles_2d_editor_plugin.cpp -#: editor/plugins/particles_editor_plugin.cpp msgid "Generation Time (sec):" msgstr "" -#: editor/plugins/particles_2d_editor_plugin.cpp -msgid "Emission Mask" -msgstr "" - -#: editor/plugins/particles_2d_editor_plugin.cpp -msgid "Capture from Pixel" -msgstr "" - -#: editor/plugins/particles_2d_editor_plugin.cpp -msgid "Emission Colors" -msgstr "" - #: editor/plugins/particles_editor_plugin.cpp msgid "Faces contain no area!" msgstr "" @@ -5679,7 +5727,7 @@ msgid "Save Theme As..." msgstr "" #: editor/plugins/script_editor_plugin.cpp -msgid " Class Reference" +msgid "%s Class Reference" msgstr "" #: editor/plugins/script_editor_plugin.cpp @@ -6505,6 +6553,26 @@ msgid "Nameless gizmo" msgstr "" #: editor/plugins/sprite_editor_plugin.cpp +#, fuzzy +msgid "Create Mesh2D" +msgstr "Izveidot Jaunu %s" + +#: editor/plugins/sprite_editor_plugin.cpp +#, fuzzy +msgid "Create Polygon2D" +msgstr "Izveidot" + +#: editor/plugins/sprite_editor_plugin.cpp +#, fuzzy +msgid "Create CollisionPolygon2D" +msgstr "Izveidot" + +#: editor/plugins/sprite_editor_plugin.cpp +#, fuzzy +msgid "Create LightOccluder2D" +msgstr "Izveidot" + +#: editor/plugins/sprite_editor_plugin.cpp msgid "Sprite is empty!" msgstr "" @@ -6517,17 +6585,38 @@ msgid "Invalid geometry, can't replace by mesh." msgstr "" #: editor/plugins/sprite_editor_plugin.cpp +msgid "Invalid geometry, can't create polygon." +msgstr "" + +#: editor/plugins/sprite_editor_plugin.cpp +msgid "Invalid geometry, can't create collision polygon." +msgstr "" + +#: editor/plugins/sprite_editor_plugin.cpp +msgid "Invalid geometry, can't create light occluder." +msgstr "" + +#: editor/plugins/sprite_editor_plugin.cpp msgid "Sprite" msgstr "" #: editor/plugins/sprite_editor_plugin.cpp -msgid "Convert to 2D Mesh" +msgid "Convert to Mesh2D" msgstr "" #: editor/plugins/sprite_editor_plugin.cpp #, fuzzy -msgid "Create 2D Mesh" -msgstr "Izveidot Jaunu %s" +msgid "Convert to Polygon2D" +msgstr "Izveidot" + +#: editor/plugins/sprite_editor_plugin.cpp +#, fuzzy +msgid "Create CollisionPolygon2D Sibling" +msgstr "Izveidot" + +#: editor/plugins/sprite_editor_plugin.cpp +msgid "Create LightOccluder2D Sibling" +msgstr "" #: editor/plugins/sprite_editor_plugin.cpp msgid "Simplification: " @@ -7121,6 +7210,11 @@ msgid "Duplicate Nodes" msgstr "Dublicēt atslēgvietnes" #: editor/plugins/visual_shader_editor_plugin.cpp +#, fuzzy +msgid "Delete Nodes" +msgstr "Izdzēst" + +#: editor/plugins/visual_shader_editor_plugin.cpp msgid "Visual Shader Input Type Changed" msgstr "" @@ -8274,10 +8368,6 @@ msgid "Open documentation" msgstr "" #: editor/scene_tree_dock.cpp -msgid "Delete Node(s)" -msgstr "" - -#: editor/scene_tree_dock.cpp msgid "Add Child Node" msgstr "" diff --git a/editor/translations/mi.po b/editor/translations/mi.po index bd3832641d..30d76b28d3 100644 --- a/editor/translations/mi.po +++ b/editor/translations/mi.po @@ -397,13 +397,21 @@ msgid "Group tracks by node or display them as plain list." msgstr "" #: editor/animation_track_editor.cpp -msgid "Snap (s): " +msgid "Snap:" msgstr "" #: editor/animation_track_editor.cpp msgid "Animation step value." msgstr "" +#: editor/animation_track_editor.cpp +msgid "Seconds" +msgstr "" + +#: editor/animation_track_editor.cpp +msgid "FPS" +msgstr "" + #: editor/animation_track_editor.cpp editor/editor_properties.cpp #: editor/plugins/polygon_2d_editor_plugin.cpp #: editor/plugins/script_text_editor.cpp @@ -3657,6 +3665,11 @@ msgid "Delete Node" msgstr "" #: editor/plugins/animation_blend_tree_editor_plugin.cpp +#: editor/scene_tree_dock.cpp +msgid "Delete Node(s)" +msgstr "" + +#: editor/plugins/animation_blend_tree_editor_plugin.cpp msgid "Toggle Filter On/Off" msgstr "" @@ -4608,7 +4621,31 @@ msgid "Layout" msgstr "" #: editor/plugins/canvas_item_editor_plugin.cpp -msgid "Insert keys." +msgid "Translation mask for inserting keys." +msgstr "" + +#: editor/plugins/canvas_item_editor_plugin.cpp +msgid "Rotation mask for inserting keys." +msgstr "" + +#: editor/plugins/canvas_item_editor_plugin.cpp +msgid "Scale mask for inserting keys." +msgstr "" + +#: editor/plugins/canvas_item_editor_plugin.cpp +msgid "Insert keys (based on mask)." +msgstr "" + +#: editor/plugins/canvas_item_editor_plugin.cpp +msgid "" +"Auto insert keys when objects are translated, rotated on scaled (based on " +"mask).\n" +"Keys are only added to existing tracks, no new tracks will be created.\n" +"Keys must be inserted manually for the first time." +msgstr "" + +#: editor/plugins/canvas_item_editor_plugin.cpp +msgid "Auto Insert Key" msgstr "" #: editor/plugins/canvas_item_editor_plugin.cpp @@ -4679,6 +4716,52 @@ msgstr "" msgid "Set Handle" msgstr "" +#: editor/plugins/cpu_particles_2d_editor_plugin.cpp +#: editor/plugins/particles_2d_editor_plugin.cpp +msgid "Error loading image:" +msgstr "" + +#: editor/plugins/cpu_particles_2d_editor_plugin.cpp +#: editor/plugins/particles_2d_editor_plugin.cpp +msgid "No pixels with transparency > 128 in image..." +msgstr "" + +#: editor/plugins/cpu_particles_2d_editor_plugin.cpp +#: editor/plugins/particles_2d_editor_plugin.cpp +msgid "Load Emission Mask" +msgstr "" + +#: editor/plugins/cpu_particles_2d_editor_plugin.cpp +#: editor/plugins/particles_2d_editor_plugin.cpp +msgid "Clear Emission Mask" +msgstr "" + +#: editor/plugins/cpu_particles_2d_editor_plugin.cpp +#: editor/plugins/particles_2d_editor_plugin.cpp +#: editor/plugins/particles_editor_plugin.cpp +msgid "Particles" +msgstr "" + +#: editor/plugins/cpu_particles_2d_editor_plugin.cpp +#: editor/plugins/particles_2d_editor_plugin.cpp +msgid "Generated Point Count:" +msgstr "" + +#: editor/plugins/cpu_particles_2d_editor_plugin.cpp +#: editor/plugins/particles_2d_editor_plugin.cpp +msgid "Emission Mask" +msgstr "" + +#: editor/plugins/cpu_particles_2d_editor_plugin.cpp +#: editor/plugins/particles_2d_editor_plugin.cpp +msgid "Capture from Pixel" +msgstr "" + +#: editor/plugins/cpu_particles_2d_editor_plugin.cpp +#: editor/plugins/particles_2d_editor_plugin.cpp +msgid "Emission Colors" +msgstr "" + #: editor/plugins/cpu_particles_editor_plugin.cpp msgid "CPUParticles" msgstr "" @@ -5029,52 +5112,15 @@ msgid "Can only set point into a ParticlesMaterial process material" msgstr "" #: editor/plugins/particles_2d_editor_plugin.cpp -msgid "Error loading image:" -msgstr "" - -#: editor/plugins/particles_2d_editor_plugin.cpp -msgid "No pixels with transparency > 128 in image..." -msgstr "" - -#: editor/plugins/particles_2d_editor_plugin.cpp -msgid "Load Emission Mask" -msgstr "" - -#: editor/plugins/particles_2d_editor_plugin.cpp -msgid "Clear Emission Mask" -msgstr "" - -#: editor/plugins/particles_2d_editor_plugin.cpp #: editor/plugins/particles_editor_plugin.cpp msgid "Convert to CPUParticles" msgstr "" #: editor/plugins/particles_2d_editor_plugin.cpp #: editor/plugins/particles_editor_plugin.cpp -msgid "Particles" -msgstr "" - -#: editor/plugins/particles_2d_editor_plugin.cpp -msgid "Generated Point Count:" -msgstr "" - -#: editor/plugins/particles_2d_editor_plugin.cpp -#: editor/plugins/particles_editor_plugin.cpp msgid "Generation Time (sec):" msgstr "" -#: editor/plugins/particles_2d_editor_plugin.cpp -msgid "Emission Mask" -msgstr "" - -#: editor/plugins/particles_2d_editor_plugin.cpp -msgid "Capture from Pixel" -msgstr "" - -#: editor/plugins/particles_2d_editor_plugin.cpp -msgid "Emission Colors" -msgstr "" - #: editor/plugins/particles_editor_plugin.cpp msgid "Faces contain no area!" msgstr "" @@ -5578,7 +5624,7 @@ msgid "Save Theme As..." msgstr "" #: editor/plugins/script_editor_plugin.cpp -msgid " Class Reference" +msgid "%s Class Reference" msgstr "" #: editor/plugins/script_editor_plugin.cpp @@ -6396,6 +6442,22 @@ msgid "Nameless gizmo" msgstr "" #: editor/plugins/sprite_editor_plugin.cpp +msgid "Create Mesh2D" +msgstr "" + +#: editor/plugins/sprite_editor_plugin.cpp +msgid "Create Polygon2D" +msgstr "" + +#: editor/plugins/sprite_editor_plugin.cpp +msgid "Create CollisionPolygon2D" +msgstr "" + +#: editor/plugins/sprite_editor_plugin.cpp +msgid "Create LightOccluder2D" +msgstr "" + +#: editor/plugins/sprite_editor_plugin.cpp msgid "Sprite is empty!" msgstr "" @@ -6408,15 +6470,35 @@ msgid "Invalid geometry, can't replace by mesh." msgstr "" #: editor/plugins/sprite_editor_plugin.cpp +msgid "Invalid geometry, can't create polygon." +msgstr "" + +#: editor/plugins/sprite_editor_plugin.cpp +msgid "Invalid geometry, can't create collision polygon." +msgstr "" + +#: editor/plugins/sprite_editor_plugin.cpp +msgid "Invalid geometry, can't create light occluder." +msgstr "" + +#: editor/plugins/sprite_editor_plugin.cpp msgid "Sprite" msgstr "" #: editor/plugins/sprite_editor_plugin.cpp -msgid "Convert to 2D Mesh" +msgid "Convert to Mesh2D" +msgstr "" + +#: editor/plugins/sprite_editor_plugin.cpp +msgid "Convert to Polygon2D" +msgstr "" + +#: editor/plugins/sprite_editor_plugin.cpp +msgid "Create CollisionPolygon2D Sibling" msgstr "" #: editor/plugins/sprite_editor_plugin.cpp -msgid "Create 2D Mesh" +msgid "Create LightOccluder2D Sibling" msgstr "" #: editor/plugins/sprite_editor_plugin.cpp @@ -6987,6 +7069,10 @@ msgid "Duplicate Nodes" msgstr "" #: editor/plugins/visual_shader_editor_plugin.cpp +msgid "Delete Nodes" +msgstr "" + +#: editor/plugins/visual_shader_editor_plugin.cpp msgid "Visual Shader Input Type Changed" msgstr "" @@ -8136,10 +8222,6 @@ msgid "Open documentation" msgstr "" #: editor/scene_tree_dock.cpp -msgid "Delete Node(s)" -msgstr "" - -#: editor/scene_tree_dock.cpp msgid "Add Child Node" msgstr "" diff --git a/editor/translations/ml.po b/editor/translations/ml.po index d029bdaacd..215ca3d2cc 100644 --- a/editor/translations/ml.po +++ b/editor/translations/ml.po @@ -405,13 +405,21 @@ msgid "Group tracks by node or display them as plain list." msgstr "" #: editor/animation_track_editor.cpp -msgid "Snap (s): " +msgid "Snap:" msgstr "" #: editor/animation_track_editor.cpp msgid "Animation step value." msgstr "" +#: editor/animation_track_editor.cpp +msgid "Seconds" +msgstr "" + +#: editor/animation_track_editor.cpp +msgid "FPS" +msgstr "" + #: editor/animation_track_editor.cpp editor/editor_properties.cpp #: editor/plugins/polygon_2d_editor_plugin.cpp #: editor/plugins/script_text_editor.cpp @@ -3665,6 +3673,11 @@ msgid "Delete Node" msgstr "" #: editor/plugins/animation_blend_tree_editor_plugin.cpp +#: editor/scene_tree_dock.cpp +msgid "Delete Node(s)" +msgstr "" + +#: editor/plugins/animation_blend_tree_editor_plugin.cpp msgid "Toggle Filter On/Off" msgstr "" @@ -4616,7 +4629,31 @@ msgid "Layout" msgstr "" #: editor/plugins/canvas_item_editor_plugin.cpp -msgid "Insert keys." +msgid "Translation mask for inserting keys." +msgstr "" + +#: editor/plugins/canvas_item_editor_plugin.cpp +msgid "Rotation mask for inserting keys." +msgstr "" + +#: editor/plugins/canvas_item_editor_plugin.cpp +msgid "Scale mask for inserting keys." +msgstr "" + +#: editor/plugins/canvas_item_editor_plugin.cpp +msgid "Insert keys (based on mask)." +msgstr "" + +#: editor/plugins/canvas_item_editor_plugin.cpp +msgid "" +"Auto insert keys when objects are translated, rotated on scaled (based on " +"mask).\n" +"Keys are only added to existing tracks, no new tracks will be created.\n" +"Keys must be inserted manually for the first time." +msgstr "" + +#: editor/plugins/canvas_item_editor_plugin.cpp +msgid "Auto Insert Key" msgstr "" #: editor/plugins/canvas_item_editor_plugin.cpp @@ -4687,6 +4724,52 @@ msgstr "" msgid "Set Handle" msgstr "" +#: editor/plugins/cpu_particles_2d_editor_plugin.cpp +#: editor/plugins/particles_2d_editor_plugin.cpp +msgid "Error loading image:" +msgstr "" + +#: editor/plugins/cpu_particles_2d_editor_plugin.cpp +#: editor/plugins/particles_2d_editor_plugin.cpp +msgid "No pixels with transparency > 128 in image..." +msgstr "" + +#: editor/plugins/cpu_particles_2d_editor_plugin.cpp +#: editor/plugins/particles_2d_editor_plugin.cpp +msgid "Load Emission Mask" +msgstr "" + +#: editor/plugins/cpu_particles_2d_editor_plugin.cpp +#: editor/plugins/particles_2d_editor_plugin.cpp +msgid "Clear Emission Mask" +msgstr "" + +#: editor/plugins/cpu_particles_2d_editor_plugin.cpp +#: editor/plugins/particles_2d_editor_plugin.cpp +#: editor/plugins/particles_editor_plugin.cpp +msgid "Particles" +msgstr "" + +#: editor/plugins/cpu_particles_2d_editor_plugin.cpp +#: editor/plugins/particles_2d_editor_plugin.cpp +msgid "Generated Point Count:" +msgstr "" + +#: editor/plugins/cpu_particles_2d_editor_plugin.cpp +#: editor/plugins/particles_2d_editor_plugin.cpp +msgid "Emission Mask" +msgstr "" + +#: editor/plugins/cpu_particles_2d_editor_plugin.cpp +#: editor/plugins/particles_2d_editor_plugin.cpp +msgid "Capture from Pixel" +msgstr "" + +#: editor/plugins/cpu_particles_2d_editor_plugin.cpp +#: editor/plugins/particles_2d_editor_plugin.cpp +msgid "Emission Colors" +msgstr "" + #: editor/plugins/cpu_particles_editor_plugin.cpp msgid "CPUParticles" msgstr "" @@ -5037,52 +5120,15 @@ msgid "Can only set point into a ParticlesMaterial process material" msgstr "" #: editor/plugins/particles_2d_editor_plugin.cpp -msgid "Error loading image:" -msgstr "" - -#: editor/plugins/particles_2d_editor_plugin.cpp -msgid "No pixels with transparency > 128 in image..." -msgstr "" - -#: editor/plugins/particles_2d_editor_plugin.cpp -msgid "Load Emission Mask" -msgstr "" - -#: editor/plugins/particles_2d_editor_plugin.cpp -msgid "Clear Emission Mask" -msgstr "" - -#: editor/plugins/particles_2d_editor_plugin.cpp #: editor/plugins/particles_editor_plugin.cpp msgid "Convert to CPUParticles" msgstr "" #: editor/plugins/particles_2d_editor_plugin.cpp #: editor/plugins/particles_editor_plugin.cpp -msgid "Particles" -msgstr "" - -#: editor/plugins/particles_2d_editor_plugin.cpp -msgid "Generated Point Count:" -msgstr "" - -#: editor/plugins/particles_2d_editor_plugin.cpp -#: editor/plugins/particles_editor_plugin.cpp msgid "Generation Time (sec):" msgstr "" -#: editor/plugins/particles_2d_editor_plugin.cpp -msgid "Emission Mask" -msgstr "" - -#: editor/plugins/particles_2d_editor_plugin.cpp -msgid "Capture from Pixel" -msgstr "" - -#: editor/plugins/particles_2d_editor_plugin.cpp -msgid "Emission Colors" -msgstr "" - #: editor/plugins/particles_editor_plugin.cpp msgid "Faces contain no area!" msgstr "" @@ -5586,7 +5632,7 @@ msgid "Save Theme As..." msgstr "" #: editor/plugins/script_editor_plugin.cpp -msgid " Class Reference" +msgid "%s Class Reference" msgstr "" #: editor/plugins/script_editor_plugin.cpp @@ -6404,6 +6450,22 @@ msgid "Nameless gizmo" msgstr "" #: editor/plugins/sprite_editor_plugin.cpp +msgid "Create Mesh2D" +msgstr "" + +#: editor/plugins/sprite_editor_plugin.cpp +msgid "Create Polygon2D" +msgstr "" + +#: editor/plugins/sprite_editor_plugin.cpp +msgid "Create CollisionPolygon2D" +msgstr "" + +#: editor/plugins/sprite_editor_plugin.cpp +msgid "Create LightOccluder2D" +msgstr "" + +#: editor/plugins/sprite_editor_plugin.cpp msgid "Sprite is empty!" msgstr "" @@ -6416,15 +6478,35 @@ msgid "Invalid geometry, can't replace by mesh." msgstr "" #: editor/plugins/sprite_editor_plugin.cpp +msgid "Invalid geometry, can't create polygon." +msgstr "" + +#: editor/plugins/sprite_editor_plugin.cpp +msgid "Invalid geometry, can't create collision polygon." +msgstr "" + +#: editor/plugins/sprite_editor_plugin.cpp +msgid "Invalid geometry, can't create light occluder." +msgstr "" + +#: editor/plugins/sprite_editor_plugin.cpp msgid "Sprite" msgstr "" #: editor/plugins/sprite_editor_plugin.cpp -msgid "Convert to 2D Mesh" +msgid "Convert to Mesh2D" +msgstr "" + +#: editor/plugins/sprite_editor_plugin.cpp +msgid "Convert to Polygon2D" +msgstr "" + +#: editor/plugins/sprite_editor_plugin.cpp +msgid "Create CollisionPolygon2D Sibling" msgstr "" #: editor/plugins/sprite_editor_plugin.cpp -msgid "Create 2D Mesh" +msgid "Create LightOccluder2D Sibling" msgstr "" #: editor/plugins/sprite_editor_plugin.cpp @@ -6995,6 +7077,10 @@ msgid "Duplicate Nodes" msgstr "" #: editor/plugins/visual_shader_editor_plugin.cpp +msgid "Delete Nodes" +msgstr "" + +#: editor/plugins/visual_shader_editor_plugin.cpp msgid "Visual Shader Input Type Changed" msgstr "" @@ -8144,10 +8230,6 @@ msgid "Open documentation" msgstr "" #: editor/scene_tree_dock.cpp -msgid "Delete Node(s)" -msgstr "" - -#: editor/scene_tree_dock.cpp msgid "Add Child Node" msgstr "" diff --git a/editor/translations/ms.po b/editor/translations/ms.po index 61fb10d582..f253cca02b 100644 --- a/editor/translations/ms.po +++ b/editor/translations/ms.po @@ -417,13 +417,21 @@ msgid "Group tracks by node or display them as plain list." msgstr "" #: editor/animation_track_editor.cpp -msgid "Snap (s): " +msgid "Snap:" msgstr "" #: editor/animation_track_editor.cpp msgid "Animation step value." msgstr "" +#: editor/animation_track_editor.cpp +msgid "Seconds" +msgstr "" + +#: editor/animation_track_editor.cpp +msgid "FPS" +msgstr "" + #: editor/animation_track_editor.cpp editor/editor_properties.cpp #: editor/plugins/polygon_2d_editor_plugin.cpp #: editor/plugins/script_text_editor.cpp @@ -3683,6 +3691,11 @@ msgid "Delete Node" msgstr "Semua Pilihan" #: editor/plugins/animation_blend_tree_editor_plugin.cpp +#: editor/scene_tree_dock.cpp +msgid "Delete Node(s)" +msgstr "" + +#: editor/plugins/animation_blend_tree_editor_plugin.cpp msgid "Toggle Filter On/Off" msgstr "" @@ -4638,7 +4651,31 @@ msgid "Layout" msgstr "" #: editor/plugins/canvas_item_editor_plugin.cpp -msgid "Insert keys." +msgid "Translation mask for inserting keys." +msgstr "" + +#: editor/plugins/canvas_item_editor_plugin.cpp +msgid "Rotation mask for inserting keys." +msgstr "" + +#: editor/plugins/canvas_item_editor_plugin.cpp +msgid "Scale mask for inserting keys." +msgstr "" + +#: editor/plugins/canvas_item_editor_plugin.cpp +msgid "Insert keys (based on mask)." +msgstr "" + +#: editor/plugins/canvas_item_editor_plugin.cpp +msgid "" +"Auto insert keys when objects are translated, rotated on scaled (based on " +"mask).\n" +"Keys are only added to existing tracks, no new tracks will be created.\n" +"Keys must be inserted manually for the first time." +msgstr "" + +#: editor/plugins/canvas_item_editor_plugin.cpp +msgid "Auto Insert Key" msgstr "" #: editor/plugins/canvas_item_editor_plugin.cpp @@ -4709,6 +4746,52 @@ msgstr "" msgid "Set Handle" msgstr "" +#: editor/plugins/cpu_particles_2d_editor_plugin.cpp +#: editor/plugins/particles_2d_editor_plugin.cpp +msgid "Error loading image:" +msgstr "" + +#: editor/plugins/cpu_particles_2d_editor_plugin.cpp +#: editor/plugins/particles_2d_editor_plugin.cpp +msgid "No pixels with transparency > 128 in image..." +msgstr "" + +#: editor/plugins/cpu_particles_2d_editor_plugin.cpp +#: editor/plugins/particles_2d_editor_plugin.cpp +msgid "Load Emission Mask" +msgstr "" + +#: editor/plugins/cpu_particles_2d_editor_plugin.cpp +#: editor/plugins/particles_2d_editor_plugin.cpp +msgid "Clear Emission Mask" +msgstr "" + +#: editor/plugins/cpu_particles_2d_editor_plugin.cpp +#: editor/plugins/particles_2d_editor_plugin.cpp +#: editor/plugins/particles_editor_plugin.cpp +msgid "Particles" +msgstr "" + +#: editor/plugins/cpu_particles_2d_editor_plugin.cpp +#: editor/plugins/particles_2d_editor_plugin.cpp +msgid "Generated Point Count:" +msgstr "" + +#: editor/plugins/cpu_particles_2d_editor_plugin.cpp +#: editor/plugins/particles_2d_editor_plugin.cpp +msgid "Emission Mask" +msgstr "" + +#: editor/plugins/cpu_particles_2d_editor_plugin.cpp +#: editor/plugins/particles_2d_editor_plugin.cpp +msgid "Capture from Pixel" +msgstr "" + +#: editor/plugins/cpu_particles_2d_editor_plugin.cpp +#: editor/plugins/particles_2d_editor_plugin.cpp +msgid "Emission Colors" +msgstr "" + #: editor/plugins/cpu_particles_editor_plugin.cpp msgid "CPUParticles" msgstr "" @@ -5059,52 +5142,15 @@ msgid "Can only set point into a ParticlesMaterial process material" msgstr "" #: editor/plugins/particles_2d_editor_plugin.cpp -msgid "Error loading image:" -msgstr "" - -#: editor/plugins/particles_2d_editor_plugin.cpp -msgid "No pixels with transparency > 128 in image..." -msgstr "" - -#: editor/plugins/particles_2d_editor_plugin.cpp -msgid "Load Emission Mask" -msgstr "" - -#: editor/plugins/particles_2d_editor_plugin.cpp -msgid "Clear Emission Mask" -msgstr "" - -#: editor/plugins/particles_2d_editor_plugin.cpp #: editor/plugins/particles_editor_plugin.cpp msgid "Convert to CPUParticles" msgstr "" #: editor/plugins/particles_2d_editor_plugin.cpp #: editor/plugins/particles_editor_plugin.cpp -msgid "Particles" -msgstr "" - -#: editor/plugins/particles_2d_editor_plugin.cpp -msgid "Generated Point Count:" -msgstr "" - -#: editor/plugins/particles_2d_editor_plugin.cpp -#: editor/plugins/particles_editor_plugin.cpp msgid "Generation Time (sec):" msgstr "" -#: editor/plugins/particles_2d_editor_plugin.cpp -msgid "Emission Mask" -msgstr "" - -#: editor/plugins/particles_2d_editor_plugin.cpp -msgid "Capture from Pixel" -msgstr "" - -#: editor/plugins/particles_2d_editor_plugin.cpp -msgid "Emission Colors" -msgstr "" - #: editor/plugins/particles_editor_plugin.cpp msgid "Faces contain no area!" msgstr "" @@ -5608,7 +5654,7 @@ msgid "Save Theme As..." msgstr "" #: editor/plugins/script_editor_plugin.cpp -msgid " Class Reference" +msgid "%s Class Reference" msgstr "" #: editor/plugins/script_editor_plugin.cpp @@ -6426,6 +6472,23 @@ msgid "Nameless gizmo" msgstr "" #: editor/plugins/sprite_editor_plugin.cpp +msgid "Create Mesh2D" +msgstr "" + +#: editor/plugins/sprite_editor_plugin.cpp +#, fuzzy +msgid "Create Polygon2D" +msgstr "Semua Pilihan" + +#: editor/plugins/sprite_editor_plugin.cpp +msgid "Create CollisionPolygon2D" +msgstr "" + +#: editor/plugins/sprite_editor_plugin.cpp +msgid "Create LightOccluder2D" +msgstr "" + +#: editor/plugins/sprite_editor_plugin.cpp msgid "Sprite is empty!" msgstr "" @@ -6438,15 +6501,35 @@ msgid "Invalid geometry, can't replace by mesh." msgstr "" #: editor/plugins/sprite_editor_plugin.cpp +msgid "Invalid geometry, can't create polygon." +msgstr "" + +#: editor/plugins/sprite_editor_plugin.cpp +msgid "Invalid geometry, can't create collision polygon." +msgstr "" + +#: editor/plugins/sprite_editor_plugin.cpp +msgid "Invalid geometry, can't create light occluder." +msgstr "" + +#: editor/plugins/sprite_editor_plugin.cpp msgid "Sprite" msgstr "" #: editor/plugins/sprite_editor_plugin.cpp -msgid "Convert to 2D Mesh" +msgid "Convert to Mesh2D" +msgstr "" + +#: editor/plugins/sprite_editor_plugin.cpp +msgid "Convert to Polygon2D" +msgstr "" + +#: editor/plugins/sprite_editor_plugin.cpp +msgid "Create CollisionPolygon2D Sibling" msgstr "" #: editor/plugins/sprite_editor_plugin.cpp -msgid "Create 2D Mesh" +msgid "Create LightOccluder2D Sibling" msgstr "" #: editor/plugins/sprite_editor_plugin.cpp @@ -7024,6 +7107,11 @@ msgid "Duplicate Nodes" msgstr "Anim Menduakan Kunci" #: editor/plugins/visual_shader_editor_plugin.cpp +#, fuzzy +msgid "Delete Nodes" +msgstr "Semua Pilihan" + +#: editor/plugins/visual_shader_editor_plugin.cpp msgid "Visual Shader Input Type Changed" msgstr "" @@ -8175,10 +8263,6 @@ msgid "Open documentation" msgstr "" #: editor/scene_tree_dock.cpp -msgid "Delete Node(s)" -msgstr "" - -#: editor/scene_tree_dock.cpp msgid "Add Child Node" msgstr "" diff --git a/editor/translations/nb.po b/editor/translations/nb.po index 405d71e43b..26bd0cc890 100644 --- a/editor/translations/nb.po +++ b/editor/translations/nb.po @@ -2,7 +2,7 @@ # Copyright (c) 2007-2019 Juan Linietsky, Ariel Manzur. # Copyright (c) 2014-2019 Godot Engine contributors (cf. AUTHORS.md) # This file is distributed under the same license as the Godot source code. -# Allan Nordhøy <epost@anotheragency.no>, 2017-2018. +# Allan Nordhøy <epost@anotheragency.no>, 2017-2018, 2019. # Anonymous <GentleSaucepan@protonmail.com>, 2017. # Elias <eliasnykrem@gmail.com>, 2018. # flesk <eivindkn@gmail.com>, 2017, 2019. @@ -12,12 +12,13 @@ # Norwegian Disaster <stian.furu.overbye@gmail.com>, 2017. # passeride <lukas@passeride.com>, 2017. # Byzantin <kasper-hoel@hotmail.com>, 2018. +# Hans-Marius Øverås <hansmariusoveras@gmail.com>, 2019. msgid "" msgstr "" "Project-Id-Version: Godot Engine editor\n" "POT-Creation-Date: \n" -"PO-Revision-Date: 2019-02-13 16:10+0000\n" -"Last-Translator: NicolaiF <nico-fre@hotmail.com>\n" +"PO-Revision-Date: 2019-04-23 15:48+0000\n" +"Last-Translator: Allan Nordhøy <epost@anotheragency.no>\n" "Language-Team: Norwegian Bokmål <https://hosted.weblate.org/projects/godot-" "engine/godot/nb_NO/>\n" "Language: nb\n" @@ -25,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 3.5-dev\n" +"X-Generator: Weblate 3.7-dev\n" #: core/math/expression.cpp modules/gdscript/gdscript_functions.cpp #: modules/visual_script/visual_script_builtin_funcs.cpp @@ -39,9 +40,8 @@ msgid "Not enough bytes for decoding bytes, or invalid format." msgstr "Ikke nok byte til dekodingsbyte, eller ugyldig format." #: core/math/expression.cpp -#, fuzzy msgid "Invalid input %i (not passed) in expression" -msgstr "Ikke gyldig inndata %i (ikke bestått) i utrykket" +msgstr "Ugyldig inndata %i (ikke bestått) i utrykket" #: core/math/expression.cpp msgid "self can't be used because instance is null (not passed)" @@ -467,7 +467,7 @@ msgstr "Grupper spor etter node eller vis dem i en enkel liste." #: editor/animation_track_editor.cpp #, fuzzy -msgid "Snap (s): " +msgid "Snap:" msgstr "Steg:" #: editor/animation_track_editor.cpp @@ -475,6 +475,14 @@ msgstr "Steg:" msgid "Animation step value." msgstr "Animasjonstre er gyldig." +#: editor/animation_track_editor.cpp +msgid "Seconds" +msgstr "" + +#: editor/animation_track_editor.cpp +msgid "FPS" +msgstr "" + #: editor/animation_track_editor.cpp editor/editor_properties.cpp #: editor/plugins/polygon_2d_editor_plugin.cpp #: editor/plugins/script_text_editor.cpp @@ -4001,6 +4009,11 @@ msgid "Delete Node" msgstr "Kutt Noder" #: editor/plugins/animation_blend_tree_editor_plugin.cpp +#: editor/scene_tree_dock.cpp +msgid "Delete Node(s)" +msgstr "" + +#: editor/plugins/animation_blend_tree_editor_plugin.cpp #, fuzzy msgid "Toggle Filter On/Off" msgstr "Vis/skjul distraksjonsfri modus." @@ -5015,9 +5028,34 @@ msgid "Layout" msgstr "Layout" #: editor/plugins/canvas_item_editor_plugin.cpp +msgid "Translation mask for inserting keys." +msgstr "" + +#: editor/plugins/canvas_item_editor_plugin.cpp +msgid "Rotation mask for inserting keys." +msgstr "" + +#: editor/plugins/canvas_item_editor_plugin.cpp +msgid "Scale mask for inserting keys." +msgstr "" + +#: editor/plugins/canvas_item_editor_plugin.cpp #, fuzzy -msgid "Insert keys." -msgstr "Sett inn Nøkler" +msgid "Insert keys (based on mask)." +msgstr "Sett inn Nøkkel (Eksisterende Spor)" + +#: editor/plugins/canvas_item_editor_plugin.cpp +msgid "" +"Auto insert keys when objects are translated, rotated on scaled (based on " +"mask).\n" +"Keys are only added to existing tracks, no new tracks will be created.\n" +"Keys must be inserted manually for the first time." +msgstr "" + +#: editor/plugins/canvas_item_editor_plugin.cpp +#, fuzzy +msgid "Auto Insert Key" +msgstr "Anim Sett Inn Nøkkel" #: editor/plugins/canvas_item_editor_plugin.cpp msgid "Insert Key (Existing Tracks)" @@ -5091,6 +5129,52 @@ msgstr "Rediger Poly (Fjern Punkt)" msgid "Set Handle" msgstr "Sett Handle" +#: editor/plugins/cpu_particles_2d_editor_plugin.cpp +#: editor/plugins/particles_2d_editor_plugin.cpp +msgid "Error loading image:" +msgstr "Feil ved innlasting av bilde:" + +#: editor/plugins/cpu_particles_2d_editor_plugin.cpp +#: editor/plugins/particles_2d_editor_plugin.cpp +msgid "No pixels with transparency > 128 in image..." +msgstr "Ingen piksler med gjennomsiktighet > 128 i bilde..." + +#: editor/plugins/cpu_particles_2d_editor_plugin.cpp +#: editor/plugins/particles_2d_editor_plugin.cpp +msgid "Load Emission Mask" +msgstr "" + +#: editor/plugins/cpu_particles_2d_editor_plugin.cpp +#: editor/plugins/particles_2d_editor_plugin.cpp +msgid "Clear Emission Mask" +msgstr "" + +#: editor/plugins/cpu_particles_2d_editor_plugin.cpp +#: editor/plugins/particles_2d_editor_plugin.cpp +#: editor/plugins/particles_editor_plugin.cpp +msgid "Particles" +msgstr "Partikler" + +#: editor/plugins/cpu_particles_2d_editor_plugin.cpp +#: editor/plugins/particles_2d_editor_plugin.cpp +msgid "Generated Point Count:" +msgstr "" + +#: editor/plugins/cpu_particles_2d_editor_plugin.cpp +#: editor/plugins/particles_2d_editor_plugin.cpp +msgid "Emission Mask" +msgstr "" + +#: editor/plugins/cpu_particles_2d_editor_plugin.cpp +#: editor/plugins/particles_2d_editor_plugin.cpp +msgid "Capture from Pixel" +msgstr "" + +#: editor/plugins/cpu_particles_2d_editor_plugin.cpp +#: editor/plugins/particles_2d_editor_plugin.cpp +msgid "Emission Colors" +msgstr "" + #: editor/plugins/cpu_particles_editor_plugin.cpp #, fuzzy msgid "CPUParticles" @@ -5446,22 +5530,6 @@ msgid "Can only set point into a ParticlesMaterial process material" msgstr "" #: editor/plugins/particles_2d_editor_plugin.cpp -msgid "Error loading image:" -msgstr "Feil ved innlasting av bilde:" - -#: editor/plugins/particles_2d_editor_plugin.cpp -msgid "No pixels with transparency > 128 in image..." -msgstr "Ingen piksler med gjennomsiktighet > 128 i bilde..." - -#: editor/plugins/particles_2d_editor_plugin.cpp -msgid "Load Emission Mask" -msgstr "" - -#: editor/plugins/particles_2d_editor_plugin.cpp -msgid "Clear Emission Mask" -msgstr "" - -#: editor/plugins/particles_2d_editor_plugin.cpp #: editor/plugins/particles_editor_plugin.cpp #, fuzzy msgid "Convert to CPUParticles" @@ -5469,30 +5537,9 @@ msgstr "Konverter til store versaler" #: editor/plugins/particles_2d_editor_plugin.cpp #: editor/plugins/particles_editor_plugin.cpp -msgid "Particles" -msgstr "Partikler" - -#: editor/plugins/particles_2d_editor_plugin.cpp -msgid "Generated Point Count:" -msgstr "" - -#: editor/plugins/particles_2d_editor_plugin.cpp -#: editor/plugins/particles_editor_plugin.cpp msgid "Generation Time (sec):" msgstr "" -#: editor/plugins/particles_2d_editor_plugin.cpp -msgid "Emission Mask" -msgstr "" - -#: editor/plugins/particles_2d_editor_plugin.cpp -msgid "Capture from Pixel" -msgstr "" - -#: editor/plugins/particles_2d_editor_plugin.cpp -msgid "Emission Colors" -msgstr "" - #: editor/plugins/particles_editor_plugin.cpp msgid "Faces contain no area!" msgstr "" @@ -6038,7 +6085,8 @@ msgid "Save Theme As..." msgstr "Lagre Tema Som..." #: editor/plugins/script_editor_plugin.cpp -msgid " Class Reference" +#, fuzzy +msgid "%s Class Reference" msgstr " Klassereferanse" #: editor/plugins/script_editor_plugin.cpp @@ -6887,6 +6935,26 @@ msgid "Nameless gizmo" msgstr "" #: editor/plugins/sprite_editor_plugin.cpp +#, fuzzy +msgid "Create Mesh2D" +msgstr "Lag ny %s" + +#: editor/plugins/sprite_editor_plugin.cpp +#, fuzzy +msgid "Create Polygon2D" +msgstr "Lag Poly" + +#: editor/plugins/sprite_editor_plugin.cpp +#, fuzzy +msgid "Create CollisionPolygon2D" +msgstr "Lag Poly" + +#: editor/plugins/sprite_editor_plugin.cpp +#, fuzzy +msgid "Create LightOccluder2D" +msgstr "Lag mappe" + +#: editor/plugins/sprite_editor_plugin.cpp msgid "Sprite is empty!" msgstr "" @@ -6899,18 +6967,39 @@ msgid "Invalid geometry, can't replace by mesh." msgstr "" #: editor/plugins/sprite_editor_plugin.cpp +msgid "Invalid geometry, can't create polygon." +msgstr "" + +#: editor/plugins/sprite_editor_plugin.cpp +msgid "Invalid geometry, can't create collision polygon." +msgstr "" + +#: editor/plugins/sprite_editor_plugin.cpp +msgid "Invalid geometry, can't create light occluder." +msgstr "" + +#: editor/plugins/sprite_editor_plugin.cpp msgid "Sprite" msgstr "" #: editor/plugins/sprite_editor_plugin.cpp #, fuzzy -msgid "Convert to 2D Mesh" +msgid "Convert to Mesh2D" msgstr "Konverter til store versaler" #: editor/plugins/sprite_editor_plugin.cpp #, fuzzy -msgid "Create 2D Mesh" -msgstr "Lag ny %s" +msgid "Convert to Polygon2D" +msgstr "Flytt Polygon" + +#: editor/plugins/sprite_editor_plugin.cpp +#, fuzzy +msgid "Create CollisionPolygon2D Sibling" +msgstr "Lag Poly" + +#: editor/plugins/sprite_editor_plugin.cpp +msgid "Create LightOccluder2D Sibling" +msgstr "" #: editor/plugins/sprite_editor_plugin.cpp msgid "Simplification: " @@ -7532,6 +7621,11 @@ msgid "Duplicate Nodes" msgstr "Anim Dupliser Nøkler" #: editor/plugins/visual_shader_editor_plugin.cpp +#, fuzzy +msgid "Delete Nodes" +msgstr "Kutt Noder" + +#: editor/plugins/visual_shader_editor_plugin.cpp msgid "Visual Shader Input Type Changed" msgstr "" @@ -8239,7 +8333,7 @@ msgstr "" #: editor/project_settings_editor.cpp editor/settings_config_dialog.cpp msgid "General" -msgstr "" +msgstr "Generelt" #: editor/project_settings_editor.cpp msgid "Override For..." @@ -8727,10 +8821,6 @@ msgid "Open documentation" msgstr "Åpne Godots nettbaserte dokumentasjon" #: editor/scene_tree_dock.cpp -msgid "Delete Node(s)" -msgstr "" - -#: editor/scene_tree_dock.cpp msgid "Add Child Node" msgstr "" @@ -10528,6 +10618,10 @@ msgid "Varyings can only be assigned in vertex function." msgstr "" #, fuzzy +#~ msgid "Insert keys." +#~ msgstr "Sett inn Nøkler" + +#, fuzzy #~ msgid "Instance the selected scene(s) as child of the selected node." #~ msgstr "Instanser den valgte scene(r) som barn av den valgte noden." diff --git a/editor/translations/nl.po b/editor/translations/nl.po index c0e046dc9b..6eb5a47d21 100644 --- a/editor/translations/nl.po +++ b/editor/translations/nl.po @@ -31,12 +31,13 @@ # Stijn Hinlopen <f.a.hinlopen@gmail.com>, 2019. # jef dered <themen098s@vivaldi.net>, 2019. # Alex H. <sandertjeh13@hotmail.com>, 2019. +# edouardgr <edouard.gruyters@gmail.com>, 2019. msgid "" msgstr "" "Project-Id-Version: Godot Engine editor\n" "POT-Creation-Date: \n" -"PO-Revision-Date: 2019-03-28 09:36+0000\n" -"Last-Translator: Alex H. <sandertjeh13@hotmail.com>\n" +"PO-Revision-Date: 2019-04-25 11:54+0000\n" +"Last-Translator: edouardgr <edouard.gruyters@gmail.com>\n" "Language-Team: Dutch <https://hosted.weblate.org/projects/godot-engine/godot/" "nl/>\n" "Language: nl\n" @@ -44,7 +45,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 3.6-dev\n" +"X-Generator: Weblate 3.7-dev\n" #: core/math/expression.cpp modules/gdscript/gdscript_functions.cpp #: modules/visual_script/visual_script_builtin_funcs.cpp @@ -450,13 +451,21 @@ msgstr "Sporen weergeven op basis van nodes of als lijst." #: editor/animation_track_editor.cpp #, fuzzy -msgid "Snap (s): " -msgstr "Stap(pen):" +msgid "Snap:" +msgstr "Snap" #: editor/animation_track_editor.cpp msgid "Animation step value." msgstr "Animatie stap waarde." +#: editor/animation_track_editor.cpp +msgid "Seconds" +msgstr "" + +#: editor/animation_track_editor.cpp +msgid "FPS" +msgstr "FPS" + #: editor/animation_track_editor.cpp editor/editor_properties.cpp #: editor/plugins/polygon_2d_editor_plugin.cpp #: editor/plugins/script_text_editor.cpp @@ -3895,6 +3904,12 @@ msgid "Delete Node" msgstr "Alles Selecteren" #: editor/plugins/animation_blend_tree_editor_plugin.cpp +#: editor/scene_tree_dock.cpp +#, fuzzy +msgid "Delete Node(s)" +msgstr "Verwijder knooppunt(en)" + +#: editor/plugins/animation_blend_tree_editor_plugin.cpp #, fuzzy msgid "Toggle Filter On/Off" msgstr "Aan-uitschakelaar Track." @@ -4887,9 +4902,34 @@ msgid "Layout" msgstr "Indeling" #: editor/plugins/canvas_item_editor_plugin.cpp +msgid "Translation mask for inserting keys." +msgstr "" + +#: editor/plugins/canvas_item_editor_plugin.cpp +msgid "Rotation mask for inserting keys." +msgstr "" + +#: editor/plugins/canvas_item_editor_plugin.cpp +msgid "Scale mask for inserting keys." +msgstr "" + +#: editor/plugins/canvas_item_editor_plugin.cpp #, fuzzy -msgid "Insert keys." -msgstr "Voer Sleutels In" +msgid "Insert keys (based on mask)." +msgstr "Voeg Sleutel in (Bestaande Banen)" + +#: editor/plugins/canvas_item_editor_plugin.cpp +msgid "" +"Auto insert keys when objects are translated, rotated on scaled (based on " +"mask).\n" +"Keys are only added to existing tracks, no new tracks will be created.\n" +"Keys must be inserted manually for the first time." +msgstr "" + +#: editor/plugins/canvas_item_editor_plugin.cpp +#, fuzzy +msgid "Auto Insert Key" +msgstr "Anim Key Invoegen" #: editor/plugins/canvas_item_editor_plugin.cpp msgid "Insert Key (Existing Tracks)" @@ -4962,6 +5002,52 @@ msgstr "Bewerk Poly (Verwijder punt)" msgid "Set Handle" msgstr "Stel Handgreep In" +#: editor/plugins/cpu_particles_2d_editor_plugin.cpp +#: editor/plugins/particles_2d_editor_plugin.cpp +msgid "Error loading image:" +msgstr "Error bij het laden van afbeelding:" + +#: editor/plugins/cpu_particles_2d_editor_plugin.cpp +#: editor/plugins/particles_2d_editor_plugin.cpp +msgid "No pixels with transparency > 128 in image..." +msgstr "Geen pixels met transparantie > 128 in afbeelding..." + +#: editor/plugins/cpu_particles_2d_editor_plugin.cpp +#: editor/plugins/particles_2d_editor_plugin.cpp +msgid "Load Emission Mask" +msgstr "Laad Emissie Masker" + +#: editor/plugins/cpu_particles_2d_editor_plugin.cpp +#: editor/plugins/particles_2d_editor_plugin.cpp +msgid "Clear Emission Mask" +msgstr "Leeg Emissie Masker" + +#: editor/plugins/cpu_particles_2d_editor_plugin.cpp +#: editor/plugins/particles_2d_editor_plugin.cpp +#: editor/plugins/particles_editor_plugin.cpp +msgid "Particles" +msgstr "Partikels" + +#: editor/plugins/cpu_particles_2d_editor_plugin.cpp +#: editor/plugins/particles_2d_editor_plugin.cpp +msgid "Generated Point Count:" +msgstr "Telling Gegenereerde Punten:" + +#: editor/plugins/cpu_particles_2d_editor_plugin.cpp +#: editor/plugins/particles_2d_editor_plugin.cpp +msgid "Emission Mask" +msgstr "Emissie Masker" + +#: editor/plugins/cpu_particles_2d_editor_plugin.cpp +#: editor/plugins/particles_2d_editor_plugin.cpp +msgid "Capture from Pixel" +msgstr "Neem uit Pixel" + +#: editor/plugins/cpu_particles_2d_editor_plugin.cpp +#: editor/plugins/particles_2d_editor_plugin.cpp +msgid "Emission Colors" +msgstr "Kleuren Emissie" + #: editor/plugins/cpu_particles_editor_plugin.cpp #, fuzzy msgid "CPUParticles" @@ -5324,22 +5410,6 @@ msgid "Can only set point into a ParticlesMaterial process material" msgstr "Kan punt alleen plaatsen in een PartikelsMateriaal proces materiaal" #: editor/plugins/particles_2d_editor_plugin.cpp -msgid "Error loading image:" -msgstr "Error bij het laden van afbeelding:" - -#: editor/plugins/particles_2d_editor_plugin.cpp -msgid "No pixels with transparency > 128 in image..." -msgstr "Geen pixels met transparantie > 128 in afbeelding..." - -#: editor/plugins/particles_2d_editor_plugin.cpp -msgid "Load Emission Mask" -msgstr "Laad Emissie Masker" - -#: editor/plugins/particles_2d_editor_plugin.cpp -msgid "Clear Emission Mask" -msgstr "Leeg Emissie Masker" - -#: editor/plugins/particles_2d_editor_plugin.cpp #: editor/plugins/particles_editor_plugin.cpp #, fuzzy msgid "Convert to CPUParticles" @@ -5347,30 +5417,9 @@ msgstr "Converteer Naar Hoofdletters" #: editor/plugins/particles_2d_editor_plugin.cpp #: editor/plugins/particles_editor_plugin.cpp -msgid "Particles" -msgstr "Partikels" - -#: editor/plugins/particles_2d_editor_plugin.cpp -msgid "Generated Point Count:" -msgstr "Telling Gegenereerde Punten:" - -#: editor/plugins/particles_2d_editor_plugin.cpp -#: editor/plugins/particles_editor_plugin.cpp msgid "Generation Time (sec):" msgstr "Genereer Tijd (sec):" -#: editor/plugins/particles_2d_editor_plugin.cpp -msgid "Emission Mask" -msgstr "Emissie Masker" - -#: editor/plugins/particles_2d_editor_plugin.cpp -msgid "Capture from Pixel" -msgstr "Neem uit Pixel" - -#: editor/plugins/particles_2d_editor_plugin.cpp -msgid "Emission Colors" -msgstr "Kleuren Emissie" - #: editor/plugins/particles_editor_plugin.cpp msgid "Faces contain no area!" msgstr "Vlakken bevatten geen gebied!" @@ -5916,7 +5965,8 @@ msgid "Save Theme As..." msgstr "Thema Opslaan Als..." #: editor/plugins/script_editor_plugin.cpp -msgid " Class Reference" +#, fuzzy +msgid "%s Class Reference" msgstr " Klasse Referentie" #: editor/plugins/script_editor_plugin.cpp @@ -6774,6 +6824,26 @@ msgstr "Naamloos apparaat" #: editor/plugins/sprite_editor_plugin.cpp #, fuzzy +msgid "Create Mesh2D" +msgstr "Creëer Omlijning Mesh" + +#: editor/plugins/sprite_editor_plugin.cpp +#, fuzzy +msgid "Create Polygon2D" +msgstr "Creëer Poly" + +#: editor/plugins/sprite_editor_plugin.cpp +#, fuzzy +msgid "Create CollisionPolygon2D" +msgstr "Creëer Navigatie Polygoon" + +#: editor/plugins/sprite_editor_plugin.cpp +#, fuzzy +msgid "Create LightOccluder2D" +msgstr "Creëer Occluder Polygon" + +#: editor/plugins/sprite_editor_plugin.cpp +#, fuzzy msgid "Sprite is empty!" msgstr "Mesh is leeg!" @@ -6787,18 +6857,43 @@ msgstr "Ongeldige geometrie, kan niet worden vervangen door Mesh." #: editor/plugins/sprite_editor_plugin.cpp #, fuzzy +msgid "Invalid geometry, can't create polygon." +msgstr "Ongeldige geometrie, kan niet worden vervangen door Mesh." + +#: editor/plugins/sprite_editor_plugin.cpp +#, fuzzy +msgid "Invalid geometry, can't create collision polygon." +msgstr "Ongeldige geometrie, kan niet worden vervangen door Mesh." + +#: editor/plugins/sprite_editor_plugin.cpp +#, fuzzy +msgid "Invalid geometry, can't create light occluder." +msgstr "Ongeldige geometrie, kan niet worden vervangen door Mesh." + +#: editor/plugins/sprite_editor_plugin.cpp +#, fuzzy msgid "Sprite" msgstr "Sprite-Frames" #: editor/plugins/sprite_editor_plugin.cpp #, fuzzy -msgid "Convert to 2D Mesh" +msgid "Convert to Mesh2D" msgstr "Verbind Aan Node:" #: editor/plugins/sprite_editor_plugin.cpp #, fuzzy -msgid "Create 2D Mesh" -msgstr "Creëer Omlijning Mesh" +msgid "Convert to Polygon2D" +msgstr "Beweeg Polygon" + +#: editor/plugins/sprite_editor_plugin.cpp +#, fuzzy +msgid "Create CollisionPolygon2D Sibling" +msgstr "Creëer Navigatie Polygoon" + +#: editor/plugins/sprite_editor_plugin.cpp +#, fuzzy +msgid "Create LightOccluder2D Sibling" +msgstr "Creëer Occluder Polygon" #: editor/plugins/sprite_editor_plugin.cpp msgid "Simplification: " @@ -7417,6 +7512,11 @@ msgid "Duplicate Nodes" msgstr "Dupliceer Graaf Knooppunt(en)" #: editor/plugins/visual_shader_editor_plugin.cpp +#, fuzzy +msgid "Delete Nodes" +msgstr "Alles Selecteren" + +#: editor/plugins/visual_shader_editor_plugin.cpp msgid "Visual Shader Input Type Changed" msgstr "Visuele Shader Invoertype Gewijzigd" @@ -8534,7 +8634,7 @@ msgstr "" #: editor/scene_tree_dock.cpp msgid "Instance Scene(s)" -msgstr "" +msgstr "Instantie Scene(s)" #: editor/scene_tree_dock.cpp msgid "Instance Child Scene" @@ -8542,7 +8642,7 @@ msgstr "" #: editor/scene_tree_dock.cpp msgid "Clear Script" -msgstr "" +msgstr "Script vrijmaken" #: editor/scene_tree_dock.cpp msgid "This operation can't be done on the tree root." @@ -8579,7 +8679,7 @@ msgstr "Klinkt logisch!" #: editor/scene_tree_dock.cpp msgid "Delete Node(s)?" -msgstr "" +msgstr "Verwijder knooppunt(en)?" #: editor/scene_tree_dock.cpp msgid "Can not perform with the root node." @@ -8664,8 +8764,9 @@ msgid "" msgstr "" #: editor/scene_tree_dock.cpp +#, fuzzy msgid "Error saving scene." -msgstr "" +msgstr "Fout scene opslaan." #: editor/scene_tree_dock.cpp msgid "Error duplicating scene to save it." @@ -8686,16 +8787,13 @@ msgid "Open documentation" msgstr "Open Godot online documentatie" #: editor/scene_tree_dock.cpp -msgid "Delete Node(s)" -msgstr "" - -#: editor/scene_tree_dock.cpp msgid "Add Child Node" msgstr "" #: editor/scene_tree_dock.cpp +#, fuzzy msgid "Change Type" -msgstr "" +msgstr "Verander Type" #: editor/scene_tree_dock.cpp #, fuzzy @@ -8721,12 +8819,13 @@ msgid "Copy Node Path" msgstr "Kopiëer Nodes" #: editor/scene_tree_dock.cpp +#, fuzzy msgid "Delete (No Confirm)" -msgstr "" +msgstr "Verwijder (Geen bevestiging)" #: editor/scene_tree_dock.cpp msgid "Add/Create a New Node" -msgstr "" +msgstr "Voeg nieuwe knooppunt aan" #: editor/scene_tree_dock.cpp msgid "" @@ -8740,7 +8839,7 @@ msgstr "" #: editor/scene_tree_dock.cpp msgid "Clear a script for the selected node." -msgstr "" +msgstr "Verwijder script van selecteerde knooppunt." #: editor/scene_tree_dock.cpp #, fuzzy @@ -8748,8 +8847,9 @@ msgid "Remote" msgstr "Verwijderen" #: editor/scene_tree_dock.cpp +#, fuzzy msgid "Local" -msgstr "" +msgstr "Lokaal" #: editor/scene_tree_dock.cpp msgid "Clear Inheritance? (No Undo!)" @@ -8761,8 +8861,9 @@ msgid "Toggle Visible" msgstr "Toggle Verborgen Bestanden" #: editor/scene_tree_editor.cpp +#, fuzzy msgid "Node configuration warning:" -msgstr "" +msgstr "Knooppunt configuratie waarschuwing:" #: editor/scene_tree_editor.cpp msgid "" @@ -10563,14 +10664,19 @@ msgstr "" msgid "Varyings can only be assigned in vertex function." msgstr "" +#, fuzzy +#~ msgid "Snap (s): " +#~ msgstr "Stap(pen):" + +#, fuzzy +#~ msgid "Insert keys." +#~ msgstr "Voer Sleutels In" + #~ msgid "Instance the selected scene(s) as child of the selected node." #~ msgstr "" #~ "Maak een nieuwe kopie van de geselecteerde scene(s) als kind van de " #~ "geselecteerde knoop." -#~ msgid "FPS" -#~ msgstr "FPS" - #~ msgid "Warnings:" #~ msgstr "Waarschuwingen:" diff --git a/editor/translations/pl.po b/editor/translations/pl.po index 530417f63c..7923ebe539 100644 --- a/editor/translations/pl.po +++ b/editor/translations/pl.po @@ -37,8 +37,8 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine editor\n" "POT-Creation-Date: \n" -"PO-Revision-Date: 2019-04-05 13:04+0000\n" -"Last-Translator: Przemysław Pierzga <przemyslawpierzga@gmail.com>\n" +"PO-Revision-Date: 2019-04-25 11:54+0000\n" +"Last-Translator: Tomek <kobewi4e@gmail.com>\n" "Language-Team: Polish <https://hosted.weblate.org/projects/godot-engine/" "godot/pl/>\n" "Language: pl\n" @@ -47,7 +47,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 3.6-dev\n" +"X-Generator: Weblate 3.7-dev\n" #: core/math/expression.cpp modules/gdscript/gdscript_functions.cpp #: modules/visual_script/visual_script_builtin_funcs.cpp @@ -445,13 +445,22 @@ msgid "Group tracks by node or display them as plain list." msgstr "Grupuj ścieżki po węzłach lub wyświetl je jako prostą listę." #: editor/animation_track_editor.cpp -msgid "Snap (s): " -msgstr "Przyciąganie (s): " +#, fuzzy +msgid "Snap:" +msgstr "Przyciągaj" #: editor/animation_track_editor.cpp msgid "Animation step value." msgstr "Wartość kroku animacji." +#: editor/animation_track_editor.cpp +msgid "Seconds" +msgstr "" + +#: editor/animation_track_editor.cpp +msgid "FPS" +msgstr "Klatki na sekundę" + #: editor/animation_track_editor.cpp editor/editor_properties.cpp #: editor/plugins/polygon_2d_editor_plugin.cpp #: editor/plugins/script_text_editor.cpp @@ -3829,6 +3838,11 @@ msgid "Delete Node" msgstr "Usuń węzeł" #: editor/plugins/animation_blend_tree_editor_plugin.cpp +#: editor/scene_tree_dock.cpp +msgid "Delete Node(s)" +msgstr "Usuń węzeł (węzły)" + +#: editor/plugins/animation_blend_tree_editor_plugin.cpp msgid "Toggle Filter On/Off" msgstr "Przełącz filtrowanie" @@ -4807,8 +4821,34 @@ msgid "Layout" msgstr "Układ" #: editor/plugins/canvas_item_editor_plugin.cpp -msgid "Insert keys." -msgstr "Wstaw klucze." +msgid "Translation mask for inserting keys." +msgstr "" + +#: editor/plugins/canvas_item_editor_plugin.cpp +msgid "Rotation mask for inserting keys." +msgstr "" + +#: editor/plugins/canvas_item_editor_plugin.cpp +msgid "Scale mask for inserting keys." +msgstr "" + +#: editor/plugins/canvas_item_editor_plugin.cpp +#, fuzzy +msgid "Insert keys (based on mask)." +msgstr "Wstaw klucz (istniejące ścieżki)" + +#: editor/plugins/canvas_item_editor_plugin.cpp +msgid "" +"Auto insert keys when objects are translated, rotated on scaled (based on " +"mask).\n" +"Keys are only added to existing tracks, no new tracks will be created.\n" +"Keys must be inserted manually for the first time." +msgstr "" + +#: editor/plugins/canvas_item_editor_plugin.cpp +#, fuzzy +msgid "Auto Insert Key" +msgstr "Wstaw klatkę kluczową" #: editor/plugins/canvas_item_editor_plugin.cpp msgid "Insert Key (Existing Tracks)" @@ -4861,7 +4901,7 @@ msgid "" "Drag & drop + Shift : Add node as sibling\n" "Drag & drop + Alt : Change node type" msgstr "" -"Przeciągnij i upuść + Shift: dodaj węzeł równorzędny\n" +"Przeciągnij i upuść + Shift: Dodaj węzeł równorzędny\n" "Przeciągnij i upuść + Alt: Zmień typ węzła" #: editor/plugins/collision_polygon_editor_plugin.cpp @@ -4880,6 +4920,52 @@ msgstr "Edytuj wielokąt (usuń punkty)" msgid "Set Handle" msgstr "Ustaw Uchwyt" +#: editor/plugins/cpu_particles_2d_editor_plugin.cpp +#: editor/plugins/particles_2d_editor_plugin.cpp +msgid "Error loading image:" +msgstr "Błąd wczytywania obrazu:" + +#: editor/plugins/cpu_particles_2d_editor_plugin.cpp +#: editor/plugins/particles_2d_editor_plugin.cpp +msgid "No pixels with transparency > 128 in image..." +msgstr "Brak pikseli z przeźroczystością > 128 w obrazie..." + +#: editor/plugins/cpu_particles_2d_editor_plugin.cpp +#: editor/plugins/particles_2d_editor_plugin.cpp +msgid "Load Emission Mask" +msgstr "Wczytaj maskę emisji" + +#: editor/plugins/cpu_particles_2d_editor_plugin.cpp +#: editor/plugins/particles_2d_editor_plugin.cpp +msgid "Clear Emission Mask" +msgstr "Usuń maskę emisji" + +#: editor/plugins/cpu_particles_2d_editor_plugin.cpp +#: editor/plugins/particles_2d_editor_plugin.cpp +#: editor/plugins/particles_editor_plugin.cpp +msgid "Particles" +msgstr "Cząsteczki" + +#: editor/plugins/cpu_particles_2d_editor_plugin.cpp +#: editor/plugins/particles_2d_editor_plugin.cpp +msgid "Generated Point Count:" +msgstr "Wygeneruj chmurę punktów:" + +#: editor/plugins/cpu_particles_2d_editor_plugin.cpp +#: editor/plugins/particles_2d_editor_plugin.cpp +msgid "Emission Mask" +msgstr "Maska emisji" + +#: editor/plugins/cpu_particles_2d_editor_plugin.cpp +#: editor/plugins/particles_2d_editor_plugin.cpp +msgid "Capture from Pixel" +msgstr "Przechwytywanie z piksela" + +#: editor/plugins/cpu_particles_2d_editor_plugin.cpp +#: editor/plugins/particles_2d_editor_plugin.cpp +msgid "Emission Colors" +msgstr "Kolor emisji" + #: editor/plugins/cpu_particles_editor_plugin.cpp msgid "CPUParticles" msgstr "Cząsteczki CPU" @@ -5230,52 +5316,15 @@ msgid "Can only set point into a ParticlesMaterial process material" msgstr "Punkt można wstawić tylko w materiał przetwarzania ParticlesMaterial" #: editor/plugins/particles_2d_editor_plugin.cpp -msgid "Error loading image:" -msgstr "Błąd wczytywania obrazu:" - -#: editor/plugins/particles_2d_editor_plugin.cpp -msgid "No pixels with transparency > 128 in image..." -msgstr "Brak pikseli z przeźroczystością > 128 w obrazie..." - -#: editor/plugins/particles_2d_editor_plugin.cpp -msgid "Load Emission Mask" -msgstr "Wczytaj maskę emisji" - -#: editor/plugins/particles_2d_editor_plugin.cpp -msgid "Clear Emission Mask" -msgstr "Usuń maskę emisji" - -#: editor/plugins/particles_2d_editor_plugin.cpp #: editor/plugins/particles_editor_plugin.cpp msgid "Convert to CPUParticles" msgstr "Przekonwertuj na cząsteczki CPU" #: editor/plugins/particles_2d_editor_plugin.cpp #: editor/plugins/particles_editor_plugin.cpp -msgid "Particles" -msgstr "Cząsteczki" - -#: editor/plugins/particles_2d_editor_plugin.cpp -msgid "Generated Point Count:" -msgstr "Wygeneruj chmurę punktów:" - -#: editor/plugins/particles_2d_editor_plugin.cpp -#: editor/plugins/particles_editor_plugin.cpp msgid "Generation Time (sec):" msgstr "Czas generowania (sek):" -#: editor/plugins/particles_2d_editor_plugin.cpp -msgid "Emission Mask" -msgstr "Maska emisji" - -#: editor/plugins/particles_2d_editor_plugin.cpp -msgid "Capture from Pixel" -msgstr "Przechwytywanie z piksela" - -#: editor/plugins/particles_2d_editor_plugin.cpp -msgid "Emission Colors" -msgstr "Kolor emisji" - #: editor/plugins/particles_editor_plugin.cpp msgid "Faces contain no area!" msgstr "Ściana nie ma powierzchni!" @@ -5785,7 +5834,8 @@ msgid "Save Theme As..." msgstr "Zapisz motyw jako..." #: editor/plugins/script_editor_plugin.cpp -msgid " Class Reference" +#, fuzzy +msgid "%s Class Reference" msgstr " - referencja klasy" #: editor/plugins/script_editor_plugin.cpp @@ -6035,7 +6085,7 @@ msgstr "Wcięcie w prawo" #: editor/plugins/script_text_editor.cpp msgid "Toggle Comment" -msgstr "Ustaw komentarz" +msgstr "Przełącz komentarz" #: editor/plugins/script_text_editor.cpp msgid "Fold/Unfold Line" @@ -6610,6 +6660,26 @@ msgid "Nameless gizmo" msgstr "Uchwyt bez nazwy" #: editor/plugins/sprite_editor_plugin.cpp +#, fuzzy +msgid "Create Mesh2D" +msgstr "Utwórz siatkę 2D" + +#: editor/plugins/sprite_editor_plugin.cpp +#, fuzzy +msgid "Create Polygon2D" +msgstr "Utwórz Wielokąt3D" + +#: editor/plugins/sprite_editor_plugin.cpp +#, fuzzy +msgid "Create CollisionPolygon2D" +msgstr "Utwórz wielokąt kolizji" + +#: editor/plugins/sprite_editor_plugin.cpp +#, fuzzy +msgid "Create LightOccluder2D" +msgstr "Stwórz Occluder Polygon" + +#: editor/plugins/sprite_editor_plugin.cpp msgid "Sprite is empty!" msgstr "Sprite jest pusty!" @@ -6623,16 +6693,43 @@ msgid "Invalid geometry, can't replace by mesh." msgstr "Nieprawidłowa geometria, nie można zastąpić przez siatkę." #: editor/plugins/sprite_editor_plugin.cpp +#, fuzzy +msgid "Invalid geometry, can't create polygon." +msgstr "Nieprawidłowa geometria, nie można zastąpić przez siatkę." + +#: editor/plugins/sprite_editor_plugin.cpp +#, fuzzy +msgid "Invalid geometry, can't create collision polygon." +msgstr "Nieprawidłowa geometria, nie można zastąpić przez siatkę." + +#: editor/plugins/sprite_editor_plugin.cpp +#, fuzzy +msgid "Invalid geometry, can't create light occluder." +msgstr "Nieprawidłowa geometria, nie można zastąpić przez siatkę." + +#: editor/plugins/sprite_editor_plugin.cpp msgid "Sprite" msgstr "Sprite" #: editor/plugins/sprite_editor_plugin.cpp -msgid "Convert to 2D Mesh" +#, fuzzy +msgid "Convert to Mesh2D" msgstr "Konwertuj do siatki 2D" #: editor/plugins/sprite_editor_plugin.cpp -msgid "Create 2D Mesh" -msgstr "Utwórz siatkę 2D" +#, fuzzy +msgid "Convert to Polygon2D" +msgstr "Przesuń Wielokąt" + +#: editor/plugins/sprite_editor_plugin.cpp +#, fuzzy +msgid "Create CollisionPolygon2D Sibling" +msgstr "Utwórz wielokąt kolizji" + +#: editor/plugins/sprite_editor_plugin.cpp +#, fuzzy +msgid "Create LightOccluder2D Sibling" +msgstr "Stwórz Occluder Polygon" #: editor/plugins/sprite_editor_plugin.cpp msgid "Simplification: " @@ -7217,12 +7314,17 @@ msgid "Duplicate Nodes" msgstr "Duplikuj węzły" #: editor/plugins/visual_shader_editor_plugin.cpp +#, fuzzy +msgid "Delete Nodes" +msgstr "Usuń węzeł" + +#: editor/plugins/visual_shader_editor_plugin.cpp msgid "Visual Shader Input Type Changed" msgstr "Typ wejścia shadera wizualnego zmieniony" #: editor/plugins/visual_shader_editor_plugin.cpp msgid "Vertex" -msgstr "Wierzchołek" +msgstr "Wierzchołki" #: editor/plugins/visual_shader_editor_plugin.cpp msgid "Fragment" @@ -8433,10 +8535,6 @@ msgid "Open documentation" msgstr "Otwórz dokumentację" #: editor/scene_tree_dock.cpp -msgid "Delete Node(s)" -msgstr "Usuń węzeł (węzły)" - -#: editor/scene_tree_dock.cpp msgid "Add Child Node" msgstr "Dodaj węzeł" @@ -10310,12 +10408,15 @@ msgstr "Przypisanie do uniformu." msgid "Varyings can only be assigned in vertex function." msgstr "Varying może być przypisane tylko w funkcji wierzchołków." +#~ msgid "Snap (s): " +#~ msgstr "Przyciąganie (s): " + +#~ msgid "Insert keys." +#~ msgstr "Wstaw klucze." + #~ msgid "Instance the selected scene(s) as child of the selected node." #~ msgstr "Utwórz instancję wybranej sceny/scen jako dziecko wybranego węzła." -#~ msgid "FPS" -#~ msgstr "Klatki na sekundę" - #~ msgid "Warnings:" #~ msgstr "Ostrzeżenia:" diff --git a/editor/translations/pr.po b/editor/translations/pr.po index dea945f474..0aa4cbbca8 100644 --- a/editor/translations/pr.po +++ b/editor/translations/pr.po @@ -428,13 +428,21 @@ msgid "Group tracks by node or display them as plain list." msgstr "" #: editor/animation_track_editor.cpp -msgid "Snap (s): " +msgid "Snap:" msgstr "" #: editor/animation_track_editor.cpp msgid "Animation step value." msgstr "" +#: editor/animation_track_editor.cpp +msgid "Seconds" +msgstr "" + +#: editor/animation_track_editor.cpp +msgid "FPS" +msgstr "" + #: editor/animation_track_editor.cpp editor/editor_properties.cpp #: editor/plugins/polygon_2d_editor_plugin.cpp #: editor/plugins/script_text_editor.cpp @@ -3763,6 +3771,11 @@ msgid "Delete Node" msgstr "Slit th' Node" #: editor/plugins/animation_blend_tree_editor_plugin.cpp +#: editor/scene_tree_dock.cpp +msgid "Delete Node(s)" +msgstr "" + +#: editor/plugins/animation_blend_tree_editor_plugin.cpp msgid "Toggle Filter On/Off" msgstr "" @@ -4729,7 +4742,31 @@ msgid "Layout" msgstr "" #: editor/plugins/canvas_item_editor_plugin.cpp -msgid "Insert keys." +msgid "Translation mask for inserting keys." +msgstr "" + +#: editor/plugins/canvas_item_editor_plugin.cpp +msgid "Rotation mask for inserting keys." +msgstr "" + +#: editor/plugins/canvas_item_editor_plugin.cpp +msgid "Scale mask for inserting keys." +msgstr "" + +#: editor/plugins/canvas_item_editor_plugin.cpp +msgid "Insert keys (based on mask)." +msgstr "" + +#: editor/plugins/canvas_item_editor_plugin.cpp +msgid "" +"Auto insert keys when objects are translated, rotated on scaled (based on " +"mask).\n" +"Keys are only added to existing tracks, no new tracks will be created.\n" +"Keys must be inserted manually for the first time." +msgstr "" + +#: editor/plugins/canvas_item_editor_plugin.cpp +msgid "Auto Insert Key" msgstr "" #: editor/plugins/canvas_item_editor_plugin.cpp @@ -4801,6 +4838,52 @@ msgstr "" msgid "Set Handle" msgstr "" +#: editor/plugins/cpu_particles_2d_editor_plugin.cpp +#: editor/plugins/particles_2d_editor_plugin.cpp +msgid "Error loading image:" +msgstr "" + +#: editor/plugins/cpu_particles_2d_editor_plugin.cpp +#: editor/plugins/particles_2d_editor_plugin.cpp +msgid "No pixels with transparency > 128 in image..." +msgstr "" + +#: editor/plugins/cpu_particles_2d_editor_plugin.cpp +#: editor/plugins/particles_2d_editor_plugin.cpp +msgid "Load Emission Mask" +msgstr "" + +#: editor/plugins/cpu_particles_2d_editor_plugin.cpp +#: editor/plugins/particles_2d_editor_plugin.cpp +msgid "Clear Emission Mask" +msgstr "" + +#: editor/plugins/cpu_particles_2d_editor_plugin.cpp +#: editor/plugins/particles_2d_editor_plugin.cpp +#: editor/plugins/particles_editor_plugin.cpp +msgid "Particles" +msgstr "" + +#: editor/plugins/cpu_particles_2d_editor_plugin.cpp +#: editor/plugins/particles_2d_editor_plugin.cpp +msgid "Generated Point Count:" +msgstr "" + +#: editor/plugins/cpu_particles_2d_editor_plugin.cpp +#: editor/plugins/particles_2d_editor_plugin.cpp +msgid "Emission Mask" +msgstr "" + +#: editor/plugins/cpu_particles_2d_editor_plugin.cpp +#: editor/plugins/particles_2d_editor_plugin.cpp +msgid "Capture from Pixel" +msgstr "" + +#: editor/plugins/cpu_particles_2d_editor_plugin.cpp +#: editor/plugins/particles_2d_editor_plugin.cpp +msgid "Emission Colors" +msgstr "" + #: editor/plugins/cpu_particles_editor_plugin.cpp msgid "CPUParticles" msgstr "" @@ -5154,52 +5237,15 @@ msgid "Can only set point into a ParticlesMaterial process material" msgstr "" #: editor/plugins/particles_2d_editor_plugin.cpp -msgid "Error loading image:" -msgstr "" - -#: editor/plugins/particles_2d_editor_plugin.cpp -msgid "No pixels with transparency > 128 in image..." -msgstr "" - -#: editor/plugins/particles_2d_editor_plugin.cpp -msgid "Load Emission Mask" -msgstr "" - -#: editor/plugins/particles_2d_editor_plugin.cpp -msgid "Clear Emission Mask" -msgstr "" - -#: editor/plugins/particles_2d_editor_plugin.cpp #: editor/plugins/particles_editor_plugin.cpp msgid "Convert to CPUParticles" msgstr "" #: editor/plugins/particles_2d_editor_plugin.cpp #: editor/plugins/particles_editor_plugin.cpp -msgid "Particles" -msgstr "" - -#: editor/plugins/particles_2d_editor_plugin.cpp -msgid "Generated Point Count:" -msgstr "" - -#: editor/plugins/particles_2d_editor_plugin.cpp -#: editor/plugins/particles_editor_plugin.cpp msgid "Generation Time (sec):" msgstr "" -#: editor/plugins/particles_2d_editor_plugin.cpp -msgid "Emission Mask" -msgstr "" - -#: editor/plugins/particles_2d_editor_plugin.cpp -msgid "Capture from Pixel" -msgstr "" - -#: editor/plugins/particles_2d_editor_plugin.cpp -msgid "Emission Colors" -msgstr "" - #: editor/plugins/particles_editor_plugin.cpp msgid "Faces contain no area!" msgstr "" @@ -5719,7 +5765,7 @@ msgid "Save Theme As..." msgstr "" #: editor/plugins/script_editor_plugin.cpp -msgid " Class Reference" +msgid "%s Class Reference" msgstr "" #: editor/plugins/script_editor_plugin.cpp @@ -6551,6 +6597,26 @@ msgid "Nameless gizmo" msgstr "" #: editor/plugins/sprite_editor_plugin.cpp +#, fuzzy +msgid "Create Mesh2D" +msgstr "Yar, Blow th' Selected Down!" + +#: editor/plugins/sprite_editor_plugin.cpp +#, fuzzy +msgid "Create Polygon2D" +msgstr "Yar, Blow th' Selected Down!" + +#: editor/plugins/sprite_editor_plugin.cpp +#, fuzzy +msgid "Create CollisionPolygon2D" +msgstr "Yar, Blow th' Selected Down!" + +#: editor/plugins/sprite_editor_plugin.cpp +#, fuzzy +msgid "Create LightOccluder2D" +msgstr "Yar, Blow th' Selected Down!" + +#: editor/plugins/sprite_editor_plugin.cpp msgid "Sprite is empty!" msgstr "" @@ -6563,15 +6629,37 @@ msgid "Invalid geometry, can't replace by mesh." msgstr "" #: editor/plugins/sprite_editor_plugin.cpp +msgid "Invalid geometry, can't create polygon." +msgstr "" + +#: editor/plugins/sprite_editor_plugin.cpp +msgid "Invalid geometry, can't create collision polygon." +msgstr "" + +#: editor/plugins/sprite_editor_plugin.cpp +msgid "Invalid geometry, can't create light occluder." +msgstr "" + +#: editor/plugins/sprite_editor_plugin.cpp msgid "Sprite" msgstr "" #: editor/plugins/sprite_editor_plugin.cpp -msgid "Convert to 2D Mesh" +msgid "Convert to Mesh2D" msgstr "" #: editor/plugins/sprite_editor_plugin.cpp -msgid "Create 2D Mesh" +#, fuzzy +msgid "Convert to Polygon2D" +msgstr "Discharge ye' Function" + +#: editor/plugins/sprite_editor_plugin.cpp +#, fuzzy +msgid "Create CollisionPolygon2D Sibling" +msgstr "Yar, Blow th' Selected Down!" + +#: editor/plugins/sprite_editor_plugin.cpp +msgid "Create LightOccluder2D Sibling" msgstr "" #: editor/plugins/sprite_editor_plugin.cpp @@ -7177,6 +7265,11 @@ msgid "Duplicate Nodes" msgstr "Rename Variable" #: editor/plugins/visual_shader_editor_plugin.cpp +#, fuzzy +msgid "Delete Nodes" +msgstr "Slit th' Node" + +#: editor/plugins/visual_shader_editor_plugin.cpp msgid "Visual Shader Input Type Changed" msgstr "" @@ -8342,10 +8435,6 @@ msgid "Open documentation" msgstr "Yer functions:" #: editor/scene_tree_dock.cpp -msgid "Delete Node(s)" -msgstr "" - -#: editor/scene_tree_dock.cpp msgid "Add Child Node" msgstr "" diff --git a/editor/translations/pt_BR.po b/editor/translations/pt_BR.po index 0deb9619d0..9dc52df2be 100644 --- a/editor/translations/pt_BR.po +++ b/editor/translations/pt_BR.po @@ -56,12 +56,14 @@ # Davi <wokep.ma.wavid@gmail.com>, 2019. # Endrick Gustavo <endrickgb@hotmail.com>, 2019. # Hans M. Boron <hansmateusboron@gmail.com>, 2019. +# Gustavo Bolanho <jdmapas@gmail.com>, 2019. +# Nilton Bendini Junior <almascelulas@bol.com.br>, 2019. msgid "" msgstr "" "Project-Id-Version: Godot Engine editor\n" "POT-Creation-Date: 2016-05-30\n" -"PO-Revision-Date: 2019-04-08 10:35+0000\n" -"Last-Translator: Hans M. Boron <hansmateusboron@gmail.com>\n" +"PO-Revision-Date: 2019-04-19 16:33+0000\n" +"Last-Translator: Nilton Bendini Junior <almascelulas@bol.com.br>\n" "Language-Team: Portuguese (Brazil) <https://hosted.weblate.org/projects/" "godot-engine/godot/pt_BR/>\n" "Language: pt_BR\n" @@ -259,7 +261,7 @@ msgstr "Tempo (s): " #: editor/animation_track_editor.cpp msgid "Toggle Track Enabled" -msgstr "Ligar/Desligar trilha" +msgstr "Alternar Trilha Ativado" #: editor/animation_track_editor.cpp msgid "Continuous" @@ -313,7 +315,7 @@ msgstr "Deletar Chave(s)" #: editor/animation_track_editor.cpp msgid "Change Animation Update Mode" -msgstr "Alterar Modo de Atualização da Animação:" +msgstr "Alterar Modo de Atualização da Animação" #: editor/animation_track_editor.cpp msgid "Change Animation Interpolation Mode" @@ -369,9 +371,8 @@ msgid "Change Animation Step" msgstr "Alterar FPS da Animação" #: editor/animation_track_editor.cpp -#, fuzzy msgid "Rearrange Tracks" -msgstr "Reordenar Faixas" +msgstr "Reordenar Trilhas" #: editor/animation_track_editor.cpp msgid "Transform tracks only apply to Spatial-based nodes." @@ -416,13 +417,12 @@ msgid "Track is not of type Spatial, can't insert key" msgstr "Trilha não é do tipo Espacial,não pode inserir chave" #: editor/animation_track_editor.cpp -#, fuzzy msgid "Add Transform Track Key" -msgstr "Trilha de transformação 3D" +msgstr "Adicionar Chave de Transformação de Trilha" #: editor/animation_track_editor.cpp msgid "Add Track Key" -msgstr "Adicionar Trilha" +msgstr "Adicionar Trilha Chave" #: editor/animation_track_editor.cpp msgid "Track path is invalid, so can't add a method key." @@ -430,9 +430,8 @@ msgstr "" "Caminho da trilha é inválido,então não pode adicionar uma chave de método." #: editor/animation_track_editor.cpp -#, fuzzy msgid "Add Method Track Key" -msgstr "Trilha de método de chamada" +msgstr "Adiciona Método de Trilha Chave" #: editor/animation_track_editor.cpp msgid "Method not found in object: " @@ -469,13 +468,22 @@ msgid "Group tracks by node or display them as plain list." msgstr "Agrupe as trilhas pelo nó ou exiba-as como lista simples." #: editor/animation_track_editor.cpp -msgid "Snap (s): " -msgstr "Snap (s): " +#, fuzzy +msgid "Snap:" +msgstr "Snap" #: editor/animation_track_editor.cpp msgid "Animation step value." msgstr "Valor do passo de animação." +#: editor/animation_track_editor.cpp +msgid "Seconds" +msgstr "" + +#: editor/animation_track_editor.cpp +msgid "FPS" +msgstr "FPS" + #: editor/animation_track_editor.cpp editor/editor_properties.cpp #: editor/plugins/polygon_2d_editor_plugin.cpp #: editor/plugins/script_text_editor.cpp @@ -594,17 +602,16 @@ msgid "Copy" msgstr "Copiar" #: editor/animation_track_editor_plugins.cpp -#, fuzzy msgid "Add Audio Track Clip" -msgstr "Clipes de Áudio:" +msgstr "Adiciona Clipe de Trilha de Áudio" #: editor/animation_track_editor_plugins.cpp msgid "Change Audio Track Clip Start Offset" -msgstr "" +msgstr "Alterar Deslocamento do Início de Clipe da Trilha de Áudio" #: editor/animation_track_editor_plugins.cpp msgid "Change Audio Track Clip End Offset" -msgstr "" +msgstr "Alterar deslocamento de fim do clipe de faixa de áudio" #: editor/array_property_edit.cpp msgid "Resize Array" @@ -1236,7 +1243,7 @@ msgstr "Adicionar Canal" #: editor/editor_audio_buses.cpp msgid "Add a new Audio Bus to this layout." -msgstr "Adiciona um novo Canal de Áudio a esse layout." +msgstr "Adicionar novo Canal de Áudio a esse layout." #: editor/editor_audio_buses.cpp editor/editor_properties.cpp #: editor/plugins/animation_player_editor_plugin.cpp editor/property_editor.cpp @@ -1427,6 +1434,8 @@ msgid "" "Target platform requires 'ETC2' texture compression for GLES3. Enable " "'Import Etc 2' in Project Settings." msgstr "" +"A plataforma de destino requer compactação de textura 'ETC2' para GLES3. " +"Ativar 'Importar Etc 2' nas Configurações do Projeto." #: editor/editor_export.cpp msgid "" @@ -1435,6 +1444,10 @@ msgid "" "Enable 'Import Etc' in Project Settings, or disable 'Driver Fallback " "Enabled'." msgstr "" +"A plataforma de destino requer compactação de textura 'ETC' para o driver " +"retornar ao GLES2.\n" +"Ativar 'Importar Etc' em Configurações do Projeto ou desabilitar 'Driver " +"Fallback Enabled' (Recuperação de driver ativada)." #: editor/editor_export.cpp platform/android/export/export.cpp #: platform/iphone/export/export.cpp platform/javascript/export/export.cpp @@ -1557,23 +1570,20 @@ msgid "Move Favorite Down" msgstr "Mover Favorito Abaixo" #: editor/editor_file_dialog.cpp -#, fuzzy msgid "Previous Folder" -msgstr "Chão Anterior" +msgstr "Pasta Anterior" #: editor/editor_file_dialog.cpp -#, fuzzy msgid "Next Folder" -msgstr "Próximo Chão" +msgstr "Próxima Pasta" #: editor/editor_file_dialog.cpp msgid "Go to parent folder" msgstr "Ir para pasta pai" #: editor/editor_file_dialog.cpp -#, fuzzy msgid "(Un)favorite current folder." -msgstr "Não foi possível criar a pasta." +msgstr "(Des)favoritar pasta atual." #: editor/editor_file_dialog.cpp editor/filesystem_dock.cpp msgid "View items as a grid of thumbnails." @@ -1806,9 +1816,8 @@ msgid "Project export failed with error code %d." msgstr "Falha na exportação do projeto com código de erro %d." #: editor/editor_node.cpp -#, fuzzy msgid "Imported resources can't be saved." -msgstr "Recursos Importados" +msgstr "Recursos Importados não podem ser salvos." #: editor/editor_node.cpp editor/plugins/script_editor_plugin.cpp #: scene/gui/dialogs.cpp @@ -3684,18 +3693,16 @@ msgstr "Carregar..." #: editor/plugins/animation_blend_space_1d_editor.cpp #: editor/plugins/animation_blend_space_2d_editor.cpp -#, fuzzy msgid "Move Node Point" -msgstr "Mover pontos" +msgstr "Mover o ponto do nó" #: editor/plugins/animation_blend_space_1d_editor.cpp msgid "Change BlendSpace1D Limits" msgstr "Alterar limites do BlendSpace1D" #: editor/plugins/animation_blend_space_1d_editor.cpp -#, fuzzy msgid "Change BlendSpace1D Labels" -msgstr "Alterar Tempo de Mistura" +msgstr "Alterar rótulos BlendSpace1D" #: editor/plugins/animation_blend_space_1d_editor.cpp #: editor/plugins/animation_blend_space_2d_editor.cpp @@ -3706,24 +3713,21 @@ msgstr "" #: editor/plugins/animation_blend_space_1d_editor.cpp #: editor/plugins/animation_blend_space_2d_editor.cpp -#, fuzzy msgid "Add Node Point" -msgstr "Adicionar Nó" +msgstr "Adicionar ponto de Nó" #: editor/plugins/animation_blend_space_1d_editor.cpp #: editor/plugins/animation_blend_space_2d_editor.cpp -#, fuzzy msgid "Add Animation Point" -msgstr "Adicionar Animação" +msgstr "Adicionar ponto de Animação" #: editor/plugins/animation_blend_space_1d_editor.cpp -#, fuzzy msgid "Remove BlendSpace1D Point" -msgstr "Remover Ponto do Caminho" +msgstr "Remover Ponto BlendSpace1D" #: editor/plugins/animation_blend_space_1d_editor.cpp msgid "Move BlendSpace1D Node Point" -msgstr "" +msgstr "Mover ponto de nó BlendSpace1D" #: editor/plugins/animation_blend_space_1d_editor.cpp #: editor/plugins/animation_blend_space_2d_editor.cpp @@ -3769,29 +3773,24 @@ msgid "Triangle already exists" msgstr "Triângulo já existe" #: editor/plugins/animation_blend_space_2d_editor.cpp -#, fuzzy msgid "Add Triangle" -msgstr "Adicionar Variável" +msgstr "Adicionar Triângulo" #: editor/plugins/animation_blend_space_2d_editor.cpp -#, fuzzy msgid "Change BlendSpace2D Limits" -msgstr "Alterar Tempo de Mistura" +msgstr "Alterar limites de BlendSpace2D" #: editor/plugins/animation_blend_space_2d_editor.cpp -#, fuzzy msgid "Change BlendSpace2D Labels" -msgstr "Alterar Tempo de Mistura" +msgstr "Alterar rótulos de BlendSpace2D" #: editor/plugins/animation_blend_space_2d_editor.cpp -#, fuzzy msgid "Remove BlendSpace2D Point" -msgstr "Remover Ponto do Caminho" +msgstr "Remover Ponto do BlendSpace2D" #: editor/plugins/animation_blend_space_2d_editor.cpp -#, fuzzy msgid "Remove BlendSpace2D Triangle" -msgstr "Remover Variável" +msgstr "Remover Triangulo do BlendSpace2D" #: editor/plugins/animation_blend_space_2d_editor.cpp msgid "BlendSpace2D does not belong to an AnimationTree node." @@ -3802,9 +3801,8 @@ msgid "No triangles exist, so no blending can take place." msgstr "Não existem triângulos, então nenhuma mistura pode acontecer." #: editor/plugins/animation_blend_space_2d_editor.cpp -#, fuzzy msgid "Toggle Auto Triangles" -msgstr "Alternar Auto Carregamentos de Globais" +msgstr "Alternar Triângulos Automáticos" #: editor/plugins/animation_blend_space_2d_editor.cpp msgid "Create triangles by connecting points." @@ -3837,9 +3835,8 @@ msgid "Output node can't be added to the blend tree." msgstr "Nós de saída não pode ser adicionado à árvore de mistura." #: editor/plugins/animation_blend_tree_editor_plugin.cpp -#, fuzzy msgid "Add Node to BlendTree" -msgstr "Adicionar Nó(s) a Partir da Árvore" +msgstr "Adicionar Nó(s) a Partir da Árvore (BlendTree)" #: editor/plugins/animation_blend_tree_editor_plugin.cpp #: editor/plugins/visual_shader_editor_plugin.cpp @@ -3863,9 +3860,8 @@ msgid "Nodes Disconnected" msgstr "Nós Desconectados" #: editor/plugins/animation_blend_tree_editor_plugin.cpp -#, fuzzy msgid "Set Animation" -msgstr "Nova animação" +msgstr "Definir Animação" #: editor/plugins/animation_blend_tree_editor_plugin.cpp #: editor/plugins/visual_shader_editor_plugin.cpp @@ -3873,14 +3869,17 @@ msgid "Delete Node" msgstr "Excluir Nó" #: editor/plugins/animation_blend_tree_editor_plugin.cpp -#, fuzzy +#: editor/scene_tree_dock.cpp +msgid "Delete Node(s)" +msgstr "Excluir Nó(s)" + +#: editor/plugins/animation_blend_tree_editor_plugin.cpp msgid "Toggle Filter On/Off" -msgstr "Ligar/desligar esta trilha." +msgstr "Ligar/Desligar Filtro" #: editor/plugins/animation_blend_tree_editor_plugin.cpp -#, fuzzy msgid "Change Filter" -msgstr "FIltro de Idiomas Alterado" +msgstr "Alterar Filtro" #: editor/plugins/animation_blend_tree_editor_plugin.cpp msgid "No animation player set, so unable to retrieve track names." @@ -3905,9 +3904,8 @@ msgstr "" #: editor/plugins/animation_blend_tree_editor_plugin.cpp #: editor/plugins/animation_state_machine_editor.cpp -#, fuzzy msgid "Node Renamed" -msgstr "Nome do nó" +msgstr "Nó Renomeado" #: editor/plugins/animation_blend_tree_editor_plugin.cpp #: editor/plugins/visual_shader_editor_plugin.cpp @@ -4138,14 +4136,12 @@ msgid "Cross-Animation Blend Times" msgstr "Tempos de Mistura de Animação Cruzada" #: editor/plugins/animation_state_machine_editor.cpp -#, fuzzy msgid "Move Node" -msgstr "Modo Mover" +msgstr "Mover Nó" #: editor/plugins/animation_state_machine_editor.cpp -#, fuzzy msgid "Add Transition" -msgstr "Adicionar Tradução" +msgstr "Adicionar Transição" #: editor/plugins/animation_state_machine_editor.cpp #: modules/visual_script/visual_script_editor.cpp @@ -4181,9 +4177,8 @@ msgid "No playback resource set at path: %s." msgstr "Sem recurso de playback definido no caminho: %s." #: editor/plugins/animation_state_machine_editor.cpp -#, fuzzy msgid "Node Removed" -msgstr "Removido:" +msgstr "Nó Removido" #: editor/plugins/animation_state_machine_editor.cpp msgid "Transition Removed" @@ -4626,7 +4621,8 @@ msgid "" "Children of containers have their anchors and margins values overridden by " "their parent." msgstr "" -"Filhos de contêineres tem sua âncora e margens sobrescritos pelos seus pais." +"Filhos de contêineres tem suas ancoragens e valores de margem sobrescritos " +"pelos seus pais." #: editor/plugins/canvas_item_editor_plugin.cpp msgid "Anchors only" @@ -4859,8 +4855,34 @@ msgid "Layout" msgstr "Layout" #: editor/plugins/canvas_item_editor_plugin.cpp -msgid "Insert keys." -msgstr "Inserir chaves." +msgid "Translation mask for inserting keys." +msgstr "" + +#: editor/plugins/canvas_item_editor_plugin.cpp +msgid "Rotation mask for inserting keys." +msgstr "" + +#: editor/plugins/canvas_item_editor_plugin.cpp +msgid "Scale mask for inserting keys." +msgstr "" + +#: editor/plugins/canvas_item_editor_plugin.cpp +#, fuzzy +msgid "Insert keys (based on mask)." +msgstr "Inserir Chaves (Ins)" + +#: editor/plugins/canvas_item_editor_plugin.cpp +msgid "" +"Auto insert keys when objects are translated, rotated on scaled (based on " +"mask).\n" +"Keys are only added to existing tracks, no new tracks will be created.\n" +"Keys must be inserted manually for the first time." +msgstr "" + +#: editor/plugins/canvas_item_editor_plugin.cpp +#, fuzzy +msgid "Auto Insert Key" +msgstr "Inserir Chave na Anim" #: editor/plugins/canvas_item_editor_plugin.cpp msgid "Insert Key (Existing Tracks)" @@ -4932,6 +4954,52 @@ msgstr "Editar Polígono (Remover Ponto)" msgid "Set Handle" msgstr "Definir Manipulador" +#: editor/plugins/cpu_particles_2d_editor_plugin.cpp +#: editor/plugins/particles_2d_editor_plugin.cpp +msgid "Error loading image:" +msgstr "Erro ao carregar imagem:" + +#: editor/plugins/cpu_particles_2d_editor_plugin.cpp +#: editor/plugins/particles_2d_editor_plugin.cpp +msgid "No pixels with transparency > 128 in image..." +msgstr "Nenhum pixel com transparência > 128 na imagem." + +#: editor/plugins/cpu_particles_2d_editor_plugin.cpp +#: editor/plugins/particles_2d_editor_plugin.cpp +msgid "Load Emission Mask" +msgstr "Carregar Máscara de Emissão" + +#: editor/plugins/cpu_particles_2d_editor_plugin.cpp +#: editor/plugins/particles_2d_editor_plugin.cpp +msgid "Clear Emission Mask" +msgstr "Limpar Máscara de Emissão" + +#: editor/plugins/cpu_particles_2d_editor_plugin.cpp +#: editor/plugins/particles_2d_editor_plugin.cpp +#: editor/plugins/particles_editor_plugin.cpp +msgid "Particles" +msgstr "Partículas" + +#: editor/plugins/cpu_particles_2d_editor_plugin.cpp +#: editor/plugins/particles_2d_editor_plugin.cpp +msgid "Generated Point Count:" +msgstr "Gerar Contagem de Pontos:" + +#: editor/plugins/cpu_particles_2d_editor_plugin.cpp +#: editor/plugins/particles_2d_editor_plugin.cpp +msgid "Emission Mask" +msgstr "Máscara de Emissão" + +#: editor/plugins/cpu_particles_2d_editor_plugin.cpp +#: editor/plugins/particles_2d_editor_plugin.cpp +msgid "Capture from Pixel" +msgstr "Capturar a partir do Pixel" + +#: editor/plugins/cpu_particles_2d_editor_plugin.cpp +#: editor/plugins/particles_2d_editor_plugin.cpp +msgid "Emission Colors" +msgstr "Cores de Emissão" + #: editor/plugins/cpu_particles_editor_plugin.cpp msgid "CPUParticles" msgstr "Particulas CPU" @@ -5285,52 +5353,15 @@ msgstr "" "Só é permitido colocar um ponto em um material processador ParticlesMaterial" #: editor/plugins/particles_2d_editor_plugin.cpp -msgid "Error loading image:" -msgstr "Erro ao carregar imagem:" - -#: editor/plugins/particles_2d_editor_plugin.cpp -msgid "No pixels with transparency > 128 in image..." -msgstr "Nenhum pixel com transparência > 128 na imagem." - -#: editor/plugins/particles_2d_editor_plugin.cpp -msgid "Load Emission Mask" -msgstr "Carregar Máscara de Emissão" - -#: editor/plugins/particles_2d_editor_plugin.cpp -msgid "Clear Emission Mask" -msgstr "Limpar Máscara de Emissão" - -#: editor/plugins/particles_2d_editor_plugin.cpp #: editor/plugins/particles_editor_plugin.cpp msgid "Convert to CPUParticles" msgstr "Converter para Particulas CPU" #: editor/plugins/particles_2d_editor_plugin.cpp #: editor/plugins/particles_editor_plugin.cpp -msgid "Particles" -msgstr "Partículas" - -#: editor/plugins/particles_2d_editor_plugin.cpp -msgid "Generated Point Count:" -msgstr "Gerar Contagem de Pontos:" - -#: editor/plugins/particles_2d_editor_plugin.cpp -#: editor/plugins/particles_editor_plugin.cpp msgid "Generation Time (sec):" msgstr "Gerando Tempo (seg):" -#: editor/plugins/particles_2d_editor_plugin.cpp -msgid "Emission Mask" -msgstr "Máscara de Emissão" - -#: editor/plugins/particles_2d_editor_plugin.cpp -msgid "Capture from Pixel" -msgstr "Capturar a partir do Pixel" - -#: editor/plugins/particles_2d_editor_plugin.cpp -msgid "Emission Colors" -msgstr "Cores de Emissão" - #: editor/plugins/particles_editor_plugin.cpp msgid "Faces contain no area!" msgstr "As faces não têm área!" @@ -5842,7 +5873,8 @@ msgid "Save Theme As..." msgstr "Salvar Tema Como..." #: editor/plugins/script_editor_plugin.cpp -msgid " Class Reference" +#, fuzzy +msgid "%s Class Reference" msgstr " Referência de Classes" #: editor/plugins/script_editor_plugin.cpp @@ -5974,11 +6006,11 @@ msgstr "Abrir a documentação online da Godot" #: editor/plugins/script_editor_plugin.cpp msgid "Request Docs" -msgstr "" +msgstr "Solicitar documentos" #: editor/plugins/script_editor_plugin.cpp msgid "Help improve the Godot documentation by giving feedback" -msgstr "" +msgstr "Ajude a melhorar a documentação do Godot dando seu feedback" #: editor/plugins/script_editor_plugin.cpp msgid "Search the reference documentation." @@ -6176,14 +6208,12 @@ msgid "This skeleton has no bones, create some children Bone2D nodes." msgstr "Este esqueleto não tem ossos, crie alguns nós filhos Bone2D." #: editor/plugins/skeleton_2d_editor_plugin.cpp -#, fuzzy msgid "Create Rest Pose from Bones" -msgstr "Faça Resto Pose (De Ossos)" +msgstr "Criar postura de descanso para os Ossos" #: editor/plugins/skeleton_2d_editor_plugin.cpp -#, fuzzy msgid "Set Rest Pose to Bones" -msgstr "Faça Resto Pose (De Ossos)" +msgstr "Definir a postura de repouso para os Ossos" #: editor/plugins/skeleton_2d_editor_plugin.cpp msgid "Skeleton2D" @@ -6338,9 +6368,8 @@ msgid "Rear" msgstr "Traseira" #: editor/plugins/spatial_editor_plugin.cpp -#, fuzzy msgid "Align with View" -msgstr "Alinhar com Visão" +msgstr "Alinhar com a Vista" #: editor/plugins/spatial_editor_plugin.cpp editor/scene_tree_dock.cpp msgid "No parent to instance a child at." @@ -6447,9 +6476,8 @@ msgid "XForm Dialog" msgstr "Diálogo XForm" #: editor/plugins/spatial_editor_plugin.cpp -#, fuzzy msgid "Snap Nodes To Floor" -msgstr "Encaixar na grade" +msgstr "Encaixar Nó(s) no Chão" #: editor/plugins/spatial_editor_plugin.cpp msgid "Select Mode (Q)" @@ -6671,6 +6699,26 @@ msgid "Nameless gizmo" msgstr "Coisa sem nome" #: editor/plugins/sprite_editor_plugin.cpp +#, fuzzy +msgid "Create Mesh2D" +msgstr "Crie uma malha 2D" + +#: editor/plugins/sprite_editor_plugin.cpp +#, fuzzy +msgid "Create Polygon2D" +msgstr "Criar Polígono3D" + +#: editor/plugins/sprite_editor_plugin.cpp +#, fuzzy +msgid "Create CollisionPolygon2D" +msgstr "Criar polígono de colisão" + +#: editor/plugins/sprite_editor_plugin.cpp +#, fuzzy +msgid "Create LightOccluder2D" +msgstr "Criar Polígono de Oclusão" + +#: editor/plugins/sprite_editor_plugin.cpp msgid "Sprite is empty!" msgstr "Sprite está vazio!" @@ -6684,16 +6732,43 @@ msgid "Invalid geometry, can't replace by mesh." msgstr "Geometria inválida, não é possível substituir por malha." #: editor/plugins/sprite_editor_plugin.cpp +#, fuzzy +msgid "Invalid geometry, can't create polygon." +msgstr "Geometria inválida, não é possível substituir por malha." + +#: editor/plugins/sprite_editor_plugin.cpp +#, fuzzy +msgid "Invalid geometry, can't create collision polygon." +msgstr "Geometria inválida, não é possível substituir por malha." + +#: editor/plugins/sprite_editor_plugin.cpp +#, fuzzy +msgid "Invalid geometry, can't create light occluder." +msgstr "Geometria inválida, não é possível substituir por malha." + +#: editor/plugins/sprite_editor_plugin.cpp msgid "Sprite" msgstr "Sprite" #: editor/plugins/sprite_editor_plugin.cpp -msgid "Convert to 2D Mesh" +#, fuzzy +msgid "Convert to Mesh2D" msgstr "Converter para malha 2D" #: editor/plugins/sprite_editor_plugin.cpp -msgid "Create 2D Mesh" -msgstr "Crie uma malha 2D" +#, fuzzy +msgid "Convert to Polygon2D" +msgstr "Mover Polígono" + +#: editor/plugins/sprite_editor_plugin.cpp +#, fuzzy +msgid "Create CollisionPolygon2D Sibling" +msgstr "Criar polígono de colisão" + +#: editor/plugins/sprite_editor_plugin.cpp +#, fuzzy +msgid "Create LightOccluder2D Sibling" +msgstr "Criar Polígono de Oclusão" #: editor/plugins/sprite_editor_plugin.cpp msgid "Simplification: " @@ -7045,13 +7120,12 @@ msgid "Merge from Scene" msgstr "Fundir a partir de Cena" #: editor/plugins/tile_set_editor_plugin.cpp -#, fuzzy msgid "Next Coordinate" -msgstr "Próximo Chão" +msgstr "Próxima Coordenada" #: editor/plugins/tile_set_editor_plugin.cpp msgid "Select the next shape, subtile, or Tile." -msgstr "" +msgstr "Selecione a próxima forma, subtile ou Tile." #: editor/plugins/tile_set_editor_plugin.cpp msgid "Previous Coordinate" @@ -7059,7 +7133,7 @@ msgstr "Coordenada Anterior" #: editor/plugins/tile_set_editor_plugin.cpp msgid "Select the previous shape, subtile, or Tile." -msgstr "" +msgstr "Selecione a forma, subtile ou tile anterior." #: editor/plugins/tile_set_editor_plugin.cpp msgid "Copy bitmask." @@ -7263,26 +7337,28 @@ msgstr "Conjunto de Telha" #: editor/plugins/visual_shader_editor_plugin.cpp msgid "Set Uniform Name" -msgstr "" +msgstr "Definir Nome Uniforme" #: editor/plugins/visual_shader_editor_plugin.cpp -#, fuzzy msgid "Set Input Default Port" -msgstr "Definir como Padrão para '%s'" +msgstr "Definir Porta Padrão de Entrada" #: editor/plugins/visual_shader_editor_plugin.cpp -#, fuzzy msgid "Add Node to Visual Shader" -msgstr "VisualShader" +msgstr "Adicionar Nó ao Visual Shader" #: editor/plugins/visual_shader_editor_plugin.cpp -#, fuzzy msgid "Duplicate Nodes" msgstr "Duplicar Nó(s)" #: editor/plugins/visual_shader_editor_plugin.cpp +#, fuzzy +msgid "Delete Nodes" +msgstr "Excluir Nó" + +#: editor/plugins/visual_shader_editor_plugin.cpp msgid "Visual Shader Input Type Changed" -msgstr "" +msgstr "Tipo de Entrada de Shader Visual Alterado" #: editor/plugins/visual_shader_editor_plugin.cpp msgid "Vertex" @@ -7301,14 +7377,12 @@ msgid "VisualShader" msgstr "VisualShader" #: editor/plugins/visual_shader_editor_plugin.cpp -#, fuzzy msgid "Edit Visual Property" -msgstr "Editar prioridade da telha" +msgstr "Editar Propriedade Visual" #: editor/plugins/visual_shader_editor_plugin.cpp -#, fuzzy msgid "Visual Shader Mode Changed" -msgstr "Alterações de Shader" +msgstr "Modo Visual Shader Alterado" #: editor/project_export.cpp msgid "Runnable" @@ -7327,9 +7401,10 @@ msgid "" "Failed to export the project for platform '%s'.\n" "Export templates seem to be missing or invalid." msgstr "" +"Falha ao exportar o projeto para a plataforma '% s'.\n" +"Os modelos de exportação parecem estar ausentes ou inválidos." #: editor/project_export.cpp -#, fuzzy msgid "" "Failed to export the project for platform '%s'.\n" "This might be due to a configuration issue in the export preset or your " @@ -7349,7 +7424,7 @@ msgstr "Exportando tudo" #: editor/project_export.cpp msgid "The given export path doesn't exist:" -msgstr "O caminho de exportação informado não existe." +msgstr "O caminho de exportação informado não existe:" #: editor/project_export.cpp msgid "Export templates for this platform are missing/corrupted:" @@ -8500,10 +8575,6 @@ msgid "Open documentation" msgstr "Abrir a documentação" #: editor/scene_tree_dock.cpp -msgid "Delete Node(s)" -msgstr "Excluir Nó(s)" - -#: editor/scene_tree_dock.cpp msgid "Add Child Node" msgstr "Adicionar Nó Filho" @@ -9678,7 +9749,7 @@ msgstr "Identificador está ausente." #: platform/iphone/export/export.cpp msgid "Identifier segments must be of non-zero length." -msgstr "Os segmentos de identificador devem ter comprimento diferente de zero." +msgstr "Segmentos identificadores devem ter comprimento diferente de zero." #: platform/iphone/export/export.cpp msgid "The character '%s' is not allowed in Identifier." @@ -10097,6 +10168,8 @@ msgid "" "GIProbes are not supported by the GLES2 video driver.\n" "Use a BakedLightmap instead." msgstr "" +"GIProbes não são suportados pelo driver de vídeo GLES2.\n" +"Use um BakedLightmap em vez disso." #: scene/3d/navigation_mesh.cpp msgid "A NavigationMesh resource must be set or created for this node to work." @@ -10277,6 +10350,10 @@ msgid "" "If you dont't intend to add a script, then please use a plain 'Control' node " "instead." msgstr "" +"O contêiner por si só não serve para nada, a menos que um script configure " +"seu comportamento de posicionamento de filhos.\n" +"Se você não pretende adicionar um script, por favor use um nó simples " +"'Control'." #: scene/gui/dialogs.cpp msgid "Alert!" @@ -10288,7 +10365,7 @@ msgstr "Confirme Por Favor..." #: scene/gui/file_dialog.cpp msgid "Go to parent folder." -msgstr "Ir para diretório pai" +msgstr "Ir para diretório (pasta) pai." #: scene/gui/popup.cpp msgid "" @@ -10374,12 +10451,15 @@ msgstr "Atribuição à uniforme." msgid "Varyings can only be assigned in vertex function." msgstr "Variáveis só podem ser atribuídas na função de vértice." +#~ msgid "Snap (s): " +#~ msgstr "Snap (s): " + +#~ msgid "Insert keys." +#~ msgstr "Inserir chaves." + #~ msgid "Instance the selected scene(s) as child of the selected node." #~ msgstr "Instanciar a(s) cena(s) selecionada como filho do nó selecionado." -#~ msgid "FPS" -#~ msgstr "FPS" - #~ msgid "Warnings:" #~ msgstr "Avisos:" @@ -11897,9 +11977,6 @@ msgstr "Variáveis só podem ser atribuídas na função de vértice." #~ msgid "Cannot go into subdir:" #~ msgstr "Não é possível ir ao subdiretório:" -#~ msgid "Insert Keys (Ins)" -#~ msgstr "Inserir Chaves (Ins)" - #~ msgid "Top (Num7)" #~ msgstr "Cima (Num7)" diff --git a/editor/translations/pt_PT.po b/editor/translations/pt_PT.po index 0c8ad8dce9..f9e93885d9 100644 --- a/editor/translations/pt_PT.po +++ b/editor/translations/pt_PT.po @@ -427,13 +427,22 @@ msgid "Group tracks by node or display them as plain list." msgstr "Agrupar faixas por nó ou exibi-las como lista simples." #: editor/animation_track_editor.cpp -msgid "Snap (s): " -msgstr "Ajuste (s): " +#, fuzzy +msgid "Snap:" +msgstr "Ajustar" #: editor/animation_track_editor.cpp msgid "Animation step value." msgstr "Valor passo da Animação." +#: editor/animation_track_editor.cpp +msgid "Seconds" +msgstr "" + +#: editor/animation_track_editor.cpp +msgid "FPS" +msgstr "FPS" + #: editor/animation_track_editor.cpp editor/editor_properties.cpp #: editor/plugins/polygon_2d_editor_plugin.cpp #: editor/plugins/script_text_editor.cpp @@ -3816,6 +3825,11 @@ msgid "Delete Node" msgstr "Apagar Nó" #: editor/plugins/animation_blend_tree_editor_plugin.cpp +#: editor/scene_tree_dock.cpp +msgid "Delete Node(s)" +msgstr "Apagar Nó(s)" + +#: editor/plugins/animation_blend_tree_editor_plugin.cpp msgid "Toggle Filter On/Off" msgstr "Alternar Filtro On/Off" @@ -4789,8 +4803,34 @@ msgid "Layout" msgstr "Esquema" #: editor/plugins/canvas_item_editor_plugin.cpp -msgid "Insert keys." -msgstr "Inserir chaves." +msgid "Translation mask for inserting keys." +msgstr "" + +#: editor/plugins/canvas_item_editor_plugin.cpp +msgid "Rotation mask for inserting keys." +msgstr "" + +#: editor/plugins/canvas_item_editor_plugin.cpp +msgid "Scale mask for inserting keys." +msgstr "" + +#: editor/plugins/canvas_item_editor_plugin.cpp +#, fuzzy +msgid "Insert keys (based on mask)." +msgstr "Inserir Chave (Pistas existentes)" + +#: editor/plugins/canvas_item_editor_plugin.cpp +msgid "" +"Auto insert keys when objects are translated, rotated on scaled (based on " +"mask).\n" +"Keys are only added to existing tracks, no new tracks will be created.\n" +"Keys must be inserted manually for the first time." +msgstr "" + +#: editor/plugins/canvas_item_editor_plugin.cpp +#, fuzzy +msgid "Auto Insert Key" +msgstr "Anim Inserir Chave" #: editor/plugins/canvas_item_editor_plugin.cpp msgid "Insert Key (Existing Tracks)" @@ -4862,6 +4902,52 @@ msgstr "Editar Poly (Remover Ponto)" msgid "Set Handle" msgstr "Definir Manipulador" +#: editor/plugins/cpu_particles_2d_editor_plugin.cpp +#: editor/plugins/particles_2d_editor_plugin.cpp +msgid "Error loading image:" +msgstr "Erro ao carregar imagem:" + +#: editor/plugins/cpu_particles_2d_editor_plugin.cpp +#: editor/plugins/particles_2d_editor_plugin.cpp +msgid "No pixels with transparency > 128 in image..." +msgstr "Sem pixeis com transparência > 128 na imagem..." + +#: editor/plugins/cpu_particles_2d_editor_plugin.cpp +#: editor/plugins/particles_2d_editor_plugin.cpp +msgid "Load Emission Mask" +msgstr "Carregar máscara de emissão" + +#: editor/plugins/cpu_particles_2d_editor_plugin.cpp +#: editor/plugins/particles_2d_editor_plugin.cpp +msgid "Clear Emission Mask" +msgstr "Limpar máscara de emissão" + +#: editor/plugins/cpu_particles_2d_editor_plugin.cpp +#: editor/plugins/particles_2d_editor_plugin.cpp +#: editor/plugins/particles_editor_plugin.cpp +msgid "Particles" +msgstr "Partículas" + +#: editor/plugins/cpu_particles_2d_editor_plugin.cpp +#: editor/plugins/particles_2d_editor_plugin.cpp +msgid "Generated Point Count:" +msgstr "Contagem de Pontos gerados:" + +#: editor/plugins/cpu_particles_2d_editor_plugin.cpp +#: editor/plugins/particles_2d_editor_plugin.cpp +msgid "Emission Mask" +msgstr "Máscara de emissão" + +#: editor/plugins/cpu_particles_2d_editor_plugin.cpp +#: editor/plugins/particles_2d_editor_plugin.cpp +msgid "Capture from Pixel" +msgstr "Capturar a partir do pixel" + +#: editor/plugins/cpu_particles_2d_editor_plugin.cpp +#: editor/plugins/particles_2d_editor_plugin.cpp +msgid "Emission Colors" +msgstr "Cores de emissão" + #: editor/plugins/cpu_particles_editor_plugin.cpp msgid "CPUParticles" msgstr "CPUParticles" @@ -5212,52 +5298,15 @@ msgid "Can only set point into a ParticlesMaterial process material" msgstr "Só pode definir um Ponto num Material ParticlesMaterial" #: editor/plugins/particles_2d_editor_plugin.cpp -msgid "Error loading image:" -msgstr "Erro ao carregar imagem:" - -#: editor/plugins/particles_2d_editor_plugin.cpp -msgid "No pixels with transparency > 128 in image..." -msgstr "Sem pixeis com transparência > 128 na imagem..." - -#: editor/plugins/particles_2d_editor_plugin.cpp -msgid "Load Emission Mask" -msgstr "Carregar máscara de emissão" - -#: editor/plugins/particles_2d_editor_plugin.cpp -msgid "Clear Emission Mask" -msgstr "Limpar máscara de emissão" - -#: editor/plugins/particles_2d_editor_plugin.cpp #: editor/plugins/particles_editor_plugin.cpp msgid "Convert to CPUParticles" msgstr "Converter em CPUParticles" #: editor/plugins/particles_2d_editor_plugin.cpp #: editor/plugins/particles_editor_plugin.cpp -msgid "Particles" -msgstr "Partículas" - -#: editor/plugins/particles_2d_editor_plugin.cpp -msgid "Generated Point Count:" -msgstr "Contagem de Pontos gerados:" - -#: editor/plugins/particles_2d_editor_plugin.cpp -#: editor/plugins/particles_editor_plugin.cpp msgid "Generation Time (sec):" msgstr "Tempo de geração (s):" -#: editor/plugins/particles_2d_editor_plugin.cpp -msgid "Emission Mask" -msgstr "Máscara de emissão" - -#: editor/plugins/particles_2d_editor_plugin.cpp -msgid "Capture from Pixel" -msgstr "Capturar a partir do pixel" - -#: editor/plugins/particles_2d_editor_plugin.cpp -msgid "Emission Colors" -msgstr "Cores de emissão" - #: editor/plugins/particles_editor_plugin.cpp msgid "Faces contain no area!" msgstr "As faces não contêm Área!" @@ -5767,7 +5816,8 @@ msgid "Save Theme As..." msgstr "Guardar tema como..." #: editor/plugins/script_editor_plugin.cpp -msgid " Class Reference" +#, fuzzy +msgid "%s Class Reference" msgstr " Referência de classe" #: editor/plugins/script_editor_plugin.cpp @@ -6592,6 +6642,26 @@ msgid "Nameless gizmo" msgstr "Bugiganga sem Nome" #: editor/plugins/sprite_editor_plugin.cpp +#, fuzzy +msgid "Create Mesh2D" +msgstr "Criar Malha 2D" + +#: editor/plugins/sprite_editor_plugin.cpp +#, fuzzy +msgid "Create Polygon2D" +msgstr "Criar Polygon3D" + +#: editor/plugins/sprite_editor_plugin.cpp +#, fuzzy +msgid "Create CollisionPolygon2D" +msgstr "Criar Polígono de Colisão" + +#: editor/plugins/sprite_editor_plugin.cpp +#, fuzzy +msgid "Create LightOccluder2D" +msgstr "Criar Polígono oclusor" + +#: editor/plugins/sprite_editor_plugin.cpp msgid "Sprite is empty!" msgstr "Sprite está vazia!" @@ -6604,16 +6674,43 @@ msgid "Invalid geometry, can't replace by mesh." msgstr "Geometria inválida, não substituível por malha." #: editor/plugins/sprite_editor_plugin.cpp +#, fuzzy +msgid "Invalid geometry, can't create polygon." +msgstr "Geometria inválida, não substituível por malha." + +#: editor/plugins/sprite_editor_plugin.cpp +#, fuzzy +msgid "Invalid geometry, can't create collision polygon." +msgstr "Geometria inválida, não substituível por malha." + +#: editor/plugins/sprite_editor_plugin.cpp +#, fuzzy +msgid "Invalid geometry, can't create light occluder." +msgstr "Geometria inválida, não substituível por malha." + +#: editor/plugins/sprite_editor_plugin.cpp msgid "Sprite" msgstr "Sprite" #: editor/plugins/sprite_editor_plugin.cpp -msgid "Convert to 2D Mesh" +#, fuzzy +msgid "Convert to Mesh2D" msgstr "Converter para Malha 2D" #: editor/plugins/sprite_editor_plugin.cpp -msgid "Create 2D Mesh" -msgstr "Criar Malha 2D" +#, fuzzy +msgid "Convert to Polygon2D" +msgstr "Mover Polígono" + +#: editor/plugins/sprite_editor_plugin.cpp +#, fuzzy +msgid "Create CollisionPolygon2D Sibling" +msgstr "Criar Polígono de Colisão" + +#: editor/plugins/sprite_editor_plugin.cpp +#, fuzzy +msgid "Create LightOccluder2D Sibling" +msgstr "Criar Polígono oclusor" #: editor/plugins/sprite_editor_plugin.cpp msgid "Simplification: " @@ -7198,6 +7295,11 @@ msgid "Duplicate Nodes" msgstr "Duplicar Nós" #: editor/plugins/visual_shader_editor_plugin.cpp +#, fuzzy +msgid "Delete Nodes" +msgstr "Apagar Nó" + +#: editor/plugins/visual_shader_editor_plugin.cpp msgid "Visual Shader Input Type Changed" msgstr "Alterado Tipo de Entrada do Visual Shader" @@ -8414,10 +8516,6 @@ msgid "Open documentation" msgstr "Abrir documentação" #: editor/scene_tree_dock.cpp -msgid "Delete Node(s)" -msgstr "Apagar Nó(s)" - -#: editor/scene_tree_dock.cpp msgid "Add Child Node" msgstr "Adicionar Nó filho" @@ -10296,13 +10394,16 @@ msgstr "Atribuição a uniforme." msgid "Varyings can only be assigned in vertex function." msgstr "Variações só podem ser atribuídas na função vértice." +#~ msgid "Snap (s): " +#~ msgstr "Ajuste (s): " + +#~ msgid "Insert keys." +#~ msgstr "Inserir chaves." + #~ msgid "Instance the selected scene(s) as child of the selected node." #~ msgstr "" #~ "Instancie a(s) Cena(s) selecionada(s) como filha(s) do Nó selecionado." -#~ msgid "FPS" -#~ msgstr "FPS" - #~ msgid "Warnings:" #~ msgstr "Avisos:" diff --git a/editor/translations/ro.po b/editor/translations/ro.po index 807d02dc5d..dbc222bbbf 100644 --- a/editor/translations/ro.po +++ b/editor/translations/ro.po @@ -439,14 +439,22 @@ msgstr "" #: editor/animation_track_editor.cpp #, fuzzy -msgid "Snap (s): " -msgstr "Pas (s):" +msgid "Snap:" +msgstr "Aliniere" #: editor/animation_track_editor.cpp #, fuzzy msgid "Animation step value." msgstr "Arborele Animației este valid." +#: editor/animation_track_editor.cpp +msgid "Seconds" +msgstr "" + +#: editor/animation_track_editor.cpp +msgid "FPS" +msgstr "" + #: editor/animation_track_editor.cpp editor/editor_properties.cpp #: editor/plugins/polygon_2d_editor_plugin.cpp #: editor/plugins/script_text_editor.cpp @@ -3929,6 +3937,11 @@ msgid "Delete Node" msgstr "Creează Nod" #: editor/plugins/animation_blend_tree_editor_plugin.cpp +#: editor/scene_tree_dock.cpp +msgid "Delete Node(s)" +msgstr "" + +#: editor/plugins/animation_blend_tree_editor_plugin.cpp #, fuzzy msgid "Toggle Filter On/Off" msgstr "Comutează modul fără distrageri." @@ -4930,9 +4943,34 @@ msgid "Layout" msgstr "Schemă" #: editor/plugins/canvas_item_editor_plugin.cpp +msgid "Translation mask for inserting keys." +msgstr "" + +#: editor/plugins/canvas_item_editor_plugin.cpp +msgid "Rotation mask for inserting keys." +msgstr "" + +#: editor/plugins/canvas_item_editor_plugin.cpp +msgid "Scale mask for inserting keys." +msgstr "" + +#: editor/plugins/canvas_item_editor_plugin.cpp #, fuzzy -msgid "Insert keys." -msgstr "Inserează Note" +msgid "Insert keys (based on mask)." +msgstr "Inserează Notă (Melodii existente)" + +#: editor/plugins/canvas_item_editor_plugin.cpp +msgid "" +"Auto insert keys when objects are translated, rotated on scaled (based on " +"mask).\n" +"Keys are only added to existing tracks, no new tracks will be created.\n" +"Keys must be inserted manually for the first time." +msgstr "" + +#: editor/plugins/canvas_item_editor_plugin.cpp +#, fuzzy +msgid "Auto Insert Key" +msgstr "Anim Inserați Cheie" #: editor/plugins/canvas_item_editor_plugin.cpp msgid "Insert Key (Existing Tracks)" @@ -5005,6 +5043,52 @@ msgstr "Editează Poligon (Elimină Punct)" msgid "Set Handle" msgstr "Setează Mâner" +#: editor/plugins/cpu_particles_2d_editor_plugin.cpp +#: editor/plugins/particles_2d_editor_plugin.cpp +msgid "Error loading image:" +msgstr "Eroare la încărcarea imaginii:" + +#: editor/plugins/cpu_particles_2d_editor_plugin.cpp +#: editor/plugins/particles_2d_editor_plugin.cpp +msgid "No pixels with transparency > 128 in image..." +msgstr "Nici un pixel cu transparența > 128 în imagine..." + +#: editor/plugins/cpu_particles_2d_editor_plugin.cpp +#: editor/plugins/particles_2d_editor_plugin.cpp +msgid "Load Emission Mask" +msgstr "Încărcare Mască de Emisie" + +#: editor/plugins/cpu_particles_2d_editor_plugin.cpp +#: editor/plugins/particles_2d_editor_plugin.cpp +msgid "Clear Emission Mask" +msgstr "Curăță Masca de Emisie" + +#: editor/plugins/cpu_particles_2d_editor_plugin.cpp +#: editor/plugins/particles_2d_editor_plugin.cpp +#: editor/plugins/particles_editor_plugin.cpp +msgid "Particles" +msgstr "Particule" + +#: editor/plugins/cpu_particles_2d_editor_plugin.cpp +#: editor/plugins/particles_2d_editor_plugin.cpp +msgid "Generated Point Count:" +msgstr "Număr de Puncte Generate:" + +#: editor/plugins/cpu_particles_2d_editor_plugin.cpp +#: editor/plugins/particles_2d_editor_plugin.cpp +msgid "Emission Mask" +msgstr "Mască de Emisie" + +#: editor/plugins/cpu_particles_2d_editor_plugin.cpp +#: editor/plugins/particles_2d_editor_plugin.cpp +msgid "Capture from Pixel" +msgstr "Capturare din Pixel" + +#: editor/plugins/cpu_particles_2d_editor_plugin.cpp +#: editor/plugins/particles_2d_editor_plugin.cpp +msgid "Emission Colors" +msgstr "Culori de Emisie" + #: editor/plugins/cpu_particles_editor_plugin.cpp #, fuzzy msgid "CPUParticles" @@ -5359,52 +5443,15 @@ msgstr "" "ParticlesMaterial" #: editor/plugins/particles_2d_editor_plugin.cpp -msgid "Error loading image:" -msgstr "Eroare la încărcarea imaginii:" - -#: editor/plugins/particles_2d_editor_plugin.cpp -msgid "No pixels with transparency > 128 in image..." -msgstr "Nici un pixel cu transparența > 128 în imagine..." - -#: editor/plugins/particles_2d_editor_plugin.cpp -msgid "Load Emission Mask" -msgstr "Încărcare Mască de Emisie" - -#: editor/plugins/particles_2d_editor_plugin.cpp -msgid "Clear Emission Mask" -msgstr "Curăță Masca de Emisie" - -#: editor/plugins/particles_2d_editor_plugin.cpp #: editor/plugins/particles_editor_plugin.cpp msgid "Convert to CPUParticles" msgstr "" #: editor/plugins/particles_2d_editor_plugin.cpp #: editor/plugins/particles_editor_plugin.cpp -msgid "Particles" -msgstr "Particule" - -#: editor/plugins/particles_2d_editor_plugin.cpp -msgid "Generated Point Count:" -msgstr "Număr de Puncte Generate:" - -#: editor/plugins/particles_2d_editor_plugin.cpp -#: editor/plugins/particles_editor_plugin.cpp msgid "Generation Time (sec):" msgstr "Timp de Generare (sec):" -#: editor/plugins/particles_2d_editor_plugin.cpp -msgid "Emission Mask" -msgstr "Mască de Emisie" - -#: editor/plugins/particles_2d_editor_plugin.cpp -msgid "Capture from Pixel" -msgstr "Capturare din Pixel" - -#: editor/plugins/particles_2d_editor_plugin.cpp -msgid "Emission Colors" -msgstr "Culori de Emisie" - #: editor/plugins/particles_editor_plugin.cpp msgid "Faces contain no area!" msgstr "Unele fețe nu conțin zonă!" @@ -5942,7 +5989,7 @@ msgid "Save Theme As..." msgstr "" #: editor/plugins/script_editor_plugin.cpp -msgid " Class Reference" +msgid "%s Class Reference" msgstr "" #: editor/plugins/script_editor_plugin.cpp @@ -6782,6 +6829,26 @@ msgstr "" #: editor/plugins/sprite_editor_plugin.cpp #, fuzzy +msgid "Create Mesh2D" +msgstr "Creează Mesh de Contur" + +#: editor/plugins/sprite_editor_plugin.cpp +#, fuzzy +msgid "Create Polygon2D" +msgstr "Crează Poligon" + +#: editor/plugins/sprite_editor_plugin.cpp +#, fuzzy +msgid "Create CollisionPolygon2D" +msgstr "Creare Poligon de Navigare" + +#: editor/plugins/sprite_editor_plugin.cpp +#, fuzzy +msgid "Create LightOccluder2D" +msgstr "Creează Poligon de Ocluziune" + +#: editor/plugins/sprite_editor_plugin.cpp +#, fuzzy msgid "Sprite is empty!" msgstr "Mesh-ul este gol!" @@ -6794,17 +6861,40 @@ msgid "Invalid geometry, can't replace by mesh." msgstr "" #: editor/plugins/sprite_editor_plugin.cpp -msgid "Sprite" +msgid "Invalid geometry, can't create polygon." msgstr "" #: editor/plugins/sprite_editor_plugin.cpp -msgid "Convert to 2D Mesh" +msgid "Invalid geometry, can't create collision polygon." +msgstr "" + +#: editor/plugins/sprite_editor_plugin.cpp +msgid "Invalid geometry, can't create light occluder." +msgstr "" + +#: editor/plugins/sprite_editor_plugin.cpp +msgid "Sprite" msgstr "" #: editor/plugins/sprite_editor_plugin.cpp #, fuzzy -msgid "Create 2D Mesh" -msgstr "Creează Mesh de Contur" +msgid "Convert to Mesh2D" +msgstr "Convertește În..." + +#: editor/plugins/sprite_editor_plugin.cpp +#, fuzzy +msgid "Convert to Polygon2D" +msgstr "Deplasare poligon" + +#: editor/plugins/sprite_editor_plugin.cpp +#, fuzzy +msgid "Create CollisionPolygon2D Sibling" +msgstr "Creare Poligon de Navigare" + +#: editor/plugins/sprite_editor_plugin.cpp +#, fuzzy +msgid "Create LightOccluder2D Sibling" +msgstr "Creează Poligon de Ocluziune" #: editor/plugins/sprite_editor_plugin.cpp msgid "Simplification: " @@ -7416,6 +7506,11 @@ msgid "Duplicate Nodes" msgstr "Anim Clonare Chei" #: editor/plugins/visual_shader_editor_plugin.cpp +#, fuzzy +msgid "Delete Nodes" +msgstr "Creează Nod" + +#: editor/plugins/visual_shader_editor_plugin.cpp msgid "Visual Shader Input Type Changed" msgstr "" @@ -8600,10 +8695,6 @@ msgid "Open documentation" msgstr "Deschide Recente" #: editor/scene_tree_dock.cpp -msgid "Delete Node(s)" -msgstr "" - -#: editor/scene_tree_dock.cpp msgid "Add Child Node" msgstr "" @@ -10359,6 +10450,14 @@ msgstr "" msgid "Varyings can only be assigned in vertex function." msgstr "" +#, fuzzy +#~ msgid "Snap (s): " +#~ msgstr "Pas (s):" + +#, fuzzy +#~ msgid "Insert keys." +#~ msgstr "Inserează Note" + #~ msgid "Instance the selected scene(s) as child of the selected node." #~ msgstr "Instanțiază scena(ele) selectată ca un copil al nodului selectat." diff --git a/editor/translations/ru.po b/editor/translations/ru.po index f950d99eec..b9794177bb 100644 --- a/editor/translations/ru.po +++ b/editor/translations/ru.po @@ -42,12 +42,13 @@ # LeLuCh B0й <alekx@alumni.nottingham.ac.uk>, 2019. # Арсений Солодков <arsen332211@gmail.com>, 2019. # Nikita <yakrobat@protonmail.com>, 2019. +# LAT_Rio <AlSenya@yandex.ru>, 2019. msgid "" msgstr "" "Project-Id-Version: Godot Engine editor\n" "POT-Creation-Date: \n" -"PO-Revision-Date: 2019-04-07 08:04+0000\n" -"Last-Translator: Chaosus89 <chaosus89@gmail.com>\n" +"PO-Revision-Date: 2019-04-14 13:04+0000\n" +"Last-Translator: LAT_Rio <AlSenya@yandex.ru>\n" "Language-Team: Russian <https://hosted.weblate.org/projects/godot-engine/" "godot/ru/>\n" "Language: ru\n" @@ -453,13 +454,22 @@ msgid "Group tracks by node or display them as plain list." msgstr "Группировать треки по узлам или показывать их как простой список." #: editor/animation_track_editor.cpp -msgid "Snap (s): " -msgstr "Привязка (сек): " +#, fuzzy +msgid "Snap:" +msgstr "Привязка" #: editor/animation_track_editor.cpp msgid "Animation step value." msgstr "Значение шага анимации." +#: editor/animation_track_editor.cpp +msgid "Seconds" +msgstr "" + +#: editor/animation_track_editor.cpp +msgid "FPS" +msgstr "FPS" + #: editor/animation_track_editor.cpp editor/editor_properties.cpp #: editor/plugins/polygon_2d_editor_plugin.cpp #: editor/plugins/script_text_editor.cpp @@ -1217,9 +1227,8 @@ msgid "Add Bus" msgstr "Добавить" #: editor/editor_audio_buses.cpp -#, fuzzy msgid "Add a new Audio Bus to this layout." -msgstr "Сохранить раскладку звуковой шины как..." +msgstr "Добавить новую звуковую шину для этой раскладки." #: editor/editor_audio_buses.cpp editor/editor_properties.cpp #: editor/plugins/animation_player_editor_plugin.cpp editor/property_editor.cpp @@ -1560,9 +1569,8 @@ msgid "Go to parent folder" msgstr "Перейти к родительской папке" #: editor/editor_file_dialog.cpp -#, fuzzy msgid "(Un)favorite current folder." -msgstr "Невозможно создать папку." +msgstr "Добавить или удалить текущую папку из избранных." #: editor/editor_file_dialog.cpp editor/filesystem_dock.cpp msgid "View items as a grid of thumbnails." @@ -2564,9 +2572,8 @@ msgid "Save & Restart" msgstr "Сохранить и перезапустить" #: editor/editor_node.cpp -#, fuzzy msgid "Spins when the editor window redraws." -msgstr "Вращается, когда окно редактора перерисовывается!" +msgstr "Вращается, когда окно редактора перерисовывается." #: editor/editor_node.cpp msgid "Update Always" @@ -3845,6 +3852,11 @@ msgid "Delete Node" msgstr "Удалить узел" #: editor/plugins/animation_blend_tree_editor_plugin.cpp +#: editor/scene_tree_dock.cpp +msgid "Delete Node(s)" +msgstr "Удалить узел(узлы)" + +#: editor/plugins/animation_blend_tree_editor_plugin.cpp msgid "Toggle Filter On/Off" msgstr "Переключить фильтр вкл/выкл" @@ -4818,8 +4830,34 @@ msgid "Layout" msgstr "Макет" #: editor/plugins/canvas_item_editor_plugin.cpp -msgid "Insert keys." -msgstr "Вставить ключи." +msgid "Translation mask for inserting keys." +msgstr "" + +#: editor/plugins/canvas_item_editor_plugin.cpp +msgid "Rotation mask for inserting keys." +msgstr "" + +#: editor/plugins/canvas_item_editor_plugin.cpp +msgid "Scale mask for inserting keys." +msgstr "" + +#: editor/plugins/canvas_item_editor_plugin.cpp +#, fuzzy +msgid "Insert keys (based on mask)." +msgstr "Вставить ключи (Ins)" + +#: editor/plugins/canvas_item_editor_plugin.cpp +msgid "" +"Auto insert keys when objects are translated, rotated on scaled (based on " +"mask).\n" +"Keys are only added to existing tracks, no new tracks will be created.\n" +"Keys must be inserted manually for the first time." +msgstr "" + +#: editor/plugins/canvas_item_editor_plugin.cpp +#, fuzzy +msgid "Auto Insert Key" +msgstr "Вставить ключ" #: editor/plugins/canvas_item_editor_plugin.cpp msgid "Insert Key (Existing Tracks)" @@ -4891,6 +4929,52 @@ msgstr "Редактировать полигон (удалить точку)" msgid "Set Handle" msgstr "Задать обработчик" +#: editor/plugins/cpu_particles_2d_editor_plugin.cpp +#: editor/plugins/particles_2d_editor_plugin.cpp +msgid "Error loading image:" +msgstr "Ошибка при загрузке изображения:" + +#: editor/plugins/cpu_particles_2d_editor_plugin.cpp +#: editor/plugins/particles_2d_editor_plugin.cpp +msgid "No pixels with transparency > 128 in image..." +msgstr "Никаких пикселей с прозрачностью > 128 в изображении..." + +#: editor/plugins/cpu_particles_2d_editor_plugin.cpp +#: editor/plugins/particles_2d_editor_plugin.cpp +msgid "Load Emission Mask" +msgstr "Маска выброса загружена" + +#: editor/plugins/cpu_particles_2d_editor_plugin.cpp +#: editor/plugins/particles_2d_editor_plugin.cpp +msgid "Clear Emission Mask" +msgstr "Маска выброса очищена" + +#: editor/plugins/cpu_particles_2d_editor_plugin.cpp +#: editor/plugins/particles_2d_editor_plugin.cpp +#: editor/plugins/particles_editor_plugin.cpp +msgid "Particles" +msgstr "Частицы" + +#: editor/plugins/cpu_particles_2d_editor_plugin.cpp +#: editor/plugins/particles_2d_editor_plugin.cpp +msgid "Generated Point Count:" +msgstr "Количество создаваемых точек:" + +#: editor/plugins/cpu_particles_2d_editor_plugin.cpp +#: editor/plugins/particles_2d_editor_plugin.cpp +msgid "Emission Mask" +msgstr "Маска излучения" + +#: editor/plugins/cpu_particles_2d_editor_plugin.cpp +#: editor/plugins/particles_2d_editor_plugin.cpp +msgid "Capture from Pixel" +msgstr "Из пикселя" + +#: editor/plugins/cpu_particles_2d_editor_plugin.cpp +#: editor/plugins/particles_2d_editor_plugin.cpp +msgid "Emission Colors" +msgstr "Цвета излучения" + #: editor/plugins/cpu_particles_editor_plugin.cpp msgid "CPUParticles" msgstr "ЦПУЧастицы" @@ -5241,52 +5325,15 @@ msgid "Can only set point into a ParticlesMaterial process material" msgstr "Возможно установить точку только в ParticlesMaterial материал" #: editor/plugins/particles_2d_editor_plugin.cpp -msgid "Error loading image:" -msgstr "Ошибка при загрузке изображения:" - -#: editor/plugins/particles_2d_editor_plugin.cpp -msgid "No pixels with transparency > 128 in image..." -msgstr "Никаких пикселей с прозрачностью > 128 в изображении..." - -#: editor/plugins/particles_2d_editor_plugin.cpp -msgid "Load Emission Mask" -msgstr "Маска выброса загружена" - -#: editor/plugins/particles_2d_editor_plugin.cpp -msgid "Clear Emission Mask" -msgstr "Маска выброса очищена" - -#: editor/plugins/particles_2d_editor_plugin.cpp #: editor/plugins/particles_editor_plugin.cpp msgid "Convert to CPUParticles" msgstr "Преобразовать в CPUParticles" #: editor/plugins/particles_2d_editor_plugin.cpp #: editor/plugins/particles_editor_plugin.cpp -msgid "Particles" -msgstr "Частицы" - -#: editor/plugins/particles_2d_editor_plugin.cpp -msgid "Generated Point Count:" -msgstr "Количество создаваемых точек:" - -#: editor/plugins/particles_2d_editor_plugin.cpp -#: editor/plugins/particles_editor_plugin.cpp msgid "Generation Time (sec):" msgstr "Время генерации (сек):" -#: editor/plugins/particles_2d_editor_plugin.cpp -msgid "Emission Mask" -msgstr "Маска излучения" - -#: editor/plugins/particles_2d_editor_plugin.cpp -msgid "Capture from Pixel" -msgstr "Из пикселя" - -#: editor/plugins/particles_2d_editor_plugin.cpp -msgid "Emission Colors" -msgstr "Цвета излучения" - #: editor/plugins/particles_editor_plugin.cpp msgid "Faces contain no area!" msgstr "Грани не содержат зоны!" @@ -5797,7 +5844,8 @@ msgid "Save Theme As..." msgstr "Сохранить тему как..." #: editor/plugins/script_editor_plugin.cpp -msgid " Class Reference" +#, fuzzy +msgid "%s Class Reference" msgstr " Ссылка на Класс" #: editor/plugins/script_editor_plugin.cpp @@ -6133,12 +6181,12 @@ msgstr "У этого скелета нет костей, создайте до #: editor/plugins/skeleton_2d_editor_plugin.cpp #, fuzzy msgid "Create Rest Pose from Bones" -msgstr "Сделать позу покоя (из костей)" +msgstr "Создать Позу Покоя из Костей" #: editor/plugins/skeleton_2d_editor_plugin.cpp #, fuzzy msgid "Set Rest Pose to Bones" -msgstr "Сделать позу покоя (из костей)" +msgstr "Задать Позу Покоя Костям" #: editor/plugins/skeleton_2d_editor_plugin.cpp msgid "Skeleton2D" @@ -6295,7 +6343,7 @@ msgstr "Зад" #: editor/plugins/spatial_editor_plugin.cpp #, fuzzy msgid "Align with View" -msgstr "Совместить с видом" +msgstr "Выравнять с областью просмотра" #: editor/plugins/spatial_editor_plugin.cpp editor/scene_tree_dock.cpp msgid "No parent to instance a child at." @@ -6405,7 +6453,7 @@ msgstr "XForm диалоговое окно" #: editor/plugins/spatial_editor_plugin.cpp #, fuzzy msgid "Snap Nodes To Floor" -msgstr "Привязать к полу" +msgstr "Подравнять Узел с Полом" #: editor/plugins/spatial_editor_plugin.cpp msgid "Select Mode (Q)" @@ -6625,7 +6673,27 @@ msgstr "После" #: editor/plugins/spatial_editor_plugin.cpp #, fuzzy msgid "Nameless gizmo" -msgstr "Безымянный штуковина" +msgstr "Безымянный гизмо" + +#: editor/plugins/sprite_editor_plugin.cpp +#, fuzzy +msgid "Create Mesh2D" +msgstr "Создать 2D Mesh" + +#: editor/plugins/sprite_editor_plugin.cpp +#, fuzzy +msgid "Create Polygon2D" +msgstr "Создать Polygon3D" + +#: editor/plugins/sprite_editor_plugin.cpp +#, fuzzy +msgid "Create CollisionPolygon2D" +msgstr "Создать полигон столкновений" + +#: editor/plugins/sprite_editor_plugin.cpp +#, fuzzy +msgid "Create LightOccluder2D" +msgstr "Создан затеняющий полигон" #: editor/plugins/sprite_editor_plugin.cpp msgid "Sprite is empty!" @@ -6641,16 +6709,43 @@ msgid "Invalid geometry, can't replace by mesh." msgstr "Некорректная геометрия, не может быть заменена сеткой." #: editor/plugins/sprite_editor_plugin.cpp +#, fuzzy +msgid "Invalid geometry, can't create polygon." +msgstr "Некорректная геометрия, не может быть заменена сеткой." + +#: editor/plugins/sprite_editor_plugin.cpp +#, fuzzy +msgid "Invalid geometry, can't create collision polygon." +msgstr "Некорректная геометрия, не может быть заменена сеткой." + +#: editor/plugins/sprite_editor_plugin.cpp +#, fuzzy +msgid "Invalid geometry, can't create light occluder." +msgstr "Некорректная геометрия, не может быть заменена сеткой." + +#: editor/plugins/sprite_editor_plugin.cpp msgid "Sprite" msgstr "Спрайт" #: editor/plugins/sprite_editor_plugin.cpp -msgid "Convert to 2D Mesh" +#, fuzzy +msgid "Convert to Mesh2D" msgstr "Преобразовать в 2D Mesh" #: editor/plugins/sprite_editor_plugin.cpp -msgid "Create 2D Mesh" -msgstr "Создать 2D Mesh" +#, fuzzy +msgid "Convert to Polygon2D" +msgstr "Передвинуть полигон" + +#: editor/plugins/sprite_editor_plugin.cpp +#, fuzzy +msgid "Create CollisionPolygon2D Sibling" +msgstr "Создать полигон столкновений" + +#: editor/plugins/sprite_editor_plugin.cpp +#, fuzzy +msgid "Create LightOccluder2D Sibling" +msgstr "Создан затеняющий полигон" #: editor/plugins/sprite_editor_plugin.cpp msgid "Simplification: " @@ -7002,18 +7097,16 @@ msgid "Merge from Scene" msgstr "Слияние из сцены" #: editor/plugins/tile_set_editor_plugin.cpp -#, fuzzy msgid "Next Coordinate" -msgstr "Следующий этаж" +msgstr "Следующая Координата" #: editor/plugins/tile_set_editor_plugin.cpp msgid "Select the next shape, subtile, or Tile." msgstr "Выберите следующую фигуру, элемент тайла или тайл." #: editor/plugins/tile_set_editor_plugin.cpp -#, fuzzy msgid "Previous Coordinate" -msgstr "Предыдущий этаж" +msgstr "Предыдущая Координата" #: editor/plugins/tile_set_editor_plugin.cpp msgid "Select the previous shape, subtile, or Tile." @@ -7032,9 +7125,8 @@ msgid "Erase bitmask." msgstr "Стереть битовую маску." #: editor/plugins/tile_set_editor_plugin.cpp -#, fuzzy msgid "Create a new rectangle." -msgstr "Создать новый узел." +msgstr "Создать новый прямоугольник." #: editor/plugins/tile_set_editor_plugin.cpp msgid "Create a new polygon." @@ -7174,14 +7266,12 @@ msgid "Clear Tile Bitmask" msgstr "Очистить Битовую Маску Плитки" #: editor/plugins/tile_set_editor_plugin.cpp -#, fuzzy msgid "Make Polygon Concave" -msgstr "Передвинуть полигон" +msgstr "Сделать Полигон Вогнутым" #: editor/plugins/tile_set_editor_plugin.cpp -#, fuzzy msgid "Make Polygon Convex" -msgstr "Передвинуть полигон" +msgstr "Сделать Полигон Выпуклым" #: editor/plugins/tile_set_editor_plugin.cpp msgid "Remove Tile" @@ -7230,17 +7320,20 @@ msgstr "Задать единообразное имя" #: editor/plugins/visual_shader_editor_plugin.cpp #, fuzzy msgid "Set Input Default Port" -msgstr "Установить по умолчанию для '%s'" +msgstr "Задать Порт по умолчанию для Ввода" #: editor/plugins/visual_shader_editor_plugin.cpp -#, fuzzy msgid "Add Node to Visual Shader" -msgstr "VisualShader" +msgstr "Добавить Узел в Визуальный Шейдер" #: editor/plugins/visual_shader_editor_plugin.cpp -#, fuzzy msgid "Duplicate Nodes" -msgstr "Дублировать узел(узлы)" +msgstr "Дублировать узлы" + +#: editor/plugins/visual_shader_editor_plugin.cpp +#, fuzzy +msgid "Delete Nodes" +msgstr "Удалить узел" #: editor/plugins/visual_shader_editor_plugin.cpp msgid "Visual Shader Input Type Changed" @@ -7265,12 +7358,12 @@ msgstr "Визуальный Шейдер" #: editor/plugins/visual_shader_editor_plugin.cpp #, fuzzy msgid "Edit Visual Property" -msgstr "Редактировать приоритет тайла" +msgstr "Редактировать Визуальное Свойство" #: editor/plugins/visual_shader_editor_plugin.cpp #, fuzzy msgid "Visual Shader Mode Changed" -msgstr "Изменения шейдеров" +msgstr "Режим Визуального Шейдера был изменен" #: editor/project_export.cpp msgid "Runnable" @@ -7313,7 +7406,7 @@ msgstr "Экспорт всех" #: editor/project_export.cpp #, fuzzy msgid "The given export path doesn't exist:" -msgstr "Путь не существует." +msgstr "Данный путь экспорта не существует:" #: editor/project_export.cpp msgid "Export templates for this platform are missing/corrupted:" @@ -7620,12 +7713,13 @@ msgid "" "Warning: You will not be able to open the project with previous versions of " "the engine anymore." msgstr "" -"Файл настроек проекта был сгенерирован старой версией движка и должен быть " -"преобразован для текущей версии:\n" +"Файл настроек проекта не указывает версию версии движка, на котором он был " +"сгенерирован:\n" "\n" "%s\n" "\n" -"Вы хотите преобразовать его?\n" +"Если вы продолжите, то он будет преобразован в формат текущей версии " +"движка.\n" "Внимание: Вы больше не сможете открыть проект предыдущими версиями движка." #: editor/project_manager.cpp @@ -8356,9 +8450,8 @@ msgid "Instantiated scenes can't become root" msgstr "Мгновенные сцены не могут быть корневыми" #: editor/scene_tree_dock.cpp -#, fuzzy msgid "Make node as Root" -msgstr "Создать корневой узел сцены" +msgstr "Сделать узел корневым" #: editor/scene_tree_dock.cpp msgid "Delete Node(s)?" @@ -8399,7 +8492,7 @@ msgstr "Сделать локальным" #: editor/scene_tree_dock.cpp #, fuzzy msgid "New Scene Root" -msgstr "Создать корневой узел сцены" +msgstr "Новый Корневой Узел Сцены" #: editor/scene_tree_dock.cpp msgid "Create Root Node:" @@ -8466,10 +8559,6 @@ msgid "Open documentation" msgstr "Открыть документацию" #: editor/scene_tree_dock.cpp -msgid "Delete Node(s)" -msgstr "Удалить узел(узлы)" - -#: editor/scene_tree_dock.cpp msgid "Add Child Node" msgstr "Добавить дочерний узел" @@ -8831,23 +8920,20 @@ msgid "Set From Tree" msgstr "Установить из дерева" #: editor/settings_config_dialog.cpp -#, fuzzy msgid "Erase Shortcut" -msgstr "Переход ИЗ" +msgstr "Удалить Привязанную Кнопку" #: editor/settings_config_dialog.cpp -#, fuzzy msgid "Restore Shortcut" -msgstr "Горячие клавиши" +msgstr "Восстановить Привязанную Кнопку" #: editor/settings_config_dialog.cpp -#, fuzzy msgid "Change Shortcut" -msgstr "Изменить привязку" +msgstr "Изменить Привязанную Кнопку" #: editor/settings_config_dialog.cpp msgid "Shortcuts" -msgstr "Горячие клавиши" +msgstr "Привязанные кнопки" #: editor/settings_config_dialog.cpp msgid "Binding" @@ -10346,12 +10432,15 @@ msgstr "Назначить форму." msgid "Varyings can only be assigned in vertex function." msgstr "Изменения могут быть назначены только в функции вершины." +#~ msgid "Snap (s): " +#~ msgstr "Привязка (сек): " + +#~ msgid "Insert keys." +#~ msgstr "Вставить ключи." + #~ msgid "Instance the selected scene(s) as child of the selected node." #~ msgstr "Добавить выбранную сцену(ы), в качестве потомка выбранного узла." -#~ msgid "FPS" -#~ msgstr "FPS" - #~ msgid "Warnings:" #~ msgstr "Предупреждения:" @@ -11891,9 +11980,6 @@ msgstr "Изменения могут быть назначены только #~ msgid "Cannot go into subdir:" #~ msgstr "Невозможно перейти в подпапку:" -#~ msgid "Insert Keys (Ins)" -#~ msgstr "Вставить ключи (Ins)" - #~ msgid "Top (Num7)" #~ msgstr "Вид сверху (Num 7)" diff --git a/editor/translations/si.po b/editor/translations/si.po index dab5cb3e0f..581ab36ee0 100644 --- a/editor/translations/si.po +++ b/editor/translations/si.po @@ -417,13 +417,21 @@ msgid "Group tracks by node or display them as plain list." msgstr "" #: editor/animation_track_editor.cpp -msgid "Snap (s): " +msgid "Snap:" msgstr "" #: editor/animation_track_editor.cpp msgid "Animation step value." msgstr "" +#: editor/animation_track_editor.cpp +msgid "Seconds" +msgstr "" + +#: editor/animation_track_editor.cpp +msgid "FPS" +msgstr "" + #: editor/animation_track_editor.cpp editor/editor_properties.cpp #: editor/plugins/polygon_2d_editor_plugin.cpp #: editor/plugins/script_text_editor.cpp @@ -3682,6 +3690,11 @@ msgid "Delete Node" msgstr "යතුරු මකා දමන්න" #: editor/plugins/animation_blend_tree_editor_plugin.cpp +#: editor/scene_tree_dock.cpp +msgid "Delete Node(s)" +msgstr "" + +#: editor/plugins/animation_blend_tree_editor_plugin.cpp #, fuzzy msgid "Toggle Filter On/Off" msgstr "ලුහුබදින්නා සක්රිය/අක්රිය." @@ -4635,10 +4648,35 @@ msgid "Layout" msgstr "" #: editor/plugins/canvas_item_editor_plugin.cpp -msgid "Insert keys." +msgid "Translation mask for inserting keys." +msgstr "" + +#: editor/plugins/canvas_item_editor_plugin.cpp +msgid "Rotation mask for inserting keys." msgstr "" #: editor/plugins/canvas_item_editor_plugin.cpp +msgid "Scale mask for inserting keys." +msgstr "" + +#: editor/plugins/canvas_item_editor_plugin.cpp +msgid "Insert keys (based on mask)." +msgstr "" + +#: editor/plugins/canvas_item_editor_plugin.cpp +msgid "" +"Auto insert keys when objects are translated, rotated on scaled (based on " +"mask).\n" +"Keys are only added to existing tracks, no new tracks will be created.\n" +"Keys must be inserted manually for the first time." +msgstr "" + +#: editor/plugins/canvas_item_editor_plugin.cpp +#, fuzzy +msgid "Auto Insert Key" +msgstr "Anim යතුරක් ඇතුලත් කරන්න" + +#: editor/plugins/canvas_item_editor_plugin.cpp msgid "Insert Key (Existing Tracks)" msgstr "" @@ -4706,6 +4744,52 @@ msgstr "" msgid "Set Handle" msgstr "" +#: editor/plugins/cpu_particles_2d_editor_plugin.cpp +#: editor/plugins/particles_2d_editor_plugin.cpp +msgid "Error loading image:" +msgstr "" + +#: editor/plugins/cpu_particles_2d_editor_plugin.cpp +#: editor/plugins/particles_2d_editor_plugin.cpp +msgid "No pixels with transparency > 128 in image..." +msgstr "" + +#: editor/plugins/cpu_particles_2d_editor_plugin.cpp +#: editor/plugins/particles_2d_editor_plugin.cpp +msgid "Load Emission Mask" +msgstr "" + +#: editor/plugins/cpu_particles_2d_editor_plugin.cpp +#: editor/plugins/particles_2d_editor_plugin.cpp +msgid "Clear Emission Mask" +msgstr "" + +#: editor/plugins/cpu_particles_2d_editor_plugin.cpp +#: editor/plugins/particles_2d_editor_plugin.cpp +#: editor/plugins/particles_editor_plugin.cpp +msgid "Particles" +msgstr "" + +#: editor/plugins/cpu_particles_2d_editor_plugin.cpp +#: editor/plugins/particles_2d_editor_plugin.cpp +msgid "Generated Point Count:" +msgstr "" + +#: editor/plugins/cpu_particles_2d_editor_plugin.cpp +#: editor/plugins/particles_2d_editor_plugin.cpp +msgid "Emission Mask" +msgstr "" + +#: editor/plugins/cpu_particles_2d_editor_plugin.cpp +#: editor/plugins/particles_2d_editor_plugin.cpp +msgid "Capture from Pixel" +msgstr "" + +#: editor/plugins/cpu_particles_2d_editor_plugin.cpp +#: editor/plugins/particles_2d_editor_plugin.cpp +msgid "Emission Colors" +msgstr "" + #: editor/plugins/cpu_particles_editor_plugin.cpp msgid "CPUParticles" msgstr "" @@ -5056,52 +5140,15 @@ msgid "Can only set point into a ParticlesMaterial process material" msgstr "" #: editor/plugins/particles_2d_editor_plugin.cpp -msgid "Error loading image:" -msgstr "" - -#: editor/plugins/particles_2d_editor_plugin.cpp -msgid "No pixels with transparency > 128 in image..." -msgstr "" - -#: editor/plugins/particles_2d_editor_plugin.cpp -msgid "Load Emission Mask" -msgstr "" - -#: editor/plugins/particles_2d_editor_plugin.cpp -msgid "Clear Emission Mask" -msgstr "" - -#: editor/plugins/particles_2d_editor_plugin.cpp #: editor/plugins/particles_editor_plugin.cpp msgid "Convert to CPUParticles" msgstr "" #: editor/plugins/particles_2d_editor_plugin.cpp #: editor/plugins/particles_editor_plugin.cpp -msgid "Particles" -msgstr "" - -#: editor/plugins/particles_2d_editor_plugin.cpp -msgid "Generated Point Count:" -msgstr "" - -#: editor/plugins/particles_2d_editor_plugin.cpp -#: editor/plugins/particles_editor_plugin.cpp msgid "Generation Time (sec):" msgstr "" -#: editor/plugins/particles_2d_editor_plugin.cpp -msgid "Emission Mask" -msgstr "" - -#: editor/plugins/particles_2d_editor_plugin.cpp -msgid "Capture from Pixel" -msgstr "" - -#: editor/plugins/particles_2d_editor_plugin.cpp -msgid "Emission Colors" -msgstr "" - #: editor/plugins/particles_editor_plugin.cpp msgid "Faces contain no area!" msgstr "" @@ -5605,7 +5652,7 @@ msgid "Save Theme As..." msgstr "" #: editor/plugins/script_editor_plugin.cpp -msgid " Class Reference" +msgid "%s Class Reference" msgstr "" #: editor/plugins/script_editor_plugin.cpp @@ -6424,6 +6471,24 @@ msgid "Nameless gizmo" msgstr "" #: editor/plugins/sprite_editor_plugin.cpp +#, fuzzy +msgid "Create Mesh2D" +msgstr "සාදන්න" + +#: editor/plugins/sprite_editor_plugin.cpp +msgid "Create Polygon2D" +msgstr "" + +#: editor/plugins/sprite_editor_plugin.cpp +msgid "Create CollisionPolygon2D" +msgstr "" + +#: editor/plugins/sprite_editor_plugin.cpp +#, fuzzy +msgid "Create LightOccluder2D" +msgstr "සාදන්න" + +#: editor/plugins/sprite_editor_plugin.cpp msgid "Sprite is empty!" msgstr "" @@ -6436,15 +6501,35 @@ msgid "Invalid geometry, can't replace by mesh." msgstr "" #: editor/plugins/sprite_editor_plugin.cpp +msgid "Invalid geometry, can't create polygon." +msgstr "" + +#: editor/plugins/sprite_editor_plugin.cpp +msgid "Invalid geometry, can't create collision polygon." +msgstr "" + +#: editor/plugins/sprite_editor_plugin.cpp +msgid "Invalid geometry, can't create light occluder." +msgstr "" + +#: editor/plugins/sprite_editor_plugin.cpp msgid "Sprite" msgstr "" #: editor/plugins/sprite_editor_plugin.cpp -msgid "Convert to 2D Mesh" +msgid "Convert to Mesh2D" +msgstr "" + +#: editor/plugins/sprite_editor_plugin.cpp +msgid "Convert to Polygon2D" +msgstr "" + +#: editor/plugins/sprite_editor_plugin.cpp +msgid "Create CollisionPolygon2D Sibling" msgstr "" #: editor/plugins/sprite_editor_plugin.cpp -msgid "Create 2D Mesh" +msgid "Create LightOccluder2D Sibling" msgstr "" #: editor/plugins/sprite_editor_plugin.cpp @@ -7021,6 +7106,11 @@ msgid "Duplicate Nodes" msgstr "යතුරු පිටපත් කරන්න" #: editor/plugins/visual_shader_editor_plugin.cpp +#, fuzzy +msgid "Delete Nodes" +msgstr "යතුරු මකා දමන්න" + +#: editor/plugins/visual_shader_editor_plugin.cpp msgid "Visual Shader Input Type Changed" msgstr "" @@ -8170,10 +8260,6 @@ msgid "Open documentation" msgstr "" #: editor/scene_tree_dock.cpp -msgid "Delete Node(s)" -msgstr "" - -#: editor/scene_tree_dock.cpp msgid "Add Child Node" msgstr "" diff --git a/editor/translations/sk.po b/editor/translations/sk.po index a664935a69..862f095dd3 100644 --- a/editor/translations/sk.po +++ b/editor/translations/sk.po @@ -421,13 +421,21 @@ msgid "Group tracks by node or display them as plain list." msgstr "" #: editor/animation_track_editor.cpp -msgid "Snap (s): " +msgid "Snap:" msgstr "" #: editor/animation_track_editor.cpp msgid "Animation step value." msgstr "" +#: editor/animation_track_editor.cpp +msgid "Seconds" +msgstr "" + +#: editor/animation_track_editor.cpp +msgid "FPS" +msgstr "" + #: editor/animation_track_editor.cpp editor/editor_properties.cpp #: editor/plugins/polygon_2d_editor_plugin.cpp #: editor/plugins/script_text_editor.cpp @@ -3755,6 +3763,11 @@ msgid "Delete Node" msgstr "Všetky vybrané" #: editor/plugins/animation_blend_tree_editor_plugin.cpp +#: editor/scene_tree_dock.cpp +msgid "Delete Node(s)" +msgstr "" + +#: editor/plugins/animation_blend_tree_editor_plugin.cpp msgid "Toggle Filter On/Off" msgstr "" @@ -4724,10 +4737,35 @@ msgid "Layout" msgstr "" #: editor/plugins/canvas_item_editor_plugin.cpp -msgid "Insert keys." +msgid "Translation mask for inserting keys." +msgstr "" + +#: editor/plugins/canvas_item_editor_plugin.cpp +msgid "Rotation mask for inserting keys." +msgstr "" + +#: editor/plugins/canvas_item_editor_plugin.cpp +msgid "Scale mask for inserting keys." +msgstr "" + +#: editor/plugins/canvas_item_editor_plugin.cpp +msgid "Insert keys (based on mask)." msgstr "" #: editor/plugins/canvas_item_editor_plugin.cpp +msgid "" +"Auto insert keys when objects are translated, rotated on scaled (based on " +"mask).\n" +"Keys are only added to existing tracks, no new tracks will be created.\n" +"Keys must be inserted manually for the first time." +msgstr "" + +#: editor/plugins/canvas_item_editor_plugin.cpp +#, fuzzy +msgid "Auto Insert Key" +msgstr "Animácia Vložiť Kľúč" + +#: editor/plugins/canvas_item_editor_plugin.cpp msgid "Insert Key (Existing Tracks)" msgstr "" @@ -4796,6 +4834,52 @@ msgstr "" msgid "Set Handle" msgstr "" +#: editor/plugins/cpu_particles_2d_editor_plugin.cpp +#: editor/plugins/particles_2d_editor_plugin.cpp +msgid "Error loading image:" +msgstr "" + +#: editor/plugins/cpu_particles_2d_editor_plugin.cpp +#: editor/plugins/particles_2d_editor_plugin.cpp +msgid "No pixels with transparency > 128 in image..." +msgstr "" + +#: editor/plugins/cpu_particles_2d_editor_plugin.cpp +#: editor/plugins/particles_2d_editor_plugin.cpp +msgid "Load Emission Mask" +msgstr "" + +#: editor/plugins/cpu_particles_2d_editor_plugin.cpp +#: editor/plugins/particles_2d_editor_plugin.cpp +msgid "Clear Emission Mask" +msgstr "" + +#: editor/plugins/cpu_particles_2d_editor_plugin.cpp +#: editor/plugins/particles_2d_editor_plugin.cpp +#: editor/plugins/particles_editor_plugin.cpp +msgid "Particles" +msgstr "" + +#: editor/plugins/cpu_particles_2d_editor_plugin.cpp +#: editor/plugins/particles_2d_editor_plugin.cpp +msgid "Generated Point Count:" +msgstr "" + +#: editor/plugins/cpu_particles_2d_editor_plugin.cpp +#: editor/plugins/particles_2d_editor_plugin.cpp +msgid "Emission Mask" +msgstr "" + +#: editor/plugins/cpu_particles_2d_editor_plugin.cpp +#: editor/plugins/particles_2d_editor_plugin.cpp +msgid "Capture from Pixel" +msgstr "" + +#: editor/plugins/cpu_particles_2d_editor_plugin.cpp +#: editor/plugins/particles_2d_editor_plugin.cpp +msgid "Emission Colors" +msgstr "" + #: editor/plugins/cpu_particles_editor_plugin.cpp msgid "CPUParticles" msgstr "" @@ -5152,52 +5236,15 @@ msgid "Can only set point into a ParticlesMaterial process material" msgstr "" #: editor/plugins/particles_2d_editor_plugin.cpp -msgid "Error loading image:" -msgstr "" - -#: editor/plugins/particles_2d_editor_plugin.cpp -msgid "No pixels with transparency > 128 in image..." -msgstr "" - -#: editor/plugins/particles_2d_editor_plugin.cpp -msgid "Load Emission Mask" -msgstr "" - -#: editor/plugins/particles_2d_editor_plugin.cpp -msgid "Clear Emission Mask" -msgstr "" - -#: editor/plugins/particles_2d_editor_plugin.cpp #: editor/plugins/particles_editor_plugin.cpp msgid "Convert to CPUParticles" msgstr "" #: editor/plugins/particles_2d_editor_plugin.cpp #: editor/plugins/particles_editor_plugin.cpp -msgid "Particles" -msgstr "" - -#: editor/plugins/particles_2d_editor_plugin.cpp -msgid "Generated Point Count:" -msgstr "" - -#: editor/plugins/particles_2d_editor_plugin.cpp -#: editor/plugins/particles_editor_plugin.cpp msgid "Generation Time (sec):" msgstr "" -#: editor/plugins/particles_2d_editor_plugin.cpp -msgid "Emission Mask" -msgstr "" - -#: editor/plugins/particles_2d_editor_plugin.cpp -msgid "Capture from Pixel" -msgstr "" - -#: editor/plugins/particles_2d_editor_plugin.cpp -msgid "Emission Colors" -msgstr "" - #: editor/plugins/particles_editor_plugin.cpp msgid "Faces contain no area!" msgstr "" @@ -5717,7 +5764,7 @@ msgid "Save Theme As..." msgstr "" #: editor/plugins/script_editor_plugin.cpp -msgid " Class Reference" +msgid "%s Class Reference" msgstr "" #: editor/plugins/script_editor_plugin.cpp @@ -6547,6 +6594,26 @@ msgid "Nameless gizmo" msgstr "" #: editor/plugins/sprite_editor_plugin.cpp +#, fuzzy +msgid "Create Mesh2D" +msgstr "Vytvoriť adresár" + +#: editor/plugins/sprite_editor_plugin.cpp +#, fuzzy +msgid "Create Polygon2D" +msgstr "Vytvoriť adresár" + +#: editor/plugins/sprite_editor_plugin.cpp +#, fuzzy +msgid "Create CollisionPolygon2D" +msgstr "Vytvoriť adresár" + +#: editor/plugins/sprite_editor_plugin.cpp +#, fuzzy +msgid "Create LightOccluder2D" +msgstr "Vytvoriť adresár" + +#: editor/plugins/sprite_editor_plugin.cpp msgid "Sprite is empty!" msgstr "" @@ -6559,19 +6626,40 @@ msgid "Invalid geometry, can't replace by mesh." msgstr "" #: editor/plugins/sprite_editor_plugin.cpp +msgid "Invalid geometry, can't create polygon." +msgstr "" + +#: editor/plugins/sprite_editor_plugin.cpp +msgid "Invalid geometry, can't create collision polygon." +msgstr "" + +#: editor/plugins/sprite_editor_plugin.cpp +msgid "Invalid geometry, can't create light occluder." +msgstr "" + +#: editor/plugins/sprite_editor_plugin.cpp msgid "Sprite" msgstr "" #: editor/plugins/sprite_editor_plugin.cpp -msgid "Convert to 2D Mesh" +msgid "Convert to Mesh2D" msgstr "" #: editor/plugins/sprite_editor_plugin.cpp #, fuzzy -msgid "Create 2D Mesh" +msgid "Convert to Polygon2D" +msgstr "Všetky vybrané" + +#: editor/plugins/sprite_editor_plugin.cpp +#, fuzzy +msgid "Create CollisionPolygon2D Sibling" msgstr "Vytvoriť adresár" #: editor/plugins/sprite_editor_plugin.cpp +msgid "Create LightOccluder2D Sibling" +msgstr "" + +#: editor/plugins/sprite_editor_plugin.cpp msgid "Simplification: " msgstr "" @@ -7175,6 +7263,11 @@ msgid "Duplicate Nodes" msgstr "Duplikovať výber" #: editor/plugins/visual_shader_editor_plugin.cpp +#, fuzzy +msgid "Delete Nodes" +msgstr "Všetky vybrané" + +#: editor/plugins/visual_shader_editor_plugin.cpp msgid "Visual Shader Input Type Changed" msgstr "" @@ -8343,10 +8436,6 @@ msgid "Open documentation" msgstr "Popis:" #: editor/scene_tree_dock.cpp -msgid "Delete Node(s)" -msgstr "" - -#: editor/scene_tree_dock.cpp msgid "Add Child Node" msgstr "" diff --git a/editor/translations/sl.po b/editor/translations/sl.po index a18d140b17..23d7e5ebee 100644 --- a/editor/translations/sl.po +++ b/editor/translations/sl.po @@ -441,7 +441,7 @@ msgstr "" #: editor/animation_track_editor.cpp #, fuzzy -msgid "Snap (s): " +msgid "Snap:" msgstr "Korak (s):" #: editor/animation_track_editor.cpp @@ -449,6 +449,14 @@ msgstr "Korak (s):" msgid "Animation step value." msgstr "Drevo animacije je veljavno." +#: editor/animation_track_editor.cpp +msgid "Seconds" +msgstr "" + +#: editor/animation_track_editor.cpp +msgid "FPS" +msgstr "" + #: editor/animation_track_editor.cpp editor/editor_properties.cpp #: editor/plugins/polygon_2d_editor_plugin.cpp #: editor/plugins/script_text_editor.cpp @@ -3914,6 +3922,11 @@ msgid "Delete Node" msgstr "Izberi Gradnik" #: editor/plugins/animation_blend_tree_editor_plugin.cpp +#: editor/scene_tree_dock.cpp +msgid "Delete Node(s)" +msgstr "" + +#: editor/plugins/animation_blend_tree_editor_plugin.cpp #, fuzzy msgid "Toggle Filter On/Off" msgstr "Preklop način pisanja brez motenj." @@ -4915,8 +4928,33 @@ msgid "Layout" msgstr "" #: editor/plugins/canvas_item_editor_plugin.cpp +msgid "Translation mask for inserting keys." +msgstr "" + +#: editor/plugins/canvas_item_editor_plugin.cpp +msgid "Rotation mask for inserting keys." +msgstr "" + +#: editor/plugins/canvas_item_editor_plugin.cpp +msgid "Scale mask for inserting keys." +msgstr "" + +#: editor/plugins/canvas_item_editor_plugin.cpp +#, fuzzy +msgid "Insert keys (based on mask)." +msgstr "V Animacijo Vstavi Ključ" + +#: editor/plugins/canvas_item_editor_plugin.cpp +msgid "" +"Auto insert keys when objects are translated, rotated on scaled (based on " +"mask).\n" +"Keys are only added to existing tracks, no new tracks will be created.\n" +"Keys must be inserted manually for the first time." +msgstr "" + +#: editor/plugins/canvas_item_editor_plugin.cpp #, fuzzy -msgid "Insert keys." +msgid "Auto Insert Key" msgstr "V Animacijo Vstavi Ključ" #: editor/plugins/canvas_item_editor_plugin.cpp @@ -4988,6 +5026,52 @@ msgstr "Uredi Poligon (Odstrani Točko)" msgid "Set Handle" msgstr "" +#: editor/plugins/cpu_particles_2d_editor_plugin.cpp +#: editor/plugins/particles_2d_editor_plugin.cpp +msgid "Error loading image:" +msgstr "" + +#: editor/plugins/cpu_particles_2d_editor_plugin.cpp +#: editor/plugins/particles_2d_editor_plugin.cpp +msgid "No pixels with transparency > 128 in image..." +msgstr "" + +#: editor/plugins/cpu_particles_2d_editor_plugin.cpp +#: editor/plugins/particles_2d_editor_plugin.cpp +msgid "Load Emission Mask" +msgstr "" + +#: editor/plugins/cpu_particles_2d_editor_plugin.cpp +#: editor/plugins/particles_2d_editor_plugin.cpp +msgid "Clear Emission Mask" +msgstr "" + +#: editor/plugins/cpu_particles_2d_editor_plugin.cpp +#: editor/plugins/particles_2d_editor_plugin.cpp +#: editor/plugins/particles_editor_plugin.cpp +msgid "Particles" +msgstr "" + +#: editor/plugins/cpu_particles_2d_editor_plugin.cpp +#: editor/plugins/particles_2d_editor_plugin.cpp +msgid "Generated Point Count:" +msgstr "" + +#: editor/plugins/cpu_particles_2d_editor_plugin.cpp +#: editor/plugins/particles_2d_editor_plugin.cpp +msgid "Emission Mask" +msgstr "" + +#: editor/plugins/cpu_particles_2d_editor_plugin.cpp +#: editor/plugins/particles_2d_editor_plugin.cpp +msgid "Capture from Pixel" +msgstr "" + +#: editor/plugins/cpu_particles_2d_editor_plugin.cpp +#: editor/plugins/particles_2d_editor_plugin.cpp +msgid "Emission Colors" +msgstr "" + #: editor/plugins/cpu_particles_editor_plugin.cpp msgid "CPUParticles" msgstr "" @@ -5338,52 +5422,15 @@ msgid "Can only set point into a ParticlesMaterial process material" msgstr "" #: editor/plugins/particles_2d_editor_plugin.cpp -msgid "Error loading image:" -msgstr "" - -#: editor/plugins/particles_2d_editor_plugin.cpp -msgid "No pixels with transparency > 128 in image..." -msgstr "" - -#: editor/plugins/particles_2d_editor_plugin.cpp -msgid "Load Emission Mask" -msgstr "" - -#: editor/plugins/particles_2d_editor_plugin.cpp -msgid "Clear Emission Mask" -msgstr "" - -#: editor/plugins/particles_2d_editor_plugin.cpp #: editor/plugins/particles_editor_plugin.cpp msgid "Convert to CPUParticles" msgstr "" #: editor/plugins/particles_2d_editor_plugin.cpp #: editor/plugins/particles_editor_plugin.cpp -msgid "Particles" -msgstr "" - -#: editor/plugins/particles_2d_editor_plugin.cpp -msgid "Generated Point Count:" -msgstr "" - -#: editor/plugins/particles_2d_editor_plugin.cpp -#: editor/plugins/particles_editor_plugin.cpp msgid "Generation Time (sec):" msgstr "" -#: editor/plugins/particles_2d_editor_plugin.cpp -msgid "Emission Mask" -msgstr "" - -#: editor/plugins/particles_2d_editor_plugin.cpp -msgid "Capture from Pixel" -msgstr "" - -#: editor/plugins/particles_2d_editor_plugin.cpp -msgid "Emission Colors" -msgstr "" - #: editor/plugins/particles_editor_plugin.cpp msgid "Faces contain no area!" msgstr "" @@ -5917,7 +5964,7 @@ msgid "Save Theme As..." msgstr "" #: editor/plugins/script_editor_plugin.cpp -msgid " Class Reference" +msgid "%s Class Reference" msgstr "" #: editor/plugins/script_editor_plugin.cpp @@ -6757,6 +6804,26 @@ msgstr "" #: editor/plugins/sprite_editor_plugin.cpp #, fuzzy +msgid "Create Mesh2D" +msgstr "Ustvari Nov %s" + +#: editor/plugins/sprite_editor_plugin.cpp +#, fuzzy +msgid "Create Polygon2D" +msgstr "Ustvarite Poligon" + +#: editor/plugins/sprite_editor_plugin.cpp +#, fuzzy +msgid "Create CollisionPolygon2D" +msgstr "Ustvarite Poligon" + +#: editor/plugins/sprite_editor_plugin.cpp +#, fuzzy +msgid "Create LightOccluder2D" +msgstr "Ustvarite Mapo" + +#: editor/plugins/sprite_editor_plugin.cpp +#, fuzzy msgid "Sprite is empty!" msgstr "Model je prazen!" @@ -6769,17 +6836,39 @@ msgid "Invalid geometry, can't replace by mesh." msgstr "" #: editor/plugins/sprite_editor_plugin.cpp -msgid "Sprite" +msgid "Invalid geometry, can't create polygon." +msgstr "" + +#: editor/plugins/sprite_editor_plugin.cpp +msgid "Invalid geometry, can't create collision polygon." msgstr "" #: editor/plugins/sprite_editor_plugin.cpp -msgid "Convert to 2D Mesh" +msgid "Invalid geometry, can't create light occluder." +msgstr "" + +#: editor/plugins/sprite_editor_plugin.cpp +msgid "Sprite" msgstr "" #: editor/plugins/sprite_editor_plugin.cpp #, fuzzy -msgid "Create 2D Mesh" -msgstr "Ustvari Nov %s" +msgid "Convert to Mesh2D" +msgstr "Pretvori V..." + +#: editor/plugins/sprite_editor_plugin.cpp +#, fuzzy +msgid "Convert to Polygon2D" +msgstr "Odstrani Poligon in Točko" + +#: editor/plugins/sprite_editor_plugin.cpp +#, fuzzy +msgid "Create CollisionPolygon2D Sibling" +msgstr "Ustvarite Poligon" + +#: editor/plugins/sprite_editor_plugin.cpp +msgid "Create LightOccluder2D Sibling" +msgstr "" #: editor/plugins/sprite_editor_plugin.cpp msgid "Simplification: " @@ -7393,6 +7482,11 @@ msgid "Duplicate Nodes" msgstr "Animacija Podvoji ključe" #: editor/plugins/visual_shader_editor_plugin.cpp +#, fuzzy +msgid "Delete Nodes" +msgstr "Izberi Gradnik" + +#: editor/plugins/visual_shader_editor_plugin.cpp msgid "Visual Shader Input Type Changed" msgstr "" @@ -8572,10 +8666,6 @@ msgid "Open documentation" msgstr "Odpri Nedavne" #: editor/scene_tree_dock.cpp -msgid "Delete Node(s)" -msgstr "" - -#: editor/scene_tree_dock.cpp msgid "Add Child Node" msgstr "" diff --git a/editor/translations/sq.po b/editor/translations/sq.po index f3b24cc2f5..d52ebdcd96 100644 --- a/editor/translations/sq.po +++ b/editor/translations/sq.po @@ -407,13 +407,21 @@ msgid "Group tracks by node or display them as plain list." msgstr "" #: editor/animation_track_editor.cpp -msgid "Snap (s): " +msgid "Snap:" msgstr "" #: editor/animation_track_editor.cpp msgid "Animation step value." msgstr "Vlera e hapit për animacionin." +#: editor/animation_track_editor.cpp +msgid "Seconds" +msgstr "" + +#: editor/animation_track_editor.cpp +msgid "FPS" +msgstr "" + #: editor/animation_track_editor.cpp editor/editor_properties.cpp #: editor/plugins/polygon_2d_editor_plugin.cpp #: editor/plugins/script_text_editor.cpp @@ -3793,6 +3801,11 @@ msgid "Delete Node" msgstr "Fshi Nyjen" #: editor/plugins/animation_blend_tree_editor_plugin.cpp +#: editor/scene_tree_dock.cpp +msgid "Delete Node(s)" +msgstr "" + +#: editor/plugins/animation_blend_tree_editor_plugin.cpp msgid "Toggle Filter On/Off" msgstr "" @@ -4744,10 +4757,35 @@ msgid "Layout" msgstr "" #: editor/plugins/canvas_item_editor_plugin.cpp -msgid "Insert keys." +msgid "Translation mask for inserting keys." +msgstr "" + +#: editor/plugins/canvas_item_editor_plugin.cpp +msgid "Rotation mask for inserting keys." +msgstr "" + +#: editor/plugins/canvas_item_editor_plugin.cpp +msgid "Scale mask for inserting keys." +msgstr "" + +#: editor/plugins/canvas_item_editor_plugin.cpp +msgid "Insert keys (based on mask)." msgstr "" #: editor/plugins/canvas_item_editor_plugin.cpp +msgid "" +"Auto insert keys when objects are translated, rotated on scaled (based on " +"mask).\n" +"Keys are only added to existing tracks, no new tracks will be created.\n" +"Keys must be inserted manually for the first time." +msgstr "" + +#: editor/plugins/canvas_item_editor_plugin.cpp +#, fuzzy +msgid "Auto Insert Key" +msgstr "Vendos Key" + +#: editor/plugins/canvas_item_editor_plugin.cpp msgid "Insert Key (Existing Tracks)" msgstr "" @@ -4815,6 +4853,52 @@ msgstr "" msgid "Set Handle" msgstr "" +#: editor/plugins/cpu_particles_2d_editor_plugin.cpp +#: editor/plugins/particles_2d_editor_plugin.cpp +msgid "Error loading image:" +msgstr "" + +#: editor/plugins/cpu_particles_2d_editor_plugin.cpp +#: editor/plugins/particles_2d_editor_plugin.cpp +msgid "No pixels with transparency > 128 in image..." +msgstr "" + +#: editor/plugins/cpu_particles_2d_editor_plugin.cpp +#: editor/plugins/particles_2d_editor_plugin.cpp +msgid "Load Emission Mask" +msgstr "" + +#: editor/plugins/cpu_particles_2d_editor_plugin.cpp +#: editor/plugins/particles_2d_editor_plugin.cpp +msgid "Clear Emission Mask" +msgstr "" + +#: editor/plugins/cpu_particles_2d_editor_plugin.cpp +#: editor/plugins/particles_2d_editor_plugin.cpp +#: editor/plugins/particles_editor_plugin.cpp +msgid "Particles" +msgstr "" + +#: editor/plugins/cpu_particles_2d_editor_plugin.cpp +#: editor/plugins/particles_2d_editor_plugin.cpp +msgid "Generated Point Count:" +msgstr "" + +#: editor/plugins/cpu_particles_2d_editor_plugin.cpp +#: editor/plugins/particles_2d_editor_plugin.cpp +msgid "Emission Mask" +msgstr "" + +#: editor/plugins/cpu_particles_2d_editor_plugin.cpp +#: editor/plugins/particles_2d_editor_plugin.cpp +msgid "Capture from Pixel" +msgstr "" + +#: editor/plugins/cpu_particles_2d_editor_plugin.cpp +#: editor/plugins/particles_2d_editor_plugin.cpp +msgid "Emission Colors" +msgstr "" + #: editor/plugins/cpu_particles_editor_plugin.cpp msgid "CPUParticles" msgstr "" @@ -5165,52 +5249,15 @@ msgid "Can only set point into a ParticlesMaterial process material" msgstr "" #: editor/plugins/particles_2d_editor_plugin.cpp -msgid "Error loading image:" -msgstr "" - -#: editor/plugins/particles_2d_editor_plugin.cpp -msgid "No pixels with transparency > 128 in image..." -msgstr "" - -#: editor/plugins/particles_2d_editor_plugin.cpp -msgid "Load Emission Mask" -msgstr "" - -#: editor/plugins/particles_2d_editor_plugin.cpp -msgid "Clear Emission Mask" -msgstr "" - -#: editor/plugins/particles_2d_editor_plugin.cpp #: editor/plugins/particles_editor_plugin.cpp msgid "Convert to CPUParticles" msgstr "" #: editor/plugins/particles_2d_editor_plugin.cpp #: editor/plugins/particles_editor_plugin.cpp -msgid "Particles" -msgstr "" - -#: editor/plugins/particles_2d_editor_plugin.cpp -msgid "Generated Point Count:" -msgstr "" - -#: editor/plugins/particles_2d_editor_plugin.cpp -#: editor/plugins/particles_editor_plugin.cpp msgid "Generation Time (sec):" msgstr "" -#: editor/plugins/particles_2d_editor_plugin.cpp -msgid "Emission Mask" -msgstr "" - -#: editor/plugins/particles_2d_editor_plugin.cpp -msgid "Capture from Pixel" -msgstr "" - -#: editor/plugins/particles_2d_editor_plugin.cpp -msgid "Emission Colors" -msgstr "" - #: editor/plugins/particles_editor_plugin.cpp msgid "Faces contain no area!" msgstr "" @@ -5714,7 +5761,7 @@ msgid "Save Theme As..." msgstr "" #: editor/plugins/script_editor_plugin.cpp -msgid " Class Reference" +msgid "%s Class Reference" msgstr "" #: editor/plugins/script_editor_plugin.cpp @@ -6532,6 +6579,26 @@ msgid "Nameless gizmo" msgstr "" #: editor/plugins/sprite_editor_plugin.cpp +#, fuzzy +msgid "Create Mesh2D" +msgstr "Krijo %s të ri" + +#: editor/plugins/sprite_editor_plugin.cpp +#, fuzzy +msgid "Create Polygon2D" +msgstr "Krijo një Poligon" + +#: editor/plugins/sprite_editor_plugin.cpp +#, fuzzy +msgid "Create CollisionPolygon2D" +msgstr "Krijo një Poligon" + +#: editor/plugins/sprite_editor_plugin.cpp +#, fuzzy +msgid "Create LightOccluder2D" +msgstr "Krijo një Folder" + +#: editor/plugins/sprite_editor_plugin.cpp msgid "Sprite is empty!" msgstr "" @@ -6544,15 +6611,37 @@ msgid "Invalid geometry, can't replace by mesh." msgstr "" #: editor/plugins/sprite_editor_plugin.cpp +msgid "Invalid geometry, can't create polygon." +msgstr "" + +#: editor/plugins/sprite_editor_plugin.cpp +msgid "Invalid geometry, can't create collision polygon." +msgstr "" + +#: editor/plugins/sprite_editor_plugin.cpp +msgid "Invalid geometry, can't create light occluder." +msgstr "" + +#: editor/plugins/sprite_editor_plugin.cpp msgid "Sprite" msgstr "" #: editor/plugins/sprite_editor_plugin.cpp -msgid "Convert to 2D Mesh" +#, fuzzy +msgid "Convert to Mesh2D" +msgstr "Konverto në %s" + +#: editor/plugins/sprite_editor_plugin.cpp +#, fuzzy +msgid "Convert to Polygon2D" +msgstr "Krijo një Poligon" + +#: editor/plugins/sprite_editor_plugin.cpp +msgid "Create CollisionPolygon2D Sibling" msgstr "" #: editor/plugins/sprite_editor_plugin.cpp -msgid "Create 2D Mesh" +msgid "Create LightOccluder2D Sibling" msgstr "" #: editor/plugins/sprite_editor_plugin.cpp @@ -7123,6 +7212,11 @@ msgid "Duplicate Nodes" msgstr "Dyfisho Nyjet" #: editor/plugins/visual_shader_editor_plugin.cpp +#, fuzzy +msgid "Delete Nodes" +msgstr "Fshi Nyjen" + +#: editor/plugins/visual_shader_editor_plugin.cpp msgid "Visual Shader Input Type Changed" msgstr "" @@ -8272,10 +8366,6 @@ msgid "Open documentation" msgstr "" #: editor/scene_tree_dock.cpp -msgid "Delete Node(s)" -msgstr "" - -#: editor/scene_tree_dock.cpp msgid "Add Child Node" msgstr "" diff --git a/editor/translations/sr_Cyrl.po b/editor/translations/sr_Cyrl.po index 31ff003c25..57e05ca847 100644 --- a/editor/translations/sr_Cyrl.po +++ b/editor/translations/sr_Cyrl.po @@ -442,14 +442,22 @@ msgstr "" #: editor/animation_track_editor.cpp #, fuzzy -msgid "Snap (s): " -msgstr "Један корак (сек.):" +msgid "Snap:" +msgstr "Залепи" #: editor/animation_track_editor.cpp #, fuzzy msgid "Animation step value." msgstr "Анимационо дрво је важеће." +#: editor/animation_track_editor.cpp +msgid "Seconds" +msgstr "" + +#: editor/animation_track_editor.cpp +msgid "FPS" +msgstr "FPS" + #: editor/animation_track_editor.cpp editor/editor_properties.cpp #: editor/plugins/polygon_2d_editor_plugin.cpp #: editor/plugins/script_text_editor.cpp @@ -3942,6 +3950,11 @@ msgid "Delete Node" msgstr "Направи чвор" #: editor/plugins/animation_blend_tree_editor_plugin.cpp +#: editor/scene_tree_dock.cpp +msgid "Delete Node(s)" +msgstr "" + +#: editor/plugins/animation_blend_tree_editor_plugin.cpp #, fuzzy msgid "Toggle Filter On/Off" msgstr "Укљ./Искљ. режим без сметње." @@ -4937,9 +4950,34 @@ msgid "Layout" msgstr "Распоред" #: editor/plugins/canvas_item_editor_plugin.cpp +msgid "Translation mask for inserting keys." +msgstr "" + +#: editor/plugins/canvas_item_editor_plugin.cpp +msgid "Rotation mask for inserting keys." +msgstr "" + +#: editor/plugins/canvas_item_editor_plugin.cpp +msgid "Scale mask for inserting keys." +msgstr "" + +#: editor/plugins/canvas_item_editor_plugin.cpp #, fuzzy -msgid "Insert keys." -msgstr "Убаци кључеве" +msgid "Insert keys (based on mask)." +msgstr "Убаци кључ (постојеће траке)" + +#: editor/plugins/canvas_item_editor_plugin.cpp +msgid "" +"Auto insert keys when objects are translated, rotated on scaled (based on " +"mask).\n" +"Keys are only added to existing tracks, no new tracks will be created.\n" +"Keys must be inserted manually for the first time." +msgstr "" + +#: editor/plugins/canvas_item_editor_plugin.cpp +#, fuzzy +msgid "Auto Insert Key" +msgstr "Уметни кључ" #: editor/plugins/canvas_item_editor_plugin.cpp msgid "Insert Key (Existing Tracks)" @@ -5012,6 +5050,52 @@ msgstr "Уреди полигон (обриши тачку)" msgid "Set Handle" msgstr "Постави дршку" +#: editor/plugins/cpu_particles_2d_editor_plugin.cpp +#: editor/plugins/particles_2d_editor_plugin.cpp +msgid "Error loading image:" +msgstr "Грешка при учитавању слике:" + +#: editor/plugins/cpu_particles_2d_editor_plugin.cpp +#: editor/plugins/particles_2d_editor_plugin.cpp +msgid "No pixels with transparency > 128 in image..." +msgstr "У слици нема пиксела са транспарентношћу већом од 128..." + +#: editor/plugins/cpu_particles_2d_editor_plugin.cpp +#: editor/plugins/particles_2d_editor_plugin.cpp +msgid "Load Emission Mask" +msgstr "Учитај маску емисије" + +#: editor/plugins/cpu_particles_2d_editor_plugin.cpp +#: editor/plugins/particles_2d_editor_plugin.cpp +msgid "Clear Emission Mask" +msgstr "Очисти маску емисије" + +#: editor/plugins/cpu_particles_2d_editor_plugin.cpp +#: editor/plugins/particles_2d_editor_plugin.cpp +#: editor/plugins/particles_editor_plugin.cpp +msgid "Particles" +msgstr "Честице" + +#: editor/plugins/cpu_particles_2d_editor_plugin.cpp +#: editor/plugins/particles_2d_editor_plugin.cpp +msgid "Generated Point Count:" +msgstr "Број генерисаних тачака:" + +#: editor/plugins/cpu_particles_2d_editor_plugin.cpp +#: editor/plugins/particles_2d_editor_plugin.cpp +msgid "Emission Mask" +msgstr "Маска емисије" + +#: editor/plugins/cpu_particles_2d_editor_plugin.cpp +#: editor/plugins/particles_2d_editor_plugin.cpp +msgid "Capture from Pixel" +msgstr "Сними од пиксела" + +#: editor/plugins/cpu_particles_2d_editor_plugin.cpp +#: editor/plugins/particles_2d_editor_plugin.cpp +msgid "Emission Colors" +msgstr "Боје емисије" + #: editor/plugins/cpu_particles_editor_plugin.cpp #, fuzzy msgid "CPUParticles" @@ -5366,22 +5450,6 @@ msgid "Can only set point into a ParticlesMaterial process material" msgstr "Тачка се само може поставити у ParticlesMaterial процесни материјал" #: editor/plugins/particles_2d_editor_plugin.cpp -msgid "Error loading image:" -msgstr "Грешка при учитавању слике:" - -#: editor/plugins/particles_2d_editor_plugin.cpp -msgid "No pixels with transparency > 128 in image..." -msgstr "У слици нема пиксела са транспарентношћу већом од 128..." - -#: editor/plugins/particles_2d_editor_plugin.cpp -msgid "Load Emission Mask" -msgstr "Учитај маску емисије" - -#: editor/plugins/particles_2d_editor_plugin.cpp -msgid "Clear Emission Mask" -msgstr "Очисти маску емисије" - -#: editor/plugins/particles_2d_editor_plugin.cpp #: editor/plugins/particles_editor_plugin.cpp #, fuzzy msgid "Convert to CPUParticles" @@ -5389,30 +5457,9 @@ msgstr "Претвори у велика слова" #: editor/plugins/particles_2d_editor_plugin.cpp #: editor/plugins/particles_editor_plugin.cpp -msgid "Particles" -msgstr "Честице" - -#: editor/plugins/particles_2d_editor_plugin.cpp -msgid "Generated Point Count:" -msgstr "Број генерисаних тачака:" - -#: editor/plugins/particles_2d_editor_plugin.cpp -#: editor/plugins/particles_editor_plugin.cpp msgid "Generation Time (sec):" msgstr "Време генерисања (сек.):" -#: editor/plugins/particles_2d_editor_plugin.cpp -msgid "Emission Mask" -msgstr "Маска емисије" - -#: editor/plugins/particles_2d_editor_plugin.cpp -msgid "Capture from Pixel" -msgstr "Сними од пиксела" - -#: editor/plugins/particles_2d_editor_plugin.cpp -msgid "Emission Colors" -msgstr "Боје емисије" - #: editor/plugins/particles_editor_plugin.cpp msgid "Faces contain no area!" msgstr "Стране не садрже област!" @@ -5954,7 +6001,8 @@ msgid "Save Theme As..." msgstr "Сачувај тему као..." #: editor/plugins/script_editor_plugin.cpp -msgid " Class Reference" +#, fuzzy +msgid "%s Class Reference" msgstr " референца класе" #: editor/plugins/script_editor_plugin.cpp @@ -6811,6 +6859,26 @@ msgstr "" #: editor/plugins/sprite_editor_plugin.cpp #, fuzzy +msgid "Create Mesh2D" +msgstr "Направи ивичну мрежу" + +#: editor/plugins/sprite_editor_plugin.cpp +#, fuzzy +msgid "Create Polygon2D" +msgstr "Направи полигон" + +#: editor/plugins/sprite_editor_plugin.cpp +#, fuzzy +msgid "Create CollisionPolygon2D" +msgstr "Направи навигациони полигон" + +#: editor/plugins/sprite_editor_plugin.cpp +#, fuzzy +msgid "Create LightOccluder2D" +msgstr "Направи осенчен полигон" + +#: editor/plugins/sprite_editor_plugin.cpp +#, fuzzy msgid "Sprite is empty!" msgstr "Мрежа је празна!" @@ -6823,19 +6891,41 @@ msgid "Invalid geometry, can't replace by mesh." msgstr "" #: editor/plugins/sprite_editor_plugin.cpp +msgid "Invalid geometry, can't create polygon." +msgstr "" + +#: editor/plugins/sprite_editor_plugin.cpp +msgid "Invalid geometry, can't create collision polygon." +msgstr "" + +#: editor/plugins/sprite_editor_plugin.cpp +msgid "Invalid geometry, can't create light occluder." +msgstr "" + +#: editor/plugins/sprite_editor_plugin.cpp #, fuzzy msgid "Sprite" msgstr "Налепи оквир" #: editor/plugins/sprite_editor_plugin.cpp #, fuzzy -msgid "Convert to 2D Mesh" +msgid "Convert to Mesh2D" msgstr "Претвори у велика слова" #: editor/plugins/sprite_editor_plugin.cpp #, fuzzy -msgid "Create 2D Mesh" -msgstr "Направи ивичну мрежу" +msgid "Convert to Polygon2D" +msgstr "Помери полигон" + +#: editor/plugins/sprite_editor_plugin.cpp +#, fuzzy +msgid "Create CollisionPolygon2D Sibling" +msgstr "Направи навигациони полигон" + +#: editor/plugins/sprite_editor_plugin.cpp +#, fuzzy +msgid "Create LightOccluder2D Sibling" +msgstr "Направи осенчен полигон" #: editor/plugins/sprite_editor_plugin.cpp msgid "Simplification: " @@ -7467,6 +7557,11 @@ msgid "Duplicate Nodes" msgstr "Дуплирај чвор/ове графа" #: editor/plugins/visual_shader_editor_plugin.cpp +#, fuzzy +msgid "Delete Nodes" +msgstr "Направи чвор" + +#: editor/plugins/visual_shader_editor_plugin.cpp msgid "Visual Shader Input Type Changed" msgstr "" @@ -8663,10 +8758,6 @@ msgid "Open documentation" msgstr "Отвори Godot онлајн документацију" #: editor/scene_tree_dock.cpp -msgid "Delete Node(s)" -msgstr "" - -#: editor/scene_tree_dock.cpp msgid "Add Child Node" msgstr "" @@ -10442,12 +10533,17 @@ msgstr "" msgid "Varyings can only be assigned in vertex function." msgstr "" +#, fuzzy +#~ msgid "Snap (s): " +#~ msgstr "Један корак (сек.):" + +#, fuzzy +#~ msgid "Insert keys." +#~ msgstr "Убаци кључеве" + #~ msgid "Instance the selected scene(s) as child of the selected node." #~ msgstr "Направи следећу сцену/е као дете одабраног чвора." -#~ msgid "FPS" -#~ msgstr "FPS" - #, fuzzy #~ msgid "Font Size:" #~ msgstr "Поглед испред" diff --git a/editor/translations/sr_Latn.po b/editor/translations/sr_Latn.po index 39d66c018c..ac3590e494 100644 --- a/editor/translations/sr_Latn.po +++ b/editor/translations/sr_Latn.po @@ -423,13 +423,21 @@ msgid "Group tracks by node or display them as plain list." msgstr "" #: editor/animation_track_editor.cpp -msgid "Snap (s): " +msgid "Snap:" msgstr "" #: editor/animation_track_editor.cpp msgid "Animation step value." msgstr "" +#: editor/animation_track_editor.cpp +msgid "Seconds" +msgstr "" + +#: editor/animation_track_editor.cpp +msgid "FPS" +msgstr "" + #: editor/animation_track_editor.cpp editor/editor_properties.cpp #: editor/plugins/polygon_2d_editor_plugin.cpp #: editor/plugins/script_text_editor.cpp @@ -3697,6 +3705,11 @@ msgid "Delete Node" msgstr "Animacija Obriši Ključeve" #: editor/plugins/animation_blend_tree_editor_plugin.cpp +#: editor/scene_tree_dock.cpp +msgid "Delete Node(s)" +msgstr "" + +#: editor/plugins/animation_blend_tree_editor_plugin.cpp msgid "Toggle Filter On/Off" msgstr "" @@ -4653,8 +4666,33 @@ msgid "Layout" msgstr "" #: editor/plugins/canvas_item_editor_plugin.cpp +msgid "Translation mask for inserting keys." +msgstr "" + +#: editor/plugins/canvas_item_editor_plugin.cpp +msgid "Rotation mask for inserting keys." +msgstr "" + +#: editor/plugins/canvas_item_editor_plugin.cpp +msgid "Scale mask for inserting keys." +msgstr "" + +#: editor/plugins/canvas_item_editor_plugin.cpp +#, fuzzy +msgid "Insert keys (based on mask)." +msgstr "Animacija dodaj ključ" + +#: editor/plugins/canvas_item_editor_plugin.cpp +msgid "" +"Auto insert keys when objects are translated, rotated on scaled (based on " +"mask).\n" +"Keys are only added to existing tracks, no new tracks will be created.\n" +"Keys must be inserted manually for the first time." +msgstr "" + +#: editor/plugins/canvas_item_editor_plugin.cpp #, fuzzy -msgid "Insert keys." +msgid "Auto Insert Key" msgstr "Animacija dodaj ključ" #: editor/plugins/canvas_item_editor_plugin.cpp @@ -4726,6 +4764,52 @@ msgstr "" msgid "Set Handle" msgstr "" +#: editor/plugins/cpu_particles_2d_editor_plugin.cpp +#: editor/plugins/particles_2d_editor_plugin.cpp +msgid "Error loading image:" +msgstr "" + +#: editor/plugins/cpu_particles_2d_editor_plugin.cpp +#: editor/plugins/particles_2d_editor_plugin.cpp +msgid "No pixels with transparency > 128 in image..." +msgstr "" + +#: editor/plugins/cpu_particles_2d_editor_plugin.cpp +#: editor/plugins/particles_2d_editor_plugin.cpp +msgid "Load Emission Mask" +msgstr "" + +#: editor/plugins/cpu_particles_2d_editor_plugin.cpp +#: editor/plugins/particles_2d_editor_plugin.cpp +msgid "Clear Emission Mask" +msgstr "" + +#: editor/plugins/cpu_particles_2d_editor_plugin.cpp +#: editor/plugins/particles_2d_editor_plugin.cpp +#: editor/plugins/particles_editor_plugin.cpp +msgid "Particles" +msgstr "" + +#: editor/plugins/cpu_particles_2d_editor_plugin.cpp +#: editor/plugins/particles_2d_editor_plugin.cpp +msgid "Generated Point Count:" +msgstr "" + +#: editor/plugins/cpu_particles_2d_editor_plugin.cpp +#: editor/plugins/particles_2d_editor_plugin.cpp +msgid "Emission Mask" +msgstr "" + +#: editor/plugins/cpu_particles_2d_editor_plugin.cpp +#: editor/plugins/particles_2d_editor_plugin.cpp +msgid "Capture from Pixel" +msgstr "" + +#: editor/plugins/cpu_particles_2d_editor_plugin.cpp +#: editor/plugins/particles_2d_editor_plugin.cpp +msgid "Emission Colors" +msgstr "" + #: editor/plugins/cpu_particles_editor_plugin.cpp msgid "CPUParticles" msgstr "" @@ -5076,52 +5160,15 @@ msgid "Can only set point into a ParticlesMaterial process material" msgstr "" #: editor/plugins/particles_2d_editor_plugin.cpp -msgid "Error loading image:" -msgstr "" - -#: editor/plugins/particles_2d_editor_plugin.cpp -msgid "No pixels with transparency > 128 in image..." -msgstr "" - -#: editor/plugins/particles_2d_editor_plugin.cpp -msgid "Load Emission Mask" -msgstr "" - -#: editor/plugins/particles_2d_editor_plugin.cpp -msgid "Clear Emission Mask" -msgstr "" - -#: editor/plugins/particles_2d_editor_plugin.cpp #: editor/plugins/particles_editor_plugin.cpp msgid "Convert to CPUParticles" msgstr "" #: editor/plugins/particles_2d_editor_plugin.cpp #: editor/plugins/particles_editor_plugin.cpp -msgid "Particles" -msgstr "" - -#: editor/plugins/particles_2d_editor_plugin.cpp -msgid "Generated Point Count:" -msgstr "" - -#: editor/plugins/particles_2d_editor_plugin.cpp -#: editor/plugins/particles_editor_plugin.cpp msgid "Generation Time (sec):" msgstr "" -#: editor/plugins/particles_2d_editor_plugin.cpp -msgid "Emission Mask" -msgstr "" - -#: editor/plugins/particles_2d_editor_plugin.cpp -msgid "Capture from Pixel" -msgstr "" - -#: editor/plugins/particles_2d_editor_plugin.cpp -msgid "Emission Colors" -msgstr "" - #: editor/plugins/particles_editor_plugin.cpp msgid "Faces contain no area!" msgstr "" @@ -5630,7 +5677,7 @@ msgid "Save Theme As..." msgstr "" #: editor/plugins/script_editor_plugin.cpp -msgid " Class Reference" +msgid "%s Class Reference" msgstr "" #: editor/plugins/script_editor_plugin.cpp @@ -6451,6 +6498,26 @@ msgid "Nameless gizmo" msgstr "" #: editor/plugins/sprite_editor_plugin.cpp +#, fuzzy +msgid "Create Mesh2D" +msgstr "Napravi" + +#: editor/plugins/sprite_editor_plugin.cpp +#, fuzzy +msgid "Create Polygon2D" +msgstr "Napravi" + +#: editor/plugins/sprite_editor_plugin.cpp +#, fuzzy +msgid "Create CollisionPolygon2D" +msgstr "Napravi" + +#: editor/plugins/sprite_editor_plugin.cpp +#, fuzzy +msgid "Create LightOccluder2D" +msgstr "Napravi" + +#: editor/plugins/sprite_editor_plugin.cpp msgid "Sprite is empty!" msgstr "" @@ -6463,19 +6530,40 @@ msgid "Invalid geometry, can't replace by mesh." msgstr "" #: editor/plugins/sprite_editor_plugin.cpp +msgid "Invalid geometry, can't create polygon." +msgstr "" + +#: editor/plugins/sprite_editor_plugin.cpp +msgid "Invalid geometry, can't create collision polygon." +msgstr "" + +#: editor/plugins/sprite_editor_plugin.cpp +msgid "Invalid geometry, can't create light occluder." +msgstr "" + +#: editor/plugins/sprite_editor_plugin.cpp msgid "Sprite" msgstr "" #: editor/plugins/sprite_editor_plugin.cpp -msgid "Convert to 2D Mesh" +msgid "Convert to Mesh2D" msgstr "" #: editor/plugins/sprite_editor_plugin.cpp #, fuzzy -msgid "Create 2D Mesh" +msgid "Convert to Polygon2D" msgstr "Napravi" #: editor/plugins/sprite_editor_plugin.cpp +#, fuzzy +msgid "Create CollisionPolygon2D Sibling" +msgstr "Napravi" + +#: editor/plugins/sprite_editor_plugin.cpp +msgid "Create LightOccluder2D Sibling" +msgstr "" + +#: editor/plugins/sprite_editor_plugin.cpp msgid "Simplification: " msgstr "" @@ -7065,6 +7153,11 @@ msgid "Duplicate Nodes" msgstr "Animacija Uduplaj Ključeve" #: editor/plugins/visual_shader_editor_plugin.cpp +#, fuzzy +msgid "Delete Nodes" +msgstr "Animacija Obriši Ključeve" + +#: editor/plugins/visual_shader_editor_plugin.cpp msgid "Visual Shader Input Type Changed" msgstr "" @@ -8217,10 +8310,6 @@ msgid "Open documentation" msgstr "" #: editor/scene_tree_dock.cpp -msgid "Delete Node(s)" -msgstr "" - -#: editor/scene_tree_dock.cpp msgid "Add Child Node" msgstr "" diff --git a/editor/translations/sv.po b/editor/translations/sv.po index 822a6f9388..63a6d6e6c7 100644 --- a/editor/translations/sv.po +++ b/editor/translations/sv.po @@ -432,7 +432,7 @@ msgstr "" #: editor/animation_track_editor.cpp #, fuzzy -msgid "Snap (s): " +msgid "Snap:" msgstr "Steg (s):" #: editor/animation_track_editor.cpp @@ -440,6 +440,14 @@ msgstr "Steg (s):" msgid "Animation step value." msgstr "Animation" +#: editor/animation_track_editor.cpp +msgid "Seconds" +msgstr "" + +#: editor/animation_track_editor.cpp +msgid "FPS" +msgstr "FPS" + #: editor/animation_track_editor.cpp editor/editor_properties.cpp #: editor/plugins/polygon_2d_editor_plugin.cpp #: editor/plugins/script_text_editor.cpp @@ -4159,6 +4167,12 @@ msgid "Delete Node" msgstr "Ta bort Nod(er)" #: editor/plugins/animation_blend_tree_editor_plugin.cpp +#: editor/scene_tree_dock.cpp +#, fuzzy +msgid "Delete Node(s)" +msgstr "Ta bort Nod(er)" + +#: editor/plugins/animation_blend_tree_editor_plugin.cpp #, fuzzy msgid "Toggle Filter On/Off" msgstr "Växla distraktionsfritt läge." @@ -5165,8 +5179,33 @@ msgid "Layout" msgstr "Layout" #: editor/plugins/canvas_item_editor_plugin.cpp +msgid "Translation mask for inserting keys." +msgstr "" + +#: editor/plugins/canvas_item_editor_plugin.cpp +msgid "Rotation mask for inserting keys." +msgstr "" + +#: editor/plugins/canvas_item_editor_plugin.cpp +msgid "Scale mask for inserting keys." +msgstr "" + +#: editor/plugins/canvas_item_editor_plugin.cpp +#, fuzzy +msgid "Insert keys (based on mask)." +msgstr "Anim Infoga Nyckel" + +#: editor/plugins/canvas_item_editor_plugin.cpp +msgid "" +"Auto insert keys when objects are translated, rotated on scaled (based on " +"mask).\n" +"Keys are only added to existing tracks, no new tracks will be created.\n" +"Keys must be inserted manually for the first time." +msgstr "" + +#: editor/plugins/canvas_item_editor_plugin.cpp #, fuzzy -msgid "Insert keys." +msgid "Auto Insert Key" msgstr "Anim Infoga Nyckel" #: editor/plugins/canvas_item_editor_plugin.cpp @@ -5242,6 +5281,53 @@ msgstr "Redigera Polygon (ta bort punkt)" msgid "Set Handle" msgstr "" +#: editor/plugins/cpu_particles_2d_editor_plugin.cpp +#: editor/plugins/particles_2d_editor_plugin.cpp +msgid "Error loading image:" +msgstr "" + +#: editor/plugins/cpu_particles_2d_editor_plugin.cpp +#: editor/plugins/particles_2d_editor_plugin.cpp +msgid "No pixels with transparency > 128 in image..." +msgstr "" + +#: editor/plugins/cpu_particles_2d_editor_plugin.cpp +#: editor/plugins/particles_2d_editor_plugin.cpp +msgid "Load Emission Mask" +msgstr "" + +#: editor/plugins/cpu_particles_2d_editor_plugin.cpp +#: editor/plugins/particles_2d_editor_plugin.cpp +msgid "Clear Emission Mask" +msgstr "" + +#: editor/plugins/cpu_particles_2d_editor_plugin.cpp +#: editor/plugins/particles_2d_editor_plugin.cpp +#: editor/plugins/particles_editor_plugin.cpp +#, fuzzy +msgid "Particles" +msgstr "Partiklar" + +#: editor/plugins/cpu_particles_2d_editor_plugin.cpp +#: editor/plugins/particles_2d_editor_plugin.cpp +msgid "Generated Point Count:" +msgstr "" + +#: editor/plugins/cpu_particles_2d_editor_plugin.cpp +#: editor/plugins/particles_2d_editor_plugin.cpp +msgid "Emission Mask" +msgstr "" + +#: editor/plugins/cpu_particles_2d_editor_plugin.cpp +#: editor/plugins/particles_2d_editor_plugin.cpp +msgid "Capture from Pixel" +msgstr "" + +#: editor/plugins/cpu_particles_2d_editor_plugin.cpp +#: editor/plugins/particles_2d_editor_plugin.cpp +msgid "Emission Colors" +msgstr "" + #: editor/plugins/cpu_particles_editor_plugin.cpp #, fuzzy msgid "CPUParticles" @@ -5603,22 +5689,6 @@ msgid "Can only set point into a ParticlesMaterial process material" msgstr "" #: editor/plugins/particles_2d_editor_plugin.cpp -msgid "Error loading image:" -msgstr "" - -#: editor/plugins/particles_2d_editor_plugin.cpp -msgid "No pixels with transparency > 128 in image..." -msgstr "" - -#: editor/plugins/particles_2d_editor_plugin.cpp -msgid "Load Emission Mask" -msgstr "" - -#: editor/plugins/particles_2d_editor_plugin.cpp -msgid "Clear Emission Mask" -msgstr "" - -#: editor/plugins/particles_2d_editor_plugin.cpp #: editor/plugins/particles_editor_plugin.cpp #, fuzzy msgid "Convert to CPUParticles" @@ -5626,31 +5696,9 @@ msgstr "Konvertera till Versaler" #: editor/plugins/particles_2d_editor_plugin.cpp #: editor/plugins/particles_editor_plugin.cpp -#, fuzzy -msgid "Particles" -msgstr "Partiklar" - -#: editor/plugins/particles_2d_editor_plugin.cpp -msgid "Generated Point Count:" -msgstr "" - -#: editor/plugins/particles_2d_editor_plugin.cpp -#: editor/plugins/particles_editor_plugin.cpp msgid "Generation Time (sec):" msgstr "" -#: editor/plugins/particles_2d_editor_plugin.cpp -msgid "Emission Mask" -msgstr "" - -#: editor/plugins/particles_2d_editor_plugin.cpp -msgid "Capture from Pixel" -msgstr "" - -#: editor/plugins/particles_2d_editor_plugin.cpp -msgid "Emission Colors" -msgstr "" - #: editor/plugins/particles_editor_plugin.cpp msgid "Faces contain no area!" msgstr "" @@ -6185,7 +6233,7 @@ msgid "Save Theme As..." msgstr "Spara Tema Som..." #: editor/plugins/script_editor_plugin.cpp -msgid " Class Reference" +msgid "%s Class Reference" msgstr "" #: editor/plugins/script_editor_plugin.cpp @@ -7077,6 +7125,26 @@ msgstr "" #: editor/plugins/sprite_editor_plugin.cpp #, fuzzy +msgid "Create Mesh2D" +msgstr "Skapa Ny" + +#: editor/plugins/sprite_editor_plugin.cpp +#, fuzzy +msgid "Create Polygon2D" +msgstr "Skapa Prenumeration" + +#: editor/plugins/sprite_editor_plugin.cpp +#, fuzzy +msgid "Create CollisionPolygon2D" +msgstr "Skapa Prenumeration" + +#: editor/plugins/sprite_editor_plugin.cpp +#, fuzzy +msgid "Create LightOccluder2D" +msgstr "Skapa Mapp" + +#: editor/plugins/sprite_editor_plugin.cpp +#, fuzzy msgid "Sprite is empty!" msgstr "Sökvägen är tom" @@ -7089,18 +7157,39 @@ msgid "Invalid geometry, can't replace by mesh." msgstr "" #: editor/plugins/sprite_editor_plugin.cpp +msgid "Invalid geometry, can't create polygon." +msgstr "" + +#: editor/plugins/sprite_editor_plugin.cpp +msgid "Invalid geometry, can't create collision polygon." +msgstr "" + +#: editor/plugins/sprite_editor_plugin.cpp +msgid "Invalid geometry, can't create light occluder." +msgstr "" + +#: editor/plugins/sprite_editor_plugin.cpp msgid "Sprite" msgstr "" #: editor/plugins/sprite_editor_plugin.cpp #, fuzzy -msgid "Convert to 2D Mesh" +msgid "Convert to Mesh2D" msgstr "Konvertera till %s" #: editor/plugins/sprite_editor_plugin.cpp #, fuzzy -msgid "Create 2D Mesh" -msgstr "Skapa Ny" +msgid "Convert to Polygon2D" +msgstr "Konvertera till %s" + +#: editor/plugins/sprite_editor_plugin.cpp +#, fuzzy +msgid "Create CollisionPolygon2D Sibling" +msgstr "Skapa Prenumeration" + +#: editor/plugins/sprite_editor_plugin.cpp +msgid "Create LightOccluder2D Sibling" +msgstr "" #: editor/plugins/sprite_editor_plugin.cpp msgid "Simplification: " @@ -7725,6 +7814,11 @@ msgid "Duplicate Nodes" msgstr "Duplicera Nod(er)" #: editor/plugins/visual_shader_editor_plugin.cpp +#, fuzzy +msgid "Delete Nodes" +msgstr "Ta bort Nod(er)" + +#: editor/plugins/visual_shader_editor_plugin.cpp msgid "Visual Shader Input Type Changed" msgstr "" @@ -8966,11 +9060,6 @@ msgstr "Öppna Senaste" #: editor/scene_tree_dock.cpp #, fuzzy -msgid "Delete Node(s)" -msgstr "Ta bort Nod(er)" - -#: editor/scene_tree_dock.cpp -#, fuzzy msgid "Add Child Node" msgstr "Lägg till Barn-Node" @@ -10842,9 +10931,6 @@ msgstr "" #~ msgid "Instance the selected scene(s) as child of the selected node." #~ msgstr "Instansiera valda scen(er) som barn till vald Node." -#~ msgid "FPS" -#~ msgstr "FPS" - #, fuzzy #~ msgid "Warnings:" #~ msgstr "Varning" diff --git a/editor/translations/ta.po b/editor/translations/ta.po index 1bb5f50fe1..17e837d5b1 100644 --- a/editor/translations/ta.po +++ b/editor/translations/ta.po @@ -418,13 +418,21 @@ msgid "Group tracks by node or display them as plain list." msgstr "" #: editor/animation_track_editor.cpp -msgid "Snap (s): " +msgid "Snap:" msgstr "" #: editor/animation_track_editor.cpp msgid "Animation step value." msgstr "" +#: editor/animation_track_editor.cpp +msgid "Seconds" +msgstr "" + +#: editor/animation_track_editor.cpp +msgid "FPS" +msgstr "" + #: editor/animation_track_editor.cpp editor/editor_properties.cpp #: editor/plugins/polygon_2d_editor_plugin.cpp #: editor/plugins/script_text_editor.cpp @@ -3686,6 +3694,11 @@ msgid "Delete Node" msgstr "அனைத்து தேர்வுகள்" #: editor/plugins/animation_blend_tree_editor_plugin.cpp +#: editor/scene_tree_dock.cpp +msgid "Delete Node(s)" +msgstr "" + +#: editor/plugins/animation_blend_tree_editor_plugin.cpp msgid "Toggle Filter On/Off" msgstr "" @@ -4642,7 +4655,31 @@ msgid "Layout" msgstr "" #: editor/plugins/canvas_item_editor_plugin.cpp -msgid "Insert keys." +msgid "Translation mask for inserting keys." +msgstr "" + +#: editor/plugins/canvas_item_editor_plugin.cpp +msgid "Rotation mask for inserting keys." +msgstr "" + +#: editor/plugins/canvas_item_editor_plugin.cpp +msgid "Scale mask for inserting keys." +msgstr "" + +#: editor/plugins/canvas_item_editor_plugin.cpp +msgid "Insert keys (based on mask)." +msgstr "" + +#: editor/plugins/canvas_item_editor_plugin.cpp +msgid "" +"Auto insert keys when objects are translated, rotated on scaled (based on " +"mask).\n" +"Keys are only added to existing tracks, no new tracks will be created.\n" +"Keys must be inserted manually for the first time." +msgstr "" + +#: editor/plugins/canvas_item_editor_plugin.cpp +msgid "Auto Insert Key" msgstr "" #: editor/plugins/canvas_item_editor_plugin.cpp @@ -4713,6 +4750,52 @@ msgstr "" msgid "Set Handle" msgstr "" +#: editor/plugins/cpu_particles_2d_editor_plugin.cpp +#: editor/plugins/particles_2d_editor_plugin.cpp +msgid "Error loading image:" +msgstr "" + +#: editor/plugins/cpu_particles_2d_editor_plugin.cpp +#: editor/plugins/particles_2d_editor_plugin.cpp +msgid "No pixels with transparency > 128 in image..." +msgstr "" + +#: editor/plugins/cpu_particles_2d_editor_plugin.cpp +#: editor/plugins/particles_2d_editor_plugin.cpp +msgid "Load Emission Mask" +msgstr "" + +#: editor/plugins/cpu_particles_2d_editor_plugin.cpp +#: editor/plugins/particles_2d_editor_plugin.cpp +msgid "Clear Emission Mask" +msgstr "" + +#: editor/plugins/cpu_particles_2d_editor_plugin.cpp +#: editor/plugins/particles_2d_editor_plugin.cpp +#: editor/plugins/particles_editor_plugin.cpp +msgid "Particles" +msgstr "" + +#: editor/plugins/cpu_particles_2d_editor_plugin.cpp +#: editor/plugins/particles_2d_editor_plugin.cpp +msgid "Generated Point Count:" +msgstr "" + +#: editor/plugins/cpu_particles_2d_editor_plugin.cpp +#: editor/plugins/particles_2d_editor_plugin.cpp +msgid "Emission Mask" +msgstr "" + +#: editor/plugins/cpu_particles_2d_editor_plugin.cpp +#: editor/plugins/particles_2d_editor_plugin.cpp +msgid "Capture from Pixel" +msgstr "" + +#: editor/plugins/cpu_particles_2d_editor_plugin.cpp +#: editor/plugins/particles_2d_editor_plugin.cpp +msgid "Emission Colors" +msgstr "" + #: editor/plugins/cpu_particles_editor_plugin.cpp msgid "CPUParticles" msgstr "" @@ -5063,52 +5146,15 @@ msgid "Can only set point into a ParticlesMaterial process material" msgstr "" #: editor/plugins/particles_2d_editor_plugin.cpp -msgid "Error loading image:" -msgstr "" - -#: editor/plugins/particles_2d_editor_plugin.cpp -msgid "No pixels with transparency > 128 in image..." -msgstr "" - -#: editor/plugins/particles_2d_editor_plugin.cpp -msgid "Load Emission Mask" -msgstr "" - -#: editor/plugins/particles_2d_editor_plugin.cpp -msgid "Clear Emission Mask" -msgstr "" - -#: editor/plugins/particles_2d_editor_plugin.cpp #: editor/plugins/particles_editor_plugin.cpp msgid "Convert to CPUParticles" msgstr "" #: editor/plugins/particles_2d_editor_plugin.cpp #: editor/plugins/particles_editor_plugin.cpp -msgid "Particles" -msgstr "" - -#: editor/plugins/particles_2d_editor_plugin.cpp -msgid "Generated Point Count:" -msgstr "" - -#: editor/plugins/particles_2d_editor_plugin.cpp -#: editor/plugins/particles_editor_plugin.cpp msgid "Generation Time (sec):" msgstr "" -#: editor/plugins/particles_2d_editor_plugin.cpp -msgid "Emission Mask" -msgstr "" - -#: editor/plugins/particles_2d_editor_plugin.cpp -msgid "Capture from Pixel" -msgstr "" - -#: editor/plugins/particles_2d_editor_plugin.cpp -msgid "Emission Colors" -msgstr "" - #: editor/plugins/particles_editor_plugin.cpp msgid "Faces contain no area!" msgstr "" @@ -5613,7 +5659,7 @@ msgid "Save Theme As..." msgstr "" #: editor/plugins/script_editor_plugin.cpp -msgid " Class Reference" +msgid "%s Class Reference" msgstr "" #: editor/plugins/script_editor_plugin.cpp @@ -6431,6 +6477,23 @@ msgid "Nameless gizmo" msgstr "" #: editor/plugins/sprite_editor_plugin.cpp +msgid "Create Mesh2D" +msgstr "" + +#: editor/plugins/sprite_editor_plugin.cpp +#, fuzzy +msgid "Create Polygon2D" +msgstr "அனைத்து தேர்வுகள்" + +#: editor/plugins/sprite_editor_plugin.cpp +msgid "Create CollisionPolygon2D" +msgstr "" + +#: editor/plugins/sprite_editor_plugin.cpp +msgid "Create LightOccluder2D" +msgstr "" + +#: editor/plugins/sprite_editor_plugin.cpp msgid "Sprite is empty!" msgstr "" @@ -6443,15 +6506,35 @@ msgid "Invalid geometry, can't replace by mesh." msgstr "" #: editor/plugins/sprite_editor_plugin.cpp +msgid "Invalid geometry, can't create polygon." +msgstr "" + +#: editor/plugins/sprite_editor_plugin.cpp +msgid "Invalid geometry, can't create collision polygon." +msgstr "" + +#: editor/plugins/sprite_editor_plugin.cpp +msgid "Invalid geometry, can't create light occluder." +msgstr "" + +#: editor/plugins/sprite_editor_plugin.cpp msgid "Sprite" msgstr "" #: editor/plugins/sprite_editor_plugin.cpp -msgid "Convert to 2D Mesh" +msgid "Convert to Mesh2D" +msgstr "" + +#: editor/plugins/sprite_editor_plugin.cpp +msgid "Convert to Polygon2D" +msgstr "" + +#: editor/plugins/sprite_editor_plugin.cpp +msgid "Create CollisionPolygon2D Sibling" msgstr "" #: editor/plugins/sprite_editor_plugin.cpp -msgid "Create 2D Mesh" +msgid "Create LightOccluder2D Sibling" msgstr "" #: editor/plugins/sprite_editor_plugin.cpp @@ -7029,6 +7112,11 @@ msgid "Duplicate Nodes" msgstr "அசைவூட்டு போலிபச்சாவிகள்" #: editor/plugins/visual_shader_editor_plugin.cpp +#, fuzzy +msgid "Delete Nodes" +msgstr "அனைத்து தேர்வுகள்" + +#: editor/plugins/visual_shader_editor_plugin.cpp msgid "Visual Shader Input Type Changed" msgstr "" @@ -8180,10 +8268,6 @@ msgid "Open documentation" msgstr "" #: editor/scene_tree_dock.cpp -msgid "Delete Node(s)" -msgstr "" - -#: editor/scene_tree_dock.cpp msgid "Add Child Node" msgstr "" diff --git a/editor/translations/te.po b/editor/translations/te.po index 9b70573576..b5f7015c88 100644 --- a/editor/translations/te.po +++ b/editor/translations/te.po @@ -405,13 +405,21 @@ msgid "Group tracks by node or display them as plain list." msgstr "" #: editor/animation_track_editor.cpp -msgid "Snap (s): " +msgid "Snap:" msgstr "" #: editor/animation_track_editor.cpp msgid "Animation step value." msgstr "" +#: editor/animation_track_editor.cpp +msgid "Seconds" +msgstr "" + +#: editor/animation_track_editor.cpp +msgid "FPS" +msgstr "" + #: editor/animation_track_editor.cpp editor/editor_properties.cpp #: editor/plugins/polygon_2d_editor_plugin.cpp #: editor/plugins/script_text_editor.cpp @@ -3665,6 +3673,11 @@ msgid "Delete Node" msgstr "" #: editor/plugins/animation_blend_tree_editor_plugin.cpp +#: editor/scene_tree_dock.cpp +msgid "Delete Node(s)" +msgstr "" + +#: editor/plugins/animation_blend_tree_editor_plugin.cpp msgid "Toggle Filter On/Off" msgstr "" @@ -4616,7 +4629,31 @@ msgid "Layout" msgstr "" #: editor/plugins/canvas_item_editor_plugin.cpp -msgid "Insert keys." +msgid "Translation mask for inserting keys." +msgstr "" + +#: editor/plugins/canvas_item_editor_plugin.cpp +msgid "Rotation mask for inserting keys." +msgstr "" + +#: editor/plugins/canvas_item_editor_plugin.cpp +msgid "Scale mask for inserting keys." +msgstr "" + +#: editor/plugins/canvas_item_editor_plugin.cpp +msgid "Insert keys (based on mask)." +msgstr "" + +#: editor/plugins/canvas_item_editor_plugin.cpp +msgid "" +"Auto insert keys when objects are translated, rotated on scaled (based on " +"mask).\n" +"Keys are only added to existing tracks, no new tracks will be created.\n" +"Keys must be inserted manually for the first time." +msgstr "" + +#: editor/plugins/canvas_item_editor_plugin.cpp +msgid "Auto Insert Key" msgstr "" #: editor/plugins/canvas_item_editor_plugin.cpp @@ -4687,6 +4724,52 @@ msgstr "" msgid "Set Handle" msgstr "" +#: editor/plugins/cpu_particles_2d_editor_plugin.cpp +#: editor/plugins/particles_2d_editor_plugin.cpp +msgid "Error loading image:" +msgstr "" + +#: editor/plugins/cpu_particles_2d_editor_plugin.cpp +#: editor/plugins/particles_2d_editor_plugin.cpp +msgid "No pixels with transparency > 128 in image..." +msgstr "" + +#: editor/plugins/cpu_particles_2d_editor_plugin.cpp +#: editor/plugins/particles_2d_editor_plugin.cpp +msgid "Load Emission Mask" +msgstr "" + +#: editor/plugins/cpu_particles_2d_editor_plugin.cpp +#: editor/plugins/particles_2d_editor_plugin.cpp +msgid "Clear Emission Mask" +msgstr "" + +#: editor/plugins/cpu_particles_2d_editor_plugin.cpp +#: editor/plugins/particles_2d_editor_plugin.cpp +#: editor/plugins/particles_editor_plugin.cpp +msgid "Particles" +msgstr "" + +#: editor/plugins/cpu_particles_2d_editor_plugin.cpp +#: editor/plugins/particles_2d_editor_plugin.cpp +msgid "Generated Point Count:" +msgstr "" + +#: editor/plugins/cpu_particles_2d_editor_plugin.cpp +#: editor/plugins/particles_2d_editor_plugin.cpp +msgid "Emission Mask" +msgstr "" + +#: editor/plugins/cpu_particles_2d_editor_plugin.cpp +#: editor/plugins/particles_2d_editor_plugin.cpp +msgid "Capture from Pixel" +msgstr "" + +#: editor/plugins/cpu_particles_2d_editor_plugin.cpp +#: editor/plugins/particles_2d_editor_plugin.cpp +msgid "Emission Colors" +msgstr "" + #: editor/plugins/cpu_particles_editor_plugin.cpp msgid "CPUParticles" msgstr "" @@ -5037,52 +5120,15 @@ msgid "Can only set point into a ParticlesMaterial process material" msgstr "" #: editor/plugins/particles_2d_editor_plugin.cpp -msgid "Error loading image:" -msgstr "" - -#: editor/plugins/particles_2d_editor_plugin.cpp -msgid "No pixels with transparency > 128 in image..." -msgstr "" - -#: editor/plugins/particles_2d_editor_plugin.cpp -msgid "Load Emission Mask" -msgstr "" - -#: editor/plugins/particles_2d_editor_plugin.cpp -msgid "Clear Emission Mask" -msgstr "" - -#: editor/plugins/particles_2d_editor_plugin.cpp #: editor/plugins/particles_editor_plugin.cpp msgid "Convert to CPUParticles" msgstr "" #: editor/plugins/particles_2d_editor_plugin.cpp #: editor/plugins/particles_editor_plugin.cpp -msgid "Particles" -msgstr "" - -#: editor/plugins/particles_2d_editor_plugin.cpp -msgid "Generated Point Count:" -msgstr "" - -#: editor/plugins/particles_2d_editor_plugin.cpp -#: editor/plugins/particles_editor_plugin.cpp msgid "Generation Time (sec):" msgstr "" -#: editor/plugins/particles_2d_editor_plugin.cpp -msgid "Emission Mask" -msgstr "" - -#: editor/plugins/particles_2d_editor_plugin.cpp -msgid "Capture from Pixel" -msgstr "" - -#: editor/plugins/particles_2d_editor_plugin.cpp -msgid "Emission Colors" -msgstr "" - #: editor/plugins/particles_editor_plugin.cpp msgid "Faces contain no area!" msgstr "" @@ -5586,7 +5632,7 @@ msgid "Save Theme As..." msgstr "" #: editor/plugins/script_editor_plugin.cpp -msgid " Class Reference" +msgid "%s Class Reference" msgstr "" #: editor/plugins/script_editor_plugin.cpp @@ -6404,6 +6450,22 @@ msgid "Nameless gizmo" msgstr "" #: editor/plugins/sprite_editor_plugin.cpp +msgid "Create Mesh2D" +msgstr "" + +#: editor/plugins/sprite_editor_plugin.cpp +msgid "Create Polygon2D" +msgstr "" + +#: editor/plugins/sprite_editor_plugin.cpp +msgid "Create CollisionPolygon2D" +msgstr "" + +#: editor/plugins/sprite_editor_plugin.cpp +msgid "Create LightOccluder2D" +msgstr "" + +#: editor/plugins/sprite_editor_plugin.cpp msgid "Sprite is empty!" msgstr "" @@ -6416,15 +6478,35 @@ msgid "Invalid geometry, can't replace by mesh." msgstr "" #: editor/plugins/sprite_editor_plugin.cpp +msgid "Invalid geometry, can't create polygon." +msgstr "" + +#: editor/plugins/sprite_editor_plugin.cpp +msgid "Invalid geometry, can't create collision polygon." +msgstr "" + +#: editor/plugins/sprite_editor_plugin.cpp +msgid "Invalid geometry, can't create light occluder." +msgstr "" + +#: editor/plugins/sprite_editor_plugin.cpp msgid "Sprite" msgstr "" #: editor/plugins/sprite_editor_plugin.cpp -msgid "Convert to 2D Mesh" +msgid "Convert to Mesh2D" +msgstr "" + +#: editor/plugins/sprite_editor_plugin.cpp +msgid "Convert to Polygon2D" +msgstr "" + +#: editor/plugins/sprite_editor_plugin.cpp +msgid "Create CollisionPolygon2D Sibling" msgstr "" #: editor/plugins/sprite_editor_plugin.cpp -msgid "Create 2D Mesh" +msgid "Create LightOccluder2D Sibling" msgstr "" #: editor/plugins/sprite_editor_plugin.cpp @@ -6995,6 +7077,10 @@ msgid "Duplicate Nodes" msgstr "" #: editor/plugins/visual_shader_editor_plugin.cpp +msgid "Delete Nodes" +msgstr "" + +#: editor/plugins/visual_shader_editor_plugin.cpp msgid "Visual Shader Input Type Changed" msgstr "" @@ -8144,10 +8230,6 @@ msgid "Open documentation" msgstr "" #: editor/scene_tree_dock.cpp -msgid "Delete Node(s)" -msgstr "" - -#: editor/scene_tree_dock.cpp msgid "Add Child Node" msgstr "" diff --git a/editor/translations/th.po b/editor/translations/th.po index 79ad3c5357..5b1470e970 100644 --- a/editor/translations/th.po +++ b/editor/translations/th.po @@ -448,14 +448,22 @@ msgstr "" #: editor/animation_track_editor.cpp #, fuzzy -msgid "Snap (s): " -msgstr "Snap (พิกเซล):" +msgid "Snap:" +msgstr "จำกัดการเคลื่อนย้าย" #: editor/animation_track_editor.cpp #, fuzzy msgid "Animation step value." msgstr "ผังแอนิเมชันถูกต้อง" +#: editor/animation_track_editor.cpp +msgid "Seconds" +msgstr "" + +#: editor/animation_track_editor.cpp +msgid "FPS" +msgstr "เฟรมต่อวินาที" + #: editor/animation_track_editor.cpp editor/editor_properties.cpp #: editor/plugins/polygon_2d_editor_plugin.cpp #: editor/plugins/script_text_editor.cpp @@ -3891,6 +3899,11 @@ msgid "Delete Node" msgstr "ลบโหนด" #: editor/plugins/animation_blend_tree_editor_plugin.cpp +#: editor/scene_tree_dock.cpp +msgid "Delete Node(s)" +msgstr "ลบโหนด" + +#: editor/plugins/animation_blend_tree_editor_plugin.cpp #, fuzzy msgid "Toggle Filter On/Off" msgstr "โหมดไร้สิ่งรบกวน" @@ -4890,9 +4903,34 @@ msgid "Layout" msgstr "เลย์เอาต์" #: editor/plugins/canvas_item_editor_plugin.cpp +msgid "Translation mask for inserting keys." +msgstr "" + +#: editor/plugins/canvas_item_editor_plugin.cpp +msgid "Rotation mask for inserting keys." +msgstr "" + +#: editor/plugins/canvas_item_editor_plugin.cpp +msgid "Scale mask for inserting keys." +msgstr "" + +#: editor/plugins/canvas_item_editor_plugin.cpp #, fuzzy -msgid "Insert keys." -msgstr "เพิ่มคีย์" +msgid "Insert keys (based on mask)." +msgstr "เพิ่มคีย์ (แทร็กที่มีอยู่แล้ว)" + +#: editor/plugins/canvas_item_editor_plugin.cpp +msgid "" +"Auto insert keys when objects are translated, rotated on scaled (based on " +"mask).\n" +"Keys are only added to existing tracks, no new tracks will be created.\n" +"Keys must be inserted manually for the first time." +msgstr "" + +#: editor/plugins/canvas_item_editor_plugin.cpp +#, fuzzy +msgid "Auto Insert Key" +msgstr "แทรกคีย์แอนิเมชัน" #: editor/plugins/canvas_item_editor_plugin.cpp msgid "Insert Key (Existing Tracks)" @@ -4965,6 +5003,52 @@ msgstr "แก้ไขรูปหลายเหลี่ยม (ลบจุ msgid "Set Handle" msgstr "ปรับขนาดรูปร่าง" +#: editor/plugins/cpu_particles_2d_editor_plugin.cpp +#: editor/plugins/particles_2d_editor_plugin.cpp +msgid "Error loading image:" +msgstr "ผิดพลาดขณะโหลดรูป:" + +#: editor/plugins/cpu_particles_2d_editor_plugin.cpp +#: editor/plugins/particles_2d_editor_plugin.cpp +msgid "No pixels with transparency > 128 in image..." +msgstr "รูปไม่มีพิกเซลใดที่ความโปร่งแสง > 128 ..." + +#: editor/plugins/cpu_particles_2d_editor_plugin.cpp +#: editor/plugins/particles_2d_editor_plugin.cpp +msgid "Load Emission Mask" +msgstr "โหลด Mask การปะทุ" + +#: editor/plugins/cpu_particles_2d_editor_plugin.cpp +#: editor/plugins/particles_2d_editor_plugin.cpp +msgid "Clear Emission Mask" +msgstr "ลบ Mask การปล่อย" + +#: editor/plugins/cpu_particles_2d_editor_plugin.cpp +#: editor/plugins/particles_2d_editor_plugin.cpp +#: editor/plugins/particles_editor_plugin.cpp +msgid "Particles" +msgstr "อนุภาค" + +#: editor/plugins/cpu_particles_2d_editor_plugin.cpp +#: editor/plugins/particles_2d_editor_plugin.cpp +msgid "Generated Point Count:" +msgstr "จำนวนจุดที่สร้างขึ้น:" + +#: editor/plugins/cpu_particles_2d_editor_plugin.cpp +#: editor/plugins/particles_2d_editor_plugin.cpp +msgid "Emission Mask" +msgstr "Mask การปะทุ" + +#: editor/plugins/cpu_particles_2d_editor_plugin.cpp +#: editor/plugins/particles_2d_editor_plugin.cpp +msgid "Capture from Pixel" +msgstr "ใช้สีพิกเซล" + +#: editor/plugins/cpu_particles_2d_editor_plugin.cpp +#: editor/plugins/particles_2d_editor_plugin.cpp +msgid "Emission Colors" +msgstr "สีการปะทุ" + #: editor/plugins/cpu_particles_editor_plugin.cpp #, fuzzy msgid "CPUParticles" @@ -5317,22 +5401,6 @@ msgid "Can only set point into a ParticlesMaterial process material" msgstr "สามารถกำหนดจุดให้แก่ ParticlesMaterial เท่านั้น" #: editor/plugins/particles_2d_editor_plugin.cpp -msgid "Error loading image:" -msgstr "ผิดพลาดขณะโหลดรูป:" - -#: editor/plugins/particles_2d_editor_plugin.cpp -msgid "No pixels with transparency > 128 in image..." -msgstr "รูปไม่มีพิกเซลใดที่ความโปร่งแสง > 128 ..." - -#: editor/plugins/particles_2d_editor_plugin.cpp -msgid "Load Emission Mask" -msgstr "โหลด Mask การปะทุ" - -#: editor/plugins/particles_2d_editor_plugin.cpp -msgid "Clear Emission Mask" -msgstr "ลบ Mask การปล่อย" - -#: editor/plugins/particles_2d_editor_plugin.cpp #: editor/plugins/particles_editor_plugin.cpp #, fuzzy msgid "Convert to CPUParticles" @@ -5340,30 +5408,9 @@ msgstr "แปลงเป็นตัวพิมพ์ใหญ่" #: editor/plugins/particles_2d_editor_plugin.cpp #: editor/plugins/particles_editor_plugin.cpp -msgid "Particles" -msgstr "อนุภาค" - -#: editor/plugins/particles_2d_editor_plugin.cpp -msgid "Generated Point Count:" -msgstr "จำนวนจุดที่สร้างขึ้น:" - -#: editor/plugins/particles_2d_editor_plugin.cpp -#: editor/plugins/particles_editor_plugin.cpp msgid "Generation Time (sec):" msgstr "เวลาในการสร้าง (วินาที):" -#: editor/plugins/particles_2d_editor_plugin.cpp -msgid "Emission Mask" -msgstr "Mask การปะทุ" - -#: editor/plugins/particles_2d_editor_plugin.cpp -msgid "Capture from Pixel" -msgstr "ใช้สีพิกเซล" - -#: editor/plugins/particles_2d_editor_plugin.cpp -msgid "Emission Colors" -msgstr "สีการปะทุ" - #: editor/plugins/particles_editor_plugin.cpp msgid "Faces contain no area!" msgstr "หน้าไม่มีพื้นที่!" @@ -5901,7 +5948,8 @@ msgid "Save Theme As..." msgstr "บันทึกธีมเป็น" #: editor/plugins/script_editor_plugin.cpp -msgid " Class Reference" +#, fuzzy +msgid "%s Class Reference" msgstr " ตำราอ้างอิงคลาส" #: editor/plugins/script_editor_plugin.cpp @@ -6752,6 +6800,26 @@ msgstr "" #: editor/plugins/sprite_editor_plugin.cpp #, fuzzy +msgid "Create Mesh2D" +msgstr "สร้างเส้นขอบ Mesh" + +#: editor/plugins/sprite_editor_plugin.cpp +#, fuzzy +msgid "Create Polygon2D" +msgstr "สร้างรูปหลายเหลี่ยม" + +#: editor/plugins/sprite_editor_plugin.cpp +#, fuzzy +msgid "Create CollisionPolygon2D" +msgstr "สร้างรูปทรงนำทาง" + +#: editor/plugins/sprite_editor_plugin.cpp +#, fuzzy +msgid "Create LightOccluder2D" +msgstr "สร้างรูปหลายเหลี่ยมกั้นแสง" + +#: editor/plugins/sprite_editor_plugin.cpp +#, fuzzy msgid "Sprite is empty!" msgstr "ตำแหน่งบันทึกว่างเปล่า!" @@ -6764,19 +6832,41 @@ msgid "Invalid geometry, can't replace by mesh." msgstr "" #: editor/plugins/sprite_editor_plugin.cpp +msgid "Invalid geometry, can't create polygon." +msgstr "" + +#: editor/plugins/sprite_editor_plugin.cpp +msgid "Invalid geometry, can't create collision polygon." +msgstr "" + +#: editor/plugins/sprite_editor_plugin.cpp +msgid "Invalid geometry, can't create light occluder." +msgstr "" + +#: editor/plugins/sprite_editor_plugin.cpp #, fuzzy msgid "Sprite" msgstr "SpriteFrames" #: editor/plugins/sprite_editor_plugin.cpp #, fuzzy -msgid "Convert to 2D Mesh" +msgid "Convert to Mesh2D" msgstr "แปลงเป็น %s" #: editor/plugins/sprite_editor_plugin.cpp #, fuzzy -msgid "Create 2D Mesh" -msgstr "สร้างเส้นขอบ Mesh" +msgid "Convert to Polygon2D" +msgstr "ย้ายรูปหลายเหลี่ยม" + +#: editor/plugins/sprite_editor_plugin.cpp +#, fuzzy +msgid "Create CollisionPolygon2D Sibling" +msgstr "สร้างรูปทรงนำทาง" + +#: editor/plugins/sprite_editor_plugin.cpp +#, fuzzy +msgid "Create LightOccluder2D Sibling" +msgstr "สร้างรูปหลายเหลี่ยมกั้นแสง" #: editor/plugins/sprite_editor_plugin.cpp msgid "Simplification: " @@ -7405,6 +7495,11 @@ msgid "Duplicate Nodes" msgstr "ทำซ้ำโหนด" #: editor/plugins/visual_shader_editor_plugin.cpp +#, fuzzy +msgid "Delete Nodes" +msgstr "ลบโหนด" + +#: editor/plugins/visual_shader_editor_plugin.cpp msgid "Visual Shader Input Type Changed" msgstr "" @@ -8609,10 +8704,6 @@ msgid "Open documentation" msgstr "เปิดคู่มือ" #: editor/scene_tree_dock.cpp -msgid "Delete Node(s)" -msgstr "ลบโหนด" - -#: editor/scene_tree_dock.cpp msgid "Add Child Node" msgstr "เพิ่มโหนดลูก" @@ -10432,12 +10523,17 @@ msgstr "" msgid "Varyings can only be assigned in vertex function." msgstr "" +#, fuzzy +#~ msgid "Snap (s): " +#~ msgstr "Snap (พิกเซล):" + +#, fuzzy +#~ msgid "Insert keys." +#~ msgstr "เพิ่มคีย์" + #~ msgid "Instance the selected scene(s) as child of the selected node." #~ msgstr "อินสแตนซ์ฉากที่เลือกให้เป็นโหนดลูกของโหนดที่เลือก" -#~ msgid "FPS" -#~ msgstr "เฟรมต่อวินาที" - #, fuzzy #~ msgid "Warnings:" #~ msgstr "คำเตือน" diff --git a/editor/translations/tr.po b/editor/translations/tr.po index 6ee2fd344a..30f753d6ab 100644 --- a/editor/translations/tr.po +++ b/editor/translations/tr.po @@ -23,12 +23,14 @@ # ege1212 <owlphp@gmail.com>, 2019. # Ömer YAZICIOĞLU <oyazicioglu@gmail.com>, 2019. # Mertcan Duman <mertcan.dmn16@gmail.com>, 2019. +# Furkan Türkal <furkan.turkal@hotmail.com>, 2019. +# Aiden Demir <dnm00110011@hotmail.com>, 2019. msgid "" msgstr "" "Project-Id-Version: Godot Engine editor\n" "POT-Creation-Date: \n" -"PO-Revision-Date: 2019-03-19 15:04+0000\n" -"Last-Translator: Mertcan Duman <mertcan.dmn16@gmail.com>\n" +"PO-Revision-Date: 2019-04-14 13:04+0000\n" +"Last-Translator: Aiden Demir <dnm00110011@hotmail.com>\n" "Language-Team: Turkish <https://hosted.weblate.org/projects/godot-engine/" "godot/tr/>\n" "Language: tr\n" @@ -52,17 +54,16 @@ msgstr "Byte kodu çözmek için yetersiz byte, ya da Geçersiz format." #: core/math/expression.cpp msgid "Invalid input %i (not passed) in expression" -msgstr "Geçersiz girdi, ifadede %i (geçirilmedi)" +msgstr "%i ifadesindeki girdi geçersiz" #: core/math/expression.cpp msgid "self can't be used because instance is null (not passed)" -msgstr "" -"\"self\" ifadesi kullanılamaz çünkü örnekleme \"null\" yani tanımlanmadı." +msgstr "\"self\" ifadesi kullanılamaz, çünkü nesne \"null\" (tanımlandı)." #: core/math/expression.cpp #, fuzzy msgid "Invalid operands to operator %s, %s and %s." -msgstr "%s düğümünde geçersiz indeks özelliği ismi '%s'." +msgstr "Geçersiz işlenen operatörler %s, %s ve %s" #: core/math/expression.cpp msgid "Invalid index of type %s for base type %s" @@ -90,33 +91,28 @@ msgid "Balanced" msgstr "Dengelenmiş" #: editor/animation_bezier_editor.cpp -#, fuzzy msgid "Mirror" -msgstr "ayna" +msgstr "Ayna" #: editor/animation_bezier_editor.cpp msgid "Insert Key Here" msgstr "Anahtar Gir" #: editor/animation_bezier_editor.cpp -#, fuzzy msgid "Duplicate Selected Key(s)" -msgstr "Seçimi Çoğalt" +msgstr "Seçilen Tuşu/Tuşları Çoğalt" #: editor/animation_bezier_editor.cpp -#, fuzzy msgid "Delete Selected Key(s)" -msgstr "Seçilenleri Sil" +msgstr "Seçilen Tuşu/Tuşları Sil" #: editor/animation_bezier_editor.cpp -#, fuzzy msgid "Add Bezier Point" -msgstr "Nokta Ekle" +msgstr "Bezier Noktası Ekle" #: editor/animation_bezier_editor.cpp -#, fuzzy msgid "Move Bezier Points" -msgstr "Noktayı Taşı" +msgstr "Bezier Noktalarını Taşı" #: editor/animation_bezier_editor.cpp editor/animation_track_editor.cpp msgid "Anim Duplicate Keys" @@ -285,9 +281,8 @@ msgid "Duplicate Key(s)" msgstr "Düğüm(leri) Çoğalt" #: editor/animation_track_editor.cpp -#, fuzzy msgid "Delete Key(s)" -msgstr "Düğümleri Sil" +msgstr "Tuşları Sil" #: editor/animation_track_editor.cpp msgid "Change Animation Update Mode" @@ -344,7 +339,6 @@ msgid "Anim Insert Key" msgstr "Animasyon Anahtar Gir" #: editor/animation_track_editor.cpp -#, fuzzy msgid "Change Animation Step" msgstr "Animasyon Adımını Değiştir" @@ -446,13 +440,21 @@ msgstr "İzleri düğüme göre grupla veya onları düz liste olarak göster." #: editor/animation_track_editor.cpp #, fuzzy -msgid "Snap (s): " -msgstr "Yapış (Noktalara):" +msgid "Snap:" +msgstr "Yapış" #: editor/animation_track_editor.cpp msgid "Animation step value." msgstr "Animasyon adım değeri." +#: editor/animation_track_editor.cpp +msgid "Seconds" +msgstr "" + +#: editor/animation_track_editor.cpp +msgid "FPS" +msgstr "FPS" + #: editor/animation_track_editor.cpp editor/editor_properties.cpp #: editor/plugins/polygon_2d_editor_plugin.cpp #: editor/plugins/script_text_editor.cpp @@ -487,17 +489,14 @@ msgid "Duplicate Transposed" msgstr "Tersine Çevrilmişi Çoğalt" #: editor/animation_track_editor.cpp -#, fuzzy msgid "Delete Selection" msgstr "Seçilenleri Sil" #: editor/animation_track_editor.cpp -#, fuzzy msgid "Go to Next Step" msgstr "Sonraki Adıma Git" #: editor/animation_track_editor.cpp -#, fuzzy msgid "Go to Previous Step" msgstr "Önceki Adıma Git" @@ -752,12 +751,10 @@ msgid "Disconnect" msgstr "Bağlantıyı kes" #: editor/connections_dialog.cpp -#, fuzzy msgid "Connect Signal: " msgstr "Bağlantı Sinyali: " #: editor/connections_dialog.cpp -#, fuzzy msgid "Edit Connection: " msgstr "Bağlantıları Düzenle " @@ -779,7 +776,6 @@ msgid "Disconnect All" msgstr "Tüm Bağlantıları Kes" #: editor/connections_dialog.cpp -#, fuzzy msgid "Edit..." msgstr "Düzenle" @@ -918,9 +914,8 @@ msgid "Error loading:" msgstr "Yüklerken hata:" #: editor/dependency_editor.cpp -#, fuzzy msgid "Load failed due to missing dependencies:" -msgstr "Sahnedeki kayıp bağımlılıklar yüzünden sahneyi yükleme başarısız oldu:" +msgstr "Yükleme eksik bağlamlar yüzünden başarısız oldu:" #: editor/dependency_editor.cpp editor/editor_node.cpp msgid "Open Anyway" @@ -1218,9 +1213,8 @@ msgid "Add Bus" msgstr "Bus ekle" #: editor/editor_audio_buses.cpp -#, fuzzy msgid "Add a new Audio Bus to this layout." -msgstr "Audio Bus Yerleşim Düzenini Farklı Kaydet..." +msgstr "" #: editor/editor_audio_buses.cpp editor/editor_properties.cpp #: editor/plugins/animation_player_editor_plugin.cpp editor/property_editor.cpp @@ -1388,27 +1382,30 @@ msgid "Storing File:" msgstr "Dosya Depolama:" #: editor/editor_export.cpp -#, fuzzy msgid "No export template found at the expected path:" msgstr "" -"Hiçbir dışa aktarım kalıbı bulunamadı.\n" -"Dışa aktarım kalıplarını indirin ve yükleyin..." #: editor/editor_export.cpp msgid "Packing" msgstr "Çıkınla" #: editor/editor_export.cpp +#, fuzzy msgid "" "Target platform requires 'ETC' texture compression for GLES2. Enable 'Import " "Etc' in Project Settings." msgstr "" +"Hedef platform GLES2 için 'ETC' doku sıkıştırma gerektirir. Proje " +"Ayarları'nda 'Import Etc' etkinleştirin." #: editor/editor_export.cpp +#, fuzzy msgid "" "Target platform requires 'ETC2' texture compression for GLES3. Enable " "'Import Etc 2' in Project Settings." msgstr "" +"Hedef platform GLES3 için 'ETC2' doku sıkıştırma gerektirir. Proje " +"Ayarları'nda 'Import Etc 2' etkinleştirin." #: editor/editor_export.cpp msgid "" @@ -3927,6 +3924,11 @@ msgid "Delete Node" msgstr "Düğümleri Sil" #: editor/plugins/animation_blend_tree_editor_plugin.cpp +#: editor/scene_tree_dock.cpp +msgid "Delete Node(s)" +msgstr "Düğümleri Sil" + +#: editor/plugins/animation_blend_tree_editor_plugin.cpp #, fuzzy msgid "Toggle Filter On/Off" msgstr "Dikkat-Dağıtmayan Kipine geç." @@ -4930,9 +4932,34 @@ msgid "Layout" msgstr "Yerleşim Düzeni" #: editor/plugins/canvas_item_editor_plugin.cpp +msgid "Translation mask for inserting keys." +msgstr "" + +#: editor/plugins/canvas_item_editor_plugin.cpp +msgid "Rotation mask for inserting keys." +msgstr "" + +#: editor/plugins/canvas_item_editor_plugin.cpp +msgid "Scale mask for inserting keys." +msgstr "" + +#: editor/plugins/canvas_item_editor_plugin.cpp +#, fuzzy +msgid "Insert keys (based on mask)." +msgstr "Anahtar Gir (Var Olan İzler)" + +#: editor/plugins/canvas_item_editor_plugin.cpp +msgid "" +"Auto insert keys when objects are translated, rotated on scaled (based on " +"mask).\n" +"Keys are only added to existing tracks, no new tracks will be created.\n" +"Keys must be inserted manually for the first time." +msgstr "" + +#: editor/plugins/canvas_item_editor_plugin.cpp #, fuzzy -msgid "Insert keys." -msgstr "Anahtarları Gir" +msgid "Auto Insert Key" +msgstr "Animasyon Anahtar Gir" #: editor/plugins/canvas_item_editor_plugin.cpp msgid "Insert Key (Existing Tracks)" @@ -5005,6 +5032,52 @@ msgstr "Çokluyu Düzenleyin (Noktayı Silin)" msgid "Set Handle" msgstr "Tutamacı Ayarla" +#: editor/plugins/cpu_particles_2d_editor_plugin.cpp +#: editor/plugins/particles_2d_editor_plugin.cpp +msgid "Error loading image:" +msgstr "Resim yüklenirken hata:" + +#: editor/plugins/cpu_particles_2d_editor_plugin.cpp +#: editor/plugins/particles_2d_editor_plugin.cpp +msgid "No pixels with transparency > 128 in image..." +msgstr "Saydamlığı olan nokta yok > 128 bedizde..." + +#: editor/plugins/cpu_particles_2d_editor_plugin.cpp +#: editor/plugins/particles_2d_editor_plugin.cpp +msgid "Load Emission Mask" +msgstr "Yayma Maskesini Yükle" + +#: editor/plugins/cpu_particles_2d_editor_plugin.cpp +#: editor/plugins/particles_2d_editor_plugin.cpp +msgid "Clear Emission Mask" +msgstr "Yayma Maskesini Temizle" + +#: editor/plugins/cpu_particles_2d_editor_plugin.cpp +#: editor/plugins/particles_2d_editor_plugin.cpp +#: editor/plugins/particles_editor_plugin.cpp +msgid "Particles" +msgstr "Parçacıklar" + +#: editor/plugins/cpu_particles_2d_editor_plugin.cpp +#: editor/plugins/particles_2d_editor_plugin.cpp +msgid "Generated Point Count:" +msgstr "Üretilen Nokta Sayısı:" + +#: editor/plugins/cpu_particles_2d_editor_plugin.cpp +#: editor/plugins/particles_2d_editor_plugin.cpp +msgid "Emission Mask" +msgstr "Emisyon Maskesi" + +#: editor/plugins/cpu_particles_2d_editor_plugin.cpp +#: editor/plugins/particles_2d_editor_plugin.cpp +msgid "Capture from Pixel" +msgstr "Pikselden Yakala" + +#: editor/plugins/cpu_particles_2d_editor_plugin.cpp +#: editor/plugins/particles_2d_editor_plugin.cpp +msgid "Emission Colors" +msgstr "Emisyon Renkleri" + #: editor/plugins/cpu_particles_editor_plugin.cpp #, fuzzy msgid "CPUParticles" @@ -5357,22 +5430,6 @@ msgid "Can only set point into a ParticlesMaterial process material" msgstr "Nokta sadece ParçacıkMateryal işlem materyalinin içinde ayarlanabilir" #: editor/plugins/particles_2d_editor_plugin.cpp -msgid "Error loading image:" -msgstr "Resim yüklenirken hata:" - -#: editor/plugins/particles_2d_editor_plugin.cpp -msgid "No pixels with transparency > 128 in image..." -msgstr "Saydamlığı olan nokta yok > 128 bedizde..." - -#: editor/plugins/particles_2d_editor_plugin.cpp -msgid "Load Emission Mask" -msgstr "Yayma Maskesini Yükle" - -#: editor/plugins/particles_2d_editor_plugin.cpp -msgid "Clear Emission Mask" -msgstr "Yayma Maskesini Temizle" - -#: editor/plugins/particles_2d_editor_plugin.cpp #: editor/plugins/particles_editor_plugin.cpp #, fuzzy msgid "Convert to CPUParticles" @@ -5380,30 +5437,9 @@ msgstr "Büyük Harfe Dönüştür" #: editor/plugins/particles_2d_editor_plugin.cpp #: editor/plugins/particles_editor_plugin.cpp -msgid "Particles" -msgstr "Parçacıklar" - -#: editor/plugins/particles_2d_editor_plugin.cpp -msgid "Generated Point Count:" -msgstr "Üretilen Nokta Sayısı:" - -#: editor/plugins/particles_2d_editor_plugin.cpp -#: editor/plugins/particles_editor_plugin.cpp msgid "Generation Time (sec):" msgstr "Nesil Süresi (sn):" -#: editor/plugins/particles_2d_editor_plugin.cpp -msgid "Emission Mask" -msgstr "Emisyon Maskesi" - -#: editor/plugins/particles_2d_editor_plugin.cpp -msgid "Capture from Pixel" -msgstr "Pikselden Yakala" - -#: editor/plugins/particles_2d_editor_plugin.cpp -msgid "Emission Colors" -msgstr "Emisyon Renkleri" - #: editor/plugins/particles_editor_plugin.cpp msgid "Faces contain no area!" msgstr "Yüzler alan içermez!" @@ -5941,7 +5977,8 @@ msgid "Save Theme As..." msgstr "Temayı Farklı Kaydet..." #: editor/plugins/script_editor_plugin.cpp -msgid " Class Reference" +#, fuzzy +msgid "%s Class Reference" msgstr " Sınıf Başvurusu" #: editor/plugins/script_editor_plugin.cpp @@ -6792,6 +6829,26 @@ msgstr "" #: editor/plugins/sprite_editor_plugin.cpp #, fuzzy +msgid "Create Mesh2D" +msgstr "Anahat Örüntüsü Oluştur" + +#: editor/plugins/sprite_editor_plugin.cpp +#, fuzzy +msgid "Create Polygon2D" +msgstr "Çoklu Oluşturun" + +#: editor/plugins/sprite_editor_plugin.cpp +#, fuzzy +msgid "Create CollisionPolygon2D" +msgstr "Yönlendirici Çokgeni Oluştur" + +#: editor/plugins/sprite_editor_plugin.cpp +#, fuzzy +msgid "Create LightOccluder2D" +msgstr "Engelleyici Çokgeni Oluştur" + +#: editor/plugins/sprite_editor_plugin.cpp +#, fuzzy msgid "Sprite is empty!" msgstr "Kayıt yolu boş!" @@ -6804,19 +6861,41 @@ msgid "Invalid geometry, can't replace by mesh." msgstr "" #: editor/plugins/sprite_editor_plugin.cpp +msgid "Invalid geometry, can't create polygon." +msgstr "" + +#: editor/plugins/sprite_editor_plugin.cpp +msgid "Invalid geometry, can't create collision polygon." +msgstr "" + +#: editor/plugins/sprite_editor_plugin.cpp +msgid "Invalid geometry, can't create light occluder." +msgstr "" + +#: editor/plugins/sprite_editor_plugin.cpp #, fuzzy msgid "Sprite" msgstr "GörüntüKareleri" #: editor/plugins/sprite_editor_plugin.cpp #, fuzzy -msgid "Convert to 2D Mesh" +msgid "Convert to Mesh2D" msgstr "Şuna Dönüştür %s" #: editor/plugins/sprite_editor_plugin.cpp #, fuzzy -msgid "Create 2D Mesh" -msgstr "Anahat Örüntüsü Oluştur" +msgid "Convert to Polygon2D" +msgstr "Çokgeni Taşı" + +#: editor/plugins/sprite_editor_plugin.cpp +#, fuzzy +msgid "Create CollisionPolygon2D Sibling" +msgstr "Yönlendirici Çokgeni Oluştur" + +#: editor/plugins/sprite_editor_plugin.cpp +#, fuzzy +msgid "Create LightOccluder2D Sibling" +msgstr "Engelleyici Çokgeni Oluştur" #: editor/plugins/sprite_editor_plugin.cpp msgid "Simplification: " @@ -7444,6 +7523,11 @@ msgid "Duplicate Nodes" msgstr "Düğüm(leri) Çoğalt" #: editor/plugins/visual_shader_editor_plugin.cpp +#, fuzzy +msgid "Delete Nodes" +msgstr "Düğümleri Sil" + +#: editor/plugins/visual_shader_editor_plugin.cpp msgid "Visual Shader Input Type Changed" msgstr "" @@ -8658,10 +8742,6 @@ msgid "Open documentation" msgstr "Çevrimiçi Godot dökümanlarını aç" #: editor/scene_tree_dock.cpp -msgid "Delete Node(s)" -msgstr "Düğümleri Sil" - -#: editor/scene_tree_dock.cpp msgid "Add Child Node" msgstr "Çocuk Düğüm Ekle" @@ -10545,12 +10625,17 @@ msgstr "" msgid "Varyings can only be assigned in vertex function." msgstr "" +#, fuzzy +#~ msgid "Snap (s): " +#~ msgstr "Yapış (Noktalara):" + +#, fuzzy +#~ msgid "Insert keys." +#~ msgstr "Anahtarları Gir" + #~ msgid "Instance the selected scene(s) as child of the selected node." #~ msgstr "Seçilen sahneyi/sahneleri seçilen düğüme çocuk olarak örneklendir." -#~ msgid "FPS" -#~ msgstr "FPS" - #, fuzzy #~ msgid "Warnings:" #~ msgstr "Uyarılar" diff --git a/editor/translations/uk.po b/editor/translations/uk.po index 0929e66b29..637c1ffac4 100644 --- a/editor/translations/uk.po +++ b/editor/translations/uk.po @@ -425,13 +425,22 @@ msgstr "" "Групувати доріжки за вузлами або показувати їх у форматі простого списку." #: editor/animation_track_editor.cpp -msgid "Snap (s): " -msgstr "Прилипання (с): " +#, fuzzy +msgid "Snap:" +msgstr "Прилипання" #: editor/animation_track_editor.cpp msgid "Animation step value." msgstr "Значення кроку анімації." +#: editor/animation_track_editor.cpp +msgid "Seconds" +msgstr "" + +#: editor/animation_track_editor.cpp +msgid "FPS" +msgstr "Кадри за секунду" + #: editor/animation_track_editor.cpp editor/editor_properties.cpp #: editor/plugins/polygon_2d_editor_plugin.cpp #: editor/plugins/script_text_editor.cpp @@ -3819,6 +3828,11 @@ msgid "Delete Node" msgstr "Вилучити вузол" #: editor/plugins/animation_blend_tree_editor_plugin.cpp +#: editor/scene_tree_dock.cpp +msgid "Delete Node(s)" +msgstr "Вилучити вузли" + +#: editor/plugins/animation_blend_tree_editor_plugin.cpp msgid "Toggle Filter On/Off" msgstr "Увімкнути або вимкнути фільтр" @@ -4796,8 +4810,34 @@ msgid "Layout" msgstr "Макет" #: editor/plugins/canvas_item_editor_plugin.cpp -msgid "Insert keys." -msgstr "Вставити ключі." +msgid "Translation mask for inserting keys." +msgstr "" + +#: editor/plugins/canvas_item_editor_plugin.cpp +msgid "Rotation mask for inserting keys." +msgstr "" + +#: editor/plugins/canvas_item_editor_plugin.cpp +msgid "Scale mask for inserting keys." +msgstr "" + +#: editor/plugins/canvas_item_editor_plugin.cpp +#, fuzzy +msgid "Insert keys (based on mask)." +msgstr "Вставити ключ (існуючі доріжки)" + +#: editor/plugins/canvas_item_editor_plugin.cpp +msgid "" +"Auto insert keys when objects are translated, rotated on scaled (based on " +"mask).\n" +"Keys are only added to existing tracks, no new tracks will be created.\n" +"Keys must be inserted manually for the first time." +msgstr "" + +#: editor/plugins/canvas_item_editor_plugin.cpp +#, fuzzy +msgid "Auto Insert Key" +msgstr "Вставити ключ анімації" #: editor/plugins/canvas_item_editor_plugin.cpp msgid "Insert Key (Existing Tracks)" @@ -4870,6 +4910,52 @@ msgstr "Редагувати полігон (вилучити точку)" msgid "Set Handle" msgstr "Встановити обробник" +#: editor/plugins/cpu_particles_2d_editor_plugin.cpp +#: editor/plugins/particles_2d_editor_plugin.cpp +msgid "Error loading image:" +msgstr "Помилка завантаження зображення:" + +#: editor/plugins/cpu_particles_2d_editor_plugin.cpp +#: editor/plugins/particles_2d_editor_plugin.cpp +msgid "No pixels with transparency > 128 in image..." +msgstr "В зображенні немає пікселів з прозорістю > 128..." + +#: editor/plugins/cpu_particles_2d_editor_plugin.cpp +#: editor/plugins/particles_2d_editor_plugin.cpp +msgid "Load Emission Mask" +msgstr "Завантажити маску випромінювання" + +#: editor/plugins/cpu_particles_2d_editor_plugin.cpp +#: editor/plugins/particles_2d_editor_plugin.cpp +msgid "Clear Emission Mask" +msgstr "Очистити маску випромінювання" + +#: editor/plugins/cpu_particles_2d_editor_plugin.cpp +#: editor/plugins/particles_2d_editor_plugin.cpp +#: editor/plugins/particles_editor_plugin.cpp +msgid "Particles" +msgstr "Частинки" + +#: editor/plugins/cpu_particles_2d_editor_plugin.cpp +#: editor/plugins/particles_2d_editor_plugin.cpp +msgid "Generated Point Count:" +msgstr "Кількість генерованих точок:" + +#: editor/plugins/cpu_particles_2d_editor_plugin.cpp +#: editor/plugins/particles_2d_editor_plugin.cpp +msgid "Emission Mask" +msgstr "Маска випромінювання" + +#: editor/plugins/cpu_particles_2d_editor_plugin.cpp +#: editor/plugins/particles_2d_editor_plugin.cpp +msgid "Capture from Pixel" +msgstr "Захопити з пікселя" + +#: editor/plugins/cpu_particles_2d_editor_plugin.cpp +#: editor/plugins/particles_2d_editor_plugin.cpp +msgid "Emission Colors" +msgstr "Кольори випромінювання" + #: editor/plugins/cpu_particles_editor_plugin.cpp msgid "CPUParticles" msgstr "CPUParticles" @@ -5221,52 +5307,15 @@ msgstr "" "Поставити точку можна тільки в процедурному матеріалі ParticlesMaterial" #: editor/plugins/particles_2d_editor_plugin.cpp -msgid "Error loading image:" -msgstr "Помилка завантаження зображення:" - -#: editor/plugins/particles_2d_editor_plugin.cpp -msgid "No pixels with transparency > 128 in image..." -msgstr "В зображенні немає пікселів з прозорістю > 128..." - -#: editor/plugins/particles_2d_editor_plugin.cpp -msgid "Load Emission Mask" -msgstr "Завантажити маску випромінювання" - -#: editor/plugins/particles_2d_editor_plugin.cpp -msgid "Clear Emission Mask" -msgstr "Очистити маску випромінювання" - -#: editor/plugins/particles_2d_editor_plugin.cpp #: editor/plugins/particles_editor_plugin.cpp msgid "Convert to CPUParticles" msgstr "Перетворити на CPUParticles" #: editor/plugins/particles_2d_editor_plugin.cpp #: editor/plugins/particles_editor_plugin.cpp -msgid "Particles" -msgstr "Частинки" - -#: editor/plugins/particles_2d_editor_plugin.cpp -msgid "Generated Point Count:" -msgstr "Кількість генерованих точок:" - -#: editor/plugins/particles_2d_editor_plugin.cpp -#: editor/plugins/particles_editor_plugin.cpp msgid "Generation Time (sec):" msgstr "Час генерації (сек):" -#: editor/plugins/particles_2d_editor_plugin.cpp -msgid "Emission Mask" -msgstr "Маска випромінювання" - -#: editor/plugins/particles_2d_editor_plugin.cpp -msgid "Capture from Pixel" -msgstr "Захопити з пікселя" - -#: editor/plugins/particles_2d_editor_plugin.cpp -msgid "Emission Colors" -msgstr "Кольори випромінювання" - #: editor/plugins/particles_editor_plugin.cpp msgid "Faces contain no area!" msgstr "Грані не містять ділянки!" @@ -5777,7 +5826,8 @@ msgid "Save Theme As..." msgstr "Зберегти тему як..." #: editor/plugins/script_editor_plugin.cpp -msgid " Class Reference" +#, fuzzy +msgid "%s Class Reference" msgstr " Посилання на клас" #: editor/plugins/script_editor_plugin.cpp @@ -6603,6 +6653,26 @@ msgid "Nameless gizmo" msgstr "Штука без назви" #: editor/plugins/sprite_editor_plugin.cpp +#, fuzzy +msgid "Create Mesh2D" +msgstr "Створити плоску сітку" + +#: editor/plugins/sprite_editor_plugin.cpp +#, fuzzy +msgid "Create Polygon2D" +msgstr "Створити Polygon3D" + +#: editor/plugins/sprite_editor_plugin.cpp +#, fuzzy +msgid "Create CollisionPolygon2D" +msgstr "Створити полігон зіткнення" + +#: editor/plugins/sprite_editor_plugin.cpp +#, fuzzy +msgid "Create LightOccluder2D" +msgstr "Створено затінювальний полігон" + +#: editor/plugins/sprite_editor_plugin.cpp msgid "Sprite is empty!" msgstr "Спрайт порожній!" @@ -6617,16 +6687,43 @@ msgid "Invalid geometry, can't replace by mesh." msgstr "Некоректна геометрія, неможливо замінити сіткою." #: editor/plugins/sprite_editor_plugin.cpp +#, fuzzy +msgid "Invalid geometry, can't create polygon." +msgstr "Некоректна геометрія, неможливо замінити сіткою." + +#: editor/plugins/sprite_editor_plugin.cpp +#, fuzzy +msgid "Invalid geometry, can't create collision polygon." +msgstr "Некоректна геометрія, неможливо замінити сіткою." + +#: editor/plugins/sprite_editor_plugin.cpp +#, fuzzy +msgid "Invalid geometry, can't create light occluder." +msgstr "Некоректна геометрія, неможливо замінити сіткою." + +#: editor/plugins/sprite_editor_plugin.cpp msgid "Sprite" msgstr "Спрайт" #: editor/plugins/sprite_editor_plugin.cpp -msgid "Convert to 2D Mesh" +#, fuzzy +msgid "Convert to Mesh2D" msgstr "Перетворити на плоску сітку" #: editor/plugins/sprite_editor_plugin.cpp -msgid "Create 2D Mesh" -msgstr "Створити плоску сітку" +#, fuzzy +msgid "Convert to Polygon2D" +msgstr "Перемістити полігон" + +#: editor/plugins/sprite_editor_plugin.cpp +#, fuzzy +msgid "Create CollisionPolygon2D Sibling" +msgstr "Створити полігон зіткнення" + +#: editor/plugins/sprite_editor_plugin.cpp +#, fuzzy +msgid "Create LightOccluder2D Sibling" +msgstr "Створено затінювальний полігон" #: editor/plugins/sprite_editor_plugin.cpp msgid "Simplification: " @@ -7215,6 +7312,11 @@ msgid "Duplicate Nodes" msgstr "Дублювати вузли" #: editor/plugins/visual_shader_editor_plugin.cpp +#, fuzzy +msgid "Delete Nodes" +msgstr "Вилучити вузол" + +#: editor/plugins/visual_shader_editor_plugin.cpp msgid "Visual Shader Input Type Changed" msgstr "Змінено тип введення для візуального шейдера" @@ -8436,10 +8538,6 @@ msgid "Open documentation" msgstr "Відкрити документацію" #: editor/scene_tree_dock.cpp -msgid "Delete Node(s)" -msgstr "Вилучити вузли" - -#: editor/scene_tree_dock.cpp msgid "Add Child Node" msgstr "Додати дочірній вузол" @@ -10326,12 +10424,15 @@ msgstr "Призначення однорідного." msgid "Varyings can only be assigned in vertex function." msgstr "Змінні величини можна пов'язувати лише із функцією вузлів." +#~ msgid "Snap (s): " +#~ msgstr "Прилипання (с): " + +#~ msgid "Insert keys." +#~ msgstr "Вставити ключі." + #~ msgid "Instance the selected scene(s) as child of the selected node." #~ msgstr "Додати вибрану сцену(и), як нащадка вибраного вузла." -#~ msgid "FPS" -#~ msgstr "Кадри за секунду" - #~ msgid "Warnings:" #~ msgstr "Попередження:" diff --git a/editor/translations/ur_PK.po b/editor/translations/ur_PK.po index 72cbf7eb88..cf4d0fe630 100644 --- a/editor/translations/ur_PK.po +++ b/editor/translations/ur_PK.po @@ -413,13 +413,21 @@ msgid "Group tracks by node or display them as plain list." msgstr "" #: editor/animation_track_editor.cpp -msgid "Snap (s): " +msgid "Snap:" msgstr "" #: editor/animation_track_editor.cpp msgid "Animation step value." msgstr "" +#: editor/animation_track_editor.cpp +msgid "Seconds" +msgstr "" + +#: editor/animation_track_editor.cpp +msgid "FPS" +msgstr "" + #: editor/animation_track_editor.cpp editor/editor_properties.cpp #: editor/plugins/polygon_2d_editor_plugin.cpp #: editor/plugins/script_text_editor.cpp @@ -3714,6 +3722,11 @@ msgid "Delete Node" msgstr ".اینیمیشن کی کیز کو ڈیلیٹ کرو" #: editor/plugins/animation_blend_tree_editor_plugin.cpp +#: editor/scene_tree_dock.cpp +msgid "Delete Node(s)" +msgstr "" + +#: editor/plugins/animation_blend_tree_editor_plugin.cpp msgid "Toggle Filter On/Off" msgstr "" @@ -4680,7 +4693,31 @@ msgid "Layout" msgstr "" #: editor/plugins/canvas_item_editor_plugin.cpp -msgid "Insert keys." +msgid "Translation mask for inserting keys." +msgstr "" + +#: editor/plugins/canvas_item_editor_plugin.cpp +msgid "Rotation mask for inserting keys." +msgstr "" + +#: editor/plugins/canvas_item_editor_plugin.cpp +msgid "Scale mask for inserting keys." +msgstr "" + +#: editor/plugins/canvas_item_editor_plugin.cpp +msgid "Insert keys (based on mask)." +msgstr "" + +#: editor/plugins/canvas_item_editor_plugin.cpp +msgid "" +"Auto insert keys when objects are translated, rotated on scaled (based on " +"mask).\n" +"Keys are only added to existing tracks, no new tracks will be created.\n" +"Keys must be inserted manually for the first time." +msgstr "" + +#: editor/plugins/canvas_item_editor_plugin.cpp +msgid "Auto Insert Key" msgstr "" #: editor/plugins/canvas_item_editor_plugin.cpp @@ -4752,6 +4789,52 @@ msgstr "" msgid "Set Handle" msgstr "" +#: editor/plugins/cpu_particles_2d_editor_plugin.cpp +#: editor/plugins/particles_2d_editor_plugin.cpp +msgid "Error loading image:" +msgstr "" + +#: editor/plugins/cpu_particles_2d_editor_plugin.cpp +#: editor/plugins/particles_2d_editor_plugin.cpp +msgid "No pixels with transparency > 128 in image..." +msgstr "" + +#: editor/plugins/cpu_particles_2d_editor_plugin.cpp +#: editor/plugins/particles_2d_editor_plugin.cpp +msgid "Load Emission Mask" +msgstr "" + +#: editor/plugins/cpu_particles_2d_editor_plugin.cpp +#: editor/plugins/particles_2d_editor_plugin.cpp +msgid "Clear Emission Mask" +msgstr "" + +#: editor/plugins/cpu_particles_2d_editor_plugin.cpp +#: editor/plugins/particles_2d_editor_plugin.cpp +#: editor/plugins/particles_editor_plugin.cpp +msgid "Particles" +msgstr "" + +#: editor/plugins/cpu_particles_2d_editor_plugin.cpp +#: editor/plugins/particles_2d_editor_plugin.cpp +msgid "Generated Point Count:" +msgstr "" + +#: editor/plugins/cpu_particles_2d_editor_plugin.cpp +#: editor/plugins/particles_2d_editor_plugin.cpp +msgid "Emission Mask" +msgstr "" + +#: editor/plugins/cpu_particles_2d_editor_plugin.cpp +#: editor/plugins/particles_2d_editor_plugin.cpp +msgid "Capture from Pixel" +msgstr "" + +#: editor/plugins/cpu_particles_2d_editor_plugin.cpp +#: editor/plugins/particles_2d_editor_plugin.cpp +msgid "Emission Colors" +msgstr "" + #: editor/plugins/cpu_particles_editor_plugin.cpp msgid "CPUParticles" msgstr "" @@ -5105,52 +5188,15 @@ msgid "Can only set point into a ParticlesMaterial process material" msgstr "" #: editor/plugins/particles_2d_editor_plugin.cpp -msgid "Error loading image:" -msgstr "" - -#: editor/plugins/particles_2d_editor_plugin.cpp -msgid "No pixels with transparency > 128 in image..." -msgstr "" - -#: editor/plugins/particles_2d_editor_plugin.cpp -msgid "Load Emission Mask" -msgstr "" - -#: editor/plugins/particles_2d_editor_plugin.cpp -msgid "Clear Emission Mask" -msgstr "" - -#: editor/plugins/particles_2d_editor_plugin.cpp #: editor/plugins/particles_editor_plugin.cpp msgid "Convert to CPUParticles" msgstr "" #: editor/plugins/particles_2d_editor_plugin.cpp #: editor/plugins/particles_editor_plugin.cpp -msgid "Particles" -msgstr "" - -#: editor/plugins/particles_2d_editor_plugin.cpp -msgid "Generated Point Count:" -msgstr "" - -#: editor/plugins/particles_2d_editor_plugin.cpp -#: editor/plugins/particles_editor_plugin.cpp msgid "Generation Time (sec):" msgstr "" -#: editor/plugins/particles_2d_editor_plugin.cpp -msgid "Emission Mask" -msgstr "" - -#: editor/plugins/particles_2d_editor_plugin.cpp -msgid "Capture from Pixel" -msgstr "" - -#: editor/plugins/particles_2d_editor_plugin.cpp -msgid "Emission Colors" -msgstr "" - #: editor/plugins/particles_editor_plugin.cpp msgid "Faces contain no area!" msgstr "" @@ -5667,7 +5713,7 @@ msgid "Save Theme As..." msgstr "" #: editor/plugins/script_editor_plugin.cpp -msgid " Class Reference" +msgid "%s Class Reference" msgstr "" #: editor/plugins/script_editor_plugin.cpp @@ -6494,6 +6540,26 @@ msgid "Nameless gizmo" msgstr "" #: editor/plugins/sprite_editor_plugin.cpp +#, fuzzy +msgid "Create Mesh2D" +msgstr "سب سکریپشن بنائیں" + +#: editor/plugins/sprite_editor_plugin.cpp +#, fuzzy +msgid "Create Polygon2D" +msgstr "سب سکریپشن بنائیں" + +#: editor/plugins/sprite_editor_plugin.cpp +#, fuzzy +msgid "Create CollisionPolygon2D" +msgstr "سب سکریپشن بنائیں" + +#: editor/plugins/sprite_editor_plugin.cpp +#, fuzzy +msgid "Create LightOccluder2D" +msgstr "سب سکریپشن بنائیں" + +#: editor/plugins/sprite_editor_plugin.cpp msgid "Sprite is empty!" msgstr "" @@ -6506,19 +6572,40 @@ msgid "Invalid geometry, can't replace by mesh." msgstr "" #: editor/plugins/sprite_editor_plugin.cpp +msgid "Invalid geometry, can't create polygon." +msgstr "" + +#: editor/plugins/sprite_editor_plugin.cpp +msgid "Invalid geometry, can't create collision polygon." +msgstr "" + +#: editor/plugins/sprite_editor_plugin.cpp +msgid "Invalid geometry, can't create light occluder." +msgstr "" + +#: editor/plugins/sprite_editor_plugin.cpp msgid "Sprite" msgstr "" #: editor/plugins/sprite_editor_plugin.cpp -msgid "Convert to 2D Mesh" +msgid "Convert to Mesh2D" msgstr "" #: editor/plugins/sprite_editor_plugin.cpp #, fuzzy -msgid "Create 2D Mesh" +msgid "Convert to Polygon2D" +msgstr ".تمام کا انتخاب" + +#: editor/plugins/sprite_editor_plugin.cpp +#, fuzzy +msgid "Create CollisionPolygon2D Sibling" msgstr "سب سکریپشن بنائیں" #: editor/plugins/sprite_editor_plugin.cpp +msgid "Create LightOccluder2D Sibling" +msgstr "" + +#: editor/plugins/sprite_editor_plugin.cpp msgid "Simplification: " msgstr "" @@ -7113,6 +7200,11 @@ msgid "Duplicate Nodes" msgstr "" #: editor/plugins/visual_shader_editor_plugin.cpp +#, fuzzy +msgid "Delete Nodes" +msgstr ".اینیمیشن کی کیز کو ڈیلیٹ کرو" + +#: editor/plugins/visual_shader_editor_plugin.cpp msgid "Visual Shader Input Type Changed" msgstr "" @@ -8272,10 +8364,6 @@ msgid "Open documentation" msgstr "" #: editor/scene_tree_dock.cpp -msgid "Delete Node(s)" -msgstr "" - -#: editor/scene_tree_dock.cpp msgid "Add Child Node" msgstr "" diff --git a/editor/translations/vi.po b/editor/translations/vi.po index 74bd1df7eb..d18046ad52 100644 --- a/editor/translations/vi.po +++ b/editor/translations/vi.po @@ -436,7 +436,7 @@ msgstr "" #: editor/animation_track_editor.cpp #, fuzzy -msgid "Snap (s): " +msgid "Snap:" msgstr "Bước (s):" #: editor/animation_track_editor.cpp @@ -444,6 +444,14 @@ msgstr "Bước (s):" msgid "Animation step value." msgstr "Phóng Animation." +#: editor/animation_track_editor.cpp +msgid "Seconds" +msgstr "" + +#: editor/animation_track_editor.cpp +msgid "FPS" +msgstr "" + #: editor/animation_track_editor.cpp editor/editor_properties.cpp #: editor/plugins/polygon_2d_editor_plugin.cpp #: editor/plugins/script_text_editor.cpp @@ -3798,6 +3806,11 @@ msgid "Delete Node" msgstr "Xóa Node(s)" #: editor/plugins/animation_blend_tree_editor_plugin.cpp +#: editor/scene_tree_dock.cpp +msgid "Delete Node(s)" +msgstr "Xóa Node(s)" + +#: editor/plugins/animation_blend_tree_editor_plugin.cpp #, fuzzy msgid "Toggle Filter On/Off" msgstr "Bật tắt Ưa thích" @@ -4777,8 +4790,33 @@ msgid "Layout" msgstr "" #: editor/plugins/canvas_item_editor_plugin.cpp +msgid "Translation mask for inserting keys." +msgstr "" + +#: editor/plugins/canvas_item_editor_plugin.cpp +msgid "Rotation mask for inserting keys." +msgstr "" + +#: editor/plugins/canvas_item_editor_plugin.cpp +msgid "Scale mask for inserting keys." +msgstr "" + +#: editor/plugins/canvas_item_editor_plugin.cpp +#, fuzzy +msgid "Insert keys (based on mask)." +msgstr "Chèn Key Anim" + +#: editor/plugins/canvas_item_editor_plugin.cpp +msgid "" +"Auto insert keys when objects are translated, rotated on scaled (based on " +"mask).\n" +"Keys are only added to existing tracks, no new tracks will be created.\n" +"Keys must be inserted manually for the first time." +msgstr "" + +#: editor/plugins/canvas_item_editor_plugin.cpp #, fuzzy -msgid "Insert keys." +msgid "Auto Insert Key" msgstr "Chèn Key Anim" #: editor/plugins/canvas_item_editor_plugin.cpp @@ -4850,6 +4888,52 @@ msgstr "" msgid "Set Handle" msgstr "" +#: editor/plugins/cpu_particles_2d_editor_plugin.cpp +#: editor/plugins/particles_2d_editor_plugin.cpp +msgid "Error loading image:" +msgstr "" + +#: editor/plugins/cpu_particles_2d_editor_plugin.cpp +#: editor/plugins/particles_2d_editor_plugin.cpp +msgid "No pixels with transparency > 128 in image..." +msgstr "" + +#: editor/plugins/cpu_particles_2d_editor_plugin.cpp +#: editor/plugins/particles_2d_editor_plugin.cpp +msgid "Load Emission Mask" +msgstr "" + +#: editor/plugins/cpu_particles_2d_editor_plugin.cpp +#: editor/plugins/particles_2d_editor_plugin.cpp +msgid "Clear Emission Mask" +msgstr "" + +#: editor/plugins/cpu_particles_2d_editor_plugin.cpp +#: editor/plugins/particles_2d_editor_plugin.cpp +#: editor/plugins/particles_editor_plugin.cpp +msgid "Particles" +msgstr "" + +#: editor/plugins/cpu_particles_2d_editor_plugin.cpp +#: editor/plugins/particles_2d_editor_plugin.cpp +msgid "Generated Point Count:" +msgstr "" + +#: editor/plugins/cpu_particles_2d_editor_plugin.cpp +#: editor/plugins/particles_2d_editor_plugin.cpp +msgid "Emission Mask" +msgstr "" + +#: editor/plugins/cpu_particles_2d_editor_plugin.cpp +#: editor/plugins/particles_2d_editor_plugin.cpp +msgid "Capture from Pixel" +msgstr "" + +#: editor/plugins/cpu_particles_2d_editor_plugin.cpp +#: editor/plugins/particles_2d_editor_plugin.cpp +msgid "Emission Colors" +msgstr "" + #: editor/plugins/cpu_particles_editor_plugin.cpp msgid "CPUParticles" msgstr "" @@ -5200,52 +5284,15 @@ msgid "Can only set point into a ParticlesMaterial process material" msgstr "" #: editor/plugins/particles_2d_editor_plugin.cpp -msgid "Error loading image:" -msgstr "" - -#: editor/plugins/particles_2d_editor_plugin.cpp -msgid "No pixels with transparency > 128 in image..." -msgstr "" - -#: editor/plugins/particles_2d_editor_plugin.cpp -msgid "Load Emission Mask" -msgstr "" - -#: editor/plugins/particles_2d_editor_plugin.cpp -msgid "Clear Emission Mask" -msgstr "" - -#: editor/plugins/particles_2d_editor_plugin.cpp #: editor/plugins/particles_editor_plugin.cpp msgid "Convert to CPUParticles" msgstr "" #: editor/plugins/particles_2d_editor_plugin.cpp #: editor/plugins/particles_editor_plugin.cpp -msgid "Particles" -msgstr "" - -#: editor/plugins/particles_2d_editor_plugin.cpp -msgid "Generated Point Count:" -msgstr "" - -#: editor/plugins/particles_2d_editor_plugin.cpp -#: editor/plugins/particles_editor_plugin.cpp msgid "Generation Time (sec):" msgstr "" -#: editor/plugins/particles_2d_editor_plugin.cpp -msgid "Emission Mask" -msgstr "" - -#: editor/plugins/particles_2d_editor_plugin.cpp -msgid "Capture from Pixel" -msgstr "" - -#: editor/plugins/particles_2d_editor_plugin.cpp -msgid "Emission Colors" -msgstr "" - #: editor/plugins/particles_editor_plugin.cpp msgid "Faces contain no area!" msgstr "" @@ -5764,7 +5811,7 @@ msgid "Save Theme As..." msgstr "" #: editor/plugins/script_editor_plugin.cpp -msgid " Class Reference" +msgid "%s Class Reference" msgstr "" #: editor/plugins/script_editor_plugin.cpp @@ -6594,6 +6641,26 @@ msgid "Nameless gizmo" msgstr "" #: editor/plugins/sprite_editor_plugin.cpp +#, fuzzy +msgid "Create Mesh2D" +msgstr "Tạo %s Mới" + +#: editor/plugins/sprite_editor_plugin.cpp +#, fuzzy +msgid "Create Polygon2D" +msgstr "Tạo" + +#: editor/plugins/sprite_editor_plugin.cpp +#, fuzzy +msgid "Create CollisionPolygon2D" +msgstr "Tạo" + +#: editor/plugins/sprite_editor_plugin.cpp +#, fuzzy +msgid "Create LightOccluder2D" +msgstr "Tạo Folder" + +#: editor/plugins/sprite_editor_plugin.cpp msgid "Sprite is empty!" msgstr "" @@ -6606,17 +6673,38 @@ msgid "Invalid geometry, can't replace by mesh." msgstr "" #: editor/plugins/sprite_editor_plugin.cpp +msgid "Invalid geometry, can't create polygon." +msgstr "" + +#: editor/plugins/sprite_editor_plugin.cpp +msgid "Invalid geometry, can't create collision polygon." +msgstr "" + +#: editor/plugins/sprite_editor_plugin.cpp +msgid "Invalid geometry, can't create light occluder." +msgstr "" + +#: editor/plugins/sprite_editor_plugin.cpp msgid "Sprite" msgstr "" #: editor/plugins/sprite_editor_plugin.cpp -msgid "Convert to 2D Mesh" +msgid "Convert to Mesh2D" msgstr "" #: editor/plugins/sprite_editor_plugin.cpp #, fuzzy -msgid "Create 2D Mesh" -msgstr "Tạo %s Mới" +msgid "Convert to Polygon2D" +msgstr "Xóa Animation" + +#: editor/plugins/sprite_editor_plugin.cpp +#, fuzzy +msgid "Create CollisionPolygon2D Sibling" +msgstr "Tạo" + +#: editor/plugins/sprite_editor_plugin.cpp +msgid "Create LightOccluder2D Sibling" +msgstr "" #: editor/plugins/sprite_editor_plugin.cpp msgid "Simplification: " @@ -7216,6 +7304,11 @@ msgid "Duplicate Nodes" msgstr "Nhân đôi Node(s)" #: editor/plugins/visual_shader_editor_plugin.cpp +#, fuzzy +msgid "Delete Nodes" +msgstr "Xóa Node(s)" + +#: editor/plugins/visual_shader_editor_plugin.cpp msgid "Visual Shader Input Type Changed" msgstr "" @@ -8382,10 +8475,6 @@ msgid "Open documentation" msgstr "" #: editor/scene_tree_dock.cpp -msgid "Delete Node(s)" -msgstr "Xóa Node(s)" - -#: editor/scene_tree_dock.cpp msgid "Add Child Node" msgstr "" diff --git a/editor/translations/zh_CN.po b/editor/translations/zh_CN.po index e79ca6a36d..3e03b0e8ff 100644 --- a/editor/translations/zh_CN.po +++ b/editor/translations/zh_CN.po @@ -43,12 +43,13 @@ # Song DongHui <14729626293@163.com>, 2019. # simano clio <sim2cle@gmail.com>, 2019. # ByonkoGalilei <byonko@qq.com>, 2019. +# qjyqjyqjyqjy <qjyqjyqjyqjy@sina.com.cn>, 2019. msgid "" msgstr "" "Project-Id-Version: Chinese (Simplified) (Godot Engine)\n" "POT-Creation-Date: 2018-01-20 12:15+0200\n" -"PO-Revision-Date: 2019-04-08 10:35+0000\n" -"Last-Translator: ByonkoGalilei <byonko@qq.com>\n" +"PO-Revision-Date: 2019-04-23 15:48+0000\n" +"Last-Translator: qjyqjyqjyqjy <qjyqjyqjyqjy@sina.com.cn>\n" "Language-Team: Chinese (Simplified) <https://hosted.weblate.org/projects/" "godot-engine/godot/zh_Hans/>\n" "Language: zh_CN\n" @@ -56,7 +57,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 3.6-dev\n" +"X-Generator: Weblate 3.7-dev\n" #: core/math/expression.cpp modules/gdscript/gdscript_functions.cpp #: modules/visual_script/visual_script_builtin_funcs.cpp @@ -67,7 +68,7 @@ msgstr "convert函数参数类型非法,请传入以“TYPE_”打头的常量 #: modules/mono/glue/gd_glue.cpp #: modules/visual_script/visual_script_builtin_funcs.cpp msgid "Not enough bytes for decoding bytes, or invalid format." -msgstr "没有足够的字节来解码或格式不正确。" +msgstr "没有足够的字节来解码或无效的格式。" #: core/math/expression.cpp msgid "Invalid input %i (not passed) in expression" @@ -75,27 +76,27 @@ msgstr "表达式中有非法的输入 %i (未通过)" #: core/math/expression.cpp msgid "self can't be used because instance is null (not passed)" -msgstr "自身无法使用因为实例为空" +msgstr "self无法使用因为实例为空(不通过)" #: core/math/expression.cpp msgid "Invalid operands to operator %s, %s and %s." -msgstr "运算符%s,%s和%s的操作数无效。" +msgstr "操作符的操作数无效%s, %s and %s." #: core/math/expression.cpp msgid "Invalid index of type %s for base type %s" -msgstr "无效内存地址类型 %s,基类 %s" +msgstr "无效类型索引 %s,从基类 %s" #: core/math/expression.cpp msgid "Invalid named index '%s' for base type %s" -msgstr "对基础类型 %s 非法的具名索引 '%s'" +msgstr "从基类 %s 无效的名称索引 '%s'" #: core/math/expression.cpp msgid "Invalid arguments to construct '%s'" -msgstr ":无效参数类型: '%s'" +msgstr "构造的参数无效: '%s'" #: core/math/expression.cpp msgid "On call to '%s':" -msgstr "在对 '%s' 的调用中:" +msgstr "对'%s'调用 :" #: editor/animation_bezier_editor.cpp #: editor/plugins/asset_library_editor_plugin.cpp @@ -132,7 +133,7 @@ msgstr "移动贝塞尔顶点" #: editor/animation_bezier_editor.cpp editor/animation_track_editor.cpp msgid "Anim Duplicate Keys" -msgstr "复制关键帧" +msgstr "动画复制关键帧" #: editor/animation_bezier_editor.cpp editor/animation_track_editor.cpp msgid "Anim Delete Keys" @@ -140,7 +141,7 @@ msgstr "删除关键帧" #: editor/animation_track_editor.cpp msgid "Anim Change Keyframe Time" -msgstr "修改动画关键帧的时间" +msgstr "修改动画关键帧的时长" #: editor/animation_track_editor.cpp msgid "Anim Change Transition" @@ -412,9 +413,8 @@ msgid "Track path is invalid, so can't add a method key." msgstr "跟踪路径无效,所以不能添加方法帧。" #: editor/animation_track_editor.cpp -#, fuzzy msgid "Add Method Track Key" -msgstr "调用方法轨道" +msgstr "添加方法轨道键" #: editor/animation_track_editor.cpp msgid "Method not found in object: " @@ -450,13 +450,22 @@ msgid "Group tracks by node or display them as plain list." msgstr "按节点分组或将它们显示为普通列表。" #: editor/animation_track_editor.cpp -msgid "Snap (s): " -msgstr "吸附: " +#, fuzzy +msgid "Snap:" +msgstr "吸附" #: editor/animation_track_editor.cpp msgid "Animation step value." msgstr "动画步进值。" +#: editor/animation_track_editor.cpp +msgid "Seconds" +msgstr "" + +#: editor/animation_track_editor.cpp +msgid "FPS" +msgstr "帧数" + #: editor/animation_track_editor.cpp editor/editor_properties.cpp #: editor/plugins/polygon_2d_editor_plugin.cpp #: editor/plugins/script_text_editor.cpp @@ -1299,7 +1308,7 @@ msgstr "不在资源路径下。" #: editor/editor_autoload_settings.cpp msgid "Add AutoLoad" -msgstr "添加Autoload" +msgstr "添加自动加载" #: editor/editor_autoload_settings.cpp editor/editor_file_dialog.cpp #: editor/plugins/animation_tree_editor_plugin.cpp scene/gui/file_dialog.cpp @@ -2439,7 +2448,7 @@ msgstr "在线文档" #: editor/editor_node.cpp msgid "Q&A" -msgstr "问答" +msgstr "常见问题与答案" #: editor/editor_node.cpp msgid "Issue Tracker" @@ -3590,19 +3599,16 @@ msgstr "加载..." #: editor/plugins/animation_blend_space_1d_editor.cpp #: editor/plugins/animation_blend_space_2d_editor.cpp -#, fuzzy msgid "Move Node Point" -msgstr "移动点" +msgstr "移动节点" #: editor/plugins/animation_blend_space_1d_editor.cpp -#, fuzzy msgid "Change BlendSpace1D Limits" -msgstr "更改混合时间" +msgstr "更改混合空间1D限制" #: editor/plugins/animation_blend_space_1d_editor.cpp -#, fuzzy msgid "Change BlendSpace1D Labels" -msgstr "更改混合时间" +msgstr "更改混合空间1D标签" #: editor/plugins/animation_blend_space_1d_editor.cpp #: editor/plugins/animation_blend_space_2d_editor.cpp @@ -3612,24 +3618,21 @@ msgstr "此类型的节点不能被使用。仅允许使用根节点。" #: editor/plugins/animation_blend_space_1d_editor.cpp #: editor/plugins/animation_blend_space_2d_editor.cpp -#, fuzzy msgid "Add Node Point" -msgstr "添加节点" +msgstr "添加节点顶点" #: editor/plugins/animation_blend_space_1d_editor.cpp #: editor/plugins/animation_blend_space_2d_editor.cpp -#, fuzzy msgid "Add Animation Point" -msgstr "添加动画" +msgstr "添加动画点" #: editor/plugins/animation_blend_space_1d_editor.cpp -#, fuzzy msgid "Remove BlendSpace1D Point" -msgstr "移除路径顶点" +msgstr "移除混合空间1D顶点" #: editor/plugins/animation_blend_space_1d_editor.cpp msgid "Move BlendSpace1D Node Point" -msgstr "" +msgstr "移动混合空间1D节点顶点" #: editor/plugins/animation_blend_space_1d_editor.cpp #: editor/plugins/animation_blend_space_2d_editor.cpp @@ -3678,24 +3681,20 @@ msgid "Add Triangle" msgstr "添加三角面" #: editor/plugins/animation_blend_space_2d_editor.cpp -#, fuzzy msgid "Change BlendSpace2D Limits" -msgstr "更改混合时间" +msgstr "更改混合空间2D限制" #: editor/plugins/animation_blend_space_2d_editor.cpp -#, fuzzy msgid "Change BlendSpace2D Labels" -msgstr "更改混合时间" +msgstr "更改混合空间2D标签" #: editor/plugins/animation_blend_space_2d_editor.cpp -#, fuzzy msgid "Remove BlendSpace2D Point" -msgstr "移除路径顶点" +msgstr "移除混合空间2D顶点" #: editor/plugins/animation_blend_space_2d_editor.cpp -#, fuzzy msgid "Remove BlendSpace2D Triangle" -msgstr "删除变量" +msgstr "移除混合空间2D三角形" #: editor/plugins/animation_blend_space_2d_editor.cpp msgid "BlendSpace2D does not belong to an AnimationTree node." @@ -3740,9 +3739,8 @@ msgid "Output node can't be added to the blend tree." msgstr "输出节点不能被添加到混合树。" #: editor/plugins/animation_blend_tree_editor_plugin.cpp -#, fuzzy msgid "Add Node to BlendTree" -msgstr "从树中添加节点" +msgstr "在合成树中添加节点" #: editor/plugins/animation_blend_tree_editor_plugin.cpp #: editor/plugins/visual_shader_editor_plugin.cpp @@ -3770,11 +3768,15 @@ msgstr "设置动画" #: editor/plugins/animation_blend_tree_editor_plugin.cpp #: editor/plugins/visual_shader_editor_plugin.cpp -#, fuzzy msgid "Delete Node" msgstr "删除节点" #: editor/plugins/animation_blend_tree_editor_plugin.cpp +#: editor/scene_tree_dock.cpp +msgid "Delete Node(s)" +msgstr "删除节点" + +#: editor/plugins/animation_blend_tree_editor_plugin.cpp msgid "Toggle Filter On/Off" msgstr "打开/关闭过滤器" @@ -4732,8 +4734,34 @@ msgid "Layout" msgstr "布局" #: editor/plugins/canvas_item_editor_plugin.cpp -msgid "Insert keys." -msgstr "插入帧。" +msgid "Translation mask for inserting keys." +msgstr "" + +#: editor/plugins/canvas_item_editor_plugin.cpp +msgid "Rotation mask for inserting keys." +msgstr "" + +#: editor/plugins/canvas_item_editor_plugin.cpp +msgid "Scale mask for inserting keys." +msgstr "" + +#: editor/plugins/canvas_item_editor_plugin.cpp +#, fuzzy +msgid "Insert keys (based on mask)." +msgstr "插入关键帧( 创建轨道)" + +#: editor/plugins/canvas_item_editor_plugin.cpp +msgid "" +"Auto insert keys when objects are translated, rotated on scaled (based on " +"mask).\n" +"Keys are only added to existing tracks, no new tracks will be created.\n" +"Keys must be inserted manually for the first time." +msgstr "" + +#: editor/plugins/canvas_item_editor_plugin.cpp +#, fuzzy +msgid "Auto Insert Key" +msgstr "插入关键帧" #: editor/plugins/canvas_item_editor_plugin.cpp msgid "Insert Key (Existing Tracks)" @@ -4805,6 +4833,52 @@ msgstr "编辑多边形(移除顶点)" msgid "Set Handle" msgstr "设置处理程序" +#: editor/plugins/cpu_particles_2d_editor_plugin.cpp +#: editor/plugins/particles_2d_editor_plugin.cpp +msgid "Error loading image:" +msgstr "加载图片出错:" + +#: editor/plugins/cpu_particles_2d_editor_plugin.cpp +#: editor/plugins/particles_2d_editor_plugin.cpp +msgid "No pixels with transparency > 128 in image..." +msgstr "图片中没有透明度> 128的像素..." + +#: editor/plugins/cpu_particles_2d_editor_plugin.cpp +#: editor/plugins/particles_2d_editor_plugin.cpp +msgid "Load Emission Mask" +msgstr "加载Emission Mask(发射屏蔽)" + +#: editor/plugins/cpu_particles_2d_editor_plugin.cpp +#: editor/plugins/particles_2d_editor_plugin.cpp +msgid "Clear Emission Mask" +msgstr "清除Emission Mask(发射屏蔽)" + +#: editor/plugins/cpu_particles_2d_editor_plugin.cpp +#: editor/plugins/particles_2d_editor_plugin.cpp +#: editor/plugins/particles_editor_plugin.cpp +msgid "Particles" +msgstr "粒子" + +#: editor/plugins/cpu_particles_2d_editor_plugin.cpp +#: editor/plugins/particles_2d_editor_plugin.cpp +msgid "Generated Point Count:" +msgstr "生成顶点计数:" + +#: editor/plugins/cpu_particles_2d_editor_plugin.cpp +#: editor/plugins/particles_2d_editor_plugin.cpp +msgid "Emission Mask" +msgstr "发光遮罩(mask)" + +#: editor/plugins/cpu_particles_2d_editor_plugin.cpp +#: editor/plugins/particles_2d_editor_plugin.cpp +msgid "Capture from Pixel" +msgstr "从像素捕捉" + +#: editor/plugins/cpu_particles_2d_editor_plugin.cpp +#: editor/plugins/particles_2d_editor_plugin.cpp +msgid "Emission Colors" +msgstr "发光颜色" + #: editor/plugins/cpu_particles_editor_plugin.cpp msgid "CPUParticles" msgstr "CPU粒子" @@ -5155,52 +5229,15 @@ msgid "Can only set point into a ParticlesMaterial process material" msgstr "可以设置ParticlesMaterial 点的材质" #: editor/plugins/particles_2d_editor_plugin.cpp -msgid "Error loading image:" -msgstr "加载图片出错:" - -#: editor/plugins/particles_2d_editor_plugin.cpp -msgid "No pixels with transparency > 128 in image..." -msgstr "图片中没有透明度> 128的像素..." - -#: editor/plugins/particles_2d_editor_plugin.cpp -msgid "Load Emission Mask" -msgstr "加载Emission Mask(发射屏蔽)" - -#: editor/plugins/particles_2d_editor_plugin.cpp -msgid "Clear Emission Mask" -msgstr "清除Emission Mask(发射屏蔽)" - -#: editor/plugins/particles_2d_editor_plugin.cpp #: editor/plugins/particles_editor_plugin.cpp msgid "Convert to CPUParticles" msgstr "转换为 CPU粒子" #: editor/plugins/particles_2d_editor_plugin.cpp #: editor/plugins/particles_editor_plugin.cpp -msgid "Particles" -msgstr "粒子" - -#: editor/plugins/particles_2d_editor_plugin.cpp -msgid "Generated Point Count:" -msgstr "生成顶点计数:" - -#: editor/plugins/particles_2d_editor_plugin.cpp -#: editor/plugins/particles_editor_plugin.cpp msgid "Generation Time (sec):" msgstr "生成时间(秒):" -#: editor/plugins/particles_2d_editor_plugin.cpp -msgid "Emission Mask" -msgstr "发光遮罩(mask)" - -#: editor/plugins/particles_2d_editor_plugin.cpp -msgid "Capture from Pixel" -msgstr "从像素捕捉" - -#: editor/plugins/particles_2d_editor_plugin.cpp -msgid "Emission Colors" -msgstr "发光颜色" - #: editor/plugins/particles_editor_plugin.cpp msgid "Faces contain no area!" msgstr "面不含有区域!" @@ -5704,7 +5741,8 @@ msgid "Save Theme As..." msgstr "主题另存为..." #: editor/plugins/script_editor_plugin.cpp -msgid " Class Reference" +#, fuzzy +msgid "%s Class Reference" msgstr " 类引用" #: editor/plugins/script_editor_plugin.cpp @@ -6198,9 +6236,8 @@ msgid "Rear" msgstr "后方" #: editor/plugins/spatial_editor_plugin.cpp -#, fuzzy msgid "Align with View" -msgstr "与视图对齐" +msgstr "对齐视图" #: editor/plugins/spatial_editor_plugin.cpp editor/scene_tree_dock.cpp msgid "No parent to instance a child at." @@ -6530,6 +6567,26 @@ msgid "Nameless gizmo" msgstr "未命名的Gizmo" #: editor/plugins/sprite_editor_plugin.cpp +#, fuzzy +msgid "Create Mesh2D" +msgstr "创建 2D 网格" + +#: editor/plugins/sprite_editor_plugin.cpp +#, fuzzy +msgid "Create Polygon2D" +msgstr "创建3D多边形" + +#: editor/plugins/sprite_editor_plugin.cpp +#, fuzzy +msgid "Create CollisionPolygon2D" +msgstr "创建碰撞多边形" + +#: editor/plugins/sprite_editor_plugin.cpp +#, fuzzy +msgid "Create LightOccluder2D" +msgstr "添加遮光多边形" + +#: editor/plugins/sprite_editor_plugin.cpp msgid "Sprite is empty!" msgstr "Sprite 是空的!" @@ -6542,16 +6599,43 @@ msgid "Invalid geometry, can't replace by mesh." msgstr "无效的几何体,无法使用网格替换。" #: editor/plugins/sprite_editor_plugin.cpp +#, fuzzy +msgid "Invalid geometry, can't create polygon." +msgstr "无效的几何体,无法使用网格替换。" + +#: editor/plugins/sprite_editor_plugin.cpp +#, fuzzy +msgid "Invalid geometry, can't create collision polygon." +msgstr "无效的几何体,无法使用网格替换。" + +#: editor/plugins/sprite_editor_plugin.cpp +#, fuzzy +msgid "Invalid geometry, can't create light occluder." +msgstr "无效的几何体,无法使用网格替换。" + +#: editor/plugins/sprite_editor_plugin.cpp msgid "Sprite" msgstr "Sprite 精灵" #: editor/plugins/sprite_editor_plugin.cpp -msgid "Convert to 2D Mesh" +#, fuzzy +msgid "Convert to Mesh2D" msgstr "转换为 2D 网格" #: editor/plugins/sprite_editor_plugin.cpp -msgid "Create 2D Mesh" -msgstr "创建 2D 网格" +#, fuzzy +msgid "Convert to Polygon2D" +msgstr "移动多边形" + +#: editor/plugins/sprite_editor_plugin.cpp +#, fuzzy +msgid "Create CollisionPolygon2D Sibling" +msgstr "创建碰撞多边形" + +#: editor/plugins/sprite_editor_plugin.cpp +#, fuzzy +msgid "Create LightOccluder2D Sibling" +msgstr "添加遮光多边形" #: editor/plugins/sprite_editor_plugin.cpp msgid "Simplification: " @@ -6916,7 +7000,7 @@ msgstr "上一个坐标" #: editor/plugins/tile_set_editor_plugin.cpp msgid "Select the previous shape, subtile, or Tile." -msgstr "" +msgstr "选择上一个形状,子砖块,或砖块。" #: editor/plugins/tile_set_editor_plugin.cpp msgid "Copy bitmask." @@ -7121,7 +7205,7 @@ msgstr "瓦片集" #: editor/plugins/visual_shader_editor_plugin.cpp msgid "Set Uniform Name" -msgstr "" +msgstr "设置统一名称" #: editor/plugins/visual_shader_editor_plugin.cpp msgid "Set Input Default Port" @@ -7136,8 +7220,13 @@ msgid "Duplicate Nodes" msgstr "复制节点" #: editor/plugins/visual_shader_editor_plugin.cpp +#, fuzzy +msgid "Delete Nodes" +msgstr "删除节点" + +#: editor/plugins/visual_shader_editor_plugin.cpp msgid "Visual Shader Input Type Changed" -msgstr "" +msgstr "可视着色器输入类型已更改" #: editor/plugins/visual_shader_editor_plugin.cpp msgid "Vertex" @@ -7180,6 +7269,8 @@ msgid "" "Failed to export the project for platform '%s'.\n" "Export templates seem to be missing or invalid." msgstr "" +"无法导出平台'%s'的项目。\n" +"导出模板似乎丢失或无效。" #: editor/project_export.cpp msgid "" @@ -7187,6 +7278,8 @@ msgid "" "This might be due to a configuration issue in the export preset or your " "export settings." msgstr "" +"无法导出平台'%s'的项目。\n" +"可能由于导出预设或导出设置内的配置有问题。" #: editor/project_export.cpp msgid "Release" @@ -8317,10 +8410,6 @@ msgid "Open documentation" msgstr "打开Godot文档" #: editor/scene_tree_dock.cpp -msgid "Delete Node(s)" -msgstr "删除节点" - -#: editor/scene_tree_dock.cpp msgid "Add Child Node" msgstr "添加子节点" @@ -9830,7 +9919,7 @@ msgstr "" msgid "" "Plane shapes don't work well and will be removed in future versions. Please " "don't use them." -msgstr "" +msgstr "平面形状无法正常工作,未来版本将被删除。请勿使用。" #: scene/3d/cpu_particles.cpp msgid "Nothing is visible because no mesh has been assigned." @@ -9851,6 +9940,8 @@ msgid "" "GIProbes are not supported by the GLES2 video driver.\n" "Use a BakedLightmap instead." msgstr "" +"GLES2视频驱动程序不支持全局光照探测器。\n" +"请改用已烘焙灯光贴图。" #: scene/3d/navigation_mesh.cpp msgid "A NavigationMesh resource must be set or created for this node to work." @@ -10017,6 +10108,8 @@ msgid "" "If you dont't intend to add a script, then please use a plain 'Control' node " "instead." msgstr "" +"除非在脚本内配置其子项的放置行为,否则容器本身没有用处。\n" +"如果您不打算添加脚本,请使用简单的“控件”节点。" #: scene/gui/dialogs.cpp msgid "Alert!" @@ -10109,12 +10202,15 @@ msgstr "对uniform的赋值。" msgid "Varyings can only be assigned in vertex function." msgstr "变量只能在顶点函数中指定。" +#~ msgid "Snap (s): " +#~ msgstr "吸附: " + +#~ msgid "Insert keys." +#~ msgstr "插入帧。" + #~ msgid "Instance the selected scene(s) as child of the selected node." #~ msgstr "将选中的场景实例为选中节点的子节点。" -#~ msgid "FPS" -#~ msgstr "帧数" - #~ msgid "Warnings:" #~ msgstr "警告:" @@ -11638,9 +11734,6 @@ msgstr "变量只能在顶点函数中指定。" #~ msgid "Cannot go into subdir:" #~ msgstr "无法打开目录:" -#~ msgid "Insert Keys (Ins)" -#~ msgstr "插入关键帧( 创建轨道)" - #~ msgid "Perspective (Num5)" #~ msgstr "透视(Num5)" diff --git a/editor/translations/zh_HK.po b/editor/translations/zh_HK.po index 2abca01297..45b43c3ce6 100644 --- a/editor/translations/zh_HK.po +++ b/editor/translations/zh_HK.po @@ -2,15 +2,14 @@ # Copyright (c) 2007-2019 Juan Linietsky, Ariel Manzur. # Copyright (c) 2014-2019 Godot Engine contributors (cf. AUTHORS.md) # This file is distributed under the same license as the Godot source code. -# # Wesley (zx-wt) <ZX_WT@ymail.com>, 2016-2017. -# +# cnieFIT <dtotncq@gmail.com>, 2019. msgid "" msgstr "" "Project-Id-Version: Godot Engine editor\n" "POT-Creation-Date: \n" -"PO-Revision-Date: 2018-12-13 14:44+0100\n" -"Last-Translator: zx-wt <ZX_WT@ymail.com>\n" +"PO-Revision-Date: 2019-04-10 00:46+0000\n" +"Last-Translator: cnieFIT <dtotncq@gmail.com>\n" "Language-Team: Chinese (Hong Kong) <https://hosted.weblate.org/projects/" "godot-engine/godot/zh_Hant_HK/>\n" "Language: zh_HK\n" @@ -18,7 +17,7 @@ msgstr "" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=1; plural=0;\n" -"X-Generator: Poedit 2.2\n" +"X-Generator: Weblate 3.6-dev\n" #: core/math/expression.cpp modules/gdscript/gdscript_functions.cpp #: modules/visual_script/visual_script_builtin_funcs.cpp @@ -447,7 +446,7 @@ msgstr "" #: editor/animation_track_editor.cpp #, fuzzy -msgid "Snap (s): " +msgid "Snap:" msgstr "選擇模式" #: editor/animation_track_editor.cpp @@ -455,6 +454,14 @@ msgstr "選擇模式" msgid "Animation step value." msgstr "新增動畫" +#: editor/animation_track_editor.cpp +msgid "Seconds" +msgstr "" + +#: editor/animation_track_editor.cpp +msgid "FPS" +msgstr "" + #: editor/animation_track_editor.cpp editor/editor_properties.cpp #: editor/plugins/polygon_2d_editor_plugin.cpp #: editor/plugins/script_text_editor.cpp @@ -3966,6 +3973,11 @@ msgid "Delete Node" msgstr "不選" #: editor/plugins/animation_blend_tree_editor_plugin.cpp +#: editor/scene_tree_dock.cpp +msgid "Delete Node(s)" +msgstr "" + +#: editor/plugins/animation_blend_tree_editor_plugin.cpp #, fuzzy msgid "Toggle Filter On/Off" msgstr "(不)顯示最愛" @@ -4962,8 +4974,33 @@ msgid "Layout" msgstr "儲存佈局" #: editor/plugins/canvas_item_editor_plugin.cpp +msgid "Translation mask for inserting keys." +msgstr "" + +#: editor/plugins/canvas_item_editor_plugin.cpp +msgid "Rotation mask for inserting keys." +msgstr "" + +#: editor/plugins/canvas_item_editor_plugin.cpp +msgid "Scale mask for inserting keys." +msgstr "" + +#: editor/plugins/canvas_item_editor_plugin.cpp +#, fuzzy +msgid "Insert keys (based on mask)." +msgstr "動晝插入關鍵幀?" + +#: editor/plugins/canvas_item_editor_plugin.cpp +msgid "" +"Auto insert keys when objects are translated, rotated on scaled (based on " +"mask).\n" +"Keys are only added to existing tracks, no new tracks will be created.\n" +"Keys must be inserted manually for the first time." +msgstr "" + +#: editor/plugins/canvas_item_editor_plugin.cpp #, fuzzy -msgid "Insert keys." +msgid "Auto Insert Key" msgstr "動晝插入關鍵幀?" #: editor/plugins/canvas_item_editor_plugin.cpp @@ -5035,6 +5072,52 @@ msgstr "" msgid "Set Handle" msgstr "" +#: editor/plugins/cpu_particles_2d_editor_plugin.cpp +#: editor/plugins/particles_2d_editor_plugin.cpp +msgid "Error loading image:" +msgstr "" + +#: editor/plugins/cpu_particles_2d_editor_plugin.cpp +#: editor/plugins/particles_2d_editor_plugin.cpp +msgid "No pixels with transparency > 128 in image..." +msgstr "" + +#: editor/plugins/cpu_particles_2d_editor_plugin.cpp +#: editor/plugins/particles_2d_editor_plugin.cpp +msgid "Load Emission Mask" +msgstr "" + +#: editor/plugins/cpu_particles_2d_editor_plugin.cpp +#: editor/plugins/particles_2d_editor_plugin.cpp +msgid "Clear Emission Mask" +msgstr "" + +#: editor/plugins/cpu_particles_2d_editor_plugin.cpp +#: editor/plugins/particles_2d_editor_plugin.cpp +#: editor/plugins/particles_editor_plugin.cpp +msgid "Particles" +msgstr "" + +#: editor/plugins/cpu_particles_2d_editor_plugin.cpp +#: editor/plugins/particles_2d_editor_plugin.cpp +msgid "Generated Point Count:" +msgstr "" + +#: editor/plugins/cpu_particles_2d_editor_plugin.cpp +#: editor/plugins/particles_2d_editor_plugin.cpp +msgid "Emission Mask" +msgstr "" + +#: editor/plugins/cpu_particles_2d_editor_plugin.cpp +#: editor/plugins/particles_2d_editor_plugin.cpp +msgid "Capture from Pixel" +msgstr "" + +#: editor/plugins/cpu_particles_2d_editor_plugin.cpp +#: editor/plugins/particles_2d_editor_plugin.cpp +msgid "Emission Colors" +msgstr "" + #: editor/plugins/cpu_particles_editor_plugin.cpp msgid "CPUParticles" msgstr "" @@ -5392,22 +5475,6 @@ msgid "Can only set point into a ParticlesMaterial process material" msgstr "" #: editor/plugins/particles_2d_editor_plugin.cpp -msgid "Error loading image:" -msgstr "" - -#: editor/plugins/particles_2d_editor_plugin.cpp -msgid "No pixels with transparency > 128 in image..." -msgstr "" - -#: editor/plugins/particles_2d_editor_plugin.cpp -msgid "Load Emission Mask" -msgstr "" - -#: editor/plugins/particles_2d_editor_plugin.cpp -msgid "Clear Emission Mask" -msgstr "" - -#: editor/plugins/particles_2d_editor_plugin.cpp #: editor/plugins/particles_editor_plugin.cpp #, fuzzy msgid "Convert to CPUParticles" @@ -5415,30 +5482,9 @@ msgstr "轉為..." #: editor/plugins/particles_2d_editor_plugin.cpp #: editor/plugins/particles_editor_plugin.cpp -msgid "Particles" -msgstr "" - -#: editor/plugins/particles_2d_editor_plugin.cpp -msgid "Generated Point Count:" -msgstr "" - -#: editor/plugins/particles_2d_editor_plugin.cpp -#: editor/plugins/particles_editor_plugin.cpp msgid "Generation Time (sec):" msgstr "" -#: editor/plugins/particles_2d_editor_plugin.cpp -msgid "Emission Mask" -msgstr "" - -#: editor/plugins/particles_2d_editor_plugin.cpp -msgid "Capture from Pixel" -msgstr "" - -#: editor/plugins/particles_2d_editor_plugin.cpp -msgid "Emission Colors" -msgstr "" - #: editor/plugins/particles_editor_plugin.cpp msgid "Faces contain no area!" msgstr "" @@ -5970,7 +6016,7 @@ msgid "Save Theme As..." msgstr "" #: editor/plugins/script_editor_plugin.cpp -msgid " Class Reference" +msgid "%s Class Reference" msgstr "" #: editor/plugins/script_editor_plugin.cpp @@ -6550,9 +6596,8 @@ msgid "Audio Listener" msgstr "" #: editor/plugins/spatial_editor_plugin.cpp -#, fuzzy msgid "Doppler Enable" -msgstr "啟用" +msgstr "啟用多普拉效應" #: editor/plugins/spatial_editor_plugin.cpp msgid "Cinematic Preview" @@ -6829,6 +6874,26 @@ msgstr "" #: editor/plugins/sprite_editor_plugin.cpp #, fuzzy +msgid "Create Mesh2D" +msgstr "新增" + +#: editor/plugins/sprite_editor_plugin.cpp +#, fuzzy +msgid "Create Polygon2D" +msgstr "縮放selection" + +#: editor/plugins/sprite_editor_plugin.cpp +#, fuzzy +msgid "Create CollisionPolygon2D" +msgstr "縮放selection" + +#: editor/plugins/sprite_editor_plugin.cpp +#, fuzzy +msgid "Create LightOccluder2D" +msgstr "新增資料夾" + +#: editor/plugins/sprite_editor_plugin.cpp +#, fuzzy msgid "Sprite is empty!" msgstr "路徑為空" @@ -6841,18 +6906,39 @@ msgid "Invalid geometry, can't replace by mesh." msgstr "" #: editor/plugins/sprite_editor_plugin.cpp +msgid "Invalid geometry, can't create polygon." +msgstr "" + +#: editor/plugins/sprite_editor_plugin.cpp +msgid "Invalid geometry, can't create collision polygon." +msgstr "" + +#: editor/plugins/sprite_editor_plugin.cpp +msgid "Invalid geometry, can't create light occluder." +msgstr "" + +#: editor/plugins/sprite_editor_plugin.cpp msgid "Sprite" msgstr "" #: editor/plugins/sprite_editor_plugin.cpp #, fuzzy -msgid "Convert to 2D Mesh" +msgid "Convert to Mesh2D" msgstr "轉為..." #: editor/plugins/sprite_editor_plugin.cpp #, fuzzy -msgid "Create 2D Mesh" -msgstr "新增" +msgid "Convert to Polygon2D" +msgstr "轉為..." + +#: editor/plugins/sprite_editor_plugin.cpp +#, fuzzy +msgid "Create CollisionPolygon2D Sibling" +msgstr "縮放selection" + +#: editor/plugins/sprite_editor_plugin.cpp +msgid "Create LightOccluder2D Sibling" +msgstr "" #: editor/plugins/sprite_editor_plugin.cpp msgid "Simplification: " @@ -7469,6 +7555,11 @@ msgid "Duplicate Nodes" msgstr "複製動畫幀" #: editor/plugins/visual_shader_editor_plugin.cpp +#, fuzzy +msgid "Delete Nodes" +msgstr "不選" + +#: editor/plugins/visual_shader_editor_plugin.cpp msgid "Visual Shader Input Type Changed" msgstr "" @@ -8676,10 +8767,6 @@ msgid "Open documentation" msgstr "開啓最近的" #: editor/scene_tree_dock.cpp -msgid "Delete Node(s)" -msgstr "" - -#: editor/scene_tree_dock.cpp msgid "Add Child Node" msgstr "" diff --git a/editor/translations/zh_TW.po b/editor/translations/zh_TW.po index 8fdb7e8db0..6f858474a2 100644 --- a/editor/translations/zh_TW.po +++ b/editor/translations/zh_TW.po @@ -18,7 +18,7 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine editor\n" "POT-Creation-Date: \n" -"PO-Revision-Date: 2019-03-30 20:04+0000\n" +"PO-Revision-Date: 2019-04-25 11:54+0000\n" "Last-Translator: cnieFIT <dtotncq@gmail.com>\n" "Language-Team: Chinese (Traditional) <https://hosted.weblate.org/projects/" "godot-engine/godot/zh_Hant/>\n" @@ -27,7 +27,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 3.6-dev\n" +"X-Generator: Weblate 3.7-dev\n" #: core/math/expression.cpp modules/gdscript/gdscript_functions.cpp #: modules/visual_script/visual_script_builtin_funcs.cpp @@ -41,9 +41,8 @@ msgid "Not enough bytes for decoding bytes, or invalid format." msgstr "輸入的解碼字節不足、或為無效格式。" #: core/math/expression.cpp -#, fuzzy msgid "Invalid input %i (not passed) in expression" -msgstr "所輸入的 %i 於表現式中無效" +msgstr "運算式中的輸入 %i 無效 (未傳遞)" #: core/math/expression.cpp msgid "self can't be used because instance is null (not passed)" @@ -96,12 +95,12 @@ msgstr "刪除所選畫格" #: editor/animation_bezier_editor.cpp msgid "Add Bezier Point" -msgstr "" +msgstr "添加貝塞爾點" #: editor/animation_bezier_editor.cpp #, fuzzy msgid "Move Bezier Points" -msgstr "移除" +msgstr "移動貝塞爾點" #: editor/animation_bezier_editor.cpp editor/animation_track_editor.cpp msgid "Anim Duplicate Keys" @@ -207,11 +206,11 @@ msgstr "更新模式 (如何設置此屬性)" #: editor/animation_track_editor.cpp msgid "Interpolation Mode" -msgstr "" +msgstr "插值模式" #: editor/animation_track_editor.cpp msgid "Loop Wrap Mode (Interpolate end with beginning on loop)" -msgstr "" +msgstr "循環包裹模式(從循環開始插入結束)" #: editor/animation_track_editor.cpp #, fuzzy @@ -242,11 +241,11 @@ msgstr "觸發器" #: editor/animation_track_editor.cpp msgid "Capture" -msgstr "" +msgstr "捕獲" #: editor/animation_track_editor.cpp msgid "Nearest" -msgstr "" +msgstr "最近的" #: editor/animation_track_editor.cpp editor/plugins/curve_editor_plugin.cpp #: editor/property_editor.cpp @@ -378,11 +377,11 @@ msgstr "添加動畫軌" #: editor/animation_track_editor.cpp msgid "Track path is invalid, so can't add a key." -msgstr "" +msgstr "軌道路徑無效, 因此無法添加鍵。" #: editor/animation_track_editor.cpp msgid "Track is not of type Spatial, can't insert key" -msgstr "" +msgstr "軌道不是空間類型, 不能插入鍵" #: editor/animation_track_editor.cpp #, fuzzy @@ -396,7 +395,7 @@ msgstr "添加動畫軌" #: editor/animation_track_editor.cpp msgid "Track path is invalid, so can't add a method key." -msgstr "" +msgstr "跟蹤路徑無效, 因此無法添加方法鍵。" #: editor/animation_track_editor.cpp #, fuzzy @@ -405,7 +404,7 @@ msgstr "動畫新增軌跡與按鍵" #: editor/animation_track_editor.cpp msgid "Method not found in object: " -msgstr "" +msgstr "在對象中找不到方法: " #: editor/animation_track_editor.cpp msgid "Anim Move Keys" @@ -413,7 +412,7 @@ msgstr "移動關鍵畫格" #: editor/animation_track_editor.cpp msgid "Clipboard is empty" -msgstr "" +msgstr "剪貼板為空" #: editor/animation_track_editor.cpp #, fuzzy @@ -422,24 +421,24 @@ msgstr "貼上參數" #: editor/animation_track_editor.cpp msgid "Anim Scale Keys" -msgstr "" +msgstr "縮尺鍵" #: editor/animation_track_editor.cpp msgid "" "This option does not work for Bezier editing, as it's only a single track." -msgstr "" +msgstr "這個選項不適用於貝塞爾編輯,因為它只是一個單軌。" #: editor/animation_track_editor.cpp msgid "Only show tracks from nodes selected in tree." -msgstr "" +msgstr "僅顯示樹中所選節點的軌跡。" #: editor/animation_track_editor.cpp msgid "Group tracks by node or display them as plain list." -msgstr "" +msgstr "按節點對軌跡分組或將其顯示為普通清單。" #: editor/animation_track_editor.cpp #, fuzzy -msgid "Snap (s): " +msgid "Snap:" msgstr "步驟 :" #: editor/animation_track_editor.cpp @@ -447,6 +446,14 @@ msgstr "步驟 :" msgid "Animation step value." msgstr "動畫空間。" +#: editor/animation_track_editor.cpp +msgid "Seconds" +msgstr "" + +#: editor/animation_track_editor.cpp +msgid "FPS" +msgstr "" + #: editor/animation_track_editor.cpp editor/editor_properties.cpp #: editor/plugins/polygon_2d_editor_plugin.cpp #: editor/plugins/script_text_editor.cpp @@ -454,7 +461,7 @@ msgstr "動畫空間。" #: editor/project_manager.cpp editor/project_settings_editor.cpp #: editor/property_editor.cpp modules/visual_script/visual_script_editor.cpp msgid "Edit" -msgstr "" +msgstr "編輯" #: editor/animation_track_editor.cpp #, fuzzy @@ -507,11 +514,11 @@ msgstr "清除動畫" #: editor/animation_track_editor.cpp msgid "Pick the node that will be animated:" -msgstr "" +msgstr "選擇要設定動畫的節點:" #: editor/animation_track_editor.cpp msgid "Use Bezier Curves" -msgstr "" +msgstr "使用貝塞爾曲線" #: editor/animation_track_editor.cpp #, fuzzy @@ -560,7 +567,7 @@ msgstr "縮放比例:" #: editor/animation_track_editor.cpp msgid "Select tracks to copy:" -msgstr "" +msgstr "選擇要複製的軌道:" #: editor/animation_track_editor.cpp editor/editor_properties.cpp #: editor/plugins/animation_player_editor_plugin.cpp @@ -568,7 +575,7 @@ msgstr "" #: editor/plugins/sprite_frames_editor_plugin.cpp editor/property_editor.cpp #: scene/gui/line_edit.cpp scene/gui/text_edit.cpp msgid "Copy" -msgstr "" +msgstr "複製" #: editor/animation_track_editor_plugins.cpp #, fuzzy @@ -577,11 +584,11 @@ msgstr "添加動畫軌" #: editor/animation_track_editor_plugins.cpp msgid "Change Audio Track Clip Start Offset" -msgstr "" +msgstr "更改音訊軌道剪輯起始偏移" #: editor/animation_track_editor_plugins.cpp msgid "Change Audio Track Clip End Offset" -msgstr "" +msgstr "更改音訊曲目剪輯結束偏移" #: editor/array_property_edit.cpp msgid "Resize Array" @@ -649,11 +656,11 @@ msgstr "重設縮放大小" #: editor/code_editor.cpp modules/mono/editor/mono_bottom_panel.cpp msgid "Warnings" -msgstr "" +msgstr "警告" #: editor/code_editor.cpp msgid "Line and column numbers." -msgstr "" +msgstr "行號和列號。" #: editor/connections_dialog.cpp msgid "Method in target Node must be specified!" @@ -761,7 +768,7 @@ msgstr "連接..." #: editor/connections_dialog.cpp msgid "Are you sure you want to remove all connections from the \"%s\" signal?" -msgstr "" +msgstr "確定要從“%s”訊號中删除所有連接嗎?" #: editor/connections_dialog.cpp editor/editor_help.cpp editor/node_dock.cpp msgid "Signals" @@ -769,7 +776,7 @@ msgstr "信號" #: editor/connections_dialog.cpp msgid "Are you sure you want to remove all connections from this signal?" -msgstr "" +msgstr "確定要删除此訊號的所有連接嗎?" #: editor/connections_dialog.cpp #, fuzzy @@ -778,7 +785,7 @@ msgstr "斷線" #: editor/connections_dialog.cpp msgid "Edit..." -msgstr "" +msgstr "編輯…" #: editor/connections_dialog.cpp #, fuzzy @@ -839,8 +846,8 @@ msgid "" "Scene '%s' is currently being edited.\n" "Changes will not take effect unless reloaded." msgstr "" -"場景 '%s' 已被變更\n" -"重新載入才能使變更生效" +"場景 '%s' 已被變更.\n" +"重新載入才能使其生效." #: editor/dependency_editor.cpp msgid "" @@ -950,7 +957,7 @@ msgstr "沒有明定擁有者的資源:" #: editor/dependency_editor.cpp editor/editor_node.cpp msgid "Orphan Resource Explorer" -msgstr "" +msgstr "孤立資料管理器" #: editor/dependency_editor.cpp msgid "Delete selected files?" @@ -1276,11 +1283,11 @@ msgstr "不正確的名字。名字不能與現有的 engine class 名衝突。" #: editor/editor_autoload_settings.cpp msgid "Invalid name. Must not collide with an existing buit-in type name." -msgstr "名稱已存在, 不能跟已經存在的內建類別重複" +msgstr "無效名稱.不能與現有的內置類型名稱沖突." #: editor/editor_autoload_settings.cpp msgid "Invalid name. Must not collide with an existing global constant name." -msgstr "名稱已存在, 不能跟已經存在的全域變數名稱重複" +msgstr "無效名稱.不能跟已經存在的全局常量名稱重複." #: editor/editor_autoload_settings.cpp #, fuzzy @@ -1316,15 +1323,15 @@ msgstr "重新排列 Autoload" #: editor/editor_autoload_settings.cpp msgid "Invalid Path." -msgstr "無效的路徑" +msgstr "無效的路徑." #: editor/editor_autoload_settings.cpp msgid "File does not exist." -msgstr "檔案不存在" +msgstr "檔案不存在." #: editor/editor_autoload_settings.cpp msgid "Not in resource path." -msgstr "在資源路徑中找不到" +msgstr "不在資源路徑中。" #: editor/editor_autoload_settings.cpp #, fuzzy @@ -1394,7 +1401,7 @@ msgstr "名稱:" #: editor/editor_dir_dialog.cpp editor/editor_file_dialog.cpp #: editor/filesystem_dock.cpp scene/gui/file_dialog.cpp msgid "Could not create folder." -msgstr "無法新增資料夾" +msgstr "無法新增資料夾." #: editor/editor_dir_dialog.cpp msgid "Choose" @@ -1410,7 +1417,7 @@ msgstr "" #: editor/editor_export.cpp msgid "Packing" -msgstr "" +msgstr "包裝中" #: editor/editor_export.cpp msgid "" @@ -1436,17 +1443,17 @@ msgstr "" #: platform/iphone/export/export.cpp platform/javascript/export/export.cpp #: platform/osx/export/export.cpp platform/uwp/export/export.cpp msgid "Custom debug template not found." -msgstr "" +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 msgid "Custom release template not found." -msgstr "" +msgstr "找不到自定義發佈範本。" #: editor/editor_export.cpp platform/javascript/export/export.cpp msgid "Template file not found:" -msgstr "" +msgstr "找不到範本檔案:" #: editor/editor_file_dialog.cpp scene/gui/file_dialog.cpp msgid "Select Current Folder" @@ -1546,15 +1553,15 @@ msgstr "切換模式" #: editor/editor_file_dialog.cpp msgid "Focus Path" -msgstr "" +msgstr "聚焦路徑" #: editor/editor_file_dialog.cpp msgid "Move Favorite Up" -msgstr "" +msgstr "向上移動收藏" #: editor/editor_file_dialog.cpp msgid "Move Favorite Down" -msgstr "" +msgstr "向下移動收藏" #: editor/editor_file_dialog.cpp #, fuzzy @@ -1578,11 +1585,11 @@ msgstr "無法新增資料夾" #: editor/editor_file_dialog.cpp editor/filesystem_dock.cpp msgid "View items as a grid of thumbnails." -msgstr "" +msgstr "以縮略圖網格形式查看項目。" #: editor/editor_file_dialog.cpp editor/filesystem_dock.cpp msgid "View items as a list." -msgstr "" +msgstr "以清單形式查看項目。" #: editor/editor_file_dialog.cpp scene/gui/file_dialog.cpp msgid "Directories & Files:" @@ -1604,7 +1611,7 @@ msgstr "必須使用有效的副檔名。" #: editor/editor_file_system.cpp msgid "ScanSources" -msgstr "" +msgstr "掃描源" #: editor/editor_file_system.cpp msgid "(Re)Importing Assets" @@ -1625,19 +1632,19 @@ msgstr "繼承:" #: editor/editor_help.cpp msgid "Inherited by:" -msgstr "" +msgstr "繼承:" #: editor/editor_help.cpp msgid "Brief Description:" -msgstr "" +msgstr "簡要說明:" #: editor/editor_help.cpp msgid "Properties" -msgstr "" +msgstr "性質" #: editor/editor_help.cpp msgid "Properties:" -msgstr "" +msgstr "效能:" #: editor/editor_help.cpp msgid "Methods" @@ -1664,15 +1671,15 @@ msgstr "訊號:" #: editor/editor_help.cpp msgid "Enumerations" -msgstr "" +msgstr "枚舉" #: editor/editor_help.cpp msgid "Enumerations:" -msgstr "" +msgstr "枚舉:" #: editor/editor_help.cpp msgid "enum " -msgstr "" +msgstr "枚舉 " #: editor/editor_help.cpp msgid "Constants" @@ -1753,7 +1760,7 @@ msgstr "取代全部" #: editor/editor_help_search.cpp msgid "Classes Only" -msgstr "" +msgstr "僅限類" #: editor/editor_help_search.cpp #, fuzzy @@ -1772,15 +1779,15 @@ msgstr "定數" #: editor/editor_help_search.cpp msgid "Properties Only" -msgstr "" +msgstr "僅屬性" #: editor/editor_help_search.cpp msgid "Theme Properties Only" -msgstr "" +msgstr "僅限主題屬性" #: editor/editor_help_search.cpp msgid "Member Type" -msgstr "" +msgstr "成員類型" #: editor/editor_help_search.cpp #, fuzzy @@ -1789,11 +1796,11 @@ msgstr "Class:" #: editor/editor_inspector.cpp editor/project_settings_editor.cpp msgid "Property:" -msgstr "" +msgstr "屬性:" #: editor/editor_inspector.cpp msgid "Set" -msgstr "" +msgstr "集合" #: editor/editor_inspector.cpp msgid "Set Multiple:" @@ -1824,12 +1831,12 @@ msgstr "專案輸出失敗,錯誤代碼是 %d。" #: editor/editor_node.cpp msgid "Imported resources can't be saved." -msgstr "" +msgstr "無法保存導入的資源。" #: editor/editor_node.cpp editor/plugins/script_editor_plugin.cpp #: scene/gui/dialogs.cpp msgid "OK" -msgstr "" +msgstr "確定" #: editor/editor_node.cpp editor/plugins/animation_player_editor_plugin.cpp msgid "Error saving resource!" @@ -1839,7 +1846,7 @@ msgstr "儲存資源錯誤!" msgid "" "This resource can't be saved because it does not belong to the edited scene. " "Make it unique first." -msgstr "" +msgstr "無法保存此資源,因為它不屬於已編輯的場景。先讓它唯一。" #: editor/editor_node.cpp editor/plugins/animation_player_editor_plugin.cpp msgid "Save Resource As..." @@ -1860,7 +1867,7 @@ msgstr "儲存中發生了錯誤。" #: editor/editor_node.cpp editor/plugins/script_editor_plugin.cpp msgid "Can't open '%s'. The file could have been moved or deleted." -msgstr "" +msgstr "無法打開“%s”。檔案可能已被移動或删除。" #: editor/editor_node.cpp msgid "Error while parsing '%s'." @@ -1910,39 +1917,39 @@ msgstr "" #: editor/editor_node.cpp editor/scene_tree_dock.cpp msgid "Can't overwrite scene that is still open!" -msgstr "" +msgstr "無法覆蓋仍處於打開狀態的場景!" #: editor/editor_node.cpp msgid "Can't load MeshLibrary for merging!" -msgstr "" +msgstr "無法加載要合併的網格庫!" #: editor/editor_node.cpp msgid "Error saving MeshLibrary!" -msgstr "" +msgstr "保存MeshLibrary時出錯!" #: editor/editor_node.cpp msgid "Can't load TileSet for merging!" -msgstr "" +msgstr "無法加載Tileset進行合併!" #: editor/editor_node.cpp msgid "Error saving TileSet!" -msgstr "" +msgstr "保存tileset時出錯!" #: editor/editor_node.cpp msgid "Error trying to save layout!" -msgstr "" +msgstr "嘗試保存佈局時出錯!" #: editor/editor_node.cpp msgid "Default editor layout overridden." -msgstr "" +msgstr "覆蓋默認編輯器佈局。" #: editor/editor_node.cpp msgid "Layout name not found!" -msgstr "" +msgstr "找不到佈局名稱!" #: editor/editor_node.cpp msgid "Restored default layout to base settings." -msgstr "" +msgstr "已將默認佈局還原為基本設定。" #: editor/editor_node.cpp msgid "" @@ -1950,6 +1957,8 @@ msgid "" "Please read the documentation relevant to importing scenes to better " "understand this workflow." msgstr "" +"此資源屬於已導入的場景, 因此不可編輯。\n" +"請閱讀與導入場景相關的文檔, 以便更好地瞭解此工作流。" #: editor/editor_node.cpp msgid "" @@ -1980,7 +1989,7 @@ msgstr "" #: editor/editor_node.cpp msgid "There is no defined scene to run." -msgstr "" +msgstr "沒有要運行的已定義場景。" #: editor/editor_node.cpp msgid "" @@ -2009,7 +2018,7 @@ msgstr "在運行場景前,請先存檔。" #: editor/editor_node.cpp msgid "Could not start subprocess!" -msgstr "無法啟動子程序" +msgstr "無法啟動子進程!" #: editor/editor_node.cpp msgid "Open Scene" @@ -2017,15 +2026,15 @@ msgstr "開啟場景" #: editor/editor_node.cpp msgid "Open Base Scene" -msgstr "" +msgstr "打開基本場景" #: editor/editor_node.cpp msgid "Quick Open Scene..." -msgstr "快速開啟場景" +msgstr "快速開啟場景..." #: editor/editor_node.cpp msgid "Quick Open Script..." -msgstr "" +msgstr "快速打開腳本…" #: editor/editor_node.cpp #, fuzzy @@ -2034,15 +2043,15 @@ msgstr "另存新檔" #: editor/editor_node.cpp msgid "Save changes to '%s' before closing?" -msgstr "" +msgstr "關閉前是否保存對“%s”的更改?" #: editor/editor_node.cpp msgid "Saved %s modified resource(s)." -msgstr "" +msgstr "已保存%s個已修改的資源。" #: editor/editor_node.cpp msgid "A root node is required to save the scene." -msgstr "" +msgstr "保存場景需要根節點。" #: editor/editor_node.cpp msgid "Save Scene As..." @@ -2066,7 +2075,7 @@ msgstr "在設置場景前,無法完成該指定操作。" #: editor/editor_node.cpp msgid "Export Mesh Library" -msgstr "" +msgstr "導出網格庫" #: editor/editor_node.cpp msgid "This operation can't be done without a root node." @@ -2074,7 +2083,7 @@ msgstr "在設置根節點(root node)前,無法完成該指定操作。" #: editor/editor_node.cpp msgid "Export Tile Set" -msgstr "" +msgstr "導出磁貼集" #: editor/editor_node.cpp msgid "This operation can't be done without a selected node." @@ -2086,7 +2095,7 @@ msgstr "目前的場景尚未存檔,仍要開啟嗎?" #: editor/editor_node.cpp msgid "Can't reload a scene that was never saved." -msgstr "無法重新載入未存檔的場景" +msgstr "無法重新載入未存檔的場景." #: editor/editor_node.cpp msgid "Revert" @@ -2518,7 +2527,7 @@ msgstr "暫停場景" #: editor/editor_node.cpp msgid "Stop the scene." -msgstr "停止此場景" +msgstr "停止此場景." #: editor/editor_node.cpp editor/editor_profiler.cpp msgid "Stop" @@ -2679,32 +2688,32 @@ msgstr "更新" #: editor/editor_plugin_settings.cpp editor/plugin_config_dialog.cpp #: editor/plugins/asset_library_editor_plugin.cpp msgid "Version:" -msgstr "" +msgstr "版本:" #: editor/editor_plugin_settings.cpp editor/plugin_config_dialog.cpp msgid "Author:" -msgstr "" +msgstr "作者:" #: editor/editor_plugin_settings.cpp msgid "Status:" -msgstr "" +msgstr "狀態:" #: editor/editor_plugin_settings.cpp msgid "Edit:" -msgstr "" +msgstr "編輯:" #: editor/editor_profiler.cpp editor/plugins/animation_state_machine_editor.cpp #: editor/rename_dialog.cpp msgid "Start" -msgstr "" +msgstr "開始" #: editor/editor_profiler.cpp msgid "Measure:" -msgstr "" +msgstr "措施:" #: editor/editor_profiler.cpp msgid "Frame Time (sec)" -msgstr "" +msgstr "幀時間 (秒)" #: editor/editor_profiler.cpp msgid "Average Time (sec)" @@ -2712,7 +2721,7 @@ msgstr "平均時間 (秒)" #: editor/editor_profiler.cpp msgid "Frame %" -msgstr "" +msgstr "幀%" #: editor/editor_profiler.cpp msgid "Physics Frame %" @@ -2724,7 +2733,7 @@ msgstr "時間:" #: editor/editor_profiler.cpp msgid "Inclusive" -msgstr "" +msgstr "包容" #: editor/editor_profiler.cpp msgid "Self" @@ -2752,7 +2761,7 @@ msgstr "層" #: editor/editor_properties.cpp msgid "Bit %d, value %d" -msgstr "" +msgstr "位 %d, 值 %d" #: editor/editor_properties.cpp msgid "[Empty]" @@ -2771,7 +2780,7 @@ msgstr "無效的路徑" msgid "" "The selected resource (%s) does not match any type expected for this " "property (%s)." -msgstr "" +msgstr "所選資源(%s)與此内容(%s)所需的任何類型都不匹配。" #: editor/editor_properties.cpp msgid "" @@ -2832,7 +2841,7 @@ msgstr "相依性編輯器" #: editor/editor_properties.cpp editor/property_editor.cpp msgid "Selected node is not a Viewport!" -msgstr "" +msgstr "選定的節點不是視口!" #: editor/editor_properties_array_dict.cpp msgid "Size: " @@ -2872,7 +2881,7 @@ msgstr "" #: editor/editor_run_script.cpp msgid "Write your logic in the _run() method." -msgstr "" +msgstr "將您的邏輯寫在_run()方法中。" #: editor/editor_run_script.cpp msgid "There is an edited scene already." @@ -3121,7 +3130,7 @@ msgstr "" #: editor/filesystem_dock.cpp msgid "Cannot move/rename resources root." -msgstr "" +msgstr "無法移動/重命名資源根目錄。" #: editor/filesystem_dock.cpp msgid "Cannot move a folder into itself." @@ -3197,7 +3206,7 @@ msgstr "移除" #: editor/filesystem_dock.cpp msgid "Edit Dependencies..." -msgstr "" +msgstr "編輯依賴項…" #: editor/filesystem_dock.cpp msgid "View Owners..." @@ -3435,11 +3444,11 @@ msgstr "正在導入場景…" #: editor/import/resource_importer_scene.cpp msgid "Generating Lightmaps" -msgstr "" +msgstr "生成光照圖" #: editor/import/resource_importer_scene.cpp msgid "Generating for Mesh: " -msgstr "" +msgstr "為網格生成: " #: editor/import/resource_importer_scene.cpp msgid "Running Custom Script..." @@ -3447,11 +3456,11 @@ msgstr "正在運行自定義腳本…" #: editor/import/resource_importer_scene.cpp msgid "Couldn't load post-import script:" -msgstr "" +msgstr "無法加載導入後腳本:" #: editor/import/resource_importer_scene.cpp msgid "Invalid/broken script for post-import (check console):" -msgstr "" +msgstr "導入後腳本無效/已損壞(檢查控制台):" #: editor/import/resource_importer_scene.cpp msgid "Error running post-import script:" @@ -3719,7 +3728,7 @@ msgstr "移除" #: editor/plugins/animation_blend_space_1d_editor.cpp msgid "Move BlendSpace1D Node Point" -msgstr "" +msgstr "移動 BlendSpace1D 節點點" #: editor/plugins/animation_blend_space_1d_editor.cpp #: editor/plugins/animation_blend_space_2d_editor.cpp @@ -3729,6 +3738,8 @@ msgid "" "AnimationTree is inactive.\n" "Activate to enable playback, check node warnings if activation fails." msgstr "" +"動畫樹處於非活動狀態。\n" +"激活以啟用播放, 如果啟動失敗, 請檢查節點警告。" #: editor/plugins/animation_blend_space_1d_editor.cpp #: editor/plugins/animation_blend_space_2d_editor.cpp @@ -3869,6 +3880,11 @@ msgid "Delete Node" msgstr "刪除" #: editor/plugins/animation_blend_tree_editor_plugin.cpp +#: editor/scene_tree_dock.cpp +msgid "Delete Node(s)" +msgstr "" + +#: editor/plugins/animation_blend_tree_editor_plugin.cpp #, fuzzy msgid "Toggle Filter On/Off" msgstr "切換最愛" @@ -3902,7 +3918,7 @@ msgstr "節點名稱:" #: editor/plugins/animation_blend_tree_editor_plugin.cpp #: editor/plugins/visual_shader_editor_plugin.cpp msgid "Add Node..." -msgstr "" +msgstr "添加節點..。" #: editor/plugins/animation_blend_tree_editor_plugin.cpp #: editor/plugins/root_motion_editor_plugin.cpp @@ -3912,32 +3928,32 @@ msgstr "過濾檔案..." #: editor/plugins/animation_blend_tree_editor_plugin.cpp msgid "Enable filtering" -msgstr "" +msgstr "啟用篩選" #: editor/plugins/animation_player_editor_plugin.cpp msgid "Toggle Autoplay" -msgstr "" +msgstr "切換自動播放" #: editor/plugins/animation_player_editor_plugin.cpp msgid "New Animation Name:" -msgstr "" +msgstr "新動畫名稱:" #: editor/plugins/animation_player_editor_plugin.cpp msgid "New Anim" -msgstr "" +msgstr "新增動畫" #: editor/plugins/animation_player_editor_plugin.cpp msgid "Change Animation Name:" -msgstr "" +msgstr "更改動畫名稱:" #: editor/plugins/animation_player_editor_plugin.cpp msgid "Delete Animation?" -msgstr "" +msgstr "刪除動畫?" #: editor/plugins/animation_player_editor_plugin.cpp #: editor/plugins/sprite_frames_editor_plugin.cpp msgid "Remove Animation" -msgstr "" +msgstr "移除動畫" #: editor/plugins/animation_player_editor_plugin.cpp #, fuzzy @@ -3952,23 +3968,23 @@ msgstr "Autoload「%s」已經存在!" #: editor/plugins/animation_player_editor_plugin.cpp #: editor/plugins/sprite_frames_editor_plugin.cpp msgid "Rename Animation" -msgstr "" +msgstr "重命名動畫" #: editor/plugins/animation_player_editor_plugin.cpp msgid "Blend Next Changed" -msgstr "" +msgstr "混合下一個更改" #: editor/plugins/animation_player_editor_plugin.cpp msgid "Change Blend Time" -msgstr "" +msgstr "更改混合時間" #: editor/plugins/animation_player_editor_plugin.cpp msgid "Load Animation" -msgstr "" +msgstr "載入動畫" #: editor/plugins/animation_player_editor_plugin.cpp msgid "Duplicate Animation" -msgstr "" +msgstr "複製動畫" #: editor/plugins/animation_player_editor_plugin.cpp #, fuzzy @@ -3982,56 +3998,56 @@ msgstr "在資源路徑中找不到" #: editor/plugins/animation_player_editor_plugin.cpp msgid "Pasted Animation" -msgstr "" +msgstr "粘貼的動畫" #: editor/plugins/animation_player_editor_plugin.cpp msgid "Paste Animation" -msgstr "" +msgstr "粘貼動畫" #: editor/plugins/animation_player_editor_plugin.cpp msgid "No animation to edit!" -msgstr "" +msgstr "沒有要編輯的動畫!" #: editor/plugins/animation_player_editor_plugin.cpp msgid "Play selected animation backwards from current pos. (A)" -msgstr "" +msgstr "從當前位置向後播放所選動畫。(A)" #: editor/plugins/animation_player_editor_plugin.cpp msgid "Play selected animation backwards from end. (Shift+A)" -msgstr "" +msgstr "從結尾向後播放選定的動畫。(Shift+a)" #: editor/plugins/animation_player_editor_plugin.cpp msgid "Stop animation playback. (S)" -msgstr "" +msgstr "停止動畫回放。(S)" #: editor/plugins/animation_player_editor_plugin.cpp msgid "Play selected animation from start. (Shift+D)" -msgstr "" +msgstr "從頭開始播放選取中的動畫。(Shift+D)" #: editor/plugins/animation_player_editor_plugin.cpp msgid "Play selected animation from current pos. (D)" -msgstr "" +msgstr "從當前位置播放選定的動畫。(D)" #: editor/plugins/animation_player_editor_plugin.cpp msgid "Animation position (in seconds)." -msgstr "" +msgstr "動畫位置(秒)。" #: editor/plugins/animation_player_editor_plugin.cpp msgid "Scale animation playback globally for the node." -msgstr "" +msgstr "在全域範圍內縮放節點的動畫播放。" #: editor/plugins/animation_player_editor_plugin.cpp msgid "Animation Tools" -msgstr "" +msgstr "動畫工具" #: editor/plugins/animation_player_editor_plugin.cpp #: editor/plugins/canvas_item_editor_plugin.cpp msgid "Animation" -msgstr "" +msgstr "動畫" #: editor/plugins/animation_player_editor_plugin.cpp msgid "New" -msgstr "" +msgstr "新增" #: editor/plugins/animation_player_editor_plugin.cpp #, fuzzy @@ -4045,19 +4061,19 @@ msgstr "開啟資料夾" #: editor/plugins/animation_player_editor_plugin.cpp msgid "Display list of animations in player." -msgstr "" +msgstr "在播放機中顯示動畫清單。" #: editor/plugins/animation_player_editor_plugin.cpp msgid "Autoplay on Load" -msgstr "" +msgstr "載入后自動播放" #: editor/plugins/animation_player_editor_plugin.cpp msgid "Onion Skinning" -msgstr "" +msgstr "洋葱皮" #: editor/plugins/animation_player_editor_plugin.cpp msgid "Enable Onion Skinning" -msgstr "" +msgstr "啟用洋葱皮" #: editor/plugins/animation_player_editor_plugin.cpp #, fuzzy @@ -4066,39 +4082,39 @@ msgstr "描述:" #: editor/plugins/animation_player_editor_plugin.cpp msgid "Past" -msgstr "" +msgstr "跳過" #: editor/plugins/animation_player_editor_plugin.cpp msgid "Future" -msgstr "" +msgstr "未來" #: editor/plugins/animation_player_editor_plugin.cpp msgid "Depth" -msgstr "" +msgstr "深度" #: editor/plugins/animation_player_editor_plugin.cpp msgid "1 step" -msgstr "" +msgstr "1步" #: editor/plugins/animation_player_editor_plugin.cpp msgid "2 steps" -msgstr "" +msgstr "2步" #: editor/plugins/animation_player_editor_plugin.cpp msgid "3 steps" -msgstr "" +msgstr "3步" #: editor/plugins/animation_player_editor_plugin.cpp msgid "Differences Only" -msgstr "" +msgstr "僅差異" #: editor/plugins/animation_player_editor_plugin.cpp msgid "Force White Modulate" -msgstr "" +msgstr "強制白色調節" #: editor/plugins/animation_player_editor_plugin.cpp msgid "Include Gizmos (3D)" -msgstr "" +msgstr "包括3D控制器" #: editor/plugins/animation_player_editor_plugin.cpp msgid "Pin AnimationPlayer" @@ -4106,11 +4122,11 @@ msgstr "" #: editor/plugins/animation_player_editor_plugin.cpp msgid "Create New Animation" -msgstr "" +msgstr "創建新動畫" #: editor/plugins/animation_player_editor_plugin.cpp msgid "Animation Name:" -msgstr "" +msgstr "動畫名稱:" #: editor/plugins/animation_player_editor_plugin.cpp #: editor/plugins/resource_preloader_editor_plugin.cpp @@ -4118,54 +4134,54 @@ msgstr "" #: editor/plugins/sprite_frames_editor_plugin.cpp editor/property_editor.cpp #: editor/script_create_dialog.cpp msgid "Error!" -msgstr "" +msgstr "錯誤!" #: editor/plugins/animation_player_editor_plugin.cpp msgid "Blend Times:" -msgstr "" +msgstr "混合時間:" #: editor/plugins/animation_player_editor_plugin.cpp msgid "Next (Auto Queue):" -msgstr "" +msgstr "下一個(自動隊列):" #: editor/plugins/animation_player_editor_plugin.cpp msgid "Cross-Animation Blend Times" -msgstr "" +msgstr "跨動畫混合時間" #: editor/plugins/animation_state_machine_editor.cpp #, fuzzy msgid "Move Node" -msgstr "移動 Autoload" +msgstr "移動節點" #: editor/plugins/animation_state_machine_editor.cpp #, fuzzy msgid "Add Transition" -msgstr "轉場" +msgstr "添加轉換" #: editor/plugins/animation_state_machine_editor.cpp #: modules/visual_script/visual_script_editor.cpp msgid "Add Node" -msgstr "" +msgstr "添加節點" #: editor/plugins/animation_state_machine_editor.cpp msgid "End" -msgstr "" +msgstr "結束" #: editor/plugins/animation_state_machine_editor.cpp msgid "Immediate" -msgstr "" +msgstr "立即" #: editor/plugins/animation_state_machine_editor.cpp msgid "Sync" -msgstr "" +msgstr "同步" #: editor/plugins/animation_state_machine_editor.cpp msgid "At End" -msgstr "" +msgstr "在末尾" #: editor/plugins/animation_state_machine_editor.cpp msgid "Travel" -msgstr "" +msgstr "行程" #: editor/plugins/animation_state_machine_editor.cpp msgid "Start and end nodes are needed for a sub-transition." @@ -4179,12 +4195,12 @@ msgstr "在資源路徑中找不到" #: editor/plugins/animation_state_machine_editor.cpp #, fuzzy msgid "Node Removed" -msgstr "已刪除:" +msgstr "已刪除節點" #: editor/plugins/animation_state_machine_editor.cpp #, fuzzy msgid "Transition Removed" -msgstr "轉場" +msgstr "已刪除轉換" #: editor/plugins/animation_state_machine_editor.cpp msgid "Set Start Node (Autoplay)" @@ -4221,68 +4237,67 @@ msgid "Set the end animation. This is useful for sub-transitions." msgstr "" #: editor/plugins/animation_state_machine_editor.cpp -#, fuzzy msgid "Transition: " -msgstr "轉場" +msgstr "轉場: " #: editor/plugins/animation_tree_editor_plugin.cpp #: editor/plugins/animation_tree_player_editor_plugin.cpp msgid "AnimationTree" -msgstr "" +msgstr "動畫樹" #: editor/plugins/animation_tree_player_editor_plugin.cpp msgid "New name:" -msgstr "" +msgstr "新名稱:" #: editor/plugins/animation_tree_player_editor_plugin.cpp #: editor/plugins/multimesh_editor_plugin.cpp msgid "Scale:" -msgstr "" +msgstr "縮放:" #: editor/plugins/animation_tree_player_editor_plugin.cpp msgid "Fade In (s):" -msgstr "" +msgstr "淡入(秒):" #: editor/plugins/animation_tree_player_editor_plugin.cpp msgid "Fade Out (s):" -msgstr "" +msgstr "淡出(秒):" #: editor/plugins/animation_tree_player_editor_plugin.cpp msgid "Blend" -msgstr "" +msgstr "混合" #: editor/plugins/animation_tree_player_editor_plugin.cpp msgid "Mix" -msgstr "" +msgstr "混合" #: editor/plugins/animation_tree_player_editor_plugin.cpp msgid "Auto Restart:" -msgstr "" +msgstr "自動重新開始:" #: editor/plugins/animation_tree_player_editor_plugin.cpp msgid "Restart (s):" -msgstr "" +msgstr "重新開始(秒):" #: editor/plugins/animation_tree_player_editor_plugin.cpp msgid "Random Restart (s):" -msgstr "" +msgstr "隨機重新開始(秒):" #: editor/plugins/animation_tree_player_editor_plugin.cpp msgid "Start!" -msgstr "" +msgstr "開始!" #: editor/plugins/animation_tree_player_editor_plugin.cpp #: editor/plugins/multimesh_editor_plugin.cpp msgid "Amount:" -msgstr "" +msgstr "數量:" #: editor/plugins/animation_tree_player_editor_plugin.cpp msgid "Blend 0:" -msgstr "" +msgstr "混合 0:" #: editor/plugins/animation_tree_player_editor_plugin.cpp msgid "Blend 1:" -msgstr "" +msgstr "混合 1:" #: editor/plugins/animation_tree_player_editor_plugin.cpp msgid "X-Fade Time (s):" @@ -4290,112 +4305,112 @@ msgstr "" #: editor/plugins/animation_tree_player_editor_plugin.cpp msgid "Current:" -msgstr "" +msgstr "當前:" #: editor/plugins/animation_tree_player_editor_plugin.cpp msgid "Add Input" -msgstr "" +msgstr "添加輸入" #: editor/plugins/animation_tree_player_editor_plugin.cpp msgid "Clear Auto-Advance" -msgstr "" +msgstr "清除Auto-Advance" #: editor/plugins/animation_tree_player_editor_plugin.cpp msgid "Set Auto-Advance" -msgstr "" +msgstr "設定自動前進" #: editor/plugins/animation_tree_player_editor_plugin.cpp msgid "Delete Input" -msgstr "" +msgstr "刪除輸入事件" #: editor/plugins/animation_tree_player_editor_plugin.cpp msgid "Animation tree is valid." -msgstr "" +msgstr "動畫樹有效。" #: editor/plugins/animation_tree_player_editor_plugin.cpp msgid "Animation tree is invalid." -msgstr "" +msgstr "動畫樹無效。" #: editor/plugins/animation_tree_player_editor_plugin.cpp msgid "Animation Node" -msgstr "" +msgstr "動畫節點" #: editor/plugins/animation_tree_player_editor_plugin.cpp msgid "OneShot Node" -msgstr "" +msgstr "單項節點" #: editor/plugins/animation_tree_player_editor_plugin.cpp msgid "Mix Node" -msgstr "" +msgstr "混合節點" #: editor/plugins/animation_tree_player_editor_plugin.cpp msgid "Blend2 Node" -msgstr "" +msgstr "混合2 節點" #: editor/plugins/animation_tree_player_editor_plugin.cpp msgid "Blend3 Node" -msgstr "" +msgstr "混合3 節點" #: editor/plugins/animation_tree_player_editor_plugin.cpp msgid "Blend4 Node" -msgstr "" +msgstr "混合4 節點" #: editor/plugins/animation_tree_player_editor_plugin.cpp msgid "TimeScale Node" -msgstr "" +msgstr "時間尺度節點" #: editor/plugins/animation_tree_player_editor_plugin.cpp msgid "TimeSeek Node" -msgstr "" +msgstr "時間搜索節點" #: editor/plugins/animation_tree_player_editor_plugin.cpp msgid "Transition Node" -msgstr "" +msgstr "轉場節點" #: editor/plugins/animation_tree_player_editor_plugin.cpp msgid "Import Animations..." -msgstr "" +msgstr "導入動畫…" #: editor/plugins/animation_tree_player_editor_plugin.cpp msgid "Edit Node Filters" -msgstr "" +msgstr "編輯節點篩選" #: editor/plugins/animation_tree_player_editor_plugin.cpp msgid "Filters..." -msgstr "" +msgstr "篩選…" #: editor/plugins/asset_library_editor_plugin.cpp msgid "Contents:" -msgstr "" +msgstr "內容:" #: editor/plugins/asset_library_editor_plugin.cpp #, fuzzy msgid "View Files" -msgstr "過濾檔案..." +msgstr "查看檔案" #: editor/plugins/asset_library_editor_plugin.cpp msgid "Can't resolve hostname:" -msgstr "" +msgstr "無法解析主機名稱:" #: editor/plugins/asset_library_editor_plugin.cpp msgid "Connection error, please try again." -msgstr "" +msgstr "連接錯誤, 請重試。" #: editor/plugins/asset_library_editor_plugin.cpp msgid "Can't connect to host:" -msgstr "" +msgstr "無法連接到主機:" #: editor/plugins/asset_library_editor_plugin.cpp msgid "No response from host:" -msgstr "" +msgstr "主機沒有響應:" #: editor/plugins/asset_library_editor_plugin.cpp msgid "Request failed, return code:" -msgstr "" +msgstr "請求失敗, 返回代碼:" #: editor/plugins/asset_library_editor_plugin.cpp msgid "Request failed, too many redirects" -msgstr "" +msgstr "請求失敗, 重定向次數太多" #: editor/plugins/asset_library_editor_plugin.cpp msgid "Bad download hash, assuming file has been tampered with." @@ -4403,58 +4418,56 @@ msgstr "" #: editor/plugins/asset_library_editor_plugin.cpp msgid "Expected:" -msgstr "" +msgstr "預期:" #: editor/plugins/asset_library_editor_plugin.cpp msgid "Got:" -msgstr "" +msgstr "獲得:" #: editor/plugins/asset_library_editor_plugin.cpp msgid "Failed sha256 hash check" -msgstr "" +msgstr "sha256哈希值檢查失敗" #: editor/plugins/asset_library_editor_plugin.cpp msgid "Asset Download Error:" -msgstr "" +msgstr "資源下載錯誤:" #: editor/plugins/asset_library_editor_plugin.cpp -#, fuzzy msgid "Downloading (%s / %s)..." -msgstr "載入時發生錯誤:" +msgstr "正在下載 (%s / %s)…" #: editor/plugins/asset_library_editor_plugin.cpp #, fuzzy msgid "Downloading..." -msgstr "載入時發生錯誤:" +msgstr "正在下載……" #: editor/plugins/asset_library_editor_plugin.cpp msgid "Resolving..." -msgstr "" +msgstr "解析中…" #: editor/plugins/asset_library_editor_plugin.cpp -#, fuzzy msgid "Error making request" -msgstr "載入場景時發生錯誤" +msgstr "請求時發生錯誤" #: editor/plugins/asset_library_editor_plugin.cpp msgid "Idle" -msgstr "" +msgstr "空閒" #: editor/plugins/asset_library_editor_plugin.cpp msgid "Retry" -msgstr "" +msgstr "重試" #: editor/plugins/asset_library_editor_plugin.cpp msgid "Download Error" -msgstr "" +msgstr "下載錯誤" #: editor/plugins/asset_library_editor_plugin.cpp msgid "Download for this asset is already in progress!" -msgstr "" +msgstr "此資源文檔正在下載中!" #: editor/plugins/asset_library_editor_plugin.cpp msgid "First" -msgstr "" +msgstr "第一項" #: editor/plugins/asset_library_editor_plugin.cpp #, fuzzy @@ -4467,7 +4480,7 @@ msgstr "下一個" #: editor/plugins/asset_library_editor_plugin.cpp msgid "Last" -msgstr "" +msgstr "最後" #: editor/plugins/asset_library_editor_plugin.cpp #: modules/gdnative/gdnative_library_editor_plugin.cpp @@ -4477,7 +4490,7 @@ msgstr "全部" #: editor/plugins/asset_library_editor_plugin.cpp #: editor/project_settings_editor.cpp msgid "Plugins" -msgstr "" +msgstr "挿件" #: editor/plugins/asset_library_editor_plugin.cpp editor/project_manager.cpp msgid "Sort:" @@ -4494,11 +4507,11 @@ msgstr "類別:" #: editor/plugins/asset_library_editor_plugin.cpp msgid "Site:" -msgstr "" +msgstr "地址:" #: editor/plugins/asset_library_editor_plugin.cpp msgid "Support..." -msgstr "" +msgstr "支持…" #: editor/plugins/asset_library_editor_plugin.cpp msgid "Official" @@ -4506,11 +4519,11 @@ msgstr "官方" #: editor/plugins/asset_library_editor_plugin.cpp msgid "Testing" -msgstr "" +msgstr "測試" #: editor/plugins/asset_library_editor_plugin.cpp msgid "Assets ZIP File" -msgstr "" +msgstr "ZIP資源包" #: editor/plugins/baked_lightmap_editor_plugin.cpp msgid "" @@ -4520,98 +4533,97 @@ msgid "" msgstr "" #: editor/plugins/baked_lightmap_editor_plugin.cpp +#, fuzzy msgid "" "No meshes to bake. Make sure they contain an UV2 channel and that the 'Bake " "Light' flag is on." -msgstr "" +msgstr "沒有可供渲染的Meshes,請確保Mesh包含UV2通道並且勾選'Bake Light'選項" #: editor/plugins/baked_lightmap_editor_plugin.cpp msgid "Failed creating lightmap images, make sure path is writable." -msgstr "" +msgstr "創建光圖圖像失敗, 請確保路徑是可寫的。" #: editor/plugins/baked_lightmap_editor_plugin.cpp -#, fuzzy msgid "Bake Lightmaps" -msgstr "變更光源半徑" +msgstr "渲染光圖" #: editor/plugins/camera_editor_plugin.cpp #: editor/plugins/spatial_editor_plugin.cpp editor/rename_dialog.cpp msgid "Preview" -msgstr "" +msgstr "預覽" #: editor/plugins/canvas_item_editor_plugin.cpp msgid "Configure Snap" -msgstr "" +msgstr "配置吸附" #: editor/plugins/canvas_item_editor_plugin.cpp msgid "Grid Offset:" -msgstr "" +msgstr "網格偏移量:" #: editor/plugins/canvas_item_editor_plugin.cpp msgid "Grid Step:" -msgstr "" +msgstr "網格大小:" #: editor/plugins/canvas_item_editor_plugin.cpp msgid "Rotation Offset:" -msgstr "" +msgstr "旋轉偏移量:" #: editor/plugins/canvas_item_editor_plugin.cpp msgid "Rotation Step:" -msgstr "" +msgstr "旋轉步驟:" #: editor/plugins/canvas_item_editor_plugin.cpp msgid "Move vertical guide" -msgstr "" +msgstr "垂直移動尺標" #: editor/plugins/canvas_item_editor_plugin.cpp msgid "Create new vertical guide" -msgstr "" +msgstr "創建新的垂直尺標" #: editor/plugins/canvas_item_editor_plugin.cpp msgid "Remove vertical guide" -msgstr "" +msgstr "刪除垂直尺標" #: editor/plugins/canvas_item_editor_plugin.cpp msgid "Move horizontal guide" -msgstr "" +msgstr "移動水平尺標" #: editor/plugins/canvas_item_editor_plugin.cpp msgid "Create new horizontal guide" -msgstr "" +msgstr "創建新的水平尺標" #: editor/plugins/canvas_item_editor_plugin.cpp -#, fuzzy msgid "Remove horizontal guide" -msgstr "移除" +msgstr "移除水平尺標" #: editor/plugins/canvas_item_editor_plugin.cpp msgid "Create new horizontal and vertical guides" -msgstr "" +msgstr "創建新的水平和垂直尺標" #: editor/plugins/canvas_item_editor_plugin.cpp #, fuzzy msgid "Move pivot" -msgstr "移除" +msgstr "移動樞軸" #: editor/plugins/canvas_item_editor_plugin.cpp msgid "Rotate CanvasItem" -msgstr "" +msgstr "旋轉CanvasItem" #: editor/plugins/canvas_item_editor_plugin.cpp msgid "Move anchor" -msgstr "" +msgstr "移動錨點" #: editor/plugins/canvas_item_editor_plugin.cpp msgid "Resize CanvasItem" -msgstr "" +msgstr "調整CanvasItem的大小" #: editor/plugins/canvas_item_editor_plugin.cpp msgid "Scale CanvasItem" -msgstr "" +msgstr "縮放CanvasItem" #: editor/plugins/canvas_item_editor_plugin.cpp msgid "Move CanvasItem" -msgstr "" +msgstr "移動CanvasItem" #: editor/plugins/canvas_item_editor_plugin.cpp msgid "Presets for the anchors and margins values of a Control node." @@ -4621,285 +4633,316 @@ msgstr "" msgid "" "Children of containers have their anchors and margins values overridden by " "their parent." -msgstr "" +msgstr "容器的子級的錨定值和頁邊距值被其父級覆蓋。" #: editor/plugins/canvas_item_editor_plugin.cpp msgid "Anchors only" -msgstr "" +msgstr "僅限錨點" #: editor/plugins/canvas_item_editor_plugin.cpp msgid "Change Anchors and Margins" -msgstr "" +msgstr "改變錨點和邊距" #: editor/plugins/canvas_item_editor_plugin.cpp msgid "Change Anchors" -msgstr "" +msgstr "改變錨點" #: editor/plugins/canvas_item_editor_plugin.cpp msgid "Paste Pose" -msgstr "" +msgstr "粘貼姿勢" #: editor/plugins/canvas_item_editor_plugin.cpp msgid "" "Warning: Children of a container get their position and size determined only " "by their parent." -msgstr "" +msgstr "警告:容器的子級只能由其父級確定其位置和大小。" #: editor/plugins/canvas_item_editor_plugin.cpp #: editor/plugins/texture_region_editor_plugin.cpp #: editor/plugins/tile_set_editor_plugin.cpp scene/gui/graph_edit.cpp -#, fuzzy msgid "Zoom Reset" -msgstr "縮小" +msgstr "重置縮放" #: editor/plugins/canvas_item_editor_plugin.cpp msgid "Select Mode" -msgstr "" +msgstr "選擇模式" #: editor/plugins/canvas_item_editor_plugin.cpp msgid "Drag: Rotate" -msgstr "" +msgstr "拖動: 旋轉" #: editor/plugins/canvas_item_editor_plugin.cpp msgid "Alt+Drag: Move" -msgstr "" +msgstr "Alt+Drag:移動" #: editor/plugins/canvas_item_editor_plugin.cpp msgid "Press 'v' to Change Pivot, 'Shift+v' to Drag Pivot (while moving)." -msgstr "" +msgstr "按 \"v\" 更改樞軸, \"Shift + v\" 以拖動樞軸 (移動時)。" #: editor/plugins/canvas_item_editor_plugin.cpp msgid "Alt+RMB: Depth list selection" -msgstr "" +msgstr "Alt+滑鼠右鍵:顯示鼠標點擊位置下所有的節點清單" #: editor/plugins/canvas_item_editor_plugin.cpp msgid "Move Mode" -msgstr "" +msgstr "移動模式" #: editor/plugins/canvas_item_editor_plugin.cpp msgid "Rotate Mode" -msgstr "" +msgstr "旋轉模式" #: editor/plugins/canvas_item_editor_plugin.cpp #, fuzzy msgid "Scale Mode" -msgstr "切換模式" +msgstr "縮放模式" #: editor/plugins/canvas_item_editor_plugin.cpp #: editor/plugins/spatial_editor_plugin.cpp msgid "" "Show a list of all objects at the position clicked\n" "(same as Alt+RMB in select mode)." -msgstr "" +msgstr "在按一下的位置顯示所有物件的清單 (在選擇模式下與 Alt + RMB 相同)。" #: editor/plugins/canvas_item_editor_plugin.cpp msgid "Click to change object's rotation pivot." -msgstr "" +msgstr "點擊以更改物件的旋轉樞軸。" #: editor/plugins/canvas_item_editor_plugin.cpp msgid "Pan Mode" -msgstr "" +msgstr "平移模式" #: editor/plugins/canvas_item_editor_plugin.cpp msgid "Toggle snapping." -msgstr "" +msgstr "切換吸附。" #: editor/plugins/canvas_item_editor_plugin.cpp msgid "Use Snap" -msgstr "" +msgstr "使用吸附" #: editor/plugins/canvas_item_editor_plugin.cpp msgid "Snapping Options" -msgstr "" +msgstr "吸附選項" #: editor/plugins/canvas_item_editor_plugin.cpp +#, fuzzy msgid "Snap to grid" -msgstr "" +msgstr "吸附到網格" #: editor/plugins/canvas_item_editor_plugin.cpp +#, fuzzy msgid "Use Rotation Snap" -msgstr "" +msgstr "使用旋轉吸附" #: editor/plugins/canvas_item_editor_plugin.cpp #: editor/plugins/spatial_editor_plugin.cpp +#, fuzzy msgid "Configure Snap..." -msgstr "" +msgstr "配置吸附…" #: editor/plugins/canvas_item_editor_plugin.cpp +#, fuzzy msgid "Snap Relative" -msgstr "" +msgstr "相對吸附" #: editor/plugins/canvas_item_editor_plugin.cpp +#, fuzzy msgid "Use Pixel Snap" -msgstr "" +msgstr "使用像素吸附" #: editor/plugins/canvas_item_editor_plugin.cpp +#, fuzzy msgid "Smart snapping" -msgstr "" +msgstr "智慧吸附" #: editor/plugins/canvas_item_editor_plugin.cpp msgid "Snap to parent" -msgstr "" +msgstr "吸附到父級節點" #: editor/plugins/canvas_item_editor_plugin.cpp msgid "Snap to node anchor" -msgstr "" +msgstr "吸附到節點的錨點" #: editor/plugins/canvas_item_editor_plugin.cpp msgid "Snap to node sides" -msgstr "" +msgstr "捕捉到節點邊" #: editor/plugins/canvas_item_editor_plugin.cpp msgid "Snap to node center" -msgstr "" +msgstr "吸附到節點的中心" #: editor/plugins/canvas_item_editor_plugin.cpp msgid "Snap to other nodes" -msgstr "" +msgstr "吸附到其他的節點" #: editor/plugins/canvas_item_editor_plugin.cpp msgid "Snap to guides" -msgstr "" +msgstr "吸附到尺標" #: editor/plugins/canvas_item_editor_plugin.cpp #: editor/plugins/spatial_editor_plugin.cpp msgid "Lock the selected object in place (can't be moved)." -msgstr "" +msgstr "將所選物件鎖定到中心 (無法移動)。" #: editor/plugins/canvas_item_editor_plugin.cpp #: editor/plugins/spatial_editor_plugin.cpp +#, fuzzy msgid "Unlock the selected object (can be moved)." -msgstr "" +msgstr "解鎖所選物件 (可以移動)。" #: editor/plugins/canvas_item_editor_plugin.cpp msgid "Makes sure the object's children are not selectable." -msgstr "" +msgstr "確保對象的子級不可選。" #: editor/plugins/canvas_item_editor_plugin.cpp msgid "Restores the object's children's ability to be selected." -msgstr "" +msgstr "恢復對象的子級選擇能力。" #: editor/plugins/canvas_item_editor_plugin.cpp #, fuzzy msgid "Skeleton Options" -msgstr "單例" +msgstr "骨架選項" #: editor/plugins/canvas_item_editor_plugin.cpp msgid "Show Bones" -msgstr "" +msgstr "顯示骨骼" #: editor/plugins/canvas_item_editor_plugin.cpp msgid "Make IK Chain" -msgstr "" +msgstr "製作IK鏈" #: editor/plugins/canvas_item_editor_plugin.cpp msgid "Clear IK Chain" -msgstr "" +msgstr "清除IK鏈" #: editor/plugins/canvas_item_editor_plugin.cpp msgid "Make Custom Bone(s) from Node(s)" -msgstr "" +msgstr "從節點製作自定義骨骼" #: editor/plugins/canvas_item_editor_plugin.cpp msgid "Clear Custom Bones" -msgstr "" +msgstr "清除自定義骨骼" #: editor/plugins/canvas_item_editor_plugin.cpp #: editor/plugins/spatial_editor_plugin.cpp msgid "View" -msgstr "" +msgstr "視圖" #: editor/plugins/canvas_item_editor_plugin.cpp #: editor/plugins/polygon_2d_editor_plugin.cpp msgid "Show Grid" -msgstr "" +msgstr "顯示網格" #: editor/plugins/canvas_item_editor_plugin.cpp msgid "Show Helpers" -msgstr "" +msgstr "顯示輔助線" #: editor/plugins/canvas_item_editor_plugin.cpp msgid "Show Rulers" -msgstr "" +msgstr "顯示尺規" #: editor/plugins/canvas_item_editor_plugin.cpp msgid "Show Guides" -msgstr "" +msgstr "顯示引導" #: editor/plugins/canvas_item_editor_plugin.cpp msgid "Show Origin" -msgstr "" +msgstr "顯示原點" #: editor/plugins/canvas_item_editor_plugin.cpp msgid "Show Viewport" -msgstr "" +msgstr "顯示視口" #: editor/plugins/canvas_item_editor_plugin.cpp msgid "Show Group And Lock Icons" -msgstr "" +msgstr "顯示組和鎖定圖標" #: editor/plugins/canvas_item_editor_plugin.cpp msgid "Center Selection" -msgstr "" +msgstr "居中選擇" #: editor/plugins/canvas_item_editor_plugin.cpp msgid "Frame Selection" -msgstr "" +msgstr "幀選擇" #: editor/plugins/canvas_item_editor_plugin.cpp msgid "Layout" +msgstr "佈局" + +#: editor/plugins/canvas_item_editor_plugin.cpp +msgid "Translation mask for inserting keys." +msgstr "" + +#: editor/plugins/canvas_item_editor_plugin.cpp +msgid "Rotation mask for inserting keys." +msgstr "" + +#: editor/plugins/canvas_item_editor_plugin.cpp +msgid "Scale mask for inserting keys." msgstr "" #: editor/plugins/canvas_item_editor_plugin.cpp #, fuzzy -msgid "Insert keys." -msgstr "動畫新增按鍵" +msgid "Insert keys (based on mask)." +msgstr "插入幀 (現有軌道)" #: editor/plugins/canvas_item_editor_plugin.cpp -msgid "Insert Key (Existing Tracks)" +msgid "" +"Auto insert keys when objects are translated, rotated on scaled (based on " +"mask).\n" +"Keys are only added to existing tracks, no new tracks will be created.\n" +"Keys must be inserted manually for the first time." msgstr "" #: editor/plugins/canvas_item_editor_plugin.cpp +#, fuzzy +msgid "Auto Insert Key" +msgstr "新增關鍵畫格" + +#: editor/plugins/canvas_item_editor_plugin.cpp +msgid "Insert Key (Existing Tracks)" +msgstr "插入幀 (現有軌道)" + +#: editor/plugins/canvas_item_editor_plugin.cpp msgid "Copy Pose" -msgstr "" +msgstr "複製姿勢" #: editor/plugins/canvas_item_editor_plugin.cpp msgid "Clear Pose" -msgstr "" +msgstr "清除姿勢" #: editor/plugins/canvas_item_editor_plugin.cpp msgid "Multiply grid step by 2" -msgstr "" +msgstr "將網格步數乘以2" #: editor/plugins/canvas_item_editor_plugin.cpp msgid "Divide grid step by 2" -msgstr "" +msgstr "將網格步數除以2" #: editor/plugins/canvas_item_editor_plugin.cpp msgid "Add %s" -msgstr "" +msgstr "添加 %s" #: editor/plugins/canvas_item_editor_plugin.cpp msgid "Adding %s..." -msgstr "" +msgstr "添加 %s…" #: editor/plugins/canvas_item_editor_plugin.cpp msgid "Cannot instantiate multiple nodes without root." -msgstr "" +msgstr "無法具現化沒有根的多個節點。" #: editor/plugins/canvas_item_editor_plugin.cpp #: editor/plugins/spatial_editor_plugin.cpp editor/scene_tree_dock.cpp msgid "Create Node" -msgstr "" +msgstr "創建節點" #: editor/plugins/canvas_item_editor_plugin.cpp #: editor/plugins/spatial_editor_plugin.cpp editor/scene_tree_dock.cpp msgid "Error instancing scene from %s" -msgstr "" +msgstr "%s 中的具現化場景出錯" #: editor/plugins/canvas_item_editor_plugin.cpp msgid "Change default type" -msgstr "" +msgstr "更改預設類型" #: editor/plugins/canvas_item_editor_plugin.cpp msgid "" @@ -4908,43 +4951,88 @@ msgid "" msgstr "" #: editor/plugins/collision_polygon_editor_plugin.cpp -#, fuzzy msgid "Create Polygon3D" -msgstr "新增資料夾" +msgstr "創建3D多邊形" #: editor/plugins/collision_polygon_editor_plugin.cpp msgid "Edit Poly" -msgstr "" +msgstr "編輯多邊形" #: editor/plugins/collision_polygon_editor_plugin.cpp msgid "Edit Poly (Remove Point)" -msgstr "" +msgstr "編輯多邊形 (刪除頂點)" #: editor/plugins/collision_shape_2d_editor_plugin.cpp msgid "Set Handle" +msgstr "設置控制程序" + +#: editor/plugins/cpu_particles_2d_editor_plugin.cpp +#: editor/plugins/particles_2d_editor_plugin.cpp +msgid "Error loading image:" +msgstr "加載影像時出錯:" + +#: editor/plugins/cpu_particles_2d_editor_plugin.cpp +#: editor/plugins/particles_2d_editor_plugin.cpp +msgid "No pixels with transparency > 128 in image..." +msgstr "影像中沒有透明度大於128的點數…" + +#: editor/plugins/cpu_particles_2d_editor_plugin.cpp +#: editor/plugins/particles_2d_editor_plugin.cpp +msgid "Load Emission Mask" +msgstr "" + +#: editor/plugins/cpu_particles_2d_editor_plugin.cpp +#: editor/plugins/particles_2d_editor_plugin.cpp +msgid "Clear Emission Mask" +msgstr "" + +#: editor/plugins/cpu_particles_2d_editor_plugin.cpp +#: editor/plugins/particles_2d_editor_plugin.cpp +#: editor/plugins/particles_editor_plugin.cpp +msgid "Particles" +msgstr "粒子" + +#: editor/plugins/cpu_particles_2d_editor_plugin.cpp +#: editor/plugins/particles_2d_editor_plugin.cpp +msgid "Generated Point Count:" +msgstr "" + +#: editor/plugins/cpu_particles_2d_editor_plugin.cpp +#: editor/plugins/particles_2d_editor_plugin.cpp +msgid "Emission Mask" +msgstr "" + +#: editor/plugins/cpu_particles_2d_editor_plugin.cpp +#: editor/plugins/particles_2d_editor_plugin.cpp +msgid "Capture from Pixel" +msgstr "" + +#: editor/plugins/cpu_particles_2d_editor_plugin.cpp +#: editor/plugins/particles_2d_editor_plugin.cpp +msgid "Emission Colors" msgstr "" #: editor/plugins/cpu_particles_editor_plugin.cpp msgid "CPUParticles" -msgstr "" +msgstr "CPU粒子" #: editor/plugins/cpu_particles_editor_plugin.cpp #: editor/plugins/particles_editor_plugin.cpp msgid "Create Emission Points From Mesh" -msgstr "" +msgstr "從網格創建發射點" #: editor/plugins/cpu_particles_editor_plugin.cpp #: editor/plugins/particles_editor_plugin.cpp msgid "Create Emission Points From Node" -msgstr "" +msgstr "從節點創建發射點" #: editor/plugins/curve_editor_plugin.cpp msgid "Flat0" -msgstr "" +msgstr "平面0" #: editor/plugins/curve_editor_plugin.cpp msgid "Flat1" -msgstr "" +msgstr "平面1" #: editor/plugins/curve_editor_plugin.cpp #, fuzzy @@ -4953,86 +5041,86 @@ msgstr "所有的選擇" #: editor/plugins/curve_editor_plugin.cpp msgid "Ease out" -msgstr "" +msgstr "淡出" #: editor/plugins/curve_editor_plugin.cpp msgid "Smoothstep" -msgstr "" +msgstr "平滑步長" #: editor/plugins/curve_editor_plugin.cpp msgid "Modify Curve Point" -msgstr "" +msgstr "修改曲線點" #: editor/plugins/curve_editor_plugin.cpp msgid "Modify Curve Tangent" -msgstr "" +msgstr "修改曲線切角" #: editor/plugins/curve_editor_plugin.cpp msgid "Load Curve Preset" -msgstr "" +msgstr "加載曲線預設" #: editor/plugins/curve_editor_plugin.cpp msgid "Add point" -msgstr "" +msgstr "添加點" #: editor/plugins/curve_editor_plugin.cpp #, fuzzy msgid "Remove point" -msgstr "移除" +msgstr "刪除點" #: editor/plugins/curve_editor_plugin.cpp #, fuzzy msgid "Left linear" -msgstr "線性" +msgstr "左線性" #: editor/plugins/curve_editor_plugin.cpp msgid "Right linear" -msgstr "" +msgstr "右線性" #: editor/plugins/curve_editor_plugin.cpp msgid "Load preset" -msgstr "" +msgstr "載入預設" #: editor/plugins/curve_editor_plugin.cpp #, fuzzy msgid "Remove Curve Point" -msgstr "移除" +msgstr "刪除曲線點" #: editor/plugins/curve_editor_plugin.cpp msgid "Toggle Curve Linear Tangent" -msgstr "" +msgstr "切換曲線直線切線" #: editor/plugins/curve_editor_plugin.cpp msgid "Hold Shift to edit tangents individually" -msgstr "" +msgstr "按住 Shift 鍵可單獨編輯切線" #: editor/plugins/gi_probe_editor_plugin.cpp msgid "Bake GI Probe" -msgstr "" +msgstr "渲染 GI Probe" #: editor/plugins/gradient_editor_plugin.cpp msgid "Gradient Edited" -msgstr "" +msgstr "漸變編輯" #: editor/plugins/item_list_editor_plugin.cpp msgid "Item %d" -msgstr "" +msgstr "項目 %d" #: editor/plugins/item_list_editor_plugin.cpp msgid "Items" -msgstr "" +msgstr "項目" #: editor/plugins/item_list_editor_plugin.cpp msgid "Item List Editor" -msgstr "" +msgstr "項目清單編輯器" #: editor/plugins/light_occluder_2d_editor_plugin.cpp msgid "Create Occluder Polygon" -msgstr "" +msgstr "創建遮光多邊形" #: editor/plugins/mesh_instance_editor_plugin.cpp msgid "Mesh is empty!" -msgstr "" +msgstr "網格是空的!" #: editor/plugins/mesh_instance_editor_plugin.cpp msgid "Create Static Trimesh Body" @@ -5040,11 +5128,11 @@ msgstr "" #: editor/plugins/mesh_instance_editor_plugin.cpp msgid "Create Static Convex Body" -msgstr "" +msgstr "創建靜態凸體" #: editor/plugins/mesh_instance_editor_plugin.cpp msgid "This doesn't work on scene root!" -msgstr "" +msgstr "這對場景根目錄不起作用!" #: editor/plugins/mesh_instance_editor_plugin.cpp msgid "Create Trimesh Shape" @@ -5052,15 +5140,15 @@ msgstr "" #: editor/plugins/mesh_instance_editor_plugin.cpp msgid "Create Convex Shape" -msgstr "" +msgstr "創建凸面形狀" #: editor/plugins/mesh_instance_editor_plugin.cpp msgid "Create Navigation Mesh" -msgstr "" +msgstr "創建導航網格" #: editor/plugins/mesh_instance_editor_plugin.cpp msgid "Contained Mesh is not of type ArrayMesh." -msgstr "" +msgstr "包含的網格不是ArrayMesh類型。" #: editor/plugins/mesh_instance_editor_plugin.cpp msgid "UV Unwrap failed, mesh may not be manifold?" @@ -5068,7 +5156,7 @@ msgstr "" #: editor/plugins/mesh_instance_editor_plugin.cpp msgid "No mesh to debug." -msgstr "" +msgstr "沒有要調試的網格。" #: editor/plugins/mesh_instance_editor_plugin.cpp #: editor/plugins/sprite_editor_plugin.cpp @@ -5077,11 +5165,11 @@ msgstr "" #: editor/plugins/mesh_instance_editor_plugin.cpp msgid "MeshInstance lacks a Mesh!" -msgstr "" +msgstr "網格實例缺少網格!" #: editor/plugins/mesh_instance_editor_plugin.cpp msgid "Mesh has not surface to create outlines from!" -msgstr "" +msgstr "網格沒有表面來創建輪廓!" #: editor/plugins/mesh_instance_editor_plugin.cpp msgid "Mesh primitive type is not PRIMITIVE_TRIANGLES!" @@ -5093,11 +5181,11 @@ msgstr "" #: editor/plugins/mesh_instance_editor_plugin.cpp msgid "Create Outline" -msgstr "" +msgstr "創建輪廓" #: editor/plugins/mesh_instance_editor_plugin.cpp msgid "Mesh" -msgstr "" +msgstr "網格" #: editor/plugins/mesh_instance_editor_plugin.cpp msgid "Create Trimesh Static Body" @@ -5105,7 +5193,7 @@ msgstr "" #: editor/plugins/mesh_instance_editor_plugin.cpp msgid "Create Convex Static Body" -msgstr "" +msgstr "創建凸形靜態體" #: editor/plugins/mesh_instance_editor_plugin.cpp msgid "Create Trimesh Collision Sibling" @@ -5117,7 +5205,7 @@ msgstr "" #: editor/plugins/mesh_instance_editor_plugin.cpp msgid "Create Outline Mesh..." -msgstr "" +msgstr "創建輪廓網格…" #: editor/plugins/mesh_instance_editor_plugin.cpp #, fuzzy @@ -5135,36 +5223,36 @@ msgstr "" #: editor/plugins/mesh_instance_editor_plugin.cpp msgid "Create Outline Mesh" -msgstr "" +msgstr "創建輪廓網格" #: editor/plugins/mesh_instance_editor_plugin.cpp msgid "Outline Size:" -msgstr "" +msgstr "輪廓尺寸:" #: editor/plugins/mesh_library_editor_plugin.cpp msgid "Remove item %d?" -msgstr "" +msgstr "删除項目%d?" #: editor/plugins/mesh_library_editor_plugin.cpp #: editor/plugins/theme_editor_plugin.cpp msgid "Add Item" -msgstr "" +msgstr "添加項目" #: editor/plugins/mesh_library_editor_plugin.cpp msgid "Remove Selected Item" -msgstr "" +msgstr "删除所選項" #: editor/plugins/mesh_library_editor_plugin.cpp msgid "Import from Scene" -msgstr "" +msgstr "從場景導入" #: editor/plugins/mesh_library_editor_plugin.cpp msgid "Update from Scene" -msgstr "" +msgstr "從場景更新" #: editor/plugins/multimesh_editor_plugin.cpp msgid "No mesh source specified (and no MultiMesh set in node)." -msgstr "" +msgstr "未指定網格源(節點中沒有多網格集)。" #: editor/plugins/multimesh_editor_plugin.cpp msgid "No mesh source specified (and MultiMesh contains no Mesh)." @@ -5172,75 +5260,75 @@ msgstr "" #: editor/plugins/multimesh_editor_plugin.cpp msgid "Mesh source is invalid (invalid path)." -msgstr "" +msgstr "網格源無效(路徑無效)。" #: editor/plugins/multimesh_editor_plugin.cpp msgid "Mesh source is invalid (not a MeshInstance)." -msgstr "" +msgstr "網格源無效 (不是網格實例)。" #: editor/plugins/multimesh_editor_plugin.cpp msgid "Mesh source is invalid (contains no Mesh resource)." -msgstr "" +msgstr "網格源無效(不包含網格資源)。" #: editor/plugins/multimesh_editor_plugin.cpp msgid "No surface source specified." -msgstr "" +msgstr "未指定表面源。" #: editor/plugins/multimesh_editor_plugin.cpp msgid "Surface source is invalid (invalid path)." -msgstr "" +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)." -msgstr "" +msgstr "表面源無效(沒有面)。" #: editor/plugins/multimesh_editor_plugin.cpp msgid "Parent has no solid faces to populate." -msgstr "" +msgstr "父級沒有要填充的實體面。" #: editor/plugins/multimesh_editor_plugin.cpp msgid "Couldn't map area." -msgstr "" +msgstr "無法映射區域。" #: editor/plugins/multimesh_editor_plugin.cpp msgid "Select a Source Mesh:" -msgstr "" +msgstr "選擇源網格:" #: editor/plugins/multimesh_editor_plugin.cpp msgid "Select a Target Surface:" -msgstr "" +msgstr "選擇目標曲面:" #: editor/plugins/multimesh_editor_plugin.cpp msgid "Populate Surface" -msgstr "" +msgstr "填充曲面" #: editor/plugins/multimesh_editor_plugin.cpp msgid "Populate MultiMesh" -msgstr "" +msgstr "填充多網格" #: editor/plugins/multimesh_editor_plugin.cpp msgid "Target Surface:" -msgstr "" +msgstr "目標表面:" #: editor/plugins/multimesh_editor_plugin.cpp msgid "Source Mesh:" -msgstr "" +msgstr "源網格:" #: editor/plugins/multimesh_editor_plugin.cpp msgid "X-Axis" -msgstr "" +msgstr "X 軸" #: editor/plugins/multimesh_editor_plugin.cpp msgid "Y-Axis" -msgstr "" +msgstr "Y 軸" #: editor/plugins/multimesh_editor_plugin.cpp msgid "Z-Axis" -msgstr "" +msgstr "Z 軸" #: editor/plugins/multimesh_editor_plugin.cpp msgid "Mesh Up Axis:" @@ -5248,54 +5336,38 @@ msgstr "" #: editor/plugins/multimesh_editor_plugin.cpp msgid "Random Rotation:" -msgstr "" +msgstr "隨機旋轉:" #: editor/plugins/multimesh_editor_plugin.cpp msgid "Random Tilt:" -msgstr "" +msgstr "隨機傾斜:" #: editor/plugins/multimesh_editor_plugin.cpp msgid "Random Scale:" -msgstr "" +msgstr "隨機縮放:" #: editor/plugins/multimesh_editor_plugin.cpp msgid "Populate" -msgstr "" +msgstr "填充" #: editor/plugins/navigation_polygon_editor_plugin.cpp #: editor/plugins/tile_set_editor_plugin.cpp msgid "Create Navigation Polygon" -msgstr "" +msgstr "創建導航多邊形" #: editor/plugins/particles_2d_editor_plugin.cpp msgid "Generating Visibility Rect" -msgstr "" +msgstr "生成可見性矩形" #: editor/plugins/particles_2d_editor_plugin.cpp msgid "Generate Visibility Rect" -msgstr "" +msgstr "生成可見性矩形" #: editor/plugins/particles_2d_editor_plugin.cpp msgid "Can only set point into a ParticlesMaterial process material" msgstr "" #: editor/plugins/particles_2d_editor_plugin.cpp -msgid "Error loading image:" -msgstr "" - -#: editor/plugins/particles_2d_editor_plugin.cpp -msgid "No pixels with transparency > 128 in image..." -msgstr "" - -#: editor/plugins/particles_2d_editor_plugin.cpp -msgid "Load Emission Mask" -msgstr "" - -#: editor/plugins/particles_2d_editor_plugin.cpp -msgid "Clear Emission Mask" -msgstr "" - -#: editor/plugins/particles_2d_editor_plugin.cpp #: editor/plugins/particles_editor_plugin.cpp #, fuzzy msgid "Convert to CPUParticles" @@ -5303,33 +5375,12 @@ msgstr "轉換成..." #: editor/plugins/particles_2d_editor_plugin.cpp #: editor/plugins/particles_editor_plugin.cpp -msgid "Particles" -msgstr "" - -#: editor/plugins/particles_2d_editor_plugin.cpp -msgid "Generated Point Count:" -msgstr "" - -#: editor/plugins/particles_2d_editor_plugin.cpp -#: editor/plugins/particles_editor_plugin.cpp msgid "Generation Time (sec):" -msgstr "" - -#: editor/plugins/particles_2d_editor_plugin.cpp -msgid "Emission Mask" -msgstr "" - -#: editor/plugins/particles_2d_editor_plugin.cpp -msgid "Capture from Pixel" -msgstr "" - -#: editor/plugins/particles_2d_editor_plugin.cpp -msgid "Emission Colors" -msgstr "" +msgstr "生成時間 (秒):" #: editor/plugins/particles_editor_plugin.cpp msgid "Faces contain no area!" -msgstr "" +msgstr "面不包含任何區域!" #: editor/plugins/particles_editor_plugin.cpp msgid "No faces!" @@ -5337,55 +5388,55 @@ msgstr "" #: editor/plugins/particles_editor_plugin.cpp msgid "Node does not contain geometry." -msgstr "" +msgstr "節點不包含幾何圖形。" #: editor/plugins/particles_editor_plugin.cpp msgid "Node does not contain geometry (faces)." -msgstr "" +msgstr "節點不包含幾何圖形 (面)。" #: editor/plugins/particles_editor_plugin.cpp msgid "Create Emitter" -msgstr "" +msgstr "創建發射器" #: editor/plugins/particles_editor_plugin.cpp msgid "Emission Points:" -msgstr "" +msgstr "排放點:" #: editor/plugins/particles_editor_plugin.cpp msgid "Surface Points" -msgstr "" +msgstr "表面點" #: editor/plugins/particles_editor_plugin.cpp msgid "Surface Points+Normal (Directed)" -msgstr "" +msgstr "表面點 + 法線 (定向)" #: editor/plugins/particles_editor_plugin.cpp msgid "Volume" -msgstr "" +msgstr "體積" #: editor/plugins/particles_editor_plugin.cpp msgid "Emission Source: " -msgstr "" +msgstr "排放源: " #: editor/plugins/particles_editor_plugin.cpp msgid "A processor material of type 'ParticlesMaterial' is required." -msgstr "" +msgstr "需要“顆粒資料”類型的處理器資料。" #: editor/plugins/particles_editor_plugin.cpp msgid "Generating AABB" -msgstr "" +msgstr "生成 AABB" #: editor/plugins/particles_editor_plugin.cpp msgid "Generate Visibility AABB" -msgstr "" +msgstr "生成可見性AABB" #: editor/plugins/particles_editor_plugin.cpp msgid "Generate AABB" -msgstr "" +msgstr "生成 AABB" #: editor/plugins/path_2d_editor_plugin.cpp msgid "Remove Point from Curve" -msgstr "" +msgstr "從曲線中删除點" #: editor/plugins/path_2d_editor_plugin.cpp msgid "Remove Out-Control from Curve" @@ -5809,14 +5860,13 @@ msgid "Error while saving theme." msgstr "儲存中發生了錯誤。" #: editor/plugins/script_editor_plugin.cpp -#, fuzzy msgid "Error Saving" -msgstr "載入時發生錯誤:" +msgstr "保存錯誤" #: editor/plugins/script_editor_plugin.cpp #, fuzzy msgid "Error importing theme." -msgstr "讀取字體錯誤。" +msgstr "導入主題時出錯。" #: editor/plugins/script_editor_plugin.cpp #, fuzzy @@ -5840,23 +5890,24 @@ msgstr "另存場景為..." #: editor/plugins/script_editor_plugin.cpp msgid "Import Theme" -msgstr "" +msgstr "導入主題" #: editor/plugins/script_editor_plugin.cpp msgid "Error while saving theme" -msgstr "" +msgstr "保存主題時出錯" #: editor/plugins/script_editor_plugin.cpp msgid "Error saving" -msgstr "" +msgstr "保存錯誤" #: editor/plugins/script_editor_plugin.cpp msgid "Save Theme As..." -msgstr "" +msgstr "將主題另存為..。" #: editor/plugins/script_editor_plugin.cpp -msgid " Class Reference" -msgstr "" +#, fuzzy +msgid "%s Class Reference" +msgstr " 類引用" #: editor/plugins/script_editor_plugin.cpp msgid "Toggle alphabetical sorting of the method list." @@ -5871,42 +5922,42 @@ msgstr "排序:" #: editor/plugins/script_text_editor.cpp editor/scene_tree_dock.cpp #: modules/gdnative/gdnative_library_editor_plugin.cpp msgid "Move Up" -msgstr "" +msgstr "上移" #: editor/plugins/script_editor_plugin.cpp #: editor/plugins/script_text_editor.cpp editor/scene_tree_dock.cpp #: modules/gdnative/gdnative_library_editor_plugin.cpp msgid "Move Down" -msgstr "" +msgstr "下移" #: editor/plugins/script_editor_plugin.cpp msgid "Next script" -msgstr "" +msgstr "下一個腳本" #: editor/plugins/script_editor_plugin.cpp msgid "Previous script" -msgstr "" +msgstr "上一個腳本" #: editor/plugins/script_editor_plugin.cpp msgid "File" -msgstr "" +msgstr "檔案" #: editor/plugins/script_editor_plugin.cpp #, fuzzy msgid "Open..." -msgstr "開啟" +msgstr "開啟…" #: editor/plugins/script_editor_plugin.cpp msgid "Save All" -msgstr "" +msgstr "全部保存" #: editor/plugins/script_editor_plugin.cpp msgid "Soft Reload Script" -msgstr "" +msgstr "軟重新加載腳本" #: editor/plugins/script_editor_plugin.cpp msgid "Copy Script Path" -msgstr "" +msgstr "複製腳本路徑" #: editor/plugins/script_editor_plugin.cpp #, fuzzy @@ -5920,99 +5971,99 @@ msgstr "" #: editor/plugins/script_editor_plugin.cpp #: editor/plugins/theme_editor_plugin.cpp msgid "Theme" -msgstr "" +msgstr "主題" #: editor/plugins/script_editor_plugin.cpp #, fuzzy msgid "Import Theme..." -msgstr "我知道了" +msgstr "導入主題..。" #: editor/plugins/script_editor_plugin.cpp msgid "Reload Theme" -msgstr "" +msgstr "重新載入主題" #: editor/plugins/script_editor_plugin.cpp msgid "Save Theme" -msgstr "" +msgstr "保存主題" #: editor/plugins/script_editor_plugin.cpp msgid "Close Docs" -msgstr "" +msgstr "關閉檔案" #: editor/plugins/script_editor_plugin.cpp msgid "Close All" -msgstr "" +msgstr "全部關閉" #: editor/plugins/script_editor_plugin.cpp msgid "Close Other Tabs" -msgstr "" +msgstr "關閉其他選項卡" #: editor/plugins/script_editor_plugin.cpp editor/project_manager.cpp msgid "Run" -msgstr "" +msgstr "運行" #: editor/plugins/script_editor_plugin.cpp msgid "Toggle Scripts Panel" -msgstr "" +msgstr "\"切換腳本\" 面板" #: editor/plugins/script_editor_plugin.cpp #: editor/plugins/script_text_editor.cpp msgid "Find Next" -msgstr "" +msgstr "查找下一個" #: editor/plugins/script_editor_plugin.cpp editor/script_editor_debugger.cpp msgid "Step Over" -msgstr "" +msgstr "跨過" #: editor/plugins/script_editor_plugin.cpp editor/script_editor_debugger.cpp msgid "Step Into" -msgstr "" +msgstr "步入" #: editor/plugins/script_editor_plugin.cpp editor/script_editor_debugger.cpp msgid "Break" -msgstr "" +msgstr "跳過" #: editor/plugins/script_editor_plugin.cpp editor/project_manager.cpp #: editor/script_editor_debugger.cpp msgid "Continue" -msgstr "" +msgstr "繼續" #: editor/plugins/script_editor_plugin.cpp msgid "Keep Debugger Open" -msgstr "" +msgstr "保持調試器打開" #: editor/plugins/script_editor_plugin.cpp #, fuzzy msgid "Debug with External Editor" -msgstr "離開編輯器嗎?" +msgstr "使用外部編輯器進行調試" #: editor/plugins/script_editor_plugin.cpp msgid "Open Godot online documentation" -msgstr "" +msgstr "打開 Godot 線上文檔" #: editor/plugins/script_editor_plugin.cpp msgid "Request Docs" -msgstr "" +msgstr "請求檔案" #: editor/plugins/script_editor_plugin.cpp msgid "Help improve the Godot documentation by giving feedback" -msgstr "" +msgstr "通過提供回饋幫助改進 Godot 文檔" #: editor/plugins/script_editor_plugin.cpp msgid "Search the reference documentation." -msgstr "" +msgstr "搜索參考文檔。" #: editor/plugins/script_editor_plugin.cpp msgid "Go to previous edited document." -msgstr "" +msgstr "轉到上一個編輯的檔案。" #: editor/plugins/script_editor_plugin.cpp msgid "Go to next edited document." -msgstr "" +msgstr "轉到下一個編輯的檔案。" #: editor/plugins/script_editor_plugin.cpp msgid "Discard" -msgstr "" +msgstr "棄置" #: editor/plugins/script_editor_plugin.cpp msgid "" @@ -6022,20 +6073,20 @@ msgstr "" #: editor/plugins/script_editor_plugin.cpp msgid "Reload" -msgstr "" +msgstr "重新載入" #: editor/plugins/script_editor_plugin.cpp msgid "Resave" -msgstr "" +msgstr "重新保存" #: editor/plugins/script_editor_plugin.cpp editor/script_editor_debugger.cpp msgid "Debugger" -msgstr "" +msgstr "調試器" #: editor/plugins/script_editor_plugin.cpp #, fuzzy msgid "Search Results" -msgstr "搜尋幫助" +msgstr "搜尋結果" #: editor/plugins/script_text_editor.cpp #, fuzzy @@ -6044,28 +6095,28 @@ msgstr "行:" #: editor/plugins/script_text_editor.cpp msgid "(ignore)" -msgstr "" +msgstr "(忽略)" #: editor/plugins/script_text_editor.cpp #, fuzzy msgid "Go to Function" -msgstr "建立函式" +msgstr "轉到函數" #: editor/plugins/script_text_editor.cpp editor/plugins/text_editor.cpp msgid "Standard" -msgstr "" +msgstr "標準" #: editor/plugins/script_text_editor.cpp msgid "Only resources from filesystem can be dropped." -msgstr "" +msgstr "只能拖拽檔案系統中的資源。" #: editor/plugins/script_text_editor.cpp msgid "Lookup Symbol" -msgstr "" +msgstr "查找符號" #: editor/plugins/script_text_editor.cpp msgid "Pick Color" -msgstr "" +msgstr "選擇顏色" #: editor/plugins/script_text_editor.cpp editor/plugins/text_editor.cpp #, fuzzy @@ -6074,46 +6125,46 @@ msgstr "轉換成..." #: editor/plugins/script_text_editor.cpp editor/plugins/text_editor.cpp msgid "Uppercase" -msgstr "" +msgstr "大寫" #: editor/plugins/script_text_editor.cpp editor/plugins/text_editor.cpp msgid "Lowercase" -msgstr "" +msgstr "小寫" #: editor/plugins/script_text_editor.cpp editor/plugins/text_editor.cpp msgid "Capitalize" -msgstr "" +msgstr "首字母大寫" #: editor/plugins/script_text_editor.cpp editor/plugins/text_editor.cpp msgid "Syntax Highlighter" -msgstr "" +msgstr "高亮顯示語法" #: editor/plugins/script_text_editor.cpp scene/gui/line_edit.cpp #: scene/gui/text_edit.cpp msgid "Cut" -msgstr "" +msgstr "剪切" #: editor/plugins/script_text_editor.cpp scene/gui/line_edit.cpp #: scene/gui/text_edit.cpp msgid "Select All" -msgstr "" +msgstr "選擇全部" #: editor/plugins/script_text_editor.cpp #, fuzzy msgid "Delete Line" -msgstr "刪除" +msgstr "删除行" #: editor/plugins/script_text_editor.cpp msgid "Indent Left" -msgstr "" +msgstr "向左縮進" #: editor/plugins/script_text_editor.cpp msgid "Indent Right" -msgstr "" +msgstr "向右縮進" #: editor/plugins/script_text_editor.cpp msgid "Toggle Comment" -msgstr "" +msgstr "切換注釋" #: editor/plugins/script_text_editor.cpp #, fuzzy @@ -6122,15 +6173,15 @@ msgstr "前往第...行" #: editor/plugins/script_text_editor.cpp msgid "Fold All Lines" -msgstr "" +msgstr "折疊所有行" #: editor/plugins/script_text_editor.cpp msgid "Unfold All Lines" -msgstr "" +msgstr "展開所有行" #: editor/plugins/script_text_editor.cpp msgid "Clone Down" -msgstr "" +msgstr "拷貝到下一行" #: editor/plugins/script_text_editor.cpp msgid "Complete Symbol" @@ -6152,40 +6203,39 @@ msgstr "轉換成..." #: editor/plugins/script_text_editor.cpp msgid "Auto Indent" -msgstr "" +msgstr "自動縮進" #: editor/plugins/script_text_editor.cpp #: modules/visual_script/visual_script_editor.cpp msgid "Toggle Breakpoint" -msgstr "" +msgstr "設置中斷點" #: editor/plugins/script_text_editor.cpp msgid "Remove All Breakpoints" -msgstr "" +msgstr "刪除所有中斷點" #: editor/plugins/script_text_editor.cpp #, fuzzy msgid "Go to Next Breakpoint" -msgstr "往下一步" +msgstr "轉到下一個中斷點" #: editor/plugins/script_text_editor.cpp #, fuzzy msgid "Go to Previous Breakpoint" -msgstr "往上一步" +msgstr "轉到上一個中斷點" #: editor/plugins/script_text_editor.cpp msgid "Find Previous" -msgstr "" +msgstr "查找上一個" #: editor/plugins/script_text_editor.cpp #, fuzzy msgid "Find in Files..." -msgstr "過濾檔案..." +msgstr "在檔中查找..。" #: editor/plugins/script_text_editor.cpp -#, fuzzy msgid "Go to Function..." -msgstr "建立函式" +msgstr "轉到函數…" #: editor/plugins/script_text_editor.cpp #, fuzzy @@ -6198,58 +6248,57 @@ msgstr "" #: editor/plugins/shader_editor_plugin.cpp msgid "Shader" -msgstr "" +msgstr "著色器" #: editor/plugins/skeleton_2d_editor_plugin.cpp msgid "This skeleton has no bones, create some children Bone2D nodes." -msgstr "" +msgstr "此骨架沒有骨骼綁定,請創建一些 Bone2d 骨骼子節點。" #: editor/plugins/skeleton_2d_editor_plugin.cpp msgid "Create Rest Pose from Bones" -msgstr "" +msgstr "從骨骼創建休息姿勢" #: editor/plugins/skeleton_2d_editor_plugin.cpp msgid "Set Rest Pose to Bones" -msgstr "" +msgstr "將休息姿勢設置為骨骼" #: editor/plugins/skeleton_2d_editor_plugin.cpp -#, fuzzy msgid "Skeleton2D" -msgstr "單例" +msgstr "2D骨骼節點" #: editor/plugins/skeleton_2d_editor_plugin.cpp msgid "Make Rest Pose (From Bones)" -msgstr "" +msgstr "創建休息姿勢 (從骨骼)" #: editor/plugins/skeleton_2d_editor_plugin.cpp msgid "Set Bones to Rest Pose" -msgstr "" +msgstr "將骨骼設定為靜止姿勢" #: editor/plugins/skeleton_editor_plugin.cpp msgid "Create physical bones" -msgstr "" +msgstr "創建物理骨骼" #: editor/plugins/skeleton_editor_plugin.cpp #, fuzzy msgid "Skeleton" -msgstr "單例" +msgstr "骨架" #: editor/plugins/skeleton_editor_plugin.cpp msgid "Create physical skeleton" -msgstr "" +msgstr "創建物理骨架" #: editor/plugins/skeleton_ik_editor_plugin.cpp #, fuzzy msgid "Play IK" -msgstr "開始" +msgstr "播放 IK" #: editor/plugins/spatial_editor_plugin.cpp msgid "Orthogonal" -msgstr "" +msgstr "正交" #: editor/plugins/spatial_editor_plugin.cpp msgid "Perspective" -msgstr "" +msgstr "透視" #: editor/plugins/spatial_editor_plugin.cpp msgid "Transform Aborted." @@ -6257,31 +6306,31 @@ msgstr "" #: editor/plugins/spatial_editor_plugin.cpp msgid "X-Axis Transform." -msgstr "" +msgstr "X軸變換。" #: editor/plugins/spatial_editor_plugin.cpp msgid "Y-Axis Transform." -msgstr "" +msgstr "Y軸變換。" #: editor/plugins/spatial_editor_plugin.cpp msgid "Z-Axis Transform." -msgstr "" +msgstr "Z 軸變換。" #: editor/plugins/spatial_editor_plugin.cpp msgid "View Plane Transform." -msgstr "" +msgstr "查看平面轉換。" #: editor/plugins/spatial_editor_plugin.cpp msgid "Scaling: " -msgstr "" +msgstr "縮放: " #: editor/plugins/spatial_editor_plugin.cpp msgid "Translating: " -msgstr "" +msgstr "翻譯: " #: editor/plugins/spatial_editor_plugin.cpp msgid "Rotating %s degrees." -msgstr "" +msgstr "旋轉 %s 度。" #: editor/plugins/spatial_editor_plugin.cpp msgid "Keying is disabled (no key inserted)." @@ -6297,80 +6346,79 @@ msgstr "" #: editor/plugins/spatial_editor_plugin.cpp msgid "Yaw" -msgstr "" +msgstr "偏航" #: editor/plugins/spatial_editor_plugin.cpp msgid "Objects Drawn" -msgstr "" +msgstr "繪製的物件" #: editor/plugins/spatial_editor_plugin.cpp -#, fuzzy msgid "Material Changes" -msgstr "正在儲存變更..." +msgstr "材質變更" #: editor/plugins/spatial_editor_plugin.cpp msgid "Shader Changes" -msgstr "" +msgstr "著色器變更" #: editor/plugins/spatial_editor_plugin.cpp msgid "Surface Changes" -msgstr "" +msgstr "表面變更" #: editor/plugins/spatial_editor_plugin.cpp msgid "Draw Calls" -msgstr "" +msgstr "繪製調用" #: editor/plugins/spatial_editor_plugin.cpp msgid "Vertices" -msgstr "" +msgstr "頂點" #: editor/plugins/spatial_editor_plugin.cpp msgid "Top View." -msgstr "" +msgstr "俯視圖。" #: editor/plugins/spatial_editor_plugin.cpp msgid "Bottom View." -msgstr "" +msgstr "底視圖。" #: editor/plugins/spatial_editor_plugin.cpp msgid "Bottom" -msgstr "" +msgstr "底部" #: editor/plugins/spatial_editor_plugin.cpp msgid "Left View." -msgstr "" +msgstr "左視圖。" #: editor/plugins/spatial_editor_plugin.cpp msgid "Left" -msgstr "" +msgstr "左" #: editor/plugins/spatial_editor_plugin.cpp msgid "Right View." -msgstr "" +msgstr "右視圖。" #: editor/plugins/spatial_editor_plugin.cpp msgid "Right" -msgstr "" +msgstr "右" #: editor/plugins/spatial_editor_plugin.cpp msgid "Front View." -msgstr "" +msgstr "前視圖。" #: editor/plugins/spatial_editor_plugin.cpp msgid "Front" -msgstr "" +msgstr "正面" #: editor/plugins/spatial_editor_plugin.cpp msgid "Rear View." -msgstr "" +msgstr "後視圖。" #: editor/plugins/spatial_editor_plugin.cpp msgid "Rear" -msgstr "" +msgstr "後" #: editor/plugins/spatial_editor_plugin.cpp msgid "Align with View" -msgstr "" +msgstr "與視圖對齊" #: editor/plugins/spatial_editor_plugin.cpp editor/scene_tree_dock.cpp msgid "No parent to instance a child at." @@ -6378,11 +6426,11 @@ msgstr "" #: editor/plugins/spatial_editor_plugin.cpp editor/scene_tree_dock.cpp msgid "This operation requires a single selected node." -msgstr "" +msgstr "此操作需要單個選定的節點。" #: editor/plugins/spatial_editor_plugin.cpp msgid "Lock View Rotation" -msgstr "" +msgstr "鎖定視圖旋轉" #: editor/plugins/spatial_editor_plugin.cpp msgid "Display Normal" @@ -6390,101 +6438,99 @@ msgstr "" #: editor/plugins/spatial_editor_plugin.cpp msgid "Display Wireframe" -msgstr "" +msgstr "顯示線框" #: editor/plugins/spatial_editor_plugin.cpp msgid "Display Overdraw" -msgstr "" +msgstr "顯示過度繪圖" #: editor/plugins/spatial_editor_plugin.cpp msgid "Display Unshaded" -msgstr "" +msgstr "顯示無陰影" #: editor/plugins/spatial_editor_plugin.cpp msgid "View Environment" -msgstr "" +msgstr "查看環境" #: editor/plugins/spatial_editor_plugin.cpp msgid "View Gizmos" -msgstr "" +msgstr "查看 Gizmos" #: editor/plugins/spatial_editor_plugin.cpp msgid "View Information" -msgstr "" +msgstr "查看資訊" #: editor/plugins/spatial_editor_plugin.cpp #, fuzzy msgid "View FPS" -msgstr "過濾檔案..." +msgstr "查看FPS" #: editor/plugins/spatial_editor_plugin.cpp msgid "Half Resolution" -msgstr "" +msgstr "半分辯率" #: editor/plugins/spatial_editor_plugin.cpp msgid "Audio Listener" -msgstr "" +msgstr "音訊監聽器" #: editor/plugins/spatial_editor_plugin.cpp -#, fuzzy msgid "Doppler Enable" -msgstr "啟用" +msgstr "啟用多普拉效應" #: editor/plugins/spatial_editor_plugin.cpp msgid "Cinematic Preview" -msgstr "" +msgstr "影片預覽" #: editor/plugins/spatial_editor_plugin.cpp msgid "Freelook Left" -msgstr "" +msgstr "自由視圖 左" #: editor/plugins/spatial_editor_plugin.cpp msgid "Freelook Right" -msgstr "" +msgstr "自由視圖 右" #: editor/plugins/spatial_editor_plugin.cpp -#, fuzzy msgid "Freelook Forward" -msgstr "往前" +msgstr "自由視圖 前" #: editor/plugins/spatial_editor_plugin.cpp msgid "Freelook Backwards" -msgstr "" +msgstr "自由視圖 后" #: editor/plugins/spatial_editor_plugin.cpp msgid "Freelook Up" -msgstr "" +msgstr "自由視圖 上" #: editor/plugins/spatial_editor_plugin.cpp msgid "Freelook Down" -msgstr "" +msgstr "自由視圖 下" #: editor/plugins/spatial_editor_plugin.cpp msgid "Freelook Speed Modifier" -msgstr "" +msgstr "自由視圖速度調節" #: editor/plugins/spatial_editor_plugin.cpp msgid "" "Note: The FPS value displayed is the editor's framerate.\n" "It cannot be used as a reliable indication of in-game performance." -msgstr "" +msgstr "注意: 顯示的FPS值是編輯器的幀率。 它不能用于表現遊戲內的實際性能" #: editor/plugins/spatial_editor_plugin.cpp msgid "View Rotation Locked" -msgstr "" +msgstr "視圖旋轉已鎖定" #: editor/plugins/spatial_editor_plugin.cpp msgid "XForm Dialog" -msgstr "" +msgstr "XForm對話框" #: editor/plugins/spatial_editor_plugin.cpp msgid "Snap Nodes To Floor" -msgstr "" +msgstr "將節點捕捉到地面" #: editor/plugins/spatial_editor_plugin.cpp #, fuzzy msgid "Select Mode (Q)" -msgstr "僅選擇區域" +msgstr "選擇模式 (Q)" #: editor/plugins/spatial_editor_plugin.cpp msgid "" @@ -6495,59 +6541,59 @@ msgstr "" #: editor/plugins/spatial_editor_plugin.cpp msgid "Move Mode (W)" -msgstr "" +msgstr "移動模式 (W)" #: editor/plugins/spatial_editor_plugin.cpp msgid "Rotate Mode (E)" -msgstr "" +msgstr "旋轉模式 (E)" #: editor/plugins/spatial_editor_plugin.cpp msgid "Scale Mode (R)" -msgstr "" +msgstr "縮放模式 (R)" #: editor/plugins/spatial_editor_plugin.cpp msgid "Local Coords" -msgstr "" +msgstr "本地坐標" #: editor/plugins/spatial_editor_plugin.cpp msgid "Local Space Mode (%s)" -msgstr "" +msgstr "本地空間模式(%s)" #: editor/plugins/spatial_editor_plugin.cpp msgid "Snap Mode (%s)" -msgstr "" +msgstr "捕捉模式 (%s)" #: editor/plugins/spatial_editor_plugin.cpp msgid "Bottom View" -msgstr "" +msgstr "底部視圖" #: editor/plugins/spatial_editor_plugin.cpp msgid "Top View" -msgstr "" +msgstr "俯視圖" #: editor/plugins/spatial_editor_plugin.cpp msgid "Rear View" -msgstr "" +msgstr "後視圖" #: editor/plugins/spatial_editor_plugin.cpp msgid "Front View" -msgstr "" +msgstr "前視圖" #: editor/plugins/spatial_editor_plugin.cpp msgid "Left View" -msgstr "" +msgstr "左視圖" #: editor/plugins/spatial_editor_plugin.cpp msgid "Right View" -msgstr "" +msgstr "右視圖" #: editor/plugins/spatial_editor_plugin.cpp msgid "Switch Perspective/Orthogonal view" -msgstr "" +msgstr "切換 投影/正交 視圖" #: editor/plugins/spatial_editor_plugin.cpp msgid "Insert Animation Key" -msgstr "" +msgstr "插入動畫幀" #: editor/plugins/spatial_editor_plugin.cpp msgid "Focus Origin" @@ -6559,64 +6605,64 @@ msgstr "" #: editor/plugins/spatial_editor_plugin.cpp msgid "Align Selection With View" -msgstr "" +msgstr "將所選內容與視圖對齊" #: editor/plugins/spatial_editor_plugin.cpp #, fuzzy msgid "Tool Select" -msgstr "所有的選擇" +msgstr "工具選擇" #: editor/plugins/spatial_editor_plugin.cpp msgid "Tool Move" -msgstr "" +msgstr "工具移動" #: editor/plugins/spatial_editor_plugin.cpp msgid "Tool Rotate" -msgstr "" +msgstr "工具旋轉" #: editor/plugins/spatial_editor_plugin.cpp msgid "Tool Scale" -msgstr "" +msgstr "縮放工具" #: editor/plugins/spatial_editor_plugin.cpp msgid "Toggle Freelook" -msgstr "" +msgstr "切換自由觀察模式" #: editor/plugins/spatial_editor_plugin.cpp msgid "Transform" -msgstr "" +msgstr "變換" #: editor/plugins/spatial_editor_plugin.cpp msgid "Snap object to floor" -msgstr "" +msgstr "將對象吸附到地板" #: editor/plugins/spatial_editor_plugin.cpp msgid "Transform Dialog..." -msgstr "" +msgstr "轉換對話框..。" #: editor/plugins/spatial_editor_plugin.cpp msgid "1 Viewport" -msgstr "" +msgstr "1個視口" #: editor/plugins/spatial_editor_plugin.cpp msgid "2 Viewports" -msgstr "" +msgstr "2個視口" #: editor/plugins/spatial_editor_plugin.cpp msgid "2 Viewports (Alt)" -msgstr "" +msgstr "2個視口 (Alt)" #: editor/plugins/spatial_editor_plugin.cpp msgid "3 Viewports" -msgstr "" +msgstr "3個視口" #: editor/plugins/spatial_editor_plugin.cpp msgid "3 Viewports (Alt)" -msgstr "" +msgstr "3個視口 (Alt)" #: editor/plugins/spatial_editor_plugin.cpp msgid "4 Viewports" -msgstr "" +msgstr "4個視口" #: editor/plugins/spatial_editor_plugin.cpp msgid "Gizmos" @@ -6624,48 +6670,48 @@ msgstr "" #: editor/plugins/spatial_editor_plugin.cpp msgid "View Origin" -msgstr "" +msgstr "顯示原點" #: editor/plugins/spatial_editor_plugin.cpp msgid "View Grid" -msgstr "" +msgstr "顯示網格" #: editor/plugins/spatial_editor_plugin.cpp #: modules/gridmap/grid_map_editor_plugin.cpp msgid "Settings" -msgstr "" +msgstr "設定" #: editor/plugins/spatial_editor_plugin.cpp msgid "Snap Settings" -msgstr "" +msgstr "吸附設定" #: editor/plugins/spatial_editor_plugin.cpp msgid "Translate Snap:" -msgstr "" +msgstr "移動吸附" #: editor/plugins/spatial_editor_plugin.cpp msgid "Rotate Snap (deg.):" -msgstr "" +msgstr "旋轉吸附(度):" #: editor/plugins/spatial_editor_plugin.cpp msgid "Scale Snap (%):" -msgstr "" +msgstr "縮放吸附 (%):" #: editor/plugins/spatial_editor_plugin.cpp msgid "Viewport Settings" -msgstr "" +msgstr "視區設定" #: editor/plugins/spatial_editor_plugin.cpp msgid "Perspective FOV (deg.):" -msgstr "" +msgstr "透視視角(度):" #: editor/plugins/spatial_editor_plugin.cpp msgid "View Z-Near:" -msgstr "" +msgstr "查看Z-Near:" #: editor/plugins/spatial_editor_plugin.cpp msgid "View Z-Far:" -msgstr "" +msgstr "查看 Z-Far:" #: editor/plugins/spatial_editor_plugin.cpp msgid "Transform Change" @@ -6677,31 +6723,51 @@ msgstr "" #: editor/plugins/spatial_editor_plugin.cpp msgid "Rotate (deg.):" -msgstr "" +msgstr "旋轉 (度):" #: editor/plugins/spatial_editor_plugin.cpp msgid "Scale (ratio):" -msgstr "" +msgstr "縮放(比例):" #: editor/plugins/spatial_editor_plugin.cpp msgid "Transform Type" -msgstr "" +msgstr "轉換類型" #: editor/plugins/spatial_editor_plugin.cpp msgid "Pre" -msgstr "" +msgstr "前" #: editor/plugins/spatial_editor_plugin.cpp msgid "Post" -msgstr "" +msgstr "發佈" #: editor/plugins/spatial_editor_plugin.cpp msgid "Nameless gizmo" -msgstr "" +msgstr "未命名的gizmo" + +#: editor/plugins/sprite_editor_plugin.cpp +#, fuzzy +msgid "Create Mesh2D" +msgstr "創建2D網格" + +#: editor/plugins/sprite_editor_plugin.cpp +#, fuzzy +msgid "Create Polygon2D" +msgstr "創建3D多邊形" + +#: editor/plugins/sprite_editor_plugin.cpp +#, fuzzy +msgid "Create CollisionPolygon2D" +msgstr "創建碰撞多邊形" + +#: editor/plugins/sprite_editor_plugin.cpp +#, fuzzy +msgid "Create LightOccluder2D" +msgstr "創建遮光多邊形" #: editor/plugins/sprite_editor_plugin.cpp msgid "Sprite is empty!" -msgstr "" +msgstr "Sprite 是空的!" #: editor/plugins/sprite_editor_plugin.cpp msgid "Can't convert a sprite using animation frames to mesh." @@ -6709,7 +6775,22 @@ msgstr "" #: editor/plugins/sprite_editor_plugin.cpp msgid "Invalid geometry, can't replace by mesh." -msgstr "" +msgstr "無效的幾何圖形,無法用網格替換。" + +#: editor/plugins/sprite_editor_plugin.cpp +#, fuzzy +msgid "Invalid geometry, can't create polygon." +msgstr "無效的幾何圖形,無法用網格替換。" + +#: editor/plugins/sprite_editor_plugin.cpp +#, fuzzy +msgid "Invalid geometry, can't create collision polygon." +msgstr "無效的幾何圖形,無法用網格替換。" + +#: editor/plugins/sprite_editor_plugin.cpp +#, fuzzy +msgid "Invalid geometry, can't create light occluder." +msgstr "無效的幾何圖形,無法用網格替換。" #: editor/plugins/sprite_editor_plugin.cpp msgid "Sprite" @@ -6717,98 +6798,108 @@ msgstr "" #: editor/plugins/sprite_editor_plugin.cpp #, fuzzy -msgid "Convert to 2D Mesh" -msgstr "轉換成..." +msgid "Convert to Mesh2D" +msgstr "轉換為2D網格" #: editor/plugins/sprite_editor_plugin.cpp #, fuzzy -msgid "Create 2D Mesh" -msgstr "新增 %s" +msgid "Convert to Polygon2D" +msgstr "轉換為2D網格" + +#: editor/plugins/sprite_editor_plugin.cpp +#, fuzzy +msgid "Create CollisionPolygon2D Sibling" +msgstr "創建碰撞多邊形" + +#: editor/plugins/sprite_editor_plugin.cpp +#, fuzzy +msgid "Create LightOccluder2D Sibling" +msgstr "創建遮光多邊形" #: editor/plugins/sprite_editor_plugin.cpp msgid "Simplification: " -msgstr "" +msgstr "簡化: " #: editor/plugins/sprite_editor_plugin.cpp msgid "Grow (Pixels): " -msgstr "" +msgstr "擴展(像素): " #: editor/plugins/sprite_editor_plugin.cpp #, fuzzy msgid "Update Preview" -msgstr "預覽:" +msgstr "更新預覽" #: editor/plugins/sprite_editor_plugin.cpp #, fuzzy msgid "Settings:" -msgstr "專案設定" +msgstr "設定:" #: editor/plugins/sprite_frames_editor_plugin.cpp msgid "ERROR: Couldn't load frame resource!" -msgstr "" +msgstr "錯誤:無法加載幀資源!" #: editor/plugins/sprite_frames_editor_plugin.cpp msgid "Add Frame" -msgstr "" +msgstr "添加幀" #: editor/plugins/sprite_frames_editor_plugin.cpp msgid "Resource clipboard is empty or not a texture!" -msgstr "" +msgstr "資源剪貼板為空或不是紋理!" #: editor/plugins/sprite_frames_editor_plugin.cpp msgid "Paste Frame" -msgstr "" +msgstr "粘貼幀" #: editor/plugins/sprite_frames_editor_plugin.cpp msgid "Add Empty" -msgstr "" +msgstr "添加空白幀" #: editor/plugins/sprite_frames_editor_plugin.cpp msgid "Change Animation FPS" -msgstr "" +msgstr "更改動畫fps" #: editor/plugins/sprite_frames_editor_plugin.cpp msgid "(empty)" -msgstr "" +msgstr "(空)" #: editor/plugins/sprite_frames_editor_plugin.cpp #, fuzzy msgid "Animations:" -msgstr "動畫空間。" +msgstr "動畫:" #: editor/plugins/sprite_frames_editor_plugin.cpp #, fuzzy msgid "New Animation" -msgstr "動畫最佳化" +msgstr "新動畫" #: editor/plugins/sprite_frames_editor_plugin.cpp msgid "Speed (FPS):" -msgstr "" +msgstr "速度 (FPS):" #: editor/plugins/sprite_frames_editor_plugin.cpp msgid "Loop" -msgstr "" +msgstr "循環" #: editor/plugins/sprite_frames_editor_plugin.cpp #, fuzzy msgid "Animation Frames:" -msgstr "動畫空間。" +msgstr "動畫幀:" #: editor/plugins/sprite_frames_editor_plugin.cpp msgid "Insert Empty (Before)" -msgstr "" +msgstr "插入空白幀(之前)" #: editor/plugins/sprite_frames_editor_plugin.cpp msgid "Insert Empty (After)" -msgstr "" +msgstr "插入空白幀(之后)" #: editor/plugins/sprite_frames_editor_plugin.cpp msgid "Move (Before)" -msgstr "" +msgstr "移動(以前)" #: editor/plugins/sprite_frames_editor_plugin.cpp msgid "Move (After)" -msgstr "" +msgstr "移動(之後)" #: editor/plugins/sprite_frames_editor_plugin.cpp msgid "SpriteFrames" @@ -6816,32 +6907,32 @@ msgstr "" #: editor/plugins/texture_region_editor_plugin.cpp msgid "Set Region Rect" -msgstr "" +msgstr "設置紋理區域" #: editor/plugins/texture_region_editor_plugin.cpp msgid "Set Margin" -msgstr "" +msgstr "設置邊距" #: editor/plugins/texture_region_editor_plugin.cpp msgid "Snap Mode:" -msgstr "" +msgstr "吸附模式:" #: editor/plugins/texture_region_editor_plugin.cpp #: scene/resources/visual_shader.cpp msgid "None" -msgstr "" +msgstr "無" #: editor/plugins/texture_region_editor_plugin.cpp msgid "Pixel Snap" -msgstr "" +msgstr "像素吸附" #: editor/plugins/texture_region_editor_plugin.cpp msgid "Grid Snap" -msgstr "" +msgstr "網格吸附" #: editor/plugins/texture_region_editor_plugin.cpp msgid "Auto Slice" -msgstr "" +msgstr "自動剪切" #: editor/plugins/texture_region_editor_plugin.cpp msgid "Offset:" @@ -6849,7 +6940,7 @@ msgstr "" #: editor/plugins/texture_region_editor_plugin.cpp msgid "Step:" -msgstr "" +msgstr "步驟:" #: editor/plugins/texture_region_editor_plugin.cpp msgid "Sep.:" @@ -6861,40 +6952,40 @@ msgstr "" #: editor/plugins/theme_editor_plugin.cpp msgid "Can't save theme to file:" -msgstr "" +msgstr "無法將主題保存到檔案:" #: editor/plugins/theme_editor_plugin.cpp msgid "Add All Items" -msgstr "" +msgstr "添加所有項目" #: editor/plugins/theme_editor_plugin.cpp msgid "Add All" -msgstr "" +msgstr "全部添加" #: editor/plugins/theme_editor_plugin.cpp msgid "Remove All Items" -msgstr "" +msgstr "删除所有項目" #: editor/plugins/theme_editor_plugin.cpp #, fuzzy msgid "Remove All" -msgstr "移除" +msgstr "全部删除" #: editor/plugins/theme_editor_plugin.cpp msgid "Edit theme..." -msgstr "" +msgstr "編輯主題…" #: editor/plugins/theme_editor_plugin.cpp msgid "Theme editing menu." -msgstr "" +msgstr "主題編輯菜單。" #: editor/plugins/theme_editor_plugin.cpp msgid "Add Class Items" -msgstr "" +msgstr "添加類項" #: editor/plugins/theme_editor_plugin.cpp msgid "Remove Class Items" -msgstr "" +msgstr "删除類項" #: editor/plugins/theme_editor_plugin.cpp msgid "Create Empty Template" @@ -6906,7 +6997,7 @@ msgstr "" #: editor/plugins/theme_editor_plugin.cpp msgid "Create From Current Editor Theme" -msgstr "" +msgstr "從當前編輯器主題模板創建" #: editor/plugins/theme_editor_plugin.cpp msgid "CheckBox Radio1" @@ -6918,116 +7009,113 @@ msgstr "" #: editor/plugins/theme_editor_plugin.cpp msgid "Item" -msgstr "" +msgstr "項目" #: editor/plugins/theme_editor_plugin.cpp msgid "Check Item" -msgstr "" +msgstr "檢查項目" #: editor/plugins/theme_editor_plugin.cpp msgid "Checked Item" -msgstr "" +msgstr "已檢查的項目" #: editor/plugins/theme_editor_plugin.cpp msgid "Radio Item" -msgstr "" +msgstr "單選項目" #: editor/plugins/theme_editor_plugin.cpp msgid "Checked Radio Item" -msgstr "" +msgstr "選中的單選項目" #: editor/plugins/theme_editor_plugin.cpp msgid "Has" -msgstr "" +msgstr "有" #: editor/plugins/theme_editor_plugin.cpp msgid "Many" -msgstr "" +msgstr "許多" #: editor/plugins/theme_editor_plugin.cpp msgid "Has,Many,Options" -msgstr "" +msgstr "有, 許多, 選項" #: editor/plugins/theme_editor_plugin.cpp msgid "Tab 1" -msgstr "" +msgstr "標籤 1" #: editor/plugins/theme_editor_plugin.cpp msgid "Tab 2" -msgstr "" +msgstr "標籤 2" #: editor/plugins/theme_editor_plugin.cpp msgid "Tab 3" -msgstr "" +msgstr "標籤 3" #: editor/plugins/theme_editor_plugin.cpp msgid "Data Type:" -msgstr "" +msgstr "數據類型:" #: editor/plugins/theme_editor_plugin.cpp msgid "Icon" -msgstr "" +msgstr "圖標" #: editor/plugins/theme_editor_plugin.cpp editor/rename_dialog.cpp msgid "Style" -msgstr "" +msgstr "樣式" #: editor/plugins/theme_editor_plugin.cpp msgid "Font" -msgstr "" +msgstr "字體" #: editor/plugins/theme_editor_plugin.cpp msgid "Color" -msgstr "" +msgstr "顏色" #: editor/plugins/theme_editor_plugin.cpp msgid "Constant" msgstr "固定" #: editor/plugins/tile_map_editor_plugin.cpp -#, fuzzy msgid "Erase Selection" -msgstr "所有的選擇" +msgstr "擦除選中" #: editor/plugins/tile_map_editor_plugin.cpp #, fuzzy msgid "Fix Invalid Tiles" -msgstr "不能使用的名稱。" +msgstr "修復無效的磁貼" #: editor/plugins/tile_map_editor_plugin.cpp -#, fuzzy msgid "Cut Selection" -msgstr "所有的選擇" +msgstr "切割選擇" #: editor/plugins/tile_map_editor_plugin.cpp msgid "Paint TileMap" -msgstr "" +msgstr "繪製磚塊地圖" #: editor/plugins/tile_map_editor_plugin.cpp -#, fuzzy msgid "Line Draw" -msgstr "線性" +msgstr "線性繪製" #: editor/plugins/tile_map_editor_plugin.cpp msgid "Rectangle Paint" -msgstr "" +msgstr "繪製矩形" #: editor/plugins/tile_map_editor_plugin.cpp msgid "Bucket Fill" -msgstr "" +msgstr "油漆桶填充" #: editor/plugins/tile_map_editor_plugin.cpp msgid "Erase TileMap" -msgstr "" +msgstr "擦除磚塊地圖" #: editor/plugins/tile_map_editor_plugin.cpp #, fuzzy msgid "Find Tile" -msgstr "尋找" +msgstr "查找磁貼" #: editor/plugins/tile_map_editor_plugin.cpp msgid "Transpose" -msgstr "" +msgstr "轉置" #: editor/plugins/tile_map_editor_plugin.cpp msgid "Mirror X" @@ -7039,75 +7127,73 @@ msgstr "" #: editor/plugins/tile_map_editor_plugin.cpp msgid "Paint Tile" -msgstr "" +msgstr "繪製磁貼" #: editor/plugins/tile_map_editor_plugin.cpp msgid "Pick Tile" -msgstr "" +msgstr "選擇磁貼" #: editor/plugins/tile_map_editor_plugin.cpp #, fuzzy msgid "Copy Selection" -msgstr "移除所選" +msgstr "複製選擇" #: editor/plugins/tile_map_editor_plugin.cpp msgid "Rotate left" -msgstr "" +msgstr "向左旋轉" #: editor/plugins/tile_map_editor_plugin.cpp msgid "Rotate right" -msgstr "" +msgstr "向右旋轉" #: editor/plugins/tile_map_editor_plugin.cpp msgid "Flip horizontally" -msgstr "" +msgstr "水平翻轉" #: editor/plugins/tile_map_editor_plugin.cpp msgid "Flip vertically" -msgstr "" +msgstr "垂直翻轉" #: editor/plugins/tile_map_editor_plugin.cpp -#, fuzzy msgid "Clear transform" -msgstr "動畫更改座標" +msgstr "清除變換" #: editor/plugins/tile_set_editor_plugin.cpp msgid "Add Texture(s) to TileSet." -msgstr "" +msgstr "將紋理添加到磁貼集。" #: editor/plugins/tile_set_editor_plugin.cpp -#, fuzzy msgid "Remove selected Texture from TileSet." -msgstr "移除" +msgstr "從磁貼集中刪除選定的紋理。" #: editor/plugins/tile_set_editor_plugin.cpp msgid "Create from Scene" -msgstr "" +msgstr "從場景創建" #: editor/plugins/tile_set_editor_plugin.cpp msgid "Merge from Scene" -msgstr "" +msgstr "從場景合併" #: editor/plugins/tile_set_editor_plugin.cpp msgid "Next Coordinate" -msgstr "" +msgstr "下一個座標" #: editor/plugins/tile_set_editor_plugin.cpp msgid "Select the next shape, subtile, or Tile." -msgstr "" +msgstr "選擇下一個形狀、子磁貼或磁貼。" #: editor/plugins/tile_set_editor_plugin.cpp #, fuzzy msgid "Previous Coordinate" -msgstr "上個分頁" +msgstr "上一個座標" #: editor/plugins/tile_set_editor_plugin.cpp msgid "Select the previous shape, subtile, or Tile." -msgstr "" +msgstr "選擇上一個形狀、子磁貼或磁貼。" #: editor/plugins/tile_set_editor_plugin.cpp msgid "Copy bitmask." -msgstr "" +msgstr "複製位掩碼。" #: editor/plugins/tile_set_editor_plugin.cpp #, fuzzy @@ -7115,53 +7201,52 @@ msgid "Paste bitmask." msgstr "貼上參數" #: editor/plugins/tile_set_editor_plugin.cpp -#, fuzzy msgid "Erase bitmask." -msgstr "所有的選擇" +msgstr "擦除位掩碼." #: editor/plugins/tile_set_editor_plugin.cpp #, fuzzy msgid "Create a new rectangle." -msgstr "新增 %s" +msgstr "創建新矩形。" #: editor/plugins/tile_set_editor_plugin.cpp #, fuzzy msgid "Create a new polygon." -msgstr "新增資料夾" +msgstr "創建新多邊形。" #: editor/plugins/tile_set_editor_plugin.cpp msgid "Keep polygon inside region Rect." -msgstr "" +msgstr "將多邊形保留在區域內。" #: editor/plugins/tile_set_editor_plugin.cpp msgid "Enable snap and show grid (configurable via the Inspector)." -msgstr "" +msgstr "啟用吸附和顯示網格 (可通過屬性面板配置)。" #: editor/plugins/tile_set_editor_plugin.cpp msgid "Display Tile Names (Hold Alt Key)" -msgstr "" +msgstr "顯示磁貼名稱 (按住 ALT 鍵)" #: editor/plugins/tile_set_editor_plugin.cpp #, fuzzy msgid "Remove selected texture? This will remove all tiles which use it." -msgstr "移除" +msgstr "刪除選定的紋理?這將刪除使用它的所有磁貼。" #: editor/plugins/tile_set_editor_plugin.cpp msgid "You haven't selected a texture to remove." -msgstr "" +msgstr "您尚未選擇要刪除的紋理。" #: editor/plugins/tile_set_editor_plugin.cpp msgid "Create from scene? This will overwrite all current tiles." -msgstr "" +msgstr "從場景創建?這將覆蓋所有當前磁貼。" #: editor/plugins/tile_set_editor_plugin.cpp msgid "Merge from scene?" -msgstr "" +msgstr "確定合併場景?" #: editor/plugins/tile_set_editor_plugin.cpp #, fuzzy msgid "Remove Texture" -msgstr "移除" +msgstr "刪除紋理" #: editor/plugins/tile_set_editor_plugin.cpp msgid "%s file(s) were not added because was already on the list." @@ -7174,9 +7259,8 @@ msgid "" msgstr "" #: editor/plugins/tile_set_editor_plugin.cpp -#, fuzzy msgid "Delete selected Rect." -msgstr "確定刪除所選擇的檔案嗎?" +msgstr "删除所選的Rect。" #: editor/plugins/tile_set_editor_plugin.cpp #, fuzzy @@ -7188,7 +7272,7 @@ msgstr "新增資料夾" #: editor/plugins/tile_set_editor_plugin.cpp #, fuzzy msgid "Delete polygon." -msgstr "刪除" +msgstr "刪除多邊形。" #: editor/plugins/tile_set_editor_plugin.cpp #, fuzzy @@ -7220,31 +7304,30 @@ msgstr "新增資料夾" #: editor/plugins/tile_set_editor_plugin.cpp msgid "Set Tile Region" -msgstr "" +msgstr "設置磁貼區域" #: editor/plugins/tile_set_editor_plugin.cpp #, fuzzy msgid "Create Tile" -msgstr "新增資料夾" +msgstr "創建磁貼" #: editor/plugins/tile_set_editor_plugin.cpp msgid "Set Tile Icon" -msgstr "" +msgstr "設定磁貼圖標" #: editor/plugins/tile_set_editor_plugin.cpp -#, fuzzy msgid "Edit Tile Bitmask" -msgstr "過濾檔案..." +msgstr "編輯磁貼位掩碼" #: editor/plugins/tile_set_editor_plugin.cpp #, fuzzy msgid "Edit Collision Polygon" -msgstr "新增資料夾" +msgstr "編輯碰撞多邊形" #: editor/plugins/tile_set_editor_plugin.cpp #, fuzzy msgid "Edit Occlusion Polygon" -msgstr "新增資料夾" +msgstr "編輯遮擋多邊形" #: editor/plugins/tile_set_editor_plugin.cpp #, fuzzy @@ -7252,45 +7335,41 @@ msgid "Edit Navigation Polygon" msgstr "新增資料夾" #: editor/plugins/tile_set_editor_plugin.cpp -#, fuzzy msgid "Paste Tile Bitmask" -msgstr "貼上參數" +msgstr "粘貼磁貼位掩碼" #: editor/plugins/tile_set_editor_plugin.cpp msgid "Clear Tile Bitmask" -msgstr "" +msgstr "清除磁貼位掩碼" #: editor/plugins/tile_set_editor_plugin.cpp msgid "Make Polygon Concave" -msgstr "" +msgstr "使多邊形塌陷" #: editor/plugins/tile_set_editor_plugin.cpp -#, fuzzy msgid "Make Polygon Convex" -msgstr "新增資料夾" +msgstr "使多邊形凸起" #: editor/plugins/tile_set_editor_plugin.cpp -#, fuzzy msgid "Remove Tile" -msgstr "移除" +msgstr "移除磁貼" #: editor/plugins/tile_set_editor_plugin.cpp #, fuzzy msgid "Remove Collision Polygon" -msgstr "移除" +msgstr "刪除碰撞多邊形" #: editor/plugins/tile_set_editor_plugin.cpp msgid "Remove Occlusion Polygon" -msgstr "" +msgstr "刪除遮擋多邊形" #: editor/plugins/tile_set_editor_plugin.cpp msgid "Remove Navigation Polygon" -msgstr "" +msgstr "刪除導航多邊形" #: editor/plugins/tile_set_editor_plugin.cpp -#, fuzzy msgid "Edit Tile Priority" -msgstr "過濾檔案..." +msgstr "編輯磁貼優先級" #: editor/plugins/tile_set_editor_plugin.cpp msgid "Edit Tile Z Index" @@ -7299,17 +7378,17 @@ msgstr "" #: editor/plugins/tile_set_editor_plugin.cpp #, fuzzy msgid "Create Collision Polygon" -msgstr "新增資料夾" +msgstr "創建碰撞多邊形" #: editor/plugins/tile_set_editor_plugin.cpp #, fuzzy msgid "Create Occlusion Polygon" -msgstr "新增資料夾" +msgstr "創建遮擋多邊形" #: editor/plugins/tile_set_editor_plugin.cpp #, fuzzy msgid "This property can't be changed." -msgstr "此操作無法在沒有根節點的情況下進行。" +msgstr "無法更改此屬性。" #: editor/plugins/tile_set_editor_plugin.cpp msgid "TileSet" @@ -7317,54 +7396,58 @@ msgstr "" #: editor/plugins/visual_shader_editor_plugin.cpp msgid "Set Uniform Name" -msgstr "" +msgstr "設置統一名稱" #: editor/plugins/visual_shader_editor_plugin.cpp msgid "Set Input Default Port" -msgstr "" +msgstr "設置輸入預設端口" #: editor/plugins/visual_shader_editor_plugin.cpp msgid "Add Node to Visual Shader" -msgstr "" +msgstr "將節點添加到可視化著色器" #: editor/plugins/visual_shader_editor_plugin.cpp -#, fuzzy msgid "Duplicate Nodes" -msgstr "複製動畫關鍵畫格" +msgstr "複製節點" + +#: editor/plugins/visual_shader_editor_plugin.cpp +#, fuzzy +msgid "Delete Nodes" +msgstr "刪除" #: editor/plugins/visual_shader_editor_plugin.cpp msgid "Visual Shader Input Type Changed" -msgstr "" +msgstr "視覺著色器輸入類型已更改" #: editor/plugins/visual_shader_editor_plugin.cpp msgid "Vertex" -msgstr "" +msgstr "頂點" #: editor/plugins/visual_shader_editor_plugin.cpp #, fuzzy msgid "Fragment" -msgstr "輸入參數" +msgstr "片段" #: editor/plugins/visual_shader_editor_plugin.cpp msgid "Light" -msgstr "" +msgstr "燈光" #: editor/plugins/visual_shader_editor_plugin.cpp msgid "VisualShader" -msgstr "" +msgstr "視覺化著色器" #: editor/plugins/visual_shader_editor_plugin.cpp #, fuzzy msgid "Edit Visual Property" -msgstr "過濾檔案..." +msgstr "編輯可視屬性" #: editor/plugins/visual_shader_editor_plugin.cpp msgid "Visual Shader Mode Changed" -msgstr "" +msgstr "視覺著色器模式已更改" #: editor/project_export.cpp msgid "Runnable" -msgstr "" +msgstr "可運行的" #: editor/project_export.cpp msgid "Delete patch '%s' from list?" @@ -7372,7 +7455,7 @@ msgstr "" #: editor/project_export.cpp msgid "Delete preset '%s'?" -msgstr "" +msgstr "是否删除預設“%s”?" #: editor/project_export.cpp msgid "" @@ -7389,54 +7472,51 @@ msgstr "" #: editor/project_export.cpp msgid "Release" -msgstr "" +msgstr "釋放" #: editor/project_export.cpp -#, fuzzy msgid "Exporting All" -msgstr "輸出" +msgstr "全部導出" #: editor/project_export.cpp -#, fuzzy msgid "The given export path doesn't exist:" -msgstr "檔案不存在" +msgstr "給定的導出路徑不存在:" #: editor/project_export.cpp msgid "Export templates for this platform are missing/corrupted:" -msgstr "" +msgstr "無此平臺的導出範本:" #: editor/project_export.cpp msgid "Presets" -msgstr "" +msgstr "預設" #: editor/project_export.cpp editor/project_settings_editor.cpp msgid "Add..." -msgstr "" +msgstr "添加…" #: editor/project_export.cpp -#, fuzzy msgid "Export Path" -msgstr "輸出" +msgstr "導出路徑" #: editor/project_export.cpp msgid "Resources" -msgstr "" +msgstr "資源" #: editor/project_export.cpp msgid "Export all resources in the project" -msgstr "" +msgstr "導出項目中的所有資源" #: editor/project_export.cpp msgid "Export selected scenes (and dependencies)" -msgstr "" +msgstr "導出選定的場景 (和依賴項)" #: editor/project_export.cpp msgid "Export selected resources (and dependencies)" -msgstr "" +msgstr "導出選定的資源 (和依賴項)" #: editor/project_export.cpp msgid "Export Mode:" -msgstr "" +msgstr "導出模式:" #: editor/project_export.cpp msgid "Resources to export:" @@ -7454,205 +7534,201 @@ msgstr "" #: editor/project_export.cpp msgid "Patches" -msgstr "" +msgstr "補丁" #: editor/project_export.cpp msgid "Make Patch" -msgstr "" +msgstr "製作補丁" #: editor/project_export.cpp msgid "Features" -msgstr "" +msgstr "功能" #: editor/project_export.cpp msgid "Custom (comma-separated):" -msgstr "" +msgstr "自訂 (逗號分隔):" #: editor/project_export.cpp #, fuzzy msgid "Feature List:" -msgstr "方法:" +msgstr "功能清單:" #: editor/project_export.cpp #, fuzzy msgid "Script" -msgstr "開啟最近存取" +msgstr "腳本" #: editor/project_export.cpp -#, fuzzy msgid "Script Export Mode:" -msgstr "輸出" +msgstr "腳本導出模式:" #: editor/project_export.cpp msgid "Text" -msgstr "" +msgstr "文本" #: editor/project_export.cpp msgid "Compiled" -msgstr "" +msgstr "編譯" #: editor/project_export.cpp msgid "Encrypted (Provide Key Below)" -msgstr "" +msgstr "加密 (使用以下密碼)" #: editor/project_export.cpp msgid "Invalid Encryption Key (must be 64 characters long)" -msgstr "" +msgstr "不正確加密金鑰 (長度必須為64個字元)" #: editor/project_export.cpp msgid "Script Encryption Key (256-bits as hex):" -msgstr "" +msgstr "腳本加密金鑰 (256位十六進位碼):" #: editor/project_export.cpp -#, fuzzy msgid "Export PCK/Zip" -msgstr "輸出" +msgstr "導出 PCK/ZIP" #: editor/project_export.cpp #, fuzzy msgid "Export mode?" -msgstr "輸出" +msgstr "導出模式:" #: editor/project_export.cpp #, fuzzy msgid "Export All" -msgstr "輸出" +msgstr "全部導出" #: editor/project_export.cpp msgid "Export templates for this platform are missing:" -msgstr "" +msgstr "缺少此平臺的導出範本:" #: editor/project_export.cpp msgid "Export With Debug" -msgstr "" +msgstr "導出為調試" #: editor/project_manager.cpp -#, fuzzy msgid "The path does not exist." -msgstr "檔案不存在" +msgstr "路徑不存在." #: editor/project_manager.cpp msgid "Invalid '.zip' project file, does not contain a 'project.godot' file." -msgstr "" +msgstr "“.zip”項目檔案無效,不包含“project.godot”檔案。" #: editor/project_manager.cpp msgid "Please choose an empty folder." -msgstr "" +msgstr "請選擇一個空資料夾。" #: editor/project_manager.cpp msgid "Please choose a 'project.godot' or '.zip' file." -msgstr "" +msgstr "請選擇“project.godot”或“.zip”檔案。" #: editor/project_manager.cpp msgid "Directory already contains a Godot project." -msgstr "" +msgstr "目錄已包含一個godot項目。" #: editor/project_manager.cpp msgid "Imported Project" -msgstr "" +msgstr "已導入的項目" #: editor/project_manager.cpp #, fuzzy msgid "Invalid Project Name." -msgstr "不能使用的名稱。" +msgstr "項目名稱無效。" #: editor/project_manager.cpp -#, fuzzy msgid "Couldn't create folder." -msgstr "無法新增資料夾" +msgstr "無法新增資料夾." #: editor/project_manager.cpp msgid "There is already a folder in this path with the specified name." -msgstr "" +msgstr "此路徑中已存在具有指定名稱的資料夾。" #: editor/project_manager.cpp msgid "It would be a good idea to name your project." -msgstr "" +msgstr "給你的項目命名是個好主意。" #: editor/project_manager.cpp msgid "Invalid project path (changed anything?)." -msgstr "" +msgstr "不正確項目路徑 (更改了任何內容?)。" #: editor/project_manager.cpp msgid "" "Couldn't load project.godot in project path (error %d). It may be missing or " "corrupted." -msgstr "" +msgstr "無法在項目路徑中加載project.godot(錯誤%d)。它可能遺失或損壞。" #: editor/project_manager.cpp msgid "Couldn't edit project.godot in project path." -msgstr "" +msgstr "無法在項目路徑中編輯project.godot。" #: editor/project_manager.cpp msgid "Couldn't create project.godot in project path." -msgstr "" +msgstr "無法在項目路徑中創建project.godot。" #: editor/project_manager.cpp msgid "The following files failed extraction from package:" -msgstr "" +msgstr "提取以下檔案失敗:" #: editor/project_manager.cpp #, fuzzy msgid "Rename Project" -msgstr "專案設定" +msgstr "重命名項目" #: editor/project_manager.cpp msgid "New Game Project" -msgstr "" +msgstr "新遊戲項目" #: editor/project_manager.cpp msgid "Import Existing Project" -msgstr "" +msgstr "導入現有項目" #: editor/project_manager.cpp msgid "Import & Edit" -msgstr "" +msgstr "導入與編輯" #: editor/project_manager.cpp msgid "Create New Project" -msgstr "" +msgstr "創建新項目" #: editor/project_manager.cpp #, fuzzy msgid "Create & Edit" -msgstr "新增" +msgstr "創建和編輯" #: editor/project_manager.cpp msgid "Install Project:" -msgstr "" +msgstr "安裝項目:" #: editor/project_manager.cpp msgid "Install & Edit" -msgstr "" +msgstr "安裝和編輯" #: editor/project_manager.cpp msgid "Project Name:" -msgstr "" +msgstr "項目名稱:" #: editor/project_manager.cpp #, fuzzy msgid "Create folder" -msgstr "新增資料夾" +msgstr "創建資料夾" #: editor/project_manager.cpp msgid "Project Path:" -msgstr "" +msgstr "項目路徑:" #: editor/project_manager.cpp msgid "Project Installation Path:" -msgstr "" +msgstr "項目安裝路徑:" #: editor/project_manager.cpp msgid "Browse" -msgstr "" +msgstr "瀏覽" #: editor/project_manager.cpp msgid "Renderer:" -msgstr "" +msgstr "渲染器:" #: editor/project_manager.cpp msgid "OpenGL ES 3.0" -msgstr "" +msgstr "OpenGL ES 3.0" #: editor/project_manager.cpp msgid "" @@ -7664,7 +7740,7 @@ msgstr "" #: editor/project_manager.cpp msgid "OpenGL ES 2.0" -msgstr "" +msgstr "OpenGL ES 2.0" #: editor/project_manager.cpp msgid "" @@ -7676,20 +7752,20 @@ msgstr "" #: editor/project_manager.cpp msgid "Renderer can be changed later, but scenes may need to be adjusted." -msgstr "" +msgstr "渲染器可以然後更改, 但場景可能需要調整。" #: editor/project_manager.cpp msgid "Unnamed Project" -msgstr "" +msgstr "未命名項目" #: editor/project_manager.cpp #, fuzzy msgid "Can't open project at '%s'." -msgstr "連接..." +msgstr "無法打開位於“%s”的項目。" #: editor/project_manager.cpp msgid "Are you sure to open more than one project?" -msgstr "" +msgstr "您確定要打開多個項目嗎?" #: editor/project_manager.cpp msgid "" @@ -7703,6 +7779,12 @@ msgid "" "Warning: You will not be able to open the project with previous versions of " "the engine anymore." msgstr "" +"以下項目設定檔案未指定通過其創建的Godot的版本。\n" +"\n" +"%s\n" +"\n" +"如果繼續打開它, 它將被轉換為 Godot 的當前配置檔案格式。 \n" +"警告: 您將無法再使用以前版本的引擎打開項目。" #: editor/project_manager.cpp msgid "" @@ -7715,12 +7797,18 @@ msgid "" "Warning: You will not be able to open the project with previous versions of " "the engine anymore." msgstr "" +"以下項目設置檔案是由較舊的引擎版本生成的, 需要為此版本進行轉換:\n" +"\n" +"%s\n" +"\n" +"是否要將其轉換?\n" +"警告: 您將無法再使用以前版本的引擎打開專案。" #: editor/project_manager.cpp msgid "" "The project settings were created by a newer engine version, whose settings " "are not compatible with this version." -msgstr "" +msgstr "此項目設置是由較新的引擎版本創建的, 其設置與此版本不相容。" #: editor/project_manager.cpp msgid "" @@ -7737,11 +7825,11 @@ msgstr "" #: editor/project_manager.cpp msgid "Are you sure to run more than one project?" -msgstr "" +msgstr "您確定要運行多個項目嗎?" #: editor/project_manager.cpp msgid "Remove project from the list? (Folder contents will not be modified)" -msgstr "" +msgstr "是否從清單中删除項目?(資料夾內容將不被修改)" #: editor/project_manager.cpp msgid "" @@ -8523,10 +8611,6 @@ msgid "Open documentation" msgstr "開啟最近存取" #: editor/scene_tree_dock.cpp -msgid "Delete Node(s)" -msgstr "" - -#: editor/scene_tree_dock.cpp msgid "Add Child Node" msgstr "" @@ -9285,7 +9369,7 @@ msgstr "" #: modules/recast/navigation_mesh_editor_plugin.cpp msgid "Bake NavMesh" -msgstr "" +msgstr "渲染NavMesh" #: modules/recast/navigation_mesh_editor_plugin.cpp msgid "Clear the navigation mesh." @@ -10333,6 +10417,9 @@ msgstr "" msgid "Varyings can only be assigned in vertex function." msgstr "" +#~ msgid "Insert keys." +#~ msgstr "插入幀." + #~ msgid "Line:" #~ msgstr "行:" |